首页 > 编程语言 > 详细

【小超_U3D】Unity3D对陀螺仪的使用

时间:2015-04-22 18:37:29      阅读:8261      评论:0      收藏:0      [点我收藏+]

最近在做虚拟现实的项目,一直在查找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;
       
        
    }
   
}
Android上完美运行


转载请注明:http://blog.csdn.net/dzc372787439


【小超_U3D】Unity3D对陀螺仪的使用

原文:http://blog.csdn.net/dzc372787439/article/details/45195163

(1)
(2)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!