Unity支持不同的渲染路径。应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个。不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影。
项目所使用的渲染路径在Player Settings选择。此外,可以为每个摄像机重写(不同摄像机可以是不同的设置)。如果图形卡不能处理选定的渲染路径,Unity将自动使用一个较低保真度的设置。因此,在GPU上不能处理延迟照明(Deferred Lighting),将使用正向渲染(Forward Rendering)。如果不支持正向渲染(Forward Rendering ),将使用顶点光照(Vertex
Lit)。
Deferred Lighting 延时光照(可点击)
延时光照是有着最高保真度的光照和阴影的渲染路径。如果你有很多实时灯光,最好是使用延时光照。它需要一定水平的硬件支持,仅在 Unity Pro可用,移动设备上不支持。
Forward Rendering 正向渲染(可点击)
正向渲染一个基于着色器的渲染路径。它支持逐像素计算光照(包括法线贴图和灯光Cookies)和来自一个平行光的实时阴影。在默认设置中,少数最亮的灯光在逐像素计算光照模式下渲染。其余的灯光计算对象顶点的光照。
根据影响物体的光源的不同,正向渲染路径用单个或多个通道来渲染物体。在正向渲染中,光源本身也会根据他们的设置和强度受到不同的对待。
Vertex Lit 顶点光照(可点击)
顶点光照(Vertex Lit) 是最低保真度的光照、不支持实时阴影的渲染路径。最好是用于旧机器或受限制的移动平台上。
Rendering Paths Comparison 渲染路径比较
Deferred Lighting 延时光照 | Forward Rendering 正向渲染 | Vertex Lit 顶点光照 | |
Features 功能 | |||
Per-pixel lighting (normal maps, light cookies) 每像素计算光照(法线贴图、灯光cookies) |
Yes | Yes | - |
Realtime shadows 实时阴影 | Yes | 1 Directional Light(一盏平行光) | - |
Dual Lightmaps 双光照贴图 | Yes | - | - |
Depth&Normals Buffers 深度与法线缓冲区 | Yes | Additional render passes 额外渲染通道 | - |
Soft Particles 软粒子 | Yes | - | - |
Semitransparent objects 半透明的物体 | - | Yes | Yes |
Anti-Aliasing 抗锯齿 | - | Yes | Yes |
Light Culling Masks 灯光剔除蒙板 | Limited | Yes | Yes |
Lighting Fidelity 光照保真度 | All per-pixel 全部像素 | Some per-pixel 某些像素 | All per-vertex 所有顶点 |
Performance 性能 | |||
Cost of a per-pixel Light 每像素光照的花费 | Number of pixels it illuminates 照亮的像素数 |
Number of pixels * Number of objects it illuminates 像素数*照亮的像素数 |
- |
Platform Support 支持平台 | |||
PC (Windows/Mac) 台式机 | Shader Model 3.0+ | Shader Model 2.0+ | Anything |
Mobile (iOS/Android) 移动设 | - | OpenGL ES 2.0 | OpenGL ES 2.0 & 1.1 |
Consoles (游戏)平台 | 360, PS3 | 360, PS3 | - |