本页面说明如何使用 Export to glTF 函数,通过 蓝图(Blueprint) 或 Python 从虚幻编辑器导出关卡或支持的资产,以及如何在运行时进行导出。
Export to glTF函数
Export to GLTF函数接受以下输入:
- 要导出的对象: 这可以是任意支持的资产。如需详细了解受支持的资产,请参阅"glTF导出器如何处理虚幻引擎内容"。
要导出当前关卡,你可以传递空(null)引用。 - 所选Actor: 指定要导出的场景子集。
- 使用蓝图或Python导出时,你必须提供此集,即使其为空集。
- 导出关卡时,提供空集以导出关卡中的所有Actor。
- 目标路径: 导出的glTF文件的名称、路径和格式(文件扩展名)。可以指定以下格式:
格式 说明 JSON .gltf
包含以下元素,在你指定的目录中单独保存:
- 全场景说明: 保存为JSON格式化、人工可读的UTF-8文本文件,扩展名为
.gltf
。 - 纹理文件: 保存到你指定的格式,
.png
、.jpeg
,等等。 - 二进制数据文件: 保存的单独文件,文件扩展名为
.bin
。
Binary .glb
将全场景说明、所有二进制数据和所有纹理合并为单个完全独立的二进制文件。 - 全场景说明: 保存为JSON格式化、人工可读的UTF-8文本文件,扩展名为
- 导出选项。如需更多信息,请参阅glTF导出选项参考。
Export to GLTF 函数会生成以下输出:
- OutMessage: 导出中的日志消息。
- 返回值: 导出成功时返回
true
,否则返回false
。
使用蓝图导出
你可以从上下文菜单( 杂项(Miscellaneous)> 导出到GLTF(Export to GLTF) )将 导出到GLTF(Export to GLTF) 操作添加到蓝图图表。

将简单立方体导出到glTF的蓝图函数示例。注意所选Actor为空集。
使用Python导出
以下代码示例将 /game/models/
子文件夹中的所有资产作为单独的glTF文件导出。
import unreal
assetPath = '/game/models/'
outputDir = 'c:/Temp/glTFExport/'
exportOptions = unreal.GLTFExportOptions()
selectedActors = set()
staticMestPaths = unreal.EditorAssetLibrary.list_assets(assetPath)
for smp in staticMestPaths:
sm = unreal.EditorAssetLibrary.load_asset(smp)
if unreal.MathLibrary.class_is_child_of(sm.get_class(), unreal.StaticMesh):
exportPath = outputDir+sm.get_name()+'/'+sm.get_name()+'.gltf'
unreal.GLTFExporter.export_to_gltf(sm,exportPath,exportOptions,selectedActors)
在运行时导出
你可以使用Export to GLTF函数在运行时导出glTF文件。但是,材质烘焙和材质表达式匹配都无法在运行时实现,因此你需要执行以下某项操作来处理大部分材质:
- 编辑器中的 预烘焙材质: ,创建glTF代理材质。glTF导出器会将代理材质用于运行时glTF导出。代理材质会自动随你的应用程序发售,因为它们在你的虚幻引擎材质的用户数据中被引用。
如需详细了解如何创建代理材质,请参阅glTF代理材质。 - 在C++中,在运行时使用 GLTFBuilder API修改glTF文件的内容,然后再导出该文件。