Unity5 新功能解析--物理渲染与standard shader
Unity5 新功能解析--物理渲染与standard shader
http://blog.csdn.net/leonwei/article/details/48395061
物理渲染是UNITY5最大的亮点之一,物理渲染的采用绝对是下一个世代游戏的热点,UNITY5的大范围使用是一个可喜可贺的事情,关于什么是物理渲染,本人曾经写过一篇博客专门讨论,详见http://blog.csdn.net/leonwei/article/details/44539217。
物理渲染和当今的主流光照计算最大的区别就是,当今的lambert blinn phone基本上是基于模拟的模型,就是尽可能的去模拟我们看上去的物体反射的颜色,甚至可以说是拍脑袋的模型,用于欺骗我们的眼睛,而基于物理的光照计算则是依据了光线传播的物理特性,更加贴近于真是的光照情况,虽然在实现上还是用了一些近似计算。所以物理渲染在表现自然界的物体时尤其的看上去更加真实。
Unity5里面采用了一套全新的shader 叫做 standard shader,这套shader使用的就是基于物理的光照计算,而老的那些shaderUNITY已经不推荐使用,UNITY5认为我们大多数情况都应该使用standard shader。下图左面使用的是物理渲染,右面使用的是blinn phone,都用来表现一个很光滑的金属,没上贴图,可以明显的感觉到左侧的真实的多,这就是UNITY5给我们在图形质量上带来的提升。
我们来分析一下Standard Shader的各种参数的意义
Albedo: 这就是物体表面的基本颜色,在物理模型中相当于物体表面某处各子表面的散射颜色。
Metallic : 这相当于物理模型中的F(0),即物体表面和视线一致的面的对光线反射的能量,通常金属物体通常超过50%,大部分在90%,而非金属集中在20%以下,自然界中的物质很少有在20%-40%之间的(除非一些人造物体),正因为如此这个属性被形象的称谓metallic(金属感)
Smoonthness:这相当于物理模型中与实现一致的面占所有微面的比例,比例越大,物体越光滑,反之越毛糙,一定要区分这个和mettalic(metallic在描述对反射能量的强弱,smmothness描述表面的光滑程度),当然大所属情况下金属的smoothness都很高。
normal map:法线贴图
height map: 视差贴图,用于在法线贴图的基础上表现高低信息(法线只能表现光照强弱,而视察贴图可以增加物理上的位置的前后)
Occlution:遮挡占据贴图,用于模拟GI,物体在默写凹槽处由于受到光线的减少而显得暗,也就是自遮挡。
Emission:自发光,不过UNITY5的自发光可以在全局光照中当光源使用,非常好
secondary maps:第二道贴图
Detail Mask:对第二道贴图的mask
除了standard shader之外,unity5还提供了一个Standard (Specular setup),主要区别在于,这个shader提供了一个和albedo不同的specular的颜色,也就是漫反射和高光反射的颜色分开,而对于前者albedo控制了漫反射和高光反射,并且认为更多的光是被高光反射了,UNITY文档说对于大多数效果这两种途径基本都可以表现,而选取那种取决于你的习惯...