Agent Skills
返回列表
🤖

物理模拟调参

AI Agent 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/physics-tuning-sh-uid75d。

技能介绍

先明确要解决什么问题

很多"物理手感差"并不是引擎的 bug,而是固定时间步的物理模拟与可变帧率的渲染循环之间的错配,或者是质量、阻力、CCD、碰撞层这类参数没调好。典型症状包括:

  • 物体抖动、穿墙(tunneling)、堆叠炸开
  • 移动发飘、发黏、迟滞
  • 不同帧率下行为不一致

技能如何工作

这套流程不绑定引擎,提供的是一套可通用的调参思路:

  1. 固定时间步模拟:以恒定速率(如 50–60 Hz)推进物理,保证确定性与稳定性
  2. 物理逻辑放进物理回调:在 FixedUpdate / _physics_process 中施加力、改速度、读取碰撞,而不是在渲染帧里做
  3. 渲染插值:在两次物理 tick 之间插值变换,或开启引擎自带的 Rigidbody 插值,消除可见卡顿
  4. 调刚体而不是调场景:用质量定义相对重量、阻力定义阻尼、gravity_scale 做手感,用材质调弹性与摩擦
  5. 防穿墙:小而快的物体开启 CCD,同时封顶最大速度
  6. 稳定堆叠:提高求解器迭代次数、保持合理的质量比、让静止物体休眠
  7. 手感验证 + 压力测试:低帧率和高帧率下都玩一遍,拿快物体砸薄墙,堆叠和推挤刚体,记录观察结果

几个被验证过的模式:固定步长 + 渲染插值;CCD + 限速;刚体参数调优;碰撞层与掩码矩阵。

适用边界与注意点

  • 需要引擎具体的物理节点、碰撞体和回调 API 时,请配合 godot-physics 或 unity-physics 使用
  • 跳跃时机、AI 转向这类移动决策属于 input-systems 和 game-ai 的范畴;土狼时间、跳跃缓冲这类平台跳跃手感更是控制器领域的事

常见坑:在渲染帧(Update / _process)里施加力会让行为依赖帧率;固定步长下仍然抖动通常是没开渲染插值;穿薄墙需要 CCD、限速或加厚墙体;重物不会掉得更快——重力是加速度,质量只影响碰撞响应;堆叠炸开往往是质量比悬殊或迭代次数太少;不休眠的刚体持续烧 CPU;碰撞层要双向核对,A 的掩码含 B 不等于 B 的掩码含 A;大 dt 尖峰要钳制最大物理步长。

使用场景

  • 刚体行为依赖帧率,需要在 `FixedUpdate` / `_physics_process` 中施加力并读取碰撞。
  • 堆叠箱子被推就炸开,需要调整质量比、提高求解器迭代,并让静止物体休眠。
  • 小而快的物体穿过薄墙,需要开启 CCD、封顶最大速度,或加厚墙体。
  • 碰撞层掩码配置不完整,需要核对角色、地板、传感器和子弹之间的双向碰撞关系。

适合人员

  • gameplay 程序员:需要让物理在高帧率与低帧率下表现一致
  • 技术美术:需要定位固定时间步、渲染插值和刚体参数问题
  • 独立游戏开发者:没有专职物理工程师,需要引擎无关的调参清单
  • Godot 或 Unity 游戏程序员:需要不绑定具体引擎的物理工作流