「8 Most Common 3D File Formats in 2019」のメモ
- 3Dファイルの基本的な目的は、3D情報をテキストまたは特定のテンプレートを持ったバイナリファイルに込めたものである。
- 3D情報とは、Geometry, Appereance, SceneそしてAnimationsがある。3Dモデルのファイルの中では一部しか込められないものもある(例えばSTL)
- GeometryはModelの図形の情報を持つ。
- AppearanceはModelの色、テクスチャの情報、マテリアルのタイプなどがある。
- Sceneは3Dモデル以外に光の位置、カメラ、また補助のオブジェクトの情報を持つ。
- Animationは3Dモデルのアニメーションを記す。
Neutralな3Dモデルのファイルが一番
- それぞれの3Dツールからの独占的なファイル以外に、オープンソースか独占的でない3Dファイルもある。代表的な例が
STL
とCOLLADA
。この2つのファイルは主にCADで使われる。
3D File Format | Type |
---|---|
STL | 独立 |
OBJ | ASCII形式のファイルだけ独立 |
FBX | 独占的だが、広く使われている |
COLLADA | 独立 |
3DS | 独占 |
IGES | 独占 |
STEP | 独占 |
VRML/X3D | 独占 |
glTF | 独立 |
どれを使うか
- 3Dプリンティングをさせる時には、プリンター自体の解像度に限界があって、そして一つの色しか使うことが多いので大体は
STL
を使うらしい。STL
はGeometryの情報しかセーブ出来ないようだ。OBJ
の場合にはSTL
にAppearanceの情報までセーブすることが出来る。
- ゲームかレンダリングさせる場合には、アニメーションとAppearanceが豊かじゃないとならないため、
FBX
またはCOLLADA
が主流である。(glTF
というのも全て支援しているが、Faceが三角形に限られるというのが短所) IGES
かSTEP
はエンジニアリング(飛行機など)に使われるそうだ。ものすごく精密なのが長所らしい。
各フォーマットの特徴
OBJ
- ジオメトリを生成する時にApproximateかPreciseか選択することが出来る。Approximateの場合、Faceが三角形に限らなくても良い。Preciseの場合には表現が
NURBS
を使用する。(NURBS
はB-Spline
の変種) - Appearanceの支援をしている。しかし別途のファイル(
.MTL
)として情報をセーブしているし、.OBJ
ではその.MTL
のパスをしてしているだけである。 - ASCIIの
.OBJ
ファイルはオープンソースである。
FBX
- AutoDeskからの独占的なフォーマットで、今は多くのゲームか映画業界などで使われている。
- ジオメトリ、見た目、そしてスケルトンアニメーション、Morphsまで支援している。
- バイナリとASCII両方支援している。
COLLADA
.FBX
とは違って、Khronos Groupから管理している中立(独立)性のフォーマットである。.FBX
が支援している機能は全て支援しているし、物理に関する値もセーブ出来る。- XMLマークアップ言語を使用して値をセーブしている。
- しかし
.FBX
よりは人気度が低い。