关于Unity粒子系统优化,你可能遇到这些问题

本文解答了Unity开发中关于粒子系统的三个常见问题:粒子系统的拼合规则、大规模使用粒子特效可能遇到的问题及优化方法,以及特定版本中ParticleSystem.GeometryJob操作导致的CPU消耗问题。
摘要由CSDN通过智能技术生成

原文链接:https://blog.uwa4d.com/archives/QA_ParticleSystem-1.html

关键字

粒子系统合批


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

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

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

该问题来自UWA问答社区,如您对该问题仍有疑问,可以转至社区进行进一步交流。  https://answer.uwa4d.com/question/58d4cad871d7683a3cc948b4

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

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


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

请输入图片描述

该问题已经确认是Bug,且已在Unity 5.3.2中修复。
开发者需要关注下自己的开发版本,5.3.2以前类似情况的项目可以参考一下。

该问题来自UWA问答社区,如您对该问题仍有疑问,可以转至社区进行进一步交流。  https://answer.uwa4d.com/question/58d4bf7a71d7683a3cc948ac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值