Unity3d碰撞檢測中碰撞(zhuàng)器與觸發器的概念(niàn)
要產生碰撞必須為遊戲對象添加剛體(Rigidbody)和碰撞器,剛體可(kě)以讓物(wù)體(tǐ)在物(wù)理影響下運動。碰撞體是物理組件的(de)一類(lèi),它要與剛體一起(qǐ)添加到遊戲對象上才能觸發碰撞。如果兩個剛體相互撞在(zài)一起,除非兩個對象有碰撞體(tǐ)時(shí)物理引擎才會計算碰撞,在物理模擬中,沒有碰撞體(tǐ)的剛體會彼此相互穿過。

為了驗(yàn)證碰(pèng)撞器與觸發器的區別,現設計一個簡單的遊(yóu)戲,讓小汽車與小球發生(shēng)碰撞。新建一個C#腳本文(wén)件,把它拖(tuō)給小汽車對象,雙擊該(gāi)腳本文件進入腳本(běn)編輯器,在該腳本中加入如下兩個方法,並分別設(shè)置一個斷點:
// 開始接觸void OnTriggerEnter(Collider collider) {
Debug.Log("開始接觸:" + collider.gameObject.name);
//Debug.Log (collider.gameObject.name);
}
// 接觸持續中void OnTriggerStay(Collider collider) {
Debug.Log("接觸持續中");
}
// 接觸(chù)結束void OnTriggerExit(Collider collider) {
Debug.Log("接觸結束");
}
// 碰撞開始void OnCollisionEnter(Collision collision) {
var name = collision.collider.name;Debug.Log("碰撞物: " + name);
//var tag = collision.collider.tag;//Debug.Log("Tag is " + tag);
}
// 碰撞持續(xù)中void OnCollisionStay(Collision collision) {
//TODO:
}
// 碰撞結束void OnCollisionExit(Collision collision) {
//TODO:
}
觸發器:沒有作用(yòng)力(lì),如人站在靠近(jìn)門的位置,門自動(dòng)打開
- 上一篇(piān):unity的碰撞檢測詳細解釋 2018/3/5
- 下一篇:WIN 7 WIN10不能安裝設備驅動的解決(jué)方法 2018/3/4