Я использую гироскоп в своем приложении, и до недавнего времени все работало нормально. Гироскоп начал прыгать с -89 до 90 градусов по оси Y, когда я использовал Unity Remote на iPhone. Но если я разверну сборку на iPhone и запустлю приложение, оно будет работать нормально.
Я приложил два видео о том, как работает приложение с Unity Remote и как работать на моем телефоне. видео с Unity Remote: https://drive.google.com/file/d/1t3aBUHD7pFNN1BwCLciesAS_kSVxqa6P/view?usp=sharing видео с моего телефона: https://drive.google.com/file/d/1i7qK9906Xbx0Rpe2098WmJO6NxIiOhDp/view?usp=sharing
это код для гироскопа:
using UnityEngine;
public class gyroScript : MonoBehaviour
{
private bool gyroEnabled;
private Gyroscope gyro;
private GameObject cameraContainer;
private Quaternion rot;
// Start is called before the first frame update
private void Start()
{
cameraContainer = new GameObject("Camera Container");
gyroEnabled = EnabelGyro();
cameraContainer.transform.position = transform.position;
transform.SetParent(cameraContainer.transform);
}
private bool EnabelGyro()
{
if (SystemInfo.supportsGyroscope)
{
gyro = Input.gyro;
gyro.enabled = true;
cameraContainer.transform.rotation = Quaternion.Euler(90f, 90f, 0f);
rot = new Quaternion(0, 0, 1, 0);
return true;
}
else
{
return false;
}
}
// Update is called once per frame
private void Update()
{
if (gyro.enabled)
{
transform.localRotation = gyro.attitude * rot;
}
}
}
Я надеюсь, что кто-тознает, что идет не так.