W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Unity 3D 中,檢測碰撞發(fā)生的方式有兩種:
在很多游戲引擎或工具中都有觸發(fā)器,它被用來觸發(fā)事件。
例如,在游戲中的劇情里,玩家通過某個(gè)任務(wù)道具召喚了任務(wù)相關(guān)的 NPC 或者可擊殺的怪物,就可以用觸發(fā)器來實(shí)現(xiàn)。
當(dāng)綁定了碰撞體的游戲?qū)ο筮M(jìn)入觸發(fā)器區(qū)域時(shí),會(huì)運(yùn)行觸發(fā)器對(duì)象上的 OnTriggerEnter 函數(shù)
,同時(shí)需要在檢視面板中的碰撞體組件中勾選 IsTrigger 復(fù)選框
。
觸發(fā)信息檢測使用以下 3 個(gè)函數(shù):
MonoBehaviour.OnTriggerEnter
(Collider collider),當(dāng)進(jìn)入觸發(fā)器時(shí)觸發(fā)。MonoBehaviour.OnTriggerExit
(Collider collider),當(dāng)退出觸發(fā)器時(shí)觸發(fā)。MonoBehaviour.OnTriggerStay
(Collider collider),當(dāng)逗留在觸發(fā)器中時(shí)觸發(fā)。Unity 3D 中的碰撞體和觸發(fā)器的區(qū)別在于:
- 碰撞體是觸發(fā)器的載體。
- 觸發(fā)器只是碰撞體的一個(gè)屬性。
如果既想要檢測到物體的接觸,又不想讓碰撞檢測影響物體移動(dòng),或者要檢測一個(gè)物體是否經(jīng)過空間中的某個(gè)區(qū)域,這時(shí)就可以用到觸發(fā)器。
例如,碰撞體適合模擬汽車被撞飛、皮球掉在地上又彈起的效果,而觸發(fā)器適合模擬人站在靠近門的位置時(shí)門自動(dòng)打開的效果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: