unity的Android平台效果支持度不高,性能低。导致想要实现同pc相同效果,难上加难。

下边是本人探索路径(unity 2018.3.7f1)。

(1)选择PC实现最佳效果的例子,用以打磨,本文用unity官方例子“Lighting Optimisation Tutorial”,商店:商店地址

效果如下:

unity 安卓上怎么触发Scroll_unity 安卓上怎么触发Scroll


unity 安卓上怎么触发Scroll_sed_02


(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节文章

最终实现的效果

unity 安卓上怎么触发Scroll_sed_03


重点:

(1)project setting中,quality设置

(2)场景架构组织(动态与静态区分开、大物体与小物体分开、远距离与近距离分开、灯光与物体分开)

(3)设置小物体为动态,通过light probe给间接光

(4)设置大型物体为静态物体

(6)添加light probe group、reflection probe。注意大小与精度、覆盖率。light probe注意放置位置,最底下的尽量正好在地面之上。

(7)为类似物体设置合适的 lightmap参数

unity 安卓上怎么触发Scroll_unity 安卓上怎么触发Scroll_04


在scene 切换成 UV Charts模式,实时查看修改各参数的效果。当小方块尽量大且间接光效果合适(小方块大小可直接反应uv上间接光精度)时可复制数值到差不多的物体上。

这个过程是找效果与速度的平衡点的过程,为难我们这样的程序员了。

在lighting set中 lightMapping set合适的情况下,需要为物体调整的参数主要为图中红色框内的。 scale in lightmap,为lightmapping set中indirect resolution 的乘数;max distance 和max angle决定两个物体是否会连成一片。

(8)为大小类似远近类似的物体设置 lightmap Parameter(主要为集群 cluster )

unity 安卓上怎么触发Scroll_unity 安卓上怎么触发Scroll_05


unity 安卓上怎么触发Scroll_unity 安卓上怎么触发Scroll_06


具体设置方法,参考文章:Unity预计算全局实时GI(八)- 集群(Clusters)Unity预计算全局实时GI(九) - Lightmap Parameters

最后再将post process 设置到 camera上即可。具体参数参考的例子。 方法:

经过以上步骤,自行搭建的PC版最佳效果已经跟例子相同或接近。
下边,转换到Andriod 平台