博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Unity粒子系统优化,你可能遇到这些问题
阅读量:7008 次
发布时间:2019-06-28

本文共 702 字,大约阅读时间需要 2 分钟。

Q1:我们在UWA报告中看到有拼合粒子系统和未拼合粒子系统,请问如何拼合粒子系统?有没有什么规则呢?

请输入图片描述

粒子系统的Draw Call动态拼合与半透明物体的动态拼合机制相当(粒子基本都是半透明材质)。而对半透明物体,由于其渲染顺序的限制(必须从后向前渲染,以保证渲染结果的正确性),动态拼合只能对渲染顺序相邻且材质相同的物体有效。而在决定半透明物体的渲染顺序时,Unity首先会按Shader中的RenderQueue进行排序;其次(相同RenderQueue时),会根据每个半透明物件到屏幕的距离,距离大的优先渲染。

因此,需要尽可能地将相同材质的粒子系统放在比较接近的深度下,才能更多地使动态拼合生效。但通常由于相机的运动、粒子系统的分散分布等原因造成粒子系统之间的穿插,能够动态拼合的数量往往都是很少的,所以我们在粒子系统模块看到的开销分布通常类似该图,主要都是未拼合粒子系统造成。

Q2:在Unity开发中,大规模使用粒子特效会有什么问题 ?如何去针对性的优化?

普遍来说,会造成Draw call高、渲染开销大、CPU高等问题。下图就是UWA性能诊断系统对粒子系统检测的几个注意点。

请输入图片描述

Q3:如下图,我们在Unity 5.3.0中使用粒子系统时会触发一个ParticleSystem.Geometryjob的操作,并且该操作十分消耗CPU,请问怎么解决?

请输入图片描述

该问题已经确认是Bug,且已在Unity 5.3.2中修复。

开发者需要关注下自己的开发版本,5.3.2以前类似情况的项目可以参考一下。

原文出处:侑虎科技
本文作者:admin
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

你可能感兴趣的文章