SuperAPI AI 工具集

rust-bevy-fixed-step-physics

编程与开发

查看项目

更新于 10-16 02:20

技能介绍

用途

该技能面向使用 Rust 与 Bevy 引擎开发 2D 游戏的场景,帮助开发者将确定性模拟(deterministic simulation)与依赖帧率的呈现(frame-rate-dependent presentation)分离。它聚焦于固定步长物理循环的设计与审查,适用于需要稳定、可预测且碰撞安全的移动逻辑的项目。

主要能力

  • 速度组件:将速度、加速度和移动意图显式存储在组件或资源中。
  • 确定性移动:识别哪些移动必须确定性且碰撞安全,并在固定步长系统中应用。
  • 碰撞预测:在提交位置前预测或扫掠(sweep)移动。
  • 插值:当固定模拟看起来卡顿时,对视觉进行插值。
  • 冲量:处理冲量相关的物理行为。
  • 补间动画:将动画与物理分离,使用补间(tweened)视觉表现。
  • 事件:发出物理/碰撞事件,把动画和粒子保留为呈现层。

使用方式

核心工作流如下:

  1. 识别哪些移动必须确定性且碰撞安全。
  2. 在 update 系统中采样输入,然后在固定步长系统中应用移动。
  3. 将速度、加速度和意图显式存储在组件/资源中。
  4. 在提交位置前预测或扫掠移动。
  5. 发出物理/碰撞事件;将动画和粒子保留为呈现层。
  6. 当固定模拟看起来卡顿时,对视觉进行插值或补间。

按任务加载参考文件:

  • 修复帧率相关移动:加载 guidelines.md、workflows/stabilize-physics.md。
  • 添加固定移动与碰撞预测:加载 references/fixed-step-patterns.md。
  • 将动画与物理分离:加载 references/fixed-step-patterns.md。

适用场景

  • 需要确定性、碰撞安全的移动逻辑的 Bevy 2D 游戏。
  • 出现帧率相关移动问题,需要稳定物理表现的项目。
  • 需要将动画、粒子等呈现层与物理模拟解耦的场景。
  • 需要添加固定步长移动与碰撞预测的场景。

限制

资料未提供该技能的具体安装命令、收费方式、支持平台或版本要求。内容改编自 Herbert Wolverson 的《Advanced Hands-On Rust》第 7 至 9 章,示例为原创骨架。