UE5Niagara粒子系统性能优化

减少发射器数量

粒子系统的发射器数量越多,消耗越大,在正常游戏里,尽量减少那些效果不明显的发射器

可以看出,当前粒子系统里,包含了太多的发射器,那么,我们需要一个个的去查看当前在系统运行时,它的表现效果。

我们可以为每个发射器启用孤立,查看左边的预览,看看在整体表现里,它的效果是否明显,如果不明显,可以考虑隐藏,可以去掉一部分的发射器。

点击后,发射器会改变颜色,其它发射器会变黑色

减少粒子生成数量

对于效果明显的发射器,我们接下来还能控制粒子的数量,加大尺寸,我们可以在细节这里查看实时粒子数

我们可以通过调整Spawn Burst Instantaneous的参数,来调整生成数量

或者Spawn Rate 调整每秒生成的频率

设置CPU还是GPU

如果粒子数量过多,超过1000,推荐使用GPU渲染,如果数量稀少,推荐使用CPU渲染,可以通过在发射器属性里修改模拟目标

如果你无法确定使用CPU还是GPU,可以在场景里批量放置,查看哪个帧率高用哪个。

查看渲染器

最后,我们还需要查看一下渲染器,查看材质复杂度以及使用的渲染器,减少光线渲染器使用,性能消耗大。

网格渲染器注意查看一下使用的网格面数,如果数量多了,也会增加渲染消耗

模型优化可以在DCC里修改,也可以使用UE简化设置,静态网格体的三角形百分比是0-100,基于原始模型按比例减少数量

使用粒子对象池

使用粒子对象池可以减少一次性粒子系统的创建和销毁时的性能消耗。而UE里也内置了对应的功能,我们可以将对象池修改为自动释放来实现此功能,记得将自动销毁取消,因为自动销毁和自动释放功能是相排斥的。

Niagara调试器

在工具栏下面调试里,有个Niagara调试器

在界面里,我们要开启Debug界面,这样可以在界面上查看调试的内容

接着,我们运行查看效果,可以看到同样类型的粒子做了统一罗列,我们可以在测试时,打开界面进行调试功能。下图可以看到,我们激活了64个粒子系统,拥有256个粒子发射器,以及13520个粒子,占用内存39.54M,另外一个是拖尾也是同样的64个。

调整可延展性

通过测试,我们发现,即使粒子不处于可渲染范围内,它还是消耗性能一直在渲染,所以,我们可以通过调整粒子系统的可延展性来节约性能。

首先创建一个Niagara效果类型

在类型里,我们可以对粒子可延展性的更新频率,剔除时的反应以及设置可视性剔除,这样,在粒子不存在相机视口内时,将不再更新消耗性能。

接着,我们应用它,在粒子系统里,选择根节点

在细节里找到效果类型的配置,保存即可。

接着,我们还是对之前的场景进行测试,发现粒子不在相机视口时,激活数为0 。

相关推荐
努力的小钟16 小时前
UObject创建系统深度分析
ue5
速冻鱼Kiel20 小时前
Lyra的相机系统
笔记·ue5·游戏引擎·虚幻
暮志未晚Webgl20 小时前
UE5模型面数优化
ue5
zhangzhangkeji20 小时前
UE5 C++(45):射线检测多物体的的按通道与按对象类型 LineTraceMultiByObjectType
ue5
成都渲染101云渲染66661 天前
5090 显卡云端上线!Blender / Maya / UE5 渲染速度再提升,云渲染成主流选择
ue5·blender·maya
一个响当当的名号2 天前
lectrue5 存储模型和压缩
ue5
zhangzhangkeji2 天前
UE5 C++(44-4):对比一下蓝图中的射线检测节点,源代码,按通道与按对象类型
ue5
暮志未晚Webgl3 天前
UE使用内置功能查看性能
ue5
AI视觉网奇3 天前
Epic linux 打包。
笔记·学习·ue5