用途:为 Bevy 0.20 游戏设计提供基于 Transform 的空间查询,覆盖视线、体积重叠、地面探针和鼠标拾取。需要碰撞体投射或扫掠时应改用 bevy-physics-2d 或 bevy-physics-3d;未命中碰撞体的屏幕到 2D 世界映射属于相机辅助,不是物理查询。
主要能力:组件持有探针半径或朝向标记,位置取自 GlobalTransform。相机拾取用 Camera::viewport_to_world_2d 配合 GlobalTransform 把光标映射到 2D 世界点,再对精灵做距离测试。半径探针列出范围内的其他实体并跳过自身。视线检测取视图 forward 与目标方向的点积,与余弦阈值比较。
使用方式:依赖 [dependencies] 中声明 bevy = "0.20"。系统应在移动之后读取变换;同一 schedule 内两者都运行时,用 .chain() 把探针排在写 Transform 的系统之后。探针永远不报告自身,接受命中前先比较 Entity。
适用场景:2D 光标最近标记选择、半径重叠列表、带朝向限制的可见性判断。
限制:标准 Bevy 只测量点、半径和朝向;碰撞体投射、扫掠和法线属于物理技能。不要在刚写 Transform 的同一系统中读 GlobalTransform,因为传播尚未运行,全局位姿仍是上一帧。不要从两个未排序系统可变查询同一组件。未提供收费、平台与效果信息。