扩展:
《UE4的UI优化》
《Unreal Engine 4 中的 UI 优化技巧》
需要解决的问题:
目录
自适应各种分辨率
-
设置基础分辨率:1136*640
设置分辨率 -
一个Bug:设置基础分辨率后,拖入一个Image组件,设置长宽为1136*640
Bug
图中的图片设置为基础分辨率相同的尺寸,为何确比屏幕小了很多?原因是DPI缩放。
-
DPI设置:右键DPI曲线,新增key
DPI设置
锚点设置
是否需要Texture Atlas
Atlas制作插件:
VTA:VaTexAtlas Plugin事件
-
button的点击事件可以直接在细节面板中添加。
按钮的点击事件
- 常用控件
- Button
- Text
- Image
- InputField
- ScrollView
- ProgressBar
- GridView
-
按钮点击事件被图片遮挡住
设置图片属性:不参与点击测试
不参与点击测试 - 容器选择Canvas Panel还是Overlay?
出于性能的考虑,一般选择Overlay作为Container设计UI层级关系。
但Overlay作为Container,子控件的很多细节属性不能自由设置,比如位置,需要通过Padding设置,Size也没办法按照实际大小进行适配,用起来很不方便。
- 所幸,UE4.15以后支持了相同ZOrder的Canvas Panel的批次合并
Canvas Panel批次合并
摘自:Unreal Engine 4 中的 UI 优化技巧
所以可以考虑使用相同Zorder的Canvas作为容器,然后设置相同ZOrder的批次合并
需要设置:Edit->Poroject Settings->Engine->Slate Settings->Constraint Canvas->Explicit Canvas Child ZOrder
UE4富文本
UMG: Rich Text Block Widget in Unreal Engine 4 ( UE4 )Safe Zone的用法
类似于Prefab的UI蓝图用法
ScrollBox的Cell蓝图制作:那什么作为父容器
-
默认从蓝图中拿不到Text控件?
因为UE默认是不勾选文本控件的变量选项的,只有勾选变量才会生成相应的蓝图变量。
是否是蓝图变量 屏蔽点击事件向下传递至3D场景
function BuildingUpgrade:OnMouseButtonDown(Geometry, MouseEvent)
return UE4.UWidgetBlueprintLibrary.Handled()
end






