Перевод статей инди-разработчика Томаса Сала о техно-арте через призму своих игр

Путешествие в мир игрового техно-арта: Часть 1. Создание миров [опубликовано 3 января 2019 г.]

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

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

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

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

Выходя за рамки

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

Как всё начиналось

Всё началось в 2013 году после выхода мода Moonpath to Elsweyr для Skyrim. Создание собственного арта для Skyrim было рутинной задачей, и я находился в поисках простого и эффективного стиля для своей игры Oberon's Court. В какой-то момент практически случайно был создан представленный визуальный ряд, который отправил меня в интересное путешествие длиной почти в 5 лет:

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

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

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

В качестве другого примера возьмём игру Rekt! (iOS), для которой меня попросили подготовить техно-арт в прошлом году. Здесь в игре уже был привлекательный гладкий 3D-мир и транспортные средства, которым требовалось что-то большее, чем чистота в моделировании. Я решил использовать статичные модели арены и создать динамические цветовые циклы, основанные на состоянии игры и проецируемые на цвета окружающего мира. А также путём непосредственного кодирования цветов и генерации палитры из контрастных и дополняющих друг друга цветов в шейдерах.

Погружаясь в техно-арт, вы начинаете воспринимать визуальный ряд, мир или сцену уже не как набор отдельных объектов, а как единый взаимосвязанный объект, которым вы хотите точно управлять. Например, для Rekt! я хотел, чтобы каждый аспект визуальных эффектов соответствовал игровому процессу, для чего создал сценарий управления цветом / шейдером, который управлял каждым аспектом визуального оформления. Это позволило изменять цвета в зависимости от режимов игры и взаимодействия с игроком. Но при таком подходе вы больше не можете позволять ресурсам и визуальным элементам "нарушать" ваш контроль над ними. А техно-арт становится сложной задачей о том, ограничить количество переменных до чего-то, чем вы всё еще можете управлять и настраивать на глаз. По крайней мере, именно это произошло со мной.

В одной игре, разрабатываемой Little Chicken Game Company, я расширил этот метод управления шейдерами и цветами, чтобы создать полностью стилизованные циклы дня и ночи для псевдопроцедурной генерации города:

Недавно я снова начал работать над сольным проектом, после того как заморозил разработку Oberon's Court. Мне нужно было что-то более скромное по своему масштабу. Что-то, что объединило бы все технические художественные приемы, которые я накопил в предыдущих проектах. И этим "чем-то" стал The Falconeer/

А началось всё с упражнения по созданию простого вида на море.

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

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

Путешествие в мир игрового техно-арта: Часть 2. Вдыхая жизнь через код [опубликовано 3 января 2019 г.]

Как техно-арт может привнести движение, разнообразие, взаимодействие и жизнь в ваши игры.

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

Но не всё может сводиться к красивым картинкам, мир "оживает" только тогда, когда всё в нём движется и занимается своими делами. И принципы "меньше значит больше", которые, похоже, лежат в основе моего дизайна, привели меня к некоторым интересным экспериментам и творениям в этой области.

Во время разработки Oberon's Court я понял, что, убрав текстуры, был вынужден искать новые средства для создания определённых эффектов. Даже в том, что касается элементов пользовательского интерфейса. Возьмём, к примеру, объём пространства, который заполняется без текстур, и вам нужно полагаться только на математику для создания определённых форм и эффектов в ваших шейдерах. В прилагаемом примере заполнение идёт через создание синусоид из UV-координат.

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

Результатом многолетнего опыта в этой области является то, как я создаю лица персонажей в The Falconeer. Если вы можете создать форму волны, вы также можете исказить что-то вдоль этой волны. Это правило относится к простому измерителю так же, как и к условному лицу.

Создав простую нейтральную лицевую сетку с несколькими слоями цветов вертекса, я могу искажать и изменять форму этой модели для дальнейшей процедурной генерации персонажа.

В основном цвета вертекса разделяют различные области для окрашивания и искажения. А UV-координаты и каналы используются для искажения размеров фигуры.

Конечно, соответствующий реквизит помогает создать иллюзию. Но очень забавно наблюдать, как сильно можно растянуть щёки, подбородки и носы вышеописанным способом.

Лицо на изображении выше — это одна и та же сетка для каждого из лиц, представленных на нижеприведённой анимации:

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

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

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

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

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

Это был мой первый эксперимент, в котором я сочетал синусоидальный шум с эффектами Френеля и цветов вертекса для создания очень простого облака на основе сферы.

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

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

Я не математический гений, а математика, скрытая за облаками, — это, по сути, результат множества проб и ошибок. Такие инструменты, как shadergraph и shaderforge, позволяют экспериментировать на настолько огромных уровнях, что зачастую прозрение и понимание проистекают из простого манипулирования, попыток объединить и немного повозиться с вещами, которые, возможно, и вовсе не предназначены для объединения друг с другом.

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

Надеюсь, это вдохновит художников погрузиться в программирование и узнать, как технологии могут расширить их художественное видение.

10
201

Комментарии

Утащу в дайджест.

Утащу в дайджест.
Apanasik
Утащу в дайджест.

Всегда пожалуйста :В а то я словил лютейший хук справа от того, как мои статьи разошлись. На том же dtf интервью с разработчиком, совмещённое с рассказом о его пути и мини-обзором обеих игр, прочитало хорошо если человек десять (судя по статистике "дочитываний", часть из которых мои). ДЕСЯТЬ. Сайт об играх, [censored]...

Всегда пожалуйста :В а то я словил лютейший хук справа от того, как мои статьи разошлись. На том же dtf интервью с разработчиком, совмещённое с расск…
Виталий Аксёнов
Всегда пожалуйста :В а то я словил лютейший хук справа от того, как мои статьи разошлись. На том же dtf интервью с разработчиком, совмещённое с расск…

ты крут, спасибо за проделанную работу

ты крут, спасибо за проделанную работу
Xander Grishchenko
ты крут, спасибо за проделанную работу

Рад стараться. Мне не столько за себя обидно, сколько за Томаса. Была надежда на хоть какое-то продвижение в русскоязычной сфере, даже перевод игры на русский язык смог выбить у издателя к Рождеству. А тут такой эпический провал.

Рад стараться. Мне не столько за себя обидно, сколько за Томаса. Была надежда на хоть какое-то продвижение в русскоязычной сфере, даже перевод игры н…
Виталий Аксёнов
Рад стараться. Мне не столько за себя обидно, сколько за Томаса. Была надежда на хоть какое-то продвижение в русскоязычной сфере, даже перевод игры н…

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

да, действительно жаль. ну, интервью, как и всякие девлоги у нас нишевый жанр. если ориентироваться на блогеров, ютуберов, то какое-никакое освещение…
Xander Grishchenko
да, действительно жаль. ну, интервью, как и всякие девлоги у нас нишевый жанр. если ориентироваться на блогеров, ютуберов, то какое-никакое освещение…

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

Не говоря уже о Bulwark, весьма специфичный градострой получился, необычный. Собственно, поэтому и хотел хоть как-то помочь разработчику, а то в руне…
Виталий Аксёнов
Не говоря уже о Bulwark, весьма специфичный градострой получился, необычный. Собственно, поэтому и хотел хоть как-то помочь разработчику, а то в руне…

я про демку писал.

я про демку писал.
inpwbusina
я про демку писал.

Молодец. Видимо, я не нашёл :В когда гуглил и яндексил.