虚幻引擎(UE4) UMG 属性绑定

UMG(Unreal Motion Graphics UI Designer)中最有用的功能就是在蓝图中绑定属性或者函数到你的UI组件上。通过属性或函数的绑定,任何时候你调用函数或者属性修改将反映在UI的变化表现上。

函数绑定

用实例来说明,下图是一个(Progress Bar)进度条组件,你希望通过它来表现玩家实时的生命变化。在Progress Bar组件的Detail界面的Appearance属性下面,你会看到一个Bind(绑定)按钮(下图中黄色高亮区域)。

Apperance.png

点击Bind按钮之后,选择Create Binding(创建属性),一个新的函数将会被创建出来并自动在蓝图中打开:

NewFunction.png

Return Value与进度值联系在一起,因此你可以传入一个值来更新进度值。

PlayerHealth.png

上图中,从角色的蓝图中获取一个变量值(Player Health)传入Return Value。任何时候玩家的生命一旦发生变化将会反映在进度条的变化上。

属性绑定

Property Binding是指定一个属性变量绑定到UI组件上。这个属性发生变化,UI上也跟着变化,这里反映为进度条发生变化。

下面看一个栗子:

Property1.png

Property2.png

上面的图片中的菜单有三个按钮:CONTINUE,START和Quit。我们希望只有Continue按钮可用,在该按钮的Detail面板中的Behavior栏下面,你取消勾选IsEnabled(这样就默认不坑用了)。再点击Bind按钮打开组件蓝图,如果之前没有创建任何变量就创建一个bool变量,命名为DoesSaveExist。将这个变量绑定到该按钮如下图:

Property3.png

绑定成功后,任何时候你只要修改了该变量的值,将会启用或者禁用这个按钮。

注意:如果你绑定了属性到Widget组件,然后你直接调用这个Widget的设置禁用或者启动的函数(SetEnabled),这个绑定将被破坏,不再起作用。

### 关于 UE4UMG 的定义、功能与用途 #### 定义 UMG 是 Unreal Motion Graphics 的缩写,在虚幻引擎 4 (UE4) 中,它是一种用于设计用户界面 (UI) 的工具。具体来说,Blueprint (User Interface-Blueprint),即通常所说的 UMG,是用来创建 UI 工程文件的核心组件[^1]。 --- #### 功能 UMG 提供了一套完整的可视化编辑器来构建和管理用户界面元素。以下是其主要功能: 1. **拖放式布局设计** 开发者可以通过直观的拖放操作快速布置按钮、文本框、图像和其他 UI 组件。 2. **事件绑定支持** 可以为 UI 元素绑定交互逻辑,例如点击按钮触发特定动作或打开新窗口等功能。 3. **动态更新能力** 支持运行时修改 UI 属性,比如调整颜色、字体大小或者隐藏/显示某些控件。 4. **跨平台兼容性** 创建的 UMG 文件能够无缝适配多种目标设备屏幕尺寸及分辨率设置[^3]。 5. **资源集成便捷** 所有已创建完成的 Widget 都会被记录在 Project Browser 下方分类目录中的 “User Created” 节点下以便随时调用查看[^2]。 --- #### 用途 UMG 广泛应用于各类需要图形化展示的应用场景之中,特别是在游戏开发领域占据重要地位。它的典型应用场景包括但不限于以下几个方面: 1. **菜单系统制作** 构建主菜单、暂停菜单以及其他形式的功能选项卡页面等基础框架结构。 2. **HUD 显示面板定制** 设计并实现健康条、能量槽、迷你地图之类的实时反馈型 HUD 界面。 3. **过场动画控制台搭建** 编辑对话气泡提示框或是其他叙事驱动的内容呈现方式。 4. **虚拟键盘模拟器生成** 当针对触屏类硬件进行优化时尤为有用,可以提供输入法解决方案给移动版本产品使用。 通过上述描述可以看出,UMG 不仅简化了传统编程流程下的复杂度,还极大地提高了工作效率与创作自由度,成为现代游戏开发者不可或缺的好帮手之一。 --- ```python # 示例代码:如何加载一个 UMG Widget Blueprint 到游戏中 def load_umg_widget(): widget_class = LoadClass("/Game/UI/MainMenu.MainMenu_C") # 替换路径为你自己的 UMG 类名 new_widget = CreateWidget(widget_class, GetWorld()) if new_widget is not None: new_widget.AddToViewport() ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呦呦鹿鸣.

你的打赏是给予我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值