刚体
每个物理实体都需要 RigidBody 组件,定义刚体类型和物理属性。
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
bodyType | number | 2(Dynamic) | 0=静态,1=运动学,2=动态 |
gravityScale | number | 1.0 | 重力倍率 |
linearDamping | number | 0.0 | 线速度阻尼 |
angularDamping | number | 0.0 | 角速度阻尼 |
fixedRotation | boolean | false | 锁定旋转 |
bullet | boolean | false | 高速物体连续碰撞检测 |
enabled | boolean | true | 启用物理刚体 |
刚体类型
Static(0)
不移动。用于墙壁、地面和平台。静态刚体具有无限质量,不响应力。
rigidBody.bodyType = 0;Kinematic(1)
通过代码(变换)移动,不受物理力影响。其他刚体会与之碰撞但不会推动它。用于移动平台和电梯。
rigidBody.bodyType = 1;Dynamic(2)
完全模拟。响应重力、力和碰撞。用于玩家、投射物和物理对象。
rigidBody.bodyType = 2;使用注意
gravityScale可为每个刚体单独调整重力。设为0可实现零重力物体,负值可实现反向重力。fixedRotation适用于碰撞时不应旋转的角色控制器。bullet启用连续碰撞检测(CCD),防止高速物体穿过薄碰撞体。由于有性能开销,应谨慎使用。linearDamping和angularDamping模拟空气阻力。值越高刚体减速越快。