unity的Android平台效果支持度不高,性能低。导致想要实现同pc相同效果,难上加难。
下边是本人探索路径(unity 2018.3.7f1)。
(1)选择PC实现最佳效果的例子,用以打磨,本文用unity官方例子“Lighting Optimisation Tutorial”,商店:商店地址
效果如下:
(2)自行实现PC版该效果
(3)切换到Android平台后效果
(4)必要效果损失及弥补方案
(5)性能优化尝试
下面对5个步骤进行记录
1、Lighting Optimisation Tutorial案例分析
“Example project and assets used in the Lighting Optimisation (Precomputed Realtime GI) tutorial”。例子用灯光、灯光探针、反射探针、后期,实现实时GI的精美效果。最重要的是对效果实现后,烘焙速度的提升实践。
例子通过对light parameter、light setting等设置,配合light probe、优化uv展开、优化集群等方法,实现了最终产品级快速烘焙效果。
2、自行实现效果
具体参考文章:Unity预计算全局实时GI(一) 以及后续的8节文章
最终实现的效果
重点:
(1)project setting中,quality设置
(2)场景架构组织(动态与静态区分开、大物体与小物体分开、远距离与近距离分开、灯光与物体分开)
(3)设置小物体为动态,通过light probe给间接光
(4)设置大型物体为静态物体
(6)添加light probe group、reflection probe。注意大小与精度、覆盖率。light probe注意放置位置,最底下的尽量正好在地面之上。
(7)为类似物体设置合适的 lightmap参数
在scene 切换成 UV Charts模式,实时查看修改各参数的效果。当小方块尽量大且间接光效果合适(小方块大小可直接反应uv上间接光精度)时可复制数值到差不多的物体上。
这个过程是找效果与速度的平衡点的过程,为难我们这样的程序员了。
在lighting set中 lightMapping set合适的情况下,需要为物体调整的参数主要为图中红色框内的。 scale in lightmap,为lightmapping set中indirect resolution 的乘数;max distance 和max angle决定两个物体是否会连成一片。
(8)为大小类似远近类似的物体设置 lightmap Parameter(主要为集群 cluster )
具体设置方法,参考文章:Unity预计算全局实时GI(八)- 集群(Clusters)Unity预计算全局实时GI(九) - Lightmap Parameters
最后再将post process 设置到 camera上即可。具体参数参考的例子。 方法:
经过以上步骤,自行搭建的PC版最佳效果已经跟例子相同或接近。
下边,转换到Andriod 平台