在另一个物体的对撞机

时间:2017-03-15 12:51:55

标签: c# unity3d virtual-reality

我有一些相当简单的代码,允许我抓取,移动和放弃对象(在这种情况下,“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 个答案:

答案 0 :(得分:2)

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

  1. 输入触发器并将其设置为objectTouching
  2. 抓住objectTouching&移动
  3. 输入另一个触发器,将objectTouching设置为其他触发器,仍然抓住上一个objectTouching
  4. 释放,尝试释放当前的objectTouching,这是您输入的最后一个触发器 - 而不是抓取的对象。