Unity 使用陀螺仪观察场景

来源:互联网 发布:软件0x0000007b 编辑:程序博客网 时间:2024/06/05 20:58

Unity 使用陀螺仪观察场景

    using UnityEngine;    using UnityEngine.UI;    public class CamMove : MonoBehaviour    {        private Gyroscope gyro;        private Quaternion quatMult;        private Quaternion quatMap;        private bool isLock;                    //锁定        private float speed = 0.2f;         //移动速度        public GameObject camParent;        protected void Start()        {            camParent.transform.position = transform.position;            transform.parent = camParent.transform;            isLock = false;            gyro = Input.gyro;            gyro.enabled = true;            camParent.transform.eulerAngles = new Vector3(90, 90, 0);            quatMult = new Quaternion(0, 0, 1, 0);        }        protected void Gyro()        {            quatMap = new Quaternion(gyro.attitude.x, gyro.attitude.y, gyro.attitude.z, gyro.attitude.w);            Quaternion qt = quatMap * quatMult;            transform.localRotation = Quaternion.Slerp(transform.localRotation, qt, speed);            if (isLock)            {                transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0);            }            else            {                transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, transform.eulerAngles.z);            }        }        protected void Update()        {            Gyro();        }    }
原创粉丝点击