Starry手册导览

从模块进入子模块与具体功能,查阅功能用途、配置步骤、技术架构和扩展方法。

本页内容6 节

按功能理解 Starry

Starry 是基于 Unreal Engine 5.8 开发的游戏项目。手册按模块组织内容:先选择要使用的系统,再进入子模块或具体功能,了解它解决什么问题、怎样配置、内部如何协作以及怎样扩展。

每个模块的入口先解释职责与组成,功能目录继续展开细分内容。使用步骤与技术架构围绕同一项功能编写;需要独立说明复杂机制时,也归在该功能所属层级下。

例如,AstraAI 的“行为执行”下包含 Logic 生命周期与树后端;Input 的“动作处理”下包含 Handler 分派、输入值修饰与触发规则。可以直接进入对应功能,不必先按全站文章顺序阅读。

当前已整理 AstraAI、HaloDebug、Input、Async Message System和 AsyncMixin。其他模块按实际功能持续补充,已有目录不代表项目全部能力。

查阅一项功能

以新增一个玩家动作为例:

  1. 从 Input 模块了解 Action、IMC、Setup 与 Controller 的接入关系。
  2. 进入“动作处理”的 Handler 与能力分派,选择事件和处理器。
  3. 需要在动画窗口中延迟执行时,再读“输入缓存”的通道输入缓存。
  4. 配置不生效时,进入同模块的调试与排查,沿实际输入链定位。

需要观察技能失败、背包或快捷栏事件时,从 Async Message System进入消息收发与项目接入;蓝图示例把监听、载荷解包、发送和停止直接画在正文中。

需要异步加载图标、控件类或主资产时,从 AsyncMixin进入资源加载与任务编排;软引用加载给出 C++ 组件示例,独立作用域说明多条任务怎样分别取消。

模块内的上一页与下一页遵循当前模块的功能目录。跨模块的协作通过正文链接与关联栏继续阅读。

围绕功能说明用法与机制

每项功能同时说明怎样使用、内部怎样运行,以及遇到问题时怎样排查。前置条件、配置入口、操作步骤与预期结果帮助动手,组件职责、数据流、执行顺序和生命周期帮助理解与扩展。参数或命令较多时,再补充明确的速查小节。

例如,组合与覆盖同时解释 Modifier 怎样编辑、后层怎样替换前层;Logic 生命周期围绕一次执行解释启动、取消与清理。内容按功能需要组织,不为不同阅读角度重复拆页。

工程分层与系统协作补充项目级的依赖方向与接入边界。具体系统的架构和使用方法从所属模块进入。

各功能页末尾给出实现入口,方便在工程中定位类型。示例资产名称需要自己创建;正文区分当前实现、操作示例与尚未接完的能力。

用目录查找,用图谱探索

左侧通过模块菜单切换系统,再按“子模块/功能分区 → 说明”展开,当前文章的完整路径显示在正文上方。手机通过“文档目录”展开同一棵目录树,右侧目录定位当前页的小节。按 Ctrl K 搜索标题、概念或正文中的 API 名称。

关系图谱根据文章里的实际阅读链接自动生成,节点颜色表示所属模块。全局图默认显示主模块,节点汇总文档数量,连线汇总跨模块阅读关联;也可以切换到“全部文章”。从模块节点或可搜索的模块菜单进入子图,再通过逐级展开的“分区”菜单选择整个功能或子分区。

选择文章节点后可以打开文章,或进入以它为中心的局部图。局部图保留相连的跨模块文章,返回时恢复原来的模块与功能范围。图谱的关联表示“这些文章可以一起读”,程序依赖和执行顺序由正文图表说明。

正文图表可以滚轮缩放、左键平移、适应画布或全屏查看。较长的流程先看完整图,再放大读分支,不需要把正文整页缩小。

查看真实蓝图节点

介绍蓝图用法的文章可以直接嵌入 UE 节点图,配合文字阅读执行连线、数据连接与参数。节点文本随文章保存,打开正文即可显示,支持平移与缩放。编写方式见在文档中说明蓝图用法。

自己修改内容

本地文章文件与网页编辑器修改同一份内容。日常只写正文、关系和必要图表,不为每一篇笔记重新做版式。具体操作与可复用模板见维护这本手册。

Starry手册导览从模块进入子模块与具体功能,查阅功能用途、配置步骤、技术架构和扩展方法。工程分层与系统协作了解 Framework、Gameplay 与通用插件的依赖方向,以及配置装配和运行状态的边界。模块总览与接入从行为系统、执行系统与机会调度了解 AstraAI,再为角色配置第一套组合决策。组合与覆盖正确区分优先级、行为分数与 Stack 顺序,按完整路径组织可撤销的配置。评分与抢占沿着条件、优先级、分数、持续有效性与冷却,解释一个行为为何开始或退出。Logic 与生命周期把动作接入 Start、Cancel、Cleanup,正确处理共享模板、蓝图实例与过期异步回调。BT、StateTree 与 HTN复用控制器上的树组件,正确传入数据、报告整树结果并等待安全退出。Objective 与机会生成把领域事实整理成当前机会,让评分只读数据,让生成器独立管理订阅。命令发布与领取发布一条命令后,经机会评估、Take、执行与 EndUse 完成一次受控使用。行为区域用可挂载的 Zone 组件分配行为层,并把回区机会与实际导航分开。调试与排查从初始化到候选、机会、应用层与后端,沿真实运行路径定位 AI 没有行动的原因。模块总览与使用了解通用调试工具的操作、远程连接与窗口扩展,再由各模块的排查说明定位具体问题。netImgui 远程面板在独立桌面程序查看调试窗口,区分远程 UI、游戏视口绘制与玩法网络权限。窗口扩展与属性绘制复用窗口生命周期、反射 Inspector 和场景绘制,避免为每个调试页重做基础设施。模块总览与接入从配置绑定、动作处理、通道缓存与玩家改键了解 Input,再接入角色的输入配置。绑定与配置生命周期理解跨 IMC 的共享绑定、配置所有权、延迟初始化,以及切换角色时的清理。Handler 与能力分派选择正确的输入阶段,把输入交给移动、GAS、GameplayEvent 或 UI,保持共享 Handler 无玩家状态。修饰器与双击选择输入值变换所在层,理解玩家设置修饰器与 Double Tap 的时序规则。通道输入缓存按 GameplayTag 通道开窗,保留首批或末批输入,正常关闭执行,中断取消丢弃。改键与玩家设置通过 GameSettings 统一编辑与应用,区分 SharedSettings 偏好和 Enhanced Input 键映射数据。调试与排查使用 Gamepad 与 Actions 观察和模拟输入,沿设备、映射、绑定、缓存与能力定位问题。模块总览与接入使用 UE 5.8 原生 Async Message System,把事件通知与接收方解耦,查阅消息收发、路由和 Starry 的实际接入。蓝图收发与解绑通过消息 Id、监听、载荷封装与解包的核心连线,掌握蓝图收发和任务解绑。C++ 收发与解绑按取得系统、登记监听、读取载荷、发送与解绑的顺序,查阅原生 C++ 接口用法。标签、时机与生命周期理解消息的标签层级、World 和 Endpoint 路由、游戏线程派发、载荷快照与 C++ 监听清理。项目消息与排查查阅 Starry 已接入的消息标签、载荷和触发点,区分本地通知、状态复制与 RPC 转发,并沿真实链路排查。模块总览与项目接入管理软引用加载、有序回调与任务作用域,了解指示器画布的实际接入,以及加载完成后的资源和宿主生命周期。软引用加载与 C++ 用法用组件加载软对象和控件类,保存加载结果,理解路径数组、同步回调、失败结果,以及重载与退出时的取消清理。主资产与资源驻留按主资产 ID 和 Bundle 预加载资源,理解句柄保留、取消与 GC 引用的关系,以及 AssetManager 和打包配置的职责。回调顺序与独立作用域理解并行加载与有序回调的区别,使用 FAsyncScope 分开取消任务,了解 AsyncEvent、开始完成通知和等待条件的当前边界。在文档中说明蓝图用法将真实蓝图节点嵌入正文,结合步骤、引脚和连线说明功能,节点文本随文章保存。维护这本手册本地文件与网页编辑共用一份 MDX,日常只改内容与关系,沿用共享版式和图表。