【问题标题】:Gyroscope shaking when moving around四处走动时陀螺仪抖动
【发布时间】:2017-05-12 20:26:08
【问题描述】:

我正在制作一个 360 度视频播放器,相机放置在球体的中心,并且我已经在相机中实现了陀螺仪,它正在工作,但是当我四处走动时会发生奇怪的抖动,看起来像是即使手机静止,也会出现某种延迟。 屏幕方向锁定为横向。

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);
    }




}

【问题讨论】:

  • 您的手机品牌和型号是什么?你也测试过其他手机吗?
  • @Hristo 我在 Iphone 5c 和三星 s5 上测试过,都存在同样的问题

标签: c# android unity3d gyroscope


【解决方案1】:

下面的代码应该可以解决这个问题:

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

引用自here

【讨论】:

  • 它有效!但是有一个问题,相机不再是中心了。
  • 你的意思是它不会停留在同一个位置或?
  • 看起来视频在右边,我必须将手机旋转 30 度然后环顾四周
  • 问题可能来自其他地方或者我弄错了?
  • 我不知道,以前没有发生过
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多