obj文件是wavefront公司定义的3d模型文本格式数据文件
只支持模型三角面数据和材质信息,无动画功能支持
其中几何信息由.obj文件提供,材质信息由.mtl文件定义
文件以行为单位表示一条数据,可以根据行开头的字符判断后续的内容
其中 # 字符表示注释行
OBJ格式
mtllib filename 材质文件
v 1 1 1 顶点数据
vn 0 1 0 法线
vt 0 1 0 纹理坐标
g Box001 #开始图元(group name),一个obj可含多个group
usemtl wire_224086086 #当前图元所使用材质名
f 1 2 3 4 #四边形,索引起始于1
f 1 2 3 #三角形
f 1/1 2/2 3/3 #顶点索引/纹理索引
f 1//1 2//2 3//3 #顶点索引//法线索引
f 1/1/1 2/2/1 3/3/1 4/4/1 #顶点索引/纹理索引/法线索引
说明:顶点、纹理坐标、法线个数之间没有对应关系,多个点可共用不同的纹理或法线
索引均开始于1。索引可能是负数,表示从尾部索引
另外obj支持曲面等功能,不常用,这里不做介绍
MTL格式
newmtl wire
// Ns 32 #光泽度(1-100)
// Ni 折射率
// d 1 #不透明度(0-1)
// Tr 0 透明度(1-d)
// Tf 1 1 1 滤光投射率、不透明度
// illum 2 光照模型
// Ka 0.8784 0.3373 0.3373 环境光
// Kd 0.8784 0.3373 0.3373 漫反射
// Ks 0.3500 0.3500 0.3500 高光*高光级别/100(可作为反射强度)
// Ke 0.0 0.0 0.0 自发光
// map_Ka C:.jpg
// map_Kd C: b.jpg
map_Ks lemur.tga # specular color texture map
map_Ns lemur_spec.tga # specular highlight component
map_d lemur_alpha.tga # the alpha texture map
map_bump lemur_bump.tga # some implementations use 'map_bump' instead of 'bump' below
详细参考:https://en.wikipedia.org/wiki/Wavefront_.obj_file
http://www.doc88.com/p-6641639818599.html