什么是碰撞器?
描述了物體可被碰撞的邊界,以及碰撞過程中相互影響效果。
碰撞效果:
兩個游戲?qū)ο笈鲈谝黄?,通過物理引擎產(chǎn)生類似現(xiàn)實的效果
碰撞器的種類:
1、盒碰撞器(Box Collider)
2、橢圓碰撞器(Sphere Collider)
3、膠囊碰撞器(Capsule Collider)
4、車輪碰撞器(Wheel Collider)專用于車輛
5、網(wǎng)格碰撞器(Mesh Collider)
6、地形碰撞器(Terrain Collider)
1、盒碰撞器(Box Collider)
盒子碰撞器是一個立方體外形的基本碰撞體,該碰撞體可以調(diào)整為不同大小的長方體,可以做門,墻等
2、橢圓碰撞器(Sphere Collider)
橢圓碰撞器是一個基本球形的基本碰撞體,球形碰撞體的三維大小可以均勻的調(diào)節(jié),適用于落石,球形障礙物
3、膠囊碰撞器(Capsule Collider)
是由一個圓柱體和與其相連的兩個半球體組成
4、車輪碰撞器(Wheel Collider)
是一種針對地面車輛的特殊碰撞體,有內(nèi)置的碰撞檢測、車輪物理系統(tǒng)及有滑胎摩擦的參考體。
5、網(wǎng)格碰撞器(Mesh Collider)
通過獲取網(wǎng)格對象并在其基礎(chǔ)上構(gòu)建碰撞碰撞。更加精細,但是會使用更多系統(tǒng)資源。開啟Convex參數(shù)的網(wǎng)格碰撞體才可以與其他網(wǎng)格碰撞體發(fā)生碰撞
通常兩個網(wǎng)格碰撞體之間不會發(fā)生碰撞,但是它們都可以與基本碰撞體發(fā)生碰撞如果要讓它發(fā)生碰撞:開啟Convex屬性
1.碰撞的方法
****球跟膠囊的代碼****
****情形一****
當(dāng)兩個游戲?qū)ο髶碛袆傮w和碰撞器,不管腳本掛哪個游戲?qū)ο蠖伎梢赃M入Oncollision,兩者都掛在碰撞器腳本都會調(diào)用各自身腳本上的OnCollision方法。
****情形二****
碰撞體球帶有剛體,有碰撞器,有腳本,一開始就會進入自身的碰撞器方法打印與地面的接觸。
被碰撞物膠囊有碰撞器,有腳本,但是沒有剛體,一開始不會進入自身的碰撞器方法。
當(dāng)兩個物體發(fā)生碰撞,兩者腳本中的碰撞器方法都會被觸發(fā)打印
打印結(jié)果為:
首先一開始發(fā)現(xiàn)只有有剛體的球打印了自己的碰撞器方法
當(dāng)球碰到膠囊的時候兩者都觸發(fā)打印
****情形三****
碰撞體球帶有剛體,有碰撞器,有腳本,一開始就會進入自身的碰撞器方法打印與地面的接觸。
被碰撞物有腳本,沒有剛體(有剛體也是一樣)跟碰撞器,不會打印任何方法
一開始打?。?/p>
二者相碰,擁有剛體與碰撞器并且身上有碰撞器方法的小球遇到?jīng)]有碰撞器的膠囊(不管有沒有剛體都一樣1)會直接穿過去。
****情形四****
球與膠囊都只有碰撞器跟腳本,沒有剛體
打印結(jié)果:
當(dāng)兩者沒有剛體而只有碰撞的時候,兩者是不會發(fā)生碰撞的,互相穿過。
因此二者都沒有打印結(jié)果,是空的
最終結(jié)論:
1、只要有剛體有碰撞器,并且與其他碰撞器碰撞就會進入自身的碰撞器方法2、沒有剛體,有碰撞器的物體被一個擁有剛體的碰撞器碰撞,都會調(diào)用自身的碰撞器方法。3、沒有剛體的兩個碰撞器相撞不會調(diào)用任何碰撞器方法
最終結(jié)論:
碰撞器(Collider)不需要剛體(Rigidbody)
剛體(Rigidbody)要發(fā)生碰撞,一定需要碰撞器(Collider)
碰撞器決定了碰撞發(fā)生時的邊界條件
剛體決定了碰撞發(fā)生后的物體的運動效果
沒有碰撞器的剛體,會在物理模擬中相互穿透。
2、觸發(fā)器的方法
****情形一****
1、當(dāng)兩方帶有觸發(fā)器跟腳本,沒有剛體的時候,二者不會打印觸發(fā)器方法
2、其中一方是觸發(fā)器,另一方是碰撞器,二者也不會打印觸發(fā)器方法,都不會打印東西。
一樣不會打印東西
****情形二****
給球添加一個剛體,且是個觸發(fā)器的時候,球會直接與地面產(chǎn)生交互,穿透地面,并打印觸發(fā)方法。
打印觸發(fā)方法:
****情形三****
給球的剛體勾上Is kinematic
此時當(dāng)球與方塊碰撞的時候,當(dāng)球與方塊會打印各自的觸發(fā)器方法。
****情形四****
當(dāng)球與方塊都有剛體和觸發(fā)器和腳本的時候,二者都會調(diào)用觸發(fā)方法
打印結(jié)果:
****情形五****
只要一方是觸發(fā)器,另一方是有碰撞體就會觸發(fā)各自的觸發(fā)器方法
打印結(jié)果:
結(jié)論:
1、想要打印觸發(fā)器方法,必須有一方是觸發(fā)器,必須有一方帶有剛體。二者缺一不可。
2、雙方都是觸發(fā)器,或者其中一方是觸發(fā)器,另一方是碰撞器,都不會打印。
3、只要一方是觸發(fā)器,并且有剛體組件,不管另一方是碰撞體還是觸發(fā)器都會打印各自的觸發(fā)器方法。
4、一般我們將觸發(fā)器方法寫在角色碰到的物體上,角色一般不參與觸發(fā)方法。只寫碰撞方法。