如何在A-Frame中为导入的3D对象添加网格对撞机?

时间:2018-03-14 12:59:40

标签: three.js aframe webvr

我正在研究一个从.obj文件加载3D对象的aframe项目。然而,raycaster不适用于导入的对象。我怀疑原因是与内置几何体不同,这些导入的对象没有设置适当的对撞机。是否可以将网格碰撞器添加到通用3D对象中,例如在Unity中?或者由于其他一些可能的原因,raycaster无法对这些物体起作用?

1 个答案:

答案 0 :(得分:1)

Meshes与raycaster合作,所以如果您遇到问题2快速解决方案:

  • 确保网格尺寸确实正确且居中。可能不是,并且边界框不正确,因此您必须查看网格的特定部分才能使其工作。使用检查器可以查看边界框。然后,您可以使用像Blender这样的3D建模软件来修复网格。
  • 边界框可能感觉太小而无法进行自然交互,您可以添加一个不可见的透明对象,例如:一个球体或盒子,然后随着raycaster变化。如果不介意卷上的缺陷,这个解决方案才有意义。

还要确保raycaster的原点和网格之间没有对象!这是一个愚蠢的问题,但有时我们会忘记我们通过使对象透明来添加/删除对象......它们会阻止raycaster与后面的对象进行交互。

PS:除了raycaster之外你想要一个对撞机还有aabb-collider component