Unity手动漫游(移动端)

首先说明一下,今天将的手动漫游方式需要借助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)

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值