【问题标题】:<Gameplay Class>.h vs <Gameplay Class>.generated.h<游戏类>.h vs <游戏类>.generated.h
【发布时间】:2022-08-23 04:18:14
【问题描述】:

在虚幻引擎中,两者有什么区别? 我在 API 中找不到它,只是这个:https://docs.unrealengine.com/5.0/en-US/gameplay-classes-in-unreal-engine/

如果您从虚幻编辑器创建类,我怀疑它会添加 .generated,但我不明白有没有它是否有任何不同。

    标签: unreal-engine5


    【解决方案1】:

    啊,所以类的实际头文件中需要 .generated 头文件(特别是最后一个头文件)。

    https://forums.unrealengine.com/t/creating-classes-in-visual-studio/282386/4

    【讨论】:

      【解决方案2】:

      Unreal 有一个代码生成工具,叫做“Unreal Header Tool”或简称 UHT。在项目的构建过程中,它会在实际编译器之前运行,以根据代码中的UPROPERTY()UFUNCTION() 等调用生成反射代码。

      所有这些信息都存储在两个文件中:&lt;Class&gt;.generated.h&lt;Class&gt;.generated.cpp

      标头需要最后包含在标头中,以确保文件中的所有引用在生成的代码中都可能有效。生成的头文件中的所有内容都可以通过UClass 反射系统访问。

      您可以在项目的“Intermediate/Build”目录中找到生成的文件。

      您可以在 GitHub 的项目中找到 UHT 的实现,并在 docs 中找到有关它的更多信息。

      【讨论】:

        猜你喜欢
        • 2015-06-10
        • 1970-01-01
        • 1970-01-01
        • 2015-06-12
        • 2014-10-09
        • 2014-04-08
        • 2014-01-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多