zoukankan      html  css  js  c++  java
  • Unity陀螺仪

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    //摄像机  陀螺仪转动
    public class TGyro : MonoBehaviour
    {
    	
    	//bool gyroBool;
    	Gyroscope gyro;
    	Quaternion quatMult;
    	Quaternion quatMap;
    	//UILabel ul;
    	public GameObject player;
    	public GameObject camParent;
    	void Awake()
    	{
    		//player = GameObject.Find("Player");
    		// find the current parent of the camera's transform
    		Transform currentParent = transform.parent;
    		// instantiate a new transform
    		camParent = new GameObject("camParent");
    		// match the transform to the camera position
    		camParent.transform.position = transform.position;
    		// make the new transform the parent of the camera transform
    		transform.parent = camParent.transform;
    		// make the original parent the grandparent of the camera transform
    		//camParent.transform.parent = currentParent;-
    		// instantiate a new transform
    		GameObject camGrandparent = new GameObject("camGrandParent");
    		// match the transform to the camera position
    		camGrandparent.transform.position = transform.position;
    		// make the new transform the parent of the camera transform
    		camParent.transform.parent = camGrandparent.transform;
    		// make the original parent the grandparent of the camera transform
    		camGrandparent.transform.parent = currentParent;
    		
    		//gyroBool = true;
    		//if (gyroBool) {
    		gyro = Input.gyro;
    		//ul = GameObject.Find("Rotation").GetComponent<UILabel>();
    		
    		gyro.enabled = true;
    		camParent.transform.eulerAngles = new Vector3(0,0, 0);
    		quatMult = new Quaternion(0, 0, 1, 0);//猜测陀螺仪默认是向下的,这里是沿z轴转180度
    		
    	}
    	
    	void Update()
    	{
    		
    		quatMap = new Quaternion(gyro.attitude.x, gyro.attitude.y, gyro.attitude.z, gyro.attitude.w);
    		Quaternion qt=quatMap * quatMult;
    		
    		transform.localRotation =qt;
    		
    		
    		//ul.text = "Rotation:" + transform.localRotation + "player" + player.transform.localRotation;
    		
    		
    	}
    	
    }
    


     

  • 相关阅读:
    23.什么是控制文件?
    路由器原理及路由协议
    大家帮忙看看,不会即使显示串口缓冲数据
    c# interface
    ip classless&no ip classless
    Visual Studio 2010 Visual C++ 确定要重新分发的 DLL
    fibonacci算法
    loopback端口作用
    疑惑的virtual method
    Read MBR via ReadFile function
  • 原文地址:https://www.cnblogs.com/nafio/p/9137455.html
Copyright © 2011-2022 走看看