Вторник, 19 Ноября 2024, 14:24

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Скорость и направление
andarkyДата: Понедельник, 21 Января 2013, 12:39 | Сообщение # 1
старожил
Сейчас нет на сайте
я нарыл это скрипт:
Код
function Update () {
     var controller : CharacterController = GetComponent(CharacterController);
     var horizontalVelocity : Vector3 = controller.velocity;
     horizontalVelocity = Vector3(controller.velocity.x, 0, controller.velocity.z);
      
     // The speed on the x-z plane ignoring any speed  
     var horizontalSpeed : float = horizontalVelocity.magnitude;
     // The speed from gravity or jumping
     var verticalSpeed : float = controller.velocity.y;
     // The overall speed
     var overallSpeed : float = controller.velocity.magnitude;
}


но как мне определить направление?
вперед ли я иду или назад?

Конечно из ГетКея можно ловить,
но можно ли его не трогать?

У меня перс когда стоит - объектик над ним статичен,
когда я бегу - крутится, но когда бегу назад - он всё равно вперед крутится.
Как определить направление CharacterController?



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
vampire666Дата: Понедельник, 21 Января 2013, 15:49 | Сообщение # 2
был не раз
Сейчас нет на сайте
Сделайте управление через GetAxis("Vertical").
Если значение будет отрицательным значит назад если положительным - то вперед!
Значение колеблется от -1 до 1.


Сообщение отредактировал vampire666 - Понедельник, 21 Января 2013, 15:49
andarkyДата: Понедельник, 21 Января 2013, 15:52 | Сообщение # 3
старожил
Сейчас нет на сайте
vampire666,
я не хочу касаться управления.

Я думаю что можно всё узнать из самого объекта CharacterContoroller
я просто не разбираюсь в функциях работы с векторами



Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
vampire666Дата: Понедельник, 21 Января 2013, 16:29 | Сообщение # 4
был не раз
Сейчас нет на сайте
andarky, найти угол между текущим движением и движение вперед.
Что то тип а такого
var Туда_куда_идем : Vector3 = controller.velocity;
var Угол : float = Vector3.Angle(Туда_куда_идем, transform.TransformDirection(Vector3.forward));
И если угол меньше 90 то вперед если больше то назад.
  • Страница 1 из 1
  • 1
Поиск:

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