刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。所有游戏对象必须包含刚体组件来实现重力、通过脚本施加力、或者与其他对象进行交互,这一切都通过NVIDIA的PhysX物理引擎来实现。
属性
Mass:质量,单位为Kg,建议不要让对象之间的质量差达到100倍以上
Drag:阻力,影响位置运动的阻力系数。为0表示没有阻力,infinity表示立即停止移动
Angular Drag:角阻力,影响旋转运动的阻力系数。数值意义同上
Use Gravity:是否受重力影响
Is Kinematic:是否为Kinematic刚体,是否受物理系统影响。如果启用该参数,则对象不会被物理所控制,只能通过直接设置位置、旋转和缩放来操作它,一般用来实现移动平台,或者带有HingeJoint的动画刚体,在某些时候,主要是创建布娃娃效果的时候,你可能需要在动画与物理控制之间进行切换。你可以将刚体设置为IsKinematic,当设置为Kinematic模式,它将不再受到外力影响。这时你只能通过变换方式来操作对象,但是Kinematic刚体还会影响其他刚体,但他自己不会再受物理引擎控制。比如,连在Kinematic刚体上的Joints还会继续影响连接的另一个非Kinematic刚体,同时也能够给其他刚体产生碰撞力。
Interpolate:如果你的刚体运动时有抖动,尝试一下修改这个参数,None表示没有插值,Interpolate表示根据上一桢的位置来做平滑插值,Extrapolate表示根据预测的下一桢的位置来做平滑插值
Collision Detection : 碰撞检测算法,用于防止刚体因快速移动而穿过其他对象。 当使用默认的离散式碰撞检测 Discrete 时,如果前一桢时对象在墙这一面,下一桢时对象已到到了墙另一面,那么碰撞检测算法将检测不到碰撞的发生。 设置为Continuous(持续)时,这时碰撞检测算法将会防止对象穿过所有的静态碰撞体。 设置为Continuous Dynamic(连续动态)时,将还会防止穿过其他也设置为Continuous或者Continuous Dynamic的刚体。CCD只支持Box,Sphere和Capsule的碰撞体。 设置为 Continuous Speculative 时,碰撞检测为连续投机、动态推测的,一般用于动态对象与IsKinematic的对象进行互动,比Continuous Dynamic模式性能消耗低点,处理旋转运动更好,但是快速移动的物体不容易检测到。
Freeze Rotation : 限制物体在一些轴上的移动和旋转。Freeze Position 冻结位置,Freeze Rotation 冻结旋转。 如果选中了该选项,在该方向上,那么刚体将不会因为外力或者扭力而发生旋转,你只能通过脚本的旋转函数来进行操作。