技术方案

一:从顶视图获取实时小地图(优点实现快容易对地图进行放大缩小操作而且地图,缺点是不好对地图做出修改,只能在顶部加个另外的相机层来遮盖)

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遮罩)

步骤:

  1. 利用rendertexture和layer来制作小地图的底层
  2. 通过脚本将主角映射到小地图并用其他图标替代。

二.先获取顶视图然后通过美术加工得到绘制小地图,然后通过与原始坐标的差值对地图比例进行小地图渲染。

1.通过顶视图进行截图

2.美术人员进行优化和调整。

3.脚本进行玩家比例匹配

主要的方法,起始点(参考点)与现在的位置的距离,起始地图位置(参考点)和现在的地图位置的比例换算

三.通过unity插件生成小地图,自行百度相关的插件如:KGFMapSystem,NJG MiniMap

unity小地图技术方案总结的更多相关文章

  1. 分布式锁1 Java常用技术方案

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...

  2. iOS多线程技术方案

    iOS多线程技术方案 目录 一.多线程简介 1.多线程的由来 2.耗时操作的模拟试验 3.进程和线程 4.多线程的概念及原理 5.多线程的优缺点和一个Tip 6.主线程 7.技术方案 二.Pthrea ...

  3. Unity原生渲染方案

    Unity原生渲染方案 作者:3dimensions three_dimensions@live.cn 本文为原创内容,转载请注明出处. 做这个的动机是想在原生代码中使用Unity的材质系统绘制,同时 ...

  4. Facebook存储技术方案:找出“暖性BLOB”数据

    Facebook公司已经在其近线存储体系当中彻底弃用RAID与复制机制,转而采用分布式擦除编码以隔离其所谓的“暖性BLOB”. 暖性?BLOB?这都是些什么东西?大家别急,马上为您讲解: BLOB—— ...

  5. 分布式锁1 Java常用技术方案(转)

    转:http://www.cnblogs.com/PurpleDream/p/5559352.html#3450419 前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临 ...

  6. Android基于WIFI实现电脑和手机间数据传输的技术方案研究

    Android手机和电脑间基于wifi进行数据传输,从技术上讲,主要有两种方案: 一种是通过ftp协议实现,Android手机作为数据传输过程中的ftp服务器: 一种是通过http协议实现.Andro ...

  7. Binder Proxy技术方案

    Binder Proxy技术方案 作者 低端码农 时间 2014.08.23 0x0 看到有多朋友尝试通过hook系统进程system_process的ioctl,以企图截获系统的IPC通讯.这个方法 ...

  8. 对Unity注入技术最简单的理解和应用

    Unity注入技术,我决定最大的作用在于一个项目,尤其是WEB项目在更远其中一个类时,不需要重新生成,直接通过WEBCONFIG文件的修改就可以更改对应关系和功能,实验步骤如下: 1:新建一个接口IS ...

  9. 技术方案:在外部网址调试本地js(基于fiddler)

    1 解决的问题 1)        场景1:生产环境报错 对前台开发来说,业务逻辑都在js中,所以报错90%以上都是js问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...

随机推荐

  1. jQuery解决iframe高度自适应代码

    网上查了好多用着都不行,自己搞定了:在包含iframe的页面中加入以下脚本,基本思想是在iframe加载内容后重新设置高度,下面代码尽在IE6中用过,没在其他浏览器中测试. 代码如下: <scr ...

  2. JavaScript & PHP模仿C#中string.format效果

    1.JavaScript function stringformat() { var args = Array.prototype.slice.call(arguments); if (args.le ...

  3. href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别

    href="javascript:xxx(this);"和onclick="javascript:xxx(this);" 一直以为这两种写法是等同的,今天在项目 ...

  4. 安卓gridview 网格,多行多列实现

    主Activity() private int[] image = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature, R.dr ...

  5. [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 ...

  6. 45分钟带你入门Linux(附:笔者在工作室开讨论班录制的视频讲解)

    第一部分    熟悉Linux基本操作 一.初识Linux 1.Linux特点 ◊  开放性 ◊  多用户 ◊  多任务 ◊  良好的用户界面 ◊  设备独立性 ◊  丰富的网络功能 ◊  可靠的系统 ...

  7. 工作邮件loop的用法

    examples come from native speaker Put john in the loop about this. He will have good advice. Why hav ...

  8. Redis的三种启动方式

    转载:http://www.tuicool.com/articles/aQbQ3u Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd red ...

  9. jQuery之核心API

    1. jQuery.holdReady()方法:暂停或恢复.ready() 事件的执行.在$.holdReady()方法允许调用者延迟jQuery的ready事件.这种先进的功能,通常会被用来允许在 ...

  10. css 的一些基本操作

    日常基本使用的一些操作,持续完善中: 设置按钮圆角:border-radius:5px; 设置高度:height: 30px; 设置宽度:width: 64px; 使用span标签内容过长自动换行解决 ...