FBX/glTF/USD/Alembic|3Dデータ形式の使い分け早見表

3Dデータの受け渡しで「とりあえず FBX」(業界標準の3Dデータ交換用ファイル形式。Autodesk製品の標準)が長らく定番でしたが、ここ数年で glTF(Web/モバイル向け軽量配信形式)/USD(Pixar発のシーン記述形式)/Alembic(VFX業界発のキャッシュ形式)の名前を耳にする機会が一気に増えました。それぞれ生まれた背景も得意分野も違うので、「どれが一番いいか」ではなく「どの場面でどれを選ぶか」で整理するのが正解です。
本記事では、4形式の特性と典型的な落とし穴を、早見表まで含めて1本でまとめます。新人に「形式どう選ぶの?」と聞かれたとき、この記事を渡せば足りる粒度を狙います。
夕宮たいだふぁ……みんな〜、形式選び、最初みんな迷うんだよぉ。FBX しか触ったことないって人も多いと思うんだぁ。今日はぜんぶ並べて整理していこ〜。
1. なぜ複数の形式があるのか
ひとことで:形式によって運べる情報の種類が違うので、用途に応じて使い分けます。
3Dデータといっても、運びたい中身は場面によって異なります。メッシュとUVだけでよいときもあれば、リグ(モデルを動かすための骨組み・操作系)やアニメーションを丸ごと渡したいとき、シミュレーション(クロスや流体など物理計算)のベイク結果だけを送りたいとき、シーン構成や複数バージョンを階層管理したいとき──要件は1色ではありません。
ひとつの形式ですべてを完璧に運ぼうとすると、仕様が肥大化してバージョン互換が崩壊します。だから現実には、用途別に複数の形式が並走しています。下図のように、4形式は登場時期も狙いも異なる経緯で生まれてきました。


| 形式 | 登場(初版目安) | 主導 | 狙い |
|---|---|---|---|
| FBX | 1996(Kaydara → Autodesk) | Autodesk | DCC間のシーン交換 |
| Alembic | 2011(ILM・Sony Imageworks) | VFX大手共同 | ベイク済みデータの大量流通 |
| glTF | 2015(Khronos) | Khronos | Web/リアルタイム配信の標準 |
| USD | 2016 OSS化(Pixar) | Pixar | 大規模シーンの統合管理 |
「FBX が古いから USD に置き換える」という発想ではなく、それぞれが得意な領域に最適化されている と捉えてください。混在運用が前提です。
2. FBX:業界標準の万能型
ひとことで:DCC 間のキャラクター・アセット受け渡しで事実上の標準になっている、Autodesk 主導の形式です。
FBX はもともと Kaydara のモーションキャプチャツール用フォーマットで、2006年に Autodesk が買収した後、業界標準の地位を確立しました。Maya / 3ds Max / MotionBuilder など Autodesk 系 DCC との親和性が特に高いです。
運べる情報は、メッシュ・UV(複数セット可)・簡易マテリアル・スキン・ボーン階層・アニメーション・カメラ・ライトと幅広く、スキンとアニメーションを1ファイルで運べる ことがゲーム業界での普及理由になっています。キャラクターアセットの受け渡しでは、いまも事実上の第一選択肢です。
バイナリ(.fbx)と ASCII(.fbx)
FBX には同じ拡張子で2種類のエンコードが存在します。
- バイナリ FBX:標準。サイズが小さく読み書きが速い
- ASCII FBX:テキスト形式。差分が見える・Git で扱える
通常はバイナリで運用し、デバッグや内容確認の必要があるときだけ ASCII に切り替えるのが定石です。拡張子が同じなので、見分けるにはエクスポート設定を確認するか、ファイル先頭をテキストエディタで開きます。



ていねいに整理するねぇ。FBX ってひとくちに言っても、バイナリと ASCII で別物なんだぁ。普段はバイナリで OK で、ASCII は「中身を覗きたいとき用」って覚えとこ〜。
バージョン互換の落とし穴
FBX 最大の難点は バージョン互換 です。Autodesk は数年おきに FBX SDK を更新しており、2014 / 2016 / 2018 / 2020 / 2024 など世代をまたぐと細かい仕様差が積み上がります。古いツールが新しい FBX を読めない、新しいツールが古い FBX を読み込むと一部情報が失われる、といった事故が頻発します。鉄則は 「プロジェクトで使う FBX バージョンを1つに固定する」 こと。エクスポート設定で「FBX 2018」「FBX 2020」のようにバージョンを明示し、全員に共有してください。
3. glTF:Web/リアルタイム配信の新標準
ひとことで:Khronos が策定した、Web・モバイル・AR で軽量に配信するための現代的な形式です。
glTF(GL Transmission Format)は、Khronos Group(OpenGL や Vulkan などのグラフィックス API を策定する業界団体)が2015年に公開したオープン規格です。「JPEG of 3D」(JPEG が画像配信の標準であるように、3D配信の標準を目指すという標語)を標榜し、3Dデータを Web 上で軽快に配信することを主目的に設計されています。
メッシュ・UV・法線・タンジェントに加え、PBR マテリアル(メタル/ラフネス系の規約)・スキン・アニメーション・モーフターゲットを規格として保持できます。FBX のマテリアル定義が DCC ごとに解釈差を生むのに対し、glTF は BaseColor / Metallic / Roughness / Normal / Occlusion / Emissive をベース仕様で扱うため、エンジン側で見た目が大きく崩れにくいのが利点です。PBR まわりの基礎は CR-01 PBRの理論 と CR-04 ノーマルマップとタンジェント空間 にまとめてあります。
.gltf(ASCII)と .glb(バイナリ)
glTF には2種類のファイル形式があります。
- .gltf:JSON テキスト+外部リソース(テクスチャ、
.binバッファ) - .glb:単一バイナリにすべてを内包
Web 配信や AR 用途では .glb で1ファイル化するのが圧倒的に楽です。参照リンクが切れる事故もなくなります。逆にツール開発でデータ構造を読み解きたい場面では .gltf のテキストが助けになります。
主な用途は Web ビューア(Three.js/Babylon.js は JavaScript で動く WebGL 系3Dフレームワーク、Sketchfab はブラウザ上で3Dモデルを閲覧・販売できるサービス)、WebXR(ブラウザ上で動くVR/AR規格)/AR(拡張現実:現実空間にCGを重ねる技術)、モバイルゲームのアセット配信、DCC 間の PBR マテリアル付き受け渡しなど。UE5 / Unity でも内部アセットは独自形式に変換して扱うので、glTF は「外部から取り込む経路」「Web に書き出す経路」の役割が中心です。
4. USD:パイプライン統合の現代解
ひとことで:Pixar が公開した、シーン構成・参照・バリアントまで丸ごと持てるシーン記述言語です。
USD(Universal Scene Description)は、Pixar が映画制作のために開発し、2016年にオープンソース化した形式です。FBX や glTF が「アセット1個を運ぶ箱」だとすると、USD は シーン全体の構造・差分・バリエーションをレイヤーで重ねて管理する仕組み に近いです。
メッシュ・UV・マテリアル・スキン(USD Skel)・アニメーション・カメラ・ライトに加えて、シーンの階層構造(Stage=シーン全体の作業舞台、Prim=USD上のオブジェクト1個分の単位 ツリー)/レイヤー(Photoshopのレイヤーのようにシーンを重ね合わせて編集する仕組み)/参照・バリアント(同じアセットの色違いや形違い)・継承(Composition Arcs) を扱えるのが本質的な違いです。アニメーション・ライティング・ルックデブ(look development=マテリアルや質感を仕上げる工程)の作業レイヤーが別々に存在し、最終的に1つの Stage として組み上がる──こういう非破壊(元データを書き換えずに重ねて変更する)ワークフローが標準で組み込まれています。



ほえ〜、シーンごと運べちゃうんだぁ。FBX みたいに「アセット1個」じゃなくて、「シーン全体の組み立て図」を運ぶ感じなんだねぇ。すごいねぇ。
USDA / USDC / USDZ
USD のファイル拡張子は3種類あります。
- .usda:ASCII テキスト。中身が読める。差分管理向き
- .usdc:バイナリ。サイズ小・読み込み速い。本番運用向き
- .usdz:パッケージ(ZIP 互換)。テクスチャ含めて1ファイル化。AR 向け(iOS)
通常は .usdc でデータを持ち、デバッグや手書き編集が必要な部分だけ .usda で管理する運用が多いです。USD の概念や採用判断、Stage / Layer / Composition Arcs の詳細は CR-08 USD入門 で扱います。本記事では「他形式と比べた立ち位置」までに留めます。
5. Alembic:シミュレーションキャッシュの定番
ひとことで:頂点アニメーションをそのまま焼き込むキャッシュ形式で、シミュレーション結果の受け渡しが本領です。
Alembic は2011年に ILM(Industrial Light & Magic:スターウォーズなどを手がける老舗VFXスタジオ)と Sony Pictures Imageworks(アニメ・VFXスタジオ)が共同で開発した、頂点キャッシュ(Vertex Cache:各フレームでの頂点位置を時系列で保存したデータ)形式です。FBX と違い、リグやコンストレイント(オブジェクト同士の親子関係や追従ルール)といった「動かす仕組み」は持ちません。代わりに 動かした結果(フレームごとの頂点位置) をそのまま記録します。マテリアルも基本的に運ばず、シェーダーは受け取り側で再アサインする前提です。
本領は、重いシミュレーション結果を別環境に渡す ことです。Houdini で計算したクロス(布の物理シミュ)や流体、Maya で作ったキャラのフェイシャル(顔の表情)アニメ──これらをエンジンや別 DCC に渡すとき、ベイク済みの頂点アニメとして Alembic で送ると、受け取り側はリグの再現を考えずに済みます。UE5 / Unity ともに取り込みに対応しており、シネマティック(ゲーム中の映像演出シーン)用のキャラ顔アニメや、衣装のクロスシミュ(布の揺れ)をベイクして持ち込む用途で使われます。
6. DCC・エンジン別の対応状況
ひとことで:環境ごとに対応の濃淡があり、組み合わせを把握しておくと事故が減ります。
| 環境 | FBX | glTF | USD | Alembic |
|---|---|---|---|---|
| Maya | ◎ | ○ | ◎(USD for Maya) | ◎ |
| Houdini | ○ | △ | ◎(Solaris/LOP) | ◎ |
| Blender | ◎ | ◎(標準) | ○ | ○ |
| Substance Painter | ○ | ◎(PBR出力定番) | △ | × |
| Unreal Engine 5 | ◎ | ○ | ○(USD Stage Actor) | ○ |
| Unity | ◎ | ○ | △(USD Package) | ○ |
Houdini Solaris は USD ネイティブで動くので、USD パイプラインの中心に据えやすい環境です。「採用予定の形式が関係する全環境で安定しているか」を発注前に確認してください。
7. 使い分け早見表
ひとことで:用途軸 × 形式軸の対応表で、迷ったらここを見ます。
下図に4形式 × 主要用途の対応をまとめます。


| 用途 / 形式 | FBX | glTF | USD | Alembic |
|---|---|---|---|---|
| メッシュ+UV の受け渡し | ◎ | ◎ | ◎ | ◎ |
| リグ+アニメーション | ◎ | ○ | ○ | × |
| PBR マテリアル | △ | ◎ | ◎ | × |
| シミュレーション結果 | × | × | △ | ◎ |
| シーン構造・参照階層 | × | △ | ◎ | × |
| Web / AR 配信 | × | ◎ | △(USDZ) | × |
| 大規模パイプライン統合 | △ | × | ◎ | △(補助役) |
判断の目安は次のとおりです。
- キャラクターアセットの DCC ↔ エンジン受け渡し → FBX
- Web ビューアや AR で配信 → glTF(.glb)
- 複数チームでシーンを分担して非破壊運用 → USD
- シミュレーション結果(クロス・流体・フェイシャル)の受け渡し → Alembic
- AR Quick Look(iOS)向け配布 → USDZ



ほら、これ覚えとけば、迷ったらここ見ればOKだよぉ。「ぜんぶ FBX」じゃなくて、用途で選ぶ感じ。便利でしょ?
8. 各形式の落とし穴
ひとことで:形式ごとに「やらかしやすい事故」のパターンが決まっています。
下図に代表的な事故3つをまとめました。順に見ていきます。


FBX:バージョン違いで壊れる
エクスポート側とインポート側で FBX バージョンが食い違うと、ボーン階層の一部が消える、アニメのキーが欠落する、マテリアルの色が変わる、といった事故が起きます。新しいツールから古いツールに渡すケースで特に頻発するので、プロジェクト内でバージョンを1つに固定し、エクスポート設定で明示してください。
glTF:テクスチャの埋め込み忘れ
.gltf(テキスト形式)でエクスポートすると、テクスチャは外部ファイルへの参照になります。.gltf 本体だけ送ると、受け取り側で「テクスチャが見つからない」エラーになります。配布時は .glb(テクスチャを含めた単一バイナリ)でエクスポートするのが確実です。
USD:レイヤーが散乱する
USD は便利な反面、レイヤー(Sublayer=レイヤーの重ね合わせ/Reference=他ファイルから読み込み参照)の使い方を決めずに運用すると、ファイルが膨大に増えて参照関係が把握できなくなります。プロジェクト初期にレイヤー命名規則と階層構造を決め、Variant の使いどころも限定(モデルバリエーション、LOD=Level of Detail:距離に応じてポリゴン数を切り替える仕組み など)するのが安全です。
Alembic:マテリアルが消える
Alembic はマテリアルを基本的に運びません。エンジンや他 DCC に持ち込むと「マテリアル未設定」状態になるので、受け取り側で再アサインする運用を前提にしてください。マテリアル付きで運びたい場合は USD が選択肢に入ります。



