Rigdbody刚体组件:必须和碰撞体(Colliders)一起使用,否则会发生穿过的现象。碰撞体(Colliders)不是必须和刚体一起使用。
刚体的作用:使游戏物体能获得重力,接受外界的受力和扭力,可以通过脚本或是物理引擎为游戏对象添加刚体组件。
Unity中添加引擎的方法:Component→ Physics→ Rigdbody。
属性简介:
Mass:质量。设置游戏对象的质量。建议同一场景中的游戏对象质量差值不能大于100倍。
Drag:阻力。设置游戏对象受到的空气阻力。0~...。
Angular Drag:角阻力。当游戏对象扭矩力旋转的时候,受到的空气阻力。0~...。
Use Gravity:是否启用重力。
Is Kinematic:是否开启动力学。开启之后将不在受物理引擎的影响而只能通过Transform属性来操作,
这个选项适用于模拟平台的移动或带有铰链关节连接刚体的动画。
Interpolate:插值。None——没有插值。Interpolate——内插值,基于前一帧的Transform来平滑的此次的Transform。
Extrapolate——外插值,基于后一帧的Transform来平滑的此次的Transform。
Collision Detaction:碰撞检测。该属性用于控制游戏对象高速运动的游戏对象穿过其他游戏对象而未发生碰撞。
Discrete:默认选项,检测场景中其他所有碰撞体进行碰撞检测。
Continuous:连续碰撞检测。此模式适用于那些需要与采用了连续动态碰撞检测的对象相碰撞的对象。
Continuous Dynamic:连续动态检测模式。
Constraints:约束。Freeze Position:冻结位置或是某个轴。Freeze Rotation:冻结向某个方向旋转的轴。
注意:
1.通常情况下没有必要在操作—个对象刚体的同时也操作其Transform,只 需要二选其一即可。
2.在使用物理系统时,不要直接改变对象的Transform组件的属性,可通过在游戏对象的刚体上添加AddForce()不口AddTOrqueo函数,
达到通过脚本来添加作用力或扭矩力,来对刚体进行控制。
3.当刚体被标记为动力学模式时,就不会受到如碰撞、作用力或其他物理效果的影晌,动力学刚体会影晌其他的对象,但其自身并不受到物理系统
的影响。例如,那些绑定到动力学对象上的关节会约束其他绑定到该对象上的刚体,动力学刚体在碰撞时会影晌其他的刚体。