本文简单介绍使用ui制作小地图的方法。
本文方法来源于【【UE5】【蓝图】UMG-小地图制作分享】
图片小地图
制作地图的图片
图片小地图是以静态图片为基础的小地图。

首先,在做好的地形关卡中切换为顶视图,点击最左侧的“三”字菜单,选择高分辨率截图,将地图截图截下来。然后使用图片处理工具将透明网格区域去掉,只留下地形部分。
ui设计
创建一个控件蓝图,拖一个画布面板进去,保持。这个蓝图是主界面的ui。接下来创建小地图的控件蓝图。

先拖一个尺寸框进去,在最顶栏的一排按钮里把填充屏幕改为所需,在尺寸框子布局里设置宽度重载与高度重载,也就是尺寸框的大小。这个尺寸框的大小就是地图UI的大小。然后在尺寸框里添加覆层用于放置多个子组件。在覆层里放置一个包裹框,包裹框里面放置你刚才做的地图图片。再在覆层下面放置箭头的图片。
选中地图图片,在外观-笔刷-图像大小里设置地图图片的大小,图片的大小自定,最好不要小于尺寸框的大小。图片越大,缩放就更大,图片越小,缩放就越小。选中箭头图片,设置一个合适的大小,然后把水平对齐与垂直对齐分别改为水平居中对齐与垂直居中对齐。这样箭头就在ui的最中间了。选中包裹框,在变换-平移里,将平移的x与y改为尺寸框x与y的一半。这样你会发现整个地图图片的左上角在箭头的位置(如图)。最后选中尺寸框,在渲染-剪切里将继承改为剪切到边界。你会发现超出尺寸框边界的图片部分消失了。这样就会出现上图呈现的效果了。
蓝图部分

把两张图片的是变量选项勾上。然后创建三个变量:地图开始点、地图结束点、地图图片大小。变量类型都为向量2D。地图开始点填写地形开始的坐标,就是地形最左上角在世界坐标的x与y轴数值。地图结束点填写地形结束的坐标,就是地形最右下角在世界坐标的x与y轴数值。
首先在事件构造里我们需要获取玩家的角色变量,然后获取地图图片的大小,把它设置为地图图片大小变量的数值。
接下来就是设置地图图片的移动了。地图会实现显示玩家的位置,其实就是图片一直在按比例移动。设置图片的平移需要用到Set Render Translation节点。计算公式为(角色位置-地图开始点)/(地图结束点-地图开始点)*地图图片大小*-1。除法获取的是玩家在地形中的比例,这个比例乘上地图大小就是箭头应该在地图中的位置。乘-1是为了反向。
然后就是设置箭头的朝向了,用Set Render Transform From Angle。获取玩家的朝向,使用yaw偏航角。因为箭头图片最开始有一个朝向,根据你箭头图片的朝向减去相应的值。
最后将这个小地图ui添加到主ui界面里,勾选大小到内容,再将主ui界面显示出来就可以了。
