Концепция 3D анимации для игр

06.12.2020 Автор: Khurshed Gulov

Для анимирования 3D персонажа, необходимо сделать риггинг (добавить скелет и привязать необходимые вершины и установить необходимы вес каждой кости для воздействия на вершины (vertex)). Добавить скелетную анимация с учетом IK и FK для большей реалистичности.
Анимацию можно сделать либо вручную, либо на основе данных Motion Capture. Если используется 3DS Max для моделирования то для анимирования персонажа лучше использовать Motion Builder, если для моделирования были использованы Maya или Cinema 4D в них есть встроенные расширенные возможности скелетной анимации, движок анимации Maya один в один похож на Motion Builder.
Затем если для Unity, персонаж экспортировать лучше всего в формате FBX и уже анимация там есть. При экспорте из 3DS Max в окне экспорта надо выбрать верхнюю ось Y потому что система координат 3DS Max использует Z как ось направленную вверх и в Unity у вас персонаж будет лежать и надо его повернуть и подправить.
Для получения большей реалистичности при моделировании лучше всего использовать метры, потому что в Unity каждый юнит равен одному метру.
На один персонаж может быть много анимаций, поэтому тут два подхода обычно используется, либо каждая анимация сохраняется в отдельный файл либо в одном таймлайне по очереди вставляется и потом в Unity для каждой анимации указывается необходимый отрезок кадров, например для состояния покоя использовать ключевые кадры от 0 до 10, а для ходьбы кадры 11-20.
Для анимирования колес, лучше всего положиться на физику движка и привязать колеса к координатам WheelCollider, для достижения опять-таки большей реалистичности.
По материалам, лучше не использовать какие-то специальные шейдеры (vRay, Redshift) потому что эти рендереры Unity не поддерживает.

Изображение обложки: Geometric vector created by upklyak — www.freepik.com