Unity手动漫游(移动端)

原创 2016年11月18日 13:40:11

首先说明一下,今天将的手动漫游方式需要借助Unity的手势插件: FingerGestures


具体插件如何使用,请看文章:
http://blog.csdn.net/qq_15267341/article/details/51878844?locationNum=1&fps=1


三步搞定手动漫游:


1 场景中建立一个相机
2 相机上挂一个角色控制器脚本
3 相机上挂如下代码脚本(shouDongManYou.cs)

最后调整相机的参数以确定相机的初始位置,调整角色控制器的Center、Radius、Height


这里写图片描述


这里写图片描述


public class shouDongManYou : MonoBehaviour {
    private float a01;  //a01和a02控制左右旋转
    private float a02;

    private float b01;  //b01和b02控制上下旋转
    private float b02;

    // Use this for initialization
    void Start () {

    }
    void Update()
    {
    }
    public void jieshu() //退出漫游手动漫游时取消事件
    {
        FingerGestures.OnDragMove -= dragMove;
        FingerGestures.OnFingerStationary -= onFingerStationary;
    }
    void OnEnable()
    {
        a01=a02 = transform.localEulerAngles.y;
        b01=b02 = transform.localEulerAngles.x;
        FingerGestures.OnDragMove += dragMove;
        FingerGestures.OnFingerStationary += onFingerStationary;
    }
    // Update is called once per frame
    Vector2 previousPos;
    void dragMove(Vector2 fingerPos, Vector2 delta)
    {
        a01 += delta.x * 0.06f;
        a02 = Mathf.Lerp(a02, a01, Time.deltaTime * 30f);
        b01 += delta.y * 0.5f;
        b02 = Mathf.Lerp(b02, b01, Time.deltaTime * 30f);
        b02 = Mathf.Clamp(b02, -3, 3);
        transform.rotation = Quaternion.Euler(b02, a02, transform.localEulerAngles.z);               

    }

    void onFingerStationary(int fingerIndex, Vector2 fingerPos, float elapsedTime)
    {
        if (elapsedTime>0.5f)
        {
            GetComponent<CharacterController>().SimpleMove(transform.forward);
        }
    }
}

一定要注意墙和地板都要添加碰撞体


特别注意如下:


这里写图片描述



FR:海涛高软(QQ技术交流群:386476712)

Unity游戏文本自动化生成脚本工具

在游戏开发中,策划填写好配置表,程序拿到配置表后,根据配置表中的项,在代码中定义结构体,编写加载函数接口,获取数据接口,一旦配置表中的项增加或者删除,或者改变,程序就要在脚本中修改对应的结构体,否则就会在加载数据或者获取数据时报错,这对程序开发者来说非常繁琐的,而本课程主要是为解决这个问题而制作的。
  • 2017年10月18日 10:36

[Unity3D 版本5.X]实现一个自由漫游的摄像机

我学习Unity3D一小段时间了,第一个制作目标就是实现一个自由漫游的摄像机。 使用WSAD键控制摄像机的上下左右移动,使用鼠标右键控制摄像机的旋转。 这个功能比较简单,代码也一目了然,不做过多解释了...
  • oilcode
  • oilcode
  • 2017-05-29 20:46:05
  • 3366

unity3d 下生成相机自动路径漫游

  • 2015年08月29日 11:19
  • 5KB
  • 下载

Unity中关于场景漫游的两个方法(一)

这里主要用到steamVR的两个插件 SteamVR Plugin 和 Vive-teleporter插件地址:SteamVR Plugin:steamVR PluginVive-teleporter...
  • a435931517
  • a435931517
  • 2017-08-29 16:17:26
  • 1026

Unity3D键盘+鼠标漫游脚本

两个代码都附在MainCamera上面,可以实现键盘加鼠标漫游 1、KeyMove.cs  键盘漫游 using UnityEngine; using System.Collect...
  • u013692049
  • u013692049
  • 2016-10-30 21:39:45
  • 2105

Unity3D学习笔记(二)创建地形和漫游

上一章粗略介绍了一下Unity游戏引擎的概念定义和界面功能,这次就来实践一下。我们的目标是没有蛀牙(误),目标是创建一个地形,上面有山脉和盆地,然后再放置一个人物,以第一人称的视角来漫游、观察我们所创...
  • yumendetuzi
  • yumendetuzi
  • 2016-04-28 10:18:27
  • 1159

unity3D漫游

  • 2013年06月27日 10:09
  • 11.63MB
  • 下载

Unity中关于场景漫游的两个方法(二)

第二个方法不仅不需要借助漫游插件实现漫游效果,而且还可以实现对物体的抓取,比第一种方法更加方便快捷。废话不多说,下面进入正题: 导入steamVR Plugin插件 steamVR Plugin可...
  • a435931517
  • a435931517
  • 2017-08-29 17:52:26
  • 1004

Unity漫游项目经验分享

国庆,技术总监介绍了个漫游项目给我,由于公司的解散,没有做过漫游项目的我硬着头皮接下了,国庆在家里呆了不到两天就奔赴南京,在南京呆了八天,项目总算了结,带着微薄的定金和一张白条直接回到杭州。我收获其实...
  • yuanchunfa
  • yuanchunfa
  • 2012-10-28 13:19:27
  • 4367

unity3d Game场景漫游脚本

using UnityEngine; using System.Collections; public class ScemeMove : MonoBehaviour { private Vect...
  • qq617119142
  • qq617119142
  • 2014-12-04 14:47:53
  • 2868
收藏助手
不良信息举报
您举报文章:Unity手动漫游(移动端)
举报原因:
原因补充:

(最多只允许输入30个字)