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 對於...