本篇文章,是由3D环境设计师为大家分享他利用Unity 5还原真实场景照片的过程,这也是Jeryce的一大爱好,下面是他利用Unity 5的光照特效复原照片的方法。
从网站上选定了参考图,然后在Unity 5中还原了2D图中的3D场景,并将光照特效尽量复原,效果如下图:
设计师还大量参考了游戏《Tom Clancy’s The Division》,揣摩该游戏如何实现逼真的渲染、柔软的动态体积光,以及相机画面中如此一目了然的场景对象。
下面是为大家带来的分享。
放置光源
我希望光源位置尽可能与原图保持一致,因此进行了非常多的尝试以寻找最佳光源位置。最初很难把握门的位置,因为它对整个环境光照效果的影响也非常之大。
场景中使用了3个动态点光源,一个位于玻璃左边,另一个在桌子附近,最后一个放在电梯门口。这些点光源可以实现非常好的动态高光效果,使用烘焙光源则无法达到这样的效果。
主要的烘焙点光源放置于门的附近,想要在一开始就与原图效果一致,例如实现大致相同的观感、光强、光反射以及其他的一些和照片中相同的灯光设定等,是非常困难的。主要难点在于在不移动或增加点光源的前提下让某些地方保持黑暗,而其他的一些地方保持明亮。因为移动或增加光源会导致最终效果与原图大相径庭。
Unity的改进
Unity从5.4开始,在烘焙静态光的Final Gather(最后采集)阶段加入了“降噪”功能,它可以智能减少噪点的数量。所以该功能总是在最终烘焙场景时启用。但要注意,启用该功能会导致Final Gather阶段的计算时间更长。
使用实时模式下的Sky Ambient Color来烘托场景氛围,并且避免出现有些区域对比度过高的问题。Enlighten支持实时预览光的反射效果。
烘焙Light Probes(光照探头)来呈现一些细小的动态物体,例如地板上的玻璃瓶、报纸等,让场景更加细腻。这样可以将物体直接放入场景而无需等待整个烘焙完成,会更加方便。
得益于全新的后处理特效包,让整个场景更加接近参考图效果。自此以后创建场景必少不了该特效包,导入方便且易于使用,还可以保存不同的后处理特效配置。此前则必须复制相机并将它们保存为预制件,以存放不同的配置。
Unity 5.6将新增Progressive Lightmapper(渐进光照贴图),以及使用光照的全新模式Light Modes。
处理材质
场景使用的材质使用Substance Designer制作而成,并且在Unity中保存了所有“Base Color”参数,以便实时改变每个材质的颜色,来查看光照贴图的效果。在处理“Base Color”参数时也下了不少功夫。让其sRGB值永远保持在20~230的范围内,以避免光线反射过度。
水的材质同样很重要,我制作了一种可以调整水洼的数量、位置、对比度和透明度的物质,并将它的颜色和Lion地板混合。
使用Uber着色器进行材质混合以及天花板使用的视差遮挡映射。
这里建议尽量避免纹理出现噪点,例如使用强度很大的法线贴图,让纹理填满信息或是拥有一些锋利的边缘,这里锋利的边缘是指在3D网格或烘焙法线不够锋利时的小斜面,其边缘也能拥有非常好的光照效果。
光照与后处理
光照、合成与纹理是组成场景的重要元素。有了Allegorithmic和Quixel的帮助,制作好看的材质非常简单。
后处理也同样重要,该场景使用了SSR(屏幕空间反射)特效让它看起来更加逼真。Color Grading中使用Filmic (ACES),以便于对比场景,及加强光照效果。另外一个非常重要的就是Bevels,几乎所有人造物体都会用到它,并且它还能避免锯齿问题。
建议将项目的颜色空间模式设为线性,相比gamma模式,线性颜色空间的渲染结果更加真实。
最后,对于光照来说,光泽度与粗糙度贴图都非常重要,记得为材质添上优质的贴图!