UE5 蓝图学习计划 - Day 10:UI 系统(HUD 与 Widget)
创作时间:
作者:
@小白创作中心
UE5 蓝图学习计划 - Day 10:UI 系统(HUD 与 Widget)
引用
CSDN
1.
https://blog.csdn.net/m0_37643873/article/details/145410803
在游戏开发中,UI(用户界面) 是玩家获取游戏信息、与游戏进行交互的重要部分。Unreal Engine 5 提供了 HUD(Head-Up Display) 和 Widget Blueprint(小部件蓝图) 来帮助开发者创建 血量条、得分系统、菜单界面 等 UI 组件。在本篇文章中,我们将学习如何使用 Widget Blueprint 创建 UI,并通过蓝图更新 UI 数据,最终实现一个 血量与得分系统。
理论学习
- HUD(Head-Up Display)
- HUD 是传统的游戏 UI 系统,主要用于显示 玩家状态(血量、得分、时间)。
- 主要通过 DrawText() 和 DrawTexture() 在屏幕上绘制信息。
- 在 UE5 中,HUD 主要用于 旧版 UI 开发,新项目更推荐使用 Widget Blueprint。
- Widget Blueprint(小部件蓝图)
- Widget Blueprint 是 UE5 现代化 UI 开发的核心工具。
- 允许使用 拖拽 UI 组件 设计界面,并通过 蓝图控制 UI 数据更新。
- 主要组件:
- Text(文本):用于显示分数、血量等信息。
- Progress Bar(进度条):用于显示血量或能量。
- Image(图片):用于显示游戏 UI 图标。
- Button(按钮):用于玩家交互,如菜单按钮。
实践任务:创建血量与得分 UI
目标
- 创建 HUD UI
- 添加 血量条(Health Bar),动态更新角色血量。
- 添加 得分文本(Score Text),显示当前得分。
- 在角色蓝图中更新 UI
- 角色受到伤害时,血量 UI 变化。
- 角色拾取物品时,得分 UI 更新。
步骤 1:创建 UI 蓝图
创建 Widget Blueprint
在 Content Browser 右键 User Interface > Widget Blueprint。
选择 User Widget,命名为 WBP_GameUI。
双击打开 UI 编辑界面。
设计 UI 界面
添加Canvas Panel
- 在 Hierarchy 面板,拖入Canvas Panel。
- 添加血量条
- 在 Hierarchy 面板,拖入 Progress Bar,放到Canvas Panel下面,命名为 HealthBar。
- 设置 Fill Color 为红色,调整 大小 适配 UI 需求。
- 添加得分文本
- 拖入 Text 组件,命名为 ScoreText。
- 设置默认文本为 “Score: 0”。
- 调整布局
- 使用 Canvas Panel 进行 UI 布局。
- 将血量条放置在 屏幕左上角,得分文本放在 右上角。
步骤 2:创建 UI 更新逻辑
- 在 WBP_GameUI 中创建变量
- 在 Graph 视图,添加以下 绑定变量:
- PlayerHealth(Float):角色血量,默认值 1.0(代表 100%)。
- PlayerScore(Integer):角色得分,默认值 0。
- 切换到Designer视图 绑定 血量条进度
- 选中 HealthBar,在 Details 面板 绑定 Percent:
- 这样当 PlayerHealth 变化时,血量条 UI 也会自动更新。
- 绑定 得分文本
- 选中 ScoreText,绑定 Text:
- 这样 PlayerScore 变量更新时,文本 UI 也会更新。
步骤 3:将 UI 添加到屏幕
- 在角色蓝图中创建 UI
- 打开 BP_PlayerCharacter,在 Event Begin Play 事件中:
- 创建 UI
- 存储 UI 变量
- 这样 UI 会在游戏启动时自动显示。
- 更新 UI
- 在 角色受伤事件(使用键盘X事件来模拟) 中:
- 减少 PlayerHealth。
- 调用 UI 变量的 Set PlayerHealth 更新血量条。
- 在 角色拾取物品事件(使用键盘P事件来模拟) 中:
- 增加 PlayerScore。
- 调用 UI 变量的 Set PlayerScore 更新得分文本。
步骤 4:测试 UI
- 运行游戏,观察 血量条与得分 UI 是否正确显示。
- 按键盘X让角色受到伤害,观察 血量 UI 是否减少。
- 按键盘P让角色拾取物品,观察 得分 UI 是否增加。
学习收获
通过今天的学习,你掌握了:
- 如何使用 Widget Blueprint 创建 UI(血量条、得分文本)。
- 如何通过蓝图变量动态更新 UI 数据。
- 如何将 UI 绑定到角色蓝图,实现游戏交互。
下一步学习计划
接下来,我们将学习 材质与特效系统,探索如何通过 动态材质(Dynamic Material) 和 粒子特效(Particle Effects) 提升游戏的视觉表现!🚀
热门推荐
热敷神阙穴的功效与作用
穴位趣谈:名称中带“神”的穴位
每天一个穴位——神阙
洗碗粉用完了怎么办?洗碗粉简便DIY步骤大公开
大型全自动洗碗机的维护保养指南
袁家村的乡村旅游秘籍:从“烂杆村”到“中国乡村旅游第一村”
浙江安吉:美丽乡村建设的创新实践与全国示范
山湾村&潴口溪村:乡村环境整治的典范
村转居新居民的休闲方式大变天
逢魔时王 vs 帝皇侠:谁才是真正的王者?
逢魔时王:动画界最强战力?
逢魔时王:时间王者的最强战斗技巧揭秘
科学训练猫咪:从基本技能到行为纠正
猫咪也能学会狗狗握手?教你六步轻松搞定!
幼猫乱咬人?这些玩具让它们瞬间变身乖巧萌猫!
文旅发展|颜神古镇有了新“灵气”
淄博颜神古镇:千年古窑的新生与艺术魅力
高德地图安全预警助力自驾游:从路线规划到应急处理全攻略
自驾游遇突发状况?这份攻略让你从容应对!
315来了,邱宝昌教你如何维权
劳动监察部门 vs 劳动仲裁:谁更适合你?
315权益日来临,教你用法律武器捍卫消费权益
秋冬鼻腔干燥?这7招让你告别鼻干烦恼!
应急总医院专家支招:秋季鼻腔干燥如何防护?
湖南师大湘东医院专家支招:冬季鼻腔干燥怎么办?
春节带宠旅行还是寄养?这份攻略帮你轻松做出选择
《僵尸先生》:香港僵尸电影的文化现象
香港“鬼片”展揭秘《僵尸先生》传统文化
年底工作总结难倒你了吗?这份实用攻略请收好!
年终总结助力企业战略升级