UE4_Niagara_ export particle data to blueprint

参考Niagara_Advanced内容示例 4.2 Export Particle Data to Blueprint,学习笔记,仅供参考。祝愿日子越来越好!大美兰陵越来越好!

我们要想把数据从niagara传到blueprint,需要做以下工作:

一、先设置Niagara System。

In order to tell our Niagara System which blueprint to use, we first make a User Parameter in the  "System Settings" section of Niagara.(为了告诉我们Niagara系统哪一个蓝图使用,我们首先定义一个用户参数在Niagara系统设置部分)

This User Parameter will be of the type "Object" and can be named whatever you like. In this case, the name is BPCallBackHandler .(这个用户参数是Object类型,并且可以被命名为你喜欢的名字,在这个实例当中,名字叫BPCallBackHandler)

1、新建Niagara System,命名为NS_export。

2、新建一个用户公开变量object,更名为BPCallBackHandler。

3、添加粒子发射位置、初速度、粒子生命周期及大小区间。效果如下图:

4、粒子更新部分添加collision模块。

5、查看碰撞模块参数写入:

我们可以使用碰撞的有效性CollisionValid来作为下一个模块export particle data to blueprint的条件。

6、添加 Export Particle Data to Blueprint 模块。

Condition To Export Data【输出数据的条件】:为True时才输出数据 ,我们这里让碰撞有效时才传输数据

Delay Between Data Exports输出数据间延迟:设置两次输出数据的最小间隔时间

Vector to Sent(As Struct Position)发送的向量(作为结构位置)

Vector to Send(As Struct Velocity)发送的向量(作为结构速度)

Float to Send(As Struct Size)发送的浮点数(作为结构大小) 

这里的向量不一定是位置、速度和大小,我们也可以传送颜色。

Export particle Data Interface:暴露粒子数据接口;

Callback Handler Parameter【回调处理器参数】:选择把蓝图传进Niagara系统的Object类型用户参数,就是谁使用它的。 这个变量在模块Export Particle Data to Blueprint中作为回调句柄参数,其余被传输的数据包含有两个vector和一个scaler数据,Actor类蓝图中在BeginPlay设置了一个Niagara变量,就是这个变量。

GPUAllocation Mode(GPU分配模式):仅GPU粒子需要设置,使用Fixed Size(固定大小)

GPUAllocation Fixed Size(GPU分配固定大小):一帧中发送数据的粒子数量的最大值,超过此数值的粒子无法发送事件。

7、Export Particle Data to Blueprint 模块参数设置如下:

就是在碰撞发生时(CollisionValid),没设置延迟,将粒子位置、粒子颜色和0组成一个数据包,通过BPCallbackHandler将包发送到蓝图。

这里的设置要注意:比如粒子color,我们粒子的颜色发生变化才有意义,link中才有数据。这里也是为了告诉你输出到蓝图的向量不一定是速度。

二、蓝图中如何接收粒子系统的数据

1、新建actor,命名为BP_ReceiveNS。添加粒子系统组件,指定粒子系统。

2、事件开始时,告诉niagara system谁使用他。

为了告诉我们Niagara系统哪一个蓝图使用,我们首先定义一个用户参数在Niagara系统设置部分,这个用户参数是Object类型,并且可以被命名为你喜欢的名字,在这个实例当中,名字叫BPCallBackHandler,所以变量名字是这个。

3、由于是通过接口传递的数据,所以我们需要在类设置中继承接口:

4、实现接口函数:

将粒子发出的结构体数组进行遍历循环,数组成员进行拆分使用,可以计算粒子如果是碰到的角色,打印任务失败,同时把粒子颜色输出。

运行效果如图:

三、总结

1、数据传输只是两个向量和一个浮点数:

2、需要告知niagara哪个蓝图要用,用户参数是object类型。

3、niagara需要专门的模块传出,以接口的方式。

4、CPU粒子和GPU粒子都支持数据输出

GPU粒子数据导出是通过从GPU内存读回到cpu执行的。这是不可预测地潜在的非固定数量的帧,通常为1-2。导致延迟。

GPU粒子数据的导出是通过从GPU内存中读取来完成的。这通常用于游戏或图形应用程序中,其中GPU可以在渲染粒子时高效地处理它们。通过从GPU内存读取数据,可以将粒子的位置、速度等信息提取到CPU内存中,以便进一步处理或用于其他目的,例如与其他数据进行后处理或者用于编写到文件等。

