Циклическая анимация бега для игр (Maya)
Меня зовут Валера, я 3D Character Animator в Plarium Kharkiv. За 3 года работы в компании я создал десятки разных анимаций бега и хочу поделиться с вами уже проверенными решениями.
В начале у меня не было определенной схемы работы, я находился в постоянном поиске наиболее удобного варианта. Курс iAnimate открыл для меня создание циклических анимаций с помощью Layered Animation, и жизнь стала намного легче.
В статье расскажу, какие подготовительные шаги я выполняю до того, как приступить к самой анимации в Maya. Обратите внимание, что это работает только со способом построения анимации слоями – Layered animation.
Лимиты
Особенностью игровой анимации являются числа. Обычно баланс игры предусматривает определенные лимиты для скорости передвижения, прыжков, радиуса атаки и так далее. А когда есть ограничения, делать анимацию немного сложнее.
Для анимации в статье я задал следующие параметры:
- Рост персонажа – 1 м 80 см
- Скорость бега – 0,4 м/с
- Платформа для игры – мобильная
Настройка сцены
Перед началом работы проверьте, что в настройках сцены указаны правильные единицы измерения. У нас скорость в метрах в секунду, соответственно, выбираем метры. Затем выберите частоту кадров – для игровой анимации она обычно составляет 30 fps.
Также учитывайте, на каком расстоянии от камеры будет находиться персонаж и под каким углом его будет видно. Амплитуда движения в мобильных играх должна быть больше, чем в играх на ПК, потому что экран гораздо меньше и мелкие движения будут незаметны. Для этого желательно создать себе вторую камеру, имитирующую игровую.
Дальше ставим значения для главного контроллера. В нашем случае на 30 фрейме это 0,4 метра. Тангенты должны быть линейными.
Сбор референсов
Сначала определите, какой тип бега вам нужен (спринт, расслабленный, неуверенный и т. д.), а затем уже ищите подходящие референсы. Не стоит копировать найденный пример один в один – так не получится выработать свой стиль и рост в изучении анимации будет минимальный. Проанализируйте работу и уловите главное для себя.
Для статьи я взял готовую модель звездного воина. Решил, что он должен бежать уверенно и атлетично, ведь ему неведом страх, он хочет максимально быстро попасть в центр событий.
Так как анимацию мы делаем для мобильного проекта, движения будут размашистые, с большой амплитудой, чтобы читался силуэт, и довольно рывковые, чтобы передать энергию персонажа. В итоге мне подошел такой референс:
Я уже давно веду свою библиотеку референсов и сначала всегда ищу примеры в ней. Если у меня нет ничего подходящего, в ход идет поисковик. Также я использую как референс следующую картинку – в ней есть всё, что нужно знать о беге.
Настройка анимации
Когда референсы подобраны, можно приступать к поиску скорости анимации и длины шага. Из-за наличия точной скорости бега мы становимся ее заложниками, если, конечно, хотите, чтобы ноги не проскальзывали.
В начале не стоит думать о позе анимации, можно полностью сосредоточиться на длине шага. Выставляем примерное количество фреймов, длину шага и смотрим, скользят ли при этом ноги (тангенты главного контроллера по оси Z мы выставили линейно и для ног по оси Z пока тоже поставим их линейно для полного соответствия). Здесь нужно экспериментировать: менять количество фреймов и длину шага, пока опорная нога не начнет оставаться на месте до момента, когда эту роль не возьмет на себя вторая нога.
После у нас остается небольшая область для маневрирования. Можно сделать шаг шире (при этом будет больше фреймов) или наоборот, уменьшить шаг (при этом ускорится анимация). В любом случае следим, чтобы опорная нога оставалась на месте.
Теперь можно включать Mute для оси Z главного контроллера, чтобы персонаж оставался на месте и мы могли приступать непосредственно к самой анимации. В дальнейшем можно будет пользоваться Mute, чтобы проверять, как будет смотреться бег во время передвижения.
В Graph Editor в контроллере ноги по оси Z нас интересует прямая графика в тот момент, когда нога находится на земле. Другую часть можно менять по усмотрению.
Пожалуй, на этом заканчивается техническая часть подготовки, и теперь можно начинать делать анимацию в свое удовольствие.
Непосредственно анимация
Циклическую анимацию можно делать двумя способами: блокингом и слоями. После всего описанного выше я с трудом представляю, как можно продолжить работу через блокинг. Всю циклическую анимацию я делаю с помощью Layered Animation. Суть этого способа заключается в том, что анимацию нужно начинать делать от бедер и двигаться дальше по иерархии. Если задать правильный ритм анимации бедрам, то дальше всё пойдет логично и просто – это дело практики.
Я начинаю анимацию с оси перемещения Y, потом с оси X и дальше по осям вращения. С осью перемещения Z нужно быть очень осторожными – она легко может испортить вам всю работу. Лучше ее вообще не трогать, по крайней мере, пока вы не будете уверены в своих силах.
Я не буду описывать дальнейший процесс создания анимации, потому что это уже творческая часть и ее лучше показывать видеозаписью, да и обучающие видео можно найти в интернете. Оставлю несколько полезных напоминаний:
- графики можно зацикливать и потом смещать, как надо, – это будет помогать создавать реалистичность в движениях;
- анимацию можно сделать на одну ногу, а потом скопировать ее на другую;
- нужно следить за тем, чтобы все действия не происходили в одном фрейме (рассинхронизация);
- помните про арки;
- обязательно спрашивайте мнение людей, которым доверяете в вопросе анимации, – они помогут увидеть то, что вы могли пропустить.
Используемую мной модель можно скачать бесплатно. Развивайтесь и получайте удовольствие от своих работ.