您的位置:首页 > 新闻动态 > 技术文章

Unity3D物理引擎之刚体部件(Rigidbody)

来源: 2017/6/26      点击:

在虚拟世界中,任何物体都是没有活力的,要想变的真实,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进行操作。