Unity3D中通过陀螺仪来控制摄像机的旋转
2017-12-11 20:03
501 查看
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 直接挂载这个脚本即可通过陀螺仪来控制摄像机的旋转 /// </summary> public class GyroDemo : 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; //在localRotation和qt之间的插值 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.eul 8e8d erAngles.y, transform.eulerAngles.z); } } protected void Update() { Gyro(); } }
相关文章推荐
- Unity3D入门(五):鼠标控制旋转、摄像机缩放
- 【小松教你手游开发】【unity实用技能】unity3d 陀螺仪控制camera移动旋转
- Unity3D【脚本】鼠标对摄像机的控制 - 点击鼠标,摄像机围绕圆心旋转(第三次修改)
- Unity3D【脚本】鼠标对摄像机的控制 - 点击鼠标,摄像机围绕圆心旋转
- Unity3D开发之控制摄像机围绕物体旋转 平移 缩放
- unity3d实现控制摄像机放大缩小视野加左右可旋转视角角度
- 【unity实用技能】unity3d 陀螺仪控制camera移动旋转
- Unity3D 第一人称视角摄像机旋转控制
- Unity3D入门(五):鼠标控制旋转、摄像机缩放
- Unity3d UGUI 控制Image的旋转
- Unity3D入门(四):摄像机控制
- Unity3D第三人称摄像机控制脚本
- Unity3D 摄像机的Transform通过摇杆输出的方向
- Unity3D 几个基本动画(控制物体移动、旋转、缩放)
- u3D开发学习之路--鼠标控制摄像机旋转
- unity3d 摄像机跟随鼠标和键盘的控制
- Unity3D 游戏引擎之控制模型移动旋转与碰撞
- unity3d旋转摄像机脚本
- Unity3d控制物体的旋转以及缩放
- Unity3d--第三人称摄像机常用控制