用途:这是一个引擎无关的游戏物理调校技能,针对“手感差”的常见根因——固定时间步模拟与可变帧率渲染循环不匹配,以及质量、阻力、CCD、碰撞层等参数未调好。适用于运动抖动、物体穿墙(隧穿)、堆叠爆炸,或移动发飘、发黏、延迟时。它不负责具体引擎的物理节点/组件与碰撞回调(需搭配 godot-physics 或 unity-physics),也不负责移动决策或平台跳跃手感(属输入与游戏 AI 领域)。
主要能力:以固定时间步运行物理(如 50–60 Hz)保证一致与稳定;把物理工作放在物理回调而非渲染帧;在物理刻度之间插值渲染以消除抖动;调校质量、阻力、重力缩放、弹性/摩擦材质;对小而快的物体开启 CCD 并限制最大速度以消除隧穿;用更多求解器迭代、合理质量比与休眠稳定堆叠与关节;通过手感和压力测试验证。
使用方式:物理回调中使用该步的固定 dt 做积分与移动(Godot 的 _physics_process、Unity 的 FixedUpdate),渲染帧中依据插值系数在上一与当前物理状态间插值(如 Engine.get_physics_interpolation_fraction(),或启用引擎内置插值)。优先用引擎内置插值而非手写。CCD 可设 continuous_cd 或 Continuous,并限制最大速度,经验规则为单步最大位移(速度/物理频率)应小于最薄墙壁。质量是碰撞中的相对重量,不改变下落速度;用 drag/linear_damp 与 gravity_scale 塑造手感,弹性与摩擦由物理材质设定。碰撞层与掩码需成对配置,并保留命名常量。
限制与注意:在渲染帧施力会导致帧率依赖与碰撞不稳定;有固定步仍抖动通常缺渲染插值;重物下落更快是误解;质量比过极端或迭代过少会致堆叠爆炸;静止物体应启用休眠;层掩码单向配置可能不生效;巨大 dt 尖峰会炸掉积分,需钳制最大物理步/子步。具体 API 与回调请参考相关引擎技能。