*OBJ形式 [#bfa1c353]
頂点座標,頂点法線,頂点テクスチャ座標から構成されるポリゴンを記述できる.
頂点座標のみや座標と法線のみなどでの記述も可能である.
以下に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

を記述できる.

*サンプル [#kda6c7e3]
Blenderで作成した簡単なモデル(材質ファイル付き) : &ref(human.zip);

*ソースコード [#y2d4f95f]
読み込み,書き込みを行うC++のサンプルコード : &ref(rx_obj.zip);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS