3D中的OBJ文件格式详解

参考:

http://blog.csdn.net/u013467442/article/details/50097821

http://www.martinreddy.net/gfx/3d/OBJ.spec

http://www.fileformat.info/format/wavefrontobj/egff.htm

1. 必须要按照obj的格式来解析

2. f 有两种格式:f v1 v2 v3 有 / 的

3. 注意:point index,从 1 开始

4. 严重注意:point 一般存在复用,一个 point 实例会出现在多个 facet 中。因此,遍历 facet list 后对 point 做操作,比如:3d 模型的操作,会导致 point 实例被多次操作,从而导致异常。 解决办法:解析模型文件的时候,使用原来point的 x, y, z 重新 new point,然后添加到 point list 中。这样子,point 就不会重用了。

5. 注意 v,f 的格式问题,空格的数量,不一定是一个,可能是两个空格。

导致问题:正则表达式不好匹配   每一行 split(" ") 拆分时候,与预期结果不一致。

解决办法:正则表达式匹配的时候,先做空格的替换。统一替换为一个空格。

 

posted @ 2017-06-12 11:31  MakeBetter  阅读(799)  评论(0编辑  收藏  举报