Esta página explica como usar a função Export to glTF para exportar níveis ou ativos aceitos pelo Unreal Editor usando Blueprint ou Python, e como exportá-los no tempo de execução.
A função "Export to glTF"
A função "Export to GLTF" usa as seguintes entradas:
- Um objeto para exportar: pode ser qualquer ativo aceito. Consulte mais informações sobre os ativos aceitos em "Como o glTF exporter gerencia conteúdo da Unreal Engine".
Para exportar o nível atual, passe uma referência (nula) vazia. - Atores selecionados: especifica o subconjunto da cena a ser exportado.
- Ao exportar usando Blueprint ou Python, você deve fornecer esse conjunto, mesmo que esteja vazio.
- Ao exportar um nível, forneça um conjunto vazio para exportar todos os atores no nível.
- Um caminho de destino: o nome, o caminho e o formato (extensão do arquivo) do arquivo glTF exportado. Você pode especificar os seguintes formatos:
Formato Descrição .gltf
JSONInclui os seguintes elementos, salvos separadamente em um diretório que você especifica:
- Descrição completa da cena: salva como um arquivo de texto UTF-8 legível e formatado em JSON com a extensão
.gltf. - Arquivos de textura: salvos no formato que você especificar,
.png,.jpege assim por diante. - Arquivos de dados binários: arquivos salvos separados com uma extensão
.bin.
.glb
binárioCombina a descrição completa da cena, todos os dados binários e todas as texturas em um único arquivo binário independente. - Descrição completa da cena: salva como um arquivo de texto UTF-8 legível e formatado em JSON com a extensão
- As opções de exportação. Consulte mais informações em Referência de opções de exportação de glTF.
A função Export to GLTF produz as seguintes saídas:
- OutMessage: As mensagens do log da exportação.
- Valor de retorno: retornará
truese a exportação for bem-sucedida, efalse, caso contrário.
Como exportar com Blueprint
Você pode adicionar a ação Export to GLTF a um gráfico de Blueprint no menu de contexto (Miscellaneous, Export to GLTF).
A função "Export to glTF Blueprint" configurada para exportar um cubo simples para glTF.
| Entrada | Descrição |
|---|---|
| Objeto | O objeto a ser exportado (os tipos aceitos são UMaterialInterface, UStaticMesh, USkeletalMesh, UWorld, UAnimSequence, ULevelSequence, ULevelVariantSets). O padrão será o mundo ativo no momento se for nulo. |
| Caminho do arquivo | O nome do arquivo no disco para salvar como. As texturas associadas e os arquivos binários serão salvos na mesma pasta, a menos que a extensão do arquivo seja .glb, que gera um arquivo binário independente. |
| Opções | As várias opções a serem usadas durante a exportação. Usará as configurações do editor específicas do usuário do projeto se for nulo. |
| Atores selecionados | O conjunto de atores a serem exportados. Se aplica apenas se o objeto a ser exportado for um UWorld. Um conjunto vazio resulta na exportação de todos os atores. |
Como exportar com Python
A amostra de código a seguir exporta todos os ativos na subpasta /game/models/ como arquivos glTF individuais.
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)
Como exportar no tempo de execução
Você pode usar a função "Export to GLTF" para exportar arquivos glTF no tempo de execução. No entanto, nem a incorporação de materiais nem a correspondência de expressão de material são possíveis no tempo de execução, portanto, siga uma das etapas abaixo para processar a maioria dos materiais:
- Pré-incorpore os materiais: no editor, crie materiais proxy de glTF. O glTF exporter usa materiais equivalentes para exportações glTF de tempo de execução. Os materiais de proxy são lançados automaticamente com o aplicativo, pois são referenciados nos dados do usuário para os materiais da Unreal Engine.
Consulte mais informações sobre como criar materiais equivalentes em Materiais de proxy de glTF. - Em C++, use a API GLTFBuilder no tempo de execução para modificar o conteúdo do arquivo glTF antes de exportá-lo.