首页 > 解决方案 > 如何使用 Vuforia 使 GameObjects 使用物理来相互交互?

问题描述

我正在将 Vuforia 用于 AR 学校项目,并正在尝试制作 Roll a Ball 游戏。然而,尽管地面和球都有碰撞体,但球还是会不断地从地面下落。球如何与地面相互作用?

标签: unity3dvuforiagameobject

解决方案


通常,您总是需要至少一个Rigidbody才能通过物理引擎获得碰撞。

ARigidbody 是实现物理行为的主要组件GameObject

您可能会使用的是移动对象上的运动学。 Rigidbody

这是一个附有碰撞器和运动刚体的游戏对象(即,刚体的 IsKinematic 属性已启用)。您可以通过修改其变换组件从脚本中移动运动学刚体对象,但它不会像非运动学刚体那样响应碰撞和力。运动学刚体应该用于偶尔可以移动或禁用/启用的碰撞器,但在其他方面应该表现得像静态碰撞器。这方面的一个例子是滑动门,它通常应该作为一个不可移动的物理障碍,但可以在必要时打开。与静态对撞机不同,移动的运动刚体将对其他物体施加摩擦,并在它们接触时“唤醒”其他刚体。

即使在不动时,运动学刚体对撞机也具有与静态对撞机不同的行为。例如,如果对撞机设置为触发器,那么您还需要向其添加刚体,以便在脚本中接收触发器事件。如果您不希望触发器受重力影响或受到物理影响,则可以在其刚体上设置 IsKinematic 属性。

有关详细信息,请参阅Unity 手册 - 碰撞器,尤其是章节Collider InteractionsCollision action matrix


推荐阅读