主要观点总结
本文介绍了Slate UI设计框架在虚幻引擎中的应用,详细解释了其设计原理、组织方式及布局原理。文章涵盖了Slate的插槽、尺寸、面板和UI按钮的尺寸控制等方面,并提供了实际示例来说明布局过程。
关键观点总结
关键观点1: Slate UI设计框架简介
Slate是一个跟平台无关的UI设计框架,可用于引擎UI、编辑器开发及其他应用程序。对Unreal的Slate进行研究,探讨了插槽、尺寸、布局和UI按钮的尺寸控制等关键概念。
关键观点2: Slate的设计原理与组织方式
Slate的UI控件分为SLeafWidget、SCompounWidget和SPanel等类型。其中,插槽是核心概念,可以理解为一个节点。每个插槽可以拥有不同的填充模式,如Auto、Stretch等。
关键观点3: UI控件的布局过程
布局过程首先涉及对UI空间的切割,确定每个Slot的空间大小。然后根据不同UI控件的填充模式,将Slot空间进行填充。关键参数如SizeParm、SizeRule、HAlign和VAlign等用于控制布局。
关键观点4: SizeRule和填充模式的影响
当UI控件的大小总和大于窗口大小时,Auto模式的Slot绝对大小不会改变,多余的部分会被擦掉。Stretch模式会根据所有slot的fill百分比进行缩放。
关键观点5: 总结与展望
作者认为Slate写UI比较简单,各种东西都封装好了,开发起来十分方便。最后作者提到其他相关话题和参考资料。
文章预览
MY BLOG DIRECTORY: INTRODUCTION: Slate是跟平台无关的一个UI设计框架,不仅仅可以用来做引擎UI,还可以做引擎编辑器,甚至可以用它来开发其他应用,比如虚幻epic的商城。 一直以来对Unreal的Slate都非常困惑,各种插槽,尺寸,各种布局Panel,最后的UI按键到底尺寸多大感觉难以控制,非常玄学,所以特别研究了一下虚幻的Slate布局。 MAIN CONTENT: 首先需要先知道Slate的设计原理和组织方式。 上图黄色框内的部分是可渲染部分,红色框部分是用于UI布局的部分。SLeafWidget没有插槽,SCompounWidget可以拥有一个插槽,SPanel可以拥有很多插槽。这里需要说明的是可以把插槽理解为一个节点。 下面来几个实际的例子 可以看到我创建了三个按钮,最上面两个按钮在最下面那个按钮的slot里。一个slot里可以嵌套一个Panel然后这个panel又可以嵌套几个Slot。类似如下结构。SLe
………………………………