Unity KGFMapSystem插件制作小地图
KGFMapSystem版本:2.3
在我们开发游戏或者虚拟现实中,一般都会用到小地图,如果要我们去写小地图,可以用到unity 3d中就有一个插件,是专门开发小地图用的,这个插件就是KGFMapSystem。这个是它的官网:http://www.kolmich.at/documentation/
还有一个介绍用KGFMapSystem制作小地图的台湾网站,内容比较详细:http://www.cg.com.tw/KGFMapSystem/Content/KGFMapSystem_001.asp
一、使用插件自带的Demo:
1、导入KGFMapSystem包,找到kolmich\KGFMapSystem\demo\scenes\quickstart_demo.scene,打开自带的demo,选中Hierarhy中的KGFMapSystem,可以看到Inspector中出现一个错误,显示图如下:

意为“地图系统需要一个名字叫mapsystem的层”,我们就需要自己创建一个层;
2、在上方的Layer中选择Add Layer:

在出现的Layer窗口中添加一个名为“mapsystem”的Layer,名字一定得是“mapsystem”,如图:

3、添加名为mapsystem的层后,就可以运行了,效果如下图,右上角已经成功出现小地图,可以在左侧的框中调节小地图的各种选项:

如果觉得上面中的设置窗口太碍眼,可以删除KGFMapSystemDemoScene中的C#脚本组件:

成功使用了插件自带的demo,接下来我们在自己的项目中使用这个插件来制作小地图;
二、在自己的项目中使用KGFMapSystem制作小地图:
打开quickstart_try_yourself这个场景,运行后可以发现,场景中是没有小地图的,就像我们之间的项目一样(这边把KGFMapSystemDemoScene重命名为MyProject),开始时按“使用插件自带的Demo”上面中的2步骤,如果Layers中没有名为mapsystem的层,需用添加一个层。接下来就可以开始小地图的制作:
1、如果接下来我们把Assets\kolmich\KGFMapSystem\prefabs目录下的KGFMapSystem.prefab文件直接拉到我们的工程中:

会看到Inspector中会提示错误“itsTarget必须不为空,请添加一个时时都显示在小地图中央位置的目标”;
2、我们就必须为小地图添加一个目标,打开Its Data Module Minimap——Its Global Settings——Its Taget,为Its Target选定一个项目:找到MyProject中的3rdPerson,直接拉到Its Target中,即把那个圆柱设为Target:

运行后会发现,小地图是可以正确显示了,但是,小地图中没有表示角色的标识:

3、我们就需要为场景中出现的一些物体添加标识:
打开kolmich\KGFMapSystem\prefabs\mapicons_samples,目录下会有很多预设文件,随便拉一个到3rdPerson下面,表示用该预设文件作为这个物体的标识:

可以看到,在小地图中成功显示了这个标识,如果我们要为场景中固定的长方体添加标识同样是这个操作,只需要找到对应的预设文件添加到某个Cube下面即可。
三、在小地图中使用战争迷雾
使用战争迷雾,我们在二的基础上对战争迷雾进行设置就可以了;选中Hierarchy中的KGFMapSystem,在Inspector中的Its Data Module Minimap——Its Fog Of War中勾选Its Active选项就可以开启小地图中的战争迷雾了,再设置有关参数即可;
参数的介绍可以参考官网上面的有关介绍:http://www.kolmich.at/documentation/,找到KGFMapSystem Manual——Fog Of War,查看详细的参数介绍:

设置好后,运行即可看到迷雾效果:

可以看到,小地图的周围有战争迷雾的效果。
注:
官网上对使用quickstart_demo有个介绍:

在参考链接中也有类似的操作,即在添加完名为mapsystem的Layer后,选中3edPerson下的camera,在Culling Mask中去掉刚才建的mapsystem这个layer,但是测试过,系统默认的好像是不打勾的,即默认是去掉了,又测试了下选中的效果,好像没什么影响,所以如果有时候出现显示问题可以添加这个操作试试,如图:

