UE4官方文档UI学习:2.UMG 创建主菜单

最近开始学习UE4,整理了一下UE4的UMG官方文档的主要内容。

目录:

UE4官方文档UI学习:1.UMG UI设计器快速入门
UE4官方文档UI学习:2.UMG 创建主菜单


本节要点

批量对按钮的尺寸进行调整,并定义鼠标悬停时按钮的颜色。
设置图像
OnClicked事件设置
注意:细节中要勾选is variable才能在Graph中拖出来。
Open Level函数节点:加载关卡
Remove from Parent 函数节点:将自己从视口中移除
Set Visibility函数:进行隐藏/显示
Execute Console Command函数:进行分辨率的修改
Set Show Mouse Cursor节点,显示鼠标
Get Player Controller函数:获取玩家的输入
Set Input Mode Game Only:将玩家的输入设为仅限游戏(Game Only)。


创建并打开MainMenu 控件蓝图

层级设置如下:

UE4官方文档UI学习:2.UMG 创建主菜单

PlayBtn:打开关卡并移除自身的widget blueprint

UE4官方文档UI学习:2.UMG 创建主菜单

OpenLevel节点:设为 FirstPersonExampleMap
Remove from Parent 节点:将从视口中移除 目标本身的 控件蓝图


OptionsBtn:隐藏MainMenu,并显示OptionsMenu

UE4官方文档UI学习:2.UMG 创建主菜单

SettingBtn:修改分辨率

Execute Console Command 节点中填写r.setRes XxY,其中X和Y是要使用的尺寸。
UE4官方文档UI学习:2.UMG 创建主菜单


ReturnBtn:显示MainMenu,并隐藏OptionsMenu

逻辑跟OptionsBtn相反。
UE4官方文档UI学习:2.UMG 创建主菜单

编译并保存


设置关卡蓝图

UE4官方文档UI学习:2.UMG 创建主菜单 Set Show Mouse Cursor 节点要打钩: UE4官方文档UI学习:2.UMG 创建主菜单

修改 Content/FirstPersonBP/Blueprints/First Person Character) 蓝图

进入游戏要关闭光标,并将玩家的输入设为仅限游戏(Game Only),增加如下设置:
UE4官方文档UI学习:2.UMG 创建主菜单


分配游戏模式并更改玩家角色

我们不希望玩家能够在主菜单(Main Menu)后四处奔跑和射击,所以我们现在要为这张地图分配一个游戏模式,并更改玩家的角色,使其使用可玩的 第一人称角色(FirstPersonCharacter) 蓝图中的引擎默认角色。

UE4官方文档UI学习:2.UMG 创建主菜单

在 游戏模式(Game Mode),将 游戏模式覆盖(GameMode Override) 设为 第一人称游戏模式(FirstPersonGameMode) 并将 默认Pawn类(Default Pawn Class) 更改为 角色(Character)。
UE4官方文档UI学习:2.UMG 创建主菜单

上述是官方文档的流程,但我试了一下发现进游戏进不去:

UE4官方文档UI学习:2.UMG 创建主菜单

进入关卡就打开MainMenu,play按钮触发了就销毁自己进关卡,然后继续触发进关卡开MainMenu的逻辑,死循环了。

于是我断开了关卡蓝图里面创建MainMenu控件的链接,并通过G键在游戏运行打开MainMenu这套逻辑,设置如下:

UE4官方文档UI学习:2.UMG 创建主菜单

运行效果:
UE4官方文档UI学习:2.UMG 创建主菜单


参考链接:https://docs.unrealengine.com/zh-CN/Engine/UMG/HowTo/CreateMainMenu/index.html