【问题标题】:Unreal 4.25 - cannot use "GetAllActorsOfClass" in "Object" class based blueprintUnreal 4.25 - 不能在基于“对象”类的蓝图中使用“GetAllActorsOfClass”
【发布时间】:2020-09-22 18:46:25
【问题描述】:

我尝试制作一个在游戏世界中没有 3D 表示的蓝图

我使用“Object”作为基类

但现在我无法在蓝图编辑器中找到/使用 GetAllActorsOfClass(即使禁用上下文敏感性)

现在我可能已经在类层次结构中走得更远了

我克隆了虚幻存储库,但我不知道用于访问 GetAllActorsOfClass 的最小基类是什么

对此表示赞赏的任何帮助

【问题讨论】:

    标签: unreal-engine4 unreal-blueprint


    【解决方案1】:

    GetAllActorsOfClass 节点是对UGameplayStatics::GetAllActorsOfClass 的调用。这个函数需要一个世界上下文。 UObject 默认不提供世界上下文 - 即不能保证对 UObject::GetWorld 的调用成功。

    使用Actor 作为您的基类。如果您不添加任何可渲染组件,它将没有 3d 表示。

    【讨论】:

    • 但是您如何以编程方式创建这样的演员? spawn 需要转换,所以它肯定位于某个地方...
    • 如果它有一个根组件,它就位于某个地方,就像基于蓝图的演员一样,但它不需要有视觉表示。
    • 好吧,我只是给它提供单位矩阵,但感觉很尴尬,我只想要一个数据持有者;由于 GetAllActorFromClass 是一个实用程序,因此以这种方式实现没有多大意义……感觉演员仍然是场景图的一部分
    • @Phil123456 仔细想想,AWorldSettings、AGameMode、AGameState、APlayerState 等也是如此。另一个选项是从 C++ 中的 UObject 继承并实现 GetWorld
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2021-01-29
    • 1970-01-01
    • 2017-11-10
    • 2020-03-02
    • 2015-11-04
    相关资源
    最近更新 更多