Language:
Page Info
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

高级蓝图原生化

使用虚幻自动化工具进行构建

如要在使用虚幻自动化工具进行构建时原生化蓝图,须在 BuildCookRun 命令行中添加 -nativizeAssets 开关。

C++ 协作

原生化蓝图保存在单独的新模块中,意味着游戏性模块的头文件现在模块之外使用。 须进行检查,确定所有头文件已将使用的所有类和结构体作为内含头文件或前置声明进行声明。

一些规则/限制有助于使手写代码和原生化代码之间的协作更加高效可靠。

不支持以下实现:

  • BlueprintVisibleEditable 标记的私有/受保护变量

  • 标记为 BlueprintPureBlueprintCallable 的私有/受保护函数

  • noexport 结构/类

  • BlueprintVisibleEditable 标记的位域变量

  • 私有位域变量

  • UBlueprintGeneratedClassUUserDefinedStructUUserDefinedEnum 变量,或基于它们的任意类型

技术细节

原生化蓝图兼容 Visual Studio 2013 和 Visual Studio 2015,但强烈推荐使用 2015,因为它的大项目处理能力更强。 如出现奇怪的编译器/连接器错误(如 LNK1000、LNK1248),可尝试将部分类型或特定蓝图排除,削减原生化蓝图的量。

BlueprintCompilerCppBackend 模块(此路径中:Engine\Source\Developer\BlueprintCompilerCppBackend\)将把蓝图语法树转入 C++。 BlueprintNativeCodeGen 模块(此路径中:Engine\Source\Developer\BlueprintNativeCodeGen\)在烘焙和打包时可大展身手。

相关页面