이 페이지에서는 Export to GLTF 함수를 사용하여 블루프린트(Blueprint) 또는 Python 으로 레벨 및 지원되는 에셋을 언리얼 에디터로부터 익스포트하는 방법과 런타임에서 익스포트하는 방법을 설명합니다.
Export to GLTF 함수
Export to GLTF 함수는 다음 입력을 받습니다.
- 익스포트할 오브젝트: 지원되는 에셋이라면 무엇이든 가능합니다. 지원되는 에셋에 대한 추가 정보는 glTF 익스포터가 언리얼 엔진 콘텐츠를 처리하는 방법(How the glTF Exporter Handles Unreal Engine Content)을 참조하세요.
현재 레벨을 익스포트하려면 빈(null) 레퍼런스를 전달하면 됩니다. - 선택된 액터: 익스포트할 씬의 서브셋을 지정합니다.
- 블루프린트나 Python을 사용하여 익스포트하는 경우, 비어 있더라도 반드시 이 세트를 제공해야 합니다.
- 레벨을 익스포트할 때 레벨 내 모든 액터를 익스포트하려면 빈 세트를 제공합니다.
- 대상 경로: 익스포트된 glTF 파일의 이름, 경로, 포맷(파일 확장자)입니다. 지정 가능한 포맷은 다음과 같습니다.
포맷 설명 JSON .gltf
지정한 디렉터리에 개별적으로 저장되는 다음 엘리먼트를 포함합니다.
- 전체 씬 설명(Full scene description): JSON 포맷으로 저장되고 인간이 읽을 수 있는
.gltf
확장자의 UTF-8 텍스트입니다. - 텍스처 파일(Texture files):
.png
,.jpeg
, 등 지정한 포맷으로 저장됩니다. - 바이너리 데이터 파일(Binary data files):
.bin
파일 확장자로 별도의 파일로 저장됩니다
Binary .glb
전체 씬 설명, 모든 바이너리 데이터, 모든 텍스처를 단일 바이너리 파일로 결합합니다. - 전체 씬 설명(Full scene description): JSON 포맷으로 저장되고 인간이 읽을 수 있는
- 익스포트 옵션. 자세한 내용은 glTF 익스포트 옵션 레퍼런스를 참조하세요.
Export to GLTF 함수는 다음 출력을 생성합니다.
- OutMessage: 익스포트의 로그 메시지입니다.
- 반환 값: 익스포트가 성공적이면
true
, 아니면false
를 반환합니다.
블루프린트로 익스포트
블루프린트 그래프에서 기타(Miscellaneous) > Export to GLTF 컨텍스트 메뉴로 GLTF로 익스포트(Export to GLTF) 액션을 추가할 수 있습니다.

심플 큐브를 glTF로 익스포트하도록 환경설정된 Export to glTF 블루프린트 함수
입력 | 설명 |
---|---|
오브젝트(Object) | 익스포트할 오브젝트로, 지원되는 타입은 UMaterialInterface, UStaticMesh, USkeletalMesh, UWorld, UAnimSequence, ULevelSequence, ULevelVariantSets입니다. null인 경우 디폴트값은 현재 활성 월드입니다. |
파일 경로(File Path) | 저장할 디스크 내의 파일 이름입니다. 연결된 텍스처와 바이너리 파일은 파일 확장자가 .glb 가 아니라면 동일한 폴더에 저장되며, .glb 인 경우에는 독립적인 바이너리 파일이 만들어집니다. |
옵션(Options) | 익스포트 시 사용할 다양한 옵션입니다. null인 경우 프로젝트의 현재 사용자 에디터 세팅을 디폴트로 사용합니다. |
선택된 액터(Selected Actors) | 익스포트할 액터 세트입니다. 익스포트할 오브젝트가 UWorld인 경우에만 적용할 수 있습니다. 빈 세트인 경우 모든 액터를 익스포트합니다. |
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 파일을 익스포트할 수 있습니다. 그러나 머티리얼 굽기 및 머티리얼 표현식 매칭은 런타임에 할 수 없으므로 대부분의 머티리얼을 처리하려면 다음 중 하나를 수행해야 합니다.
- 머티리얼 사전 굽기(Pre-bake materials): 에디터에서 glTF 프록시 머티리얼을 생성합니다. glTF 익스포터는 런타임 glTF 익스포트에 프록시 머티리얼을 사용합니다. 프록시 머티리얼은 언리얼 엔진 머티리얼의 사용자 데이터에서 참조되므로, 자동으로 애플리케이션과 함께 발매됩니다.
프록시 머티리얼 생성에 대한 추가 정보는 glTF 프록시 머티리얼 문서를 참조하세요. - C++에서는 GLTFBuilder API를 런타임에 사용하여 glTF 파일의 콘텐츠를 익스포트되기 전에 수정합니다.