Niagara - UE5中的粒子系统

以前对Niagara的一些学习笔记,整理归档,并更新为UE5.0.1版本;文中所有案例都来自官方的ContentExample中的Niagara_Particles关卡;

Niagara系统是新一代特效工具,具有完全的可编程性,与其它模块可充分的互动;

比起上一代粒子系统Cascade,Emitter是完全独立出来的,需要Niagara System作为“容器”把各个Emitter整合起来:

Niagara System里所引用的各个Emitter是继承关系,可以在Niagara System修改Emitter的各个参数而不影响原版;

新建一个空的Niagara Emitter之后,不像Cascade有默认粒子生成,而是需要一些基础的模块来支撑,比如一个简单的Sprite粒子Emitter:

模块中的参数高度灵活,比如可以在通过Scale Sprite Size模块修改Particles.Initial.SpriteSize的Scale Factor参数的时候,使用Sine函数来计算数值:

可以从Window中的Attribute Spreadsheet中查看相关参数:

0~1的区间正好能使用Sin运算达到特定的效果:

发射器所生成的其实是带有各种参数的“点(Point)”,以及其各种属性参数(速度、大小、旋转等等),通过模块改变其初始或过程中的各个参数,最后把不同参数绑定到不同的属性上,渲染成Sprite或Mesh等成为可见的粒子(方便起见,本文中对概念不做区分,统称为粒子):

Niagara同样像Cascade Intro一样,也支持GPU粒子,只是比起CPU粒子,Renderer有所限制,比如不支持Light Renderer和Ribbon Renderer;还有就是Particle Spawn和Particle Update的逻辑会在GPU上运行,Emitter相关模块栏是在CPU上运行(由于CPU的局限,因此对于贴图取样或获取距离场信息等操作不能在Emitter模块栏中进行):

以下是一些参数的基础计算方法和思路:

。。。。。。。。。。。。

完整文章发表在知乎:Niagara - UE5中的粒子系统 - 知乎

 


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoomGT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值