在另一个对象的碰撞体中无法放开一个对象



我有一些相当简单的代码,允许我抓取、移动和放开对象(在这种情况下,"LoopCubes"是我唯一希望能够拿起的东西:

public void grab(object sender, ClickedEventArgs e)
{
    if ((objectTouching != null) && objectTouching.CompareTag("LoopCube") == true)
    {
        objectTouching.gameObject.transform.SetParent(gameObject.transform);
    }
}
//Letting go of grip
public void releaseGrab(object sender, ClickedEventArgs e)
{
    if (objectTouching != null)
    {
        objectTouching.gameObject.transform.parent = null;
    }
}

这按预期工作。但是,当控制器/立方体位于盒子碰撞器(标记为触发器(内时,我想放开立方体时会出现问题。我无法放手,立方体"卡"在控制器上。我做错了什么?

由于我看不到您的代码,因此我将做出一些假设。这就是我猜测正在发生的事情:

  1. 输入触发器并将其设置为objectTouching
  2. 抓住objectTouching并四处走动
  3. 输入另一个触发器,该触发器将objectTouching设置为其他内容,但仍具有上一个对象触摸
  4. 释放,
  5. 尝试释放当前对象触摸,这是您输入的最后一个触发器 - 而不是抓取的对象。

最新更新