unity小地图技术方案总结
技术方案
一:从顶视图获取实时小地图(优点实现快容易对地图进行放大缩小操作而且地图,缺点是不好对地图做出修改,只能在顶部加个另外的相机层来遮盖)
1.创建Redertexture并改名为smallmaptexture;

2.在主角的上方创建一个相机,并将它正对主角,为正交模式,而且targettexture设置为上述的smallmaptexture;注意下列所示的参数,是主要的影响。Cullmask来让其他不需在小地图显示的物体忽略,Size对小地图的可视范围进行调节。并将这个摄像机当做玩家的子物体。

3.使它们显示在屏幕上,这里用的是Ugui,创建两个rawimage组件,一个给之前的smallmaptex,另一个给一个箭头sprite充当小地图的玩家位置,并移到小地图的初始玩家的位置。

到了这步,你已经可以看到一个很丑但是可以用的小地图了,而且可以跟随你的玩家运动了

下面可以考虑优化了,
1.箭头随着主角的视觉而移动,将主角旋转的y值赋给箭头的旋转z值
ArowImg.transform.rotation = Quaternion.Euler(0,0,-eye.rotation.eulerAngles.y);
2.对图片进行圆形遮罩-有两种方案,1.可用mask-shader 2.unity只带的mask组件


3.添加一些额外的如放大缩小,寻路或者更改玩家的颜色的功能或者战争迷雾等。
放大缩小-就是调节camera的size的值,寻路使用A*然后获取点再在图上相应的点画线,战争迷雾可依赖shader进行(类似另一种的mask遮罩)
步骤:
- 利用rendertexture和layer来制作小地图的底层
- 通过脚本将主角映射到小地图并用其他图标替代。
二.先获取顶视图然后通过美术加工得到绘制小地图,然后通过与原始坐标的差值对地图比例进行小地图渲染。
1.通过顶视图进行截图

2.美术人员进行优化和调整。
3.脚本进行玩家比例匹配
主要的方法,起始点(参考点)与现在的位置的距离,起始地图位置(参考点)和现在的地图位置的比例换算
三.通过unity插件生成小地图,自行百度相关的插件如:KGFMapSystem,NJG MiniMap
unity小地图技术方案总结的更多相关文章
- 分布式锁1 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...
- iOS多线程技术方案
iOS多线程技术方案 目录 一.多线程简介 1.多线程的由来 2.耗时操作的模拟试验 3.进程和线程 4.多线程的概念及原理 5.多线程的优缺点和一个Tip 6.主线程 7.技术方案 二.Pthrea ...
- Unity原生渲染方案
Unity原生渲染方案 作者:3dimensions three_dimensions@live.cn 本文为原创内容,转载请注明出处. 做这个的动机是想在原生代码中使用Unity的材质系统绘制,同时 ...
- Facebook存储技术方案:找出“暖性BLOB”数据
Facebook公司已经在其近线存储体系当中彻底弃用RAID与复制机制,转而采用分布式擦除编码以隔离其所谓的“暖性BLOB”. 暖性?BLOB?这都是些什么东西?大家别急,马上为您讲解: BLOB—— ...
- 分布式锁1 Java常用技术方案(转)
转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临 ...
- Android基于WIFI实现电脑和手机间数据传输的技术方案研究
Android手机和电脑间基于wifi进行数据传输,从技术上讲,主要有两种方案: 一种是通过ftp协议实现,Android手机作为数据传输过程中的ftp服务器: 一种是通过http协议实现.Andro ...
- Binder Proxy技术方案
Binder Proxy技术方案 作者 低端码农 时间 2014.08.23 0x0 看到有多朋友尝试通过hook系统进程system_process的ioctl,以企图截获系统的IPC通讯.这个方法 ...
- 对Unity注入技术最简单的理解和应用
Unity注入技术,我决定最大的作用在于一个项目,尤其是WEB项目在更远其中一个类时,不需要重新生成,直接通过WEBCONFIG文件的修改就可以更改对应关系和功能,实验步骤如下: 1:新建一个接口IS ...
- 技术方案:在外部网址调试本地js(基于fiddler)
1 解决的问题 1) 场景1:生产环境报错 对前台开发来说,业务逻辑都在js中,所以报错90%以上都是js问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...
随机推荐
- iOS NSNotificationCenter详解
通知中心的特点: 1:同步执行 2: 一对多发送消息 3: 降低程序耦合度 通知中心是单例,目的就是从任意一个发送消息到任意一个接收者,是同步执行的. 那么什么是同步呢? 用网上经典的说法,就是我叫朋 ...
- 获取当前应用的系统路径工具类和java的System.getProperty()方法介绍
java的System.getProperty()方法可以获取的值,如下: 对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? /** ...
- jquery 金额转换成大写
<script language="javascript" type="text/javascript"> function Ara ...
- 优化SQLServer--表和索引的分区(二)
简介 之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容.如之前所说,分区就是讲大型的对象(表)分成更小的块来管理,基本单位是行.这也就产生了很大优势 ...
- MySQL 之 Metadata Locking 研究
MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的.包括表结构.schem ...
- exynos4412中断编程
中断概述 我们知道,ARM核能处理的异常有7种,但仅仅区分异常的种类显然不能够满足需求.拿手机来说,触摸屏幕和按下音量键可能都是irq异常,但是ARM并不能将他们区分开,而事实的情况是针对这两种中断, ...
- 今天搞了一天的CentOS,唉,实在感觉自己渺小啊
从别人处转载一篇文章:http://my.oschina.net/idiotsky/blog/303545 这个文章讲的很好,因为告诉了我怎么去查看ftp有关的SElinux的bool变量值以及设定. ...
- Usual tiny skills & solutions
Ubuntu and Win10 - double OS 2016-02-21 Yesterday I helped my friend install Ubuntu (14.04 LTS) on h ...
- Boolean()值为false的五个特殊值
在if.while等需要判断条件时,会调用函数Boolean()对判断条件进行隐式转换,而只有五个特殊值才会返回false 这五个值是:undefined, null, "", 0 ...
- PAT 1042. 字符统计(20)
请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过1000的字符串.字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束( ...