三维物体,obj文件理解

转载:https://www.cnblogs.com/Taiwantomzhang/p/3993703.html

.obj文件中,每一行都有表明该行意义的标志符。

"v"--点的坐标,顺序为x, y, z;

"vt"--纹理坐标,顺序为x, y;

"vn"--法向量坐标,顺序为x, y, z;

"f"--面所用到的点坐标/纹理坐标/法向量坐标的索引;

"mtllib"--.obj文件用到的material库文件;

"g"--组group的名称;

"usemtl"--一旦使用了该标志符,则在该标志符后面的"f"全部受影响,直到遇到下一个"usemtl";“usemtl”标志符用到的material都是从material库文件中取出的;group里面的"f"可以使用0-N个"usemtl"对面的显示渲染进行控制,当使用了大于1个“usemtl”标志符,程序处理时对于已经读取的"f"很难控制;同时查看obj读取的源码,有的用到了这个标志符,有的没有使用该标志,有的使用了"usemtl"标志符对所读取的"f"面进行分割,本文的处理是使用"usemtl"标志符将"f"面分割为mesh,但是考虑到不同的group可以使用相同的"usemtl”标志(即不同的group都使用了 usemtl AAA),因此将"g"与"usemtl"结合起来,二者的名称作为mesh的名称

猜你喜欢

转载自www.cnblogs.com/chamie/p/12160856.html