刚体?
在任何力的作用下,体积和形状都不发生改变的物体叫做“刚体”(Rigid body)。
它是力学中的一个科学抽象概念,即理想模型。
事实上任何物体受到外力,不可能不改变形状。
实际物体都不是真正的刚体。
什么是刚体?
在大多数情况下,Rigidbody组件的睡眠和醒来都是透明的。
但是,如果静态对撞机(即没有Rigidbody的一个)被移动到其中或通过修改Transform位置,
则GameObject可能无法唤醒。这可能就是说,当Rigidbody GameObject挂在空中时,
地板被从下面移出。在这种情况下,可以使用该WakeUp函数明确地唤醒GameObject
刚体(Rigidbody)是Unity物理引擎中的重要组件,
一个游戏对象添加了刚体组件以后就开始接受物理力学的影响了,比如重力、空气摩擦力、碰撞产生的推力。
在添加刚体组件之前,游戏对象的移动受Transform组件控制,
在添加刚体组件之后,对象的运动就被刚体组件所接管了,对象的状态只能通过施加力来实现。
少数情况下,你可能想在脚本中控制一个添加了刚体组件的对象的运动状态,
但却不是通过施加力的方式,有一种方法可以实现,就是在刚体组件中勾选is kinematic。
启用了kinematic后,刚体组件就应该被称为运动学刚体了,刚体因此而失去了对物理力学的影响,比如说不再受重力的影响,不在碰撞力下移动。好处是这个对象能够触发碰撞函数,坏处是产生了一些额外的性能开销。
当刚体的移动速度接近于0时,刚体会进入“睡眠模式”,降低性能开销。
当刚体受到力的影响而再次移动时,刚体会被“唤醒”。在某些特殊情况下可以使用唤醒函数唤醒刚体。
在给一个对象添加对撞机(Collider)组件后,可以根据对象是否有刚体组件以及刚体组件的配置情况划分为三种类型。
静态对撞机:一个对象有对撞机组件,没有刚体组件。
刚体对撞机:一个对象有对撞机组件,而且有刚体组件。
运动学刚体对撞机:一个对象有对撞机组件,有刚体组件,而且勾选了is kinematic。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/36/viewspace-2798756/ ,如需转载,请注明出处,否则将追究法律责任。