Rigidbody 概述

刚体是为GameObject提供物理行为的主要组件。随着刚体的连接,物体会立即对重力作出反应。如果还添加了一个或多个Collider组件,则通过传入冲突移动GameObject。

由于Rigidbody组件接管了它附加的GameObject的运动,因此不应该尝试通过更改转变属性,如位置和旋转。相反,你应该使用力来推动GameObject并让物理引擎计算结果。

在某些情况下,您可能希望GameObject拥有一个没有运动控制物理引擎的Rigidbody。例如,您可能希望直接从脚本代码控制角色,但仍允许通过触发器来检测角色(请参阅触发器对撞机话题)。由脚本产生的这种非物理运动被称为运动运动。Rigidbody组件具有一个名为Is Kinematic的属性,它可以将其从物理引擎的控制中移除,并允许从脚本中以运动方式移动它。可以通过脚本将Is Kinematic的值更改为允许打开和关闭对象的物理属性,但这会带来性能开销并应该谨慎使用。看到了刚体和刚体2D参考页面以获取有关这些组件的设置和脚本选项的更多详细信息。

Sleep
当刚体运动速度低于定义的最小线性或转速时,物理引擎会认为它已停止。发生这种情况时,GameObject不会再次移动,直到它收到冲突或强制为止,因此它被设置为“睡眠”模式。这种优化意味着在下一次它被“唤醒”(即再次启动)之前,不会花费处理器时间来更新Rigidbody。对于大多数目的而言,Rigidbody组件的睡眠和醒来都是透明的。但是,如果通过修改变换位置将静态对撞器(即没有刚体的对象)移入或离开它,GameObject可能无法唤醒。例如,当地板从地板下面移出时,可能会导致Rigidbody GameObject挂在空中。在这种情况下,GameObject可以使用WakeUp功能明确地唤醒。看到了刚体和刚体2D组件页面了解更多关于睡眠的信息

你可能感兴趣的:(Rigidbody 概述)