Как и в случае с атаками, анимация повреждений игрока и NPC имеет свои особенности. Анимации повреждений обычно масштабируются по степени тяжести в зависимости от нанесенного урона и могут иметь различные дополнительные атрибуты – например, свойство сбивать персонажа с ног, что потребует дополнительных анимаций. Независимо от типа комбинации атаки/повреждения или общего стиля анимации, всегда лучше преувеличивать, нежели придерживаться реализма, и следить за тем, чтобы атаки хорошо читались игроком, особенно если камера находится дальше от действия в зависимости от типа игры или при атаке врагов с расстояния.
Направленный урон и урон по частям тела
Направленные атаки, наносящие урон одной конкретной части тела, или, что еще хуже, наносящие урон не по той части тела, по которой предполагалось, в лучшем случае выглядят неудовлетворительно, а в худшем – некрасиво. Поэтому всегда полезно включать в игру различные анимации направленного урона и урона по частям тела, которые можно воспроизводить в зависимости от направления атаки или от части тела, по которой наносится урон.
В играх, требующих точных повреждений, для перемещения персонажей по окружению, как правило, используются стандартные коллижн-модели в форме цилиндра/пилюли, но для определения повреждений применяются более сложные модели, лучше соответствующие форме и силуэту персонажа при анимации.
При необходимости учитывать разные части тела, направление и степень тяжести повреждений, количество анимаций повреждений резко увеличивается. Детализация анимаций повреждения в итоге определяется реалистичностью или точностью вашей игры; следует также помнить о том, что различные варианты нанесения урона придется разрабатывать для всех типов скелетов или персонажей. То же самое относится и к анимации смерти.
Стандартизация контактов
В зависимости от точности игры все высокие взмахи мечом, например, должны контактировать с противником примерно на одной высоте, чтобы одну анимацию нанесения повреждений можно было использовать для нескольких высоких атак, достигающих одной и той же точки.
В этом случае для указания на выбранные точки повреждения целесообразно использовать визуальные ссылки, например локаторы или другую геометрию. Для обеспечения последовательности действий после выбора точки урона ее необходимо вводить в каждую анимацию урона, подразумевающую такую точку. Это прекрасная возможность для использования ссылок, благодаря которым можно будет легко обновлять места нанесения повреждений, просто меняя их значения.
Стандартизованные для любой цели метрики должны передаваться в сценах в виде ссылок, чтобы их можно было менять из одного центрального места. Другие часто используемые примеры стандартизации касаются скорости и направлений. Каркасный восьмиугольник на полу может, например, использоваться для создания анимаций направленного стрейфа и остановок. Неплохим решением также будет создать своеобразную библиотеку стандартных объектов окружения, таких как склоны определенной высоты, объекты укрытия, лестницы и другие реквизиты. Благодаря такой библиотеке разные работающие над проектом аниматоры будут придерживаться одной и той же системы размеров и метрических показателей.
Восьмипозиционная направляющая и другие метрические реквизиты
Синхронизированные повреждения
Для ближнего боя, когда требуется идеальное соответствие действий и реакций, оптимальным вариантом будут атаки, запускающие уникальную анимацию повреждений у атакуемого, синхронизированную с анимацией атакующего. Это жесткий подход, при котором при регистрации выполненной успешной или предстоящей успешной атаки атакуемый подстраивается под позицию и ориентацию атакующего (либо наоборот, они оба подстраиваются друг под друга), и анимация повреждений воспроизводится синхронно относительно точки контакта. Так аниматор получает большую свободу действий, потому что оба персонажа будут анимироваться в одной сцене, без потенциального разделения на анимации стандартных повреждений, и тем самым можно добиться большей точности.
Хотя такой подход более предсказуем и визуально эффектен, его недостатки заключаются в том, что он значительно увеличивает объем работ, так как количество анимаций получения урона должно соответствовать количеству анимации атак и, кроме того, он не позволяет реализовать тот тип геймплея, при котором можно одновременно атаковать нескольких врагов или наносить скользящие удары – этого можно достичь только благодаря более гранулярному методу определения и запуска анимации повреждений.
Однако такой подход эффективен для действий, требующих длительного контакта между двумя персонажами, например бросков или удержаний. Для поддержания контакта между персонажами важную роль играет инверсная кинематика. При этом используются локаторы или аналогичные фиктивные объекты, родительские для одного персонажа в захватываемой части тела, которые могут ограничивать положение и ориентацию инверсной кинематики руки захватившего персонажа. Использование локатора вместо прямого ограничения руки позволяет анимировать локатор относительно захватываемой части тела, а также включать/выключать ограничение, чтобы начинать и прекращать захват.
Простая настройка инверсной кинематики соединения двух персонажей
Время и дистанция восстановления
Небольшие повреждения часто не прерывают текущее действие персонажа, чтобы избежать разочарования, которое может испытать игрок, например застыв на месте при попытке уклониться от вражеского огня. И наоборот, сильные атаки могут сбить персонажа с ног, сделав его уязвимым для последующих ударов. Если в последнем случае часто используется простая анимация всего тела, то в первом случае требуется определенная системная поддержка для наложения или совмещения анимации повреждений с текущими действиями персонажа. Наиболее естественный вариант для такого случая – аддитивные действия, происходящие поверх текущей анимации, но если такой возможности нет, можно использовать анимацию разных частей тела.
Что касается ударов по игроку, то анимации большого урона обычно прерываются только другими анимациями урона, так как они, по сути, служат наказанием за неудачу. Анимация небольших повреждений должна быть либо достаточно короткой, либо находиться ниже по шкале приоритетов, чтобы ее могли прервать действия, снижающие вероятность повторного попадания – например, уклонения, перекаты или другие маневры. Продолжительность анимации повреждений (по крайней мере, до того момента, когда игрок вновь обретает контроль над ситуацией) часто служит ключевым фактором настройки баланса игрового процесса, особенно в файтингах, где баланс количества кадров повреждений так же важен, как и баланс количества кадров атаки.
Не меньшее значение для игры порой имеет и расстояние, на которое перемещается персонаж при анимации повреждений, особенно в тех играх, где игрок может сорваться с уступа. Как правило, для того чтобы персонаж не казался прикованным к месту, достаточно лишь короткого «спотыкания», при котором он двигает обеими ногами.
Расстояния должны быть стандартизированы таким образом, чтобы после удара слева персонаж перемещался на такое же расстояние за такое же время, как и при ударе справа, даже если эти действия сами по себе разные – так можно будет избежать неудобств при получении повреждений с какого-то определенного направления.
Приоритет прерывания всех действий следует обсудить с дизайнером, а время смешения между разными анимационными комбинациями должно быть сбалансировано таким образом, чтобы неудачные случаи (например, в середине кувырка, в результате которого персонаж оказывается вверх ногами и при смешивании переворачивается на 180 градусов) лучше либо вообще не смешивались, либо требовали специальных переходов.
Воздействие помимо анимации
Компенсировать недостаток воспринимаемой силы из-за ограничений, накладываемых на предвосхищающее действие, можно с помощью альтернативных анимации методов, таких как звуки ударов, визуальные эффекты (например, брызг крови) или пресловутая тряска камеры. Тесное сотрудничество с другими отделами в целях синхронизации эффектов позволит значительно улучшить конечный вид анимации атак и получения урона.
Прием «хит-стоп», при котором игровой персонаж и NPC после успешной атаки замирают на несколько кадров, помогает усилить ощущение связи. Обычно это делается программно, но иллюзию можно предусмотреть и в самой анимации посредством усиления и более длительного удержания позы атаки. Недостаток такого решения в том, что даже при промахе атака может порождать впечатление успешного контакта. В этом случае анимация атаки может разветвляться на разные варианты, в зависимости от того, прошла она успешно или нет.
(Публикуется с разрешения Autumn Games.)
Интервью. Мэриел Картрайт
Ведущий аниматор – Skullgirls
С появлением 3D 2D-анимация в играх встречалась все реже и реже, но сейчас она возрождается на инди-сцене. Как вы начинали и где вы нанимаете большинство своих аниматоров?
Я училась в Калифорнийском художественном институте по специальности «анимация персонажей» и именно там приобрела навыки работы с 2D- и 3D-анимацией. Уже тогда я знала, что хочу работать над играми, но мне казалось, что любая работа по анимации игр будет связана с 3D-анимацией, потому и сосредоточилась именно на ней (инди-игры как отдельная сцена находились тогда еще в зачаточном состоянии). Тем не менее после окончания обучения я начала получать работу, связанную с 2D-анимацией, как пиксельной, так и HD, и вскоре я уже работала над Skullgirls с полностью 2D HD-анимацией.
В Lab Zero мы обычно находим наших аниматоров в Twitter[7]