Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Сразу скажу: это дешёвый по производительности метод и не всегда самый лучший.

мой тг канал про анимацию итд

Итак, перейдём в ABP нашего персонажа.

Animation Blueprint — это блюпринт, который управляет анимацией персонажа в реальном времени, то есть в игре — здесь мы задаём условия, по которым проигрывается наша анимация.

Закинем для теста анимацию из Asset Browser. Важно: анимация не будет работать, если её не подключить в Output Pose.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Вызовем Spring Controller.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Левой кнопкой мыши по ноде и выбираем кость груди (для каждой груди нужно будет создать по своей ноде Spring Controller).

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Spring Bone — какую кость двигает (в нашем случае ) chest_r).

Max Displacement — максимальное смещение кости от исходной позиции (ограничивает амплитуду, чтобы не “улетала”).

Spring Stiffness — жесткость пружины: чем больше, тем сильнее и быстрее кость стремится вернуться в целевое положение (более “упруго”).

Spring Damping — затухание: чем больше, тем меньше раскачка/колебания и быстрее стабилизация (более “вязко”).

Limit Displacement — включает/выключает кламп смещения по Max Displacement (если включено — смещение жёстко ограничено).

Ставим Translate — ротейты не работают) важно понимать, что эта нода работает только по транслейтам. И самое главное: вы можете сразу в ABP увидеть, как работает динамика.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Теперь настраиваем Damping и Stiffness, чтобы не было вот так (тут видео).

Мои настройки — вы можете заметить, что я уменьшил значение Alpha до 0.3, так как в игре были баги в виде дрожания грудей, если регулировать только Stiffness и Damping.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Усе, наши груди готовы)

Дочитали до сюда ? вот вам небольшое видео для отдыха какой референс я использовал под эту анимацию

Теперь сделаем хвост, для этого потребуется: вызвать ноду AnimDynamics — это процедурная симуляция вторички прямо в AnimGraph.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Simulation Space — в каком пространстве считать симуляцию.

Bound Bone — тут указываем нашу стартовую кость хвоста. Chain End — указываем последнюю кость хвоста.

Gravity Scale — множитель гравитации для симуляции- на сколько наш хвост будет опускатся под гравитацией - у меня стоит 3.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Num Solver Iterations Pre Update

Больше итераций → стабильнее, меньше дрожи, лучше держит ограничения. Но дороже по производительности.

Num Solver Iterations Post Update Сколько итераций после апдейта (дополнительная стабилизация).

В общем, параметры отвечающие на то, насколько симуляция дрожит или нет.

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)

Вот результат

Вы можете заметить что анимация хвоста работает относительно анимации персонажа - и не реагирует на повороты персонажа в пространстве с помощью кода

Чтобы хвост реагировал не только на анимацию но и смещение самого персонажа в пространстве нужно поставить в Simulate Space World

Симуляция груди в Unreal Engine: то, о чём вы не просили, но явно заслужили)
34
22
5
4
3
1
45 комментариев