Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Основные термины, управление проектами, интерфейс редактора, работа со сценой, настройки проекта и другое.
Если вы планируете переходить с иностранного софта на отечественный и ищете полноценный аналог Unreal Engine 4, то одним из вариантов может стать продукция нашей компании, полностью готовая к импортозамещению. UNIGINE использует общепринятые интерфейсы и рабочие процессы, которые могут быть вам знакомы по работе с другими 3D-инструментами. По опыту наших клиентов, для перехода на UNIGINE с других платформ уходит не более 1–2 недель.
Далее в статье рассмотрим базовую информацию по переходу на UNIGINE с Unreal Engine 4.
Основные термины
Сначала разберемся с названиями различных сущностей и другими терминами. В таблице ниже приведены термины Unreal Engine 4 и их точные или приблизительные эквиваленты в UNIGINE.
Категория | UE4 | UNIGINE |
Управление проектами и SDK | Epic Games Launcher | SDK Browser |
Интерфейс редактора | World Outliner | Окно World Nodes |
Details Panel | Окно Parameters | |
Content Browser | Окно Asset Browser | |
Viewport | Editor Viewport | |
Сцена | Level | World |
Компоненты геймплея | Actor, Pawn | Node |
Blueprint Class | NodeReference + Component System | |
Меши | Static Mesh | Static Mesh, Dynamic Mesh |
Skeletal Mesh | Skinned Mesh | |
Эффекты | Effect, Particle, Cascade | Particle System |
Post Process Materials | Скриптовые материалы | |
Auto Exposure, Bloom, Depth of Field, Lens Flare | Camera Effects | |
Anti-Aliasing | Anti-Aliasing (TAA, FXAA, SRAA, Supersampling) | |
Color Grading, Tone Mapping | Цветокоррекция | |
Экстерьеры | Terrain | Landscape Terrain / Global Terrain |
Foliage | Mesh Clutter Grass | |
Volumetric Clouds | Volumetric Clouds | |
Water Meshing System | Система симуляции воды | |
Освещение | Lights | Источники света |
Lightmass | Lightmaps | |
Light Propagation Volumes | GI на основе вокселей | |
Sphere Reflection Capture | Environment Probe | |
Screen Space Global Illumination | Screen-Space Ray-Traced Global Illumination | |
Графический интерфейс | UMG (Unreal Motion Graphics) | GUI |
Материалы | Material Editor | Редактор материалов |
Material | Базовый материал | |
Material Instance | Пользовательский материал | |
Программирование | C++ | C++ / C# |
Blueprint | UnigineScript | |
Физика | Line Trace | getIntersection |
Primitive Component | Rigid Body | |
Collision | Shape | |
Physics Constraint | Joint | |
Анимация | Sequencer | Tracker |
Управление проектами
Пользователи Unreal Engine 4 используют Epic Games Launcher — приложение, которое упрощает поиск, загрузку и управление вашими проектами и установками. Кроме того, можно управлять своими проектами напрямую через Unreal Editor: создавать новый проект и переключаться между существующими.
В UNIGINE для этих целей служит UNIGINE SDK Browser. Помимо управления проектами и установленными SDK, браузер SDK предоставляет доступ к примерам (Samples), базе знаний (Knowledge) и дополнениям (Add-Ons). В последнюю категорию входят различные 3D-модели и материалы, в том числе растительность, спецэффекты, погодные эффекты и другое.
Также заметным отличием UNIGINE является возможность создания нового (или редактирование старого) проекта с поддержкой одного из нескольких языков программирования: C++, C# и UnigineScript. Для пользователей Unreal Engine 4 рекомендуется использовать C++. Также возможно использование нескольких языков программирования в одном проекте.
Как создать новый проект на C++ в SDK Browser
Нажмите Create New в разделе My Projects.
Выберите тип проекта C++ (Visual Studio 2015+) в поле API + IDE.
Если требуется поддержка VR-гарнитур, выберите шаблон проекта VR (поле Template). Это активирует необходимые плагины и добавит нужный контент (больше о поддержке VR-устройств здесь).
Нажмите Create New Project.
После завершения загрузки нажмите Open Editor, чтобы запустить UNIGINE Editor; нажмите Open Code IDE, чтобы открыть исходный код проекта через IDE по умолчанию.
Интерфейс редактора
Элементы интерфейсов Unreal Editor и UNIGINE Editor близки по функционалу: на схеме ниже они окрашены в похожие цвета. Расположение элементов UNIGINE Editor можно настраивать, перетаскивая и изменяя их размер. В UNIGINE по умолчанию используется темная тема.
Toolbar. Панель инструментов, которая обеспечивает доступ к инструментам позиционирования, а также элементам управления логикой приложения, воспроизведением звука, симуляцией физики, компиляцией шейдеров и запеканием света.
World Hierarchy Window. Инструмент для работы с иерархией нод. Позволяет организовывать ноды в иерархию, а также добавлять, удалять, клонировать и переименовывать их.
Editor Viewport. Просмотр трехмерной сцены. Позволяет визуально перемещаться и редактировать виртуальный мир.
Parameters Window. Окно параметров выбранного элемента виртуального мира. Позволяет просматривать и изменять параметры нод, материалов, свойств и ассетов.
Asset Browser Window. Инструмент для организации контента в проекте: создания, импорта, просмотра, переименования ассетов, а также перемещения и управления их иерархией.
Просмотр сцены
Окна просмотра виртуальной сцены (вьюпорты) в Unreal Editor и UnigineEditor также очень похожи — это непосредственно само окно просмотра и панель инструментов. Можно использовать несколько вьюпортов.
По умолчанию у каждого Editor Viewport есть собственная камера, и вы можете переключаться между камерами в сцене и управлять выбранной аналогично управлению CameraActor в UE (Pilot Actor).
Интерфейс Editor Viewport
В видео есть русские субтитры
Camera Panel служит для переключения между камерами и настройки текущей камеры.
Rendering Debug Panel требуется для отображения содержимого буферов рендеринга так же, как при использовании Buffer Visualization Mode в редакторе Unreal Engine 4.
Navigation Panel используется для быстрой настройки и переключения между пресетами скорости камеры (клавиши 1, 2 и 3), а также для изменения положения камеры.
Панель Helpers обеспечивает быстрый доступ к вспомогательным визуализаторам, таким как иконки, каркасы и элементы контроля.
Навигация внутри Editor Viewport почти такая же, как и во вьюпорте Unreal Engine 4. Подробнее ознакомиться с навигацией по сцене можно, просмотрев видео ниже (либо прочитав соответствующий раздел в документации):
В видео есть русские субтитры
Режимы воспроизведения
В Unreal Editor есть режимы Play In Editor (PIE), запускающий игру в текущем окне Viewport, и Simulate In Editor (SIE) для предварительного просмотра Blueprint логики, анимации и физических симуляций.
В UNIGINE вы можете включить анимацию и симуляцию физики с помощью переключателей на верхней панели инструментов, аналогично режиму SIE в UE.
В C++ проектах доступен еще один тип вьюпорта в UNIGINE — Engine Viewport — дает предварительный просмотр сцены с возможностью управлять текущей камерой, если она установлена.
Для проверки логики приложения потребуется запустить текущий скомпилированный бинарный файл приложения одним из следующих способов:
Через SDK Browser, нажав Run (или кнопку с троеточием для запуска с другими аргументами):
С помощью файлов запуска в папке проекта:
launch_debug — лаунчер отладочной версии проекта.
launch_release — лаунчер релизной версии проекта.
Запустив проект непосредственно из используемой IDE.
По умолчанию курсор мыши захватывается при щелчке во время выполнения, обеспечивая управление движением камеры, и освобождается нажатием Esc. Есть два способа настроить привязки ввода по умолчанию (состояния клавиш и поведение мыши):
В настройках управления.
Через код.
Консоль
Как в Unreal Engine 4, так и в UNIGINE есть окно консоли для стандартного ввода, вывода и регистрации ошибок. Также существует набор консольных команд, позволяющих совершать определенные операции.
Консоль доступна как в UNIGINE Editor, так и в работающем приложении. Чтобы открыть окно консоли в редакторе, перейдите в меню Windows -> Console:
Во время работы приложения встроенная консоль запускается нажатием кнопки «Тильда» (~).
В консоль можно выводить сообщения из кода.
Подготовка финального билда
Так же как и Unreal Engine 4 Editor, UNIGINE Editor позволяет выполнить подготовку финальной сборки проекта.
Проекты и файлы
Папки и файлы
Проект в UNIGINE, как и проект на Unreal Engine 4, хранится в отдельной папке, настройки проекта хранятся в файле с расширением *.project. В папке проекта есть различные подпапки с контентом и исходным кодом приложения. Также тут хранятся папки с файлами конфигурации и исполняемыми файлами. Основные папки для работы: data (контент) и source (исходный код).
Как и папка Content проекта на Unreal Engine 4, папка data хранит ресурсы вашего проекта. Для импорта ассетов достаточно поместить в нее нужные файлы — они автоматически импортируются и станут доступны в Asset Browser, также можно импортировать файлы перетаскиванием прямо в окно Asset Browser. Ассеты в UNIGINE Editor будут автоматически обновляться при внесении изменений в соответствующие файлы.
Соответствие содержимого папки data в корневой директории проекта и в Asset Browser
Папка core содержит стандартные встроенные ресурсы. Эти ассеты доступны только для чтения и доступны для каждого проекта по умолчанию.
Поддержка типов файлов
UNIGINE, как и UE, поддерживает наиболее часто используемые типы файлов и некоторые специфические:
Типы ассетов | Поддерживаемые форматы |
Геометрия | .fbx, .obj, .3ds, .dae, .glb/.gltf, .stp/.step, .igs/.iges, .brep, .stl |
Текстуры | .png, .jpeg, .tif, .tga, .rgba, .psd, .hdr, .dds, and more |
Звук и видео | .wav, .mp3, .oga/.ogg, .ogv |
Шрифты | .ttf |
Перенос ассетов из Unreal Engine 4
Меши. Модели в формате FBX, использованные в UE, можно легко импортировать в UNIGINE, отметив необходимые параметры импорта. Важно иметь в виду, что основной единицей измерения в UNIGINE является 1 метр, а в Unreal Engine 4 используются сантиметры. Рекомендуется уменьшить масштаб геометрии в 100 раз, установив множитель геометрии Scale в значение 0,01 при импорте. Подробнее про импорт FBX-моделей читайте здесь.
Материалы. Подобно другим движкам, UNIGINE работает с PBR-материалами (Physically Based Materials) и поддерживает Metalness и Specular workflow. Материалы, созданные для моделей в UE, могут быть воссозданы в UNIGINE с использованием базового PBR-материала mesh_base или пользовательского материала, собранного в визуальном редакторе материалов.
Текстуры. Текстуры можно импортировать как прямо из FBX, так и отдельно. Но иногда может потребоваться предварительная подготовка. Например, текстура Shading для материала mesh_base должна хранить карты Metalness, Roughness, Specular и Microfiber в соответствующих каналах (RGBA). Поэтому сначала может понадобиться назначить карты в каналы в редакторе изображений, а затем импортировать ее в UNIGINE. Карты нормалей в UE и UNIGINE совместимы (DirectX-style), поэтому такие текстуры можно использовать без изменений.
Анимации. Если FBX содержит скелетную анимацию, ее также можно импортировать в UNIGINE. При импорте такой модели, включите опцию Import Animations (импорт анимаций) и настройте дополнительные параметры.
Подробнее про импорт разных ассетов читайте здесь.
Работа с уровнями (3D-сценами)
Концепция сцены в обоих движках одинакова. Однако Unreal Engine 4 и UNIGINE используют разные системы координат.
В Unreal Engine 4 начальный уровень проекта задается в настройках проекта (Project Settings -> Maps & Modes) для приложения и для редактора.
В UNIGINE стартовый мир для приложения можно указать несколькими способами:
в конфигурационном файле configs/default.boot, параметр starting_world;
в параметрах командной строки при запуске:
-console_command "world_load my_world"
при создании сборки проекта (File -> Create Build);
в исходном коде при помощи API класса World.
UnigineEditor также можно запустить с аргументами запуска, хотя зачастую достаточно просто включить Auto Open Last World в настройках редактора, благодаря чему редактор будет запускать последний использованный мир.
Объекты сцены
В этом разделе дается краткое описание основных объектов сцены в обоих движках, а также их основные сходства и различия.
UE4 | UNIGINE |
World Outliner | Окно World Nodes |
Базовый объект сцены — Actor. Это базовый объект, который может быть помещен в мир или создан в нем. | Базовый тип, от которого наследуются все типы объектов сцены — Node. Некоторые имеют визуальное представление: Objects, Decals и Effects. У каждого из них есть поверхности для представления своей геометрии (меши). Остальные — Light Sources, Players и др. — невидимы. Важно. Все объекты, добавляемые в сцену, независимо от их типа, называются нодами. |
Actors могут быть организованы в иерархию. | Ноды могут быть организованы в иерархию. |
Actor — это контейнер для компонентов, определяющих его функциональность. | Базовая функциональность ноды определяется ее типом. Дополнительные функции можно добавлять с помощью свойств и компонентной системы. |
Положение Actor, вращение и масштаб хранятся в компоненте Scene Component. Обычно Actors имеют корневой компонент-подкласс Scene Component. Программисты могут наследовать UActorComponent по умолчанию, чтобы создавать собственные компоненты с помощью C++ или Blueprint Script. | У каждой ноды есть матрица преобразования, которая задает ее положение, поворот и масштаб в пространстве. Программисты могут наследовать классы от ComponentBase, создавать собственные компоненты при помощи C++ и назначать компоненты на ноды. |
Blueprint-классы
Рабочий процесс в UE основан на Blueprint-классах, представляющих собой сложносоставные акторы (или объекты другого типа) из нескольких компонентов, связанных скриптовой логикой.
В UNIGINE вы можете собрать иерархию из нод разного типа с нужными материалами и компонентами логики. Вы можете использовать ноды Dummy для группировки нескольких нод.
Чтобы создать несколько экземпляров составного объекта в вашем мире, сохраните иерархию как Node Reference, которую можно создавать, копировать и редактировать в UNIGINE Editor или во время выполнения столько раз, сколько необходимо.
Чтобы узнать больше о создании Node References и управлении ими, перейдите по ссылке ниже:
Создание экземпляров нод
Видеоруководство: создание экземпляров нод
Совместная работа над проектом
Unreal Editor предоставляет функцию Source Control из коробки. Кроме того, его рабочий процесс многопользовательского редактирования построен на модели сервер-клиент, поддерживая несколько сеансов в общей среде для совместной работы.
В UNIGINE все исходные форматы файлов по умолчанию являются текстовыми, поэтому вы можете использовать любую привычную систему контроля версий и объединять миры, ноды и другие ассеты. Файловую систему можно расширять с помощью Mount Points, которые позволяют добавлять в проект любые внешние ресурсы, находящиеся в совместном доступе. Кроме того, стандартный подход к работе над проектом заключается в разделении работы разных членов команды с помощью отдельных Node Layers. Это позволяет избежать необходимости разрешения конфликтов при слиянии изменений.
Подробнее про совместную работу над проектом читайте здесь.
Камеры
Камеры, основные средства рендеринга 3D сцены устроены немного по-разному в UE и UNIGINE.
В Unreal Engine 4 CameraComponent отвечает за захват вида и отправку его на рендеринг. Обычно вы устанавливаете актера Pawn с прикрепленным CameraComponent в качестве персонажа по умолчанию, указав его в настройках GameMode.
В UNIGINE камеры представлены в мире нодами типа Player . Для упрощения создания наиболее часто используемых камер, управляемых с помощью устройств ввода (клавиатура, мышь, джойстик), предусмотрено несколько типов Player с различным поведением:
Dummy — простая статическая камера, которую можно улучшить с помощью пользовательских доработок.
Spectator — камера свободного перемещения.
Persecutor — камера, которая следует за целевым объектом и может свободно вращаться вокруг него на заданном расстоянии. Это готовое решение для симуляции вида от третьего лица.
Actor — камера с твердым физическим телом капсульной формы, которая может взаимодействовать с окружением. Это готовое решение для симуляции вида от первого лица.
Одновременно Editor Viewport показывает вид только с одной камеры. Переключаться между камерами можно с помощью панели в углу вьюпорта:
Чтобы выбрать определенного плейера камерой по умолчанию, нужно включить опцию Main Player в его настройках. В запущенном приложении мир будет виден, только если в мире есть плейер с этим включенным флагом.
Настройки проекта
Настройка общих параметров проекта в Unreal Editor обычно выполняется через окно Project Settings. Аудио, рендеринг, физика, управление и другие настройки общие для всего проекта. Кроме того, панель World Settings содержит настройки для текущего уровня.
В UNIGINE общие настройки доступны в меню Windows -> Settings в разделе Runtime. Настройки World задаются для каждого мира отдельно.
Сохраненные конфигурации
Вы используете кнопки Export и Import в настройках проекта в Unreal Editor, чтобы сохранить значения настроек во внешний файл конфигурации (.ini) и загрузить их при необходимости.
UNIGINE позволяет сохранять пресеты настроек физики, звука и рендеринга в виде ассетов с расширениями *.physics, *.sound и *.render соответственно. Быстрое переключение между пресетами возможно в окне Settings.
По умолчанию в проекте доступны стандартные пресеты для нескольких уровней качества в папке data/template_render_settings.
В UNIGINE пресеты доступны не только в редакторе. При помощи классов Physics, Sound и Render можно переключиться между пресетами, например, для смены уровней качества визуализации в приложении.
Графика
В Unreal Engine 4 настройки качества графики в основном собраны в разделе Engine -> Rendering.
В UNIGINE настройки рендеринга мира можно найти в разделе Rendering окна Settings. Также есть возможность включать и выключать самые распространенные функции рендеринга с помощью соответствующего меню:
В UNIGINE нет платформо-зависимых настроек качества, поэтому для управления уровнями качества понадобится собственная логика. Для этой цели можно использовать пресеты рендеринга.
Отложенное и прямое затенение
По умолчанию Unreal Engine 4 использует Deferred Renderer. В некоторых случаях Forward Shading Renderer обеспечивает лучшую производительность.
UNIGINE имеет фиксированную последовательность рендеринга, представленную комбинацией отложенного рендеринга с методами прямого рендеринга:
Вся непрозрачная геометрия отрисовывается в отложенном проходе (Deferred).
Прозрачная геометрия отрисовывается во время прямого прохода (Forward).
Вы можете уменьшить вычислительную нагрузку, пропустив определенные этапы рендеринга. Посмотрите специальный видеоурок по использованию инструмента Microprofile для оптимизации рендеринга:
Постобработка
Unreal Engine 4 использует PostProcessVolume для определения объемов, в которых параметры и эффекты постобработки локально (или глобально) переопределяются, параметры смешиваются с использованием линейной интерполяции. В UNIGINE понадобится собственная логика, если нужно плавно смешивать настройки в разных объемах.
В этом разделе перечислены все распространенные методы постобработки Unreal Engine 4, которые также могут быть реализованы в UNIGINE.
UE4 | UNIGINE |
Методы сглаживания: FXAA MSAA TAA | Методы сглаживания: Fast approximate anti-aliasing (FXAA) Temporal anti-aliasing (TAA). Subpixel Reconstruction Anti-Aliasing (SRAA). Supersampling. |
Eye Adaptation (Auto-Exposure) | Эффекты камеры: Adaptive Exposure Bloom Tone mapping White Balance Lens Dirt Lens Flares |
Bloom | |
Filmic Tonemapper | |
White Balance | |
Dirt Mask | |
Lens Flare | |
Color Grading LUT (Lookup Texture) | Color Correction Color Correction LUT |
Depth of Field | Depth of Field |
Post Process Materials | Postprocess Materials |
Chromatic Aberration | Материал постобработки post_color_correction |
Film Grain | |
Screen Space Reflections | SSR |
Screen-Space Ambient Occlusion | Screen-Space Ambient Occlusion |
Screen Space Global Illumination | SSRTGI |
Contact Shadows | Screen Space Shadows |
Motion Blur | Motion Blur |
Screen Percentage | Supersampling |
* * *
На этом пока все. Напоминаем, что это — лишь первый, обобщенный выпуск из запланированных трех по миграции с Unreal Engine 4. Следующий выпуск будет более специализированным и расскажет про миграцию на UNIGINE с точки зрения 3D-художника. А в последнем разберем все важные моменты по этому вопросу для программистов.
Чтобы получить доступ к бесплатной версии UNIGINE 2 Community заполните форму на нашем сайте.
Все комплектации UNIGINE:
Community — базовая версия для любителей и независимых разработчиков. Достаточна для разработки видеоигр большинства популярных жанров (включая VR).
Engineering — расширенная, специализированная версия. Включает множество заготовок для инженерных задач.
Sim — максимальная версия платформы под масштабные проекты (размеров планеты и даже больше) с готовыми механизмами симуляции.
Подробнее о комплектациях и ценах