1. 程式人生 > 程式設計 >Unity3D手機陀螺儀的使用方法

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,30),"啟動失敗");
    }
  }
  
}

該指令碼繫結到主攝像機上,釋出成apk檔案,安裝到帶有陀螺儀的手機就可以了。執行後會看到,當手機位姿變化時,方塊也會隨著變化。但是手機陀螺儀會有少許漂移。當手機不動時候,場景中的方塊也許會有少量移動。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。