Preview3D
入手

.gltf と .glb ファイルとは?違いと Mac で開く方法

glTF は、Web、ゲーム、AR で 3D モデルを扱うための Khronos Group のオープンな形式で、マテリアル、テクスチャ、オブジェクトの階層、カメラ、アニメーションを持てます。.gltf ファイルはほかのファイルを参照する JSON で、.glb は同じデータを 1 つのバイナリファイルにまとめたものです。2022 年から glTF は ISO/IEC 12113 規格となっていて、macOS 27 ではプレビューでも開けます。

概要

拡張子
.gltf, .glb
種類
3D シーン
開発元
Khronos Group
登場
2015
規格
ISO/IEC 12113:2022
アプリなしの macOS
一部のみ(本文を参照)

情報の確認日:2026年11月4日

2 つの包み方、同じデータ

.gltf ファイルは、JSON で書かれた読めるテキストです。シーンと形状(バイナリデータ、つまり「バッファー」)を記述し、テクスチャは別のファイルから取り込みます。あるいは、長い base64 の文字列として JSON の中に入れることもあります。次は Onshape から書き出したファイルの一部を抜き出したものです。

{
  "asset": {
    "generator": "ONSHAPE BY PTC INC, 1.217",
    "version": "2.0"
  },
  "extensionsUsed": [
    "PTC_onshape_metadata"
  ],
  "buffers": [
    {
      "byteLength": 1044168,
      "uri": "data:application/octet-stream;base64,oWaSPRhJBT6qFIE6bDaSPTJ…"
    }
  ]
}

ここでは 1 MB 分の形状がまるごとテキストとして JSON に入っているので、ファイルは 2.65 MB になります。

.glb は同じものを 1 つのバイナリのパッケージに収めます。最初に 12 バイトのヘッダーがあり、glTF という文字、バージョン番号 2、ファイル全体の長さが入っています。その後に JSON、続いてバイナリデータが来ます。Onshape から書き出した歯車の最初の 28 バイトです。

