С какими артовыми проблемами может столкнуться аниматор при работе в Spine

buddy_think.gif

Анимация объектов и персонажей – сложный процесс, скорость которого зависит от многих факторов: как подготовлены спрайты, насколько сложная идея, есть ли особые требований к итоговому файлу при экспорте в игровой “движок” и так далее. Команда аниматоров Playgendary рассказала, с какими проблемами можно столкнуться во время создания анимации, и поделилась лайфхаками для их решения.

В основном в играх Playgendary используется костная анимация, потому главным инструментом для ее создания выбрали Spine.

До анимации. Работа с художником

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

  • Спрайты нужно предоставлять в том размере, в каком объект будет использоваться в игре в расчете для устройств с максимальным разрешением экрана.
  • Сохранять спрайты можно как горизонтально, так и вертикально. Главное условие – чтобы в них оставалось как можно меньше прозрачной области. Лишняя прозрачная часть создаст для аниматора проблемы с искажением mesh. Оптимальный подход – установить для всех художников команды единое правило: например, оставлять по периметру спрайта запас в 4 пикселя, чтобы в случае чего можно было быстро нарезать спрайты для устройств с меньшим разрешением экрана (в таком случае размер прозрачной области уменьшается до 2-х пикселей).

    NOTE! Иногда лишняя прозрачность оставляется намеренно, тогда нужно обязательно проследить, чтобы в билде все отображалось правильно. Такая необходимость возникает при накладывании сложных mesh и реализации нескольких немного отличающихся скинов объекта. Лучше оставить лишнюю “прозрачку”, чем заново накладывать mesh и настраивать вес костей.
  • Называйте все спрайты у всех персонажей одинаково по общей схеме: eye_blink, eye_closed, eye_wink, eye_mimimi… Это упростит вам работу в случае, если понадобится перенести анимацию с одного героя на другого. Названия персонажей или объектов при этом лучше помещать в префикс. Например: archer_eye_blink. При подгрузке спрайтов Spine позволяет быстро заменить этот префикс на любой другой.

Создание анимации. Когда не хватает спрайтов или арта

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


Анимация цвета. Замена цвета при анимировании происходит не очень качественно. Этот инструмент подходит в случаях, если необходимо перекрасить спрайт в однотонный цвет (например, чтобы показать эмоции злости или стыда, легко «закраснить» спрайт лица персонажа) или заменить его цвет на черный. Этот прием можно использовать при создании рентген-эффекта, когда игрок видит происходящее внутри персонажа.

image9.gifimage2.gif

Если анимация предполагает изменение фактуры объекта (например, появление узоров), то сделать это в Spine не получится – нужно обращаться к художникам за дополнительным артом.

Покадровая анимация. Как решить проблему “щелчков” при переключении спрайтов в анимации

Дорисовка дополнительных кадров и спрайтов. Инструмент mesh позволяет создавать объемную анимацию, плавные повороты персонажей в пространстве, но иногда быстрее использовать покадровую анимацию или дополнительные спрайты, если меняется ракурс предмета или части тела.

chair_switch.gif

В 2D-анимации секвенцию чаще всего используют, когда возникает необходимость задействовать третью плоскость. Например, если нужно показать объемное движение. В этом случае проще дорисовать несколько промежуточных кадров, чем создавать на сетках эффект псевдо-3D. Например, в игре Golfmasters есть момент, когда медведь бьет клюшкой по пингвину. При реалистичном замахе движения клюшки зритель на одно мгновение видит ее вид спереди. Чтобы показать объемное движение в анимации, художник нарисовал несколько дополнительных ракурсов для клюшки – при быстром переключении спрайтов они почти незаметны, но помогают создать впечатление реалистичного удара.

bear_strike34.png


В игре Kick the Buddy дополнительные ракурсы, варианты положения рук, ног, изображения рта дорисовывались уже в процессе создания анимации, исходя из ее идеи.

buddy_hands_up.giftekashi_stoopid.gif

Говоря о покадровой анимации, нельзя обойти проблему “щелчков” при переключении спрайтов в анимации.

