Гироскоп ведет себя по-разному между Samsung и Google Pixel - PullRequest
0 голосов
/ 08 ноября 2018

Я хотел управлять камерой с помощью гироскопа Unity, и я увидел код в другом посте о том, как это сделать. Но поведение Google Pixel и Samsung S7 отличается, мне нужно протестировать приложение. Кажется, что та же самая сцена с тем же кодом перевернута на 180 градусов вдоль одной из осей.

using System.Collections;
using System.Collections.Generic;
using JetBrains.Annotations;
using UnityEngine;
public class GyroControl : MonoBehaviour {


 private bool gyroEnabled;
 private Gyroscope gyroscope;

 private GameObject cameraContainer;
 private Quaternion rotation;

 void Start () {

     cameraContainer = new GameObject ("Camera Container");
     cameraContainer.transform.position = transform.position;
     transform.SetParent (cameraContainer.transform);

     Screen.sleepTimeout = SleepTimeout.NeverSleep;

     gyroEnabled = EnableGyro ();

 }

 private bool EnableGyro() {
     if (SystemInfo.supportsGyroscope) {
         gyroscope = Input.gyro;
         gyroscope.enabled = true;

         cameraContainer.transform.rotation = Quaternion.Euler (90.0f, 0.0f, 0.0f);
         rotation = new Quaternion (0, 0, 1, 0);

         return true;
     }

     return false;
 }

 void Update () {
     if (gyroEnabled) {
         transform.localRotation = gyroscope.attitude * rotation;
     }

 }

} код здесь

...