c++ - 虚幻引擎 : Accessing blueprint instance data of dynamically spawned actor

标签 c++ unreal-engine4

我有一个带有公开的 UPROPERTY 的 C++ 类,该类是通过蓝图类扩展的。我使用蓝图来设置属性的值。

现在我要做的是从此蓝图类生成一个 Actor,并让我的 C++ 代码使用蓝图中设置的属性。如果我将蓝图类的一个实例从虚幻编辑器拖到世界中,一切都会很好。但是,如果我从我的默认 GameMode 类动态生成同一蓝图类的这个 actor,我可以看到该类的一个实例已添加到世界中(我在 World Outliner 中看到它)但是当 C++ 代码运行时,从蓝图中设置的值不存在。

为什么以不同方式生成蓝图类(一种方法是将其从编辑器拖入世界,另一种方法是从 GameMode 类中生成)会导致不同的结果?如果 actor 是从 GameMode 类生成的,为什么我无法访问蓝图数据?

最佳答案

您确定要从 GameMode 生成派生的 Blueprint 类 的实例而不是 C++ 父类吗?

同时检查当您尝试访问成员变量时,您是否将实例转换为 Blueprint 类 而不是 C++ 类。

如果您还没有这样做,最好附加 _BP 或类似于所有 Blueprint 派生类的东西,以确保您始终知道您正在处理的是哪个版本。

关于c++ - 虚幻引擎 : Accessing blueprint instance data of dynamically spawned actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869960/

相关文章:

c++ - 检查操作系统兼容性

c++ - 将字符串转换为数字类型的通用方法?

c++ - 使用 C++ 改进将数据加载到虚幻引擎中

unreal-engine4 - Actor 构造后 UPROPERTY 被破坏

unreal-engine4 - 在虚幻引擎 4 的编辑器小部件中获取游戏状态

c++ - 从文件动态更新 Qdialog 中的 QTextBrowser(由另一个作业更新)

c++ - 在 Visual Studio 2010 中链接到 FFMPEG 库时出现问题

c++ - 更新 Visual Studio 2019 后编译 Unreal Engine 4.24.1 时出错

c++ - 在 C++ 中创建动态类型

c++ - Pawn 类使用 On Begin 重叠事件自行命中 Unreal Engine C++