Unity3D:内置渲染管线中的渲染路径

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

内置渲染管线中的渲染路径

Unity 的内置渲染管线支持不同渲染路径。渲染路径是与光照和阴影相关的一系列操作。不同的渲染路径具有不同功能和性能特征。应根据项目类型以及目标硬件,确定哪种渲染路径最适合您的项目。

可在 Graphics 窗口中选择项目使用的渲染路径,并可为每个摄像机覆盖该路径。

如果运行项目的设备上的 GPU 不支持所选的渲染路径,则 Unity 将自动使用较低保真度的渲染路径。例如,在无法处理延迟着色的 GPU 上,Unity 使用前向渲染。

前向渲染

前向渲染是内置渲染管线中的默认渲染路径。这是通用的渲染路径。

采用前向渲染方式渲染实时光源会非常消耗资源。为了抵消此成本,可以选择 Unity 在任何一个时间应该为每个像素渲染的光源数量。Unity 会以较低保真度渲染场景中的其余光源:每个顶点或每个对象。

如果项目没有使用大量实时光源,或者光照保真度对项目而言不重要,则此渲染路径可能是这个项目的不错选择。

有关更多详细信息,请参阅前向渲染页面。

延迟着色

延迟着色是内置渲染管线中具有最大光照和阴影保真度的渲染路径。

延迟着色需要 GPU 支持,并且有一些局限性。这种着色方式不支持半透明对象(Unity 使用前向渲染来渲染这些对象)、正交投影(Unity 对这些摄像机使用前向渲染)或硬件抗锯齿(但可以使用后期处理效果来获得类似结果)。延迟着色对剔除遮罩的支持有限,并会将 Renderer.receiveShadows 标志始终视为 true。

如果项目具有大量的实时光源并需要高级别的光照保真度,而目标硬件支持延迟着色,那么此渲染路径对于该项目而言可能是一个不错的选择。

有关更多详细信息(包括有关此渲染路径的局限性的建议),请参阅延迟着色页面。

旧版延迟 (Legacy Deferred)

旧版延迟(光照预通道)类似于延迟着色,只是采用不同的技术并进行不同的折中。它不支持 Unity 5 基于物理的标准着色器。

有关更多详细信息,请参阅延迟光照页面。

旧版顶点光照

旧版顶点光照 (Legacy Vertex Lit) 是具有最低光照保真度且不支持实时阴影的渲染路径。这是前向渲染路径的子集。

有关更多详细信息,请参阅顶点光照页面。

渲染路径比较

延迟前向旧版延迟顶点光照
功能
每像素光照(法线贴图、光照剪影)-
实时阴影带有警告-
反射探针--
深度和法线缓冲区其他渲染pass-
软粒子--
半透明对象--
抗锯齿--
光照剔除遮罩受限受限
光照保真度全部每像素部分每像素全部每像素全部每顶点
性能
每像素光照的成本照射像素数量像素数量 * 照射对象数量照射像素数量-
正常渲染对象的次数1每像素光照的数量21
简单场景的开销
平台支持
PC (Windows/Mac)Shader Model 3.0+ 和 MRT所有Shader Model 3.0+所有
移动端 (iOS/Android)OpenGL ES 3.0 和 MRT、Metal(在搭载 A8 或更高版本 SoC 的设备上)所有OpenGL ES 2.0所有
游戏主机XB1、PS4所有XB1、PS4、360-

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:图形层 (mvrlink.com)

下一篇:Unity3D:Forward rendering path (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号