Как смоделировать окружение разрушенной башни и создать для неё текстуры с помощью Blender и ZBrush
Рафаэль Аркари рассказал о процессе работы над проектом «Руined Tower», обсудив инструменты, которые он использовал для моделирования каждого элемента, и объяснив, как он настроил освещение и эффекты ветра, чтобы сделать сцену более привлекательной.

Введение
Привет всем, я Рафаэль Аркари, и я художник по окружению из Бразилии, самоучка. В индустрии я уже почти 4 года. Работал в Big Moxi Games над такими проектами, как Wardens Rising и Reaper Actual.
Руined Tower
Проект «Руined Tower» начался с предложения моего друга Фелипе Карвалью «Squiers». Мы поговорили о том, каким может быть проект, и нашли несколько интересных идей для стиля, среди них — проект «Bird House» от Жасмин Хабезаи-Фекри, который стал большим вдохновением для стиля и презентации. В поисках концепт-арта я наткнулся на проект «Tower 1» от Киллиана Прево.
Я знал, что хочу сделать сцену на открытом воздухе, больше полагаться на плиточные материалы и сделать немного листвы, так что этот концепт идеально подходил для этого. Кроме того, освещение и композиция были просто феноменальными, и мне понравилась его фэнтезийная атмосфера.
На этом этапе я просто хотел поместить сцену в движок и продумать основную композицию. Поэтому я быстро набросал композицию и набросок сцены. Затем приступил к поиску референсов и более детальной проработке окружения с помощью изображений и ссылок на техники, которые планировал использовать.

Композиция
Все ассеты в наброске были сделаны максимально быстро, либо импортированы из пакета, Quixel, либо из шаблона ассета от SpeedTree или Gaea. Я использовал решётку в Blender, чтобы примерно сформировать некоторые ассеты, но на этом всё. Рабочий процесс для большинства ассетов и сцены выглядел так:
Композиция > Набросок > Прокси > Доработка > Полировка
Как только у меня появился набросок, примерно соответствующий концепции, я экспортировал сцену из Unreal Engine в Blender, где смоделировал прокси, следуя пропорциям наброска. Идея этих прокси в том, что они представляют все финальные модели, которые мне понадобятся в итоге, даже если некоторые из них не похожи на свои окончательные версии. Они нужны для того, чтобы как бы удерживать место объекта.
Также это хороший момент, чтобы разобраться с такими проблемами, как форма башни, но пока это ещё не окончательное решение, и это помогает мне визуализировать окончательный вид сцены, так что мы сейчас как бы приближаемся к этому.

Для моделирования этих ассетов я использовал в основном Weighted Normals и Booleans. Сломанные части были сделаны с помощью Cell Fracture и Booleans. Чтобы сделать окончательный мусор, я смоделировал его в виде квадратной коробки и запек преобразования, чтобы удержать его на месте, затем подправил форму.
Идея для башни всегда была в том, чтобы собрать её из частей. Сначала я собрал её в Blender, так как не был уверен, как она будет выглядеть в сцене, и я мог вносить изменения в модель на лету. Затем для финальной версии я собрал её в Unreal Engine.
Я знал, что мне понадобится какой-нибудь способ разбить плитку на башне и придать немного глубины плющу. Так что смешивание материалов в ассете с помощью цвета вершин работает для этого просто отлично.
Камни — это уничтоженная модель из ZBrush. Хитрость в них заключается в том, как материалы смешиваются. Они используют трёхмерный каменный материал, смешивание RVT, а материал мха смешивается с помощью AO поля расстояний и зелёного цвета вершин.
Для травы мой друг Альдемир Шервински показал мне этот рабочий процесс. Вы начинаете с создания пары отдельных травинок в Substance 3D Designer. Затем вы используете эту атласную траву в SpeedTree, чтобы запечь атлас травы, затем собираете их в пучки травы и отдельные ассеты травы и разбрасываете их в движке.
Для разбрасывания я использовал ландшафтную траву. Также в SpeedTree я смоделировал их, обращёнными вверх, и использовал родительский изгиб, чтобы подделать «гравитационный изгиб» на лезвиях. Деревья были созданы аналогичным образом. Я начал с базового атласа листьев, затем создал в SpeedTree веточки и атласы ветвей, а затем создал дерево, используя этот атлас.

Создание кустов было более простым рабочим процессом. Я создал текстуру пучка листьев в Substance 3D Designer, затем запустил их в виде частиц в Blender на сфере, затем просто придал сфере форму, как я хотел. В конце вам нужно перенести нормали со сферы на куст, чтобы они не выглядели коряво.

Фоновые горы сначала были созданы в Gaea, это узел «Гора», с некоторой эрозией, шумоподавлением и повышением резкости, затем экспортируйте сетку с помощью узла экспорта сетки. Затем вы заходите в ZBrush и применяете глиняный блеск пару раз, мы пытаемся немного избавиться от высокочастотного шума и сделать его более чётким. Экспортируйте это как высокополигональную модель, уменьшите и сделайте низкополигональную, проецируйте UV сверху, запеките, а затем нам просто нужен простой материал для этого.

Я использовал градиент положения, чтобы затемнить нижнюю часть, и более светлый для освещения сверху вниз, а также попытался эмулировать другие эффекты окружения, такие как эрозия, скалы, направление солнца и окклюзия.
Облака были созданы с помощью фотобашинга и матовой живописи в Photoshop. Они разбиты на цвет и альфа-канал, что важно для получения плавного перехода в Unreal Engine. Этот метод основан на курсе Тайлера Смита. В Unreal Engine вы можете использовать Depth Fade для улучшения смешивания этих ассетов с элементами фона.

Ретушь топологии и текстуры
Я использовал Blender для ретопологии и развертки всех UV-координат. В плане развертки особо много работы нет. Башни в основном состоят из двух текстур: каменной кирпичной и деревянной для дверей, окон, рам и других ассетов.
Я использовал Substance 3D Designer для создания плиточных текстур. Стиль немного вдохновлён Immortals Fenyx Rising. Я также использовал некоторые приёмы, которые узнал при ручной росписи текстур, и попытался использовать немного световой информации в базовом цвете, так как думал, что так будет красивее.
Я следовал схеме «скульптура, детализация» для карты высот во всех материалах. Все материалы также начинаются с генератора мазков кисти, который я создал, чтобы иметь более интересный начальный цвет для работы. Затем я использую маску вариации, чтобы деформировать мазки кисти в соответствии с рисунком, чтобы они соответствовали форме моей текстуры.

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

Сборка финальной сцены
Финальные ассеты были собраны в Unreal Engine. Я создал экземпляр уровня для башни, а окружающие объекты были размещены вручную. Я сделал несколько префабов с помощью blueprints, так что размещать более повторяющиеся объекты было немного быстрее. Растительность (кроме виноградных лоз) была размещена с помощью системы листвы в Unreal или PCG (так было с фоновым лесом), а трава использует ландшафтную траву Unreal.
Настройка освещения и ветра
Моя схема освещения включала направленный свет, экспоненциальный высотный туман, атмосферу неба и световой люк. Направленный свет использует маску облачного света с панорамированием, чтобы вокруг были красивые тени. Я также исключил световую маску из дальнего фона, так как думал, что узор слишком яркий на расстоянии, поэтому свет там плоский, что достигается с помощью маски смешения по расстоянию в шейдере. У меня есть несколько других мест, где я хочу придать больше интереса, но это освещение.

Для ветра я использую анимацию подвешенной вершиной вверх, которую можно найти в блоге Райана Доулинга Сока. Она выглядит так хорошо, что я действительно пользуюсь ею постоянно. Я не использую для этого маску цвета вершины, как это делает он. Я использовал градиентную маску на расстоянии от исходной точки, так как считаю, что её немного проще контролировать, и я освобождаю цвет вершины для других целей, если захочу его использовать. Я также использую коллекцию параметров материала, чтобы иметь глобальный контроль над силой ветра.
Заключение
На завершение этого проекта у меня ушло около 2 недель. Главной задачей было научиться ускорять мой рабочий процесс в Substance 3D Designer, так как я знал, что с самого начала это будет для меня своего рода узким местом. Также хорошей задачей было научиться использовать SpeedTree. Я узнал, что хороший процесс придаст вам большую уверенность в визуализации конечного окружения. Кроме того, вы можете создать довольно красивое окружение из очень простых частей, если они хорошо сочетаются друг с другом, что на самом деле сэкономит вам много времени.
В более крупных проектах принято уделять слишком много внимания деталям слишком рано или слишком много, поэтому лучше оценивать свою работу на сцене, под углами, которые будут видны, и как она сочетается с остальной частью сцены, а не оценивать её изолированно от всего остального. Кроме того, если что-то не работает, вы можете обнаружить это заранее и исправить, чтобы минимизировать разочарование от траты много времени на то, что не сработало. Вот почему прокси и хороший процесс помогут вам оценить свою работу в контексте. Я думаю, это здорово.
Рафаэль Аркари, художник по окружению 3D
Интервью проведено Эммой Коллинз
Автор: Rafael Arcari