在另一个物体的碰撞器中时不能放开一个物体

Cannot let go of an object when in another object's collider

我有一些相当简单的代码,可以让我抓取、移动和放开物体(在这种情况下,"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;
    }
}

这按预期工作。但是,当 controller/cube 位于盒子对撞机(标记为触发器)内时,我想放开立方体时会出现问题。我不能放手,立方体变成 'stuck' 到控制器。我做错了什么?

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

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