目录
一,核心组件
Systems
Emitters
Modules
Parameters
二,创建系统或发射器向导
System向导
Emetter向导
三,Niagara VFX工作流程
创建系统
创建或添加发射器
创建或添加模块
Niagara是最新一代VFX系统,无需程序员的帮助,即可创建丰富多彩的效果;高级用户还可自定义模块modules;Niagara系统是在UE场景中能被调用的最小单位;一个Niagara系统可以有多个发射器节点组成,发射器节点有先后顺序,继承,需求关系;Niagara是点(属性)模拟器,模拟每粒子位置、速度、颜色等属性,然后根据这些属性渲染最终效果;
一,核心组件
- Systems
- Emitters
- Modules
- Parameters
Systems
- systems是构建效果容器,创建不同类型效果元素以实现整体效果;可修改一些系统系统级别的行为,以应用于所有效果元素;
- 系统编辑器System Editor,时间线Timeline面板显示系统中包含的所有发射器,且用于管理这些发射器;
Emitters
发射器用于在Niagara系统中生成粒子,控制粒子怎样生成、粒子生命周期内怎样演变、外观及行为;发射器是由各种任务模块组成的;
- Emitter Spawn,定义发射器在CPU创建时的行为;
- Emitter Update,定义CPU上每帧发生的发射器级别的模块,可使粒子每帧持有生成;
- Particle Spawn,粒子生成时调用一次,定义粒子初始细节,如出生时的位置、颜色、大小等;
- Particle Update,粒子每帧均调用,在生命周期内逐帧更改的特征,如颜色大小变化、受力情况(如gravity、curl noise、或point attraction);
- Event Handler,在一个或多个发射器内创建生成事件,在其他发射器创建监听事件以触发生成事件;
- Render,定义粒子显示,可设置一个或多个渲染器;
Modules
Modules是Niagara效果的基础block,可为每个group添加module;Modules是按顺序从上往下处理的;可将Module作为执行某些数学运算的容器;Module是使用高级着色语言HLSL,可以可视化节点构建;双击module可进入模块内部,以查看内部运算;甚至可以复制和创建自己的模块;
Parameters
Parameter是一种数据的抽象化,参数类型定义参数所表示的数据;参数类型可分为四种:
- Primitive,定义各种精度和通道宽度的数值数据;
- Enum,定义一组固定的值,使用时指定其中一个值;
- Struct,定义一组合并的Primitive和Enum类型;
- Data Interfaces,定义能够从外部数据源提供数据的函数;可能来自UE其他部件的数据,或来自外部的数据;
通过Set new or existing parameter directly,可在发射器添加一个自定义参数模块Set Parameter,在点击(+),即可设置一个新参数;
二,创建系统或发射器向导
创建Niagara发射器或系统时,出现对话框,会提供各种模板以供选择哪种类型的发射器或系统;
System向导
在Content Browser右击,选择FX > Niagara System,出现的对话框会提供以下选项,以创建新系统:
- New system from selected emitter(s),从被选择的发射器中创建新系统;可选择Templates(无继承)、Parent Emitters(继承)、及Behavior Examples(无继承)中的一种或多种,或它们的混合;
- Templates,作为构建不同类型发射器的起点,无继承的发射器模板被复制到系统;
- Parent Emitters,继承父发射器,接受来自父发射器的变化;
- Behavior Examples,功能上如何工作的指南,每个示例显示用于实现特定功能的简化设置,无继承的发射器模板被复制到系统;
- New system from a template or behavior example,从系统模板或行为案例中创建新系统;可选择Templates、或Behavior Examples中的一种;
- Copy existing system,从工程项目内复制一个现有系统,会保持发射器原有的继承关系;
- Create empty system,创建一无发射器的空系统;
Emetter向导
在Content Browser右击,选择FX > Niagara Emitter,出现的对话框会提供以下选项,以创建新发射器:
- New emitter,从发射器模板或行为案例中创建新发射器;可选择Templates(无继承)、Parent Emitters(继承)、及Behavior Examples(无继承)中的一种;
- Templates,作为构建不同类型发射器的起点,无继承的发射器模板被复制到系统;
- Parent Emitters,继承父发射器,接受来自父发射器的变化;
- Behavior Examples,功能上如何工作的指南,每个示例显示用于实现特定功能的简化设置,无继承的发射器模板被复制到系统;
- Copy existing emitter,从工程项目内复制一个现有发射器;
- Create an empty emitter,创建一无模块或渲染器的空发射器;
三,Niagara VFX工作流程
- 创建系统
- 创建或添加发射器
- 创建或添加模块
创建系统
首先创建一个Niagara系统,以便在其添加一个或多个发射器,随后在设置每个发射器的属性;
创建或添加发射器
在Niagara编辑器中,通过改变模块的属性来调整发射器,或针对效果添加新的模块;
此外,还可复制添加发射器到系统中;
创建或添加模块
可点击发射器group后的(+) ,来添加现有的模板;Niagara中预装了大量模块,大部分情况下,无需创建自定义模块即可达到效果;
自定义模块的数据流方式如下: