http://sanwen.net/a/ithhtbo.html

由于UI都是Achor自己用PS做的,比较粗糙,大家见谅,不过丝毫不影响功能的实现,下面我们看看今天的笔记:

首先我们看看需要哪些组件:

1.在Canvas画布下新建一个GameObject,改名为Mask,顾名思义,该组件实现遮罩功能。

2.在Mask下面添加RawImage,用来实现小地图动态显示。

3.新建一个Sprite作为角色的子对象,改名为Icon,实现小地图中代替角色的箭头图标。(贴图大家根据自己喜好来画,这里Achor就简单的用了PS绘制)

4.需要两个相机,一个用来追踪小地图,一个用来显示UI(UI层用一个相机额外显示比较方便)

组件一共就这么多。

下面开始制作!!!!!!

1.先调整Icon,Minimap的位置及参数,即角色位置的正上方,视距根据需求可改变相机Y轴或者相机视距,Icon也调整至角色正上方,调整相机的Culling Mask,只显示Icon和Terrain。新建一个Render Texture拖到Minimap的Target Texture。

再给Minimap加两行简单代码,让他跟随Icon。

代码如下:

private Transform transform;
public GameObject icon;
void Start ()

{
transform=GetComponent<Transform>();
}

void Update ()

{
transform.position = new Vector3(icon.transform.position.x,59.01f,icon.transform.position.z);
}

2.将刚才的Texture(a)拖动给Raw Image。

此时已经可以实现小地图功能啦,不过是方形的!很丑!

3.下面要修改Mask啦,给Mask添加如下两个组件,并修改Image组件的Source Image为圆形。(圆形自己画就是了)

现在变成圆形了!

But!!Why 还是so丑!?

5.加个边框吧,在UI下新建个Image,下面再添加两个Button并改名,再加入自己绘制的边框和按钮就OK啦。

 

现在好看多了把~(虽然我觉得还是很丑,但毕竟Achor日思夜想的美工MM还没有找到,只能靠自己右手了)

好啦,关于美观的问题就不多说啦,各位可以尽情的发挥~到此小地图功能已经实现,是不是非常简单?如果觉得有用大家就分享给自己的小伙伴吧~

【转】超简单利用UGUI制作圆形小地图的更多相关文章

  1. unity 利用ugui 制作技能冷却效果

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  2. vue H5 超简单的swiper制作抖音上拉切换视频播放

    -----html部分------ <swiper vertical :style="{height: windowheight+'px',width:375+'px'}" ...

  3. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  4. 详解用CSS3制作圆形滚动进度条动画效果

    主  题 今天手把手教大家用CSS3制作圆形滚动进度条动画,想不会都难!那么,到底是什么东东呢?先不急,之前我分享了一个css实现进度条效果的博客<CSS实现进度条和订单进度条>,但是呢, ...

  5. 利用Unity制作“表”

    一枚小菜鸟   目前没发现在Unity有其他路径制作类似于c# WinForm中的表:但是利用Unity自带的UGUI,制作了一张"伪表",具体方案如下: 效果图如下: 步骤: 1 ...

  6. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  7. ASP.NET中一种超简单的Ajax解决方案

    为什么是Ajax2? 因为之前有一个blqw.Ajax,并且已经在项目中投入使用了,但是没有这个方便,这个是后来才弄的,为了纪念第一版的blqw.Ajax,所以这个就2了... 话说看了评论才发现,原 ...

  8. 这些优化 Drupal 网站速度的超简单办法,你忽略了多少?

    “怎么样能让我的 Drupal 网站更快一些?”是我们最常遇到的一个问题.站点速度确实非常重要,因为它会影响你的 SEO排名效果.访客是否停留以及你自己管理网站所需要的时间. 今天我们就来看看那些通过 ...

  9. WPF利用动画实现圆形进度条

    原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现方式一般都是GDI实现的,想到 ...

随机推荐

  1. 浅析Dagger2依赖注入实现过程

    Dragger2是Android应用开发中一个非常优秀的依赖注入框架.本文主要通过结合Google给出的MVP开发案例todo-mvp-dagger(GitHub连接地址:https://github ...

  2. python3安装pip

    wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c ...

  3. java基础——类加载与反射

    第1章 类加载器 1.1 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. (1)加载 就是指将class文件读入内存,并为之创 ...

  4. 问题006:为什么用java.exe执行编译的类文件的时候,不这样写java Welcome.class

    为什么用java.exe执行编译的类文件的时候,不这样写java Welcome.class 是因为java虚拟机调用Welcome的时候,已经替我们增减了.class,如果你还要写java Welc ...

  5. react的redux中间件

    redux 的中间件(对dispatch功能的拦截和增强,一般不用自己写,有插件) dispath是一个方法,可以自行中间拦截更改: store.dispatch = function(action) ...

  6. ajaxfileuplod 上传文件 essyui laoding 效果,防止重复上传文件

    //放于上传前 function ajaxLoading(){ $("<div class=\"datagrid-mask\"></div>&qu ...

  7. Linux入门-第九周

    1.判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户 AWK简介:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报 ...

  8. 第六篇:python中numpy.zeros(np.zeros)的使用方法

    用法:zeros(shape, dtype=float, order='C') 返回:返回来一个给定形状和类型的用0填充的数组: 参数:shape:形状 dtype:数据类型,可选参数,默认numpy ...

  9. k8s的service简述

    k8s向集群外部暴露端口的3种方式: 1.service->nodePort :仅暴露一个宿主机端口,用于集群外部访问,因为此操作被写入各个节点的iptables或ipvs规则当中,可以用任意一 ...

  10. setInterval与setTimeout

    在自己用canvas画一个时钟时,画秒钟用的是利用图片将重复的线条遮住,但是会出现有两个秒钟线条同时存在,才想起setInterval有那么个坑,查了点资料,记录下,若有不对的或者未写到的点,还请大家 ...