参考链接:http://blog.csdn.net/dingxiaowei2013/article/details/18669919
Unity KGFMapSystem插件制作小地图的更多相关文章
- 【Unity笔记】制作小地图Minimap
真正的手把手教程,太棒了: http://forum.china.unity3d.com/thread-17192-1-1.html 或者是使用插件NJG MiniMap: http://www.ta ...
- 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画
话说博客传图也太麻烦了吧,一个一个文件一个一个传....为什么不能直接粘贴了,自动上传呢... 刚直接粘贴了,结果一张图没有,又重新截一次图,在传了一次...真是太**了 好了,吐槽完了,开始博客吧 ...
- Xcode 4 插件制作入门
转自:http://www.onevcat.com/2013/02/xcode-plugin/ 2014.5.4更新 对于 Xcode 5,本文有些地方显得过时了.Xcode 5 现在已经全面转向了 ...
- iOS:插件制作入门
本文将介绍创建一个Xcode4插件所需要的基本步骤以及一些常用的方法.请注意为Xcode创建插件并没有任何的官方支持,因此本文所描述的方法和提供的信息可能会随Apple在Xcode上做的变化而失效.另 ...
- (转)Unity Cinemachine插件,实现单目标和多目标之间切换
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
- chrome谷歌浏览器插件制作简易教程
1.在磁盘上创建一个目录,用来放应用的代码和资源 2.在这个目录中,创建一个文本文件,命名为manifest.json,其内容为: { "manifest_version": 2, ...
- npm插件制作及发布基础教程
最近有同事在搞npm插件,想用了这么久的npm也没有自己制作一个插件出来练一练,所以动手把之前的图片随手势移动的react组件改写成了npm插件,之前的博客地址http://www.cnblogs.c ...
- 开发unity DLL插件
最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...
随机推荐
- Android&Java的学习新的等
学习资料 很久没写博客了.适逢这次Srtp项目学弟学妹们要学习Java与Android,我就总结一些学习的教材.方法,分享写材料与心得.纯个人观点,如有不周之处欢迎指出,大家共同探讨提高. *** 教 ...
- RHEL7安装配置TigerVNC
TigerVNC使用非加密的链接,默认会被firewalld blocked 掉,想要 vnc正常工作就需要让firewalld开放相应的端口才行. vnc默认的端口号为5900,而每个vnc win ...
- ASP.NET Boilerplate 工作单元
从上往下说起,框架使用castle拦截器,拦截实现了IApplication.IRepository接口的所有方法,和使用了UnitOfWork 特性的方法,代码如下 internal class U ...
- Java-Android 之电话拨号源码
file:///F:/workspace3/Android_ver2.4/src/cn/szy/com/MainActivity.java package cn.szy.com; import and ...
- .NET Core跨平台开发
对于.NET开源计划想必关注的人已经跃跃欲试了,但是真正将其用于开发的目前来说不多.毕竟截至本文发布时.NET Core才发布到1.0RC2版本.正式版预计还有一段时间.况且大多数人都是持观望态度,就 ...
- java String对象的创建(jvm).
本人目前也开始学习虚拟机,在java中,有很多种类型的虚拟机,其中就以sum公司(当然现在已经是oracle了)的虚拟机为例,介绍可能在面试的时候用到的,同时对自己了解String有很大帮助,这里仅仅 ...
- exp/imp 有很多弊端
弊端1. 空表 无法执行导出操作弊端2. 高版本的导出文件 无法使用 低版本的 oracle软件 导入 环境准备:create table test0707(n1 date); 认证弊端1 案例1. ...
- block 浅析
最近讲了一个关于block的例子 block 可以作为一个参数 进行传递 需要注意的地方是 :block 虽然作为一个参数 但是在函数方法执行的时候 block 是不会在定义它的地方调用 除非你在后边 ...
- VisualStudio2013&VS2015内置SQLServer入门 (三)
关于LocalDB的部署(publish): 使用本机做服务器(目测不可行) 双击项目的Properties-->Publish-->Application Files,你会发现没有.md ...
- IoC模式(控制反转)(转)
转自:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html,写的很好,用C#代码解释控制反转,然后更进一步,提到依赖注入是控制反转的 ...