00000000: 676c 5446 0200 0000 1c65 0b00 5064 0200  glTF.....e..Pd..
00000010: 4a53 4f4e 7b22 6163 6365 7373            JSON{"access

長さ 1c65 0b00 は 746,780 バイトで、ファイルのサイズとぴったり同じです。

.gltf がテクスチャなしで開く理由

.gltf が別のファイル(形状の入った .bin、テクスチャの画像)を参照している場合は、それらも一緒に送らなければなりません。.gltf だけを送ると、相手にはテクスチャのないモデルが見えるか、何も見えません。Apple のプレビューのガイドもこの点に注意を促しています。フォルダごと送るか、できればすべてが 1 つのファイルに入った GLB を送ってください。

glTF に入っているもの

  • 三角形から成るメッシュ。CAD の正確な面や公差はありません。それは STEP の領分です。
  • PNG と JPEG のテクスチャを使う PBR マテリアル(metallic-roughness)と、頂点カラー。
  • 名前付きのオブジェクトの階層。1 つのファイルに複数のオブジェクトとシーンを入れられます。
  • カメラとアニメーション(スケルトンとモーフターゲットを含む)。
  • メタデータ:ファイルを作ったプログラム、著作権。

コアの上には拡張があります。Draco と meshopt による形状の圧縮、KTX2 と WebP のテクスチャ、マテリアルの追加のプロパティなどです。あるプログラムでは開けるファイルが別のプログラムでは開けないのは、これらのためです。

拡張:GLB が開けない場所がある理由

ファイルには、使っている拡張(extensionsUsed)と、それなしでは読めない拡張(extensionsRequired)が列挙されています。上の Onshape の歯車は Onshape 独自の PTC_onshape_metadata を使っていますが、「使用」としてだけなので、それを知らないプログラムは読み飛ばせます。

圧縮は事情が違います。Draco や meshopt で圧縮したモデルや、KTX2 のテクスチャを使うモデルは、たいていそれらの拡張を extensionsRequired に挙げていて、対応していないプログラムでは開けません。Apple Developer Forums のスレッドによると、Apple の Reality Converter もそうです。ほかでは開ける GLB が手元で開けないときは、その JSON の中の extensionsRequired を探してください。

ミリではなくメートル

glTF の仕様では、距離はすべてメートルで、Y 軸が上を向きます。Onshape から書き出した同じ円柱は、STL では 54 × 54 × 25、glTF では 0.054 × 0.054 × 0.025 と書かれます。

これは印刷のときの落とし穴です。STL には単位がなく、スライサーはミリとして読むので、スケールを変えずに STL に変換した glTF は 1,000 分の 1 の大きさになります。Preview3D は変換のときに数値を変えません。glTF を STL にしたら、スライサーで 100,000 % に拡大するか、元のプログラムからミリで書き出してください。

glTF の生まれ

glTF は COLLADA のワーキンググループで生まれました。Khronos は 2013 年 3 月に発表し、バージョン 1.0 が 2015 年 10 月に出ました。2017 年 6 月の glTF 2.0 は、シェーダーを PBR マテリアルに置き換え、GLB をコアの仕様に取り込みました。1.0 のファイルとは互換性がありません。2022 年 7 月、glTF 2.0 は国際規格 ISO/IEC 12113 として発行されました。Khronos はこれを「the JPEG of 3D」(3D の JPEG)と呼んでいます。

Mac、iPad、iPhone で glTF と GLB を開く方法

Apple のガイドによると、macOS 27 ではプレビューで .gltf と .glb の両方を開けます。ただし、編集したモデルは USD か USDZ でしか保存できません。ほかのアプリなしでクイックルックが表示できるかどうかは、確認していません。古い macOS では状況がまちまちで、プレビューで GLB を開けた人もいれば、「このアプリケーションで開く」から消えてしまった人もいます。

ほかの選択肢は次のとおりです。

  • Blender は glTF の読み込みも書き出しもできますが、本格的な 3D ソフトです。
  • Khronos glTF Sample Viewer や PlayCanvas のビューアなどの Web ビューア は、ブラウザでモデルを表示します。
  • Preview3D(私のアプリ)は、Mac、iPad、iPhone、Apple Vision Pro で、glTF と GLB を色とマテリアル付きでウィンドウとクイックルックに表示します。

Preview3D は、形状とテクスチャを別のファイルから取り込む .gltf も読めます。クイックルックでも同じです。モデル情報には、ファイル自体の単位(glTF ならメートル)での寸法と三角形の数、そしてメッシュチェックが表示されます。iPad と iPhone では、glTF の単位が仕様で決まっているので、AR でモデルを実寸で置けます。

Preview3D で表示した、GLB 形式の色付きのペンギンのモデル
Preview3D で表示した、GLB 形式の色付きのペンギンのモデル

アップロードせずに GLB を STL に変換する

Mac では、Preview3D の ファイル → モデルを別名で書き出し…(⌥⌘E)で、インターネット接続なしで STL、OBJ、PLY に変換できます。「glb to stl」で検索すると、出てくるのはたいていファイルを他人のサーバーにアップロードするオンラインの変換サービスです。顧客のモデルや AI で生成したモデルなら、一度考えてみる価値があります。変換したら、上で説明したメートルの件に注意してください。

よくある質問

.gltf と .glb の違いは何ですか?

同じデータで、包み方が違います。.gltf はテキスト(JSON)で、形状やテクスチャを別のファイルに置いていることがよくあります。.glb はすべてを 1 つのバイナリファイルに収めています。

どちらを送ればよいですか?

GLB です。1 つのファイルなので、途中で何かが抜け落ちることがありません。

.gltf がテクスチャなしで開いたのはなぜですか?

参照している別のファイル(.bin と画像)がないためです。フォルダごと送るか、モデルを GLB で保存してください。

STL に変換したモデルがとても小さいのはなぜですか?

glTF はメートルで、スライサーは STL をミリとして読むからです。モデルを 100,000 % に拡大してください。

Mac はほかのアプリなしで GLB を開けますか?

macOS 27 なら、プレビューで開けます。古いバージョンでは状況がまちまちです。

ある GLB が、あるプログラムでは開けて別のプログラムでは開けないのはなぜですか?

たいていは拡張が原因です。典型的なのは Draco や meshopt による圧縮、KTX2 のテクスチャです。これらに対応していないプログラムは、そのファイルを読めません。

関連ページ

出典

Mac で開けなかった GLB や、変換したらサイズがおかしくなった GLB はありますか? どのプログラムから来たものかを添えて、apps@xfanta.com までお知らせください。

Preview3D で開く

STEP、3MF、STL、G-code、BGCODE などを Mac、iPad、iPhone、Vision Pro で。一度の購入で、アカウントもネットワークも不要です。

App Store の Preview3D