3DCGの世界に足を踏み入れると、「拡張子」という壁にぶつかることがあります。

拡張子とは、ファイル名の後ろにつく「.obj」や「.fbx」といった文字列のこと。
これらは、3Dモデルのデータ形式を示しており、それぞれに得意なことと苦手なことがあります。
ここでは、代表的な3DCGの拡張子とそのメリット・デメリットを、詳しく解説していきます。
.obj(Wavefront OBJ)
「.obj」は、最も古くから使われている3Dモデルの拡張子の一つ。



長年にわたり使われているため、これがある意味第1世代なんだ。
多くの3Dソフトウェアが対応しているため、異なるソフト間でデータをやり取りする際に非常に便利で現在でも素材販売とか多く使用されています。
- 高い互換性:ほとんど全ての3Dソフトウェアが「.obj」形式を読み書き可。異なるソフトウェア間でモデルを共有する際の「共通言語」のような存在です。
- シンプルさ:ジオメトリ情報(頂点、法線、UV座標)をテキスト形式で保存するため、ファイルの中身を直接確認したり、編集したりすることが可能です。データがシンプルなので、エラーが発生しにくいという利点もあります。
- アニメーション非対応:アニメーションやスケルトン(ボーン)、マテリアル情報(色や質感)を保存できません。そのため、モデルの形状データだけをやり取りするのに適しています。
- テクスチャの制約:テクスチャ情報が別ファイルになるため、モデルとテクスチャを一緒に管理する必要があります。
.usd(Universal Scene Description)
「.usd」は、ピクサー・アニメーション・スタジオが開発した拡張子です。
複雑なシーン全体を効率的に管理するために作られました。
複数のモデルやアニメーション、ライティングといった要素を一つのファイルにまとめることができます。
- シーン全体を管理:複数の3Dモデル、アニメーション、テクスチャ、ライティング、カメラ設定などを一つのファイルで管理できるため、大規模なプロジェクトでのデータ管理が非常に効率的です。
- 高い拡張性:新しい機能やデータを柔軟に追加できる設計になっています。将来的な技術の進歩にも対応しやすいです。
- 非破壊編集:元のデータを変更することなく、レイヤーを重ねるように編集ができるため、試行錯誤がしやすく、共同作業にも向いています。
- 複雑な構造:シンプルなモデルのやり取りには、少しオーバースペックかもしれません。その複雑な構造ゆえに、学習コストが高く、使いこなすのが難しいという側面もあります。
- 限定的な互換性:まだ「.obj」や「.fbx」ほど普及しているわけではありません。対応していないソフトウェアも多く、特定の環境でしか使えない場合があります。



これからメタバース開発とかで使うならこの形式が最適解になっていくかもよ
.fbx(Filmbox)
「.fbx」は、オートデスク社が開発した拡張子で、特にゲームや映画制作の現場で広く使われています。
3Dモデルの形状だけでなく、アニメーションやスケルトン、マテリアル情報もまとめて保存できるのが強みです。
- 豊富な情報量:モデルのジオメトリ、アニメーション、ボーン、スキニング、マテリアル、カメラ、ライティングなど、様々な情報を一つのファイルにまとめて保存できます。
- ゲームエンジンとの相性:UnityやUnreal Engineといった主要なゲームエンジンとの互換性が高く、スムーズなデータ連携が可能です。
- オートデスク依存:オートデスク社が開発しているため、他のソフトウェアで完璧な互換性を保つのが難しい場合があります。バージョンによっては、予期せぬエラーが発生することもあります。
- ファイルサイズ:多くの情報を含むため、ファイルサイズが大きくなりがちです。特にアニメーションデータが多いと、その傾向が顕著になります。



けど近年、セキュリティの問題が目立つようになってきたことからこの形式は時代遅れ化になりつつあるみたい。
.vrm(VRM)
「.vrm」は、主に日本のVRコミュニティで使われている、人型アバターに特化した拡張子です。
バーチャルキャラクターを扱うことを目的としており、VtuberやVRチャットなどで広く利用されています。
- 人型アバターに特化:モデルの基本情報(ボーン構造、マテリアル、テクスチャ)に加えて、表情やリップシンク(口の動き)、視線の動きなどの設定をまとめて保存できます。これにより、対応するソフトウェアで簡単にアバターとして利用できます。
- 軽量:モデルを効率的に圧縮するため、ファイルサイズが小さく、読み込みが速いです。
- 高い互換性:VRMに対応した様々なプラットフォーム(VRchat、Clusterなど)で、同じアバターを使い回すことができます。
- 人型以外には不向き:人型アバターに特化しているため、動物やロボット、建物などのモデルには適していません。
- 限定的な用途:VtuberやVR関連の用途以外で使われることはほとんどありません。



