Пятница, 22 Ноября 2024, 17:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблема с Rotate
lakorisДата: Воскресенье, 08 Декабря 2013, 15:03 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Здравствуйте. Делаю поворот колеса при нажатии педали газа (По оси X) и при повороте руля (Ось Z).
На задние колеса я вот это вот налепил (для движения по оси X):
Код
void Update () {
    if (Input.GetButton ("Vertical_W")){
     transform.Rotate(-15, 0, 0);

     }
    if (Input.GetButton ("Vertical_S")){
     transform.Rotate(15, 0, 0);
       
    }

Тоесть, едем вперед - колесо крутится по +15 к X. Назад - по -15.

Поворот передних колес при прокручивании руля - вот так:
Код
if (Input.GetButtonDown ("A")){
     transform.Rotate(new Vector3(0, 0, -35));
    }

     if (Input.GetButtonUp ("A")){
     transform.Rotate(new Vector3(0, 0, 35));
    }
     
     if (Input.GetButtonDown ("D")){
     transform.Rotate(new Vector3(0, 0, 35));
    }
      
     if (Input.GetButtonUp ("D")){
     transform.Rotate(new Vector3(0, 0, -35));
    }


Все работает, но передним колесам тоже надо прикрутить, как и задним, прокручивание при движении.
Но
Если я еду вперед - изменяется же X, а из-за этого при нажатии влево/вправо колесо поворачивает вообще не туда, куда надо.
Что делать? Уверен, есть решение..


Сообщение отредактировал lakoris - Воскресенье, 08 Декабря 2013, 15:15
SnakeRДата: Воскресенье, 08 Декабря 2013, 15:24 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
lakoris, переднее колесо делаешь дочерним к пустому ГО. Колесо крутишь по Х, родительский объект по Y.

Unity3D Developer
Ваш лучший помощник при разработке в Unity3D
lakorisДата: Воскресенье, 08 Декабря 2013, 15:37 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
SnakeR, Пробовал.. такая-же ерунда выходит

Добавлено (08.12.2013, 15:37)
---------------------------------------------
SnakeR, перепроверил. Все нормально

Добавлено (08.12.2013, 15:37)
---------------------------------------------
SnakeR, спасибо

allodsДата: Воскресенье, 08 Декабря 2013, 15:54 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
луче вертеть вот таким раком

Код
transform.Rotate(Vector3.forward*(200*Time.deltaTime));
lakorisДата: Воскресенье, 08 Декабря 2013, 15:55 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
allods, спасибо, учту на будущее
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг