| ファイル名拡張子 | .gltf、.glb |
|---|---|
| インターネットメディアの種類 |
モデル/gltf+json、モデル/gltf-バイナリ |
| 開発者 | クロノスグループ |
| 初回リリース | 2015年10月19日[1] |
| 最新リリース | 2.0.1 2021年10月11日[2] |
| フォーマットの種類 | 3Dコンピュータグラフィックス |
| 延長 | 翻訳 |
| Webサイト | クロノス |
glTF (Graphics Library Transmission Format または GL Transmission Format、以前はWebGL Transmissions Format または WebGL TF と呼ばれていました) は、3 次元シーンおよびモデルの標準ファイル形式です。glTF ファイルは、.gltf ( JSON / ASCII ) または.glb (バイナリ) の 2 つのファイル拡張子のいずれかを使用します。 .gltf ファイルと .glb ファイルはどちらも、外部のバイナリおよびテクスチャ リソースを参照できます。 または、バイナリ データ バッファーを直接埋め込むことによって、両方の形式を自己完結型にすることもできます ( .gltf ファイルではbase64 でエンコードされた文字列として、 .glb ファイルでは生のバイト配列として)。 [3] [4] [5] Khronos Groupによって開発および保守されているオープン スタンダードで、3D モデルのジオメトリ、外観、シーン グラフ階層、およびアニメーションをサポートしています。[4] [4] [6]そのため、作成者はこれを「 3DのJPEG」と表現しました。[4]
概要
glTF形式では、主にJSON形式でデータが格納されます。JSONにはバッファと呼ばれるバイナリデータの塊も含まれ、メッシュデータや画像などを格納するための外部ファイルを参照します。[7]バイナリ.glb形式にもJSONテキストが含まれますが、バイナリチャンクヘッダーでシリアル化されているため、塊をファイルに直接追加できます。
glTFシーンの基本的な構成要素はノードです。ノードは階層構造になっており、ノードには子として定義された他のノードが存在する場合があります。ノードは親に対する変換を持つ場合があります。ノードはメッシュ、スキン、カメラなどのリソースを参照する場合があります。メッシュはマテリアルを参照し、マテリアルはテクスチャを参照し、テクスチャは画像を参照します。シーンはルートノードの配列を使用して定義されます。[8]
最上位レベルの glTF プロパティのほとんどは、フラットな階層構造で保存されます。ノードは " nodes" という配列に保存され、他のノードも含め、インデックスで参照されます。glTF シーンは、ルート ノードをインデックスで参照します。さらに、ノードはインデックスでメッシュを参照し、メッシュはインデックスでマテリアルを参照し、マテリアルはインデックスでテクスチャを参照し、テクスチャはインデックスで画像を参照します。[7]
すべての glTF データ構造は、「extensions」JSON プロパティを使用して拡張できます。これにより、基本 glTF 仕様に基づいて構築された拡張仕様を使用して定義された任意のデータ構造に任意の JSON データを追加できます。詳細については、拡張機能のセクションを参照してください。[9]
リリース
glTF1.0 について
COLLADAワーキンググループのメンバーは2012年にこのファイル形式を考案しました。[10] SIGGRAPH 2012で、クロノスはglTFのデモを発表しました。当時はWebGL Transmissions Format (WebGL TF)と呼ばれていました。[5] 2015年10月19日、クロノスはglTF 1.0仕様をリリースしました。[5]
glTF 1.0の採用
SIGGRAPH 2016で、Oculusはovrsceneフォーマットとの類似性を挙げてglTFの採用を発表しました。[6] [11] 2016年10月、MicrosoftはKhronosの3Dフォーマットワーキンググループに参加し、glTFの共同開発を行いました。[12]
glTF2.0 について
2 番目のバージョンである glTF 2.0 は、2017 年 6 月にリリースされ、バージョン 1.0 からファイル形式が完全に見直され、ほとんどのツールがバージョン 2.0 を採用しています。[4] [5] SIGGRAPH 2016 で最初に発表されたFraunhofer [13]の提案に基づいて、物理ベース レンダリング(PBR) が追加され、glTF 1.0 で使用されていたWebGL シェーダーが置き換えられました。 [14] glTF 2.0 では、GLB バイナリ形式が基本仕様に追加されました。その他のアップグレードには、フェイシャル アニメーションなどのテクニック用のスパース アクセサーとモーフ ターゲット、コーナー ケースやパフォーマンスのためのスキーマの調整と互換性のない変更 (インデックス ベースのアクセスを高速化するために最上位レベルの glTF オブジェクト プロパティを配列に置き換えるなど) が含まれます。[15] Unity [16]でのインポートとエクスポート、および統合されたマルチエンジン ビューア/バリデーターに向けた作業が進行中です。[17]
glTF 2.0の採用
2017年3月3日、マイクロソフトは、Paint 3D、3D Viewer、Remix 3D、Babylon.js、Microsoft Officeなどの自社製品ライン全体で3Dアセット形式としてglTF 2.0を使用すると発表しました。SketchfabもglTF 2.0のサポートを発表しました。2019年現在、glTFおよびGLB形式は、DGG、UX3D、 Sketchfab 、 Facebook、Microsoft、Oculus、Google、Adobe、Box、TurboSquid、Unreal Engine [18]、Qt Quick 3Dなどの企業で使用され、サポートされています。[6] [5] [19] [20]この形式は、 Autodesk Maya、Autodesk 3ds Max、Polyなどのモデリングソフトウェアと統合され、拡張現実の重要な標準として注目されています。[21] [22]
2020年2月、スミソニアン協会はオープンアクセスイニシアチブを立ち上げ、3DモデルにはglTFを使用し、約280万点の2D画像と3Dモデルをパブリックドメインに公開しました。[23]
2022年7月、glTF 2.0がISO / IEC 12113:2022国際規格としてリリースされました。[24]クロノスは、ISO/IECとクロノスの仕様の間に長期的な相違が生じないように、定期的に提出を行い、更新と広く採用されている新しいglTF機能をISO/IEC 12113の更新バージョンに取り入れていくと述べました。[25]
オープンソースのゲームエンジンGodotは、バージョン3.0以降でglTF 2.0ファイルのインポートをサポートし、バージョン4.0以降でエクスポートをサポートしています。[26]
拡張機能
glTF 形式は任意の JSON で拡張して、新しいデータや機能を追加できます。拡張機能は、ノード、アニメーション、マテリアル、テクスチャ、ドキュメント全体など、glTF の任意の部分に配置できます。Khronos は、すべての公式 Khronos 拡張機能といくつかのサードパーティ拡張機能を含む、glTF 拡張機能の非包括的なレジストリを GitHub に保持しています。[9]
- PBR拡張機能は現実世界のオブジェクトの物理的な外観をモデル化し、開発者が正しい外観を持つリアルな3Dアセットを作成できるようにします。新しいPBR拡張機能がリリースされるにつれて、glTFフレームワーク内でPBR機能が拡張され、より幅広いシーンやオブジェクトを3Dアセットとしてリアルにレンダリングできるようになります。[27]
- ユニバーサルテクスチャ圧縮用のKTX 2.0拡張機能により、glTF形式の3Dモデルを高度に圧縮し、ネイティブでサポートされているテクスチャ形式を使用できるようになり、ファイルサイズが削減され、レンダリング速度が向上します。[28]
- Dracoはメッシュ圧縮用のglTF拡張機能で、3Dメッシュを圧縮および解凍して3Dファイルのサイズを縮小するのに役立ちます。頂点属性、法線、色、テクスチャ座標を圧縮します。[29]
- OMIグループでは、ゲームエンジンの相互運用性のためのさまざまなglTF拡張機能が開発されています。これには、物理シェイプ、物理ボディ、物理ジョイント、オーディオ再生、座席、スポーンポイントなどの拡張機能が含まれます。[30] [31]
- VRMコンソーシアムは、ダイナミックスプリングボーンやトゥーンマテリアルを含む高度なヒューマノイド3Dアバター用のglTF拡張機能を開発しました。[32] [33]
派生形式
2015年8月10日、現在OGCコミュニティ標準の提案となっている3DタイルがglTF上に構築され、大規模な異種3D地理空間データセットをストリーミングするための空間データ構造、メタデータ、宣言型スタイルが追加されました。[34] [35] [36]
VR用のモデルフォーマットであるVRMは.glbフォーマットに基づいて構築されている。[37]これは3Dヒューマノイドアバターの仕様とファイルフォーマットである。[38]
ソフトウェアエコシステム
KhronosはglTFアセットを表示するためのglTFサンプルビューアを保守しています。また、3DモデルがglTF仕様に準拠しているかどうかを検証するためのglTFバリデータも保守しています。[39] [40]
glTFローダーは、 PlayCanvas、Three.js、Babylon.js、Cesium、PEX、xeogl、A-FrameなどのオープンソースのWebGLエンジンに含まれています。Godotゲームエンジンは、インポートとエクスポートの両方をサポートするglTF形式をサポートし、推奨しています。[41] [42]
オープンソースの glTF コンバーターは、COLLADA、FBX、OBJから利用できます。AssimpはglTF をインポートおよびエクスポートできます。
glTFファイルは、Blender、Vectary、Autodesk 3ds Max(ネイティブまたはVerge3Dエクスポーター[43]を使用)、Autodesk Maya(babylon.jsエクスポーター[44]を使用)、Autodesk Inventor、Modo、Houdini、[45] Paint 3D、Godot、Substance Painterなどのさまざまな3Dエディターから直接エクスポートすることもできます。[46]
オープンソースの glTF ユーティリティ ライブラリは、 JavaScript、Node.js、C++、C#、Haskell、Java、Go、Rust、Haxe、Ada、TypeScriptなどのプログラミング言語で利用できます。Khronos は、エコシステム サイトでこれらのライブラリとその他の関連アプリケーションのリストを保持しています。
3Dコマースは、電子商取引における3Dコンテンツの作成と配信に関する普遍的なガイドライン、標準、認証のワーキンググループであり、フォトリアリスティックな3Dアセットの送信にglTFを採用しています。[47] 2021年6月には、3Dコマースビューア認証プログラムが開始され、3DビューアはglTFファイル形式を使用して3D製品を正確かつ確実に表示できることを実証できるようになりました。[48] 2020年にリリースされた3Dコマースのアセットガイドラインには、3DコマースでglTFファイル形式を使用するためのベストプラクティスが含まれています。[49]
参照
参考文献
- ^ 「Khronos、glTF 1.0仕様を最終決定 - Khronos Groupプレスリリース」2015年10月19日。
- ^ 「GLTF™ 2.0仕様」。
- ^ “glTF 2.0”. blender.org . 2020年10月29日閲覧。
- ^ abcde 「glTF(GL伝送フォーマット)ファミリー」。loc.gov。2019年6月10日。 2020年10月29日閲覧。
- ^ abcde Simkin, Aliaksei (2019年11月27日). 「3Dマジックの舞台裏」. globant.com . 2020年10月29日閲覧。
- ^ abc Hamilton, Ian (2016年7月22日). 「Oculus Executive Calls For 3D Equivalent Of JPEG To Build The Metaverse」. uploadvr.com . 2020年10月29日閲覧。
- ^ ab 「glTF の基本構造」。glTF チュートリアル。Khronos。2023年 10 月 3 日閲覧。
- ^ 「シーンとノード」。glTF チュートリアル。Khronos。2023年 10 月 3 日閲覧。
- ^ ab "glTF Extension Registry". GitHub の KhronosGroup/glTF。 Khronos Group 。 2023 年 5 月 29 日閲覧。
- ^ ヒューストン、ベン。「glTF:知っておくべきことすべて」。threekit.com 。 2020年10月29日閲覧。
- ^ 「アップデート」(PDF) . www.khronos.org . 2016 . 2019年6月19日閲覧。
- ^ 「オープン スタンダードを通じて 3D をすべての人に」。Windows開発者ブログ。2016 年 10 月 28 日。
- ^ 「glTF の物理ベース マテリアル - 現在の状態。M. Limper、T. Sturm、SIGGRAPH 2016 WebGL & glTF BOF (2016 年 7 月 27 日)」。YouTube。
- ^ “glTF 2.0”. augmania.com . 2020年11月1日時点のオリジナルよりアーカイブ。2020年10月29日閲覧。
- ^ 「glTF 2.0 構文の変更と JSON エンコードの制限 · Issue #831 · KhronosGroup/glTF」。GitHub。2017年 9 月 26 日閲覧。
- ^ UnityGLTF : Unity3D 用ランタイム GLTF ローダー、The Khronos Group、2017-09-26、2017-09-26取得
- ^ 「Web ベースのクライアント側プレビューと検証 · Issue #1081 · KhronosGroup/glTF」。GitHub。2017年 9 月 26 日閲覧。
- ^ Unreal 5.1 以降:「glTF ファイルのインポート」。Unreal Engine 5.1 ドキュメント。Epic Games。2023年 5 月 29 日閲覧。
- ^ 「ARCore による拡張現実開発を改善する新しい API の導入」。Google Developers ブログ。2018 年 9 月 28 日閲覧。
- ^ Haslam, Oliver (2019年11月4日). 「Adobeの新しいAeroアプリでiPhoneとiPadでAR体験を実現」imore.com . 2020年10月29日閲覧。
- ^ 「glTF は VR + AR にとって大きな意味を持つ」。worldviz.com。2020年10 月 29 日閲覧。
- ^ Nichols, Andy. 「Qt Quick 3D 6.0 の新機能」。Qt ブログ。The Qt Company。2022年12 月 1 日に閲覧。
- ^ Burns, Chris (2020年2月26日). 「スミソニアンオープンアクセスイニシアチブが大量の3Dモデルをパブリックドメインにリリース」. slashgear.com . 2020年10月29日閲覧。
- ^ 「ISO/IEC 12113:2022 情報技術」。国際標準化機構 (ISO) 2022-07-26。
- ^ 「Khronos glTF 2.0がISO/IEC国際標準としてリリースされました」。develop3d.com 。 2022年8月5日。
- ^ Lee, Ernest (2021-01-04). 「Godot glTF 2.0 シーン エクスポーターの紹介」. Godot Engine . 2024-04-23閲覧。
- ^ 「glTFエコシステムがWebレンダリングにさらなるPBRリアリズムを追加」。Develop 3D。2020年12月3日。 2021年12月20日閲覧。
- ^ 「Khronos KTX 2.0 承認: RapidCompact でテクスチャを圧縮」 Rapid Compact。2021 年 4 月 21 日。2021年12 月 20 日閲覧。
- ^ 「glTF と 3D タイルを使用した Draco 圧縮メッシュ」。Cesium。2018 年 4 月 9 日。2021年12 月 20 日に閲覧。
- ^ 「Who we are」。Open Metaverse Interoperability Group。OMIグループ。2023年 5 月 29 日閲覧。
- ^ 「OMI glTF extensions」。GitHubの omigroup/gltf-extensions。OMIグループ。2023 年 5 月 29 日閲覧。
- ^ 「VRMとは?」VRMコンソーシアム. VRMコンソーシアム、Inc . 2023年5月29日閲覧。
- ^ 「VRM glTF extensions」。GitHubの vrm-c/vrm-specification 。VRM Consortium, Inc. 2023 年 5 月 29 日閲覧。
- ^ 「Cesium 3D タイル」。GitHub。
- ^ 「OGC は、3D タイルの作業項目の提案をコミュニティ標準として検討しています」。
- ^ 「3D タイル コミュニティ標準の正当性」。
- ^ 「VRM仕様」. github.com . 2020年10月29日閲覧。
- ^ 「VRM」(PDF) . khronos.org . 2020年10月29日閲覧。
- ^ 「Khronos 3D Viewer Program」。Graphic Speak。2021年6月16日。 2021年12月20日閲覧。
- ^ 「概要」(PDF) . www.khronos.org . 2019年6月19日閲覧。
- ^ 「3Dシーンのインポート」。Godot Engineのドキュメント。2021年10月22日時点のオリジナルよりアーカイブ。2021年9月27日閲覧。
- ^ Engine、Godot。「Godot Engine - ゲームエンジンの標準アセット交換フォーマットとしてglTF 2.0をサポートすべき理由」。Godot Engine 。2021年9月27日閲覧。
- ^ 「Facebook 3D投稿の作り方」。3D Print Tech Design 。 2018年5月7日閲覧。
- ^ 「Maya シーンを glTF としてエクスポート」 。2021年 2 月 1 日閲覧。
- ^ 「glTF ROP 出力ドライバー」。Side FX。
- ^ 「GLB チュートリアル」。Facebook Developers。2019年7月29日時点のオリジナルよりアーカイブ。2018年5月7日閲覧。
- ^ 「Think 3D」。Leading Print。2020年7月20日。 2022年6月21日閲覧。
- ^ 「クロノス、3Dアニメーションオンラインショッピングの認証を開始」。ベンチャービート。2021年6月9日。 2022年6月21日閲覧。
- ^ 「3D標準が小売業における画像作成と使用をいかに簡素化するか」。Retail Touch Points。2020年8月19日。 2022年6月21日閲覧。
外部リンク
- 公式サイト
- glTF仕様
