UI的创建

如何在屏幕上显示UI

先创建一个UI,内容浏览器里如图找到控件蓝图

在人物蓝图里面,
蓝图这个样子
这样就简单的把一个UI添加到了屏幕上

添加flip flop这个函数可以进行压T键进行创建移除,从父项移除不仅可以把UI从屏幕移除,还可以把UI从父类中移除。

Canvaspanel(画布)控件及其属性


感觉中文翻译挺详细的
那个工具提示工具常常用于物品栏的开发
绑定是按帧绑定,用于逻辑处理得到某一个值后返回到里面

Text控件讲解

锚点


锚点决定了UI 在屏幕哪个位置显示,可以进行自行尝试,分别把锚点放到左边右边中间,可以发现区别,因为由控件和锚点的距离决定,把锚点放到中间,这样就会保持到中间

线和点的区别,线是进行一定程度的拉伸,通常使用进度条进行拉伸

对齐


计算所有距离以这个距离进行计算

外观


注意添加材质后字体没了,是因为经过ue4的各种渲染后,消失了,其他东西自己理解

UI相应玩家输入以及相应机制

之前在人物蓝图中输入键盘会有一些键盘,但是在控件蓝图里面是没有这个函数的。
控件蓝图中的监听键盘事件的函数是
在图表面板里面函数旁边的重载里面有很多函数

诺,这个就好了!
最后那个已处理意味着输入流已经完成
但如果单单这样运行是无法在屏幕上输出那个字符串的,我们需要添加焦点,在事件图标里的事件构造里面拖出设置焦距,然后在UI里面的交互里的为可焦距点上对勾,这样我们就实现了在UI面板里面相应玩家输入

如果有很多字母的?我们可以使用switch,对于text可以先拖出tostring,然后可以拖出switch了

通过对handle和unhandle的多次试验,我们可以得出,输入流先流入UI在流入人物控制器

输入模式和鼠标指针

虚幻引擎里自带三个输入模式的函数

先讲解第三个

把它连接到人物蓝图里面去,按下T键发现UI和鼠标显示出来了,但注意鼠标应该只显示了一次,再次点击鼠标,鼠标指针就消失了,那应该如何显示鼠标指针呢?
从玩家控制器的返回值里面拖出set show mouse cursor函数把它连上并且勾选就好了

第一个选项对鼠标没有任何限制
第二个被捕获时(左键单击啊,右键点击屏幕啊之类的),不会让鼠标越过这个边界框
第三个,无论是否捕获,都在锁定
第四个,全屏时锁定。

设置仅输入UI模式,在人物蓝图中连好之后运行。
运行按下T在按下K键上面仅仅显示出UI中print函数的字符串

设置仅输入游戏输入就是游戏不接受UI的输入了


在UI里面这么写,记得删除人物蓝图里的flip flop,否则会报错。

progressBar与Image控件(进度条和图像控件)

当我们把进度条和文本框重叠在一起时,虽然Zorder都是同一级,但是却发现渲染先后顺序不同,这是因为,如果Zorder属于同一级,那渲染顺序取决于层级面板。
如果想要改变这种,那就改变Zorder,越大的Zorder越靠后渲染,也就是在顶层,越小的Zorder越先渲染,也就是底层。

把进度条的背景设置成UE4的logo,发现好像不对劲

选择了以盒子绘制,成了一个三成三的框并进行了延伸,把上述调成000就好了

一般绘制成图像即可


进度里面的为边框点上之后,自己可以尝试查看一下,这个常常用于游戏加载过程中的那个动画图!

尺寸,水平与控制窗

把image放入尺寸框后,会发现image会受到尺寸框的影响

这八个属性中前六个只有在大小到内容启用之后才可以使用
最下面两个意思这是否以1:1的纵横比进行拉伸
size box只能容纳一个子控件

按钮


这里有一些基础的外观设置,可以对其设置音效等等。
使用以下里面的event操作

这样可以实现最简单的关卡蓝图切换

这里可以设置对鼠标最简单的交互设置

外部图片的导入和设置

导入方式一:拖入导入
导入方式二:点击import
导入方式三:使用资源迁移,请注意,资源迁移迁移的是资源工程文件夹

当我们把图片导入ue4中,会发现图像不一样,是因为默认导入的世界贴图组,如果需要,应该改成UI贴图组,把默认压缩组改成改成2d资源使用,将它作为一个2d资源使用,这样资源就可以正常使用了。

基础UI动画制作与调用

以例子进行说明,创作一个淡入淡出的字幕/

