[原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性:
- Mass:质量
- Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空气阻力,好比丢一个东西出去,如果这个东西没有阻力的话,则会一直不停的向你丢的方向所运动。
- Angular Drag:角阻力也称扭矩力,扭矩力是使物体发生转动的一种特殊的力炬。
- Use Gravity:使用重力,开启后会受到重力影响。
- Is Kinematic:是否开启动力学,开启后不在受物理引擎的影响,只能通过Transform属性来操作。此属性一般用来模拟平台的移动,或带有铰链关节链接刚体的动画。
- Interpolate:插值,用于控制刚体运动抖动的情况,有以下三种值可选。
- None:没有插值
- Interpolate:内插值,基于前一帧的Transform来平滑此次的Transfomr。
- Extrapolate:外插值,基于下一帧的Transform来平滑此次的Transform。
- Collsion Detection:碰撞检测,用于控制避免高速运动的对象穿过其他对象而未发生碰撞。
- Discrete:离散碰撞检测(默认值),与场景中其他多有碰撞体进行碰撞检测。
- Continuous:连续碰撞检测,此模式对物理性能会有很大影响,如果不需要对快速运动的对象进行碰撞检测,就是用离散模式。
- Continuous Dynamic:连续动态碰撞检测模式。
- Constraints:约束,控制对刚体运动的约束。
- Freeze Position:冻结位置,刚体对象在世界坐标系中的X,YZ,轴方向上的移动将无效
- Freeze Rotation:冻结旋转
刚体会使对象在物理引擎下运动,真实模拟一个物体在现实世界中受到力后的行为。
通常如果使用了刚体来操作游戏对象时没必要再对其Transform进行操作。