unity Android平台最佳效果探索(二)

上一篇 unity Android平台最佳效果探索(一)
上篇写到了实现PC版的效果
继续

3、切换到Android平台后效果
直接切换后,不能运行,报错挺多。
原因:
(1)Android平台不支持高清渲染管线(HDRP)----需要改为内嵌管线
(2)Android平台对 post process 支持度不好(Boom、 Depth of Field 不支持)

先去掉后期,直接导入后,效果如下图所示:----所有物体为动态物体且未烘焙(实时GI与烘焙GI都没有)
在这里插入图片描述
采用烘焙GI后效果如图所示
在这里插入图片描述

烘焙后,再加上后期 (Post Process)–图中右侧的桶为动态物体
在这里插入图片描述
实时光照+实时GI
在这里插入图片描述
实时光照+实时GI+后期 (Post Process)效果图

在这里插入图片描述
问题1:
在player设置color space为linear时,Android平台无法 build,提示内容为:“in order to build a player go to player settings to resolve the incompatibility between the color space and the current settings”.
设置为gamma之后可以build,但是画面效果有损失。

问题2:
看得出来,在细节上,差距还很大。尤其是右侧栅栏的木质凹凸感纹理、地面的土壤纹理,变得平滑。材质完全相同,但是切换成windows之后,凹凸感立马恢复。
对比下windows下效果
在这里插入图片描述

对比两个平台下工程的区别,发现pc平台的 color space设置为 Linear,Android平台设置为 Gamma。
ps:一般Linear 的工作流相比gamma工作流能够获得更真实的渲染。对比如下两图
Linear:
在这里插入图片描述
Gamma:
在这里插入图片描述

*需要注意的是:Linear 时,Android最低版本得是4.2及以上,并且需要在Graphic API中移除 OpenGLES2(不支持)。否则不能build到Android平台
设置如下:
在这里插入图片描述
采用linear后,在Android上实现效果
在这里插入图片描述
可以看到,效果已经比gamma下的效果真实很多,但是远处的阴影还有些问题,只有离近的时候才会出现。
重新设置下阴影
在这里插入图片描述

效果如下图
在这里插入图片描述
可以看到阴影效果、抗锯齿效果、间接光效果,看起来舒服很多了。但是帧数太低了。
到目前为止,我们设置的参数、使用的技术做下总结:
(1)使用 Linear Color Space–对应的设置Android最低版本为4.4
(2)相机Rendering Path设置为“Forward”
(3)光照仅一个太阳光,设置Mode为 “Realtime”
(4)添加了 光照探针、反射探针
(5)Light Setting中,采用的实时全局光照,间接光精度(Indirect Resolution)设置为1
(6)场景内地形、栅栏、石头,设置为的Static,烘焙间接光照贴图;桶这样的小物体,设置为的动态,间接光靠光照探针
(7)使用了Post Process的 Ambient Occlusion、Color Grading、Screen Space Reflection、Vignette、Chromatic Aberration。Bloom、Depth Of Field在Android平台下不可用(2.1.2版本)
(8)设置了抗锯齿,quality中和 post process layer中都设置了。post process layer的抗锯齿,在forward模式下,只能采用 FXAA抗锯齿模式。
(9)阴影设置,Shadowmask Mode为 ShadowMask;Hard Shadows。设置了shadow最远距离、cascade

此时效果尚可,但性能偏低。下一步需要在保证效果不打折扣情况下,优化性能。性能指的是运行时性能,但烘焙时间也就十几秒、几十秒。可接受。

猜你喜欢

转载自blog.csdn.net/mansir123/article/details/101206629