Электронная библиотека » Вячеслав Уточкин » » онлайн чтение - страница 12


  • Текст добавлен: 17 апреля 2022, 23:00


Автор книги: Вячеслав Уточкин


Жанр: Программы, Компьютеры


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 12 (всего у книги 15 страниц)

Шрифт:
- 100% +
АРТ

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

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

КОНЦЕПТ-АРТ

Обычно концепт-арт создается первым и не имеет самостоятельной ценности. Это часть комплексной задачи по созданию визуального стиля, а не финальная картинка. Концепт-художник должен уметь быстро делать наброски и предлагать разные варианты исполнения того или иного игрового элемента, чтобы гейм-дизайнер и другие члены команды могли от чего-то оттолкнуться при поиске оптимального решения. Такие рисунки могут выполняться без использования специальных программ, без цвета или деталей. Техника выполнения концепт-арта может быть самой разной: можно рисовать от руки, а можно использовать фотографии или фрагменты чужих работ, чтобы сэкономить время. Работа концепт-художника обычно остается внутри компании: игроки видят ее только в том случае, если этот арт используется для продвижения.

ДИЗАЙН ИНТЕРФЕЙСОВ

Дизайн интерфейсов (UI/UX) направлен на игрока. Сюда можно отнести все, что игрок видит на экране вне рамок игрового процесса: меню, кнопочки, иконки и пр. Именно он помогает легко разобраться с управлением и окружением, правильно расставляет акценты, поэтому имеет свои правила и процессы. Речь идет не только о внешнем виде элементов интерфейса, но и о логике и опыте взаимодействия с ними игрока. Для такой работы критически важно иметь общую стилистику интерфейсов игры. В средних и крупных компаниях дизайном интерфейсов обычно занимаются отдельные специалисты.

Прежде всего гейм-дизайнером составляется задание с полным описанием фичи и ее логики: что это, какие предполагаются виды взаимодействия с игроком, как это должно выглядеть, возможности перехода и т. д. На следующем этапе хорошей практикой считается сделать макет интерфейса без финального оформления. Сначала это просто система переходов, где подробно прописано, что видит игрок, какие методы используются, чтобы облегчить понимание игроком, какой следующий шаг ему необходимо сделать, какие средства помощи игроку предусмотрены, если он не понимает, что происходит. Для этого используют специальные программные средства, например Figma[72]72
  . Figma – кросс-платформенный онлайн-сервис для дизайнеров.


[Закрыть]
, которые позволяют собирать такие схемы переходов с анимациями. Это дает гейм-дизайнеру возможность проверить, все ли работает так, как он задумал, или нужно внести какие-то изменения.

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

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

Хороший интерфейс должен быть незаметен для игрока. Нужно помнить, что есть общие для всех привычки, например закрытие окна – красный крестик в правом верхнем углу. Чтобы поменять его цвет или расположение, нужны веские основания, так как пользователю будет некомфортно привыкать к новой конфигурации. Зачастую имеет смысл делать именно привычные игрокам иконки, окошки, крестики и т. п. World of Warcraft приучил игроков к тому, что за восклицательным знаком игрока ждет квест, и эту практику переняли почти все игровые жанры. Если игроки интуитивно понимают, какая полоска на экране отвечает за здоровье, а какая – за очки опыта, в 90 % случаев нет необходимости придумывать что-то новое.

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

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

Из старых решений, которые сейчас почти не встретишь, – кнопка помощи F1, открывающая окно с подсказками и правилами. Ее почти не используют, так как от игрока требуется не только лишнее действие, но еще и признание, что он не знает, что делать. Под видом мягкой F1 часто встречается не вызывающая раздражения система интерактивных подсказок. Например, если игрок подошел к двери, но почему-то не может ее открыть, сразу или через заданное время появится подсказка: «Нажмите E, чтобы открыть». Вы наверняка встречали подсказки в повествовании, когда персонаж игрока или другие NPC дают бесценные советы типа: «Наверное, если обрушить эти камни, здесь получится пройти».

Как правило, встречается такое разделение UI/UX.

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

UI-дизайнер создает оформление на основании макета, созданного UX-специалистом. UI-художник следит за соответствием стилистики всех интерфейсов игры и логики UX-дизайна, финализирует графику или использует уже готовые элементы из библиотеки интерфейсов игры.

Нередко эти две позиции совмещает один специалист – UX/UI-дизайнер.

ПРОМО-АРТ

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

ИГРОВОЙ АРТ И ТЗ ДЛЯ ХУДОЖНИКОВ

К игровому арту относятся: персонажи, окружение, игровые локации – то есть то, что пользователь увидит непосредственно внутри самой игры. Чтобы грамотно составить ТЗ для художника, прежде всего нужно четкое понимание, что же мы заказываем (персонаж-спаситель мира, за которого будем играть, спецэффект от вспышки магического взрыва или арт-зелья, который игрок может купить за реальные деньги), ведь подходы могут сильно отличаться.

Сначала необходимо обозначить общее определение арт-стиля. Даже самое подробное описание внешнего вида героя и тех чувств, которые он должен вызывать у игроков, не сможет ответить на фундаментальные вопросы: 2D или 3D, мультяшная, стилизованная или фотореалистичная графика, технические требования (например, 3D-модели должны соответствовать заданному полигонажу, а 2D-изображения – разрешению экрана). Арт-стиль выбирается на самом раннем этапе производства, в игровых студиях за это решение отвечает арт-директор.

Если выбран фотореализм, нужно помнить о так называемом эффекте «зловещей долины»[73]73
  . Эффект «зловещей долины» (от англ. uncanny valley) – гипотеза, по которой робот или другой объект, выглядящий или действующий примерно как человек (но не точно так, как настоящий), вызывает неприязнь и отвращение у людей-наблюдателей.


[Закрыть]
. Чем ближе что-то к изображению реального человека, тем более явными выглядят любые несоответствия. Для мультяшного монстра простительно иметь нереалистичную шерсть или хвост, изгибающийся под странным углом, иногда это даже помогает передать характер и атмосферу. Для реалистичной 3D-модели человека любые несоответствия будут смотреться дико и могут вызывать отвращение.


Рис. 23. Зловещая долина


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

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

Вариант фиксированной камеры 3/4 сильно экономит усилия по сравнению с камерой свободной. Игрок не приблизит и не выкрутит объект, мы всегда знаем высоту и угол наклона камеры.

РАЗРАБОТКА 3D-АРТА

Давайте разберем ПАЙПЛАЙН РАЗРАБОТКИ 3D-АРТА ДЛЯ ААА-ПРОЕКТОВ. Создание объектов и техники здесь обычно требует несколько иных процессов, нежели создание персонажей. ААА-пайплайн подразумевает большой процесс по поиску референсов, созданию и оптимизации модели для экспорта в игровой движок. Технические требования и программы могут меняться со временем, но последовательность этапов создания модели универсальна.

Объекты и технику зачастую основывают на реальных референсах. Если для стратегии или шутера нам понадобится арт реально существующего вертолета, составляется workbook. Это большой документ, где собраны описания нужной нам модели, подходящие фотографии вертолета с разных сторон. Следует заранее обозначить, какие детали необходимо сохранить, а какие допустимо не переносить или переносить с изменениями.

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

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

• ссылка на workbook или концепт-арты;

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

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

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

Первый этап работы 3D-моделлера называется BLOCKOUT. По сути, это набросок, базовая геометрическая форма из примитивов (кубы, цилиндры, сферы) без деталей. На этапе блокинга используют только крупные и средние формы. Основная задача – убедиться, правильно ли все рассчитано с точки зрения базовой геометрии и масштаба, попали ли мы в силуэт, стилистику и пропорции.

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

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

Следующий этап – генерация LOW POLY. Это низко детализированная копия получившейся модели, именно ее мы будем экспортировать в игру. Задача на этом этапе – оптимизировать тяжелую и требующую много ресурсов High Poly для того, чтобы можно было свободно работать с ней внутри игрового движка. В играх рендеринг кадра происходит в реальном времени, поэтому на данном этапе мы должны упростить модель, чтобы впоследствии не тратить на это слишком много ресурсов. Каждый элемент Low Poly выполняет свою функцию (например, влияет на силуэт), здесь нет лишних деталей. Процесс создания Low Poly из High Poly называется ретопологией. Именно Low Poly нам предстоит «разворачивать», «печь» и текстурировать.

Иногда процессы создания Low Poly и High Poly могут меняться местами в зависимости от особенностей проекта и создаваемых моделей.

Чтобы текстуры накладывались на модель корректно, нужно создать UV-РАЗВЕРТКУ. В детском саду многие из нас склеивали игральные кубики из бумаги, предварительно нарисовав их на плоскости. Развертка – это обратный процесс, когда мы разбиваем 3D-модель на плоские элементы.

Она нужна, чтобы по ней можно было рисовать текстуры и переносить всю сложную детализацию с High Poly на Low Poly с помощью «ЗАПЕКАНИЯ» КАРТ НОРМАЛЕЙ. Запечка позволяет имитировать все красивые неровности, фактуры и другие детали на легкой Low Poly, с помощью бликов создавая иллюзию неровностей.

