EasyTouch,KGFMapSystem插件的使用教程

1.Easy Touch使用教程

之前已经介绍过Unity自带的摇杆Joystick,它用起来很简单。但是它也存在很多局限,不能全部满足普通手游的一些需求,例如:要能方便地更好素材;能指定在某个区域显示,或者只有在该区域触摸时才出现等等。而这些功能,Easy Touch插件都已经帮你实现了。全部是可配置。大家可以从Asset Store上购买,或者使用free版。 

                                                         (可随意分享,请注明原文出处http://blog.csdn.net/janeky/article/details/17364903

  • 实例

还是用上次例子来实现。控制角色的移动

  • 步骤

1.import “Easy Touch 3”的资源包
2.创建人物模型
3.创建地形
4.添加一个Joystick的实例 :Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。这时我们可以看到它在左下角出来
5.设置摇杆的相关的参数,详见下图


6.新建一个脚本MoveController.cs 用来接收摇杆的事件,控制角色的移动。代码如下:
[csharp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class MoveController : MonoBehaviour {  
  5.   
  6.     void OnEnable()  
  7.     {  
  8.         EasyJoystick.On_JoystickMove += OnJoystickMove;  
  9.         EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;  
  10.     }  
  11.   
  12.   
  13.     //移动摇杆结束  
  14.     void OnJoystickMoveEnd(MovingJoystick move)  
  15.     {  
  16.         //停止时,角色恢复idle  
  17.         if (move.joystickName == "MoveJoystick")  
  18.         {  
  19.             animation.CrossFade("idle");  
  20.         }  
  21.     }  
  22.   
  23.   
  24.     //移动摇杆中  
  25.     void OnJoystickMove(MovingJoystick move)  
  26.     {  
  27.         if (move.joystickName != "MoveJoystick")  
  28.         {  
  29.             return;  
  30.         }  
  31.           
  32.         //获取摇杆中心偏移的坐标  
  33.         float joyPositionX = move.joystickAxis.x;  
  34.         float joyPositionY = move.joystickAxis.y;  
  35.   
  36.   
  37.         if (joyPositionY != 0 || joyPositionX != 0)  
  38.         {  
  39.             //设置角色的朝向(朝向当前坐标+摇杆偏移量)  
  40.            transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));  
  41.             //移动玩家的位置(按朝向位置移动)  
  42.             transform.Translate(Vector3.forward * Time.deltaTime * 5);  
  43.             //播放奔跑动画  
  44.             animation.CrossFade("run");  
  45.         }  
  46.     }  
  47. }  
完成收工,具体的效果图


最后我们来看看Easy Touch的参数



  • 总结

Easy Touch提供了虚拟摇杆的解决方案,基本能满足你的各种需求。包括前面所说的,定制UI,隐藏,指定区域等。可以在你的项目中尝试使用

  • 源码

http://pan.baidu.com/s/1ovU58

2.KGF MapSystem使用教程


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






猜你喜欢

转载自blog.csdn.net/BoBoWang1991/article/details/55098574