Unity5.0标准着色器详解:基于物理的硬质表面渲染

需积分: 12 21 下载量 77 浏览量 更新于2024-07-21 5 收藏 2.06MB PDF 举报
"Unity5.0 Shader学习烘焙.pdf" Unity5.0引入了一种新的Shader,被称为标准着色器(Standard Shader),它基于物理的着色(Physical-Based Shading,简称PBS)理念,旨在模拟真实世界中物体表面的反射、散射等特性,尤其适合硬质表面的渲染。标准着色器提供了丰富的材质参数,让开发者能够更精确地控制物体的外观。 标准着色器的主要贴图包括: 1. Albedo贴图:定义物体的颜色和主体颜色,可以包含纹理信息。 2. Metallic贴图:表示物体的金属属性,0表示非金属,1表示金属。 3. Smoothness贴图:控制物体表面的平滑程度,影响镜面高光的大小和形状。 4. Normal Map:法线贴图,用于模拟物体表面的微小凹凸,增加细节感。 5. Height Map:高度贴图,常用于实现地形或表面的高度变化。 6. Occlusion贴图:闭塞贴图,用于表示物体表面的遮挡情况,影响全局光照。 7. Emission贴图:自发光贴图,让物体自身发出光线。 标准着色器支持四种渲染方式: 1. 不透明(Opaque):完全不透明的物体。 2. 剪切透明(Cutout):通过alpha阈值实现部分透明。 3. 滤色透明(Fade):逐渐透明,常用于半透明物体。 4. 透明(Transparent):完全透明,如玻璃或水面。 在项目结构中,全局光照系统是提升场景真实感的关键部分: 1. 环境照明(Environmental Lighting):由天空盒子、颜色梯度、环境强度等组成,影响场景的整体光照。 2. 实时GI(Realtime Global Illumination):实时计算光照,提供更快响应但消耗更多CPU资源。 3. 烘焙GI(Baked Global Illumination):预计算光照信息并存储在光照贴图中,适用于静态物体,降低运行时性能开销。 4. 公共设置:包括天空盒子选择、反射属性、烘焙分辨率等。 环境光照的一些关键参数包括: 1. 反射属性:可以选择天空盒子或自定义CubeMap作为反射源,并调整反射强度。 2. 环境强度:影响天空盒子对环境的影响程度。 3. 烘焙分辨率:根据模型大小设定,过高会占用大量内存,过低则可能导致光照质量下降。 对于烘焙GI,有BackPadding用于防止烘焙时因模型边缘贴图不连续导致的问题,Compressed选项可节省空间,但可能牺牲精度。AmbientOcclusion闭塞阴影若开启,需谨慎处理,以免影响光影效果。 Unity5.0的标准着色器和全局光照系统为开发者提供了强大的工具,能够创建出更加逼真的游戏和应用场景。理解并熟练运用这些概念和参数,将有助于提高项目的视觉质量和性能效率。