Unreal Engine 4
https://uengine.ru/forum/

Как смешать анимации передвижения?
https://uengine.ru/forum/viewtopic.php?f=19&t=12872
Страница 1 из 1

Автор:  kiteg [ 19 дек 2017, 06:44 ]
Заголовок сообщения:  Как смешать анимации передвижения?

Дано:
-Вид сверху, персонаж поворачивается за курсором мышки через AddControllerYawInput();
-камера не поворачивается, только следует за персонажем;
-движение персонажа не зависит от его поворота (w-движение вверх, s-вниз...).

Нужно найти два значения по которым будут смешиваться анимации.
Я по началу думал что можно взять эти значения из вектора скорости персонажа GetVelocity(). Проблема в том что если персонаж бежит вверх, а повёрнут вправо, то вектор скорости показывает что персонаж бежит вперёд, когда по логике вещей он бежит уже влево.
В общем нужно что-то делать с вектором скорости в зависимости от вектора направления взгляда персонажа GetActorForwardVector().
Я так понимаю, что можно это сделать через MirrorByVector(), но я так и не смог разобраться как это сделать.
Накиньте пожалуйста примерный путь решения этой задачки.

Автор:  kiteg [ 19 дек 2017, 07:29 ]
Заголовок сообщения: 

Или может как-то возможно привести вектор скорости GetVelocity() в локальное координатное пространство персонажа?

Автор:  kiteg [ 19 дек 2017, 09:05 ]
Заголовок сообщения: 

Нашёл решение:
FVector animVector = FRotationMatrix(FRotator(0, GetControlRotation().Yaw, 0)).InverseTransformVector(GetVelocity());

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/