在这一节中,我想要探讨一下究竟那些官方自营或者官方推荐的第三方插件能够给Gaia原生场景带来多大的画面效果提升。
本节中主要使用了:Gaia、Ambient Skies、CTS 2019、AQUAS 2020、Aura 2。我尽量使用这些插件的预设,避免因为对插件理解不深经验不够而影响应用插件之后的画面效果。
1. 原生Gaia场景
新建一个项目,仅安装Gaia。直接使用Session Manager执行自带的“GS Example 4”,得到一个Gaia场景“River Island”。
简单烘焙下灯光,将摄影机移动到一个合适的位置,可以得到如下画面效果:
2. 原生Gaia场景+原生效果(水体、天空、大气、后期)
使用Gaia内置的功能添加Player、天空、水体、Post Processing等效果,并在GX面板中将Ambient Skies Samples的“Skies”设置成预设“Day”,执行一次“Bake Lighting”(这里为了尽快看到结果,可以禁用“Realtime Global Illumination”,并切换成“GPU Progressive”方式),将“Post Processing”设置成预设“Default Day”,得到的结果是这样的:
如果删除Post Processing,效果是这样的:
换一个角度,Gaia原生水体的表现是这样的(这里我关掉了Post Processing的Bloom和Lens Distortion):
说实话,Gaia原生所带的Ambient Skies Samples和Ambient Water Samples的可调节性都不是很高。
3. 原生Gaia场景+Ambient Skies(天空、大气、后期)+原生效果(水体)
下面我们安装Ambient Skies完整版。刚刚安装好的时候,在Gaia Manager中是看不到完整版的,需要先让Ambient Skies完成初始化(打开Ambient Skies的窗口直到能正常设置Ambient Skies为止)。
完成之后,Gaia Manager的GX栏中就是完整版的Ambient Skies了,Ambient Skies窗口也可以正常打开,但场景的光照发生了翻天覆地的变化。
在Ambient Skies窗口勾选上“Enable Skies”,将“Global Settings”中的“System Type”设置为“Ambient HDRI Skies”,然后在“Profile Settings”中选择任意“Skybox Profile”,就可以得到形态各异的天光照明效果了。
我们可以在“Skies”栏中调节关于阳光(Sun)、天空盒(Skybox)、环境光照(Ambient)、雾效(Fog)、阴影(Shadow)和水平线(Horizon)的相关参数,在“Post FX”栏中调整关于Post Processing的所有设置,在“Lighting”栏中进行灯光烘焙相关设置。基本上,Ambient Skies将所有与灯光和渲染相关的设置都集成到一起,非常非常的方便。
目前这个效果对我来说太“暗”了,所以我将Post FX中的Auto Exposure Settings中的Exposure Amount增加到1.5,效果是这样的:
另外,Post FX栏中还提供了很多预设好的Post Processing Profile供用户选择,非常的贴心。
下面是Sample版和完整版Ambient Skies的效果对比:
可以发现,完整版Ambient Skies从效果上来说比Sample版确实要好一些,但这种“好”并没有好到非买不可的程度。但从使用的方便性和可调整性上来说,完整版就好太多了。不仅提供了更多更多样化的预设Profile给用户选择,还将Unity有关于灯光和渲染的相关的设置都集中到了一个面板之中。这对于需要进行大量室外灯光设置的用户来说,是非常实用的。
4. 原生Gaia场景+Ambient Skies(天空、大气、后期)+AQUAS 2020(水体)
Ambient Skies中并没有关于水的内容,我也没有找到完整版的Ambient Water插件,所以只能安装AQUAS 2020来试图获得更好的水体表现。
将场景中的Ambient Water Samples设置为“不激活”,使用AQUAS的“Setup Wizard”为场景添加AQUAS水体:
不得不说,AQUAS水体的效果比Ambient Water Sample还是要好很多的。
5. 原生Gaia场景+Ambient Skies(天空、大气、后期)+AQUAS 2020(水体)+Aura 2(大气效果、体积光效)
Unity的默认渲染管线是不支持体积光的,Ambient Skies也只能用雾效来模拟大气效果。想要真正的体积光效,只能选择使用HDRP或者比如Aura 2这样的第三方插件了。
安装好Aura 2之后,首先需要给相机和主光源上添加Aura相关组件,然后在Aura 2的面板中选择预设“Sunny Day”,就可以得到这样的效果了:
不知道是因为版本的问题(我所用的Ambient Skies并不是最新版)还是插件本身兼容性的问题,总感觉Ambient Skies和Aura 2有点点冲突。有时候从Scene窗口预览到的Aura效果是正确的,但从Game窗口看却显示得不正常(非常浓艳,而且关闭Aura之后依然有问题)。我只能删掉场景中的FlyCam,重新创建Player。
此外,Ambient Skies貌似常常(并不是每次)会“洗”掉Aura 2的大气颜色设置,可能是因为Ambient Skies和Aura 2都会修改Post Processing Profile中的参数的原因吧。可以将Ambient Skies的“System Type”设置为“Third Party”避免这种冲突。但改成“Third Party”之后呢,就又不能修改Ambient Skies的“Profile Settings”了。
最后,看教程中Gaia的GX面板里是可以识别出Aura 2的,然后很多设置都可以在GX面板中进行调整。但我安装完Aura 2之后并没有被识别出来,不知道是什么原因。
但这些小瑕疵都不能掩盖一个事实,那就是“缺少体积光效的室外场景渲染是没有灵魂的!”
6. 原生Gaia场景+Ambient Skies(天空、大气、后期)+AQUAS 2020(水体)+Aura 2(大气效果、体积光效)+CTS 2019材质增强
做这一步之前,强烈建议将项目备份一下,CTS安装容易,要删除就比较麻烦了。
安装完CTS 2019之后,先关闭Aura 2的效果,并将Ambient Skies恢复成预设“Sky Five High”(也就是前面测试Ambient Skies完整版时使用的预设效果)。然后应用CTS 2019预装的“CTS_Profile_G6_Basic Warm”配置,得到如下效果:
建议先将这个预装的Profile复制一次,用复制体来应用并做后面的修改、调整,免得将预装Profile调乱了。
简单地调整了一下(岩石贴图的重复度、法线强度、雪效果等等),恢复Aura 2的效果,重新应用“Sunny Day”预设,得到的画面效果如下:
总结:
下面是这一系列测试的渲染效果对比图:
通过这样的比较,应该不难发现,Gaia还是比较依赖其他各种第三方插件的。首先,CTS 2019几乎是“必须”的,否则根本没办法解决诸如贴图拉伸、雪地效果等问题;其次,Ambient Skies对Gaia场景表现的提升也很明显,而且Ambient Skies可以用于任何室外光照环境,很实用;第三,自带的Ambient Water Samples的效果只能说“一般”,如果场景有大量的水体,建议还是要弄一份AQUAS 2020的;最后,如果不使用HDRP的话,必须依赖Aura 2这样的第三方插件来获得体积光效果,而体积光效对于室外场景的表现有极大地帮助。
最后还想补充一点关于HDRP的问题。
Embient Sky对于HDRP支持得比较好,毕竟其实它也就是将灯光、渲染、后期、烘焙等相关内容整合到一个面板中然后再添加许多预设Profile嘛。
但Gaia本体就不太推荐使用HDRP了,它是支持HDRP的啦,但因为HDRP自己也是不断在更新,所以Gaia和最新版本的HDRP总有些不太契合的地方。另外,Gaia自带的Tree资源都是来自于SpeedTree(当然这也是大家的第一选择啦),但SpeedTree的材质并不支持HDRP,HDRP的自动转换工具目前也不能自动将SpeedTree材质升级为HDRP材质,所以用起来就比较麻烦了。
CTS 2019因为涉及到Shader的问题,对HDRP的支持是非常有限的,仅支持几个特定版本的HDRP,而且也都不是新版。这个问题估计只能等到HDRP比较成熟稳定之后才能解决吧,毕竟每个版本都追对于CTS的开发来讲也是挺浪费人力物力的。