3D модель и анимация — как создаются и оживают персонажи игр
Сейчас Social Quantum работает над новой мобильной игрой в жанре Survival RPG, где действия разворачиваются в постапокалиптическом мире. Здесь у нас все сопутствующее: зомби, дефицит ресурсов и немногочисленные выжившие. Помимо стартовых наработок, вроде видения, геймплея и лора, мы с самого начала начали думать о персонажах нашей будущей игры.
Любой персонаж начинается с понимания, как он должен выглядеть, какое впечатление производить на игрока и какими способностями обладать. Если с главными героями все понятно, игрок должен ощущать связь с персонажем, то с противниками из числа монстров все не так просто. Единственная очевидная вещь — они должны вызывать ярко выраженное чувство опасности. Так как мы говорим про зомби, у нас были небольшие особенности в силу специфики игры. В мире, который мы создаем, присутствуют разнообразные противники, опустим самых обычных и перейдем сразу к одному из наших мутантов — Zombie Ape, ведь его визуал должен был отвечать еще и не совсем типичным абилкам.
Вводные по персонажу
Мы ставили цель создать быстрого, хлесткого противника, от которого сложно убежать, с рваным темпом боя, способным резко прыгать на несколько метров.
Вкладываемый характер — животное-охотник, сильно развитые инстинкты. Все эти качества должны выглядеть правдоподобно и соотносится с тем, как выглядит персонаж. Вводная антропометрия: сильные, подвижные ноги придают ему высокую скорость и маневренность. Длинные и крепкие руки позволяют наносить быстрые и хлесткие удары. Также они используются как помощь при передвижении.
Ключевые визуальные аспекты:
- мощные, жилистые ноги;
- длинные, сильные руки.
Концепт
Базовый концепт является отправной точкой для 3D художника. В нашем случае, концепт является обрисовкой драфтовой модели, поэтому и стадия моделинга нуждалась в ряде доработок, а именно:
- Придать более детальный и реалистичный вид;
- Оставить человеческий вид, добавив свирепый животный облик;
- Продумать дополнительную вариативность персонажа.
В решении этих задач нам помогла обширная референсная база:
Blockout
Изначально процесс разработки персонажа был нелинейным, команда экспериментировала в поисках форм и дизайна. Особое внимание уделялось читаемости силуэта, передаче общей атмосферы агрессивного, звериного характера персонажа. И, конечно, было необходимо отразить зомби-составляющую, в соответствии с сеттингом игры.
Важным этапом разработки были тесты персонажа в анимации, т.к концептуально он формировался из двух направлений:- Общий дизайн;
- Поведение в динамике.
Поэтапный процесс разработки highpoly выглядел следующим образом:
В процессе поиска были предложены различные типы пропорций и было принято решение остановиться на данном варианте, чтобы продолжить проработку персонажа.
Highpoly
При создании персонажей с открытыми участками тела или лицом, на стадии хайполи делается полипейнт в ZBrush:
Это результат хайполи в максимальном качестве, но помним, что для игр на мобильных девайсах существует ряд ограничений. Поэтому для билда мы используем подход без использования Xgen для создания волос и ниток. Сейчас это не укладывается в наш пайплайн из-за отсутствия текстур с прозрачностью обусловленных оптимизацией.
Lowpoly
Процесс создания лоуполи для мобильных платформ имеет ряд условий из-за того, что мобильные устройства более требовательны к производительности и оптимизации. Эти условия накладывали на команду художников ряд ограничений:
- Ограниченный полигонаж;
- Один UV set на персонажа;
- Необходимость создания вариаций персонажа.
Вопрос кастомизации, при ограниченном количестве UV-сетов, была решена следующим образом — финальная лоуполи и текстуры включают в себя все возможные элементы, прическу, обувь, различные варианты одежды. Отдельные части кастомизации комбинируются между собой, создавая дополнительную вариативность.
Texturing
Процесс текстуринга логически разбит на 3 этапа, где общая концепция — двигаться от общего к частному:
- Используем созданный в ZBrush базовый полипейнт для тела и лица.
- Далее, с помощью масок, на базе комбинации градиентов, генераторов и текстур, создаются крупные детали
- На завершающем этапе создавались более детальные маски, дополнительные акценты, фактуры и грязь.
- Некоторые элементы дорисовывались вручную.
Все вышеперечисленное в равной степени относится к карте roughness, которая должна донести до зрителя исчерпывающую информацию о характере и вариативности бликов персонажа.
- В последнюю очередь, на персонажа были добавлены элементы в виде потеков крови.
Использование гибкого подхода с возможностью экспериментировать, позволило нам отклониться от изначальной задумки, для достижения более реалистичного вида.
Анимация Zombie Ape
Мы добрались до поведения нашего противника в игре.
Разработка анимаций для каждого персонажа начинается с анимационного концепта, обсуждения и поиска вектора развития каждого из героев. Каким мы его хотим видеть, как он должен себя вести, как реагировать на игрока и т.д. Этот поиск начинается геймдизайнерами с разработки технического задания и продолжается вплоть до финальной интеграции анимации в игру.
На примере конкретного скилла персонажа Zombie Ape покажем, как проходит процесс анимации от планирования до финализации в движке. Для этого скилла цель стояла в создании набора анимаций напрыгивания противника на главного героя и сбивания его с ног. Нужно учитывать как дизайнерские требования: расстояния, тайминги, так и характер персонажей.
Работа над анимацией начинается с того, что для движка игры создается функциональный набросок анимации, на котором «отбиваются» все требования дизайна, функциональность анимационной фичи. И на основе этого наброска собирается заказ на полишинг и финализацию.
На этапе планирования чистовой анимации, мы стараемся не использовать в качестве референсов анимации из готовых игр, но смотрим на реальных актеров, животных или записываем референсы с себя. Для персонажа Zombie Ape кажется очевидным вдохновиться поведением обезьян и перемешать это с поведением актеров, играющих зомби.
Перед нами стоит задача передачи характера и архетипа противника, по возможности в каждом движении и действии, каждый элемент должен напоминать нам об агрессивности или спокойствии, быстроте или медлительности каждого персонажа. Ведет себя он как бешеное животное или как медлительный зомби, мы его видим из игровой камеры или имеем заранее поставленную кинематографичную камеру.
Именно для этого противника стояла цель — создание некого микса человека и животного. Что-то, что может быть анималистичным, странным, жутким и при этом активным, мы не должны забывать что это быстрый, опасный противник.
Первичные наброски анимаций могут существовать в билде продолжительное время, на них происходят основные манипуляции с персонажем и, при необходимости, задается последующее анимационное развитие. Финализация и полишинг анимации — наиболее трудоемкие задачи. Мы стараемся минимизировать усилия и придерживаться итерационного подхода, то есть опробовать максимум идей на более ранних этапах: на черновых анимациях и на блокинге.
Далее утвердив «что будет происходить», мы приступаем к созданию более подробного характерного блокинга «как это будет выглядеть», что мы можем усилить и в каком виде хотим видеть то или иное действие. На этом этапе мы экспериментируем с характером движения, можем что-то добавлять или отказываться. Например, здесь мы решили вернуть кувырок противника во время падения и добавить разворот на 90 градусов.
Корректируем тайминг анимации, продолжаем делать полишинг и микро-корректировки.
На каждом этапе работы мы общаемся с техническими аниматорами и геймдизайнерами. Технические аниматоры разрабатывают и интегрируют первичные наброски анимации, а в дальнейшем, параллельно с работой аниматоров, занимаются настройкой и отладкой анимационных багов непосредственно в билде игры. Во время общения с геймдизайнерами мы выясняем, соответствует ли характер персонажа в игре изначальной задумке.