unity可移动的Menu界面。碰撞检测问题

Unity movable Menu interface. Problem with collision detection

我认为这很简单,但我还没有找到解决方案。我在 Unity 中有一个用于 VR 的 3D 环境。我在 Worldspace 中有一个 Canvas,你可以像平板电脑一样抓住它并四处移动。为了能够触摸canvas上的按钮,我在控制器的手指尖上添加了一个球体作为带有球体碰撞器的探测器。对于 canvas 上的按钮,我添加了 rigidboys 和一个 boxcollider。如果按钮和手指发生碰撞并执行 onclick.Invoke() 函数,我会处理 onCollisionEnter 事件。

它工作正常,问题是如果我触摸按钮,它们就会开始移动并在环境中漂浮。如果我冻结他们的位置,如果我拖动整个菜单,他们将不会移动。我该如何解决这个问题?

使用 Unity 2019.4.19f1 和 Oculus OVR 插件。

你添加了rigidbody,所以它会是一个物理按钮,它会受到重力、力、阻力、....的影响,所以它是浮动的,因为它是3D的。你可以使用静态刚体来做

只需在 Rigidbody.isKineMatic

好的,我按照 JustARandomWibuuuu 的建议将它们设置为运动学的想法解决了这个问题。如果有人可能有同样的问题。

我已将两者都设置为运动学,并且在项目设置 → 物理 → 联系人配对模式中我必须启用所有联系人。