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

发表于2018-05-15
评论0 4k浏览
刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。可见在物理引擎中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进行操作。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引