Unity 3D碰撞檢測

2021-10-01 13:43:25 字數 1629 閱讀 4716

被呼叫的函式

碰撞器與觸發器

被呼叫的函式

==以上兩個碰撞不能將各自的函式或引數改變,否則將出現以下錯誤==

在unity3d中節點加入某某collider 2d元件則這個節點就是碰撞器

碰撞器分類:

1.box collider 2d:矩形碰撞器

2.circle collider 2d:圓形碰撞器

3.polygon collider 2d:多邊形碰撞器

4.edge collider 2d:邊緣碰撞器

碰撞與觸發器相碰撞時

有三種狀態:1.碰撞開始 2.碰撞保持 3.碰撞結束
被呼叫的函式

兩個物體將會遍歷自己上的元件的指令碼上的三個方法

oncollisionenter2d(collision2d c)

oncollisionstay2d(collision2d c)

oncollisionexit2d(collision2d c)

//碰撞開始

void

oncollisionenter2d

(collision2d c)

debug.

log(

" oncollisionenter2d");

}//碰撞保持

void

oncollisionstay2d

(collision2d c)

//碰撞結束

void

oncollisionexit2d

(collision2d c)

如果兩個碰撞器中有乙個碰撞器的collider元件的 is trigger 被勾選,則此碰撞器就成為了觸發器,此時兩物體碰撞將不會產生任何的變化,除非設定了響應事件

: 以box collider 2d為例

碰撞與觸發器相碰撞時

有三種狀態:1.碰撞開始 2.碰撞保持 3.碰撞結束
被呼叫的函式

兩個物體將會遍歷自己上的元件的指令碼上的三個方法

ontriggerenter2d(collider2d c)

ontriggerstay2d(collider2d c)

ontriggerexit2d(collider2d c)

//1.碰撞開始

void

ontriggerenter2d

(collider2d c)

}//2.碰撞保持

void

ontriggerstay2d

(collider2d c)

//3.碰撞結束

void

ontriggereixt2d

(collider2d c)

這個函式也不會被呼叫

unity3d碰撞檢測

具體的一些,可以看 unity3d的 manual refrernce的東西,有幾個 在後面可以參考 幾個型別碰撞器 1.靜態碰撞器 就是只有碰撞器,但沒有剛體的 2.剛體碰撞器 帶rigidbody的碰撞器,這個是最基本的碰撞器 3.運動學剛體碰撞器 帶rigidbody,而且rigidbody的...

Unity3d 碰撞檢測

unity3d 主要由trigger和collison 兩種碰撞檢測 1 檢測trigger 雙方都有collider。雙方至少有乙個rigidbody 任意一方都可以 有乙個trigger 任意一方都可以 若只有乙個rigidbody,則碰撞時,該rigidbody一定要是運動的。碰撞後發出的on...

Unity3D碰撞檢測的方法

1.需要在碰撞物體上加collider,如果將collider的istrigger打上勾的話就可以使用如下方法 private void ontriggerenter collider other 檢測函式,並將檢測的結果放入other變數中.離開碰撞區域的函式如下 private void ont...