Unity 物理刚体类型
发布: (2026年2月13日 GMT+8 18:24)
2 分钟阅读
原文: Dev.to
Source: Dev.to
静态刚体
静态刚体完全不可移动。放置在场景后,它们的位置和旋转保持固定。它们不会响应力或碰撞,但其他对象可以与之碰撞。
关键特性
- 3D 中不需要
Rigidbody(仅碰撞体即可) - 2D 中使用
Rigidbody2D并将bodyType = Static - 为性能优化;Unity 不需要重新计算它们的位置
适用场景
- 墙壁、地板、地形或背景结构
运动学刚体
运动学刚体本身不响应物理力或碰撞,但如果它们移动到动态刚体上,仍然可以影响动态刚体。它们通过脚本移动(例如,修改 transform.position 或设置速度)。
关键特性
- 在
Rigidbody(3D)上设置isKinematic = true,或在Rigidbody2D(2D)上设置bodyType = Kinematic - 不受重力或碰撞影响
适用场景
- 电梯、门、传送带或移动平台
动态刚体
动态刚体由物理引擎完整模拟。它们会响应重力、力、碰撞以及其他物理交互。这些是场景中最“活跃”的对象。
关键特性
- 需要
Rigidbody(3D)或Rigidbody2D(2D) - 2D 中使用
bodyType = Dynamic - 响应
AddForce、速度、质量和摩擦
适用场景
- 玩家、敌人、掉落的箱子或任何物理移动的对象
选择合适的类型
- Static – 适用于永不移动的任何物体。
- Dynamic – 需要完整物理交互时使用。
- Kinematic – 需要脚本或手动移动且不受物理影响时使用。