使用Three.js计算静态.OBJ加载后的边界球体

使用Three.js计算静态.OBJ加载后的边界球体,three.js,.obj,Three.js,.obj,我得到了以下代码,用于将一个简单的、没有动画的.OBJ和一个.MTL加载到Three.js中。它确实非常简单,工作也很好,但当我使用computeBoundingSphere()添加行时,它失败了,出现了一个“TypeError:object.computeBoundingSphere不是函数”: 问题是,我找不到回调返回的event.content可能是什么类型的对象,因此我找不到如何将computeBoundingSphere()函数应用于它。最后我自己找到了: -加载程序返回的对象是Obj

我得到了以下代码,用于将一个简单的、没有动画的.OBJ和一个.MTL加载到Three.js中。它确实非常简单,工作也很好,但当我使用computeBoundingSphere()添加行时,它失败了,出现了一个“TypeError:object.computeBoundingSphere不是函数”:


问题是,我找不到回调返回的event.content可能是什么类型的对象,因此我找不到如何将computeBoundingSphere()函数应用于它。

最后我自己找到了:
-加载程序返回的对象是Object3D,
-因此,它有两个子项:网格和材质,
-因此,您必须找到第一个子对象,然后提取其几何体,然后计算边界球体

它给出了以下行:

object.children[0].geometry.computeBoundingSphere();

终于自己发现了:
-加载程序返回的对象是Object3D,
-因此,它有两个子项:网格和材质,
-因此,您必须找到第一个子对象,然后提取其几何体,然后计算边界球体

它给出了以下行:

object.children[0].geometry.computeBoundingSphere();

我可以尝试对象上是否有.geometry或.mesh属性…它似乎可以是Object3D,我将尝试遵循此路径…我可以尝试对象上是否有.geometry或.mesh属性…它似乎可以是Object3D,我将尝试遵循此路径…您应该将此标记为答案,通过这种方式,问题被标记为已完成。嗨,Tomdemyt,我会尽快完成,但只会在明天^-^我回答了我自己的问题,所以我必须在回答和完成标记之间等待2天。昨天,当我尝试时,我了解到…你应该将此标记为答案,这样问题就被标记为已完成。嗨,Tomdemyt,我会尽快完成,但只有明天。^-^我回答了我自己的问题,所以我必须在答案和已完成标记之间等待2天。昨天,当我试着。。。