Смена спрайтов и порядка слоев в Spine происходит очень резко, так что “щелчки” становятся сильно заметными. Этот процесс нужно сглаживать, чтобы анимация выглядела красивой и была приятна глазу.

Для устранения “щелчков” можно использовать различные способы:

  • смену спрайтов лучше осуществлять в момент активного движения анимации, поскольку быстрое движение позволяет сгладить переходы;
  • чтобы избежать щелчков при смене порядка слоев, следует деформировать спрайт с помощью mesh, то есть создавать промежуточные кадры для сглаживания переходов;
  • Если в анимации мы используем переключение спрайтов, например, когда меняем ракурс объекта в движении, “щелчки” становятся более заметными. Чтобы это изменить, стоит сделать резкий переход между спрайтами. Но из-за того, что в середине анимации мы отключаем спрайт, к которому привязаны основные ключи, приходится создавать дополнительные - на параметры типа scale, rotate, translate, которые остаются на протяжение всей анимации. На эти параметры стоит выставить режим кривой Step, чтобы переход был плавнее;
  • не следует переключать спрайты или менять порядок слоев в нединамичных, медленных анимациях, поскольку в этом случае щелчков не избежать. Так что лучше заранее продумывать, каким будет движение, еще на стадии блокинга – скетчевого наброска анимации.

    NOTE! Не забывайте, что после клинапа (автоматической чистки) ключей перед экспортом все вспомогательные ключи удаляются. Ключи для элементов, анимированных покадрово, стоит заранее сохранить и вернуть на свое место в файл после очистки.
На финишной прямой. Как уменьшить вес анимации и подготовить ее к экспорту в движок


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

Как это сделать:

  • Чтобы итоговый атлас был компактнее, удаляйте лишнюю прозрачную область при нарезке спрайтов. Это не только уменьшит “вес” файла, но и поможет вам избежать программных ошибок. Бывает, что при сборке атласа программистами лишняя прозрачность автоматически отрезается. В итоге слетает позиция спрайта и анимация проходит некорректно.
  • Не плодите одинаковые спрайты, если их можно продублировать или отзеркалить. Это поможет уменьшить вес итогового атласа.
  • Не используйте большие спрайты для анимации фона, лучше разрежьте и уменьшите или растяните их с помощью mesh, особенно если используете спрайт со сплошной заливкой. Фон можно уменьшить в 2 раза, чтобы это было незаметно.
  • Следите за тем, чтобы костей и точек в mesh было как можно меньше. Количество вертексов влияет на нагрузку видеочипа.
  • Перед экспортом в движок удаляйте лишние ключи в анимации (для этого используйте clean up).

    NOTE! Следите, чтобы в начале анимации были проставлены все первые ключи, фиксирующие начало движения в точке, для каждого из задействованных параметров анимации: будь то слой, прозрачная область, цвет, повороты или скейлы. Иначе могут возникнуть проблемы, если вы создаете игру со сложной системой анимаций. Бывает, что во время экспорта в движок анимации начинают переключаться не по порядку, слетает порядок слоев, появляются лишние спрайты и резкие переходы в момент переключения между анимациями. Такие ошибки чаще всего возникают в нескольких случаях. Первый вариант – когда при разделении анимаций для лица и тела пересекаются анимации одного и того же объекта. Второй вариант – если происходит смена спрайтов при покадровой анимации. Например, когда на лице персонажа меняются эмоции.



И вот, ваша анимация готова – загружена в игру, выглядит реалистично и работает без ошибок. Достаточно ли этого? Мы считаем, что нет. Хорошая анимация должна быть сочной и интересной, вызывать у игрока чувства и эмоции. А это невозможно без яркого арта. Потому особенно важна слаженность в работе всей команды, которая задействована в проекте. Только так, привнося новые идеи и дополняя друг друга, можно создать живого персонажа с уникальным характером, которого игроку захочется видеть снова и снова.


orange_juice.gif

759 0 850 4
0
RENDER.RU