AR_ Vuforia _人物模块的旋转跟缩放

来源:互联网 发布:sublime json 格式化 编辑:程序博客网 时间:2024/05/17 03:01
using UnityEngine;/// <summary>/// 挂在人物上 Touch控制/// </summary>public class ControlTouch : MonoBehaviour{    Touch oldTouchOne;    Touch oldTouchTwo;    // Use this for initialization    void Start()    {    }    // Update is called once per frame    void Update()    {        switch (Input.touchCount)        {            case 0:                return;            case 1:                One();                //旋转                break;            case 2:                Two();                //todu放大缩小                break;        }    }    /// <summary>    /// 一个手指头的旋转的方法    ///     /// </summary>    private void One()    {        Touch touch = Input.GetTouch(0);//获取一直手指        Vector2 v2 = touch.deltaPosition;//获得手指滑动的量        transform.Rotate(Vector3.down * v2.x, Space.World);//以世界坐标旋转    }    /// <summary>    /// 两只手指头放大缩小的方法    /// </summary>    private void Two()    {        //获取第一个手指        Touch newTouchOne = Input.GetTouch(0);        //获取第二个手指        Touch newTouchTwo = Input.GetTouch(1);        //当第二个手指开始碰触的时候        if (newTouchTwo.phase == TouchPhase.Began)        {            //记录第一个手指            oldTouchOne = newTouchOne;            //记录第二个手指            oldTouchTwo = newTouchTwo;            return;        }        //计算就得两个手指的距离        float oldDisTance = Vector2.Distance(oldTouchOne.position, oldTouchTwo.position);        //计算新的两个手指头距离        float newDisTance = Vector2.Distance(newTouchOne.position, newTouchTwo.position);        //计算出新的距离相对于旧的距离大或者小        float Offset = (newDisTance - oldDisTance) / 1000;        //获取物体本身的大小        Vector3 localscale = transform.localScale;        //给物体放大距离因子        Vector3 Scale = new Vector3(localscale.x + Offset, localscale.y + Offset, localscale.z + Offset);        if (Scale.x >= 0.5 && Scale.y >= 0.5 && Scale.z >= 0.5)        {            //将现在的比例赋值到物体的比例上            transform.localScale = Scale;        }        //记录第一个第二个手指位置        oldTouchOne = newTouchOne;        oldTouchTwo = newTouchTwo;    }}
原创粉丝点击