glTF JSON (.gltf)
ISO/IEC 標準GL Transmission Format (glTF) は、WebGL、WebGPU、ゲームエンジン、およびネイティブアプリケーションによる 3D シーンやモデルの効率的な送信と読み込みのための、オープン標準かつロイヤリティフリーの JSON 仕様です。
GLTF を GLB に変換
無料のブラウザ内 GLTF から GLB へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで glTF ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで glTF ファイルを識別します:
16進数シグネチャ (オフセット 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII表現: {\n "asset"
標準化: ISO/IEC 12113:2022 / Khronos Open Standard
技術仕様
| コンテナアーキテクチャ | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| 圧縮 | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| バイトエンディアン | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| 色空間 | sRGB base color, Linear roughness/metallic |
| チャンネルと構造 | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| 最大寸法 | Unbounded coordinate space and triangle count |
| 透過性 | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| ストリーミングとプログレッシブ | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
技術比較マトリックス: glTF 対 競合製品
| 技術属性 | glTF (現在) | GLB | OBJ | FBX |
|---|---|---|---|---|
| ファイルアーキテクチャ | JSON シーンテキスト + 付属の .bin / テクスチャ | 単一の自己完結型バイナリファイル | プレーンテキストの頂点と面 + .mtl | プロプライエタリなバイナリ/ASCII コンテナ |
| PBR マテリアル標準 | 標準化されたメタリックラフネス PBR | 標準化されたメタリックラフネス PBR | レガシーな Phong/Lambert マテリアル | カスタムプロプライエタリマテリアル |
| アニメーションサポート | スケルトンスキニングとモーフターゲット | スケルトンスキニングとモーフターゲット | なし (静的ジオメトリのみ) | 複雑なアニメーションとボーン |
| ランタイムパフォーマンス | WebGL およびリアルタイムエンジン向けに最適化 | WebGL およびリアルタイムエンジン向けに最適化 | 低速な解析と再構築が必要 | 複雑なデスクトップ SDK 解析が必要 |
一般的な破損モードと16進数リカバリガイド
3D エンジンのエラー: 'Failed to load buffer: URI not found' (バッファの読み込みに失敗しました: URI が見つかりません)。
根本原因: 付属の .bin バイナリファイルまたはテクスチャ画像が .gltf ファイルと一緒にアップロードされませんでした。
復旧: すべての付属ファイルをまとめてパッケージ化するか、File2File を使用して単一の GLB ファイルに直接変換します。
セキュリティ分析とパーサー攻撃ベクトル
glTF の JSON ファイルは、サーバーサイドリクエストフォージェリ (SSRF) やパストラバーサルを引き起こす可能性のある外部 URI (データ URI またはリモート URL) を参照します。
既知の攻撃ベクター
- 相対バッファ URI (例: 'uri: ../../../etc/passwd') を介したパストラバーサル。
- サーバーサイドの 3D サムネイルジェネレーターでのリモートネットワークバッファ取得を介した SSRF。
- 不正な再帰的ノード階層サイクルを通じたサービス拒否 (DoS)。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- 人間が読める JSON 構造により、プログラムによる編集、パイプラインスクリプトの作成、視覚的な検査が可能になります。
- モジュラー設計: 軽量なシーンメタデータを、重いバイナリジオメトリ (.bin) やテクスチャから分離します。
- 物理ベースレンダリング (PBR) マテリアルの定義により、すべてのレンダリングエンジンで 3D アセットが同一に表示されることが保証されます。
技術的な制限とデメリット
- マルチファイルの複雑さ: モデルを共有するには、.gltf、.bin、および画像テクスチャを一緒に ZIP 圧縮またはバンドルする必要があります。
- 複数の HTTP リクエストが発生するため、単一ファイルの GLB よりも初期のネットワーク起動がわずかに遅くなります。
- 伴うテクスチャファイルの名前が変更されたり移動されたりすると、相対パスの依存関係が壊れる可能性があります。
興味深い技術トリビア
- glTF は、オーサリングよりもランタイムでの送信と表示に厳密に焦点を当てているため、正式に「3D の JPEG」というニックネームが付けられています。
- このフォーマットは、1994 年に VRML (Virtual Reality Modeling Language) を共同作成した Tony Parisi によって共同設立されました。
- NASA は、ローバー、衛星、宇宙飛行士の 3D モデルを glTF 形式で一般公開しています。
よくある技術的な質問
glTFファイルの色や形状が欠けているのはなぜですか?
.gltfファイルにはJSONシーンの指示のみが含まれています。3D形状には付属の.binファイル、色には.png/.jpgファイルに依存しています。すべての付属ファイルが同じフォルダ内にあることを確認してください。
glTFファイルを単一のGLBファイルに変換するにはどうすればよいですか?
.gltfファイルと、その付属の.binおよびテクスチャファイルをFile2File.appにアップロードし、単一の自己完結型.glbファイルに即座に統合します。
どのようなプログラムがglTFをサポートしていますか?
Blender、Three.js、Babylon.js、Unity、Unreal Engine、Godot、およびWindows 3D Viewerは、標準でglTFをサポートしています。
関連するglTF変換ペア
glTF JSONアセットをglTFバイナリコンテナに変換することで、個別のテキストマニフェスト、バイナリバッファ、テクスチャを単一のファイルにパッケージ化し、Web配信を高速化します。
GLBをGLTFに変換すると、単一のバイナリコンテナが個別のテキストファイルとアセットファイルに分解され、開発者がテクスチャや3Dジオメトリコードを簡単に編集できるようになります。
Wavefront OBJ ジオメトリファイルを glTF JSON マニフェストに変換することで、静的な 3D モデルを標準的な Web ブラウザ内で瞬時に読み込める Web 対応のアセットに近代化します。