使用手机陀螺仪,可获得手机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文件,安装在带陀螺仪的手机上。运行后,您会看到,当手机位置发生变化时,方块也会发生变化。但是手机陀螺仪会漂移一点。当手机不动时,场景中的方块可能会移动少量。
以上是本文的全部内容,希望对大家的学习有所帮助,也希望大家多支持脚本之家。