OnTrigger和OnCollision的区别
1.想要让程序判断两个物体又接触,则两个物体都必须要有Collider,并且运动的物体必须要有刚体,才会发生碰撞。如果运动的物体没有刚体,也视为没有碰撞。
2.Collision碰撞:会发生物理碰撞,双方都有碰撞体(Collider),至少有一个物体有rigidbody,会触发OnCollision事件。若双方都勾选了Kinematic或者其中一个物体勾选了Trigger,则碰撞无效。
Trigger触发:不会发生物理碰撞,双方都有碰撞体(Collider),至少有一个物体有rigidbody,且至少有一个物体勾选了Trigger,会触发OnTrigger事件。
不可能同时发生碰撞与触发。
3.Collision与Trigger接触事件都有三种
Trigger:OnTriggerEnter,OnTriggerStay,OnTriggerExit
Collision:OnCollisionEnter,OnCollisionStay,OnCollisionExit
Enter事件表示两个物体接触瞬间,会执行一次事件。
Stay事件表示两个物体一直接触,会持续执行这个事件。
Exit事件表示两个物体分开瞬间,会执行一次事件。
5.Rigidbody刚体:加了碰撞体的物体会受到重力而落下,受物理作用力推动或旋转,无法穿越其他碰撞体。如果另一个物体没有刚体,与一个有刚体的物体相撞会穿过有刚体的物体,但是会判断有发生碰撞。
6.IsKinematicc运动学:自身不会受到碰撞,但是会对其他物体造成碰撞,不会受到重力等物理作用力的影响。
双方都勾选了运动学时,双方不会发生碰撞,会直接穿透,无法执行OnCollision事件。
7.Constraints限制:自身受到碰撞时,勾选的position,Rotasion不受力。
8.Drag空气阻力:提高该数值会减少下落速度与被撞飞的距离。文章来源:https://www.toymoban.com/news/detail-602102.html
此篇摘抄于凜喵的博客_CSDN博客-领域博主文章来源地址https://www.toymoban.com/news/detail-602102.html
到了这里,关于Unity刚体之碰撞接触的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!