OBJ
文件格式是非常简单的。这种文件以纯文本的形式存储了模型的顶点、法线和纹理坐标
和材质使用信息。
OBJ
文件的每一行,都有极其相似的格式。在
OBJ
文件中,每行的格式如
下:
前缀
参数
1
参数
2
参数
3
...
其中,前缀标识了这一行所存储的信息类型。参数则是具体的数据。
OBJ
文件的前
缀可以有:
表
7.2-1 OBJ
文件中的前缀
前缀
说明
v
表示本行指定一个顶点。
此前缀后跟着
3
个单精度浮点数,
分别表示该定点的
X
、
Y
、
Z
坐标值
vt
表示本行指定一个纹理坐标。
此前缀后跟着两个单精度浮点数。分别表示此纹理坐标的
U
、
V
值
vn
表示本行指定一个法线向量。
此前缀后跟着
3
个单精度浮点数,分别表示该法向量的
X
、
Y
、
Z
坐标值
f
表示本行指定一个表面
(Face)
。
一个表面实际上就是一个三角形图元。
此前缀行的参数格式
后面将详细介绍。
usemtl
此前缀后只跟着一个参数。
该参数指定了从此行之后到下一
个以
usemtl
开头的行之间的所有表面所使用的材质名称。
该材质可以在此
OBJ
文件所附属的
MTL
文件中找到具体信
息。
mtllib
此前缀后只跟着一个参数。该参数指定了此
OBJ
文件所使
用的材质库文件
(*.mtl)
的文件路径
我们使用
3DS
Max
创建了一个长方体,并保存为
OBJ
格式。用写字板打开这个
OBJ
文件,可
以看到如下内容:
# Max2Obj Version 4.0 Mar 10th, 2001
#
mtllib ./Box.mtl
g
# object (null) to come ...
#
v -46.508743 -45.052959 50.796341
v 49.442947 -45.052959 50.796341
v -46.508743 -45.052959 -48.019585
v 49.442947 -45.052959 -48.019585
v -46.508743 48.034504 50.796341