【五十五,模型加载-2 模型文件格式】

Obj和mtl文件

Obj
Obj文件是3D模型文件格式,由Alias|Wavefront公司为3D建模和动画软件Advanced Visualizer开发的一种标准,用于3D软件模型互导。包含数据信息:

  • 顶点坐标信息
  • 顶点的纹理坐标信息
  • 顶点法向量信息

mtl
mtl文件定义材质信息,包含数据信息:

  • 纹理贴图
  • 环境光
  • 镜面光
  • 散射光

Obj文件格式

obj文件中的信息以行为单位表示一条数据,可以根据行开头的字符判断后续数据表达的含义。

关键字 含义 示例
mtllib 使用的材质文件 mtllib [fileName]
v 顶点数据 v 1 1 1
vn 发现数据 vn 0 1 0
vt 纹理坐标信息 vt 0 1 0
g 组名称 g default
usemtl 当前图元使用材质 usemtl Default
f 面信息 【1】 f 1 2 3 4 #四边形 【2】 f 1 2 3 #三角形 【3】f 1/1 2/2 3/3 #顶点/纹理索引 【4】f 1//1 2//2 3//3 #顶点//法线索引 【5】f 1/1/1 2/2/2 3/3/3 #顶点/纹理/法线索引

mtl文件格式

单独一个mtl文件包含多个材质,材质在文件中逐个定义,每一条语句以newmtl开始。

关键字 含义 示例
newmtl 定义材质 newmtl [name]
ka 材质的环境光定义 ka 1.0 1.0 1.0
kd 材质的反射光定义 kd 1.0 1.0 1.0
ks 材质的镜面光定义 ks 1.0 1.0 1.0
map_ka 环境光贴图 map_ka name
map_kd 反射光贴图 map_kd name
map_ks 镜面光贴图 map_ks name

你可能感兴趣的:(【五十五,模型加载-2 模型文件格式】)