Unity3D中手機陀螺儀的使用


使用手機陀螺儀,可以獲取手機的3D姿態,這在開發中是很有用的。當然現在的手機內置的陀螺儀都是比較廉價的,精度不高,但是作為實驗設備看看效果還是可以的。本文將給出調用手機陀螺儀的簡單方法。

       首先,我們需要在場景中添加大量方塊,作為觀察對象。

 

 

 

       控制陀螺儀的腳本:

using UnityEngine;
using System.Collections;

public class gyroscope : MonoBehaviour {

bool draw = false;
bool gyinfo;
Gyroscope go;
void Start()
{
gyinfo = SystemInfo.supportsGyroscope;
go = Input.gyro;
go.enabled = true;
}
void Update()
{
if (gyinfo)
{
Vector3 a = go.attitude.eulerAngles;
a = new Vector3(-a.x, -a.y, a.z); //直接使用讀取的歐拉角發現不對,於是自己調整一下符號
this.transform.eulerAngles = a;
this.transform.Rotate(Vector3.right * 90, Space.World);
draw = false;
}
else
{
draw = true;
}
}

void OnGUI()
{
if (draw)
{
GUI.Label(new Rect(100, 100, 100, 30), "啟動失敗");
}
}

}

        該腳本綁定到主攝像機上,發布成apk文件,安裝到帶有陀螺儀的手機就可以了。運行后會看到,當手機位姿變化時,方塊也會隨着變化。但是手機陀螺儀會有少許漂移。當手機不動時候,場景中的方塊也許會有少量移動。

 

 

 

 

---------------------

原文:https://blog.csdn.net/zzlyw/article/details/53219928


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM