4

我试图通过在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

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

谢谢

4

1 回答 1

0

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

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

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

于 2013-07-24T18:21:24.780 回答