专栏名称: 游戏开发技术教程
网易十年码农,教程、内推、解惑。游戏开发技术、技巧、教程和资源下载,答疑解惑,内推面试。Unity3D、UnrealEngine(UE4、UE5)引擎,C#、C++等语法,图形渲染、物理动画、原理机制、源码剖析等及面试笔试题、职业规划。
今天看啥  ›  专栏  ›  游戏开发技术教程

虚幻4渲染编程(工具篇)【第九卷:SlateUI布局】

游戏开发技术教程  · 公众号  · 游戏开发  · 2024-05-21 19:52
    

主要观点总结

本文介绍了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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览