移动时陀螺仪摇晃

时间:2017-05-12 20:26:09

标签: c# android unity3d gyroscope

我正在制作一个360度视频播放器,相机放在一个球体的中心,我已经将陀螺仪实现到相机中,它正在工作但是当我四处移动时,会发生奇怪的震动,即使手机静止,看起来也有某种延迟。 屏幕方向被锁定在风景中。

enter image description here

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Gyro : MonoBehaviour {

    private Gyroscope gyro;
    private bool gyroSupported;
    private Quaternion rotFix;


    void Start()
    {
        gyroSupported = SystemInfo.supportsGyroscope;

        GameObject camParent = new GameObject("camParent");
        camParent.transform.position = transform.position;
        transform.parent = camParent.transform;

        if (gyroSupported)
        {
            gyro = Input.gyro;
            gyro.enabled = true;

            camParent.transform.rotation = Quaternion.Euler(90f, 180f, 0f);
            rotFix = new Quaternion(0, 0, 1, 0);
        }
    }



    void Update()
    {
        this.transform.Rotate(-Input.gyro.rotationRateUnbiased.x, -Input.gyro.rotationRateUnbiased.y, -Input.gyro.rotationRateUnbiased.z);
    }




}

3 个答案:

答案 0 :(得分:1)

以下代码应解决此问题:

void Update() 
{
    this.transform.Rotate (-Input.gyro.rotationRateUnbiased.x, -Input.gyro.rotationRateUnbiased.y, -Input.gyro.rotationRateUnbiased.z);
}

引自here

答案 1 :(得分:0)

我遇到了同样的问题。但就我而言,事实证明这是大多数手机的问题。可能陀螺仪的范围还不够成熟。虽然这不是编码问题。而且你并不是唯一面临这个问题的人。那个时候我也试过很多博客。但是没有适当的编码解决方案。这是电路中的一个错误。 NO CURE YET

答案 2 :(得分:0)

在Krpano库中使用Gyro插件。将库从krpano 1.19-pr14更新到krpano 1.19-pr16为我解决了此问题