Далее модель экспортируется в движок, параллельно для нее создаются текстуры. Есть много видов текстур, с помощью которых мы передаем материал, из которого сделан предмет, его цвета, то, как он отражает свет, и т. д. Создание 3D-модели в мультяшной графике в этом плане проще – упор делается на стилизованное изображение, а не на сложную реалистичную передачу света и теней. Здесь часто используются готовые технические решения, исходя из наших потребностей: может быть, мы хотим, чтобы все выглядело как рисунок от руки, или нам нужен арт в стиле нуар, или же нам важны контрастные тени и т. д.

АНИМАЦИЯ

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

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


Рис. 24. Список анимаций в виде графических связей и состояний объекта из движка


В случае анимации персонажей есть понятие «СКЕЛЕТНАЯ АНИМАЦИЯ». У персонажа есть наборы костей и суставов, которые определяют движения разных частей его тела. Суставы – это шарниры, позволяющие автоматически создавать реалистичные сложные движения. У сустава есть максимальная гибкость (определенный рабочий ход), и игровой движок определяет, когда эта гибкость заканчивается, после чего начинает работать другой сустав.

ЛОКАТОРЫ – это места, где мы можем прикрепить к модели что-то внешнее, например поместить ракетный отсек в наш вертолет или вложить пистолет в руку персонажа.

Если в игре есть РАЗРУШАЕМОСТЬ ОБЪЕКТОВ, это тоже необходимо задокументировать. Например, при попадании ракеты в наш вертолет в определенном месте должен идти дым или должны проявляться другие повреждения. Следует указать локаторы, то есть места, где происходят изменения. Чтобы возгорание выглядело более правдоподобно, лучше определить десяток точек, из которых в случайном порядке будет появляться дымок.

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


Рис. 25. Изготовление 2D-анимации


Логика создания 2D-анимаций схожа, но методы обычно связаны не с алгоритмами костей и суставов, а создаются, например, через ролики: по аналогии с классической мультипликацией, когда движения записываются покадрово либо через спрайты. Если мы делаем платформер в духе Mario, нужно будет определить, как должна выглядеть статичная модель, какие состояния у нее есть, и проработать анимации движения.

Хотя 2D-графика проще в освоении, одинаковый объем контента рисовать придется дольше, чем в 3D.

ГОТОВЫЕ РЕШЕНИЯ

Для несложных игр возможно самостоятельное создание анимаций с нуля. Но для многих вещей есть уже разработанные технологии, доступные в самом игровом движке или в сторах к нему. Готовые анимации можно найти и у сторонних людей или компаний. Можно воспользоваться сервисом Mixamo, там собрано огромное количество готовых анимаций. А вот создать студию для Motion Capture (технология, позволяющая оцифровать движения реальных актеров) могут немногие, поэтому такие заказы при необходимости обычно отдаются на аутсорс.

ШАБЛОНЫ хорошо работают для создания персонажей. Куда эффективнее сделать абстрактную модель скелета и натягивать на нее разные «шкурки» и текстуры, чем создавать каждую модель отдельно. Игрок будет видеть разных персонажей, но анимация движений – одна и та же, сделанная для одного скелета; он может быть даже готовым, взятым из движка. Сверху надевается модель с правильными параметрами костей, если мы хотим, чтобы персонажи отличались друг от друга длиной конечностей. Далее покрываем персонажа необходимыми материалами. Если в игре предусмотрена система одевания персонажей, значит, у модели должны быть локаторы для шлема, наручей и других элементов одежды.

Существует довольно много генераторов моделей, позволяющих не задавать вручную все параметры (от роста до длины носа). Чтобы добавить персонажу индивидуальности, художник может разнообразить текстуры шрамами, татуировками и другими отличительными чертами.

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

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

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

ВИЗУАЛЬНЫЕ ЭФФЕКТЫ

Как правило, одними моделями дело не ограничивается. Если наш многострадальный вертолет должен уметь красиво взрываться, скорее всего, технически это будет реализовано с помощью VFX (Visual Effects). Для вспышек, обломков, падающих вниз, вспыхивающих синих глаз зомби, дымного света – всего, что в игре двигается, но не анимируется, обычно используют готовые решения внутри движка. Для 2D-графики это также актуально: если что-то с чем-то взаимодействует, можно дорисовать эффект.

ПАРТИКЛЫ, или система частиц, нужны, чтобы передать нечто, состоящее из множества частиц. Брызги крови или искры – классические примеры такой системы. Рисовать каждую искорку отдельно было бы неэффективно. Поэтому, если мы хотим передать искры от удара мечом по камню, нам нужно задать одну элементарную частицу (искорку), точку, где камень сталкивается с оружием, область распространения и закон эволюции. После чего определяем ряд параметров, отвечающих за поведение искр, таких как, например, направление и зона, куда клоны этой искры должны разлетаться от удара. В движках обычно есть готовые партиклы, но при нестандартном запросе их приходится разрабатывать отдельно.

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

