Unity觸發檢測和碰撞檢測
阿新 • • 發佈:2019-02-20
void OnCollisionEnter(Collision col)
{
Debug.Log("開始碰撞" + col.collider.gameObject.name);
}
void OnCollisionStay(Collision col)
{
Debug.Log("持續碰撞中" + col.collider.gameObject.name);
}
void OnCollisionExit(Collision col)
{
Debug.Log("碰撞結束" + col.collider .gameObject.name);
}
發生碰撞的條件:主動方必須有Rigidbody,發生碰撞的兩個遊戲物件必須有Collider,被動方對於RigidBody可又不可無,引數是表示被動方
void OnTriggerEnter(Collider other)
{
Debug.Log("觸發器開始出發:" + other.gameObject.name);
}
void OnTriggerStay(Collider other)
{
Debug.Log("觸發器檢測中:" + other.gameObject.name );
}
void OnTriggerExit(Collider other)
{
Debug.Log("觸發器結束:" + other.gameObject.name);
}
發生觸發的條件:發生碰撞的物體兩者其中之一有Rigidbody即可,發生碰撞的兩個遊戲物件必須有Collider,其中一方勾選IsTrigger即可,引數是表示被動方