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,这样粒子即可跟随模型发射:
到此,根据模型顶点发射粒子的效果已经实现。
- 点赞
- 收藏
- 关注作者
评论(0)