一、自制OBJ文件
// 我已经解析出来了,可以查找到,v, vt, vn , f ;
但是,有个很麻烦的地方是,网上通常的解析方法也只是查找并保存这些信息而已,这并没有什么用,只有一个什么都没有的模型有什么用呢?
问题:
(1) 你找到的vt 数据,无法分辨哪一块的vt 对应哪一块的贴图?只是一股脑的全部找到并放在某个文件夹下;(**想法:**打开obj文件,根据数据前的名称,把不同部位的数据解析到不同的容器中,当画某个部位时,同时附加法线和纹理,并且把贴图贴上去)
(2)vn 同理;
(3)大部分网上的代码都没有对于vt数据的解析,其实这个也很简单,如果你解析的时候一直提醒vector out of range(vector 越界),请留言我告诉你怎么解决。
OBJ文件记录一个四边形的代码:
v -0.58 0.84 0
v 2.68 1.17 0
v 2.84 -2.03 0
v -1.92 -2.89 0
f 1 2 3 4
让我们来创建一个OBJ文件,不过这一回我们不用3D软件,而是用写字板来创建。打开写字板,把上面的5行代码写上去,可以适当加一点注释。
保存文件为文本格式,文件名为"myObj.obj",。
注意:代码最后一定要按一下回车把光标切换到下一行,就是说加一个换行符(\n)。否则会看到如下错误信息:
// Error: line 1: OBJ file line 5: index out of range. //
// Error: line 1: Error reading file. //