@youkerni
Unity3D developer

Как сделать так, что бы спрайт не поворачивался при Input.Acceleration.x != 0?

Собственно, я понимаю что мне необходима функциональная зависимость угла поворота спрайта от наклона акселерометра, однако я не понимаю как можно это реализовать.
Quaternion q;

    void Start()
    {
        q = transform.rotation;
    }

    void Update()
    {
        if (Input.acceleration.x > 0 || Input.acceleration.x < 0)
            transform.rotation = q;
    }


Написанное мной работать не должно, я понимаю это. Мне нужно доворачивать на определенный угол который я не понимаю откуда брать. Буду благодарен любой помощи.
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
@youkerni Автор вопроса
Unity3D developer
Необходимо что бы при наклоне телефона вправо - влево бекграунд не наклонялся вместе с девайсом, а держал изначальную позицию. Использую акселерометр и данную формулу:

angle = Mathf.Atan2(Input.acceleration.x * Mathf.PI, Input.acceleration.y * Mathf.PI) * Mathf.Rad2Deg;
Angle это угол на который необходимо довернуть background в противоположном направлении
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
coremission
@coremission
Профессиональный программист игр.
Вам нужен гироскоп скорее всего а не акселерометр. У Input.gyro есть кватернион, дальше я думаю вы разберетесь ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы