Шрифт:
Интервал:
Закладка:
Далее модель экспортируется в движок, параллельно для нее создаются текстуры. Есть много видов текстур, с помощью которых мы передаем материал, из которого сделан предмет, его цвета, то, как он отражает свет, и т. д. Создание 3D-модели в мультяшной графике в этом плане проще – упор делается на стилизованное изображение, а не на сложную реалистичную передачу света и теней. Здесь часто используются готовые технические решения, исходя из наших потребностей: может быть, мы хотим, чтобы все выглядело как рисунок от руки, или нам нужен арт в стиле нуар, или же нам важны контрастные тени и т. д.
АНИМАЦИЯ
Теперь наш вертолет есть в игре, но работа над ним еще далеко не закончена. Прежде всего стоит задача по анимации движущихся частей: например, у него должен крутиться винт. Как правило, в движках у модели есть список поддерживаемых анимаций. С технической точки зрения, анимация – довольно сложный процесс, поэтому крупные компании нанимают для этого отдельных специалистов-аниматоров. Попробуем вкратце ознакомиться, из чего же он состоит.
С точки зрения гейм-дизайнера, ставящего задачу художникам, важно не только понимать, как должен выглядеть сам объект, но и заранее предполагать, что эта модель умеет делать и как она будет взаимодействовать с другими игровыми сущностями. Именно от этого будут зависеть необходимые анимации и визуальные эффекты: что к ней крепится, как и при каких обстоятельствах она ломается, с каким звуком начинает работу и прочее.
Рис. 24. Список анимаций в виде графических связей и состояний объекта из движка
В случае анимации персонажей есть понятие «СКЕЛЕТНАЯ АНИМАЦИЯ». У персонажа есть наборы костей и суставов, которые определяют движения разных частей его тела. Суставы – это шарниры, позволяющие автоматически создавать реалистичные сложные движения. У сустава есть максимальная гибкость (определенный рабочий ход), и игровой движок определяет, когда эта гибкость заканчивается, после чего начинает работать другой сустав.
ЛОКАТОРЫ – это места, где мы можем прикрепить к модели что-то внешнее, например поместить ракетный отсек в наш вертолет или вложить пистолет в руку персонажа.
Если в игре есть РАЗРУШАЕМОСТЬ ОБЪЕКТОВ, это тоже необходимо задокументировать. Например, при попадании ракеты в наш вертолет в определенном месте должен идти дым или должны проявляться другие повреждения. Следует указать локаторы, то есть места, где происходят изменения. Чтобы возгорание выглядело более правдоподобно, лучше определить десяток точек, из которых в случайном порядке будет появляться дымок.
Другой вариант – поменять текстуры. Например, при повреждении наш вертолет меняет базовую текстуру на черную и побитую, появляются царапины. Еще можно менять геометрию: если мы хотим, чтобы при критических повреждениях у вертолета отваливался хвост, в нужный момент можно заменить модель целого вертолета на модель поврежденного.
Рис. 25. Изготовление 2D-анимации
Логика создания 2D-анимаций схожа, но методы обычно связаны не с алгоритмами костей и суставов, а создаются, например, через ролики: по аналогии с классической мультипликацией, когда движения записываются покадрово либо через спрайты. Если мы делаем платформер в духе Mario, нужно будет определить, как должна выглядеть статичная модель, какие состояния у нее есть, и проработать анимации движения.
Хотя 2D-графика проще в освоении, одинаковый объем контента рисовать придется дольше, чем в 3D.
ГОТОВЫЕ РЕШЕНИЯ
Для несложных игр возможно самостоятельное создание анимаций с нуля. Но для многих вещей есть уже разработанные технологии, доступные в самом игровом движке или в сторах к нему. Готовые анимации можно найти и у сторонних людей или компаний. Можно воспользоваться сервисом Mixamo, там собрано огромное количество готовых анимаций. А вот создать студию для Motion Capture (технология, позволяющая оцифровать движения реальных актеров) могут немногие, поэтому такие заказы при необходимости обычно отдаются на аутсорс.
ШАБЛОНЫ хорошо работают для создания персонажей. Куда эффективнее сделать абстрактную модель скелета и натягивать на нее разные «шкурки» и текстуры, чем создавать каждую модель отдельно. Игрок будет видеть разных персонажей, но анимация движений – одна и та же, сделанная для одного скелета; он может быть даже готовым, взятым из движка. Сверху надевается модель с правильными параметрами костей, если мы хотим, чтобы персонажи отличались друг от друга длиной конечностей. Далее покрываем персонажа необходимыми материалами. Если в игре предусмотрена система одевания персонажей, значит, у модели должны быть локаторы для шлема, наручей и других элементов одежды.
Существует довольно много генераторов моделей, позволяющих не задавать вручную все параметры (от роста до длины носа). Чтобы добавить персонажу индивидуальности, художник может разнообразить текстуры шрамами, татуировками и другими отличительными чертами.
Предметы и окружение чаще всего уже есть в библиотеках, так что всегда можно ограничиться созданием только материалов и текстур. Чтобы игры, собранные из готовых ассетов, не выглядели банальными, разработчики стараются во всем придерживаться выбранной стилизации. Это выглядит красиво, скрывает использование базовых моделей и выделяет игру среди конкурентов. Вспомните Deus Ex: Human Revolution: разработчики выбрали золотисто-черную гамму цветов как отсылку в эпохе Возрождения и старались придерживаться этих, ставших фирменными, цветов.
Для реалистичной (даже стилизованной) игры действительно существует множество ассетов. При знании технологий и их подключения разработчик может сильно облегчить себе жизнь. Но часто разные модели сделаны в разной стилистике или с разным уровнем качества, поэтому сложно создать потрясающую графику, используя только готовые ассеты. А вот для прототипов и других не финальных версий игры такие модели – отличный вариант.
Добавление моделей (готовых или своих) требует определенной квалификации, нужно уметь их экспортировать и анимировать, прикреплять локаторы, визуальные эффекты и т. д. Для мультяшных игр моделей значительно меньше, зато создавать их сильно проще и дешевле.
ВИЗУАЛЬНЫЕ ЭФФЕКТЫ
Как правило, одними моделями дело не ограничивается. Если наш многострадальный вертолет должен уметь красиво взрываться, скорее всего, технически это будет реализовано с помощью VFX (Visual Effects). Для вспышек, обломков, падающих вниз, вспыхивающих синих глаз зомби, дымного света – всего, что в игре двигается, но не анимируется, обычно используют готовые решения внутри движка. Для 2D-графики это также актуально: если что-то с чем-то взаимодействует, можно дорисовать эффект.
ПАРТИКЛЫ, или система частиц, нужны, чтобы передать нечто, состоящее из множества частиц. Брызги крови или искры – классические примеры такой системы. Рисовать каждую искорку отдельно было бы неэффективно. Поэтому, если мы хотим передать искры от удара мечом по камню, нам нужно задать одну элементарную частицу (искорку), точку, где камень сталкивается с оружием, область распространения и закон эволюции. После чего определяем ряд параметров, отвечающих за поведение искр, таких как,