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

Общие вопросы о Unity3D

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

Сообщение Wmyx 27 июн 2018, 10:47

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

Можете подсказать, как запретить поворачивать по Z координате?
Я главное как-то такое делал, через какой-то другой метод может, еще в прошлом году, но вот забыл как-то.
И да, в аргументах (входных данных), я ставлю Z 0, но все равно поворачивает.
Wmyx
UNец
 
Сообщения: 13
Зарегистрирован: 23 июн 2018, 16:07

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

Сообщение 1max1 27 июн 2018, 12:11

Синтаксис:
Используется 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);
    }
}
 
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Wmyx 27 июн 2018, 15:01

Спасибо! Помогло
Wmyx
UNец
 
Сообщения: 13
Зарегистрирован: 23 июн 2018, 16:07

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

Сообщение Wmyx 27 июн 2018, 15:48

А можешь еще подсказать, как сделать чтобы объект поворачивался по одной оси вместе с камерой?
Щас пробовал вроде логичные способами, но получался ужас
Wmyx
UNец
 
Сообщения: 13
Зарегистрирован: 23 июн 2018, 16:07

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

Сообщение 1max1 27 июн 2018, 16:00

Кажется можно сделать через это https://docs.unity3d.com/ScriptReferenc ... round.html
Как альтернатива, можно просто кинуть объект в дочерние к камере и он будет крутиться вместе с ней.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

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

Сообщение Cr0c 29 июн 2018, 09:58

Ось X - мировая ось up
Ось Y - локальная right
В доках есть у Rotate задание системы координат
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

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

Сообщение Cr0c 29 июн 2018, 09:59

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

Вращают объект, камера дочерним или скриптом дублировать её положение/вращение
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 17