HUD
HUD的创建
HUD的创建方法和GameMode、GameState等的创建方法一样。注意,创建我们自己的MUD之后,要在GameMode里面应用我们自己的MUD。
绘制文字
直接在HUD蓝图编辑器中,右键-HUD
操作主要分为两种,绘制(Draw)和获取(Get)
使用绘制函数有一个硬性要求:必须放在接收绘制HUD(Receive Draw HUD)中:
绘制函数要不停的绘制,而不是只绘制一次。因此事件接收绘制HUD(Receive Draw HUD)是逐帧调用函数
在屏幕上绘制文本:
Size X 和Size Y 的返回值为当前屏幕的宽和高
在做UI的时候,很少像上图这样,直接在位置处填上数字。因为这样填绝对值之后,如果屏幕的分辨率改变,则文字的位置会发生变化。
添加字体
其中XXX_Font为一个字体集,可以在里面添加多种字体,以及调整字体大小。
绘制纹理
绘制简单纹理(Draw Texture Simple)和绘制纹理(Draw Texture):
Screen X 和 Screen Y :绘制的位置
Screen W 和 Screen H :绘制的区域的宽度和高度
Texture U 、 Texture V :控制UV图(图片的左右无限延伸平铺)的截取位置
Texture UWidth 、 TextureVHeight:控制UV图中的图片的截取数量
Tint Color:添加叠加色
Blend Mode:图片与场景的混合方式
Scale:放大和缩小
Scale Position:放大和缩小的时候是否影响位移信息
Rotation:旋转,默认绕着左上角的锚点(可以做赛车游戏的速度仪表盘)
Rot Pivot:改变旋转锚点(可以做赛车游戏的速度仪表盘)
绘制材质
绘制简单材质(Draw Material Simple)和绘制材质(Draw Material):
Material:材质选择,注意,选择的材质的材质域必须是用户界面
其他参数和纹理绘制部分相同
绘制简单纹理(Draw Material Simple)
V0、V1、V2 Pos:三角形三个顶点的坐标
V0、V1、V2 UV:UV图中的信息
V0、V1、V2 Color:叠加色信息
绘制矩形和线条
绘制矩形(Draw Rect)、绘制线条(Draw Line)
接收按键交互
如何让HUD获得键盘输入事件:
接收鼠标交互
如何让HUD获得鼠标交互能力:
构建命中框(监听框):
构建鼠标交互事件(点击、进入、退出):
HUD坐标转换
世界坐标系(三维)和HUD坐标系(二维)如何相互转换
反向投射(Deproject):将一个2D屏幕位置变化到一个3D位置和方向
项目(应该翻译成投射,Project):3D变化为2D
HUD中的Project和Deproject节点只能在事件Receive Draw HUD里面使用,在别的地方调用没有效果
在非HUD中进行空间转化的节点: