OBJ形式

頂点座標,頂点法線,頂点テクスチャ座標から構成されるポリゴンを記述できる. 頂点座標のみや座標と法線のみなどでの記述も可能である. 以下にOBJデータ形式の中身の例を示す.

g cube
v 0 0 0
v 10 0 0
v 0 10 0
v 10 10 0
v 0 0 10
v 10 0 10
v 0 10 10
v 10 10 10
vt 0 0
vt 0 1
vt 1 0
vt 1 1
vn 0 0 -1
vn -1 0 0
vn 1 0 0
vn 0 -1 0
vn 0 1 0
vn 0 0 1
f 1/1/1 3/2/1 4/3/1 2/4/1
f 1/1/2 5/2/2 7/3/2 3/4/2
f 2/1/3 4/2/3 8/3/3 6/4/3
f 1/1/4 2/2/4 6/3/4 5/4/4
f 3/1/5 7/2/5 8/3/5 4/4/5
f 5/1/6 6/2/6 8/3/6 7/4/6

vから始まる行は頂点座標,vt,vnはそれぞれテクスチャ座標,法線を示し, fから始まる行でポリゴンを構成する頂点番号/テクスチャ座標番号/法線番号を記述する.

また,別に材質ファイル(*.mtl)を用意して,オブジェクトファイル(*.obj)から 読み込むことで表面材質やテクスチャも指定できる. 材質ファイルには,

  • 拡散反射成分 : Kd
  • 鏡面反射成分 : Ks
  • 環境光反射成分 : Ka
  • アルファ値(透過率) : d
  • 発光色 : Tr
  • Shininess : Ni
  • 照明モデル(1で鏡面反射無効, 2で有効) : illum
  • テクスチャ : map_Kd

を記述できる.

サンプル

Blenderで作成した簡単なモデル(材質ファイル付き) : filehuman.zip

ソースコード

読み込み,書き込みを行うC++のサンプルコード : filerx_obj.zip


添付ファイル: filehuman.zip 4427件 [詳細] filerx_obj.zip 3397件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-03-08 (金) 18:06:05