Страница 1 из 1

Как не поворачивать Z координату?

СообщениеДобавлено: 27 июн 2018, 10:47
Wmyx
Здравствуйте! Я хочу сделать поворот камеры от первого лица и делаю это через метод Rotate, но вот суть в том, что камера поворачивается еще в Z координате, а мне этого не надо, потому что получается бред какой-то, а не поворот.

Можете подсказать, как запретить поворачивать по Z координате?
Я главное как-то такое делал, через какой-то другой метод может, еще в прошлом году, но вот забыл как-то.
И да, в аргументах (входных данных), я ставлю Z 0, но все равно поворачивает.

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 27 июн 2018, 12:11
1max1
Синтаксис:
Используется csharp
class test : MonoBehaviour
{
    float speed = 100.0f;

    void Update()
    {
        float x = Input.GetAxis("Mouse X") * speed * Time.deltaTime;
        float y = Input.GetAxis("Mouse Y") * speed * Time.deltaTime;

        transform.Rotate(transform.InverseTransformDirection(transform.right), -y);
        transform.Rotate(transform.InverseTransformDirection(Vector3.up), x);
    }
}
 

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 27 июн 2018, 15:01
Wmyx
Спасибо! Помогло

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 27 июн 2018, 15:48
Wmyx
А можешь еще подсказать, как сделать чтобы объект поворачивался по одной оси вместе с камерой?
Щас пробовал вроде логичные способами, но получался ужас

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 27 июн 2018, 16:00
1max1
Кажется можно сделать через это https://docs.unity3d.com/ScriptReferenc ... round.html
Как альтернатива, можно просто кинуть объект в дочерние к камере и он будет крутиться вместе с ней.

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 29 июн 2018, 09:58
Cr0c
Ось X - мировая ось up
Ось Y - локальная right
В доках есть у Rotate задание системы координат

Re: Как не поворачивать Z координату?

СообщениеДобавлено: 29 июн 2018, 09:59
Cr0c
Wmyx писал(а):А можешь еще подсказать, как сделать чтобы объект поворачивался по одной оси вместе с камерой?
Щас пробовал вроде логичные способами, но получался ужас

Вращают объект, камера дочерним или скриптом дублировать её положение/вращение