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

简介:

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
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

目录
相关文章
|
3月前
|
大数据 API 图形学
Unity优化——批处理的优势
Unity优化——批处理的优势
|
3月前
|
存储 人工智能 Java
Unity优化——脚本优化策略4
Unity优化——脚本优化策略4
|
4月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
33 0
|
3月前
|
人工智能 安全 API
Unity优化——加速物理引擎1
Unity优化——加速物理引擎1
|
3月前
|
存储 人工智能 缓存
Unity优化——脚本优化策略3
Unity优化——脚本优化策略3
|
3月前
|
存储 缓存 Java
Unity优化——脚本优化策略2
Unity优化——脚本优化策略2
|
3月前
|
存储 XML 缓存
Unity优化——脚本优化策略1
Unity优化——脚本优化策略1
|
9月前
|
开发框架 Java .NET
《unity游戏优化》第8章内存优化
《unity游戏优化》第8章内存优化
|
5月前
|
安全 Java 图形学
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进行代码加固和混淆。
|
6月前
|
Java 定位技术 图形学
Unity客户端开发优化要点
Unity客户端开发优化要点