補足するとvrmの拡張子はVRM1.0のもの
0.0についてはまた別であるそう。
そしてVtuberでもよく使われるためこの形式は日本で住んでいる限りは必須で覚えておきたいです。
Vtuberとは?


.vox(MagicaVoxel Voxel Model)
「.vox」は、ボクセルアート(立方体のピクセル)に特化した拡張子です。
ボクセル編集ソフト「MagicaVoxel」のネイティブ形式であり、レトロゲームのようなドット絵風の3Dモデルを作成するのに適しています。
- ボクセルアートに最適:ボクセルを一つ一つ積み重ねてモデルを作成するため、独特の温かみやレトロな雰囲気を表現できます。
- シンプル:データの構造がシンプルで、ファイルサイズも小さいです。
- 無料ツールで作成可能:「MagicaVoxel」は無料で使えるため、手軽にボクセルアートを始められます。
- 詳細な表現は困難:ボクセル(立方体)で構成されているため、滑らかな曲線や複雑なディテールを表現するのは難しいです。
- 限定的な互換性:主にボクセルアートを扱うソフトウェアやゲームで使われることが多く、他の一般的な3Dソフトウェアでは直接扱えない場合があり。



このモデルは主にThesand BOXとかで使われるね。
.glTF(GL Transmission Format)
「.glTF」は、ウェブ上で3Dモデルを効率的に扱うために作られた新しい拡張子。
ウェブブラウザやAR/VRアプリケーションでの利用を想定しており、「ウェブのJPEG」とも呼ばれています。
- ウェブに最適:軽量で、JavaScriptなどのウェブ技術と相性が良いため、ウェブサイトやオンラインストアで3Dモデルを表示するのに適しています。
- JSONベース:ファイルがテキストベースのJSON形式で書かれているため、人間が読みやすく、プログラマが扱いやすいという利点があります。
- 豊富な情報量:モデルの形状だけでなく、アニメーション、マテリアル、ライティング情報もまとめて保存できます。
- 限定的な歴史:比較的新しい拡張子なので、歴史の長い「.obj」や「.fbx」に比べると、まだ対応しているソフトウェアが少ない場合があります。
- 仕様が複雑:多くの情報を扱うため、詳細な仕様を理解するには時間がかかります。



国外だとこのモデルがアバターとして使われるケースが多いね。
.iges(Initial Graphics Exchange Specification)
「.iges」は、主にCAD(コンピュータ支援設計)の分野で使われる拡張子です。
曲面やソリッドモデルといった、高精度な形状データをやり取りするのに適しています。
- 高精度なデータ:サーフェス(曲面)情報を含むため、工業デザインや建築分野など、精密なモデリングが必要な場面で重宝されます。
- CADソフト間の互換性:様々なCADソフトウェアで共通して利用できるため、異なるソフトウェア間で設計データをやり取りする際の標準形式となっています。
- 複雑なデータ構造:サーフェス情報を扱うため、データ構造が複雑になりがちです。
- ポリゴンモデルには不向き:「.iges」は、ゲームや映像で使われるポリゴンモデルには不向きです。ポリゴンデータに変換すると、形状が崩れたり、データサイズが大きくなったりすることがあります。
まとめ
3DCGの拡張子は、それぞれが異なる目的で開発されたものです。
どの拡張子が優れている、というわけではなく、用途に合わせて最適なものを選ぶことが重要です。
- 汎用的なやり取りには.obj
- ゲームや映像制作には.fbx
- ウェブでの表示には.glTF
- VtuberやVRには.vrm
といったように、それぞれの特徴を理解して使い分けることで、3DCG制作の効率が格段に上がります。
これから3DCGを始めるあなたは、どの拡張子から触ってみますか?