Esta página explica cómo usar la función Exportar a glTF para exportar niveles o recursos compatibles desde Unreal Editor mediante Blueprint o Python, y cómo exportarlos en tiempo de ejecución.
Función Exportar a glTF
La función Exportar a glTF utiliza las siguientes entradas:
- Un objeto para exportar: puede ser cualquier recurso compatible. Para obtener más información sobre los recursos compatibles, consulta Gestión de contenido de Unreal Engine en el exportador de glTF.
Para exportar el nivel actual, puedes pasar una referencia vacía (nula). - Actores seleccionados: especifica el subconjunto de la escena que se exportará.
- Al exportar mediante Blueprint o Python, debes proporcionar este conjunto, aunque esté vacío.
- Al exportar un nivel, proporciona un conjunto vacío para exportar todos los actores del nivel.
- Una ruta de destino: el nombre, la ruta y el formato (extensión de archivo) del archivo glTF exportado. Se pueden especificar los siguientes formatos:
Formato Descripción JSON .gltfIncluye los siguientes elementos, guardados por separado en un directorio que especifiques:
- Descripción completa de la escena: se guarda como un archivo de texto UTF-8 legible, con formato JSON y extensión
.gltf. - Archivos de textura: se guardan en el formato que especifiques,
.png,.jpeg, etc. - Archivos de datos binarios: archivos guardados por separado con la extensión
.bin.
.glb
binarioCombina la descripción completa de la escena, todos los datos binarios y todas las texturas en un único archivo binario independiente. - Descripción completa de la escena: se guarda como un archivo de texto UTF-8 legible, con formato JSON y extensión
- Las opciones de exportación. Para obtener más información, consulta la sección Referencia sobre las opciones de exportación de glTF.
La función Exportar a glTF genera las siguientes salidas:
- OutMessage: los mensajes de registro de la exportación.
- Valor de retorno: devuelve
true(se activa) si la exportación se ha realizado correctamente,false(se desactiva) en caso contrario.
Exportación con Blueprint
Puedes añadir la acción Exportar a glTF a un grafo de Blueprint desde el menú contextual (Varios > Exportar a glTF).
Función de Blueprint Exportar a glTF configurada para exportar un cubo simple a glTF
| Entrada | Descripción |
|---|---|
| Objeto | El objeto que se exportará (los tipos compatibles son UMaterialInterface, UStaticMesh, USkeletalMesh, UWorld, UAnimSequence, ULevelSequence y ULevelVariantSets). Si el valor es nulo, el valor predeterminado será el mundo activo. |
| Ruta del archivo | Nombre del archivo en disco para guardar. Las texturas asociadas y los archivos binarios se guardarán en la misma carpeta, a menos que la extensión del archivo sea .glb, lo cual resulta en un archivo binario independiente. |
| Opciones | Las distintas opciones que se usarán durante la exportación. Si es nulo, se utilizará por defecto la configuración del editor específica del usuario del proyecto. |
| Actores seleccionados | Conjunto de actores que se exportará. Esto solo es aplicable si el objeto que se quiere exportar es un UWorld. Si el conjunto está vacío, se exportarán todos los actores. |
Exportación con Python
El siguiente código de muestra exporta todos los recursos de la subcarpeta /game/models/ como archivos glTF individuales.
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)
Exportación en tiempo de ejecución
Puedes usar la función Exportar a glTF para exportar archivos glTF en tiempo de ejecución. Sin embargo, ni el baking de material ni la coincidencia de expresiones de material es posible en tiempo de ejecución, por lo que tendrás que realizar una de las siguientes acciones para gestionar la mayoría de los materiales:
- Bake previo de materiales: en el editor, crea materiales aproximados de glTF. El exportador de glTF usa los materiales aproximados para las exportaciones de glTF en tiempo de ejecución. Los materiales aproximados se envían automáticamente con la aplicación porque se hace referencia a ellos en los datos de usuario de los materiales de Unreal Engine.
Para obtener más información sobre la creación de materiales aproximados, consulta la sección Materiales aproximados de glTF. - En C++, usa la API GLTFBuilder en tiempo de ejecución para modificar el contenido del archivo glTF antes de exportarlo.