主要内容
如何快速做出UI框架?
几个实用的小控件
虚幻4中界面的制作,有两种方式,稍微复杂的是HUD,简单一点的是UMG(User Widget)
HUD和UMG都可以制作简单的显示,按钮之类的,我觉得HUD更适合制作小地图和其它复杂一点的,HUD跟材质结合的比较密切。如果是简单点的UI,UMG就可以了,操作方便,属性绑定也快。
值得一提的是使用蓝图制作UI比用C++实现方便的多
下面这种五分钟不需要调试直接出来(仅仅是界面,不包括任何程序)
UMG的控件具体使用官方文档已经很详细了不多说
如何快速做出UI框架?
如果有用其它软件做UI的经验,那么你很快就能掌握布局的技巧
虚幻4提供了很多布局的控件,只使用两个控件基本上能做出大多数固定的控件了,两个控件:水平box和垂直box
只需要嵌套就足矣,哪怕用C++写原理也是嵌套,各种功能的盒子装进盒子,
关键属性在于插槽里面的Padding(内边距),Size,以及水平和垂直的居中/拉伸
上面几个东西搞懂了,以后学什么QT啊,Tkinter啊,Css啊都可以很快掌握,当然反过来也是一样。至于具体怎么布局还是要自己多练习
几个实用的小控件
第一个:WidgetSwitcher
作用类似于翻页,设置ActiveWidgetIndex即可
比如我们做一个简单的样例
第二个:Scroll Box(滚动框)
竖直水平滚动都可以,你甚至可以在水平滚动框中嵌入几个竖直滚动
最后一个:Uniform Grid Panel(均匀网格)
这个比较适合做背包,商店一类,当然如果你要做拖放的背包也可以实现,时间有限,我可能在后面进行补充,也可以做出我的世界移动端那种按住计数再转移的背包
两个关键设置
childlayout子布局设置格子的内边距(你放进去的控件是在这个格子里面,所以是内边距)
放进去的控件会多出来一个row和column,控制第几行第几列
还有几个就懒得说了,这些都是旁枝末节,理解了原理,其实都一样
至于控件的创建,属性的绑定,官方文档也已经给出了准确的答案。
UI与程序分离
这里的界面指的是用蓝图写的或者用程序写的界面,程序指的是游戏逻辑,比如说制作一个血条,
血条的作用是根据0-1的浮点数显示一个百分比(界面)
这个百分数=当前血量/最大血量(逻辑)
那么就应该把计算过程放到角色类中,哪怕这个过程很简单
(很zz的一个例子。。)但是如果你不注意这个问题,属性和控件数量都比较多的时候就很麻烦
其实就是遵循面向对象程序设计思路,当然每个界面也可能有自己的逻辑,比如增删查改,拖放啊之类的
结语
在游戏开始之前设计好UI很简单,但是游戏内UI通常都在不断改变,最常见的例子就是背包,增添物品,丢弃物品,有的物品有数量,有的没有,还有背包与“仓库”物品的交换,这些操作相对复杂,不要着急,后面我将会用一个RPG游戏告诉大家,如何把游戏逻辑和界面结合起来