渲染路径
Unity 支持不同的渲染路径 (Rendering Paths)。应根据游戏内容和目标平台/硬件选择所需的路径。不同的渲染路径功能和性能特征不同,主要影响光照 (Lights) 和阴影 (Shadows)。
可在相机 (Camera) 重写渲染路径。
如果图形卡无法处理所选的渲染路径,Unity 将自动使用较低保真度的路径。无法处理延迟光照 (Deferred Lighting) 的 GPU 将使用正向渲染 (Forward Rendering)。如果不支持正向渲染 (Forward Rendering),则将使用顶点光照 (Vertex Lit)。
延迟光照
延迟光照 (Deferred Lighting) 是含有最大的光照和阴影保真度的渲染路径。如果有很多实时光照,则最好使用延迟光照。它需要一定的硬件支持,且仅适用于 Unity 专业版 (Pro),不支持移动设备 (Mobile Devices)。
有关更多详细信息,请参阅延迟光照 (Deferred Lighting) 页面。
正向渲染
正向渲染 (Forward) 是基于着色器的渲染路径。它支持逐像素光照(包括法线贴图和灯光 Cookies)和来自一束平行光的实时阴影。在默认设置中,少量最亮的灯光在逐像素光照模式中渲染。其他灯光则根据对象顶点计算。
有关更多详细信息,请参阅正向渲染 (Forward Rendering) 页面。
顶点光照
顶点光照 (Vertex Lit) 是光照保真度最低的渲染路径,且不支持实时阴影。最适合用于旧机器或受限的移动平台。
有关更多信息,请参阅顶点光照 (Vertex Lit) 页面。
渲染路径比较
延迟光照 | 正向渲染 | 顶点光照 | |
功能 | |||
逐像素光照(法线贴图和灯光 cookies) | 是 | 是 | - |
实时阴影 | 是 | 1 束平行光 | - |
双重光照贴图 | 是 | - | - |
深度与法线缓冲区 | 是 | 额外渲染通道 | - |
软粒子 | 是 | - | - |
半透明物体 | - | 是 | 是 |
抗锯齿 | - | 是 | 是 |
光照剔除遮蔽图 | 受限 | 是 | 是 |
光照保真度 | 全部逐像素 | 部分逐像素 | 全部逐顶点 |
性能 | |||
逐像素光照的成本 | 照亮的像素数 | 像素数 * 照亮的对象数 | - |
支持平台 | |||
PC (Windows/Mac) | Shader Model 3.0+ | Shader Model 2.0+ | 所有平台 |
移动平台 (iOS/Android) | - | OpenGL ES 2.0 | OpenGL ES 2.0 & 1.1 |
控制台 | 360, PS3 | 360, PS3 | - |