自从Unity进入Unity5以后,一直到本文发布前最后一个正式版本Unity2017.3,这款引擎的光照烘焙水平是在不断的提升,以至于现在足以开发大型3A大作。在看了最新的Unity2018 demo "Book Of Dead"以后,许多正在使用Unity3D的技术美术纷纷感叹为何自己的场景与Demo差距那么大,即使有团队内美术大大的高质量材质模型,也很难达到Demo中这样的效果,甚至无法达到同级别的UE4的美术水平。究其原因,80%来自于对光照烘焙的设置和材质的设置不正确,20%来自于对待特殊需求时,没有正确使用或编写shader以应对。因此,我们将会详细讲解如何自定义场景设置,材质以及如何在需要时编写和使用需要的Shader,有兴趣一同交流的朋友可以加一下QQ群,鼓励技术交流,谢绝招聘广告:146025605。
在这里使用一个比较老的室内场景作为示例,场景是通过正版途径购买,这里就不分享了,希望大家支持正版拒绝盗版:
在这个画面中我们大致可以看到以下几个细节:首先画面有后处理效果包括环境光遮蔽,TAA抗锯齿,墙上天花板的屏幕空间反射等,后处理脚本使用的是最新的Post Process v2,可以在Github上自行下载,其次地面上的反射与其他部分的反射明显不同,更为清晰且法线效果明显,这里使用的是笔者自制的实时平面反射Shader,想要下载的朋友可以加群下载,地上的拖鞋,枕头等都采用了DX11特有的曲面细分Tessellation技术,而不是DX10时代低效率的Geometry Shader,最后放眼整个画面,明暗搭配相对适当,没有出现一些反物理的现象,可以达到我们合格的3A级别渲染,而这些技巧的实现会在之后详细讲解。