您的位置:首页 > 移动开发 > Unity3D

Unity陀螺仪应用

2016-05-21 11:31 197 查看
Unity里面关于陀螺仪的文章

using UnityEngine;
using System.Collections;
//摄像机  陀螺仪转动
public class IphoneGyro : MonoBehaviour
{

//bool gyroBool;
Gyroscope gyro;
Quaternion quatMult;
Quaternion quatMap;
UILabel ul;
GameObject player;
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(90,0, 0);
quatMult = new Quaternion(0, 0, 1, 0);

}

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: