FBX

3D モデル・アニメーションの DCC ツール間交換フォーマット。Filmbox が起源、現在は Autodesk が所有するクローズド規格。Maya / 3ds Max / Blender / Unity / Unreal の事実上の共通言語で、3D 制作パイプラインの “土管” になっている。

何のためにあるか

3D 制作は典型的に複数のツールを跨ぐ:

このとき 「メッシュ + ボーン + アニメーション + マテリアル参照を一束で渡せる」 フォーマットが必要。FBX はこの役を 20 年以上担ってきた。Autodesk が 2006 年に Kaydara を買収して以降、Maya / 3ds Max のネイティブ書き出しが FBX 中心に振られたことで、業界標準になった。

バイナリと ASCII の二形式

flowchart LR
    Source["3D ソース<br/>(Maya / Blender / Max)"] --> Bin[".fbx (binary)<br/>圧縮済、サイズ小、機械可読"]
    Source --> Ascii[".fbx ASCII<br/>テキスト形式、デバッグ用"]
    Bin --> Engine["ゲームエンジン<br/>(Unity / Unreal)"]
    Bin --> Conv["コンバータ<br/>(FBX2glTF / glTF Exporter)"]
    Conv --> Glb[".glb / .gltf"]
形式拡張子用途
Binary.fbxデフォルト。圧縮されてサイズが小さく、読み込みも速い
ASCII.fbx(中身は人間可読)diff / 手動確認 / バージョン互換性のデバッグ用。サイズは数倍

ファイル拡張子は両方 .fbx なので、開いて中身が “Kaydara FBX Binary” で始まれば binary、; FBX 7.4.0 project file で始まれば ASCII。

FBX が保持できるもの

注: テクスチャは「参照」だけで、FBX ファイル単体では絵として完結しない(PNG / JPG が別途必要)。エンジン側で Embed オプションを使うと内蔵もできる。

バージョンの悩み

FBX SDK にはバージョンがあり(FBX 6.1, 7.4, 7.7, 2020 系列…)、書き出した側と読み込む側のバージョン不一致でアニメや法線が壊れることがある。トラブルの典型:

実運用では 「FBX 2020」「FBX 2018」 形式を選ぶのが無難。

主要ツールの対応

ツール役割備考
Autodesk Maya / 3ds Maxネイティブ書き出しFBX SDK 公式、最も信頼できる
Blenderエクスポート/インポート公式 SDK 非搭載のため独自実装、互換性の微妙な穴あり
Unityインポート主要 3D 形式、ドラッグ&ドロップで取り込み
Unreal Engineインポート主要 3D 形式、Skeletal Mesh / Animation Sequence に変換
Substance Painterインポート(マテリアル付与)FBX → SP → re-export FBX or glTF
FBX2glTF変換Facebook が公開したコマンドラインコンバータ

Unity-chan のような Unity 公式キャラ素材 は FBX で配布されているのが典型的(メッシュ + リグ + 表情モーフ + 数十個のアニメーションクリップ)。

FBX vs OBJ vs glTF

flowchart LR
    Auth[編集向け] --> FBX
    Auth --> OBJ
    Auth --> USD["USD<br/>(Pixar系)"]
    Run[配信向け] --> Gltf["glTF / glb"]
    FBX -->|変換| Gltf
    OBJ -->|変換| Gltf
形式立ち位置強み弱み
FBX編集向け業界標準アニメーション・スケルトンを丸ごと運べるクローズド、バージョン不整合、サイズ大
OBJ古典的、シンプルテキストで読める、超軽量アニメーション・ボーンなし、メッシュとマテリアルだけ
glTFランタイム配信標準オープン仕様、PBR 標準、Web 親和編集中の往復には情報が足りない
USD映画・大規模シーンレイヤ・参照・大量データに強いPixar 系で重厚

ライセンスと SDK

押さえどころ(カード化候補)

Graph