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

為了驗證碰撞器與觸發器的區別,現設計一(yī)個簡(jiǎn)單的遊戲,讓小汽(qì)車與小(xiǎo)球發生(shēng)碰撞。新建一個C#腳本文件,把它拖給小汽車對象,雙擊該腳本文(wén)件(jiàn)進入腳本編輯器,在該腳本中加入如下兩個方法,並分別設置一個斷點:
// 開始接觸void OnTriggerEnter(Collider collider) {
Debug.Log("開始(shǐ)接觸:" + collider.gameObject.name);
//Debug.Log (collider.gameObject.name);
}
// 接觸持續中void OnTriggerStay(Collider collider) {
Debug.Log("接觸持續中");
}
// 接(jiē)觸結(jié)束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);
}
// 碰撞持續中void OnCollisionStay(Collision collision) {
//TODO:
}
// 碰撞結束void OnCollisionExit(Collision collision) {
//TODO:
}
觸發器:沒有(yǒu)作用力,如人站(zhàn)在靠近門(mén)的位置(zhì),門自動打開
- 上一篇:unity的(de)碰(pèng)撞檢測詳細解釋 2018/3/5
- 下一篇:WIN 7 WIN10不能安(ān)裝設備驅動的解決方法 2018/3/4