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;
		
		
	}
	
}


 

转载于:https://www.cnblogs.com/nafio/p/9137455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值