Unity學習筆記(4) 碰撞相關API

2022-02-02 21:57:57 字數 1377 閱讀 2859

unity3d中的碰撞:

在unity中,有普通碰撞體collider和觸發器(trigger)兩種碰撞體,兩個普通碰撞體會發生碰撞並產生力學現象,觸發器則像是個無法觸碰而又真實存在的東西,也會觸發碰撞事件,但另乙個物體會穿過它,碰撞發生的前提是兩碰撞體有一方攜帶剛體(rigidbody)元件。

物體對碰撞體進行處理的三個函式:

void oncollisionenter(collision collision){};//當碰撞體進入當前物體時觸發的**函式

void oncollisionstay(collision collision){};//當碰撞體停留當前物體內時觸發的**函式

void oncollisionexit(collision collision){};//當碰撞體離開當前物體時觸發的**函式

體對觸發器進行處理的三個函式:

void ontriggerenter(collider other){}//當觸發器進入當前物體時觸發的**函式

void ontriggerstay(collider other){}//當觸發器停留在當前物體時觸發的**函式

void ontriggerexit(collider other){}//當觸發器離開當前物體時觸發的**函式

unity2d中的碰撞:

概念和unity3d大致相同

物體對2d碰撞體進行處理的三個函式:

void oncollisionenter2d(collision2d collision){}//當2d碰撞體進入當前物體時觸發的**函式

void oncollisionstay2d(collision2d collision){}//當2d碰撞體停留當前物體內時觸發的**函式

void oncollisionexit2d(collision2d collision){}//當2d碰撞體離開當前物體時觸發的**函式

體對2d觸發器進行處理的三個函式:

void ontriggerenter2d(collider2d other){}//當2d觸發器進入當前物體時觸發的**函式

void ontriggerstay2d(collider2d other){}//當2d觸發器停留在當前物體時觸發的**函式

void ontriggerexit2d(collider2d other){}//當2d觸發器離開當前物體時觸發的**函式

博主在2d遊戲開發的時候遇到幾次碰撞沒有發生,原因基本都是某一方的碰撞體或者剛體(rigidbody)沒有2d字尾。。。。。。。。。。所以不要在2d的專案裡出現3d的元件啊,找一天的bug

unity碰撞,剛體筆記

剛體加力方式一 加了剛體後再加上力的作用,將此指令碼寫好後用刀物件上,這種是在剛體下落的時候給他的物件加力。剛體加力方式二 直接加速度的方式,上面是加力這兒是加速度,效果一樣 3.剛體碰撞檢測 碰撞檢測,要求兩個物體都需要有這個cllrder,第二個條件是 至少有一方是有剛體的 4.在資源asset...

Collision碰撞相關 UE4

原文 如何禁用角色的剛體碰撞檢測collision 禁用actor上所有component的碰撞 mycharacter setactorenablecollision false 設定以後,角色就可以忽視一切障礙物或者剛體來進行移動了,但是這樣會導致 addmovementinput 失效,set...

Unity學習系列筆記2 物理引擎和碰撞

本小節主要是unity物理引擎,剛體碰撞方面的散記。character controller的一些特性 本身不受physics影響,需要接受外力作用時,使用oncharactercolliderhit skin width 最好設定為radius的10 防止角色經常卡住。step offset 對於...