Niagara_Advanced内容示例 2.3 Spawn Particles From Another Emitter

本文解析了一种使用Niagara蓝图实现的粒子效果,通过Leaders和Followers的协同工作,展示了牵引粒子带动跟屁虫粒子形成复杂轨迹的过程。重点介绍了SpawnParticlesfromOtherEmitter和SampleParticlesfromOtherEmitter模块在生成和属性采样中的应用。

在这里插入图片描述

粒子效果

粒子从原点向四面八方射出(颜色不同),同时其运动的轨迹由一系列的粒子记录下来,随后这些粒子随着时间逐渐缩小、消失。

Niagara蓝图部分

蓝图中包含两个主要的Emitte——Leaders和Followers,两者都是GPU粒子(当然,我们要讨论的Particle Attribute Reader在CPU粒子和GPU粒子上都适用)。Leaders负责生成牵引粒子,Followers生成跟屁虫粒子。而本例中要介绍的主要就是Followers中的两个模块——Spawn Particles from Other Emitter和Sample Particles from Other Emitter。

在这里插入图片描述

效果实现分析

我们看到的效果是一串又一串的粒子组成的粒子运动轨迹,其中出于轨迹头部的粒子(仍然在运动的那个粒子)即是Leaders发射的牵引粒子,其余组成轨迹部分的粒子是Followers发射的跟屁虫粒子。

Leaders——牵引粒子发射器

每个粒子所拥有的颜色属性、大小属性均有所差别。

此外粒子运动的模拟是通过Add Velocity In Cone给与一个圆锥方向的随机初速度,再通过重力和阻力影响其运动。

在这里插入图片描述

在 Unreal Engine 4(UE4)的 Niagara 系统中,Niagara 脚本的启动和入口点是通过一系列模块和事件来定义的。Niagara 使用基于节点的脚本系统来控制粒子行为,其核心逻辑分布在多个脚本类型中,主要包括: - **System Script**:整个粒子系统的全局逻辑,用于初始化系统级别的参数和变量。 - **Emitter Script**:控制发射器的行为,例如发射速率、生命周期等。 - **Particle Script**:作用于每个粒子个体,通常用于更新粒子的位置、颜色、大小等属性。 ### Niagara 脚本的入口点 Niagara 脚本的执行从预定义的入口点开始,这些入口点根据脚本的类型而不同: - **对于 Emitter Script**: - 入口点通常是 `On Emitter Init` 和 `On Emitter Update`,分别表示发射器初始化和每帧更新时触发的逻辑。 - **For Particle Script**: - 入口点包括 `On Particle Spawn` 和 `On Particle Update`,前者在粒子生成时运行一次,后者在粒子的生命周期内每帧运行一次[^1]。 ### 启动方式 Niagara 脚本的启动依赖于 Niagara 系统的播放机制: 1. **通过蓝图启动**: 在关卡蓝图或角色蓝图中,使用 `Spawn Emitter at Location` 或 `Activate` 节点来触发 Niagara 粒子系统的播放。 ```blueprint // 示例伪代码 Spawn Emitter at Location(Asset: NiagaraSystem&#39;/Game/Particles/MyNiagaraSystem.MyNiagaraSystem&#39;, Location: Vector, Rotation: Rotator) ``` 2. **通过 C++ 代码启动**: 如果需要以编程方式控制 Niagara 系统,可以通过以下方式实现: ```cpp UNiagaraComponent* NiagaraComp = NewObject<UNiagaraComponent>(this); NiagaraComp->SetAsset(LoadObject<UNiagaraSystem>(nullptr, TEXT("/Game/Particles/MyNiagaraSystem.MyNiagaraSystem"))); NiagaraComp->AttachToComponent(RootComponent, FAttachmentTransformRules::KeepRelativeTransform); NiagaraComp->Activate(); ``` 3. **通过 Niagara 模块内的事件驱动**: 可以在 Niagara 脚本中添加事件处理模块(如 `Event Generator` 和 `Event Handler`),并通过外部信号(如碰撞事件或自定义触发)来激活脚本逻辑[^2]。 ### 总结 Niagara4 的脚本入口点主要取决于其所属的脚本类型,并通过 Niagara 系统的播放机制以及事件驱动的方式进行启动。通过蓝图或代码调用 Niagara 组件的激活方法后,系统会自动按照预设的脚本逻辑依次执行各个模块中的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Claude的羽毛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值