glTFをGLBに変換
glTFの書き出しは通常、.gltf(JSON)、1つ以上の.binバッファ、テクスチャのフォルダという3種類のファイルで構成されます。GLBは同じモデルを1つのバイナリファイルにまとめた形式で、アップロードフォーム、ビューア、ARアプリが求めるのはこちらです。
3Dモデル変換
またはSTL, OBJ, MTL … ファイルをここにドロップ ·
1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除
ファイルは当社のサーバーで処理され、30分後に削除されます。
STL と OBJ には単位が保存されません。スライサーでパーツが 10 倍や 25.4 倍小さく、または大きく表示される場合は単位が誤って読み取られているので、ここで指定してください。
Blender、CAD、スライサーは Z-up、glTF、Unity、多くのゲームエンジンは Y-up です。読み込み後にモデルが横倒しになる場合は切り替えてください。
STEP や IGES のソリッドをメッシュに変換するときに使います。細かいと曲線がなめらかになりますがファイルは大きくなります。簡易プレビューなら粗いで十分です。
PNG、JPG、SVG を入力した場合のみ使用します。レリーフは暗い部分を盛り上げます。リトフェインは背面から光を当てると写真が浮かび上がる薄いパネルです。押し出しはロゴや SVG の輪郭を平らな立体にします。
印刷するモデルの幅です。高さは画像の縦横比に従います。
レリーフやリトフェインの最大の盛り上がりの高さ、または押し出し形状の厚みです。リトフェインでは通常 2–3 mm を使います。
印刷物がまとまるように、レリーフの下に付ける土台の板です。0 は土台なしです。
このツールの使い方
- 1
glTFフォルダをZIPにする
エクスポート時に作られたフォルダ構成のまま、.gltf と .bin ファイル、テクスチャ画像を1つのZIPにまとめてアップロードします。データが埋め込まれた単体の .gltf は、そのままアップロードできます。1回に最大20ファイル、1ファイルあたり95 MBまでです。
- 2
モデルはそのままにする
モデルの単位は m、上方向の軸は「保持」のままにします。正しい glTF はもともとメートル単位かつ Y アップだからです。テクスチャとマテリアルを保持はオンにして、すべての画像を埋め込みます。
- 3
GLBに変換する
GLBに変換 → を押して、モデルごとに1ファイルずつダウンロードします。アップロードしたファイルと変換結果は30分後に削除されます。
glTF と GLB の違いは何ですか?
どちらも同じ glTF 2.0 のモデルを格納します。.gltf は読み取れる JSON で、別ファイルの .bin や画像を指します。GLB は、その JSON とバッファ、画像を1つのバイナリファイルにまとめたものです。
glTFをGLBにまとめる理由
2017年に公開された glTF 2.0 は Khronos Group が設計した伝送用フォーマットで、3D ツールとモデルを表示する側をつなぐ最後のステップです。JSON 形式は読んで編集できるので開発者には扱いやすい反面、実際には壊れやすいものです。テクスチャの名前を変えたり、.bin なしで .gltf をアップロードしたり、CMS にフォルダ構造を削除されたりすると、ジオメトリが欠けたり表面が白くなったりした状態で読み込まれます。
GLB は、すべてを1つのコンテナに入れることでこの問題を解決します。Shopify の商品メディア、Android の Scene Viewer、Google の model-viewer、多くのアセットマーケットが GLB を求めるのはこのためです。変換はロスレスです。コンバーターは JSON を読み、参照されるすべてのバッファと画像を読み込んで1つのバイナリチャンクに書き込み、参照先をファイル内部に書き換えます。
GLBファイルの構造
- ヘッダー:マジックワード glTF、バージョン2、全体の長さ
- 12バイト
- 最初に JSON、次にバッファと画像を含む BIN チャンク1つ
- 2チャンク
- 各チャンクがパディングされる境界
- 4バイト
- .gltf + .bin + テクスチャの代わりに
- 1ファイル
GLTF
GL Transmission Format
glTF は、2015年に最初に公開された Khronos Group のオープンな 3D 形式で、「3D の JPEG」とも呼ばれます。.gltf ファイルはシーンを記述した JSON で、通常は別の .bin ジオメトリファイルやテクスチャ画像ファイルとセットになります。PBR マテリアル、アニメーション、スキニングに対応し、効率的なリアルタイムレンダリングを想定して設計されています。共有時に別ファイルが失われることがあるため、1ファイルの GLB 形式がよく好まれます。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- 対応
- 登場時期
- 2015 · Khronos Group
GLB
glTF バイナリ(GLB)
GLB は、2017年に Khronos Group が公開した 3D 伝送形式 glTF 2.0 のバイナリ形式です。ジオメトリ、PBR マテリアル、テクスチャ、アニメーションを、高速に読み込めるよう設計された1つのコンパクトなファイルにまとめます。Web 3D、AR ビューアー、Android の Scene Viewer、オンラインのモデルマーケットプレイスで広く使われています。古いデスクトップ向け 3D ツールや CAD プログラムの一部では読み込めません。
- 圧縮方式
- –
- 透過
- –
- アニメーション
- 対応
- 登場時期
- 2017 · Khronos Group
glTF から GLB への変換はパッケージ化の作業です。アップロードフォーム、Android AR、Web ビューアは単体で完結した1つのモデルファイルを求めるため、.gltf と .bin バッファ、テクスチャを1つにまとめます。
.binやテクスチャが見つからないエラーの対処法
GLB にジオメトリがない、または変換に失敗する
.bin バッファがアップロードされていません。JSON が参照しているファイル名のまま、.gltf と一緒にZIPにまとめてください。
表面が白またはグレーになる
テクスチャが不足しています。.gltf をテキストエディタで開き、image の uri を確認して、該当ファイルを同じ相対パスでZIPに入れてください。
テクスチャのパスが C:\ や /Users で始まっている
エクスポーターが絶対パスを書き出しています。相対パスで再エクスポートするか、画像を .gltf の隣に移動して uri をファイル名だけに書き換えてください。
テクスチャが KTX2 または WebP である
これらには KHR_texture_basisu または EXT_texture_webp 拡張が必要で、非対応のビューアもあります。幅広く対応させるには PNG か JPEG で再エクスポートしてください。
glTFのGLB変換に関するよくある質問
glTFをGLBに変換するとモデルは変わりますか?
いいえ。メッシュ、マテリアル、ノード名、アニメーション、スキンはそのままコピーされ、変わるのはパッケージの形だけです。JSON は GLB の先頭チャンクに、バッファと画像はバイナリチャンクに格納されます。
.gltfだけでなくZIPでアップロードするのはなぜですか?
ファイル分離型の glTF は、.bin やテクスチャを相対パスで指しているだけです。単体でアップロードするとリンク先がなくなり、GLB にジオメトリや画像が含まれなくなります。フォルダごとZIPにすれば、参照されるファイルがすべて .gltf の隣に揃います。逆の操作についてはあらゆる端末でのZIP解凍方法のガイドもご覧ください。
GLBはglTFより容量が小さくなりますか?
すべてを base64 テキストで埋め込んだ .gltf と比べると、はい、約4分の1小さくなります。base64 はバイナリデータを約3分の1膨らませるためです。.gltf と .bin、画像を別々に持つ場合と比べると、合計サイズはほぼ同じで、メリットはファイルが1つになることです。
Draco圧縮されたglTFファイルに対応していますか?
KHR_draco_mesh_compression 拡張を使った glTF は読み込まれ、ジオメトリも保持されます。Web 用にできるだけ小さくしたい場合は、完成した GLB に glTF-Transform などのツールで Draco または meshopt 圧縮をかけてください。
GLBを個別のglTFファイルに戻せますか?
はい。GLB をアップロードし、3Dモデル変換の変換先で glTF を選んでください。JSON を手で編集したい場合や、再エクスポートせずにテクスチャを差し替えたい場合に便利です。
この方法でまとめられるglTFを書き出せるアプリは?
Blender の glTF エクスポーターは、glTF Separate でも GLB でも直接書き出せます。Sketchfab のダウンロード、Substance 系ツール、ほとんどのゲームエンジンのエクスポーターも同様です。お使いのツールが分離形式しか出力できない場合は、このページで1ファイルにまとめられます。