Переход на UNIGINE с Unreal Engine
Этот раздел дает краткий обзор UNIGINE с точки зрения пользователя Unreal Engine и предоставляет основную информацию, которая поможет вам перенести ваш опыт работы с Unreal Engine на UNIGINE.
Быстрый глоссарий#
В этой главе сопоставляются общие термины Unreal Engine слева и их эквиваленты в UNIGINE (или приблизительный эквивалент) справа. Ключевые слова UNIGINE напрямую связаны со связанными статьями, чтобы предоставить вам более подробную информацию.
Category | Unreal Engine | UNIGINE |
---|---|---|
Editor UI | World Outliner | World Nodes Hierarchy window |
Details Panel | Parameters window | |
Content Browser | Asset Browser window | |
Viewport | Editor Viewport | |
Scene | Level | World |
Gameplay Types | Actor, Pawn | Node |
Blueprint Class | NodeReference + Component System | |
Meshes | Static Mesh | Static Mesh, Dynamic Mesh |
Skeletal Mesh | Skinned Mesh | |
Effects | Effect, Particle, Cascade | Particle System |
Game UI | UMG (Unreal Motion Graphics) | GUI |
Materials | Material, Material Editor | Base Material |
Material Instance | User Material | |
Programming | C++ | C++ / C# |
Blueprint | UnigineScript | |
Physics | Line Trace | getIntersection |
Primitive Component | Rigid Body | |
Collision | Shape | |
Physics Constraint | Joint | |
Animation | Sequencer | Tracker |
Управление проектами и SDK#
Как пользователь Unreal Engine вы привыкли использовать Epic Games Launcher - приложение, которое упрощает поиск, загрузку и управление вашими проектами и установками. В дополнение к этому вы можете управлять своими проектами напрямую через Unreal Editor: создавать новый проект и переключаться между существующими.
UNIGINE SDK Browser - это первый шаг к началу работы с UNIGINE Engine. Это приложение включает в себя все задачи, связанные с проектом, и позволяет вам управлять своими проектами и установленными SDK, а также предоставляет вам доступ к примерам и базе знаний.
UNIGINE предоставляет несколько рабочих процессов программирования , чтобы легко адаптировать ваш опыт программирования в Unreal Engine, вам рекомендуется использовать C ++ Component System . Создание проекта с использованием этого рабочего процесса в SDK Browser выполняется следующим образом:
- Нажмите Create New в разделе My Projects;
- Среди других опций выберите тип проекта C++ (Visual Studio 2022) в поле API + IDE;
- Если вы хотите сделать проект совместимым с поддерживаемыми гарнитурами VR, выберите опцию VR в поле Template. Это позволит включить необходимые плагины и добавить ассеты шаблона (подробнее о VR-совместимости );
- Отметьте функцию Component System, если она еще не включена.
- Щелкните Create New Project.
- По завершении щелкните Open Editor, чтобы запустить UnigineEditor; щелкните Open Code IDE, чтобы открыть исходный код проекта через IDE по умолчанию.
Интерфейс редактора#
Ниже вы можете увидеть интерфейсы файлов Unreal Editor и UnigineEditor. Элементы интерфейса на изображениях имеют цветовую кодировку для обозначения общих функций. Каждый элемент имеет метку для отображения эквивалента UNIGINE. Макет UnigineEditor полностью настраиваемый путем изменения размера, перетаскивания окон с вкладками.
Чтобы узнать больше об интерфейсе UnigineEditor, прочтите эту статью .
Окна просмотра (Viewports)#
Unreal Editor Viewports и Editor Viewports в UnigineEditor очень похожи. Вы можете использовать столько окон просмотра Editor , сколько вам нужно.
По умолчанию Viewport Editor отображает собственное представление Editor Camera, и вы можете переключиться на другую камеру , присутствующую в сцене, и управлять ею так же, как вы пилотируете CameraActor в UE.
Навигация внутри видовых экранов редактора почти такая же, как и в видовых экранах UE. Однако ознакомьтесь с навигацией по сценам , чтобы не упустить детали.
Unreal Editor Viewport
|
UNIGINE Editor Viewport
|
Вы можете использовать:
- Camera panel для переключения между камерами и настройки текущей.
- Rendering Debug для отображения содержимого буферов рендеринга так же, как при использовании Buffer Visualization Mode в UE4.
- Navigation panel для быстрой настройки и переключения между предустановками скорости камеры и изменения положения камеры.
- ViewCube для переключения между перспективной / ортогональной проекцией и управлением ориентацией камеры.
Также, набор переключателей доступен глобально на верхней панели инструментов:
- Панель Helpers обеспечивает быстрый доступ к вспомогательным визуализаторам, таким как значки, штуковины и каркасы.
- Переключатель Precompile All Shaders используется для принудительной компиляции шейдеров
- Animation toggle
- Physics toggle
- Audio переключить
Игра и моделирование#
Вы привыкли, что Unreal Editor имеет режим Play In Editor (PIE), запускающий игру в текущем окне просмотра и представляющий вашу окончательную сборку. Вы также можете играть в других режимах и использовать режим Simulate In Editor (SIE) для предварительного просмотра логики чертежей, анимации и моделирования физики.
В UNIGINE вы можете включить анимацию и моделирование физики , используя переключатели на верхней панели инструментов. Вы можете открыть окно просмотра Engine (меню: Windows -> Engine Viewport), где вы можете управлять текущим Main Player.
Чтобы проверить логику приложения, вам нужно будет запустить экземпляр текущего скомпилированного двоичного файла приложения любым из следующих способов:
-
Через браузер SDK , нажав Run:
Вы также можете запустить приложение с пользовательскими настройками , щелкнув многоточие под кнопкой Run (например, выберите двоичные файлы отладки).
-
Используя соответствующий launcher, созданный по умолчанию в папке проекта:
- launch_debug - лаунчер отладочной версии проекта.
- launch_release - лаунчер релизной версии проекта.
- Запуская проект прямо из используемой IDE.
По умолчанию курсор мыши захватывается при нажатии во время выполнения, обеспечивая управление движением камеры, нажмите Esc, чтобы освободить курсор. Есть два способа установить привязки ввода по умолчанию (состояния клавиш и поведение мыши):
Консоль#
Как и UE4, UNIGINE имеет Console , используемую для стандартного ввода, вывода и регистрации ошибок. Предоставляется набор консольных команд .
Он доступен как в UnigineEditor, так и в работающем приложении. Чтобы открыть окно консоли в редакторе, перейдите в меню Windows -> Console:
Встроенная консоль вызывается нажатием клавиши grave accent (`):
Вы можете использовать его для печати пользовательских сообщений из кода .
Финальная сборка проекта для публикации#
В Unreal Engine вы привыкли создавать свои проекты через редактор. В UNIGINE финальная сборка проекта также выполняется через UnigineEditor.
Проекты и файлы#
Каталоги и файлы#
Проект в UNIGINE, как и проект UE, хранится в собственной папке, настройки проекта хранятся в файле *.project. Внутри папки проекта есть различные подпапки, в которых хранятся ваш контент и исходные файлы, а также различные файлы конфигурации и двоичные файлы. Наиболее важными являются подпапки data и source.
В UNIGINE у каждого проекта есть папка data. Подобно папке Content проекта UE, здесь хранятся ассеты вашего проекта. Чтобы импортировать ассеты в проект, просто перетащите файлы в каталог проекта 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#
Ассеты Unreal Engine (.uasset) не поддерживаются для импорта UNIGINE. Используйте исходные файлы содержимого, которые вы использовали в своих проектах UE, или экспортируйте ассеты в один из форматов, поддерживаемых UNIGINE.
Меши
Вы можете импортировать ассеты, которые вы использовали в UE, в UNIGINE: экспортировать ваш меш как модель FBX и импортировать в UNIGINE, проверяя необходимые параметры импорта в зависимости от модели.
Материалы
Подобно другим движкам, UNIGINE работает с материалами PBR . Более того, UNIGINE поддерживает рабочие процессы Metalness и Specular и имеет богатую готовую библиотеку материалов, которую можно использовать для создания практически любого материала. Следовательно, материалы, созданные для модели в UE, могут быть воссозданы в UNIGINE с использованием материала mesh_base , базового материала в UNIGINE, используемого для физически обоснованных материалов.
Текстуры
Текстуры можно импортировать как часть модели или отдельно, а затем применять к мешу. Чтобы импортировать текстуры , вам, возможно, придется заранее внести некоторые изменения. Например, текстура Shading в UNIGINE хранит карты металличности, шероховатости, отражения и микрофибры в своих соответствующих каналах (RGBA), поэтому вам необходимо изменить текстуру с помощью стороннего программного обеспечения, такого как GIMP или Photoshop, а затем импортировать ее. в UNIGINE.
Текстура Normal, используемая в UE, совместима с UNIGINE, поэтому вы можете импортировать свои обычные текстуры в UNIGINE без каких-либо изменений.
Анимация
Если вы хотите импортировать модель с анимацией костей, экспортируйте ее из UE в виде файла FBX и включите параметр Import Animations во время импорта в UNIGINE. У вас также будут дополнительные параметры для точной настройки импорта.
Для получения дополнительных сведений см. рекомендации по импорту .
Levels#
Концепция 3D сцены в обоих движках одинакова. Однако Unreal Engine и UNIGINE используют разные системы координат.
Unreal Engine | UNIGINE |
---|---|
Отдельные 3D-сцены называются Levels (также называются Maps). UE использует левостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Z. Оси и направления:
Положительный угол поворота устанавливает вращение по часовой стрелке. Формат файла: *.umap |
Отдельные 3D-сцены называются Worlds. UNIGINE использует правостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Z. Оси и направления:
Положительный угол поворота устанавливает вращение против часовой стрелки. Формат файла: *.world |
Чтобы изменить начальную карту вашего проекта в UE4, вы открываете Project Settings -> Maps & Modes и указываете карту по умолчанию для игры и редактора. В UNIGINE вы указываете Default World проекта при создании сборки (File -> Create Build). Что касается UnigineEditor и сборок для разработки, вы можете явно переопределить мир по умолчанию, запустив проект или редактор с пользовательскими настройками :
- В браузере SDK щелкните многоточие под кнопкой Run или Open Editor;
-
В открывшейся форме Customize Run Options укажите следующий параметр командной строки запуска в поле Arguments:
-console_command "world_load your_world_name"
Объекты сцены#
В этом разделе дается краткое описание основных объектов сцены в обоих движках, а также их основные сходства и различия.
Unreal Engine | UNIGINE |
---|---|
Мировой Outliner
Базовый объект сцены - Actor. Это базовый объект, который можно разместить или создать в мире. Акторы могут быть организованы в иерархию (отношения родитель-потомок). Actor - это контейнер для Components, определяющий его функциональность. Положение, поворот и масштаб Актера хранятся в Scene Component. Обычно Actors имеет корневой компонент, который по умолчанию может быть любым подклассом Scene Component. Программисты могут наследовать от UActorComponent по умолчанию, чтобы создать собственный компонент с использованием C ++ или Blueprint Script. |
Окно иерархии мира
Node - это базовый тип, от которого наследуются все типы объектов сцены. Некоторые из них выглядят визуально: Objects , Decals и Effects - все они имеют поверхности для представления их геометрии (меш), а другие ( Источники света , Игроки и т. д.) невидимы. Ноды могут быть организованы в иерархию (отношения родитель-потомок). Базовая функциональность ноды определяется ее типом. Дополнительные функции можно добавить с помощью свойств и системы компонентов . У каждой ноды есть матрица преобразования, которая кодирует его положение, поворот и масштаб в мире. Все объекты сцены, добавленные в сцену, независимо от их типа, называются нодами. |
Классы Blueprint#
Рабочий процесс в UE основан на Blueprint Classes. Обычно вы строите сложный объект (Actor) из компонентов, выбираете его и нажимаете кнопку Blueprint / Add Script (на панели Details). Затем вы выбираете место для сохранения вашего Blueprint Class и нажимаете Create Blueprint, чтобы сохранить новый Blueprint Class.
В UNIGINE вы строите нужную иерархию из нод разных типов, назначаете им необходимые материалы и свойства. Вы можете использовать ноды Dummy для группировки нескольких нод.
Чтобы сделать сложный объект экземпляром в вашем мире, вы сохраняете ноду или иерархию нод как Node Reference , которую можно создать и отредактировать в редакторе или во время выполнения столько раз, сколько необходимо.
Чтобы узнать больше о создании Node References и управлении ими, перейдите по ссылке ниже:
- Создание экземпляров нод .
- Видеоурок: Создание экземпляров нод
Организация совместной работы#
Unreal Editor предоставляет возможность Source Control из коробки. Кроме того, его рабочий процесс многопользовательского редактирования построен на модели сервер-клиент, поддерживая ряд сеансов в общей среде для совместной работы.
В UNIGINE все собственные форматы файлов по умолчанию основаны на тексте, поэтому вы можете использовать любую VCS , к которой вы привыкли, и объединять миры, ноды и другие ресурсы. Вы можете расширить файловую систему, чтобы сохранить общие ресурсы, используя точки монтирования . Кроме того, обычным рабочим процессом является разделение работы разных членов команды с использованием отдельного Node Layers, поэтому не будет необходимости сопоставлять конфликтующие файлы при объединении изменений проекта.
Ознакомьтесь с соответствующей статьей для получения более подробной информации:
- Настройка контроля версий
Камеры#
Камеры , сущности, необходимые для рендеринга, обрабатываются в обоих движках немного по-разному.
В UE4 CameraComponent отвечает за захват представления и отправку его на рендеринг. Обычно вы устанавливаете актера Pawn с присоединенным CameraComponent в качестве символа по умолчанию, указав его в настройках GameMode.
В UNIGINE Camera - это объект, связанный с рендерингом, который реализуется нодами Player в мире. Предусмотрено несколько типов игроков с различным поведением, чтобы упростить создание наиболее часто используемых камер, управляемых через устройства ввода (клавиатура, мышь, джойстик):
- Dummy - это простая оболочка камеры. Вы можете использовать ее для статических камер или расширить ее функционал с помощью пользовательской логики.
- Spectator - это свободно летающая камера.
- Persecutor - это летающая камера, которая имеет цель и вращается вокруг нее на указанном расстоянии. Это готовое простое решение для камеры от третьего лица.
- Actor - это игрок, способный обеспечить физическое взаимодействие с декорациями. Он имеет твердое физическое тело, которое приближается к форме капсулы. Это готовое к использованию простое решение для персонажа от первого лица.
Одновременно во вьюпорте может отображаться только один player. Для переключения между камерами в окне просмотра Editor UnigineEditor используйте панель Camera:
Проверяя флаг Main Player игрока, вы устанавливаете проигрыватель по умолчанию, который будет отображаться в окне просмотра Engine редактора и при запуске мира при запуске приложения.
Настройки проекта#
Общая настройка параметров проекта в Unreal Editor обычно выполняется через окно Project Settings. Аудио, рендеринг, физика, уровни ввода и другие параметры влияют на весь проект. Также панель World Settings предоставляет настройки для текущего Уровня.
В UNIGINE общие настройки и предпочтения доступны через меню Windows -> Settings в разделе Runtime. Настройки World устанавливаются для каждого мира отдельно.
Сохраненные конфигурации#
Вы используете кнопки Экспорт и Импорт в настройках проекта Unreal Editor, чтобы сохранить значения настроек во внешний файл конфигурации (.ini) и загрузить их при необходимости.
В UNIGINE вы можете сохранять и загружать общие настройки физики, звука и рендеринга таким же образом. Пресеты хранятся как ассеты с расширениями *.physics, *.sound и *.render соответственно. Для работы с пресетами соответствующего раздела настроек используйте кнопки Load и Save .* asset окна Settings.
Сохраненные ассеты появятся в браузере ассетов. Вы можете загрузить настройки рендеринга, дважды щелкнув необходимый ассет .render.
Предустановки не доступны только для редактора в UNIGINE. Вы можете использовать Physics , Sound и Render классы для управления предустановками для соответствующих настроек, например, для переключения между уровнями качества во время выполнения.
Графика#
В UE4 настройки качества графики в основном собраны в разделе Engine - Rendering.
В UNIGINE настройки рендеринга мира можно найти в разделе Render окна Settings. Вы также можете включать и выключать наиболее распространенные функции рендеринга с помощью меню Rendering:
В UNIGINE нет настроек качества, зависящих от платформы, вы должны написать свою собственную логику для контроля уровня качества. Для этой цели вы можете использовать Presets Render Presets .
Отложенное и прямое затенение#
По умолчанию Unreal Engine использует отложенный рендерер . Вы можете переключиться на Forward Shading Renderer , который в некоторых случаях обеспечит лучшую производительность, в разделе Project Setting -> Rendering.
UNIGINE имеет фиксированную последовательность рендеринга , представленную комбинацией полного отложенного рендерера с методами прямого рендеринга:
- Вся непрозрачная (непрозрачная) геометрия визуализируется в отложенном проходе.
- Прозрачная геометрия отображается в прямом проходе.
Вы можете снизить вычислительную нагрузку, пропустив определенные этапы рендеринга. Посмотрите специальный видеоурок по использованию инструмента Microprofile для оптимизации рендеринга:
- Видеоурок: Microprofile для художников
Постобработка#
Unreal Engine использует PostProcessVolume для определения объемов, в которых параметры и эффекты постобработки переопределяются локально (или глобально), параметры смешиваются с использованием линейной интерполяции. В UNIGINE вам нужно будет написать свою собственную логику для плавной интерполяции между настройками в разных местах (если появляется такое требование).
В этом разделе перечислены все распространенные методы постобработки UE4, которые также могут быть реализованы в UNIGINE.
Unreal Engine | UNIGINE |
---|---|
Anti-aliasing methods:
|
Anti-aliasing methods: |
Eye Adaptation (Auto-Exposure) | Camera Effects: |
Bloom | |
Filmic Tonemapper | |
White Balance | |
Dirt Mask | |
Lens Flare | |
Color Grading LUT (Lookup Texture) | |
Depth of Field | Depth of Field |
Post Process Materials | Postprocess Materials |
Chromatic Aberration | The post_color_correction postprocess material |
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 |
Что дальше?#
Куда идти дальше?
Не забудьте прочитать другие темы этого руководства:
Спасибо, что прочитали руководство! Вы можете перейти к следующим разделам для дальнейшего изучения: