OBJ文件格式简介
2017-04-07 16:20
274 查看
Cube.obj
mtllib cube.mtl
g default
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.998008 0.998008
vt 0.001992 0.998008
vt 0.998008 0.001992
vt 0.001992 0.001992
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
s 1
g pCube1
usemtl file1SG
f 1/1/1 2/2/2 3/3/3
f 3/3/3 2/2/2 4/4/4
s 2
f 3/13/5 4/14/6 5/15/7
f 5/15/7 4/14/6 6/16/8
s 3
f 5/21/9 6/22/10 7/23/11
f 7/23/11 6/22/10 8/24/12
s 4
f 7/17/13 8/18/14 1/19/15
f 1/19/15 8/18/14 2/20/16
s 5
f 2/5/17 8/6/18 4/7/19
f 4/7/19 8/6/18 6/8/20
s 6
f 7/9/21 1/10/22 5/11/23
f 5/11/23 1/10/22 3/12/24
上面这个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,包含三组索引,构成了一个面。
mtllib cube.mtl
g default
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.001992 0.001992
vt 0.998008 0.001992
vt 0.001992 0.998008
vt 0.998008 0.998008
vt 0.998008 0.998008
vt 0.001992 0.998008
vt 0.998008 0.001992
vt 0.001992 0.001992
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
s 1
g pCube1
usemtl file1SG
f 1/1/1 2/2/2 3/3/3
f 3/3/3 2/2/2 4/4/4
s 2
f 3/13/5 4/14/6 5/15/7
f 5/15/7 4/14/6 6/16/8
s 3
f 5/21/9 6/22/10 7/23/11
f 7/23/11 6/22/10 8/24/12
s 4
f 7/17/13 8/18/14 1/19/15
f 1/19/15 8/18/14 2/20/16
s 5
f 2/5/17 8/6/18 4/7/19
f 4/7/19 8/6/18 6/8/20
s 6
f 7/9/21 1/10/22 5/11/23
f 5/11/23 1/10/22 3/12/24
上面这个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,包含三组索引,构成了一个面。
相关文章推荐
- OBJ文件格式简介
- OBJ文件格式简介
- OBJ材质文件MTL格式分析
- Linux下的ELF文件格式简介
- 如何将SolidWorks文件另存为.obj文件及如何打开.obj格式文件
- 开发工具文件格式简析(.suo、.user、.obj、……)(一)(待续)
- OBJ文件格式分析工具: objdump, nm,ar
- 3D模型中obj文件格式解析
- 3D模型文件格式之OBJ详解
- HDF5 文件格式简介
- BMP、GIF和JPEG文件格式简介及相互转换
- ALLEGRO封装文件格式简介
- HDR文件格式简介及其读写函数
- OBJ 文件格式
- 3D中的OBJ文件格式详解
- Linux下的ELF文件格式简介
- HDR文件格式简介
- 3D中的OBJ文件格式详解
- MD2文件格式简介
- XML文件格式简介