控件蓝图设计器下端可以进行一些简单动画的实现,创建一个文本,实现淡入淡出,在时间轴里天剑两个关键帧,把不透明度分别调到0和1,打开自动K帧,拖动进度条,就可以看见字幕的淡入淡出,为了方便演示,现在设计一个按钮,点击时播放淡出淡出的动画


讲解一下播放动画的各个属性

目标在目前而言可以理解为作用于哪一个蓝图,具有多态性
第二个是执行是哪一个动画
Start at Time是执行的开始时间
下面的是播放次数,如果设置为0,那就会无限制循环播放,如果要停止,需要另一个函数stop animation,进行停止
播放模式有三个,注意最先面的pingpong意思是正着播放一段,在返回播放一段。
第三个是播放速率,类似于倍速
最后一个是恢复模式,意味着你的播放完毕后,你的动画所驱动的控件是你播放之后的状态还是你播放前的动态。

实战环节,制作一个状态条


这是我的最终样子,进行一个最大程度的复刻


考虑到左边可能会有图片进行导入,这里将修改边界左边的填充设置成150,注意到填充背景与长度的不符,这就是为什么要在覆层里面添加除了进度条之外还要添加image的原因
倾斜效果在变换里的修建可以进行更改
考虑到需要在游戏刚开始时就显示,所以,最后在人物蓝图里面写入添加到视口的蓝图。

UI中关联数据的几种方式

就以前面创建的状态栏为例,首先先给人物添加这些属性
这里由于时间关系,仅仅制作一个生命值的数据,先给人物添加变量,
下面进行数据关联,数据关联有两种方式,第一种时直接绑定变量,第二种时绑定一个函数
对于第一种直接绑定变量,点击bind,并没有出现一个可供选择的变量,这是因为没有一个变量可以获取的上面,得先获取,小白人蓝图中的变量,把信息传递到HUD面板中
最简单的的方法是

通过蓝图投射,把最简单的获取玩家角色转化为了小白人蓝图,显然也是需要游戏刚开始时候时就打开这个UMG面板,在小白人蓝图里我们运用的是事件开始运行这一函数,通过ctrl cv我们发现这一函数并不能在UI面板里面使用,保存编译,现在我们就可以在绑定里面发现变量。

第二种是创建一个函数逻辑,最后返回一个值,进行进度条的拖动。

这样我们就实现了与游戏的交互,这里是每帧调用,比较消耗性能,可以通过一个打印字符串函数进行调试

在人物蓝图里写两个函数,实现游戏中恢复hp
在人物蓝图里创建两个函数,


这样我们就实现了用数据与游戏的交互

显而易见,这种做法比较消耗性能,

此处插一句话
有些函数是绿色的,代表是纯函数,只是通过一些计算,不应该去修改一下数据,修改类啊其他的数据,对于游戏进程没有任何的影响

这个方法只有调用的时候才会去调用
基于目前的设定

这样就不会每帧调用,只有在人物调用NM后才会有一个了解

事件分配器


这样可以在很多蓝图里面都绑定事件


调用就是执行与此事件分配器所有绑定的事件
绑定的是事件,不能是函数

这样就把刚才的函数写成了一个事件,事件分配器可以把不同蓝图的不同函数集中到一个地方,这么多事件只用集中到一个事件分配器中,不用每次都手动去调用,最后只用调用一个事件分配器中去

悬停ToolTip的简单制作

1自定义提示信息(不仅限于文字)
如果想要提示信息为同一UI控件蓝图中的样式,可以创建完成后编译,进行属性绑定操作,选择属性中存在于该蓝图中的控件名称,运行后,鼠标移动到有绑定属性的按钮上时,会出现绑定的控件样式,鼠标移走后会自动消失。
22.函数绑定显示另外一个控件蓝图内容

在文件夹空白右键创建控件蓝图,设置自己想要展示的样式,编译并保存。

返回到用于显示的控件蓝图中,绑定选择创建绑定,生成绑定函数。

进入到图标编辑创建的绑定函数逻辑。只需要使用创建控件节点,将自定义的样式蓝图创建即可。

编译,运行

鼠标移动到绑定函数的控件上时显示提示信息,并且会自动检测是否在窗口边缘,以便更改提示信息出现的位置。

