Unreal Niagara粒子入门3 - 根据模型顶点发射粒子

在一些游戏中经常会出现根据模型顶点位置发射粒子的情况,这次就来实现一下该效果:
在这里插入图片描述

1.基础创建操作

首先从空粒子发射器开始创建,右键NiagaraSystem->Create empty system,打开粒子系统后再右键Add empty emitter:
在这里插入图片描述
加入发射器必须的模块,注意发射器使用Spawn Burst Instantaneous,因为是只发射一次:
在这里插入图片描述

2.粒子设置(上)

上一章讲过粒子属性:https://blog.csdn.net/grayrail/article/details/130846152的一些逻辑,可以看一下。
我们使用自定义Module和自定义属性配合,实现顶点发射效果。

首先在Particle Attributes中给粒子加一个Index int类型字段,点击+号,Make New然后选择int32即可:
在这里插入图片描述
该操作相当于每个粒子对象都多了这个参数。

随后对Index参数进行初始化,在Particle Spawn处点击+号,查找Set相关操作,选择Set new or existing parameter directly:
在这里插入图片描述
将参数Index拖入Set操作模块:
在这里插入图片描述
点击右侧下拉箭头,选择Random Range Int,这样可以给用于顶点发射的粒子初始索引设置一个随机值,后续就可以在随机顶点发射了:
在这里插入图片描述
最大值设置10000即可,也可根据模型定点数进行设置:
在这里插入图片描述
继续点击Particle Spawn右侧+号,搜索关键子Module,添加自定义模块:
在这里插入图片描述
点进自定义模块后,在输入处新增int形变量以便传入索引,新增SkeletalMesh变量以便采样,在输出处新增Position变量以更改粒子位置:
在这里插入图片描述
添加节点Get Skinned Vertex Data WS,采样蒙皮顶点位置,并连接相应引脚:
在这里插入图片描述
模块操作完成后,点击Apply:
在这里插入图片描述

3.粒子设置(下)

推出模块,回到主发射器,设置调试用的蒙皮网格,并将粒子索引拖入自定义模块:
在这里插入图片描述

检查Spawn Burst Instantaneous,确保发射粒子数正确:
在这里插入图片描述
可以看见,已有顶点附着效果了:
在这里插入图片描述
接下来可自行增加分形噪声、大小改变等效果,这里不继续展开。

4.嵌入蓝图对象

在粒子编辑器中创建好并没有用,我们还需要在场景中能实际使用起来。新建一个蒙皮网格用户变量,替换掉之前用于测试的蒙皮网格:
在这里插入图片描述
粒子编辑器保存退出。在场景中放置UE小白人,增加组件Niagara Particle System Component:
在这里插入图片描述
设置组件参数Source Mode为Attach Parent,这样粒子即可跟随模型发射:
在这里插入图片描述
到此,根据模型顶点发射粒子的效果已经实现。

猜你喜欢

转载自blog.csdn.net/grayrail/article/details/130948406