Это русская версия статьи, которую я написал для GamesArtistСтатья на английском: gamesartist.co.ukMeditation Garden - Games Artist ВведениеВсем привет. Я 3D Художник по окружению. Много лет назад начинал с геймджемов. Мне понравилось делать художественную часть и начал учиться, смотря туториалы и видео, чтобы стать 3D-художником.Я постоянно учусь новым вещам, чтобы сделать мои работы еще красивее.ЦелиЭтот проект должен выглядеть хорошо, и я хочу поделиться процессом создания этого окружения.Создать окружение, которое было бы не стыдно иметь в моем портфолио.Использовать техники которые я знаю и изучать новые в процессе.Сделать меньше мешей, используя модули. +3ПрограммыСнизу программы, которые я использовал в проекте:BlenderZBrushSubstance DesignerSubstance PainterMarmoset ToolbagSpeedTreeUnreal Engine 5РеференсыЯ нашел классный концепт, сделанный концепт-художником Eddie Mendoza.Концепт содержит несколько реальных мест, поэтому я постарался найти референсы, которые использовались при создании этого концепта, а также некоторые референсы по листве, текстурам и коврам.БлокаутПервым делом я пытаюсь понять размеры сценки и попасть в размеры концепта.Для этого окружения, я разделил свою работу на 3 части:Объекты которые будут близко к камере(большие арки, колонны, пол)Вход в здание со стенамиВерхняя часть с арками и декорациямиЯ использую кубы, простые формы и манекены для первого теста блокаута.Затем, я заменяю блокаут меши на модульные частиЗдесь прогресс уже имеетсяС этого момента, я знаю сколько работы мне нужно проделать, чтобы закончить окружение. Я всегда могу переключиться на другие вещи и не заскучать с этим проектом.МоделированиеВсе, что будет близко к камере, должно иметь высокую детализацию. Объекты, которые находятся далеко от камеры, больше фокусируются на силуэте и не требуют большого количества деталей.Это важно, так как создание всего может занять слишком много времени.Создание аркиВместо того, чтобы скульптить каждый камень для арки, я сделал быстрый скульпт 4 кусков камня.Затем я экспортировал их в Blender и создал стопку камней друг на друге с разными поворотами, чтобы избежать повторения.Используя мою блокаут арку, я получаю кривую, которую я использую для деформации моих камней в нужную форму арки.Для деформации использовал модификатор Curve в Blender.После того, как основные формы сделаны, я импортировал арку обратно в ZBrush и начал детализировать меш.На этом этапе я добавил мелкие детали, трещины.ПолЯ знал с самого начала, что пол будет использовать дисплейсмент через height текстуру. Я заскульптил несколько камней, чтобы получить информацию для своих текстур.СкульптЯ распределил их по 4-метровой плоскости, чтобы запечь детали в Marmoset Toolbag.Важно, чтобы меши на краях плоскости совпадали, чтобы ваша текстура тайлилась. Затем я импортировал запеченные карты в Substance Designer и затекстурил.Результат текстуринга:Блокаут меш для пола это sub-d plane, UV-развернутый, чтобы он тайлился после повторения в сцене.Потом использую дисплейсмент в Unreal Engine, чтобы выдавить формы и поднять детализацию меша.Обычный Plane/Применяю дисплейсмент/Добавляю меши чтобы разбить тайлЯ использовал простые выпуклые меши, чтобы разбить повторение текстуры. Одну для плоской поверхности, другую для пересечения со стенами.РастительностьС самого начала я думал использовать только Megascans для растительности, но это не давало мне желаемого вида плюща, поэтому мне пришлось создать свой собственный плющ с помощью SpeedTree.Я создавал фольяж, имея в виду, что это будет модульный набор, где модули можно использовать много раз.Для листьев я нашел текстуры в Интернете.Я заскульптил один цветок и запек его на низкополигональную модель. Затем я сделал текстурирование в Painter и сделал сборку в SpeedTree.КоверДля ощущения медитации мне нужен был ковер, на котором я бы сидел. Это дает больше сторителлинга в мою сцену. Я использовал туториал Луизы Мелин о том, как создать ткань в Substance Designer.Добавил сшитые края на орнаментах, используя Tile Sampler.Ранние тесты материала:Затем я нашел красивую картинку узоров для ковра, которая будет использоваться в качестве базового цвета и альфа-маски. Я обесцветил изображение, чтобы получить альфу из картинки.Чтобы завершить материал ковра, я сделал трим для краев ковра из небольших подвесных веревок. Было проще вносить изменения в плоскость из веревок, чем в меши веревок.Используя curve меши, я сделал несколько вариаций веревок. Я использовал 4-метровую плоскость, чтобы получить правильно UV-развернутый кусок, который я мог бы использовать для запекания веревок в плоскости.ШейдерЭто большой раздел, так как я полагаюсь на возможности этого шейдера.Мой шейдер содержит:Тайловая и трим текстура камнейШтукатуркаVertex Paint (штукатурка, мох, сырость)Декоративные Текстуры и ДекалиМакро нормалиЗапеченные нормали (если нужны)RGB Маска (если нужна)МохСыростьТайловая, трим текстура камней и штукатуркаЯ использую material functions для разделения каждого материала в графе, что упрощает работу с шейдером.Каждая material function имеет настройки, такие как изменение цвета, интенсивность нормалей и тайлинг. Я использовал трипланарную проекцию для текстур (кроме трим текстуры), чтобы предотвратить несостыковки текстур между модулями в сцене.Vertex PaintVertex Paint используется для создания различий между материалами. Убедитесь, что ваш меш имеет достаточно вертексов для рисования в них информации.Декоративные Текстуры и ДекалиВ этой сцене я использовал два разных подхода. Первый — это меш декали с другим материалом, поверх базовой модели с использованием альфа-маски.Я разбил альфа-маску с помощью гранж-текстуры, чтобы придать текстуре эффект потертой краски.Вот несколько примеров использования меш декалей и декалей для краев мешей.Зеленое - Меш Декали / Розовое - Еdge декалиУбедитесь, ваш меш декаль для граней сглажена, чтобы убрать шов от жесткого угла.Второй подход использует вторую UV-карту. Он хорошо работает с мешами, которые используют дисплейсмент, поскольку использует UV-координаты, а не отдельный меш.Он следует формам меша, и смешивание материалов работает правильно.RGB МаскаМаска используется для создания вариаций цветов и изменений Roughness текстуры. Я создал маски в Substance Painter, где я мог применять smart-маски или рисовать уникальные детали в маске.Упаковка в одну текстуру упрощает работу и делает ее более оптимизированной для движка. Поскольку это мой личный проект, я использовал высокое разрешение, поэтому маска имеет разрешение 1024×1024. Она использует второй канал UV, где меш уникально развернут, но я всегда могу переключиться на первый UV канал. В шейдере я могу настроить интенсивность проявления цвета, как и сами цвета.МохМох должен был работать с нанитами, поэтому я подумал о создании маски на основе world space координат.Это отлично сработало в моей сцене, где у меня много воды на одном уровне.Маска дает прямую линию, поэтому я смешал ее с гранж-текстурой, чтобы разбить ее. Гранж-текстура имеет 4 разных текстур упакованных в разные каналы(RGBA), и я всегда могу переключаться между ними.Вот видео, которое показывает, как это работает в движке.СыростьМатериал затемняет Base Color и делает Roughness более блестящим.Освещение и композицияЯ хотел сделать дневную и ночную версию сцены, чтобы попрактиковать мои навыки освещения. Правило третей помогло создать сильную композицию.Синий ковер создает дополнительный контраст с остальной частью сцены.Я использовал Local Height Fog, чтобы отделить передние колонны от стен за ними, добавив контраст и глубину.Вдохновение для ночной сцены пришло из локации Река Сиофра из Elden Ring, где было прекрасное ночное небо со звездами и оранжевым светом.Я использовал фото луны для маски, чтобы смешать Emissive цвета.Я проверяю, что освещение не слишком темное, использовав режим Detail Lighting.ЗаключениеЯ доволен конечным результатом и рад, что создал красивые обои для своего рабочего стола. Мне особенно понравилось, как получилась ночная сцена.Спасибо сообществу Leoluch Discord за их фидбек для улучшения моей сцены, и большое спасибо Евгению Вегере за его фидбек.Мой ArtstationПолезные ресурсыСоздание материала ткани в Substance Designer - видеоМеш декали - видеоТекстурирование больших объектов - видео