目录
效果

步骤
一、创建粒子
- 新建一个Niagara发射器,使用Empty模板,打开后先添加"Spawn Rate"模块,这里设置粒子生成速率为0.7

在"Initialize Particle"模块中设置粒子颜色为随机,设置粒子大小为20cm

添加"Gravity Force"模块,让粒子受到重力自由落体

再添加一个"Collsion"模块,用于判断粒子是否发生碰撞

- 对Niagara发射器创建Niagara系统,将Niagara系统移入场景,可以发现粒子正常产生碰撞

- 打开Niagara系统,添加一个**"Export Particle Data to Blueprint"**模块,该模块包含了导出的条件、导出的数据、以及怎么导出等选项
这里设置产生碰撞为导出条件。在"Collsion"模块中,勾选"显示参数写入"

可以看到该模块包含了碰撞是否有效的参数"CollsionVaild"

因此,在"Export Particle Data to Blueprint"模块中,把导出条件就设置为碰撞是否有效这个参数

设置导出粒子的位置、颜色和大小

然后我们需要设置一个导出的回调处理器参数

在用户参数面板中添加一个"Object"类型参数

这里就命名为"BPCallback"

回调处理器参数设置为"BPCallback"

二、创建蓝图接收Niagara参数
新建一个Actor蓝图,在蓝图中添加一个Niagara组件,设置Niagara系统资产为我们上面创建Niagara系统

在事件图表中添加如下节点

在蓝图的类设置中,设置已实现的接口为"Niagara粒子回调处理器"

此时引擎就会自动添加接收Niagara粒子数据接口

选择"实现事件"

此时事件图表中就会创建"事件接收粒子数据"节点

我们可以打印一下输出的信息
最终效果如下

参考视频:
https://www.bilibili.com/video/BV1fN411n7GM/?p=25&spm_id_from=pageDriver