Простота движений: принципы создания игровой анимации

Особенности CGI и порядок создания правдоподобной анимации.

Джейми Лозада, студент старших курсов в Ринглингскиом колледже изобразительных искусств и дизайна, а также один из разработчиков игры Oasis, в интервью порталу 80.lv рассказал о главных принципах игровой анимации, которые должны усвоить все начинающие художники. В особенности он уделил внимание аспектам, которые делают анимацию реалистичной, а также объяснил отличия CGI-анимации от игровой. Мы выбрали из текста главное.

Главное отличие CGI-анимации от игровой заключается в том, что она создана заранее, поэтому вся композиционная работа изначально спланирована.

И в игровой, и в CGI-анимации используются единые принципы, но их применение немного отличается. С помощью CGI-анимации можно точно контролировать то, что видит аудитория. Главная задача CGI-аниматора — сделать всё правдоподобным и увлекательным для просмотра.

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

Игровая анимация также отличается от CGI тем, что в ней создаётся большое количество анимаций для различных действий, а затем сшиваются вместе с помощью кода в движке игры.

Например, очень простой прыжок обычно имеет четыре анимации, которые кодируются так, чтобы воспроизводиться одна за другой после нажатия кнопки «Прыжок»: из состояния покоя герой переходит в позицию толчка от пола, затем приземление, которое зациклено пока он не коснётся поверхности, а в конце опять включается анимация покоя.

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

Первым шагом при создании анимации является планирование. Например, в игре Oasis автор хотел добиться того, чтобы походка персонажа Enn выглядела приятной и убедительной. Для этого аниматору пришлось сделать несколько вещей:

  • закольцованную idle-анимацию;
  • анимацию перехода в бег;
  • поворот вправо на 90 градусов;
  • поворот влево на 90 градусов;
  • поворот вправо на 180 градусов;
  • поворот влево на 180 градусов;
  • закольцованную анимацию передвижения шагом;
  • анимацию остановки.

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

Также автор хотел сделать так, чтобы прыжки и приземления всегда выглядели по-разному и зависели от двух переменных: как долго персонаж находится в воздухе (AirTime) и передвигается ли он. Решением стали следующие анимации:

  • закольцованный бег и шаг;
  • переходная стартовая анимация от шага к прыжку;
  • переходная стартовая анимация от бега к прыжку;
  • закольцованное падение;
  • переходная анимация приземления и спотыкания;
  • переходная анимация приземления и переката;
  • переходная анимация супергеройского приземления.

На основе этого автор создал BlendSpace, представляющий собой график, который указывает персонажу, какие анимации он должен исполнять в зависимости от значений определённых переменных. Этот тип графиков является специфической особенностью Unreal Engine, но концепция применима к различным игровым движкам.

Остальное — настройка анимации в соответствии с опредёленными событиями, происходящими во время игры.

При создании анимации важно учитывать определённые принципы. Во-первых, нужно учитывать постановку персонажа. Можно начать со стартовой позы и оценить всю анимацию — отражает ли она эффект, который нужен? Можно ли её легко распознать? Она кажется интересной? Если нет, то нужно продолжать пробовать, пока не будет достигнут нужный результат. Также можно размещать позы на временной шкале, чтобы получить приблизительное представление о тайминге и проверить анимацию в движке.

На первом этапе анимация очень грубая, но она даёт представление о том, на что будет похоже движение. Далее нужно перенести её в движок Unreal Engine и протестировать, чтобы узнать, как она выглядит с точки зрения игрока. После этого можно переходить к следующему этапу: фазовкам (inbetweens). Смысл этого этапа заключается в том, чтобы настроить движения между базовыми позами, которые были сделаны ранее — они начинают формировать дуги и помогают уточнить тайминг движения.

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

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

Выстраивание позы важно и в CGI-анимации, и в игровой. В тайтлах с короткими таймингами анимации важно находить способы передавать движения максимально быстро и разумно. Поза героя говорит о том, что произойдёт, что происходит сейчас и что произошло в прошлом. Если лучник изо всех сил натягивает тетиву, чтобы выстрелить магической стрелой, то его поза должна полностью передать эту идею. Тяжёлый ли лук и стрела? Сколько энергии накапливается? На все эти и другие вопросы нужно ответить одной позой, чтобы игрок точно знал, что происходит.

Чтобы поза была читабельна, необходимо учесть несколько вещей. Для примера можно взять персонажа Лучника — он ловкий и привлекает внимание. Это означает, что во многих его движениях он должен плавно изгибаться, как будто он выступает с отрепетированным номером.

Для создания нужной позы важно использовать примеры, которые помогут уловить важные дополнительные детали. Хорошая поза имеет очень чёткую линию действий. Лучник действительно пытается уничтожить это бревно, поэтому нужна поза, которая покажет, что он накапливает много энергии для этого.

Простота движений: принципы создания игровой анимации

Большие линии, проходящие через его тело, указывают на то, что персонаж движется назад, а его прямая левая нога используется, чтобы дать этому движению толчок. Это похоже на классическую рогатку: рука обеспечивает относительно прямое направление энергии, в то время как резинка довольно сильно изгибается.

Простота движений: принципы создания игровой анимации

Для каждой из этих ключевых поз использовалась одна и та же концепция. Эти позы закладывают основу для остальной анимации, поэтому очень важно правильно их выстроить. В противном случае пострадает всё остальное.

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

Зелёная линия показывает последовательность действий
Зелёная линия показывает последовательность действий

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

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

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

После создания фазовок наступает этап разбивки, на котором продолжается процесс улучшения анимации. Здесь применяются те же концепции, что и раньше, но теперь можно приступать к сглаживанию дуг движения. Этот процесс продолжается, пока анимация не будет завершена.

122122
18 комментариев

Опять общие слова и минимум конкретики.

6

Это стандартный инструмент unreal engine?

Да, это машина состояний для анимаций

2

Блюпринты, вроде как

1

Спасибо за перевод, как раз отложил статейку на 80лв, что бы почитать на досуге)

1

Спасибо, очень полезно

1