Unreal Engine 4 UI基础设置

扩展:
《UE4的UI优化》
《Unreal Engine 4 中的 UI 优化技巧》


需要解决的问题:

  1. 目录

  2. 自适应各种分辨率

  • 设置基础分辨率:1136*640


    Unreal Engine 4 UI基础设置_第1张图片
    设置分辨率
  • 一个Bug:设置基础分辨率后,拖入一个Image组件,设置长宽为1136*640


    Unreal Engine 4 UI基础设置_第2张图片
    Bug

    图中的图片设置为基础分辨率相同的尺寸,为何确比屏幕小了很多?原因是DPI缩放。

  • DPI设置:右键DPI曲线,新增key


    Unreal Engine 4 UI基础设置_第3张图片
    DPI设置
  1. 锚点设置

  2. 字体导入
    UE4 Tutorial | Import Fonts for UMG, Text Render, etc.

  3. 是否需要Texture Atlas
    Atlas制作插件:
    VTA:VaTexAtlas Plugin

  4. 事件

  • button的点击事件可以直接在细节面板中添加。


    Unreal Engine 4 UI基础设置_第4张图片
    按钮的点击事件
  1. 常用控件
  • Button
  • Text
  • Image
  • InputField
  • ScrollView
  • ProgressBar
  • GridView

  1. 按钮点击事件被图片遮挡住
    设置图片属性:不参与点击测试


    Unreal Engine 4 UI基础设置_第5张图片
    不参与点击测试
  2. 容器选择Canvas Panel还是Overlay?
    出于性能的考虑,一般选择Overlay作为Container设计UI层级关系。
    但Overlay作为Container,子控件的很多细节属性不能自由设置,比如位置,需要通过Padding设置,Size也没办法按照实际大小进行适配,用起来很不方便。
  • 所幸,UE4.15以后支持了相同ZOrder的Canvas Panel的批次合并
    Unreal Engine 4 UI基础设置_第6张图片
    Canvas Panel批次合并

    摘自:Unreal Engine 4 中的 UI 优化技巧
    所以可以考虑使用相同Zorder的Canvas作为容器,然后设置相同ZOrder的批次合并
    需要设置:Edit->Poroject Settings->Engine->Slate Settings->Constraint Canvas->Explicit Canvas Child ZOrder
  1. UE4富文本
    UMG: Rich Text Block Widget in Unreal Engine 4 ( UE4 )

  2. Safe Zone的用法

  3. 类似于Prefab的UI蓝图用法

  4. ScrollBox的Cell蓝图制作:那什么作为父容器

  5. 默认从蓝图中拿不到Text控件?
    因为UE默认是不勾选文本控件的变量选项的,只有勾选变量才会生成相应的蓝图变量。


    Unreal Engine 4 UI基础设置_第7张图片
    是否是蓝图变量
  6. 屏蔽点击事件向下传递至3D场景
    function BuildingUpgrade:OnMouseButtonDown(Geometry, MouseEvent)
    return UE4.UWidgetBlueprintLibrary.Handled()
    end

你可能感兴趣的:(Unreal Engine 4 UI基础设置)