Unity-制作小地图

版权声明:原创图片,自截图片,纯手打文字,经过允许才可转载!业余个人经验分享,有不足的地方请留言,或点【投票】以资鼓励;觉得帮了小忙,请点个赞;还可以点击分享;怕下次出问题之后忘记找不到,可点击收藏。谢谢合作。 https://blog.csdn.net/qq_40985921/article/details/88746102

我们打王者荣耀的时候,都有一个小地图在左上角,让我们观察到队友的,敌方的位置,让游戏更有可玩性.今天就来制作简易的小地图.
原理很简单,新建一个相机,让相机居于角色的上空并把渲染的texture渲染到UI的RawImage中.下面我们来开始制作
首先,新建一个Render Texture 命名为Minimap,待会要用到
在这里插入图片描述
在场景中,新建一个Camera,将AudioListener移除,其他属性如下(小地图不用3D视角,用正交视角更好)
在这里插入图片描述

接下来创建UI界面(注:是RawImage,image是渲染sprite(2D精灵)的,而RawImage是渲染Texture的)
在这里插入图片描述

运行场景,看小地图做好了(测试用,UI还可以美化一下)
在这里插入图片描述

小地图上显示的是实时场景,但王者荣耀里的小地图是显示英雄头像.这里可以这样做
在坦克创建一个子物体Quad,调整Quad的位置处于坦克的上方,Quad朝上(它只有一个面,从反面看过去是不可见的).,Convex勾上(不然报错)
在这里插入图片描述
把箭头赋给Quad(箭头自己找一个),shader选为transparent


建立MiniMap试图层

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
运行结果
在这里插入图片描述

下面再添加一个小地图视野跟随玩家移动
新建脚本MiniMap.cs附在Camera上

 private Vector3 offset;//偏移量
    public Transform target;//目标的 transform组件
    void Start()
    {
        offset = transform.position - target.position;//目标到相机的偏移量
    }
    void Update()
    {
        transform.position = offset + target.position;//目标位置加偏移量 = 相机位置
    }

在这里插入图片描述
运行起来
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40985921/article/details/88746102
今日推荐