Unity创建小地图

前言:

  • 小地图是一些游戏中必不可缺少的元素,如何使用unity做出一个简单好用的小地图,来看看吧

效果展示:

本案例的小地图的实现原理是使用Camera生成一张渲染器材质,同时使用UI元素Raw Image来表现出来,完成效果如图:
在这里插入图片描述
实现:

创建一张渲染器纹理

什么是渲染器纹理:

  • 渲染纹理是特殊的贴图在运行时创建和更新的文件。要使用它们,首先要创建一个新的“渲染纹理”并指定一个摄影机渲染到它

在Project面板右键选择Create创建然后选择Render Texture,就可以创建一张渲染器纹理:
在这里插入图片描述

创建相机作为渲染相机:

接下来要创建一个相机作为渲染器纹理的渲染相机,步骤为创建相机后,将刚刚创建好的Render Texture拖入相机中的Target Texture中,如图:
在这里插入图片描述
这样渲染纹理可以实时的获取相机中的内容,为了使得相机可以与角色保持一致,可以编写代码使得相机一直保持在角色的头顶:

    public Transform player;
    // Update is called once per frame
    void Update()
    {
        transform.position = player.position + new Vector3(0, 6, 0);
    }

将渲染材质显示在UI界面上:

首先创建一个Image与Raw Iamge的层级关系,同时给Image添加Mask组件,这样可以通过Source Image来影响地图的形状:

注:

  • Mesh相当于一个面具,遮罩将子元素限制(即“遮罩”)为父元素的形状,因此,如果孩子比父母大,那么只有适合孩子的部分才可见

具体操作的图示为:
在这里插入图片描述
然后就是对于Raw Image的设置,可以将渲染器纹理直接赋予Raw Image元素的Texture,这样就可以在界面上显示小地图了,具体操作如图:
在这里插入图片描述
结束:

这样就可以成功完成对于一个小地图的设置工作,赶快在自己的项目中试试吧

我是心之凌儿,欢迎关注收藏点赞!

posted @ 2020-11-30 21:46  心之凌儿  阅读(991)  评论(0编辑  收藏  举报