如何创造高质量和快速的门户效果?


9

编辑:因此,我获得了门户视觉效果,而没有性能受到影响,并且物理设置了对象,其中刚体无缝地通过门户,而角色控制器的对象无缝地通过门户。我现在要弄清楚的唯一事情是混合两个摄影机视图,以获得适当的第一人称过渡效果。关于如何将两者融合的任何想法?我在考虑使用仅深度着色器或标准化视口rect的东西。我的主要问题是实时计算角度和角度。

因此,我一直在努力在Unity3D中创建门户效果。显然,我将Valve的Portal视为对此编程的重要影响。目前,我只是使用摄像机的渲染纹理来获得图形效果,然后使用一些代码来完成其余的工作。问题是在2048x2048分辨率下,它的质量与Portal一样高,但会导致严重的FPS损失。为了解决这个问题,我要么必须降低纹理质量,要么必须降低更新纹理的次数。

Valve在不造成高帧频损失的情况下实现了高质量的门户效果。我该怎么做?有没有人有很好的想法可以渲染到高分辨率纹理而不引起帧丢失?

我正在考虑制作自己的代码以渲染到纹理,而不是使用Unity的内置系统,这是可行的,但肯定会很麻烦。因此,任何想法,想法或建议都将受到高度赞赏。


3
我找不到参考,但是我记得有人说门户网站没有为此使用渲染纹理。
msell,2013年

1
查看Pseudo Form,这是一个类似Portal的游戏(源代码在主要下载中)。网上也有其他“门户实现”,但是我认为这是最著名的。另外,播放带有开发人员评论的Portal。在其中一些人中,他们谈论了实施门户的挑战。
Vasco Correia

7
我无法理解为什么您需要2028x2048的纹理才能使小于1080p渲染的门户显得清晰。通常,您绝对不需要超过游戏所使用的显示分辨率。我要说的是,您应该弄清楚门户的屏幕大小,并使用它来选择适当大小的渲染纹理(这样,使其在远处时非常有效,并且在门户获得更多屏幕时“较重”) -space。
斯蒂格-符文Skansgård

1
为了获得视觉效果,您采取了什么方法?您是否知道如何仅渲染通过门户可见的内容?
轰动

1
您应该保留原始问题,然后对新问题提出新问题。
msell 2013年

Answers:


5

经过数小时的研究和编程,我弄清楚了如何正确地获得视觉效果。如果您只想购买适用于视觉效果和大多数其他所需功能的门户系统,请查看Portalizer Unity软件包。

我使用C#编程,而该程序包使用JS,但其背后的逻辑非常有用且经过深思熟虑。总的来说,我遵循他的逻辑思维,对我的游戏和第一人称控制器进行了一些调整。

本质上,您要做的是使用 Water Shader / Script 的修改版本。场景中有两个镜子,并有一个摄影机将每次反射中看到的图像渲染到另一个镜子。您需要创建一个修改后的转换矩阵,以说明两个门户之间的关系。以帮助减少对性能的影响,请阅读文章关于近平面裁剪。这将帮助您仅呈现需要通过门户网站看到的内容。

一旦弄清楚如何正确混合摄像机以进行FPS传送,我可能会创建带有图片和源代码的更详细的教程。现在,我已经筋疲力尽,无法编写完整的教程,这已经足够了,因为它为您提供了大多数所需的代码。


你能发布一个链接到仓库吗?
罗姆·费多尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.