- Работа с Quixel Bridge, World Creator 2 и UE 4 в 2020. Урок для начинающих.
- UnrealEd
- Изучение Unreal Engine, документация на русском языке
- Создание материалов ландшафта
- Настройка системы папок
- Перенос текстур
- Создание материалов ландшафта
- UnrealEd
- Изучение Unreal Engine, документация на русском языке
- Landscape – технический гайд по ландшафтам
- Технические детали
- Landscape-компоненты
- Секции компонента
- Расчет размеров поля высот
- Вопросы производительности
- Рекомендованные размеры ландшафтов
- Режим Layer Debug
Работа с Quixel Bridge, World Creator 2 и UE 4 в 2020. Урок для начинающих.
Создание ландшафта в World Creator 2, экспорт в Unreal Engine 4 и работа с материалами из Quixel Bridge — Megascans.
В этой части мы поговорим о том как:
— cоздать ландшафт в World Creator 2 в 4К.
— поэксперементировать с фильтрами и получить нужную форму
— оптимизировать Viewport в World Creator для комфортной работы на слабых видео-картах
— создать несколько слоев текстур
— добавить текстуру песка ориентируясь на уровень океана
— импортировать созданный ландшафт в Unreal Engine 4 используя два способа
— импортировать Megascans материалы с помощью Quixel Bridge
— создать специальную функцию, которая позволить рисовать этими материалами по ландшафту
— бороться с тайлингом и создать специальные параметры для этого
— увеличить память в Texture Streaming Pool и исправить ошибку Texture Streaming Pool Over *** Budget.
— экспортировать Split ландшафт из World Creator 2
— использовать World Compositor и Levels Tool в Unreal Engine 4
— импортировать ландшафт по слоям
— работать с большими ландшафтами
— какое должно быть разрешение Displacement карты из World Creator
— текстурировать, чтобы на closeup все было хорошо.
— cоздать группу параметров в Unreal Engine 4
— оптимизировать рабочий процесс и ускорить компиляцию шейдеров
— избежать проблем с рисованием текстур с разными слоями.
Больше уроков:
Содержание видео:
0:00 — Тема урока.
→ Создание ландшафта в Wolrd Creator 2.
1:35 — Генерация базовой формы.
2:54 — Эксперименты с фильтрами
7:45 — Настройка фильтров и оптимизация viewport c помощью multi-frame генератор.
13:54 — Использование Height Select для настройки влияния фильтров по высоте.
16:13 — Добавление текстур
20:16 — Создание песка ориентируясь на уровень моря
24:57 — Настройка экспорта в Unreal Engine 4.
→ Импорт в Unreal Engine 4 (первый способ)
25:46 — Создание проекта.
26:40 — Импорт ландшафта.
27:41 — Говорим о принципе работы с ландшафтами из World Creator 2
28:43 — Cоздание папки материалов и функций.
29:23 — Работа с Quixel Bridge и импорт материалов для всех слоев ландшафта
33:55 — Создание Master Material, Material Instance и Material Function для рисование по ландшафту
35:12 — Настройка функции для работы с Megascans
37:41 — Добавление ее в Master Material
38:15 — Создание Layer Blend.
39:38 — Добавление параметра для импорта разных текстур в Materail Function
52:34 — Cоздание группы для параметров
54:30 — Назначение Landscape Instance на геометрию ландшафта.
55:39 — Загрузка Weight-Blended Layer(normal) для каждого слоя
→ Оптимизация рабочего процесса. Ускорение компиляции шейдеров.
56:49 — Временное упрощение функции
58:54 — Создание временного ландшафта для ускорения работы
→ Настройка материалов
1:03:23 — Загрузка Megascans текстур в Material Instance
1:06:12 — Исправление ошибок с текстурами в функции
1:07:56 — Layer Info и рисование материалами.
1:08:31 — Решение проблем с рисованием. Метод с Sample Source — Shared Wrap.
1:10:08 — Добавление параметров для борьбы с тайлингом
1:35:19 — Исправление ошибки Texture Streaming Pool Over *** Budget.
1:36:31 — Настройки Displacement
→ Импорт в Unreal Engine 4 (второй способ)
1:42:04 — Настройка экспорта в World Creator 2 для разделения ландшафта на несколько тайлов.
1:43:15 — Работа с World Composition
1:43:38 — Import Tiled Landscape
1:45:01 — Загрузка уровня с помощью слоев в Persistent Level
1:45:27 — Проверка тайлов ландшафта в World Compositor
1:45:54 — Рисование разными материалами Megascans по импортированному ландшафту
1:48:48 — Организация нод, создание комментариев и отдельных параметров тайлинга для каждого слоя.
2:07:37 — Демонстрация материалов и нод, которые получились в итоге.
2:13:07 — Forrender Renderfarm
2:13:14 — Промокод для использования пожизненной скидки в 15% на нашей рендерферме.
Источник статьи: http://render.ru/ru/artofcharly/post/17796
UnrealEd
Изучение Unreal Engine, документация на русском языке
Создание материалов ландшафта
Настройка системы папок
Теперь, когда мы закончили скульптурировать ландшафт, самое время добавить материалы, чтоб результат больше напоминал нечто такое, что можно увидеть в реальном мире. Но прежде, чем начать, давайте создадим несколько папок, чтоб рассортировать весь контент, который мы создадим.
Мы создали следующие папки для данного урока.
Должно получится что-то типа этого.
Перенос текстур
Теперь, когда наши папки на месте, давайте перенесем некоторые текстуры из проекта Landscape Content Example, чтоб у нас было, с чем работать.
Когда вы переносите контент между проектами, у вас могут появляться ненужные папки. Чтоб избежать этого, выберете нужные текстуры внутри Content Browser и перетащите их из существующей локации в желаемую папку.
Вы можете найти текстуры в следующей папке, которая находится внутри проекта Landscapes Content example.
/Game/ExampleContent/Landscapes/Textures/
Из проекта Landscape Content Example мы будем переносить следующие текстуры.
- T_ForestGround_D
- T_ForestGround_N
- T_GroundGrass_D
- T_GroundGrass_N
- T_Noise_N
После переноса текстур, убедитесь в том, что они появились в папке Textures, которую мы создали ранее. Теперь давайте создадим материалы для ландшафта.
Создание материалов ландшафта
- Откройте папку Materials.
- Выполните правый клик в ContentBrowser и выберете Material из списка BasicAssets.
- Назовите как-нибудь созданный Материал, чтоб его было легко найти, например, Landscape_Material.
Теперь у вас должно получиться нечто такое:
Теперь, когда у нас создан новый Landscape Material, откроем Материал, дважды кликнув по нему внутри Content Browser. Теперь вы должны увидеть нечто такое:
Теперь, прежде чем мы начнем наслаивать узлы в Material Editor, мы должны убедиться в том, что установили этот материал для его дальнейшего использования в Ландшафте. Чтоб сделать это, открываем секцию Usage в панели Details и ставим галочку напротив Used with Landscape . Таким образом мы сможем использовать Материал в Ландшафте.
Теперь самое время начать наслаивать узлы внутри Material Editor. Первый узел – это узел LandscapeLayerCoords UV. Этот узел – помощник в генерации UV-связей, которые можно использовать для того, чтоб связать Сеть Материалов с Landscape Terrain.
Самый простой способ найти узлы, специфичные для Ландшафта – это использовать поиск узлов в боксе Materials Palette, вбив слово Landscape, как ключевое
Следующие Material-узлы, которые мы собираемся наслоить, это узлы текстур для Base Color настила и карт Normal. Для снега мы будем использовать Vector Parameter (V + левый клик), который использует белый цвет. Чтоб убедиться в том, что не используется Metallicinformation,используйте Constant (1 + левый клик) в значении 0 с подключением к Metallicinput. И наконец, для Roughness, мы установили Scalar Parameter (S + левый клик), и это значение мы сможем твикнуть с помощью Material Instance позже. Наконец, давайте убедимся, что мы прицепили каждый LandscapeCoord к UV каждого Texture Sample. У вас должно получиться нечто такое:
Чтоб добавить узлы Texture Sample для различных текстур, сначала выберете нужную текстуру в Content Browser, затем нажмите T + левый клик в графе Material Editor, чтоб создать узел.
Чтоб узнать больше об этих привязанных клавишах, откройте окно Edit > Editor Preferences > Keyboard Shortcuts и выберете Material Editor – секция Spawn Nodes.
Номер | Название текстуры |
1 | T_ForestGround_D |
2 | T_Ground_Grass_D |
3 | T_ForestGround_N |
4 | T_Ground_Grass_N |
5 | T_Noise_N |
После того, как мы наслоили Material-узлы, а LandscapeCoords были связаны с текстурами UV, самое время добавить узел Landscape Layer Blend. Этот узел используется, чтоб смешать все текстуры, которые используются для ландшафта, таким образом, что их можно будет раскрасить на ландшафте по отдельности, используя инструменты Landscape Painting. Таблица ниже показывает, какие текстуры связаны с названием уровня и, какие режимы смешивания они используют.
Когда вы первый раз закладываете узел Landscape Layer Blend, он будет пустым, как показано на картинке с номером один. Чтоб добавить к нему Layers, вам сначала нужно выбрать узел в Material Graph, а затем в панели Details, кликните на иконку Plus, которая находится между словом Elements и иконкой Урна. Эта иконка отмечена желтым на картинка с номером 2.
Режим смешивания уровня Base Color
Текстура | Название уровня | Тип смешивания | Вес привью |
T_ForestGround_D | Soil | LB Weight Blend | 1.0 |
T_Ground_Grass_D | Grass | LB Height Blend | 0.0 |
Snow as a Vector 3 | Snow | LB Height Blend | 0.0 |
Режим смешивания уровня Normal
Текстура | Название уровня | Режим смешивания | Вес привью |
T_ForestGround_N | Soil | LB Weight Blend | 1.0 |
T_Ground_Grass_N | Grass | LB Height Blend | 0.0 |
T_Noise_N | Snow | LB Weight Blend | 0.0 |
После закладки узлов Layer Blend, самое время связать их с Texture-картами. После чего у вас должно получиться нечто такое:
Связи материалов были раскрашены в Photoshop, чтоб вам было проще понять, как все это соединяется. В настоящее время Unreal Engine 4 не дает возможности изменять цвета линий, соединяющих узлы материалов.
Источник статьи: http://unrealed.ru/landscape/rabota-v-instrumentami-landscape/4-2/
UnrealEd
Изучение Unreal Engine, документация на русском языке
Landscape – технический гайд по ландшафтам
Чтоб система ландшафтов заработала максимально эффективно, вы должны знать о некоторых определенных технических ограничениях, которые нужно брать в расчет. В данном документе прописаны все ограничения, на которые нужно обратить внимание, а также изложена ценная информация, которая поможет вам сохранить баланс между красотой и производительностью ваших ландшафтов.
Технические детали
Валидные размеры полей высот ландшафтов не всегда очевидны в самом начале. Чтоб иметь возможность определить размеры для полей высот, которые валидны и оптимальны, нужно понимать внутреннюю архитектуру Ландшафтов. Чтоб создать систему, позволяющую использовать большие ландшафты, которые эффективны с точки зрения используемой памяти и производительности, архитектура ограничивает размеры полей высот, а это означает, что есть определенные размеры, которые валидны, и прочие, не подходящие. В прежних системах ландшафтов в Unreal Engine либо вообще не было никаких ограничений (любые размеры были валидны и могли работать), либо ограничения были не строгие. Ограничения для полей высот ландшафтов гораздо более сложные и строгие.
Landscape Actor закодирован цветом, так что легко сказать, что именно делает каждая секция. Границы Landscape окрашены желтым, края каждого компонента подсвечены светло-зеленым, края секции (если секция размерами 2×2) окрашены зеленым, а отдельные Landscape-квадраты окрашены в темно-зеленый.
Color: | Landscape Component |
---|---|
Yellow: | Landscape Actor Edge |
Light Green: | Landscape Component Edge |
Medium Green: | Landscape Section Edge |
Dark Green: | Landscape Individual Quad |
Landscape-компоненты
Ландшафты разделены на множество компонентов, которые представляют собой базовый юнит Unreal в плане рендеринга, расчетов видимости и столкновения. Components в Landscape все одинакового размера и всегда квадратные. Размер Landscape component определяется при создании Landscape, и выбор зависит от размера и деталей Landscape, который вы хотите создать
Данные высоты каждого компонента хранятся в одной единственной текстуре. Поэтому ее размер должен быть числом вершин в квадрате. Общий ряд вершин по краям двух соседствующих компонентов дублируется и хранится в каждом компоненте. По этой причине вы должны подумать о количестве квадратов в каждом компоненте.
Ниже представлен очень простой Landscape (подсвечен зеленым), содержащий 4 компонента. Каждый компонент состоит из простого квадрата. Один компонент отделен, чтоб показать, как дублируются те вершины, где встречаются компоненты.
Секции компонента
Компоненты можно опционально разделить на 1 или 4 (2×2) подсекции. Эти секции служат базовым юнитом расчетов Landscape LOD.
Использование подсекции 4 (2×2) дает вам тот же размер поля высот, как если бы вы использовали в четыре раза больше компонентов всего лишь с одной подсекцией каждый, но использование нескольких компонентов обычно приводит к большей производительности.
Размер каждой секции (количество вершин) должен быть в квадрате (максимально 256×256). Таким образом разные уровни LOD могут хранится в мипмапе текстуры. Так мы получим число квадратов в компоненте, также это число в квадрате минус 1. (если 1 секция на компонент) или числов квадрате минус 2 (если 4 секции на компонент).
Отдельный компонент, который проиллюстрирован ниже, содержит 4 секции. Каждая секция состоит из 9 (3×3) квадратов. И опять, вы можете заметить, что вершины, где секции встречаются, дублируются.
Расчет размеров поля высот
Как вы можете видеть, размеры для Landscape вытекают из количества квадратов в каждой секции, количеста секций в каждом компоненте и количества компонентов, представленных в Landscape. Определив количество компонентов и, найдя решение для каждого из этих компонентов, вы можете подсчитать размеры Landscape.
Вот несколько примерных сценариев:
Пример 1
Если мы начинаем с компонента с одной единственной секцией, которая содержит 64×64 вершин, то размер такого компонента составляет 63×63 квадратов . Скажем у нас есть Landscape размером 10×10 этих компонентов, то есть у нас 630×630 квадратов в общем в нашем Landscape. Теперь, если мы хотим импортировать высоты для такого Landscape, то у нас появится поле высот размером 631×631 вершин, потому что вершин всегда на один ряд больше, чем квадратов. Так что 631×631 – это валидный размер Landscape.
Пример 2
Если у нас есть компонент, поделенный на 4 подсекции, каждая из которых собрана из 64×64 вершин, то это ведет к 63×63 квадратам на секцию, и 126×126 квадрат на компонент. Если у нас 32×32 этих компонентов, то мы получаем 126 * 32 = 4032 квадратов в общем в каждом направлении. Так что общий Landscape будет содержать 4033×4033 вершин.
Эти примеры фокусируются на квадратных ландшафтах. Но, как бы то ни было, Landscape не обязательно должен быть квадратным. Например, в первом примере 10×10 не обязательные размеры. Предлагая 63 квадрата на компонент, вы можете иметь любой Landscape из компонентов AxB с конечным размером в вершинах (A*63+1 , B*63+1).
Вопросы производительности
Выбор размера компонента, противопоставленный общему количеству компонентов – это компромисс производительности. Компоненты меньшего размера позволяют совершать более быстрый переход LOD, но меньший размер предполагают большее количество компонентов.
Каждый компонент нагружает центральный процессор и каждая секция посылает команду, так что попытайтесь минимизировать эту нагрузку и число команд. Для самых крупных ландшафтов рекомендуется использовать 1024 компонентов максимально.
Рекомендованные размеры ландшафтов
Чтоб облегчить дело, вот вам размеры, которые максимизируют область, но минимизируют количество компонентов Landscape.
Overall size (vertices) | Quads / section | Sections / component | Component size | Total Components |
---|---|---|---|---|
8129×8129 | 127 | 4 (2×2) | 254×254 | 1024 (32×32) |
4033×4033 | 63 | 4 (2×2) | 126×126 | 1024 (32×32) |
2017×2017 | 63 | 4 (2×2) | 126×126 | 256 (16×16) |
1009×1009 | 63 | 4 (2×2) | 126×126 | 64 (8×8) |
1009×1009 | 63 | 1 | 63×63 | 256 (16×16) |
505×505 | 63 | 4 (2×2) | 126×126 | 16 (4×4) |
505×505 | 63 | 1 | 63×63 | 64 (8×8) |
253×253 | 63 | 4 (2×2) | 126×126 | 4 (2×2) |
253×253 | 63 | 1 | 63×63 | 16 (4×4) |
127×127 | 63 | 4 (2×2) | 126×126 | 1 |
127×127 | 63 | 1 | 63×63 | 4 (2×2) |
Режим Layer Debug
Режим Layer Debug визуализирует влияние определенных уровней на Landscape в Viewport. Вы можете включить режим Layer Debug в меню View, который находится в Viewport, в Landscape Visualizers.
При включенном режиме Layer Debug кнопки-пульки, позволяют выбрать отдельные цветовые каналы, которые перечислены в списке целевого уровня.
Выбор уровня применит шейдер к Landscape, и он покажет область, которую покрывает канал выбранного целевого уровня.
Источник статьи: http://unrealed.ru/landscape/landscape-tehnicheskoe-rukovodstvo/