This commit is contained in:
meishibiezb
2026-06-05 03:01:15 +08:00
parent 29a3f77908
commit a8bdf281ff
41 changed files with 1935 additions and 779 deletions

View File

@@ -4,7 +4,7 @@
- **类型**: Blueprint (GameMode)
- **父类**: GameModeBase
- **源文件**: /Game/Blueprints/BP_TestMode.BP_TestMode
- **模块**: Content
- **模块**: Content/Blueprints
## 功能概述
BP_TestMode 是项目的 GameMode 蓝图,配置默认的 Pawn、PlayerController 和 HUD 类,将项目的所有核心类串联起来。
@@ -22,26 +22,38 @@ BP_TestMode 负责配置默认游戏类和串联项目核心类型之间的关
| BP_TestCtl | PlayerController | /Game/Blueprints/BP_TestCtl |
| BP_Hud | HUD | /Game/Blueprints/BP_Hud |
## 对外接口
- **继承自 AGameModeBase 的标准接口**
- GameMode 生命周期事件:`InitGame``PreLogin``PostLogin``Logout``RestartPlayer``SpawnDefaultPawnAtTransform` 等,均可在蓝图 EventGraph 中覆盖EventGraph 中 event_count=2, node_count=2
- `GetDefaultPawnClassForController` -- 返回配置的 DefaultPawnClass
- GameMode 的标准函数和事件均继承可用
- **编辑器配置属性**(通过 GameMode 基类继承):
- `DefaultPawnClass` = BP_TestChar -- 默认 Pawn 类型
- `PlayerControllerClass` = BP_TestCtl -- 玩家控制器类型
- `HUDClass` = BP_Hud -- HUD 类型
- 其他 GameMode 标准配置属性GameStateClass、SpectatorClass 等)
## 外部视角
BP_TestMode 是 GameModeBase 的蓝图子类,从外部调用者视角:
**核心配置Class Defaults 中设置)**
- `DefaultPawnClass` = BP_TestChar — 玩家生成时使用的默认 Pawn
- `PlayerControllerClass` = BP_TestCtl — 玩家控制器类
- `HUDClass` = BP_Hud — 游戏 HUD 类
**EventGraph 事件**
| 事件 | 类型 | 触发时机 | 行为 |
|------|------|----------|------|
| `事件开始运行` | 原生覆盖 (BeginPlay) | GameMode 创建时由引擎自动触发 | 预留(当前无连线逻辑) |
| `事件Tick` | 原生覆盖 | 每帧 | 预留(当前无连线逻辑) |
**无自定义公开接口**
BP_TestMode 不添加自定义函数或变量,所有行为通过引擎框架的 GameMode 生命周期事件驱动。
**外部交互方式**
- 关卡地图在 World Settings 中选择 BP_TestMode 作为默认 GameMode
- 引擎在游戏启动时自动读取其 Class Defaults 配置并实例化引用类
## 使用方法
- 在关卡的世界设置World Settings中将 `GameMode Override` 设置为 BP_TestMode
- 或在项目设置中将其设为默认 GameMode应用于所有关卡
- 配置三个核心 class 属性,将 BP_TestChar、BP_TestCtl、BP_Hud 串联为一个完整游戏框架
- EventGraph 中无额外蓝图逻辑node_count=2纯配置型蓝图所有替换只需修改此文件中的属性值
- 项目有且仅有一个 GameMode所有核心类型的替换集中在此处管理
BP_TestMode 在项目中的典型调用流程:
- **游戏启动流程** — 关卡Map_City/Playground在 World Settings 中引用 BP_TestMode → 引擎读取 Class Defaults → 自动创建 BP_TestCharDefaultPawn、BP_TestCtlPlayerController、BP_HudHUDClass→ 三者自动配对
## 用例
- 关卡 World Settings 的 `GameMode Override`,引擎启动时加载
- `DefaultPawnClass=BP_TestChar` -- 新玩家进入时自动生成该 Pawn
- `PlayerControllerClass=BP_TestCtl` -- 新玩家连接时自动创建该控制器
- `HUDClass=BP_Hud` -- 创建控制器时自动生成该 HUD
| 引用方 | 路径 | 用途 |
|--------|------|------|
| Map_City | `/Game/地图关卡/Map_City` | 设为关卡的默认 GameMode驱动该地图运行时配置 |
| Playground | `/Game/地图关卡/Playground` | 设为关卡的默认 GameMode驱动该地图运行时配置 |