Настройка реалистичной среды для мастерской по созданию 3D-игрушек
Тимоти Ли рассказал о проекте Toy Makers Workshop, объяснил, как были созданы ассеты и материалы для сцены, и продемонстрировал настройку освещения.

Введение
Меня зовут Тимоти Ли, и я младший художник по окружению в Великобритании, сейчас ищу работу в игровой индустрии в сфере искусства. Недавно я окончил курс по игровому искусству в Университете Стаффордшира 5 месяцев назад и работаю над несколькими разными проектами, стремясь построить карьеру художника по окружению. Некоторые из них были групповыми проектами по работе над новыми играми, например, над игрой Forgive Me Not, где я работал над окружением, что действительно помогло мне развить навыки в этой области.
Я всегда был большим поклонником видеоигр и любил разные художественные стили и истории, которые они могут передавать. Я хотел стать 3D-художником главным образом потому, что могу создавать объекты или окружение, которые имеют смысл/историю за ними, делая их живыми. Я получил навыки для создания окружения, обучаясь в университете, но в основном на туториалах, а также постоянно работая над своими навыками в 3D и техническом искусстве, создавая такие проекты.
Мастерская игрушечника
Я начал работать над идеей мастерской игрушечника после того, как мой друг рассказал мне историю о том, как его дедушка делал для него простые деревянные игрушки, когда он был ребёнком. Это заставило меня вспомнить, как у меня был такой же момент, когда мой собственный дедушка делал деревянные самолёты и солдатиков в детстве. Поэтому я захотел создать проект, который воплотил бы идею игрушечника, который создаёт вещи для хобби.
Я начал со сбора множества референсов для общего дизайна мастерской и нашёл те, которые хорошо подходили для сарая со множеством различных реквизитов. Это был важный шаг, поскольку поиск множества типов референсов для разных вещей, таких как реквизит, локация, освещение и даже типы материалов, поможет мне в дальнейшем и точно определить, какое ощущение я хочу передать в этом проекте.

Я не использовал базовое 2D-концепт-арт в качестве ориентира для создания окружения, поэтому мне пришлось соединить несколько изображений, чтобы получить представление о том, как может выглядеть сцена. Это помогло мне создать блок-схему и определить, как может выглядеть дизайн уровня.
Я видел, как многие художники пытаются сразу приступить к созданию реквизита и окружения, не планируя должным образом, и сам делал так раньше, осознавая ошибку, поскольку нужно найти правильные пропорции для областей в сцене.
Создав блок-схему, я захотел создать эталонный актив, который стал бы требованием для других активов в сцене. Поскольку я хотел сосредоточиться на полном реализме, мне пришлось попрактиковаться в создании реквизита ручной дрели с полным конвейером: low-poly, high-poly, UV, текстурирование и настройка материалов.
Это действительно позволило мне понять, какой именно оптимизации я хочу достичь для других активов в сцене, обеспечивая при этом последовательный стиль.

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

Что касается более технической информации о упаковке текстур, мне пришлось решить, какие способы упаковки этих текстур для Unreal Engine выбрать, и какой метод будет проще: более лёгкий или более оптимизированный. Я мог упаковать текстуры в базовую карту ORM, Ambient Occlusion, Roughness, Metallic, или использовать более оптимизированный метод, или создать карту Albedo, карту Roughness, карту Normal, Metallic и карту AO.
Я мог бы распаковать данные Normal, используя только два цветовых канала, и оставить два канала для других карт. Это было бы действительно хорошо для оптимизации, однако я хотел сделать эту сцену в виде пакета ресурсов, и текстуры, более удобные для пользователя, имели больше смысла, чем чрезмерная оптимизация, поэтому я просто использовал базовую упаковку ORM.

Рабочий процесс моделирования
Наконец, самая большая часть проекта! Я хотел сделать все ассеты для окружения сам, кроме любых внешних ассетов. Как было сказано ранее, я создал ручную дрель, которая была моей базовой моделью, чтобы следовать тому же качеству.
Теперь я мог создать другие ассеты в сцене, которые я полностью смоделировал сначала, сохраняя их в объединённых областях, которые будут упакованы в атлас на одной UV-карте. Более крупные ассеты должны были быть на своей собственной UV-карте, но многие ассеты, такие как пилы и ручные напильники, можно было разместить на одном атласе, чтобы сэкономить место в текстуре.


В рамках своей разработки я сначала сделал все ассеты, прежде чем накладывать на них текстуры, чтобы можно было подсчитать объём работы, который мне нужно было выполнить. Сами ассеты включали в себя несколько моделей с жёсткой поверхностью, таких как большой токарный станок, и множество ассетов, смоделированных в виде коробок.
Хотя поддержание достаточно низкого количества полигонов для ассетов было хорошим началом, мне нужно было убедиться, что силуэты для реквизитов, особенно когда дело касалось изогнутых поверхностей, не показывали фасеточность. Это стало чрезвычайно сложным для таких областей, как зубцы на токарном станке, поскольку мне требовалось много топологии, чтобы показать зубцы зубчатых колёс.
Теперь, когда у меня были готовые модели и развёрнутые, я наконец-то мог приступить к своей любимой части — приданию цвета сцене путём текстурирования ассетов. Мой обычный первый шаг при создании любого типа стилизованной текстуры внутри Substance 3D Painter для ассета — это выделение различных областей на текстуре.
Это даёт мне основу для работы, добавляя грязь и детали, такие как ржавчина, к объекту. После этого шага я люблю добавлять повествование, например, износ краёв, чтобы придать реквизиту больше жизни и цели для сцены. Очень важно следить за значениями Roughness и Albedo, добавляя как можно больше деталей, поскольку эти карты сделают реквизит выделяющимся внутри движка.

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

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

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

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

Теперь, когда я закончил с моделированием, нанесением текстур и их импортом в сцену, мне нужно было начать создавать шейдеры и заниматься другими техническими задачами, чтобы улучшить мелкие детали в сцене. У меня было довольно много текстур, поэтому я создал основной материал, который использовался для примерно 90% материалов в сцене, просто используя экземпляр материала.
У меня были параметры, которые могли изменять текстуры для экземпляра, и масштабируемые значения для Roughness и Base Color. Наличие одного основного материала сокращает количество вызовов отрисовки и оптимизировано лучше, чем наличие основного материала для каждой текстуры.

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

Наклейки — важная часть любого проекта по созданию окружения, поскольку они позволяют размещать грязь и уникальные модульные детали в окружении с небольшими затратами. Для своего проекта я хотел также разработать шейдер, основанный на моих знаниях, который позволяет легко заменять текстуры и движения для наклеек.
Это похоже на материал, который я сделал для своего фан-арта по Bioshock Infinite, но с некоторыми дополнительными шагами. Шейдер позволяет мне менять текстуру, используя для этого определённые каналы. Я использую только чёрно-белые значения для прозрачности текстур наклеек, чтобы я мог поместить это в каналы R, G, B и A с параметризованным цветом и нормалями для дополнительного контроля над деталями.
Причина, по которой я считаю, что лучше всего было создать этот шейдер с экземплярами материалов, заключается в том, что у меня было несколько наклеек на текстуре, которые я хотел разбросать по окружению, поэтому было важно создать шейдер, которым я мог бы управлять для каждого экземпляра.


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

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

В ходе проекта у меня было много изменений освещения: от крайне оранжевого окружения до более сдержанного и реалистичного сценария. Я хотел выразить тёплое и осеннее ощущение с помощью некоторых рендеров, поскольку чувствовал, что это поможет создать уютную картинку истории, стоящей за окружением. В некоторых случаях я выбирал более холодные тона, например, при рендеринге металлического сверла, чтобы поддержать холодную текстуру.
Моя основная схема освещения использовала HDRI-фон, который вносил в сарай много тёплых световых тонов. Это, в свою очередь, вместе с направленным светом, проникающим через окно, позволило добиться реалистичного освещения, которое основывалось на этом, а не на использовании искусственного освещения. Однако я добавил точечные светильники в определённые области сцены для увеличения вариации Roughness для определённых рендеров, но всё равно пытался следовать расположению основных источников света.
Обязательное условие при любом освещении в окружениях — если вы добавляете в сцену свет, у него должен быть реальный предмет, например, лампочка или свеча, из которых исходит свет. Наличие случайного света, исходящего ниоткуда, будет выглядеть невероятно странно.

Я использовал DaVinci Resolve и Photoshop для настройки параметров постобработки изображений и для видеоряда, который экспортировал из Unreal с помощью очереди рендеринга видео. Я не хотел полностью переделывать изображения внутри DaVinci, поскольку хотел, чтобы рендеры окружения были в реальном времени из фактического окна просмотра, с некоторыми добавленными изменениями в постобработке.

Заключение
В общей сложности на создание всего в окружении у меня ушло чуть больше 5 месяцев. Единственные реквизит и текстуры, которые не были созданы в сцене, — это деревья мегахскан и разбросанные листья. В этом проекте я освоил немало новых техник: от совершенствования своих навыков работы с Substance 3D Painter в стиле реализма до создания реквизита и технических художественных навыков.
Хочу поблагодарить всех своих друзей и коллег за то, что они давали мне обратную связь и помогали, когда я застревал в каких-то областях проекта. Мой последний совет другим 3D-художникам — продолжать совершенствовать своё мастерство, получать отзывы о своей работе и пробовать новое. Есть ещё вещи, которые я мог бы улучшить в этой работе, но необходимо найти точку остановки.
Я планировал визуализировать внешнюю сторону сарая и создать хороший ландшафт мегахскан для внешней части, но я просто переутомлял себя чем-то, что не было чётким фокусом моих навыков и проекта. Я оглянусь на этот проект через пару месяцев после моего следующего и увижу области, которые я мог бы полностью изменить, но это потому, что я вырос как художник.
Я хочу поблагодарить всех за то, что прочитали эту статью, и надеюсь, что она была вам полезна. Спасибо 80 Level за то, что позволили мне показать свою работу более широкой аудитории. Если вам нужна помощь с вашим 3D-произведением, вы всегда можете связаться со мной через LinkedIn, Email или мою Artstation, и я буду рад помочь.
Тимоти Ли, художник по окружению 3D
Интервью проведено Эммой Коллинз
Автор: Timothy Lee
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.