Вторник, 26 Ноября 2024, 03:41

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Поворот игрока в сторону движения(Решено)
JakartaIlIДата: Понедельник, 28 Июля 2014, 14:23 | Сообщение # 1
частый гость
Сейчас нет на сайте
Ребят, как сделать так что бы игрок поворачивался туда, куда идет, проблема в том что он поворачивается вверх и вниз. Если ничего не нажимать, в стандартной позе он повернут вниз.

void Update() { //ДВИЖЕНИЕ
CharacterController controller = GetComponent<CharacterController>();
if (controller.isGrounded) {
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
//ПОВОРОТ В СТОРОНУ moveDirection
void LateUpdate() {body.transform.rotation = Quaternion.LookRotation(moveDirection);}


Сообщение отредактировал JakartaIlI - Понедельник, 28 Июля 2014, 17:36
Fr0sTДата: Понедельник, 28 Июля 2014, 14:59 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Он смотрит вниз потому что ты у moveDirection вычитаешь координату по У - гравитацию.
Делай так
if(moveDirection != vector3.zero)body.transform.rotation = Quaternion.LookRotation(moveDirection);
а для гравитации завиди другой вектор.






Сообщение отредактировал Fr0sT - Понедельник, 28 Июля 2014, 15:00
ЛевшаДата: Понедельник, 28 Июля 2014, 15:23 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Код
transform.forward = moveDirection;
controller.Move((moveDirection * Speed + Vector3.down * gravity) * Time.deltaTime);


X.cor.R (Prologue)
JakartaIlIДата: Понедельник, 28 Июля 2014, 17:35 | Сообщение # 4
частый гость
Сейчас нет на сайте
Спасибо пацаны, долго не мог исправить. Выручили.(Ловите "+" в репутацию)
  • Страница 1 из 1
  • 1
Поиск:

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