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

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