虚幻引擎之方向轴制作总结

本文档详述了如何在虚幻引擎中创建并编辑类似绝地求生游戏上方的方向轴,包括创建文件、编辑方向轴、UI界面、关卡蓝图,以及后续的优化步骤。通过创建用户界面控件蓝图,设置图像和位置,编写蓝图函数来实时更新方向轴,并最终整合到UI和关卡蓝图中,实现了动态方向轴的显示。教程最后还涉及了对初始设计的优化,确保方向轴始终指向玩家视角方向。
摘要由CSDN通过智能技术生成

目的:本文章欲记录制作类似绝地求生游戏中上方的方向轴的步骤。

目录

一.创建文件

二. 编辑方向轴

三.编辑UI界面

四.编辑关卡蓝图

五.后续优化




一.创建文件

先在Content文件下创建一个文件夹,命名好。这里我命名为UMG。

 右键内容面板,创建用户界面→控件蓝图,并命名为W_UserHUD,用于用户界面。

 再创建一个控件蓝图,命名为W_RotationBarWidget,用于存放坐标轴。

二. 编辑方向轴

打开W_RotationBarWidget,左侧添加一个垂直框(vertical Box),将视图右上角的填充屏幕换为所需(目的是为了添加到HUD中)。

 之后在垂直框下面添加一个覆层(overlay)。

再在覆层下添加一个图像(image),用于时刻指向中间位置。 

 之后在垂直框下添加一个画布面板(Canvas Panel),画布面板下添加一个图像(image)。

选中垂直框,右侧细节面板处搜索clipping,将“继承”改为“剪切到边界”(这样内容超出边框就不显示了)。

 将尺寸X:改为500,尺寸Y:改为55(看个人需求)。

 选中画布面板,将其调为水平、垂直居中对齐。

 覆层下的图片也进行居中操作。

 之后去阿里图库下载一个倒三角图片(白色),重命名为T_RotationBarTriangle。

在虚幻引擎中,新建文件夹Textures—UMG,将方向轴(提前做好)和倒三角图片导入。 

打开W_RotationBarWidget,左侧选中覆层下的图片,右侧细节面板处图像,找到倒三角。

 同理,也导入方向轴。

设置尺寸X:为1500,尺寸Y:为40(这是编辑图片时设置的大小)。对齐X、Y均为0.5,位置X、Y均为0,瞄点居中。

再打开蓝图,创建函数,命名为UpdateRotationBar(更新方向轴)。

在事件图表中,调用该函数,与事件tick连线(目的是每一帧都调用该函数)【即为实时更新】。

打开创建的函数,获取玩家pawn;is valid【前面是问号的那个】(判断是否有效); (从‘获取玩家pawn的右侧引脚处拉线’)获取actor旋转。

效果如图:

之后创建函数CalculateRotationBarLocation(目的是计算方向轴的实时位置) 

打开该函数,点击一下,左下侧输入,点击加号,添加一个“旋转体”,命名为Rotator。

输出,添加一个“浮点”,命名为Translation X。(下图命名错误,不应为Angle)

 再将C函数(简写)在左侧细节面板处设为纯函数(目的是只传入数值就行),编译保存。

 之后在U函数(简写)中,将变量方向轴拖出来,设置渲染平移(Set Render Translation),创建向量2D。

连线,如下图。

再次返回到C函数(简写),将函数Rotator引脚拉出,拆分旋转体,Z轴拉出,搜索乘号,找到浮点乘浮点,输入25,引脚拖出,搜索浮点除以浮点(打一个 / 符号即可) ,输入-9,之后连接上返回节点。

如图所示:

三.编辑UI界面

打开W_UserHUD,添加覆层,并将其改为1920×1080大小。

 瞄点选择居中。

 之后在左侧,控制板里,用户创建—W Rotation Bar Widget,放到覆层下边,右侧选择水平居中。

  右侧细节面板,将填充展开,设置顶部为25。

四.编辑关卡蓝图

返回关卡,打开关卡蓝图。

写入以下蓝图,保存即可。(不要忘记class中选择HUD)


五.后续优化

2021-08-16    16:44 优化:

由于上述操作完成后,我发现坐标轴是跟随玩家角色的朝向改变的,这与某些游戏的方向轴不符,于是在查阅资料后,做出了以下优化。

将获取“玩家pawn”和“获取actor旋转”改为了“获取玩家摄像机管理器”和“获取摄像机旋转”,成功改成了自己想要的模样。


 【以上总结参照UP主‘“我是胡嘿嘿哟”教学视频】

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值