【问题标题】:How to pass Unreal Engine 4 Niagara Int Array to Blueprint如何将 Unreal Engine 4 Niagara Int Array 传递给蓝图
【发布时间】:2021-11-23 02:24:18
【问题描述】:

我正在努力从蓝图中检索 Niagara Int 数组。在研究这个主题时,我遇到了“Niagara Get Int32 Array”节点,但它没有按预期工作。出于某种原因,当我尝试检索用户公开的参数时,我只返回了一个有效的数组,但是当我尝试获取一个系统或发射器数组时,它没有返回一个有效的数组。

This returns Length 0 (4 is expected)

This returns Length 4 ( as expected)

我的问题是否可以从 Niagara Systems 检索系统或发射器阵列并将它们传递给蓝图?我是否正确使用了这个节点?或者我应该使用 2D 网格和稍后在着色器中解释的纹理来执行此操作?

感谢任何帮助

【问题讨论】:

    标签: unreal-engine4 unreal-blueprint


    【解决方案1】:

    您可以使用以下两种数据接口之一:

    • 导出数据接口可以将一组粒子数据发送到蓝图(在内容示例的 Niagara_Advanced 地图中有一个示例系统使用此功能)
    • 阵列数据接口可用于将阵列从蓝图发送到 Niagara 或发射器之间。

    【讨论】:

      【解决方案2】:

      Export Particle Data 接口非常有限,也不会在多个帧上提供持久的粒子索引。此外,它只允许输出两个向量和一个标量参数,而不是数组或值列表。

      事实证明,无法从 Niagara GPU 发射器中检索数组。解决方案是使用 Grid Collections 而不是数组,并将它们输出为可以编码所需信息的渲染目标纹理。然后可以通过自定义计算着色器或蓝图解释这些纹理(仅当您要编写自己的 ReadRenderTargetPixel 函数时才建议这样做,因为本机函数会阻塞渲染线程)

      【讨论】:

        猜你喜欢
        • 2017-02-14
        • 2017-05-23
        • 1970-01-01
        • 2020-08-09
        • 1970-01-01
        • 2020-06-16
        • 1970-01-01
        • 1970-01-01
        • 2020-04-05
        相关资源
        最近更新 更多