SuperAPI AI 工具集

bevy-genre-shooter-fps

编程与开发

查看项目

更新于 10-16 05:52

技能介绍

用途:这是 Bevy 引擎的 FPS 射击类型路由文件,用于按 ECS 形状组织第一人称射击玩法——3D 相机、视角模型(view model)与战斗。领域实现交给下方关联的 Bevy 技能,本文件本身不定义新的引擎类型。目标版本为 Bevy 0.20+。

主要能力与结构:组件以普通数据保存每实体标志;资源保存全局计数器(分数、波次索引、种子);系统在 Update 或固定时间步读取这些组件,后续系统需看到前面结果时用 .chain() 排序。游戏模式切换经状态机技能处理。示例中 Pitch 放在相机上,Yaw 放在身体上使视角模型继承转向,ShotClock 为资源,tick_shot 与 fire 共享 ShotClock 因此链式排序,Look 写入不同组件保持链外。命中判定按身体前向轴锥体比较 Transform 数据,物理 crate 留给战斗技能。

依赖示例:[dependencies]\nbevy = "0.20"。

使用方式:鼠标视角通过 AccumulatedMouseMotion,指针锁定用主窗口的 CursorOptions(visible=false、grab_mode=CursorGrabMode::Locked)。相机与视角模型用 ChildOf 挂在身体上以继承 Yaw。boot 在 Startup 插入 ShotClock 并生成身体、相机和视角模型,apply_look 处理视角,tick_shot 与 fire 以 chain 关联。

适用场景:搭建 FPS 原型的相机、观察控制、枪械射速节流与简单 hitscan 命中。

限制:不得在文档 URL 中固定 /0.20.0/;不得从两个无序系统可变查询同一组件;不得在本文件发明物理、导航、网络或 XR crate,只使用有文档的 Bevy crate 与模块;不使用外部引擎类型或臆造的 genre API。更广泛的空间查询属于空间查询技能。可选 Bevy 特性 bevy_camera_controller 此处不使用,直接用 Camera3d 与 Transform。