FBX のバージョン違い、絶対チェックだよ! 「動くだろ」で渡すと、ほんとに事故るからね。プロジェクト立ち上げのときに固定しちゃうのが鉄則なんだぁ。
9. ハンズオン演習
ひとことで:同じシーンを2形式で書き出して、運べる情報の差を体感します。
1. Maya / Blender で、ボーンを入れた簡単なキャラ+アニメ1つを用意 2. FBX で書き出し(バージョンを明示、Tangent / Binormal を含める) 3. glTF(.glb) でも書き出し 4. それぞれを別アプリ(UE5 / Unity / Blender / Three.js Editor 等)にインポート 5. メッシュ・UV・マテリアル・アニメーション・ファイルサイズの差を比較
PBR マテリアルを使った場合は glTF 側のほうがエンジンで意図どおりに見えやすく、複雑なリグやコンストレイントを使ったキャラでは FBX が安定する場面があります。「どちらが優れているか」ではなく「何が運べて何が運べないか」を体感するのが目的です。
10. チェックリスト
ひとことで:形式を選ぶ前に確認するセルフチェック項目です。
- [ ] 運びたい情報(メッシュ/リグ/アニメ/マテリアル/シーン構造/シミュ結果)を列挙した
- [ ] 受け取り側が対応している形式を確認した
- [ ] FBX を使う場合、プロジェクト内で1つのバージョンに固定している
- [ ] glTF を配布する場合、
.glbで単一ファイル化している - [ ] USD を使う場合、レイヤー命名規則と階層構造を決めている
- [ ] Alembic を使う場合、マテリアルは別途アサインする前提になっている
- [ ] 座標系(Y-up / Z-up)と単位(cm / m)を関係者で揃えている
11. よくある間違い・トラブルシュート
ひとことで:形式選択のミスは「用途と形式の不一致」から生まれます。
何でも FBX で済ませようとする
長年の習慣で全て FBX に寄せると、PBR マテリアルが崩れる、Web 配信用にサイズが大きすぎる、シーン構造が運べない、といった場面で行き詰まります。「アセット1個+アニメ」までは FBX で正解、それ以外は他形式を検討する、と切り分けてください。
USD を「FBX の上位互換」と捉える
USD は FBX を置き換えるための形式ではなく、シーン構成と非破壊ワークフローを実現するための仕組み です。1アセット1キャラの単純な受け渡しでは USD のメリットはほぼ活きません。導入には学習コストとパイプライン改修が伴うので、規模と目的を見極めて採用してください。
座標系・単位の不一致
形式選択以前の話として、座標系(Y-up / Z-up=どの軸を「上」とみなすか)と単位(cm / m)の不一致はどの形式でも事故ります。Maya(Y-up / cm)↔ Houdini(Y-up / m)↔ Blender(Z-up / m)の組み合わせは特に注意。詳細は MY-B15 FBXエクスポートと座標系トラブル(公開準備中)で扱います。



ふぁ……4形式の使い分け、これでだいたい OK ……かなぁ。USD は奥が深いから、もうちょっと掘る記事を別で書くよぉ。
12. 次に読む記事
ひとことで:形式の理解を深めて、現場の運用に落とし込みましょう。
- CR-08 USD入門:ゲームスタジオで何が変わるか:USD のレイヤー・参照・バリアントを実務目線で
- CR-10 Pythonで横断パイプライン:複数形式を Python で扱うパイプライン構築
- CR-09 アセット命名・バージョン規則:FBXバージョン固定など、形式運用のための土台ルール
- MY-B15 FBXエクスポートと座標系トラブル:Maya 視点での FBX 実務詳細(公開準備中)
- HD-B08 FBX/USDで他ツールと繋ぐ:Houdini からの書き出しの実機ノウハウ(公開準備中)








