0xAA55 发表于 2014-1-26 18:58:01

【3D】3D模型OBJ文件(Wavefront的OBJ,不是COFF的OBJ)格式

这种3D的OBJ文件非常简单,是文本格式,可以直接用记事本打开修改。因为是文本格式,所以涉及到语法的问题。它的语法是以一个或多个不分大小写的字母开头表示定义顶点、法线、纹理坐标等信息,后面是数字来表示数值。
要注意的是它的FVF不是固定的。每个语法都只占一行,所以打开OBJ只需判断行首的单词就行。
V:定义顶点
VN:定义法线
VT:定义纹理坐标
P:定义顶点
L:定义线段、折线
F:定义多边形
G:定义组
S:定义平滑组
O:定义对象
mtllib:引入材质库文件。
usemtl:使用材质
语法举例如下:# 注释
V 顶点座标X 顶点座标Y 顶点座标Z [顶点座标W]
VN 法线方向X 法线方向Y 法线方向Z [法线方向W]
VT 纹理座标X 纹理座标Y [纹理座标Z] [纹理座标W]
P 顶点索引
L 顶点索引1 顶点索引2 [顶点索引3,...,顶点索引N]
F 顶点索引1/法线索引1/纹理索引1 顶点索引2/法线索引2/纹理索引2 顶点索引3/法线索引3/纹理索引3 [顶点索引4/法线索引4/纹理索引4,...,顶点索引N/法线索引N/纹理索引N]
G 组名
S 平滑组号
O 对象名
MTLLIB "MTL文件路径"
USEMTL 材质名OBJ文件不带动画。只能定义静态的资源。OBJ的兼容性很好,3DSMAX和MAYA都能导入OBJ文件。不过因为它是以文本存储的信息,读取可能比较慢。
页: [1]
查看完整版本: 【3D】3D模型OBJ文件(Wavefront的OBJ,不是COFF的OBJ)格式