用途
该技能面向使用 Rust 与 Bevy 引擎开发 2D 游戏的场景,帮助开发者将确定性模拟(deterministic simulation)与依赖帧率的呈现(frame-rate-dependent presentation)分离。它聚焦于固定步长物理循环的设计与审查,适用于需要稳定、可预测且碰撞安全的移动逻辑的项目。
主要能力
- 速度组件:将速度、加速度和移动意图显式存储在组件或资源中。
- 确定性移动:识别哪些移动必须确定性且碰撞安全,并在固定步长系统中应用。
- 碰撞预测:在提交位置前预测或扫掠(sweep)移动。
- 插值:当固定模拟看起来卡顿时,对视觉进行插值。
- 冲量:处理冲量相关的物理行为。
- 补间动画:将动画与物理分离,使用补间(tweened)视觉表现。
- 事件:发出物理/碰撞事件,把动画和粒子保留为呈现层。
使用方式
核心工作流如下:
- 识别哪些移动必须确定性且碰撞安全。
- 在 update 系统中采样输入,然后在固定步长系统中应用移动。
- 将速度、加速度和意图显式存储在组件/资源中。
- 在提交位置前预测或扫掠移动。
- 发出物理/碰撞事件;将动画和粒子保留为呈现层。
- 当固定模拟看起来卡顿时,对视觉进行插值或补间。
按任务加载参考文件:
- 修复帧率相关移动:加载 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 章,示例为原创骨架。