跳转到内容

刚体

每个物理实体都需要 RigidBody 组件,定义刚体类型和物理属性。

属性

属性类型默认值说明
bodyTypenumber2(Dynamic)0=静态,1=运动学,2=动态
gravityScalenumber1.0重力倍率
linearDampingnumber0.0线速度阻尼
angularDampingnumber0.0角速度阻尼
fixedRotationbooleanfalse锁定旋转
bulletbooleanfalse高速物体连续碰撞检测
enabledbooleantrue启用物理刚体

刚体类型

Static(0)

不移动。用于墙壁、地面和平台。静态刚体具有无限质量,不响应力。

rigidBody.bodyType = 0;

Kinematic(1)

通过代码(变换)移动,不受物理力影响。其他刚体会与之碰撞但不会推动它。用于移动平台和电梯。

rigidBody.bodyType = 1;

Dynamic(2)

完全模拟。响应重力、力和碰撞。用于玩家、投射物和物理对象。

rigidBody.bodyType = 2;

使用注意

  • gravityScale 可为每个刚体单独调整重力。设为 0 可实现零重力物体,负值可实现反向重力。
  • fixedRotation 适用于碰撞时不应旋转的角色控制器。
  • bullet 启用连续碰撞检测(CCD),防止高速物体穿过薄碰撞体。由于有性能开销,应谨慎使用。
  • linearDampingangularDamping 模拟空气阻力。值越高刚体减速越快。

参见