在three.js中加载OBJ文件

时间:2013-07-24 18:14:32

标签: three.js

我试图通过在three.js中导入OBJ文件来在浏览器上显示圆柱体的简单3D模型。我开始运行three.js的OBJ加载器的简单示例:

https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_obj.html

在本地工作正常。

我尝试将OBJ文件的路径替换为我的路径,但是无法加载。我仔细检查路径,这是正确的。

在Firefox (Crtl + Shift + k)上检查控制台上的错误时,它会显示:Syntax Error并抛出以下错误:

  

[22:59:30.865]错误:WebGL:DrawElements:绑定顶点属性缓冲区的大小不足以容纳绑定元素数组@ http://localhost/~harmanpreet/three.js/build/three.min.js:455

OBJ文件是从BRL-CAD(.g到.obj转换)制作的模型转换而来的。链接到OBJ文件:http://devplace.in/~harman/cyl1_bot_dump.obj

任何人都可以找出问题所在吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您的.obj文件根据规格看起来是正确的,但我建议您使用非缩小的three.js版本,然后查看错误消息周围的代码。

另外你可以尝试用“o”替换obj文件中的“g”(g = group,o = object) - 我不确定three.js如何在内部处理它或者如果它有所作为,但我想尝试不会有什么坏处。

除此之外,错误似乎是在说“我遇到一个超出界限的数组索引”,这意味着一个face(.obj文件中的f)使用的索引高于最高定义的索引,但是你的文件似乎不是这样(.obj索引从1开始,所以一切都应该没问题)。