Skip to content

Week4

主要介绍UMG界面。

UMG简介

UMG是Unreal Motion Graphics的缩写,是UE4中的一种用于创建用户界面的工具。UMG是基于Slate框架的,Slate是UE4中的一种用于创建用户界面的工具,UMG是Slate的一个高级封装。

UMG的使用

UMG编辑器

UMG编辑器界面主要组成:

  • Palette:用于选择控件的面板
  • Hierarchy:显示控件的层级关系
  • Details:显示控件的属性,可以修改控件的属性或者事件
  • Graph:显示控件的事件
  • Viewport:显示控件的预览
  • Animation:显示控件的动画

UMG蓝图制作要点

  • 元素展现:通过图片文字等元素展现UI
  • 交互体验:使用按钮滑动条输入框等控件实现交互
  • 布局调整和适配:使用布局控件和锚点实现UI的适配,如使用四向拉伸的锚点实现UI的适配
  • 功能实现:使用蓝图实现UI的功能,如preconstruct、construct、oninitilize等事件

还可以通过代码的方式实现UI的逻辑,创建一个继承自UserWidget的C++类,然后在UMG中把Class Citing设置为这个类,此时父类的事件会自动绑定到UMG中。

C++
1
2
3
4
class UTextBlock;
public:
    UPROPERTY(BlueprintReadOnly,meta=(BindWidget))
    UTextBlock *Block;

设计完UI后,在GameMode中设置UI的显示,使用CreateWidget函数创建UI,使用AddToViewport函数将UI添加到视口中。

刷新函数绑定:使用BindWidget函数绑定UI中的控件,然后在蓝图中调用刷新函数;为了主动刷新,可以在蓝图中调用函数,然后在函数中刷新UI。