效果图
第一部分:分析
Niagara 部分我们需要使用 Ribbon(条带),Render 中修改为 Ribbon 类型即可。
移动位置这里由 Spline(样条线)提供。
Ribbon 是粒子按照顺序排列连接实现的。
有个关键词:顺序,英文:Order,划重点。
Ribbon 的效果更新和实现都跟这个变量相关。
举个例子:生成 10 个Particle,默认的,Ribbon 会根据粒子的生成先后设置
Order值,然后连接起来。
第二部分:属性详解
属性:RibbonLinkOrder
-
官方备注:Explicit order for linking particles within a ribbon Particle of the same ribbon id will be connected into a ribbon in incrementing order of this attribute value。
-
翻译:明确粒子在
Ribbon中的连接顺序。所有具有相同RibbonID的粒子会按照这个值递增连成Ribbon。
属性: RibbonLinkID
-
官方备注: Sets the ribbon id for a particle, Particles with the same ribbon id will be connected into a ribbon
-
翻译:给单个粒子设置
条带 ID,具有相同条带 ID的粒子会连成一个条带.( 默认的条带ID在 Emmitter 里面是 0, 这里不需要分出很多条 Ribbon 所以就保持默认值即可)
第三部分:实现
这个效果实现起来究极简单,
- 设置 Ribbon 渲染
材质, 直接给个颜色也行, 要想有一点渐变透明就做个灰度图.
- 把默认模板有关速度的都删除
最后在 Update 中添加 RibbonLinkOrder. 然后将 Age 值给 Order , 这样粒子链接顺序就取决于粒子的年龄, 实际表现就是粒子系统本身在移动的时候后发出的粒子会接到 Ribbon 上.这样就能产生拖尾效果.
- 修改发射效果, 这里我们把发射周期改小, 生命值改成固定的值(同等移动速度下决定拖尾长度), 发射方式改成
burst
- Spline 控制 Niagara 移动. 蓝图是这样,
TimeLine是float0~1.然后 Map 给样条线获得样条线的长度.根据长度获得位置设置给 Niagara , 这样就能沿着样条线移动了.
---------------------分隔符----------------------
接下来实现流星效果, 粒子+拖尾.
这里需要用到的是 Event, 事件生成和接收. 和老粒子系统用法基本一样,一个 Emitter 发出事件, 另一个接收.还是两类事件 Collision 以及 Spawn 事件
步骤
新建一个粒子发射器, 保持默认. 新建一个 Niagara 系统, 然后将之前做的拖尾和新的粒子发射器一起添加到系统中
新粒子部分: 这里新建的粒子发射器将负责提供位置, Update 下面添加 GenerateLocationEvent, 发射频率改高点, 决定条带平滑度.
同时需要勾选
保持固定 ID , 这样在生成 Location 事件的时候, 会把自生的 ID 给发送过去, 成为 RibbonID. 表现来看就是每个粒子后面都跟着一条 Ribbon
条带部分: 自然是接收位置消息了, 点击加号添加事件处理, 然后将 Source 改成 LocationEvent(如果之前的粒子没有生成事件模块, 这里是没有选项的)
执行模式改成 Spawned Particles, SpawnNumber 改成 1
然后添加 ReceiveLocation 模块,和 Generate 对应.
现在你应该获得这样的情况
接下来要做的事情很简单, 调整粒子的发射情况即可. 比如将 Spawn 的 Velocity 去掉增大生成范围
再继续调整颜色, Ribbon 宽度等属性, 简单的流星效果就完成了.
END