Помогите с вращением камеры

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Помогите с вращением камеры

Сообщение danko11811 26 фев 2019, 18:01

Здравствуйте Не могу понять почему при вращении камеры у меня изменяется переменная Z(При том что в коде я её оставляю 0).Уже 2 -ой день бьюсь с этим скриптом.
Синтаксис:
Используется csharp
        void Update () {
        X = Input.GetAxis("Mouse X") * CursorSens * Time.deltaTime;
        Y = -Input.GetAxis("Mouse Y") * CursorSens * Time.deltaTime;
        Z = 0;
        PlayerCamera.transform.rotation *= Quaternion.Euler(Y, X, 0.0f);
   }
danko11811
UNец
 
Сообщения: 6
Зарегистрирован: 26 фев 2019, 17:57

Re: Помогите с вращением камеры

Сообщение Jarico 26 фев 2019, 18:27

потому что *=
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Помогите с вращением камеры

Сообщение danko11811 26 фев 2019, 18:46

Jarico писал(а):потому что *=

Если убрать *= и поставить просто = , то камера вообще перестает вращаться
danko11811
UNец
 
Сообщения: 6
Зарегистрирован: 26 фев 2019, 17:57

Re: Помогите с вращением камеры

Сообщение Uncle_Rufus 26 фев 2019, 18:50

А что у тебя в КурсорСенс записано?
Uncle_Rufus
UNец
 
Сообщения: 8
Зарегистрирован: 16 фев 2019, 21:59

Re: Помогите с вращением камеры

Сообщение danko11811 26 фев 2019, 18:57

Uncle_Rufus писал(а):А что у тебя в КурсорСенс записано?

Синтаксис:
Используется csharp
[Range(0f,20f)]public float CursorSens;
Эта переменная пока выставляется в редакторе(потом планирую сделать настройку чувствительности мыши)
danko11811
UNец
 
Сообщения: 6
Зарегистрирован: 26 фев 2019, 17:57

Re: Помогите с вращением камеры

Сообщение Cr0c 26 фев 2019, 19:26

Потому что вращение камеры по разным системам: горизонтально по мировой оси Y, вертикально по локальной X
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Помогите с вращением камеры

Сообщение Uncle_Rufus 26 фев 2019, 20:20

https://docs.unity3d.com/ScriptReferenc ... ation.html

Я думаю что беда как раз в том что ты используешь диапазон величин (в КурсорСенс) и сразу умножаешь ГетАксесы на эти величины... Попробуй добавить умножение в описание поворота..
Uncle_Rufus
UNец
 
Сообщения: 8
Зарегистрирован: 16 фев 2019, 21:59

Re: Помогите с вращением камеры

Сообщение 1max1 26 фев 2019, 20:47

А не проще будет углы ейлера юзануть?
Синтаксис:
Используется csharp
float x, y;

void Update()
{
    x += Input.GetAxis("Mouse X") * CursorSens;
    y -= Input.GetAxis("Mouse Y") * CursorSens;

    PlayerCamera.transform.eulerAngles = new Vector3(x, y, 0.0f);
}


p.s. на дельтатайм умножать вовсе не обязательно.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Помогите с вращением камеры

Сообщение danko11811 26 фев 2019, 20:49

Uncle_Rufus писал(а):https://docs.unity3d.com/ScriptReference/Transform-rotation.html

Я думаю что беда как раз в том что ты используешь диапазон величин (в КурсорСенс) и сразу умножаешь ГетАксесы на эти величины... Попробуй добавить умножение в описание поворота..

Они же не все берутся только одно число, или я что то не понял из твоей формулировки?
danko11811
UNец
 
Сообщения: 6
Зарегистрирован: 26 фев 2019, 17:57

Re: Помогите с вращением камеры

Сообщение danko11811 26 фев 2019, 20:50

1max1 писал(а):А не проще будет углы ейлера юзануть?
Синтаксис:
Используется csharp
float x, y;

void Update()
{
    x += Input.GetAxis("Mouse X") * CursorSens;
    y -= Input.GetAxis("Mouse Y") * CursorSens;

    PlayerCamera.transform.eulerAngles = new Vector3(x, y, 0.0f);
}


p.s. на дельтатайм умножать вовсе не обязательно.

Спасибо!Работает!
danko11811
UNец
 
Сообщения: 6
Зарегистрирован: 26 фев 2019, 17:57


Вернуться в Почемучка

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32