Перенос концепции уютного 2D-коттеджа в стиле фэнтези в 3D-мир
Тринх Нгуен рассказала о проекте «Уютный коттедж в фэнтези», поделилась, какие кисти использовала для создания реквизитов и ассетов, а также некоторыми приёмами, которые помогают сэкономить время.

Введение
Здравствуйте, всем. Я — Тринх Нгуен, вьетнамский 3D-артист, живущий в Сингапуре. Мой путь в 3D-арт был немного нетрадиционным. Раньше я работала переводчиком японского языка в технологической компании в Хошимине. После переезда в Сингапур в конце 2019 года пандемия дала мне много времени, чтобы поразмышлять о том, чем я действительно хочу заниматься.
Именно тогда я обнаружила свою страсть к 3D-окружению благодаря таким играм, как Animal Crossing, The Legend of Zelda и Genshin Impact. Меня зацепил не только геймплей, но и сами миры. Я всё время думала: «Я хочу создать что-то подобное».
Я начала с самообучения на YouTube и онлайн-ресурсах, прежде чем записаться на курсы CGMA, чтобы усовершенствовать свой рабочий процесс и получить рекомендации от профессионалов отрасли. «Уютный фантазийный коттедж» — моя первая полноценная работа в жанре окружения, и я рада рассказать вам обо всём процессе.

Проект
Этот проект был частью курса CGMA «Окружение в играх» с Пейтоном Варни. Я хотела создать полноценную стилизованную сцену в Unreal Engine, которая позволила бы мне попрактиковаться в моделировании твёрдых поверхностей, скульптурировании и работе с растительностью в одном куске.
Просматривая ArtStation и Pinterest, я нашла работу Сонра Ким «Коттедж» и сразу поняла, что это то, что нужно. Гармоничная цветовая палитра, чёткая композиция, детальные рисунки здания и общее настроение привлекли меня. Всё выглядело уютно и маняще, но в то же время в этом ощущались приключения и волшебство. Мне не терпелось воплотить это в жизнь в 3D.

Для справок я использовала PureRef, чтобы систематизировать всё, и держала её открытой на протяжении всего производства. Я разбивала свои поиски по компонентам (здания, реквизит, листва, материалы), используя ключевые слова вроде «стильное окружение unreal engine», «стилизованная текстура дерева», «разбор стильного реквизита» на таких сайтах, как ArtStation, 80 Level и Pinterest. Постоянное наличие этих справок помогало мне сохранять стилизованный эстетический вид на протяжении всего проекта.

Блок-аут и композиция
Что касается композиции, я придерживалась концепции оригинального концепт-арта, поскольку Сонра Ким уже добилась баланса и визуальной плавности. Я внесла лишь несколько корректировок: увеличила размер дерева, чтобы оно выглядело более реалистично, и расположила дом в центре, чтобы он служил основным фокусом. Моя цель состояла в том, чтобы создать этот уютный, но загадочный плавучий коттедж, подвешенный в небе.
Я начала блок-аут в Maya, ориентируясь как на реальный масштаб, так и на пропорции из концепт-арта, чтобы убедиться, что всё выглядит обоснованно. Как только основные формы были на месте, я перенесла всё в Unreal Engine, чтобы заложить основу сцены.

На этом этапе я использовала движок SM_SkySphere и применила стилизованную текстуру для создания скайбокса. Я также расположила свои камеры и настроила освещение, Exponential Height Fog и Post Process Volumes, чтобы получить представление об окончательной композиции.

Для основы окружения я использовала Runtime Virtual Textures (RVT), чтобы плавно соединить траву и листву с рельефом, следуя методам из FastTrack Tutorials. Это позволило растительности записывать информацию о цвете и высоте непосредственно на поверхность ландшафта, создавая естественные переходы.

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

Крышная черепица была начата в Substance 3D Designer как плиточный материал. Как только текстура была готова, я создала модульные секции крыши, которые соединялись между собой беспроблемно. Чтобы добавить размерности, я смоделировала отдельные плитки и использовала их для коньков и небольших пиков крыши над чердачными окнами. Эти выделяющиеся элементы сделали крышу более ручной работы.

Предметы и скульптурные ассеты
Чтобы мелкие предметы выглядели живыми и очаровательными, соответствующими концепт-арту, я вылепил каждый из них индивидуально в ZBrush. В процессе лепки я постоянно сверялся с фотографиями и оригинальным концептом. Моими основными кистями были TrimDynamic для создания плавных скосов и выравнивания поверхностей, а также Orb Brush Pack для добавления текстуры дерева, трещин в камне и неровностей поверхности, которые оживили эти предметы.



Растительность
Для двух больших деревьев-героев я использовал SpeedTree, чтобы добиться органичной структуры ветвей и правильного масштаба. Мой рабочий процесс начался с создания текстур для ствола дерева и кроны в Maya и Substance 3D Designer. Как только текстуры были готовы, я импортировал их в SpeedTree для сборки полного дерева. SpeedTree упростил экспорт напрямую в Unreal Engine 5 в формате .st9.


Для травы, небольших растений и цветов я использовал рабочий процесс с атласом текстур. Я смоделировал формы листвы в Maya, перенёс детали с высокополигональных версий на одну плоскость размером 2048x2048, затем текстурировал всё в Substance 3D Painter. Вот важный совет, который я усвоил: назначьте разные идентификаторы материала каждому типу листвы перед запеканием.
Это значительно упрощает создание вариаций и раскраску текстур на более поздних этапах. Как только атлас был готов, я использовал инструмент Multi-Cut, чтобы вырезать отдельные плоскости для каждой формы растения и собрать их в отдельные скопления листвы.


Способы сэкономить время
Оглядываясь назад, можно сказать, что три стратегии действительно помогли мне уложиться в сроки по этому проекту.
Модульный подход сэкономил мне бесчисленное количество часов. Вместо того чтобы моделировать каждую стену, дверную коробку и деталь отделки с нуля, я создал библиотеку повторно используемых компонентов, которые можно было соединять по-разному. Это похоже на блоки LEGO — из одних и тех же деталей можно создавать бесконечные вариации.
Плиточные текстуры также стали настоящим спасением. Вместо того чтобы рисовать уникальные текстуры для каждой поверхности, я разработал основной набор бесшовных материалов, которые подходили для нескольких ассетов. Это, вероятно, сэкономило мне пару недель.
Умные материалы в Substance 3D Painter полностью изменили мой рабочий процесс. Они похожи на интеллектуальные пресеты, которые смотрят на вашу модель и автоматически наносят грязь, царапины и износ в нужных местах. Углы и края получают больше повреждений, углубления собирают грязь, и всё это происходит без утомительной ручной покраски. Задачи, которые заняли бы дни, были выполнены за часы с помощью небольшой настройки.
Ретушь топологии
Для ассетов, которые я вылепил в ZBrush, процесс ретопологии заключался в том, чтобы мои сетки были чистыми и эффективными. Я удалил ненужные петли рёбер и оставил только те рёбра, которые были необходимы для сохранения силуэта и формы каждого ассета. Цель состояла в том, чтобы создать низкополигональные версии, оптимизированные для производительности в режиме реального времени в Unreal Engine, но при этом хорошо сохраняющие свою форму.
Как только у меня были готовы мои низкополигональные версии, я развернул их в RizomUV. Мне действительно нравятся инструменты RizomUV для минимизации растяжения и максимизации пространства текстуры, что было крайне важно для того, чтобы максимально эффективно использовать мой бюджет текстур. После развёртывания я перенёс все детали с моих высокополигональных скульптур в ZBrush на низкополигональные модели.
Весь конвейер был довольно простым: вылепить высокополигональные модели в ZBrush, ретопологизировать для создания чистых низкополигональных версий, развернуть в RizomUV, затем запечь, чтобы перенести все детали.


Рабочий процесс текстурирования
Для текстурирования я работал с тремя основными инструментами: Substance 3D Designer, Substance 3D Painter и Photoshop, каждый из которых выполнял определённую задачу в моём рабочем процессе.
Для повторяющихся поверхностей я использовал Substance 3D Designer, потому что он давал мне полный контроль над созданием бесшовных текстур, которые можно было масштабировать на больших поверхностях без видимого повторения. Узел-ориентированный рабочий процесс невероятно прост в создании вариаций и настройке параметров позже, и я мог повторно использовать эти графики для других проектов.

Уникальные ассеты в Substance 3D Painter
Для реквизита и единичных объектов, которым требовалась ручная прорисовка деталей, я обратился к Substance 3D Painter, потому что он позволял мне рисовать непосредственно на модели и видеть, как текстуры обволакивают геометрию в режиме реального времени.

Photoshop для стилизованных деталей и исправлений
Photoshop играл вспомогательную, но важную роль в моём рабочем процессе. Я использовал его в основном для ручной прорисовки стилизованных стеклянных текстур, чтобы получить тот специфический стилизованный вид, который я хотел. Он также был неоценим для очистки карт текстур, когда в процессе запекания возникали небольшие артефакты или ошибки. Чаще всего я использовал его для исправления карт ambient Occlusion, подкрашивая области, где тени были слишком резкими или неправильно запечёнными.

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

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

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

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


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

Для разбрасывания листвы я использовал инструмент Foliage Paint в Unreal с настройками для масштабирования и выравнивания по местности, чтобы всё выглядело органично. Более крупные ассеты листвы были размещены вручную там, где это было наиболее важно.

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


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

Для постобработки я в значительной степени полагался на том постобработки, чтобы настроить окончательный вид. Одна из важнейших настроек, на которую я хочу обратить внимание, — включение Infinite Extent (Unbound). Это важно, потому что это заставляет эффекты постобработки применяться ко всему уровню независимо от того, где расположена камера.
Если не отметить этот флажок, эффекты будут работать только тогда, когда камера физически находится внутри границ тома, что приведёт к непоследовательности визуальных эффектов во время движения камеры и испортит целостный вид, к которому я стремился.
Затем я настроил компенсацию экспозиции с помощью значений Min/Max EV100 около -0,5, чтобы предотвратить слишком яркое или слишком тёмное освещение сцены под всеми углами камеры. Интенсивность виньетки была установлена на 0,64, чтобы естественным образом привлечь внимание к центральному коттеджу. Я также добавил едва заметный эффект Bloom (интенсивность около 1,95), чтобы тёплые огни мягко светились и усиливали ощущение уюта и волшебства.

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

Заключение
Весь проект занял около 10 недель — от первоначальной концепции до финального рендеринга. Это был напряжённый, но невероятно полезный опыт.
Самой большой задачей было соответствие стилю концепт-арта и сохранение визуальной согласованности на протяжении всей сцены. У оригинальной концепции был такой характерный вид, и мне нужно было придумать, как перенести это в 3D, сохранив при этом очарование и ощущение.
Каждый материал должен был гармонично сочетаться друг с другом, от деревянных текстур до листвы и реквизита. Чтобы убедиться, что всё выглядит так, будто оно принадлежит одному миру, требовались постоянные итерации и сравнение с оригинальным концептом.
Что касается рабочего процесса, то управление временем было сложным. Жонглирование несколькими программными пакетами при сохранении согласованности между несколькими активами требовало строгих еженедельных этапов и большой дисциплины.
Этот проект многому меня научил. Самым большим техническим прорывом стало освоение Runtime Virtual Textures в Unreal Engine, что полностью изменило мой подход к смешиванию пейзажей и листвы. Я также значительно улучшил своё освещение, настройку камеры и рабочий процесс рендеринга. Я научился более эффективно освещать сцены и рендерить более стратегически, а не просто увеличивать настройки и надеяться на лучшее.
Заглядывая в будущее, я знаю, что есть ещё области, в которых я могу расти, особенно в создании более сложных процедурных материалов и оптимизации моего рабочего процесса лепки в ZBrush. Но в этом и прелесть этого путешествия. Всегда есть чему научиться.
Мой совет начинающим художникам — усердно собирайте свою справочную библиотеку. Каждое сохранённое вами изображение становится частью вашего визуального словаря и сэкономит вам бесчисленное количество часов.
Начните с проектов, которые вы действительно можете закончить. Я выбрал этот коттедж, потому что его масштаб казался сложным, но достижимым. Завершение одного цельного произведения лучше, чем наличие пяти незаконченных проектов.
Будьте дисциплинированны по отношению к себе. Установите конкретные сроки и соблюдайте их. Талант — это здорово, но именно последовательность доводит проекты до конца. Были недели, когда я не чувствовал вдохновения, но всё равно приходил и делал работу. Это имело решающее значение.
Создание этого в качестве человека, переходящего из совершенно другой карьеры, показало мне, что никогда не поздно преследовать то, что вас волнует. Всем, кто сомневается в том, чтобы заняться 3D-искусством, начните сейчас. Не ждите, пока вы почувствуете себя «готовым» или пока у вас появятся все ответы. Выберите концепцию, которая вас тронет, разбейте её на управляемые части и возьмитесь за неё по одному активу за раз.
Спасибо, что прочитали о моём процессе. Если это поможет хотя бы одному человеку сделать первый шаг, то делиться этим путешествием стоило. Продолжайте творить, продолжайте учиться и верьте в своё видение.
Тринь Нгуен, художник по окружению в 3D
Интервью проведено Эммой Коллинз
Автор: Trinh Nguyen
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.