首先,我们在场景中添加一个摄像机叫做minimapCamera, 把上面的Audio Listener组件去掉,调整摄像机位置,将其置于角色正上方,如图

新建一个Texture我们叫做minimapTexture,作为minimapCamera的Target Texture

在UI Root下面新建一个Simple Texture叫做minimap,将刚才的minimapTexture赋值给minimap的Texture属性,创建两个按钮用于放大和缩小视野

给minimap添加一个脚本Minimap,控制小地图有关功能

 using UnityEngine;
using System.Collections; public class Minimap : MonoBehaviour
{
private Camera minimapCamera;
private Transform player;
private Vector3 offsetPosition;
// Use this for initialization
void Start ()
{
minimapCamera = GameObject.FindGameObjectWithTag(Tags.MINIMAP_CAMERA)
.GetComponent<Camera>();
player = GameObject.FindGameObjectWithTag(Tags.PLAYER).transform;
offsetPosition = minimapCamera.transform.position - player.position;
} void Update()
{
minimapCamera.transform.position = offsetPosition + player.position;
}
public void ZoomInButtonClick()
{
minimapCamera.fieldOfView += ;
} public void ZoomOutButtonClick()
{
minimapCamera.fieldOfView -= ;
}
}

通过改变minimapCamera的fieldOfView的值来控制小地图视野的缩放,通过设置与角色距离保持不变来实现相机跟随角色

在小地图中像某些Npc通常以图标方式显示出来,怎么实现这个要求呢?

我们可以在npc模型上方新建一个Quad,并赋予相应的图标贴图,然后所有Npc创建一个layer NPC,所有图标创建一个layer

NpcIcon,在主摄像机上渲染NPC层,在小地图摄像机上渲染NpcIcon层即可

最终效果

unity简易小地图的实现(NGUI)的更多相关文章

  1. unity销毁层级物体及 NGUI 深度理解总结

    http://www.2cto.com/kf/201311/258811.html 1.想找到层级面板中某个物体,并销毁,利用下面的代码:    GameObject  obj = GameObjec ...

  2. Unity 简易的UI背景昼夜轮替效果

    在UI背景上实现一个简易的有光影照射的昼夜轮替效果,往往比一个死板的UI背景看起来更加形象生动,比较传统的方式是多图轮流替换的序列帧动画,不过要达到整个UI背景大图的所有地方都产生光影效果,那么务必每 ...

  3. unity简易ui框架

    在unity项目开发中,ui模块的开发往往占据了很大一部分工作,部分游戏甚至绝大部分的工作都是在ui上,如何高效管理各种界面,这里分享一套高效易用的UI框架. 首先,我们定义一个PanelBase类, ...

  4. Unity游戏小地图生成

    孙广东  2015.6.25 这个在AssetStore上有几个不错的插件, 除了知道原理,能自己实现还是好的. 非常多插件是不会直接使用的.而是要依据自己项目的需求进行改动或者就是自己写. 那么我们 ...

  5. 跟我一起用unity做小地图!

    lol的小地图 转载爬虫请自重,未问先转没排面 不爱多做铺垫,小地图对于一些游戏来说多重要大家都懂,不然你也不会来看我这篇文章的,对不对? 话不多说,开搞! 一.主体功能 一般来说,游戏里的迷你地图都 ...

  6. Unity 简易监听框架

    全局维护一个字典,字典中的key为字符串或者自定义类型,value为委托, using System.Collections; using System.Collections.Generic; us ...

  7. Unity 小地图制作插件NJG MiniMap的简单使用

    unity版本:4.5.1 NJG MiniMap版本:1.5 参考链接:http://blog.csdn.net/wuming22222/article/details/37526659,作者:CS ...

  8. Unity NGUI弧形血条的制作

    unity版本:4.6 NGUI版本:3.6. (转载请注明参考链接及作者) 参考链接:http://www.cnblogs.com/louissong/p/3841656.html,作者:博客园 L ...

  9. Unity NGUI 图集Atlas制作

    unity版本:4.5 NGUI版本:3.6.5 1.选择要制作的图片放到对应目录下,在Asset下新建一个文件夹Picture用于放置图片: 2.选中一张图片,打开Atlas Maker: 3.单击 ...

随机推荐

  1. POJ 2365 Rope(水题)

    [题意简述]:给出我们钉子个数与半径,让我们求出缠绕在钉子上的绳子有多长. [分析]:从题目中我们能够看出,绳子长度的和等于每两个钉子的距离的和加上接触在钉子上的绳子的长度,不难发现这部分长度事实上就 ...

  2. Effective C++ -- 构造析构赋值运算

    05.了解C++默默编写并调用哪些函数 编译产生的析构函数时non-virtual,除非这个类的基类析构函数为virtual 成员变量中有引用和const成员时,无法自己主动生成copy assign ...

  3. Python的TkinterButton做为父窗口

    #-*-coding:utf--*- import Tkinter,time,tkMessageBox,sys,BeBigModule class MainFrame: def __init__(se ...

  4. three.js是JavaScript编写的WebGL第 三方库

    three.js是JavaScript编写的WebGL第 三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质 ...

  5. HDU3537-Daizhenyang&#39;s Coin(博弈SG-打表)

    <span style="color: green; font-family: Arial; font-size: 12px; background-color: rgb(255, 2 ...

  6. KISSY 库 demo

    KISSY 是由淘宝前端project师们发起创建的一个开源 JS 类库. 它遵循的原则是 小巧灵活.简洁有用.愉悦编码.快乐开发. DEMO: <!DOCTYPE html> <h ...

  7. SVN配置文件详解

    本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是本文重点,读者若有 ...

  8. Java解惑七:很多其它类之谜

    谜题66 继承的问题. 对于实例方法:命名同样时,子类会覆写父类的方法,且訪问权限至少和父类一样大. 对于域:命名同样时,子类会隐藏父类的域,且訪问权限随意. 谜题67 不要重用库中的类名. 谜题68 ...

  9. mysql 开放的telnet

    两步开幕mysql远程连接 一个,登录mysql # mysql -uroot -p 两,配置远程连接 mysql > GRANT ALL PRIVILEGES ON *.* TO 'user1 ...

  10. WPF换肤之六:酷炫的时区浏览小精灵

    原文:WPF换肤之六:酷炫的时区浏览小精灵 由于工作需要,经常要查看到不同地区的 当前时间,以前总是对照着时区表来进行加减运算,现在有了这个小工具以后,感觉省心了不少.下面是软件的截图: 效果图赏析 ...