SuperAPI AI 工具集

bevy-physics-2d

通用与其它

查看项目

更新于 10-16 08:49

技能介绍

用途:当 Bevy 应用需要模拟 2D 刚体、触发器或层过滤,且在选定求解器之前,可加载本技能。玩家移动应配合 bevy-character-movement(不应作为刚体处理),需要求解器世界的投射应放在 bevy-spatial-queries。

主要能力:组件自持速度、质量、圆半径与 LayerMask;Gravity2d 资源持有重力;系统在 FixedUpdate 上积分速度与位置,随后分离层掩码相交的重叠圆,两系统因同时写 Body2d 与 Transform 而用 .chain() 串成一条链。此外提供 AabbTrigger 记录内部实体,以及 ray_circle 返回沿线段最近命中。

使用方式:定义 Body2d、LayerMask、Gravity2d 等组件与资源,在 Plugin 的 build 中插入资源并添加 (integrate_2d, separate_circles).chain() 到 FixedUpdate。示例依赖为 bevy = "0.20"。固定步长是时钟,求解器插件可在需要关节与空间索引时替换积分器,但本文件未命名该插件的类型。

适用场景:简单自管理的 2D 道具模拟、圆形碰撞与层过滤、AABB 触发器、圆射线检测;从 Godot 迁移时,Godot 的模拟 2D 道具对应 Body2d 加 Transform 并在 FixedUpdate 积分,玩家移动走 bevy-character-movement,触发体积对应 Aabb 重叠记录占用者。

限制:关节、连续碰撞与空间索引属于需以插件形式添加的物理求解器;本技能只使用有文档的 Bevy API,不指定 Avian、Rapier 等具体求解器,不发明碰撞体、层或关节 API,也不提供 Godot 的 2D 物理节点类型。目标为 Bevy 0.20+,禁止在文档 URL 中固定 /0.20.0/。两个不排序的系统不得可变查询同一组件。