GL Transmission Format (glTF™) は、Khronos Group によって開発および維持されている、拡張可能でオープン標準のファイル形式であり、迅速にロードできてシーンを完全に表現できるコンパクトなファイルになるように設計されています。glTF 形式は、Unreal Engine、Twinmotion、Sketchfab など、glTF コンテンツをインポートおよびエクスポートできる多種多様なアプリケーション間でリッチな 3D コンテンツを共有するために使用されています。
サポートされている glTF 仕様
Unreal Engine の glTF エクスポータでは glTF 2.0 仕様がサポートされています。このドキュメントでは、「glTF」は具体的には glTF 2.0 のことです。
glTF 2.0 は以前のバージョンよりもランタイム非依存になっており、十分に確立されている物理ベースのレンダリング (PBR) ワークフローにのみ依存しています。glTF ソフトウェア エコシステムの多くでは glTF 2.0 だけがサポートされています。
glTF ファイル形式
以下の glTF 形式をインポートおよびエクスポートできます。
形式 | 説明 |
---|---|
JSON.gltf |
ユーザーが指定したディレクトリに個別に保存されている以下の要素が含まれています。
|
バイナリ.glb |
シーンの完全な記述、すべてのバイナリ データ、すべてのテクスチャが、単一の自己完結型バイナリ ファイルにまとめられます。 |
glTF 拡張
glTF のような形式では、あらゆるゲーム エンジンのあらゆる機能をデフォルトでサポートすることは不可能です。その代わりに、特定の機能に対してサポートが提供される拡張によって glTF のベース モデルを拡張できます (詳細については、glTF の GitHub リポジトリにある「About glTF Extensions」を参照)。
各 glTF 拡張には固有の名前があります。アプリケーションがそれらの拡張をすべてサポートしているかどうかに関係なく、アプリケーションは gft ファイルで必要とされるすべての拡張をその名前で識別できます。
それぞれの拡張名には、その拡張がどの程度十分にサポートされているかを表すプレフィックスが付いています。
プレフィックス | サポート | 説明 |
---|---|---|
KHR | Khronos ratified | 広くサポートされています。 KHR プレフィックスは、Kronos ratified 拡張専用です。 |
EXT | マルチベンダー | 複数のベンダー (企業またはアプリケーション) によってサポートされています。 |
Various | ベンダー | 主に単一ベンダー (企業またはアプリケーション) によってサポートされています。 ベンダー固有の登録済みプレフィックス ( EPIC 、ADOBE 、MSFT など) が使用されます。その他の企業やアプリケーションがこれらの拡張をサポートしている場合もありますが、保証はされていません。 |
拡張の制限事項
すべてのアプリケーションですべての glTF 拡張が実装されているわけではありません。glTF ファイルで使用されている拡張がアプリケーションでサポートされていない場合、そのアプリケーションはそのファイルをロードできずに、その拡張が使用されていない glTF ファイルの部分だけを表示することもあります。ただし、glTF ファイルでその拡張が明示的に要求されている場合、そのアプリケーションはそのファイルをロードできません。
Unreal Engine の glTF エクスポータでサポートされている拡張
Unreal Engine の機能の多くをサポートできるように、glTF エクスポータでは以下の拡張がサポートされています。[glTF Export Options (glTFエクスポートオプション)] ダイアログにあるさまざまな設定を使用して、個々の拡張のエクスポートのオンとオフを切り替えることができます。または詳細は、「glTF Export Options Reference」をご参照ください。
Khronos による拡張
拡張 | サポート提供対象 |
---|---|
KHR_lights_punctual | ポイント ライト、スポット ライト、ディレクショナル ライト |
KHR_materials_unlit | ライティングなしシェーディング モデルが使用されているマテリアル |
KHR_materials_clearcoat | クリア コート シェーディング モデルが使用されているマテリアル |
KHR_materials_variants | アセットごとの複数のコンパクトなマテリアル バリアント |
KHR_mesh_quantization | 頂点データのサイズを小さくし、精度を下げる |
KHR_texture_transform | テクスチャ座標をタイリングおよびミラーリングする |