GPU读回性能受到读回缓冲区大小的限制。建议使用GPU固定大小分配,使用捕获给定帧上可能发生的所有事件所需的最小值。
在这个例子中,根据生成速率和生命周期,我们知道在任何给定的时间,我们只会有1~4个粒子存活,所以固定大小可能很小。

任何超过此固定大小的事件都将无法发送。

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 《niagara_4_developercourse_labexercises.pdf》是一份关于Niagara 4开发者课程实验练习的PDF文件。Niagara 4是特尔斯控制系统公司开发的一款用于建筑自动化的软件平台,旨在提供集成管理各种设备和技术的解决方案。这份文件可能包含了一系列实验练习,旨在帮助学习者掌握Niagara 4的开发和配置技巧。 这些实验练习可能涉及不同的主题,包括系统架构、设备配置、图形界面设计、数据收集与分析等。学习者可能需要按照指导进行一系列的实验任务,通过实践来熟悉Niagara 4的各项功能和工具。这些实验练习可以帮助学习者了解如何使用Niagara 4平台来创建自定义的控制策略、设置定时任务、监视和控制设备,以及收集和分析数据等。 通过完成这些实验练习,学习者可以获得对Niagara 4开发和配置过程的实际经验,并加深对系统的理解。这份文件可能包含了实验指南、示例代码、实验结果分析等各种信息,以便学习者能够按照指导顺利完成实验任务。 总之,《niagara_4_developercourse_labexercises.pdf》是一份提供Niagara 4开发者课程实验练习的文件,通过完成其中的实验任务,学习者可以提高他们在Niagara 4平台上开发和配置的能力。 ### 回答2: niagara_4_developercourse_labexercises.pdf 是一份开发者课程实验练习的文档。 这份文档主要是针对Niagara 4开发者课程中的实验练习而编写的。Niagara 4是一种基于Tridium公司的框架和平台,用于建立和管理建筑自动化系统。开发者课程旨在帮助开发人员深入了解Niagara 4的功能和特性,并提供实践的机会来掌握其开发技术。 在这份文档中,会列出一系列的实验练习,帮助开发者逐步学习和实践Niagara 4的开发过程。每个实验练习都会有详细的步骤和指导,包括设置环境、创建项目、编写代码等等。开发者需要按照文档的指示一步步地完成每个实验,同时还需要理解实验的目的和背景。 这份文档的目的是帮助开发者通过实践加深对Niagara 4的理解和掌握。通过每个实验的完成,开发者可以逐步提升其在Niagara 4开发方面的技能。实验的内容涵盖了不同的主题和技术,包括系统建模、设备接入、数据处理等等。 总之,niagara_4_developercourse_labexercises.pdf 是一份Niagara 4开发者课程的实验练习文档,通过实践完成每个实验,开发者可以逐步提升其在Niagara 4开发方面的能力和技术。 ### 回答3: "niagara_4_developercourse_labexercises.pdf" 是一个文件名,可能是一个包含关于 Niagara 4 开发者课程实验练习的 PDF 文件。 在这个文件中可能包含了一些与 Niagara 4 开发相关的实验练习,供开发人员使用。该 PDF 可能包含了一些说明、指导或教程,以帮助开发人员学习和实践 Niagara 4 系统的开发技术。这些实验练习可能涉及到创建和配置 Niagara 4 网络、开发自定义应用程序、编写 Niagara 4 控制程序等。 对于想要学习并使用 Niagara 4 技术的开发人员来说,这个文件应该是一个很有用的资源。通过完成其中的实验练习,开发人员可以加深对 Niagara 4 系统的理解,掌握相关的开发技能,并在实际项目中应用这些技能。 需要注意的是,为了更好地利用这个文件,开发人员可能需要先了解基本的 Niagara 4 系统知识和开发概念。此外,建议开发人员按照文件中的顺序逐个完成实验练习,以获得更好的学习效果。 总而言之,“niagara_4_developercourse_labexercises.pdf” 是一个帮助开发人员学习 Niagara 4 系统开发技术的实验练习文件,对于想要学习并应用 Niagara 4 的开发人员来说是一份有价值的资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Growthofnotes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值