UE4UMG系统入门相关推荐

  1. v2视频服务器退出系统怎么启动,V2视频会议系统入门操作手册.doc

    V2视频会议系统入门操作手册 登陆方式 打开IE(浏览器),用户访问服务器地址00,进入V2 Conference系统主界面. 首次登录视频会议服务器,系统会自动提示客户端下载安装客户端插件,用户也可 ...

  2. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    转载自: 专栏:鸟哥的Linux私房菜笔记 - 博客频道 - CSDN.NET http://blog.csdn.net/column/details/dawanganban-linux-n.html ...

  3. Linux系统入门之如何安装Linux系统

    题目:Linux系统入门之如何安装Linux系统 一.准备工具: 1.Linux 镜像文件(Linux iso文件),直接的在 百度里面输入下载Linux系统版本即可 例如: 2.虚拟机模拟工具,例如 ...

  4. linux关机_3.5 开关机命令及7个运行级别《LINUX-centos7-操作系统入门到精通》

    常用的几个关机,重启命令. shutdown.init.reboot.poweroff 3.5.1 关机命令之shutdown.init 0 作用:关机,重启,定时关机 命令使用格式:shutdown ...

  5. 无人驾驶汽车系统入门(十六)——最短路径搜索之A*算法

    无人驾驶汽车系统入门(十六)--最短路径搜索之A*算法 路线规划中一个很核心的问题即最短路径的搜索,说到最短路径的搜索我们就不得不提A*算法,虽然原始的A*算法属于离散路径搜索算法(我们的世界是连续的 ...

  6. Ubuntu系统入门

    (一)Ubuntu系统入门 Ubuntu系统入门 1.目录结构和系统文件 目录 解释 /bin 重要的二进制文件 /boot 启动boot配置文件 /dev 设备文件 /etc 配置文件.启动脚本 / ...

  7. linux 免费教程下载,Linux系统入门教程

    Linux系统入门教程 (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 Linux系统入门教程(文档资料整理) (2011-08-0 ...

  8. Ninja构建系统入门--GN与Ninja构建过程

    Ninja构建系统入门--GN与Ninja构建过程 开始 GN构建系统 搭建 结束 开始 GN构建系统 GN是一种元构建系统,生成Ninja构建文件(Ninja build files),相较GYP而 ...

  9. 无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别

    无人驾驶汽车系统入门(十一)--深度前馈网络,深度学习的正则化,交通信号识别 在第九篇博客中我们介绍了神经网络,它是一种机器学习方法,基于经验风险最小化策略,凭借这神经网络的拟合任意函数的能力,我们可 ...

  10. Windows通用克隆系统入门基础知识简介

    Windows通用克隆系统入门基础知识简介 这里的Windows是指微软的Windows 2000/XP/2003(后文中未经说明的,凡是Windows均指这三种系统):所谓的通用克隆,俗名万能克隆, ...

最新文章

  1. Go 语言实现字符串匹配算法 -- BF(Brute Force) 和 RK(Rabin Karp)
  2. Jquery动画效果--地铁站名指示等效果
  3. 「后端小伙伴来学前端了」Vue中Props 实现组件通信TodoList案例
  4. 数组越界怎么判断_算法连载之求解两个有序数组的中位数
  5. 虚拟机安装以及PCL的配置(1)
  6. 解决Windows环境下Git Bash 不能输入中文的问题
  7. Qt工作笔记-对QObject::connect函数进一步认识(重载)
  8. 前端:CSS/08/框架
  9. javascript 控制语句
  10. html5--3.19 新增的progress/meter元素
  11. JSTL表达式的理解和使用
  12. VMware Workstation虚拟机无法获取IP地址的解决办法
  13. ADC的动态范围 DR
  14. storm源码分析研究(十三)
  15. 微信域名防封,微信网址域名防封的几种方法
  16. 使用 Docker 和 Nginx 打造高性能的二维码服务
  17. Java程序设计课程——实验2
  18. 基于梯度优化的混沌PSO算法matlab仿真以及在磁悬浮球系统方面的应用
  19. where 空集_为什么 ZF 公理系统要包含空集定理?
  20. 子网怎么算?IP地址(A,B,C,D,E类地址),子网,子网掩码,容纳主机20台,网络号,主机号

热门文章

  1. 面经手册 · 第1篇《认知自己的技术栈盲区》
  2. 数字电路:常见的锁存器浅析(S-R,S‘-R‘,使能端的S-R,D)
  3. oracle数据库导出数据为csv包含clob数据
  4. .net性能最高的EF分页写法
  5. symbian3 java游戏测试,Symbian^3愤怒的小鸟测试版C7首发实测
  6. 国科大学习资料–模式识别--精练考点
  7. zblog php mip,ZBlogPhp模版-极简百度MIP自适应主题
  8. SpringMVC 配置定时执行任务
  9. 深度学习基础6(微分,偏导,梯度,链式法则)
  10. 聚焦NFT+DeFi应用价值 Trister World共识研讨会于南京顺利召开