Сегодня я расскажу об анимации персонажа.
Мы ходим и не задумываемся, как же все таки клёво мы ходим. Зато легко подмечаем, если аниматору игрового персонажа платили мало
Игровые персы очень на нас похожи У них есть скелет из костей, мышцы. Кости служат для того, чтобы было возможно менять геометрию. Мы двигаем кость и видим как за ней двигается та часть тела, к которой она привязана. Без костей анимация была бы очень долгой и просто невыносимо сложной. Приходилось бы тягать по-отдельности вершины меша (кожи).
В модельке моего персонажа уже были кости (напомню, я брал готовую). Я добавил лишь пушку.
Я анимировал персонажа в 3D Max. Выставляя ключевые кадры, макс сам их интерполирует (как же я люблю в последнее время это слово . Я использовал вот этот мануал для анимации ходьбы:
Смотреть...

Как видно на изображении, достаточно было расставить кости в 4 ключевых кадрах, между которыми я оставлял по 5 кадров для интерполяции. Ну и для того, чтобы вернутся в исходное положение, я просто копировал первый ключевой кадр в конец.
Теперь пару моментов, с которыми у меня были терки.
Первое. Это скорее для тех, кто моделит с нуля. Перед тем как начинать моделить - читаем документация к движку. В каждом движке есть свои особенности как и везде. И для того, чтобы не перемоделивать или ещё что-нибудь - RTFM!
Второе. Перед тем, как начинать анимировать, взглянем на нашу модель... Если нас все устраивает, это не значит что все хорошо Оптимизацию модели следует проводить до анимирования. Вполне логично, скажите. Так и есть, просто не всегда очевиден вред для анимации на ранних стадиях оптимизации. Мне пришлось переделывать анимацию только из-за того, что я заглянул в "Основные советы по оптимизации проекта для самых маленьких в картинках" Там было сказано, что для того, чтобы отрисовать модель в один drawcall (вызов отрисовки кадра), нужно её сделать одним мешем плюс на ней должен лежать один материал. Два материала - два дрокола, хотя меш один. Модель перса у меня на тот момент состояла из двух мешей: сам солдат и пушка. Я приаттачил пушку к солдату. Воспроизвожу анимацию, солдат идет, пушка висит в воздухе... Пришлось пушку заново анимировать
Третье. Если делаешь сразу несколько анимаций в одном файле (последовательно) для того, чтобы после указать с какого по какой кадр читать ту или иную анимацию, нужно в начале каждой анимации принудительно проставлять ключевой кадр. Иначе на выходе мы рискуем получить глюки. При кроссфэйде (crossfade) одной анимации в другую кости могут вести себя весьма странным образом. Однажды мой персонаж после выстрела скукожился Я долго ломал голову над этим. Но починил.
Четвертое. Для того, чтобы ваша анимация хорошо повторялась, рекомендую убрать пару кадров в конце. Иначе мы увидим дерганье и может быть даже небольшое замирание перса. А так все гладенько.
Смотрим результат:

Про анимацию пока все. Может быть ещё затрону эту тему по надобности. Спасибо за внимание.


2010
Nick_Field
Nick'sCreatStudio