obj文件:为描述静态模型的格式文件= vertex(顶点) + vertex normal(顶点法向向量) + UV(纹理映射坐标) + mtl(材质,纹理)。内容为文本格式,直接使用Notepad++进行编辑。
fbx文件:为描述动态模型的格式文件 = 静态数据 + animation(顶点动画/骨骼动画)。内容为二进制格式,无法直接查看
dae文件:为描述场景的格式文件 = light(光照) + Camera(视角) + 静态数据 + + animation(顶点动画/骨骼动画) 。内容为XML格式,直接使用Notepad++进行编辑。
blend文件:blender操作记录文件,直接使用blender打开。
<1.文件->导出->obj文件进行导出.
<2.导出选项选择:
变换:选择Z朝上,Y向前(影响顶点坐标值顺序,blender是右手坐标系,根据对应3D引擎选择)
几何:选择是否包含UV/是否包含法向向量
以默认标准立方体cube.obj导出文件为例,用NotePad++打开.
<1.v(顶点)
立方体一共有8个顶点并且坐标对称,5-12行描述顶点坐标x,y,z
<2.vt(纹理UV坐标)
立方体有8个顶点,6个面,12个三角形面,12个三角形如果对应纹理贴图完全不相关,那么就会有36个UV映射坐标,实际纹理贴图可能会有衔接公用的点,故根据UV展开方式确定,这里有14个UV映射坐标 8个顶点与之对应
<3.vn(法向向量)
在进行模型渲染时,开启光照效果后,不同点的颜色深浅和明暗程度不同.原理就是根据光照的法向向量和点的法向向量进行矩阵运算获得实际二维颜色值,故vn为点的法向向量.立方体一共有8个顶点,6个面,12个三角形,36个独立渲染点,故应该有36个法向向量,实际去重后有6个不重复法向向量
<4.f(三角形面索引对照表)
如果只提供8个顶点,则可能构成不是立方体的模型.故模型的基本单位为三角形平面.立方体有8个顶点,6个面,12个三角形面,故35-46为12个三角形面描述
如5/1/1 3/2/1 1/3/1表示由三个点构成的三角形面,顶点分别为索引5,3,1的顶点(对应v的顺序),三角形映射UV平面坐标索引1,2,3的UV坐标(对应vt纹理坐标顺序),三角形法向向量为索引为1的法向向量值(对应vn的顺序)