Niagara—— System和Emitter节点

目录

一,系统节点

System Spawn

System Update

二,发射器节点

Properties

Emitter Summary

Emitter Spawn

Emitter Update

Particle Spawn

Particle Update

Renderer


        Niagara是按照从上到下按顺序,依次执行模块Module(可编程代码块),模块会被放置在对应组(Group)内,以描述此模块何时执行;首先,System组内模块执行,其行为可被所有Emitter共享;随后, Emitter组内的modules和items执行;随后,Particle组内modules执行;最后,Render组items执行,描述如何渲染粒子;

        modules是一种items,但items不是modules;modules是用户能创建的可编辑资产,items还包括用户无法创建的系统和发射器部分,如system properties、emitter properties、及renderers;

Execution State

  • Active,系统或发射器既可simulates也可spawning;
  • Inactive,系统或发射器可simulates但不可new spawning;
  • InactiveClear,系统或发射器删除所有粒子,然后切换为Inactive状态;
  • Complete,系统或发射器既不simulates也不render;

一,系统节点

System Spawn

        此组仅在系统创建时计算一次,该组内模块设置系统初始值;

System Update

        此组会在系统每帧调用一次,该组内模块每帧更新数值;

二,发射器节点

        定义粒子整个的生成逻辑,将粒子的整个生命周期划分为不同的组,在不同的生命周期执行对应的组;

Properties

所有创建的发射器(即使为空)均默认含有 发射器属性 项;

  • Local Space,局部空间;粒子是否以自身为参考,不勾选为世界空间;

  • Determinism,确定性;随机值根据随机种子生成,种子不变每次生成的效果一致,不同种子值会产生不同的随机效果;
    • 如模块参数中修改了随机模式,以模块参数设置为准;

  • Interpolated Spawning,对高生成率,不稳定的帧率和快速移动的发射器,会产生平滑的生成,但会显著影响性能;
  • Sim Target
    • CPU性能没有GPU好,但基本支持所有模块;
    • GPU会有不适用的场景,如光线渲染器、事件处理器;边界不可为动态的;
  • Fixed Bounds,固定边界,如相机内边界不可见则剔除;
    • 如系统属性内开启了Fixed Bounds,则此参数不可用;

  • Requires Presistent IDs,要求持久ID,生成不会帧变化的ID,以便外部追踪;

Emitter Summary

        发射器摘要,便于指定参数的访问;可修改显示名称,提示文字,添加分类;

Emitter Spawn

        此组仅在发射器创建时计算一次,该组内模块将初始化默认值或执行初始设置;

Emitter Update

        此组会在发射器每帧计算一次,该组内模块计算每帧粒子生成或更新的参数值;

Life Cycle 生命循环

  • Life Cycle Mode,选择使用系统设置还是自身设置;
  • Inactive Response,控制粒子从激活状态到非激活状态后的行为,如关卡序列中的粒子状态;
    • Complete 等待粒子完成之后杀死;
    • Kill 立即杀死;
    • Continue 发射器停用,杀死时交由系统控制,基本上和Kill一致;
  • Loop Behavior,循环行为;
    • Infinite 无限循环,不会进入inactive状态;
    • Once 执行一次后进入inactive状态,有两种循环持续时间模式Fixed、Infinite;
    • Multiple 执行多次后进入inactive状态;
  • Recalculate Duration Each Loop,每次循环重新计算时间;

Scalability 扩展

  • Enable Distance Culling,距离剔除,超出指定距离后执行剔除;

  • Enable Visibility Culling,可见剔除,在摄像机中不可见时执行剔除;

  • Reset Age On Awaken,唤醒后重置粒子存活时间;

发射器更新阶段,最重要的是发射粒子;

  • Spawn Rate,以指定发射率持续生成粒子;

    • 有高级参数SpawnGroup,可配合Shape Location模块使用;

    • 注,生成模块都有SpawnGroup参数;

  • Spawn Burst Instantaneous,瞬间爆发粒子;

    • Spawn Time不要超过Loop Duration,超过将不会触发;

  • Spawn Particles from other Emitter

  • Sample Particles from Other Emitter

  • Spawn Per Frame,每帧生成粒子(测试试验模块);

  • Spawn Per Unit,基于移动的距离生成粒子(单位cm);


Particle Spawn

        此组仅在粒子生成时计算一次,该组内模块将设置每粒子的初始值;如勾选Properties/Interpolated Spawning ,此组一些生成模块会更新,而不是在Particle Update更新;

Color Channel Mode

  • Link RGBA 将RGBA整体作为一个值范围,进行随机取值;
  • Link RGB / Link A 将RGB通道和A通道拆分成两个值范围,分别进行随机取值;
  • Random Individual Channels 将所有通道拆分成4个值范围,分别取值,然后重组;

Position Mode

  • Simulation Position,发射器世界位置或局部原点位置;

Mass Mode

  • 配合Calculate Size and Rotational Inertia by Mass使用;

注,其他速度模块

  • Inherit Velocity 继承发射源的速度;
  • Add Rotational Velocity 添加旋转速度;

Particle Update

        此组在粒子每帧都计算一次,该组内模块将每帧更新值;

Acceleration Force,加速度力;

Aerodynamic Drag,空气阻力,对纸和树等薄物体叶很有用;

Curl Noise Force,卷曲噪波力;

Drag,直接应用阻力;

Gravity Force,重力;


Renderer

        此组描述怎么渲染Niagara粒子;与其他组不同,渲染器位置不一定与绘制顺序相关;

Component Renderer 可生成任何类型的组件,并使用粒子模拟中的数据更新其属性;

  • 绑定会在粒子模拟完成后的每一个更新函数结束时进行评估和更新,所以组件渲染器的运行开销会很大,要谨慎使用;

Decal Renderer 生成贴花并将其投影到表面上;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值