在Unity3D中如何检测碰撞碰撞并留在其他碰撞器中?

时间:2015-04-15 03:11:13

标签: unity3d

我需要检查球体对撞机是否仍然留在网格对撞机中。 现在我用过:

void OnCollisionEnter(Collision info)
{
    Debug.Log("enter");
}
void OnCollisionStay(Collision info)
{
    Debug.Log("stay");
}

void OnCollisionExit(Collision info)
{
    Debug.Log("out");
}

这是场景:

onCollisionStay()将按帧执行,但是当场景出现之前,Debug不会记录继续,而是" Out"。

所以我需要知道为什么Stay事件不停留以及如何检测一个碰撞器

留在另一个内部并触摸?

2 个答案:

答案 0 :(得分:0)

增加球体对撞机的大小或使用“碰撞停留”功能中的“延迟”选项。你的问题有点笨拙,你想做什么,清楚地告诉它。

答案 1 :(得分:0)

你能提供更多关于网格对撞机的细节吗?碰撞器也可能很小,并且在某些时候,球体的一部分(不是完整的球体,所以你认为OnCollisionStay应该仍然被调用)从网格对撞机中走出来,从而激活OnCollisionExit(),但由于未回调OnCollisionEnter(),因此永远不会再调用OnCollisionStay()。

也许你可以检查一下。