【UE4】HUD(蓝图)

HUD

HUD的创建

HUD的创建方法和GameMode、GameState等的创建方法一样。注意,创建我们自己的MUD之后,要在GameMode里面应用我们自己的MUD。

绘制文字

直接在HUD蓝图编辑器中,右键-HUD

操作主要分为两种,绘制(Draw)和获取(Get)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8X2tAkwU-1667209849652)(D:\typora\image\image-20221031094335691.png)]

使用绘制函数有一个硬性要求:必须放在接收绘制HUD(Receive Draw HUD)中:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6oTqxi8K-1667209849654)(D:\typora\image\image-20221031094703724.png)]

绘制函数要不停的绘制,而不是只绘制一次。因此事件接收绘制HUD(Receive Draw HUD)是逐帧调用函数

在屏幕上绘制文本:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDa4g0lA-1667209849655)(D:\typora\image\image-20221031095553571.png)]

Size X 和Size Y 的返回值为当前屏幕的宽和高

在做UI的时候,很少像上图这样,直接在位置处填上数字。因为这样填绝对值之后,如果屏幕的分辨率改变,则文字的位置会发生变化。

添加字体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dy3ZTLHG-1667209849656)(D:\typora\image\image-20221031103102123.png)]

其中XXX_Font为一个字体集,可以在里面添加多种字体,以及调整字体大小。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hIy53IGp-1667209849656)(D:\typora\image\image-20221031103219863.png)]

绘制纹理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yodZ7TD8-1667209849657)(D:\typora\image\image-20221031103417209.png)]

绘制简单纹理(Draw Texture Simple)和绘制纹理(Draw Texture):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IEabcIH6-1667209849658)(D:\typora\image\image-20221031104751614.png)]

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):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zuh7hqQ2-1667209849659)(D:\typora\image\image-20221031111003830.png)]

Material:材质选择,注意,选择的材质的材质域必须是用户界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dpks9Lgr-1667209849660)(D:\typora\image\image-20221031111407637.png)]

其他参数和纹理绘制部分相同

绘制简单纹理(Draw Material Simple)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRlzImOr-1667209849660)(D:\typora\image\image-20221031112020278.png)]

V0、V1、V2 Pos:三角形三个顶点的坐标

V0、V1、V2 UV:UV图中的信息

V0、V1、V2 Color:叠加色信息

绘制矩形和线条

绘制矩形(Draw Rect)、绘制线条(Draw Line)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BAFWGaDz-1667209849661)(D:\typora\image\image-20221031150314105.png)]

接收按键交互

如何让HUD获得键盘输入事件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5IpUXXWK-1667209849662)(D:\typora\image\image-20221031164641412.png)]

接收鼠标交互

如何让HUD获得鼠标交互能力:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XNTAhRgm-1667209849663)(D:\typora\image\image-20221031171351104.png)]

构建命中框(监听框):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mfoLXIe6-1667209849663)(D:\typora\image\image-20221031171431574.png)]

构建鼠标交互事件(点击、进入、退出):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6dXu5lpM-1667209849664)(D:\typora\image\image-20221031171521383.png)]

HUD坐标转换

世界坐标系(三维)和HUD坐标系(二维)如何相互转换

反向投射(Deproject):将一个2D屏幕位置变化到一个3D位置和方向

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-quHtZ2Os-1667209849665)(D:\typora\image\image-20221031173408540.png)]

项目(应该翻译成投射,Project):3D变化为2D

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x3gM465K-1667209849666)(D:\typora\image\image-20221031173539801.png)]

HUD中的Project和Deproject节点只能在事件Receive Draw HUD里面使用,在别的地方调用没有效果

在非HUD中进行空间转化的节点:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ZSoOCFj-1667209849667)(D:\typora\image\image-20221031174150143.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RbI3bxzx-1667209849668)(D:\typora\image\image-20221031174814419.png)]

猜你喜欢

转载自blog.csdn.net/weixin_44283836/article/details/127620334