复合游戏对象在进行碰撞检测时,脚本挂在父物体身上的时候,如果带碰撞器的子物体对象,也碰到了检测对象,我们碰撞检测会执行多次。![左边为要进行碰撞检测的复合物体](https://img-blog.csdn.net/20161130181627478)
代码为:using UnityEngine;
using System.Collections;
public class Test02 : MonoBehaviour {
static int number;
void OnTriggerStay(Collider col)
{
if(col.transform.name == "AAAAA")
{
if(Input.GetKeyDown(KeyCode.A))
{
number++;
Debug.Log(number);
}
}
}
}
很正常的碰撞检测,但是碰撞条件满足之后,每按下一次A键时,碰撞检测执行了两次。父物体下面有多个子物体的时候,碰撞检测就执行(父物体+子物体)的数量和的次数。
可以通过勾选掉子对象的碰撞器开关可以进行避免。