前言:

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

效果展示:

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

unity绘制路径导航 unity创建地图_unity绘制路径导航


实现:

创建一张渲染器纹理

什么是渲染器纹理:

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

在Project面板右键选择Create创建然后选择Render Texture,就可以创建一张渲染器纹理:

unity绘制路径导航 unity创建地图_unity绘制路径导航_02

创建相机作为渲染相机:

接下来要创建一个相机作为渲染器纹理的渲染相机,步骤为创建相机后,将刚刚创建好的Render Texture拖入相机中的Target Texture中,如图:

unity绘制路径导航 unity创建地图_unity绘制路径导航_03


这样渲染纹理可以实时的获取相机中的内容,为了使得相机可以与角色保持一致,可以编写代码使得相机一直保持在角色的头顶:

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

具体操作的图示为:

unity绘制路径导航 unity创建地图_unity_04


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

unity绘制路径导航 unity创建地图_Image_05


结束:

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

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