Советы по анимированию рэгдолл-персонажей

Главное — найти баланс веса и сопротивления у разных частей тела.

Инди-разработчик Лоркан МакГэрри-Хант опубликовал на Gamasutra текст, в котором дал несколько советов, как анимировать рэгдолл-персонажей в своей игре. Подход автора основывается на тонкой настройке веса отдельных частей тела персонажа. А для усложнения анимации МакГэрри-Хант советует использовать инверсную кинематику. Выбрали из материала главное.

Один из прототипов МакГэрри-Ханта

Особенность рэгдолл-персонажей заключается в том, что их анимация не просчитана заранее — движения зависят от физики частей тела и рассчитываются прямо во время геймплея. Чтобы анимация выглядела правдоподобной, важно учитывать импульс и вес объектов. Именно поэтому для получения корректного результата нужно постоянно экспериментировать с физикой тела.

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

Если же вы хотите, чтобы персонаж ударил кулаком, то для правдоподобного эффекта нужно немного изменить вес рук — в момент удара надо увеличить массу на несколько кадров, чтобы тело последовало за кулаком. Такая «физичность» придаст реалистичности действиям.

Посмотрите, как кулак тянет за собой всё тело во время удара

При настройке вашего рэгдолл-персонажа важно правильно определить вес и сопротивление различных частей тела. Если сопротивление будет слишком высоким, то герой будет похож на малоподвижную фигурку. Если же оно будет слишком низким, то персонаж будет подобен мягкой тряпичной кукле.

МакГэрри-Хант советует создать скрипт для управления сопротивлением, который позволит установить общий вес персонажа, а затем определить, какую долю от общего значения занимает каждая часть. Это позволит быстро изменять и тестировать различные настройки, чтобы найти идеальный баланс.

По словам разработчика, чтобы анимация выглядела хорошо, вам нужно сделать кастомный скрипт гравитации — компоненты rigidbody, которые доступны по умолчанию, не подойдут для этого. У вас обязательно должна быть возможность менять центр масс — это даст больше контроля над позой.

Четыре одинаковых объекта с разным центром масс ведут себя непохоже друг на друга

Если вы будете поддерживать и тянуть туловище персонажа вверх, то это поможет сделать его движения менее кукольными. Но при этом важно не переусердствовать — если вы это допустите, то при падении персонаж будет вести себя так, словно плывёт в плотной жидкости.

По словам МакГэрри-Ханта, если вы хотите упростить задачу, устраните соединительные части вашего персонажа — оставьте только торс и крайние точки конечностей (кисти и стопы). Чтобы они не болтались в воздухе, соедините части, к примеру, пружиной, движения которой просчитываются при помощи инверсной кинематики.

Первый рэгдолл-персонаж, которого сделал МакГэрри-Хант

Разработчик отметил, что принципы инверсной кинематики позволят вам сделать анимацию более комплексной и правдоподобной. Поэтому их можно использовать вместо описанного подхода, учитывающего вес конечностей.

Эта рэгдолл-модель использует инверсную кинематику для балансирования тела
4949
2 комментария

Комментарий недоступен

2
Ответить

Все изобретут, на инструментах зарабатывать можно получше чем на продукте этих инструментов. Вопрос времени. Человек все автоматизирует, кто то скрывает типа наша разработка все нахер, кто то продает, а кто то выдает сообществу по открытой лицензии и открывает код чтобы этот инструмент стал еще лучше и получает деньги с поддержки этого инструмента.

Ответить