UE5 - 创建与配置自定义游戏模式教程(使用GameMode进行分数统计)
作者:hangge | 2025-08-04 08:33
在 Unreal Engine 中,游戏模式(GameMode)是决定游戏整体玩法规则、流程逻辑以及默认类(Pawn、Controller、HUD 等)的一种管理类。它定义了玩家如何进入游戏、胜负判定、角色生成、局内规则等核心内容。本文通过样例演示如何创建与配置自定义 GameMode。








提示:实现游戏规则逻辑的最佳选择是在“游戏模型”蓝图类中实现,而不是在关卡蓝图中实现。因为蓝图类的实例可用添加到任何关卡中,所以我们不需要复制和粘贴蓝图节点也可以在另一个关卡中使用相同的功能。
1,基本介绍
(1)游戏模式具有如下作用:
- 决定游戏启动后使用哪些默认类(DefaultPawnClass、PlayerControllerClass 等)
- 管理玩家加入、角色生成(Spawn)及胜利/失败条件
- 执行关卡内全局性事件(如比赛倒计时、分数累计等)
(2)游戏模式的生命周期如下:
- 关卡加载完成:引擎根据 World Settings 中的 GameMode 设置,实例化 GameMode
- PreLogin → PostLogin:处理玩家连接、创建 PlayerController
- HandleStartingNewPlayer:生成角色(Pawn)并 Possess
- 游戏进行中:GameMode 根据逻辑响应玩家输入和游戏事件
- EndPlay:关卡结束或切换时,GameMode 被销毁
2,创建自定义游戏模式蓝图
(1)在内容浏览器中点击 “添加 → 蓝图类”。在“选择父类”对话框中,选中“游戏模式基础”作为父类。

(2)命名该蓝图为 BP_GameModeWithScore,双击打开蓝图编辑器。

(3)在“我的蓝图”面板中添加变量,命名为 GameScore,类型设为“整数”。

(4)创建一个名称为 AddGameScore 函数,在 AddGameScore 函数的“细节”面板中添加一个名为 Score 的输入参数,类型为“整数”。此函数用于向 GameScore 变量添加分数点数。

(5)该函数的逻辑如下:
- 输入 Score 与当前 GameScore 相加,并通过 Set GameScore 更新。
- 使用 Print String 节点将更新后的分数输出到屏幕上。

3,配置关卡使用自定义 GameMode
(1)在关卡编辑器工具栏右侧,点击 “设置 → 世界场景设置”(World Settings)

(2)展开“游戏模式”(Game Mode)类别,在 游戏模式重写 (GameMode Override)下拉框中,选择 BP_GameModeWithScore

4,测试自定义 GameScore
(1)打开关卡蓝图添加如下逻辑:
- 添加键盘数字键 8 按下事件。
- 添加 Get Game Mode 节点,获取当前关卡的 GameModeBase 引用。
- 对其进行 Cast To BP_GameModeWithScore,转换后调用 AddGameScore,将 Score 参数设为 10。

(2)运行游戏,可以看到每次按下数字 8 后,分数就会累加 10 分并打印到屏幕上。

全部评论(0)