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
最新文章
- css3动画之小牛奔跑
- 阿里im即时通讯 h5 demo
- Android进程管理及静态变量垃圾回收
- start.s 解析(一)
- Android 2.3 NFC简介
- idea开发工具中你可能不知道的却又比较好用的快捷键
- 锚点链接和hash属性
- jq的遍历节点
- [Noi2008]假面舞会
- Windows Server 2008 R2 Enterprise x64 部署 nginx、tomcat、mysql
- Go语言基础之接口
- Lua实现Map
- 图解HTTPS协议
- robotframework之去除空格、去掉前面的0、增加空格换行符的方法,两个字符之间的拼接
- Spring4之AOP
- go知识点和注意事项
- myeclipse中的classpath .
- Eclipse字体最好
- Vue 组件化
- Centos 7 MariaDB Galera cluster 部署
热门文章
- 基于JQuery实现的文本框自动填充功能
- javascript 设置input框只读属性 获取disabled后的值并传给后台
- 如何写出让java虚拟机发生内存溢出异常OutOfMemoryError的代码
- mongodb 3.x 之实用新功能窥看[1] ——使用TTLIndex做Cache处理
- Linux下安装 Posgresql 并设置基本参数
- 如何在mac上用终端打开XAMPP自带的MySQL
- 织梦DedeCMS模板防盗的四种方法
- 基于corosync+pacemaker+drbd+LNMP做web服务器的高可用集群
- 项目自动化建构工具gradle 入门0——环境 &; 废话
- 使用Jenkins配置自动化构建