欢迎光临散文网 会员登陆 & 注册

Niagara特效系统中的基本概念

2023-02-17 09:49 作者:ぅ何乐而不为  | 我要投稿
  • Niagara系统

  • Niagara发射器

  • Niagara Module Script

  • 参数

Niagara系统

“Niagara系统” 是一种资源,可以直接在内容浏览器中被创建:

Niagara发射器

打开“Niagara系统编辑器”,可以看到当前Niagara系统所拥有的发射器:

“Niagara系统”是“Niagara发射器”的容器,“Cascade粒子系统”是“Cascade粒子发射器”的容器。但是这里有一个区别是:“Niagara发射器”可以在内容浏览器中创建一个Asset:



而随后在“Niagara系统”中能以刚才创建的发射器Asset继承来创建新的发射器:


这也许意味着“Niagara发射器”拥有比“Cascade粒子发射器”更复杂的逻辑,并且Niagara系统想要更高的复用性。


需要强调的是,这里的关系是继承,不是引用(意思是并没有新发射器出现,只是引用了现存的发射器Asset)或者模板(意思是新发射器是用发射器Asset复制出来了,一旦创建之后便和Asset脱离了关系)。

继承的关系稍微复杂,简单地讲,继承可以让它有父项的行为,但是可以有独自的变化。例如MyTestEmitter这个资源有一个Ribbon Renderer


继承它创建出的新发射器也将拥有Ribbon Renderer,但却不能删除:

不过,新创建的发射器可以添加新东西并删除:

Niagara Module Script

“Cascade粒子系统”中 “模块” 的角色将由Niagara Module Script扮演。但结构上存在区别:


Niagara Module Script 不仅可以加入到“发射器”中,还可以加入到“系统”中。

Niagara Module Script 将明确属于一个阶段。

例如,可以看到下面几个阶段:


  • 系统 生成阶段

  • 系统 更新阶段

  • 发射器 生成阶段

  • 发射器 更新阶段

  • 粒子 生成阶段

  • 粒子 更新阶段

  • 粒子 事件阶段

一个和“Cascade粒子系统”重要的区别是:
这里的Niagara Module Script实际是引用一种Asset

而打开这个Asset中,有一个类似蓝图的可视化编辑脚本:

例如这个Color模块。它有三个输入:Color、Scale Color、Scale Alpha。这些输入参数可以在“Niagara系统编辑器”中编辑。而在Color模块的编辑器里,将可以看到它具体的行为:

它将Color拆分为RGB部分和alpha部分。其中RGB部分将乘算上Scale Color;而Alpha部分将乘算上Scale Alpha和AlphaScale(发射器的参数)。最终颜色的结果将被设置到Color上(这里的Color是一个粒子的参数,不是模块的名字)


“Cascade粒子系统模块”是用C++写的,只能由程序员编辑并重新编译才可以使用。而Niagara Module Script则可以用上面这种方式直接用可视化脚本的方式来编辑。体现了Niagara一个重要的设计目标:“让美术师可以直接全权掌控效果而不必求助于程序员”。



此外,值得一提的是:Niagara Module Script的C++类是UNiagaraScript,而有另外两种Asset也是这个C++类。
也就是说总共有三种Asset都是UNiagaraScript类:

如果打开Asset,可以看到他们的模块使用位掩码不一样,例如Niagara Module Script将打开模块这一项:

其余的Script的作用待后续观察。

参数

刚才研究Color模块时看到,它最后的行为其实就是为了设置一个参数:

需要注意的是,参数都有个“命名空间”。例如Color的命名空间就是粒子
命名空间的层级从上至下依次是:

  • 用户

  • 引擎

  • 系统

  • 发射器

  • 粒子

在处于相对下层的情境中可以使用相对上层的参数,但只能修改自己这个层级的参数。
例如:
MyTestVar是一个系统命名空间的参数。

如果尝试在“Niagara系统”中修改这个参数,是可以的:

但如果尝试在“Niagara发射器”修改这个参数,就会被禁止:


————————————————

版权声明:本文为CSDN博主「YakSue」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u013412391/article/details/107590714


Niagara特效系统中的基本概念的评论 (共 条)

分享到微博请遵守国家法律