在另一个物体的碰撞器中时不能放开一个物体
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' 到控制器。我做错了什么?
由于看不到您的代码,我将做出一些假设。
这就是我猜测正在发生的事情:
- 输入触发器并将其设置为
objectTouching
- 抓住
objectTouching
并四处走动
- 输入另一个触发器,将
objectTouching
设置为其他内容,仍然抓取之前的 objectTouching
- Release,尝试释放当前对象Touching,这是您输入的最后一个触发器 - 不是抓取的对象。
我有一些相当简单的代码,可以让我抓取、移动和放开物体(在这种情况下,"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' 到控制器。我做错了什么?
由于看不到您的代码,我将做出一些假设。 这就是我猜测正在发生的事情:
- 输入触发器并将其设置为
objectTouching
- 抓住
objectTouching
并四处走动 - 输入另一个触发器,将
objectTouching
设置为其他内容,仍然抓取之前的 objectTouching - Release,尝试释放当前对象Touching,这是您输入的最后一个触发器 - 不是抓取的对象。