以效果来说VRay是略胜一筹,毕竟VRay在渲染参数的设置上有决定的优势,加上在

3dsmax

里面即可预览烘培的结果,目前还是有许多的公司采用预先烘培的方式,再将场景导入Unity进行后续的处理工作。



烘培的物件基本上都是静止的物件,也就是场景内的建筑,道路与固定位置的模型都可用来进行烘培,在进行烘培前,我们需要确认一些事情:



首先是烘培的物件必须是Static的模式,也就是静止的状态,在Inspector的右上方可以找到Static的勾选项,这个操作可单一进行,也可以选多个物件后勾选。



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_贴图

 





接着是模型导入后,必须勾选Generate Lightmap UVs这个选项才能让模型具备烘培的贴图设置,同样的这个操作也可以在Project目录里面选择多个物件后一次进行。



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_贴图_02

 





使用Window > Lightmapping打开烘培设置面板,以上的事项是我们必须特别注意的:



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_html_03

 





1. 在一般情况下用Single Lightmap已经足以应付场景的需求,Dual Lightmap的效果会更为理想,不过需要搭配deferred rendering来使用。




2. 选择High Quality进行烘培,如果使用Low的设置将会产生锯齿状的边缘。




3. Final Gather Rays默认为1000,将这个设置控制在150-200即可,过高的设置将会使烘培时间变得很漫长。




4. 打开 Ambient Occlusion 的设置可以让模型的角落产生较为黑暗的效果,将distance设置为0.1以侦测遮挡,这个设置可以让游戏场景看起来更为真实。




5. 如果烘培只是作为测试预览,那么先将Texels per world unit的设置调整为3-5的范围,正式烘培时则是将数值设置为40或是50。



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_html_04

 





烘培前可以在视图内勾选Show Resolution来确认品质,如图所示,灰白方块的密度越高,烘培出来的效果越好。



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_unity3d_05

 





按下Bake Scene开始进行烘培,硬件越好则烘培速度越快,烘培完成后,系统会自动将模型更换为烘培的效果显示,这时关闭场景的灯光已经不会对场景造成任何影响。



unity 虚拟仿真系统的开发流程图 unity3d虚拟仿真教程_unity3d_06