小地图在游戏中用的比较多,这里讲一下如何快速实现小地图功能。
1.新建2D相机
场景人物什么的不属于本篇内容,默认已经有了。这里以unity的标准资源包中第一人称为例。

在菜单栏“游戏对象”中创建一个相机。

这里有两种方案,一种是缩微全图的小地图,自行设置摄像机位置调整为正交即可。这里不讨论。
另一种是以角色为中心的小地图。将摄像机设为角色的子物体,然后在“检查器”窗口,坐标重置为零,调整方向为俯视,投影选择正交,顺便把音频监听器组件关了。视野大小可以调整,如果有需要可以自行设置剔除遮罩,让小地图不显示某些物体。

2.新建渲染器纹理
在“项目”窗口空白处右键鼠标,选择“创建-渲染器纹理”,这里将其命名为“minimap”。

3.将渲染器纹理赋予相机
将创建好的渲染器纹理拖入刚才的相机的“目标纹理”,这时可以在“场景”窗口右下角看见摄像机预览变成正方形。

4.设置UI
在菜单栏“游戏对象-UI”中新建一个原始图像(RawImage)。

对原始图像进行设置,一般习惯小地图在右上角,调整合适位置。然后将渲染器纹理拖入“纹理”中。

此时,小地图效果已经可以实现。可以运行一下就会看见地图显示随着角色移动而改变。
5.额外要求
①角色标识
由于小地图的摄像机已经是角色子物体了,所以小地图中玩家朝向必定是正前方。有两种办法创建标识:
方法一:在菜单栏“游戏对象-UI”中新建图像(Image)。将图像放在原始图像前面,将位置设置与原始图像一致。拖入带有箭头的图片,设置好相应的角度和大小即可,这样玩家标识会处于正中央。

方法二:在角色脚底添加一张图片作为角色子物体,在主摄像机中剔除这个图层。如果角色是第三人称,在小地图相机中剔除角色图层。这样来实现小地图仅显示图案。
当然,如果是第三人称也可以不做任何标识,直接看角色头顶。
②别的形状的小地图
现在小地图是正方形。如果想要圆形或者别的形状的小地图,同样可以实现。
在菜单栏 “游戏对象-UI” 中新建图像(Image),将位置设置与原始图像一致。然后选择一张你想要的形状的图片拖入“源图像”。再到菜单栏 “组件-UI” 中添加遮罩组件。

接着,将形状设为小地图的父物体,就可以看见小地图外形发生了变化。
