我正在制作一个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);
}
}
答案 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为我解决了此问题