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问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...
随机推荐
- jQuery解决iframe高度自适应代码
网上查了好多用着都不行,自己搞定了:在包含iframe的页面中加入以下脚本,基本思想是在iframe加载内容后重新设置高度,下面代码尽在IE6中用过,没在其他浏览器中测试. 代码如下: <scr ...
- JavaScript & PHP模仿C#中string.format效果
1.JavaScript function stringformat() { var args = Array.prototype.slice.call(arguments); if (args.le ...
- href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
href="javascript:xxx(this);"和onclick="javascript:xxx(this);" 一直以为这两种写法是等同的,今天在项目 ...
- 安卓gridview 网格,多行多列实现
主Activity() private int[] image = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature, R.dr ...
- [LeetCode] Power of Two 判断2的次方数
Given an integer, write a function to determine if it is a power of two. Hint: Could you solve it in ...
- 45分钟带你入门Linux(附:笔者在工作室开讨论班录制的视频讲解)
第一部分 熟悉Linux基本操作 一.初识Linux 1.Linux特点 ◊ 开放性 ◊ 多用户 ◊ 多任务 ◊ 良好的用户界面 ◊ 设备独立性 ◊ 丰富的网络功能 ◊ 可靠的系统 ...
- 工作邮件loop的用法
examples come from native speaker Put john in the loop about this. He will have good advice. Why hav ...
- Redis的三种启动方式
转载:http://www.tuicool.com/articles/aQbQ3u Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd red ...
- jQuery之核心API
1. jQuery.holdReady()方法:暂停或恢复.ready() 事件的执行.在$.holdReady()方法允许调用者延迟jQuery的ready事件.这种先进的功能,通常会被用来允许在 ...
- css 的一些基本操作
日常基本使用的一些操作,持续完善中: 设置按钮圆角:border-radius:5px; 设置高度:height: 30px; 设置宽度:width: 64px; 使用span标签内容过长自动换行解决 ...