OBJファイルの基本構成と紹介
OBJファイルとは?3Dの図形を保存するファイル
3Dモデルを作るとき、「どんな形か?」「どんな面か?」という情報が必要です。
OBJ(オブジェイ)ファイルは、その形の情報を保存するファイルです。テキスト形式なので、メモ帳でも中身を見ることができます。
OBJファイルの良いところ
- 読みやすい:テキスト形式で中身が見える。
- 多くのソフトが対応:Blender、Maya、Unityなど。
- パーツごとに管理できる:形(OBJ)と色・質感(MTL)を分けて保存できる。
OBJファイルの基本構成
OBJファイルには、次のような情報が書かれています:
v 0.0 1.0 0.0 ← 点(バーテックス)
vn 0.0 0.0 1.0 ← 法線ベクトル(ノーマル)
vt 0.5 1.0 ← テクスチャ座標
f 1/1/1 2/2/1 3/3/1 ← 面(フェイス)
記号の意味
v
:頂点(ちょうてん)。3D空間での位置を表す。
vn
:法線ベクトル。面の向きを示す。光の当たり方などに使う。
vt
:テクスチャ座標。2D画像を3Dモデルに貼るときの位置。
f
:面。3つ以上の v
を使って三角形や四角形の面を作る。
f 1/1/1
はどう読む?
これは「頂点1」「テクスチャ座標1」「法線ベクトル1」の組み合わせを意味します。f 1/1/1 2/2/1 3/3/1
*は3つの頂点をつなげて、1つの面を作っている例です。
テクスチャとMTLファイル
OBJファイルには、色や質感の情報は直接含まれていません。
それらの情報は、別ファイル MTL(Material Template Library)
に書かれています。
OBJファイルの中には、次のような記述があります:
mtllib model.mtl ← MTLファイルを読み込む
usemtl red_material ← どのマテリアルを使うか
MTLファイルには、次のような情報が記載されます:
newmtl red_material
Kd 1.0 0.0 0.0 ← 拡散反射(赤色)
map_Kd texture.png ← テクスチャ画像
主なパラメータ
newmtl
:マテリアル名(名前)Kd
:色の情報(R G B)map_Kd
:使う画像ファイルの名前
まとめ
OBJファイルは、3Dモデルの形や構成を記録する基本的なフォーマットです。
v
→ 頂点の座標(X Y Z)vn
→ 法線ベクトル(向き)vt
→ テクスチャ座標(U V)f
→ 面(どの点をつなぐか).mtl
→ 色・質感・画像などの情報を持つ別ファイル
OBJファイルとMTLファイルを組み合わせれば、形も見た目もわかる3Dモデルになります。
3Dを始めたい人にとって、OBJはとてもわかりやすい入門形式です。