ОСОБЕННОСТИ РАЗРАБОТКИ МОДЕЛЕЙ ДЛЯ ИГР

Итак, мы создали вертолет, анимировали его, добавили текстуры, обозначили локаторы, где что взаимодействует, «прикрутили» все эффекты и добавили озвучку. Но игровая модель динамична, она взаимодействует с окружением и другими моделями, поэтому так важно заранее продумать все эти взаимосвязи, чтобы грамотно поставить задачу.

Следующий вопрос – ФИЗИКА ВЗАИМОДЕЙСТВИЯ объектов игрового мира. Допустим, мы обозначили, что в наш вертолет нужно попасть ракетой, чтобы его сбить. Так как мы сделали качественный, фотореалистичный, многополигональный вертолет, расчет столкновения с ним ракеты будет занимать слишком много вычислительных мощностей.

Здесь нужно упомянуть о коллизии. Термин «коллизия» уже по своему названию дает общее представление о том, что это такое. Английское слово collision переводится как «столкновение» и в целом достаточно точно описывает суть дела.

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

У большинства может возникнуть впечатление, что коллизии – нечто, присущее в первую очередь трехмерным играм. Но все то же самое актуально и в 2D. Давайте посмотрим на примерах.

Допустим, вы играете в свой любимый Overwatch или PUBG. В этом случае вы управляете поведением некоего объекта, который визуализируется трехмерной моделью. Если это человек, то расчет движения его конечностей с учетом всех суставов и мышц представляет собой непростую задачу, так же как и пересечение его частей с другими моделями на экране. Загружать процессор просчетом таких коллизий было бы нерационально. В этой ситуации модель персонажа в расчетах упрощают до некой зоны пространства – цилиндра, шара или эллипсоида. И во время игры считывается лишь приближение друг к другу цилиндров с заданным радиусом и известными координатами оси симметрии, находящейся в центре цилиндра. Такая геометрия выглядит гораздо проще.

Когда же дело касается 2D, все в целом имеет схожую логику. Иной может быть лишь реализация. Сравнение зоны вокруг объектов в тех же платформерах может сводиться к сравнению пересечения прямоугольника с окружающей локацией. Это как зона кликабельности вокруг кнопки: мы ее не видим, но она есть. Такую зону иногда называют коллайдером. С физическими ускорителями у них общее только одно: и там, и там происходят столкновения.

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

Для регистрации таких попаданий в игровую сущность добавляют так называемые ХИТБОКСЫ. В большинстве игр это просто невидимая коробка, грубо покрывающая модель снаружи и регистрирующая столкновение с другими игровыми сущностями. Это важно, потому что, например, стрелять, учитывая реальную геометрию, очень затратно.

Классическое дизайнерское решение: есть мускулистый воин и миниатюрная эльфийка. Очевидно, что попасть выстрелом в более крупный объект легче. В старых играх можно найти примеры, когда из-за разницы в хитбоксах имело смысл всегда играть за самого маленького персонажа. Если персонажи больше ничем не отличаются, чтобы эльфийка не имела геймплейных преимуществ, часто им делают одинаковые хитбоксы. Например, в шутере Apex Legends персонажи имеют разный размер хитбокса, поэтому те, у кого он меньше, получают повышенный урон; так компенсируется сложность попадания. Для генерации хитбоксов обычно используют готовые решения в 3D-редакторах.


Рис. 26. Визуальный пример хитбоксов


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

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


Рис. 27. Ragdoll


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

ПОСТПРОЦЕСС, ИЛИ ПОСТОБРАБОТКА, – это метод обработки изображения, когда на уже готовую картинку с моделями накладывают определенные эффекты. Их очень много, и применяют их для разных целей: например, мы хотим, чтобы готовые модели были стилизованы под рисунок от руки; если игрок едет на танке, можно создать ощущение, что он смотрит сквозь танковую оптику – с потертостями, определенным искажением картинки и так далее. Если игрока пугает монстр и экран в это время дрожит, это тоже постобработка, добавленная для атмосферы страха и напряжения. Или при тяжелом ранении экран игрока окрашивается красным, символизируя, что персонаж на грани смерти. Обычно наложение таких эффектов – задача технического художника, то есть специалиста, который является связующим звеном между 3D-художниками и программистами. Такой человек способен реализовать художественное видение в рамках технических возможностей движка.

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

Иногда левел-дизайнеры точно знают, что некоторые предметы (деревья, памятники и т. д.) не будут двигаться. Тогда их обозначают как статические и просчитывают, как падает свет, только один раз.

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


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Следующая
  • 0 Оценок: 0


Популярные книги за неделю


Рекомендации