1. 程式人生 > 其它 >用blender分析OBJ檔案格式簡介

用blender分析OBJ檔案格式簡介

使用blender3.0軟體生成的盒子,儲存成 box.obj  ,用記事本開啟格式如下。

# Blender v3.0.0 OBJ File: ''
# www.blender.org
mtllib box.mtl
o 立方體
v -1.000000 -1.000000 1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v -1.000000 1.000000 -1.000000
v 1.000000 -1.000000 1.000000
v 1.000000 1.000000 1.000000
v 1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -1.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000 vt 0.375000 1.000000 vt 0.125000 0.500000 vt 0.125000 0.750000 vt 0.875000 0.500000 vt 0.875000 0.750000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl None s off f 1/1/1 2/2/1 4/3/1 3/4/1 f 3/4/2 4/3/2 8/5/2 7/6/2 f 7/6/3 8/5/3 6/7/3 5/8/3 f 5/8/4 6/7/4 2/9/4 1/10/4 f 3/11/5 7/6/5 5/8/5 1/12/5 f 8/5/6 4/13/6 2/14/6 6/7/6

上面這個obj檔案描述了一個立方體。包括8個頂點24個紋理座標和法向量,12個面(三角形)。obj檔案中,幾何實體必須以"V”、"VT”、"VN”或"F”開頭,一個幾何實體佔據一行。所以在解析obj檔案的時候,若一行不是以V\VT\VN\F這幾個字母開頭,就可以忽略掉這行。

下面是幾個字母代表的幾何實體型別:

V:代表頂點。格式為V X Y Z,V後面的X Y Z表示三個頂點座標。浮點型

VT:表示紋理座標。上面的立方體有24個紋理座標,因為每個三角形面的三個頂點,都需要指定一個紋理座標。格式為VT TU TV。浮點型

VN:法向量。同樣,上面立方體也有24個法向量,因為每個三角形的三個頂點都要指定一個法向量。格式為VN NX NY NZ。浮點型

F:面。面後面跟著的整型值分別是屬於這個面的頂點、紋理座標、法向量的索引。面的格式為:

f Vertex1/Texture1/Normal1 Vertex2/Texture2/Normal2 Vertex3/Texture3/Normal3

比如這樣一行索引f 7/9/21 1/10/22 5/11/23,包含三組索引,構成了一個面。