OnTrigger和OnCollision的區(qū)別
1.想要讓程序判斷兩個(gè)物體又接觸,則兩個(gè)物體都必須要有Collider,并且運(yùn)動(dòng)的物體必須要有剛體,才會(huì)發(fā)生碰撞。如果運(yùn)動(dòng)的物體沒有剛體,也視為沒有碰撞。
2.Collision碰撞:會(huì)發(fā)生物理碰撞,雙方都有碰撞體(Collider),至少有一個(gè)物體有rigidbody,會(huì)觸發(fā)OnCollision事件。若雙方都勾選了Kinematic或者其中一個(gè)物體勾選了Trigger,則碰撞無效。
Trigger觸發(fā):不會(huì)發(fā)生物理碰撞,雙方都有碰撞體(Collider),至少有一個(gè)物體有rigidbody,且至少有一個(gè)物體勾選了Trigger,會(huì)觸發(fā)OnTrigger事件。
不可能同時(shí)發(fā)生碰撞與觸發(fā)。
3.Collision與Trigger接觸事件都有三種
Trigger:OnTriggerEnter,OnTriggerStay,OnTriggerExit
Collision:OnCollisionEnter,OnCollisionStay,OnCollisionExit
Enter事件表示兩個(gè)物體接觸瞬間,會(huì)執(zhí)行一次事件。
Stay事件表示兩個(gè)物體一直接觸,會(huì)持續(xù)執(zhí)行這個(gè)事件。
Exit事件表示兩個(gè)物體分開瞬間,會(huì)執(zhí)行一次事件。
5.Rigidbody剛體:加了碰撞體的物體會(huì)受到重力而落下,受物理作用力推動(dòng)或旋轉(zhuǎn),無法穿越其他碰撞體。如果另一個(gè)物體沒有剛體,與一個(gè)有剛體的物體相撞會(huì)穿過有剛體的物體,但是會(huì)判斷有發(fā)生碰撞。
6.IsKinematicc運(yùn)動(dòng)學(xué):自身不會(huì)受到碰撞,但是會(huì)對(duì)其他物體造成碰撞,不會(huì)受到重力等物理作用力的影響。
雙方都勾選了運(yùn)動(dòng)學(xué)時(shí),雙方不會(huì)發(fā)生碰撞,會(huì)直接穿透,無法執(zhí)行OnCollision事件。
7.Constraints限制:自身受到碰撞時(shí),勾選的position,Rotasion不受力。
8.Drag空氣阻力:提高該數(shù)值會(huì)減少下落速度與被撞飛的距離。文章來源:http://www.zghlxwxcb.cn/news/detail-602102.html
此篇摘抄于凜喵的博客_CSDN博客-領(lǐng)域博主文章來源地址http://www.zghlxwxcb.cn/news/detail-602102.html
到了這里,關(guān)于Unity剛體之碰撞接觸的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!