目录
效果
![](https://file.jishuzhan.net/article/1778484254141845506/d8d67df65a7342f812e87bc4f0aa1c0a.webp)
步骤
一、创建粒子
- 新建一个Niagara发射器,使用Empty模板,打开后先添加"Spawn Rate"模块,这里设置粒子生成速率为0.7
![](https://file.jishuzhan.net/article/1778484254141845506/7989b958e5a8c2277e7a3f32ab91d543.webp)
在"Initialize Particle"模块中设置粒子颜色为随机,设置粒子大小为20cm
![](https://file.jishuzhan.net/article/1778484254141845506/5dd23f66d176001a8666bd6eb7ccd425.webp)
添加"Gravity Force"模块,让粒子受到重力自由落体
![](https://file.jishuzhan.net/article/1778484254141845506/339a528eb32d9697f39b4270e54469dd.webp)
再添加一个"Collsion"模块,用于判断粒子是否发生碰撞
![](https://file.jishuzhan.net/article/1778484254141845506/8b13c1d1d3281cc773ea96d05457938b.webp)
- 对Niagara发射器创建Niagara系统,将Niagara系统移入场景,可以发现粒子正常产生碰撞
![](https://file.jishuzhan.net/article/1778484254141845506/2fb98a4ca4130ab3278ba81da787e882.webp)
- 打开Niagara系统,添加一个**"Export Particle Data to Blueprint"**模块,该模块包含了导出的条件、导出的数据、以及怎么导出等选项
这里设置产生碰撞为导出条件。在"Collsion"模块中,勾选"显示参数写入"
![](https://file.jishuzhan.net/article/1778484254141845506/8f3c02e8e14692ff13cf544bfd33bc44.webp)
可以看到该模块包含了碰撞是否有效的参数"CollsionVaild"
![](https://file.jishuzhan.net/article/1778484254141845506/5b295982bc2374349ec37f3de5994d15.webp)
因此,在"Export Particle Data to Blueprint"模块中,把导出条件就设置为碰撞是否有效这个参数
![](https://file.jishuzhan.net/article/1778484254141845506/fcaf6e75a84271dfbd448599f8084e4e.webp)
设置导出粒子的位置、颜色和大小
![](https://file.jishuzhan.net/article/1778484254141845506/9ec71e0f00e03b2dc0c9b5ecf5e0bf10.webp)
然后我们需要设置一个导出的回调处理器参数
![](https://file.jishuzhan.net/article/1778484254141845506/fd87e52f43e58969d3ec1671e30a3fe7.webp)
在用户参数面板中添加一个"Object"类型参数
![](https://file.jishuzhan.net/article/1778484254141845506/415aecdb5c4ffd65ef0928e3ee8bc288.webp)
这里就命名为"BPCallback"
![](https://file.jishuzhan.net/article/1778484254141845506/433f3a863598e2b8efa8c619a0b631a1.webp)
回调处理器参数设置为"BPCallback"
![](https://file.jishuzhan.net/article/1778484254141845506/cfc5b207146f219dfc9fa2c248924aaf.webp)
二、创建蓝图接收Niagara参数
新建一个Actor蓝图,在蓝图中添加一个Niagara组件,设置Niagara系统资产为我们上面创建Niagara系统
![](https://file.jishuzhan.net/article/1778484254141845506/2b920682f5394e44225cdbace6da7d5a.webp)
在事件图表中添加如下节点
![](https://file.jishuzhan.net/article/1778484254141845506/c0797bf43bdbb87ea8b3b663a07a2e0f.webp)
在蓝图的类设置中,设置已实现的接口为"Niagara粒子回调处理器"
![](https://file.jishuzhan.net/article/1778484254141845506/61ec3b6f69c9afe3a9f16aafc8d46003.webp)
此时引擎就会自动添加接收Niagara粒子数据接口
![](https://file.jishuzhan.net/article/1778484254141845506/bf3665acecc5ba5d4a3de5cc3b7d290b.webp)
选择"实现事件"
![](https://file.jishuzhan.net/article/1778484254141845506/972394fbc641d4c35928ce11c263c2bd.webp)
此时事件图表中就会创建"事件接收粒子数据"节点
![](https://file.jishuzhan.net/article/1778484254141845506/bd38c524e1d14e6ceb3aec2da0293009.webp)
我们可以打印一下输出的信息
最终效果如下
![](https://file.jishuzhan.net/article/1778484254141845506/d8d67df65a7342f812e87bc4f0aa1c0a.webp)
参考视频:
https://www.bilibili.com/video/BV1fN411n7GM/?p=25&spm_id_from=pageDriver