Unity3D手机陀螺仪的使用方法
使用手机陀螺仪,可以获取手机的3D姿态,这在开发中是很有用的。当然现在的手机内置的陀螺仪都是比较廉价的,精度不高,但是作为实验设备看看效果还是可以的。本文将给出调用手机陀螺仪的简单方法。
首先,我们需要在场景中添加大量方块,作为观察对象。
控制陀螺仪的脚本:
usingUnityEngine; usingSystem.Collections; publicclassgyroscope:MonoBehaviour{ booldraw=false; boolgyinfo; Gyroscopego; voidStart() { gyinfo=SystemInfo.supportsGyroscope; go=Input.gyro; go.enabled=true; } voidUpdate() { if(gyinfo) { Vector3a=go.attitude.eulerAngles; a=newVector3(-a.x,-a.y,a.z);//直接使用读取的欧拉角发现不对,于是自己调整一下符号 this.transform.eulerAngles=a; this.transform.Rotate(Vector3.right*90,Space.World); draw=false; } else { draw=true; } } voidOnGUI() { if(draw) { GUI.Label(newRect(100,100,100,30),"启动失败"); } } }
该脚本绑定到主摄像机上,发布成apk文件,安装到带有陀螺仪的手机就可以了。运行后会看到,当手机位姿变化时,方块也会随着变化。但是手机陀螺仪会有少许漂移。当手机不动时候,场景中的方块也许会有少量移动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。