【Unity】物理系统的静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体

碰撞体分为三类(触发器同理):静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体。

静态碰撞体:不挂载刚体组件的碰撞体

常用于地形、障碍物等不会移动位置的物体,物理引擎会对此优化性能。在游戏运行时,不应当改变静态碰撞体的enabled选项或移动、缩放碰撞体,否则会给物理引擎带来额外的计算工作量,导致性能显著下降。

刚体碰撞体:挂载了刚体组件(非Kinematic)的碰撞体

物理引擎会一直模拟计算刚体碰撞体的物理状态,会对碰撞以及施加的力做出反应。

Kinematic刚体碰撞体:挂载了刚体组件且刚体组件设置为 Kinematic 的碰撞体

可以在脚本中修改物体的Transform属性来移动,不会对碰撞和力做出反应,不受物理系统影响,但依然会对其他刚体产生物理影响(比如可以撞击其他刚体)。可以用在经常需要移动等变化物理状态的碰撞体上。一个刚体碰撞体,可以随时开启或关闭Is Kinematic选项,不会像静态碰撞体的enabled开启或关闭那样引起物理系统的问题。


两个物体发生碰撞,碰撞体/触发器不同,回调不同:

【Unity】物理系统的静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体

【Unity】物理系统的静态碰撞体、刚体碰撞体、Kinematic刚体碰撞体