このページでは、Unreal Editor から ブループリント または Python で Export to glTF 関数を使用してレベルまたはサポートされているアセットをエクスポートする方法、およびそれらをランタイム時にエクスポートする方法について説明します。
Export to glTF 関数
Export to glTF 関数には以下の入力があります。
- Object:エクスポートするアセット。サポートされている任意のアセットを指定します。サポートされているアセットの詳細については、「glTF エクスポータが Unreal Engine のコンテンツを処理する方法」を参照してください。
空の (null) 参照を渡すと、現在のレベルがエクスポートされます。 - Selected Actors:選択されているアクタ。エクスポートするシーンのサブセットを指定します。
- ブループリントまたは Python を使用してエクスポートする場合は、このセットを指定する必要があり、空の値を渡すこともできます。
- レベルをエクスポートする場合は、空のセットを指定すると、そのレベルにあるすべてのアクタがエクスポートされます。
- File Path:エクスポート先のパス。エクスポート後の glTF ファイルの名前、パス、形式 (ファイル拡張子) を指定します。次のいずれかの形式を指定できます。
形式 説明 JSON .gltf
ユーザーが指定したディレクトリに個別に保存されている以下の要素が含まれています。
- シーンの完全な記述: JSON 形式で人間が読める UTF-8 のテキスト ファイルとして
.gltf
拡張子付きで保存されています。 - テクスチャ ファイル: ユーザーが指定した形式 (
.png
、.jpeg
など) で保存されています。 - バイナリ データ ファイル:
.bin
拡張子付きの個別の複数のファイルとして保存されています。
バイナリ .glb
シーンの完全な記述、すべてのバイナリ データ、すべてのテクスチャが、単一の自己完結型バイナリ ファイルにまとめられます。 - シーンの完全な記述: JSON 形式で人間が読める UTF-8 のテキスト ファイルとして
- Options:エクスポート オプション。詳細については、「glTF エクスポート オプションのリファレンス」を参照してください。
Export to glTF 関数は以下の出力を生成します。
- Out Messages:エクスポートのログメッセージ。
- Return Value:エクスポートが正常に終了すれば
true
が返され、そうでなければfalse
が返されます。
ブループリントでエクスポートする
Export to GLTF アクションをブループリントに追加するには、コンテキスト メニューで [Miscellaneous (その他)] > [Export to GLTF] を選択します。

単一キューブを glTF にエクスポートするように設定した Export to glTF ブループリント関数の例。
入力 | 説明 |
---|---|
Object | エクスポートするオブジェクト (対応タイプは UMaterialInterface, UStaticMesh、USkeletalMesh、UWorld, UAnimSequence、ULevelSequence、ULevelVariantSets)。null の場合は現在アクティブなワールドがデフォルです。 |
File Path | 名前を付けて保存するディスク上のファイル名。ファイル拡張子が「.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 ファイルをエクスポートできます。ただし、マテリアルのベイク処理 と マテリアル式の照合 はどちらもランタイム時にエクスポートできないため、ほとんどのマテリアルが処理されるように次のいずれかを行う必要があります。
- マテリアルを事前ベイク:エディタでマテリアルを事前ベイクし、glTF プロキシ マテリアルを作成します。glTF エクスポータは、ランタイム時の glTF のエクスポートにそのプロキシ マテリアルを使用します。プロキシ マテリアルは、使用している Unreal Engine のマテリアルのユーザー データ内で参照されているため、アプリケーションと一緒にシッピングされます。
プロキシ マテリアルの作成の詳細については、「glTF プロキシ マテリアル」を参照してください。 - C++ では、ランタイム時に GLTFBuilder API を使用して glTF ファイルの内容を変更してから、それをエクスポートします。