Войти
Unreal EngineФорумОбщее

Поворот по направлению движения

#0
7:14, 26 фев. 2020

Не нашел в гугле и ютубе как это сделать.

У меня персонаж движется с помощью InputAxis на кнопки WASD. Камера игрока находится сверху. Но моделька не поворачивается в сторону движения.

Находил уроки где поворот персонажа идет в сторону указателя, но там определяется вектор от персонажа до указателя мыши.

А в моем случае как сделать? Подскажите, пожалуйста.


#1
9:22, 26 фев. 2020

А как ты сам представляешь такое управление? Если не вводить мыш с указателем, то что по твоему должно будет произойти?
Поворот персонажа против часовой стрелки при нажатии "A" и по часовой при нажатии "D"?

#2
10:01, 26 фев. 2020

Хотя наверное я не так понял вопрос.
Вообще ты можешь воспользоваться MakeRotFromX, используя в качестве вектора инпуты. Для x - вверх, вниз, для y - влево, вправо.

Мне кажется должен быть какой-то более изящный способ, но хз.

https://blueprintue.com/blueprint/xukpq07g/

#3
10:19, 26 фев. 2020

Alex.L
Спасибо за ответ. Я сейчас пробую просто поворот в зависимости от значения InputAxis (Compare float>SetControlRotation>MakeRotator). Вроде получается.

А я думал у движка есть автоматическое определение поворота от направления движения. Ведь AI персонажи которые бегут за игроком сами как-то поворачиваются. Но блюпринты относящиеся к этому я не нашел.

А второй совет тоже попробую.

#4
11:38, 26 фев. 2020

https://www.youtube.com/watch?v=QT74MNozbcU

#5
20:50, 28 фев. 2020

Alex.L
> Мне кажется должен быть какой-то более изящный способ, но хз.
>
> https://blueprintue.com/blueprint/xukpq07g/
Я так понимаю в центре "SET" это вектор?  А что такое arrow и dir?

#6
14:30, 29 фев. 2020

Johnny Wild
> https://www.youtube.com/watch?v=QT74MNozbcU

Попробовал на AnimStarterPack сделать то же самое, но персонаж не поворачивается.

#7
11:28, 3 мар. 2020

в CharacterMovementComponent есть галка "Orient rotation to movement"

Unreal EngineФорумОбщее