В Unreal Engine предусмотрены инструменты и функции для создания миров любого размера: от небольших замкнутых пространств до больших открытых миров. Функции разработки мира в движке отлично сочетаются с другими функциями Unreal Engine, такими как система освещения с динамическим глобальным освещением и тенями кинематографического качества, визуально плотная высококачественная геометрия с виртуализированной геометрией Nanite, физические взаимодействия с тканью и разрушением и проч.
Используя эти инструменты совместно, можно создавать как масштабные миры кинематографического качества, так и небольшие компактные пространства с любым количеством деталей.
Сравнение уровней Unreal и сцен Maya
Создание окружения в Unreal Engine начинается с уровня. Уровень сам по себе — это ресурс карты, который находится в «Каталоге ресурсов». Уровни — это контейнеры для всех элементов: источников света, статичных сеток, персонажей, визуальных эффектов, — или всего, что можно добавить из «Каталога ресурсов» или меню создания на главной панели инструментов.
Сцены Maya работают по-другому: они разработаны с учётом требований линейной композиции для съёмки, предварительной визуализации и статичных кадров. При работе с Unreal Engine вы по-прежнему создаёте сцены с использованием сеток и источников света, но делаете это в среде реального времени и учитываете при этом виды взаимодействия, игровую логику и производительность, даже если разрабатываете мир, применяя принципы линейного производственного процесса.
Ниже описаны некоторые сценарии использования Maya и Unreal Engine.
| Понятие | Использование в Maya | Использование в Unreal Engine |
|---|---|---|
Первичная роль | Создание ресурсов | Построение мира в реальном времени |
Единицы измерения и масштаб | Основано на управлении контентом, строгое масштабирование | Основано на управлении контентом, гибкое масштабирование |
Создание объектов | Моделирование полигонов | Система создания экземпляров акторов и построение сцен из модулей |
Сборка сцены | Статичные рабочие процессы не в реальном времени | Динамические рабочие процессы в реальном времени с использованием взаимодействия, логики и освещения |
Режимы редактора уровней
Вы можете выбирать разные режимы для Unreal Engine в редакторе уровней с помощью функции «Режимы» на главной панели инструментов. Каждый из этих режимов ориентирован на определённую область разработки, и некоторые из них имеют свои собственные инструменты рабочей среды редактора, которые заменяют те, что находятся на главной панели инструментов.
Вы можете изменить режим, используемый в редакторе уровней, в выпадающем списке режимов на главной панели инструментов.
Ниже приведены некоторые из режимов, которые больше всего пригодятся для создания и редактирования контента на уровнях.
| Режим «Окно просмотра» | Описание |
|---|---|
Режим выбора | Это режим редактора по умолчанию. Используйте этот режим для размещения и редактирования объектов на уровне. Подробнее об использовании этого режима см. в разделе Selection Mode (Режим выбора). |
Ландшафт | Этот режим включает в себя набор инструментов для управления, формирования и окрашивания рельефа ландшафта. Вы можете создать рельеф с нуля или импортировать карты неровностей, чтобы создать базовый ландшафт, с которого начнёте свою работу. Этот режим также включает в себя инструмент создания сплайна для размещения дорог или повторяющихся объектов на пути. Подробнее об использовании этого режима см. в разделе Landscape Outdoor Terrain (Ландшафты и внешние рельефы). |
Растительность | Этот режим включает в себя набор инструментов для окрашивания или стирания наборов статичных сеток на различных типах геометрии на уровне на основе фильтров. Каждый тип окрашиваемой сетки включает в себя настройки, которые определяют способ ее окрашивания на уровне. Сюда входят настройки выравнивания окрашивания по поверхности окрашиваемой сетки, его плотность, параметры рандомизации и проч. В этом режиме вы можете окрашивать траву, деревья, кусты и камни. Подробнее об использовании этого режима см. в разделе Foliage Mode (Режим растительности). |
Покраска сеток | Используйте этот режим, чтобы применить цвет и текстуру к сеткам непосредственно в окне просмотра уровня с помощью инструментов окрашивания. Режим покраски сеток включает в себя несколько вариантов окрашивания сеток, например применения цвета к вершинам сетки или прямое окрашивание текстуры сетки. Подробнее об использовании этого режима см. в разделе Mesh Paint Mode (Режим покраски сеток). |
Моделирование | Это комплекс инструментов и функций моделирования, куда входят удобные для художника средства для создания и редактирования трёхмерной геометрии. Подробнее об использовании этого режима см. в разделе Modeling Mode (Режим моделирования). |
Размещение объектов в мире
В Unreal Engine предусмотрено несколько способов размещения объектов в мире.
В таблице ниже описан каждый из них.
| Опция | Представление в редакторе | Описание |
|---|---|---|
Каталог ресурсов | Это главная область Unreal Editor для создания, импорта, организации, просмотра и управления контентом в проекте. Большинство ресурсов здесь можно разместить прямо на уровнях или применить к ресурсам, которые уже находятся на уровне. Подробнее см. в разделе Content Browser (Каталог ресурсов). | |
Меню создания панели инструментов | Это меню содержит список распространённых типов акторов, последние использованные ресурсы и типы акторов, а также быстрые ссылки на контент, который можно добавить на уровень. Типы акторов в этом меню — это особые акторы уровня, которые не представлены в качестве ресурсов в «Каталоге ресурсов»: источники света, области и элементы окружения, такие как облака. Вы можете использовать это меню, чтобы перетаскивать и размещать акторы на уровне. Подробнее см. в разделе Unreal Editor Interface (Интерфейс Unreal Editor). | |
Панель расстановки акторов | Это закрепляемая панель с распространёнными типами акторов, которые можно перетаскивать на уровень. Её функциональность аналогична меню создания панели инструментов. Подробнее см. в разделе Placing Actors (Расстановка акторов). |
Разработка окружения с учётом модульности и масштаба
Что касается создания мира в реальном времени, то необходимо учитывать влияние рабочих процессов на производительность. Это касается как работы в редакторе над созданием игрового процесса в реальном времени, так и использования линейных рабочих процессов создания контента. Ключевым моментом является управление отрисовкой контента на уровне. Окно просмотра движка предназначено для работы в реальном времени, а это значит, что рабочий процесс будет выполняться по принципу «что видишь, то и получишь».
Это может повлиять на работу в 3D-приложениях, потому следует обдумать, как упорядочить и разделить контент для модульных рабочих процессов. Unreal Engine отрисовывает только то, что отображается на экране в текущий момент времени. Благодаря этому редактор удобно использовать для разделения контента на воспроизводимые экземпляры. Большие и непрерывные видимые сетки загружаются в память целиком и остаются в ней, даже если на экране отображается только часть сетки. Из-за этого требуется увеличить команды отрисовки для сетки и материалов в каждом кадре. Когда объекты создаются модульным способом в виде отдельных частей, которые можно объединить в большее целое, объекты, которые не видны на экране, не отрисовываются, т. е. не занимают память и не требуют команда отрисовки.
Модульная разработка лучше всего подходит для любого повторяющегося контента, используемого на уровне, например для поверхностей стен, полов и потолков, для объектов окружения и строительных элементов, например статуй, дверей, перил, мебели, а также для множества других объектов. Для улучшения каждого из них можно использовать материалы — за счёт изменения параметров рабочего процесса создания экземпляров материалов.
При модульном создании контента подумайте о следующем.
| Область модульной разработки | Рекомендации |
|---|---|
Единицы измерения и масштаб решётки |
|
Привязка и размещение опорных точек |
|
Замощение текстуры и UV-развёртки |
|
Материалы |
|
Модульная разработка в примерах проектов Epic Games
Во всех примерах проектов, представленных Epic Games, используется модульная разработка, причём в некоторых из этих проектов она специфическая, а в других используются более общие подходы. Изучите любой из этих проектов, чтобы понять, как можно использовать модульную разработку в собственных проектах.
Вот несколько достойных отправных точек для модульной разработки конструкций и создания экземпляров материалов, которые позволяют разнообразить текстуры:
Есть много других примеров, которые вы можете изучить самостоятельно в магазине Fab, созданном Epic Games, с бесплатными ресурсами, доступными для загрузки.
Если вам нужно что-то, что можно сразу использовать в проекте, не загружая отдельный пример проекта, добавьте пакет Starter Content (Базовый набор), который доступен в движке. Этот пакет включает в себя набор простых материалов, объектов окружения и архитектурных стен разного размера.
Как добавить Starter Content (Базовый набор) в проект?
Перейдите в «Каталог ресурсов» и нажмите на кнопку Добавить.
Выберите в меню параметр Добавить функцию или набор контента.
Нажмите на вкладку Контент.
Нажмите Добавить в проект.
Теперь в «Каталоге ресурсов» должна появиться новая папка Starter Content (Базовый набор). Можете изучить её содержимое. Если вы хотите узнать, как создаются модульные стены и пол, загляните в папку Architecture (Архитектура).