Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Основные термины, управление проектами, интерфейс редактора, работа со сценой, настройки проекта и другое.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Статья ранее публиковалась в нашем блоге на «Хабре».

Если вы планируете переходить с иностранного софта на отечественный и ищете полноценный аналог Unreal Engine 4, то одним из вариантов может стать продукция нашей компании, полностью готовая к импортозамещению. UNIGINE использует общепринятые интерфейсы и рабочие процессы, которые могут быть вам знакомы по работе с другими 3D-инструментами. По опыту наших клиентов, для перехода на UNIGINE с других платформ уходит не более 1–2 недель.

Далее в статье рассмотрим базовую информацию по переходу на UNIGINE с Unreal Engine 4.

Основные термины

Сначала разберемся с названиями различных сущностей и другими терминами. В таблице ниже приведены термины Unreal Engine 4 и их точные или приблизительные эквиваленты в UNIGINE.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Управление проектами

Пользователи Unreal Engine 4 используют Epic Games Launcher — приложение, которое упрощает поиск, загрузку и управление вашими проектами и установками. Кроме того, можно управлять своими проектами напрямую через Unreal Editor: создавать новый проект и переключаться между существующими.

В UNIGINE для этих целей служит UNIGINE SDK Browser. Помимо управления проектами и установленными SDK, браузер SDK предоставляет доступ к примерам (Samples), базе знаний (Knowledge) и дополнениям (Add-Ons). В последнюю категорию входят различные 3D-модели и материалы, в том числе растительность, спецэффекты, погодные эффекты и другое.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Также заметным отличием UNIGINE является возможность создания нового (или редактирование старого) проекта с поддержкой одного из нескольких языков программирования: C++, C# и UnigineScript. Для пользователей Unreal Engine 4 рекомендуется использовать C++. Также возможно использование нескольких языков программирования в одном проекте.

Как создать новый проект на C++ в SDK Browser:

  1. Нажмите Create New в разделе My Projects.
  2. Выберите тип проекта C++ (Visual Studio 2015+) в поле API + IDE.
  3. Если требуется поддержка VR-гарнитур, выберите шаблон проекта VR (поле Template). Это активирует необходимые плагины и добавит нужный контент (больше о поддержке VR-устройств здесь).
  4. Нажмите Create New Project.
  5. После завершения загрузки нажмите Open Editor, чтобы запустить UNIGINE Editor; нажмите Open Code IDE, чтобы открыть исходный код проекта через IDE по умолчанию.

Интерфейс редактора

Элементы интерфейсов Unreal Editor и UNIGINE Editor близки по функционалу: на схеме ниже они окрашены в похожие цвета. Расположение элементов UNIGINE Editor можно настраивать, перетаскивая и изменяя их размер. В UNIGINE по умолчанию используется темная тема.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги
  • Toolbar. Панель инструментов, которая обеспечивает доступ к инструментам позиционирования, а также элементам управления логикой приложения, воспроизведением звука, симуляцией физики, компиляцией шейдеров и запеканием света.
  • World Hierarchy Window. Инструмент для работы с иерархией нод. Позволяет организовывать ноды в иерархию, а также добавлять, удалять, клонировать и переименовывать их.
  • Editor Viewport. Просмотр трехмерной сцены. Позволяет визуально перемещаться и редактировать виртуальный мир.
  • Parameters Window. Окно параметров выбранного элемента виртуального мира. Позволяет просматривать и изменять параметры нод, материалов, свойств и ассетов.
  • Asset Browser Window. Инструмент для организации контента в проекте: создания, импорта, просмотра, переименования ассетов, а также перемещения и управления их иерархией.

Просмотр сцены

Окна просмотра виртуальной сцены (вьюпорты) в Unreal Editor и UnigineEditor также очень похожи — это непосредственно само окно просмотра и панель инструментов. Можно использовать несколько вьюпортов.

Unreal Editor Viewport
Unreal Editor Viewport
UNIGINE Editor Viewport
UNIGINE Editor Viewport

По умолчанию у каждого 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 с Unreal Engine 4: первые шаги

UNIGINE вы можете включить анимацию и симуляцию физики с помощью переключателей на верхней панели инструментов, аналогично режиму SIE в UE.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

В C++ проектах доступен еще один тип вьюпорта в UNIGINE — Engine Viewport — дает предварительный просмотр сцены с возможностью управлять текущей камерой, если она установлена.

Для проверки логики приложения потребуется запустить текущий скомпилированный бинарный файл приложения одним из следующих способов:

1. Через SDK Browser, нажав Run (или кнопку с троеточием для запуска с другими аргументами):

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

2. С помощью файлов запуска в папке проекта:

  • launch_debug — лаунчер отладочной версии проекта.

  • launch_release — лаунчер релизной версии проекта.

3. Запустив проект непосредственно из используемой IDE.

По умолчанию курсор мыши захватывается при щелчке во время выполнения, обеспечивая управление движением камеры, и освобождается нажатием Esc. Есть два способа настроить привязки ввода по умолчанию (состояния клавиш и поведение мыши):

  1. В настройках управления.
  2. Через код.

Консоль

Как в Unreal Engine 4, так и в UNIGINE есть окно консоли для стандартного ввода, вывода и регистрации ошибок. Также существует набор консольных команд, позволяющих совершать определенные операции.

Консоль доступна как в UNIGINE Editor, так и в работающем приложении. Чтобы открыть окно консоли в редакторе, перейдите в меню Windows -> Console:

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Во время работы приложения встроенная консоль запускается нажатием кнопки «Тильда» (~).

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

В консоль можно выводить сообщения из кода.

Подготовка финального билда

Так же как и 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
Соответствие содержимого папки data в корневой директории проекта и в Asset Browser

Папка core содержит стандартные встроенные ресурсы. Эти ассеты доступны только для чтения и доступны для каждого проекта по умолчанию.

Поддержка типов файлов

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Перенос ассетов из 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 используют разные системы координат.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

В Unreal Engine 4 начальный уровень проекта задается в настройках проекта (Project Settings -> Maps & Modes) для приложения и для редактора.

В UNIGINE стартовый мир для приложения можно указать несколькими способами:

-console_command "world_load my_world"
  • при создании сборки проекта (File -> Create Build);
  • в исходном коде при помощи API класса World.

UnigineEditor также можно запустить с аргументами запуска, хотя зачастую достаточно просто включить Auto Open Last World в настройках редактора, благодаря чему редактор будет запускать последний использованный мир.

Объекты сцены

В этом разделе дается краткое описание основных объектов сцены в обоих движках, а также их основные сходства и различия.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

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 показывает вид только с одной камеры. Переключаться между камерами можно с помощью панели в углу вьюпорта:

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

Чтобы выбрать определенного плейера камерой по умолчанию, нужно включить опцию Main Player в его настройках. В запущенном приложении мир будет виден, только если в мире есть плейер с этим включенным флагом.

Настройки проекта

Настройка общих параметров проекта в Unreal Editor обычно выполняется через окно Project Settings. Аудио, рендеринг, физика, управление и другие настройки общие для всего проекта. Кроме того, панель World Settings содержит настройки для текущего уровня.

В UNIGINE общие настройки доступны в меню Windows -> Settings в разделе Runtime. Настройки World задаются для каждого мира отдельно.

Сохраненные конфигурации

Вы используете кнопки Export и Import в настройках проекта в Unreal Editor, чтобы сохранить значения настроек во внешний файл конфигурации (.ini) и загрузить их при необходимости.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

UNIGINE позволяет сохранять пресеты настроек физики, звука и рендеринга в виде ассетов с расширениями *.physics, *.sound и *.render соответственно. Быстрое переключение между пресетами возможно в окне Settings.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

По умолчанию в проекте доступны стандартные пресеты для нескольких уровней качества в папке data/template_render_settings.

В UNIGINE пресеты доступны не только в редакторе. При помощи классов Physics, Sound и Render можно переключиться между пресетами, например, для смены уровней качества визуализации в приложении.

Графика

В Unreal Engine 4 настройки качества графики в основном собраны в разделе Engine -> Rendering.

В UNIGINE настройки рендеринга мира можно найти в разделе Rendering окна Settings. Также есть возможность включать и выключать самые распространенные функции рендеринга с помощью соответствующего меню:

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

В UNIGINE нет платформо-зависимых настроек качества, поэтому для управления уровнями качества понадобится собственная логика. Для этой цели можно использовать пресеты рендеринга.

Отложенное и прямое затенение

По умолчанию Unreal Engine 4 использует Deferred Renderer. В некоторых случаях Forward Shading Renderer обеспечивает лучшую производительность.

UNIGINE имеет фиксированную последовательность рендеринга, представленную комбинацией отложенного рендеринга с методами прямого рендеринга:

  • Вся непрозрачная геометрия отрисовывается в отложенном проходе (Deferred).
  • Прозрачная геометрия отрисовывается во время прямого прохода (Forward).

Вы можете уменьшить вычислительную нагрузку, пропустив определенные этапы рендеринга. Посмотрите специальный видеоурок по использованию инструмента Microprofile для оптимизации рендеринга:

Постобработка

Unreal Engine 4 использует PostProcessVolume для определения объемов, в которых параметры и эффекты постобработки локально (или глобально) переопределяются, параметры смешиваются с использованием линейной интерполяции. В UNIGINE понадобится собственная логика, если нужно плавно смешивать настройки в разных объемах.

В этом разделе перечислены все распространенные методы постобработки Unreal Engine 4, которые также могут быть реализованы в UNIGINE.

Быстрый переход на UNIGINE с Unreal Engine 4: первые шаги

* * *

На этом пока все. Напоминаем, что это — лишь первый, обобщенный выпуск из запланированных трех по миграции с Unreal Engine 4. Следующий выпуск будет более специализированным и расскажет про миграцию на UNIGINE с точки зрения 3D-художника. А в последнем разберем все важные моменты по этому вопросу для программистов.

Чтобы получить доступ к бесплатной версии UNIGINE 2 Community заполните форму на нашем сайте.

Все комплектации UNIGINE:

  • Community — базовая версия для любителей и независимых разработчиков. Достаточна для разработки видеоигр большинства популярных жанров (включая VR).
  • Engineering — расширенная, специализированная версия. Включает множество заготовок для инженерных задач.
  • Sim — максимальная версия платформы под масштабные проекты (размеров планеты и даже больше) с готовыми механизмами симуляции.
4949
26 комментариев

Жаль ребят, сделали свой движ, а денег им никто не даёт. Даже государство.

Помню они проводили джемы, чтоб привлечь внимание к своему движку, но наградой за первое место что то в духе грамота-футболка, пока в то же время UE крутила победителю грант в 50к$ (позорникам по 2.5к$)

Такой контраст был.

7

Ну государство что-то заносит, так как он вроде как в военных тренажёрах используется

1

Государство и не должно давать: нужно уметь доносить плюсы движка для игроделов (что они и пытаются статьями). Но этого, на мой взгляд, недостаточно: нужно нанять несколько смышлёных блоггеров-индиразработчиков для раскрутки движка на ютубе.

Хотя бы провести эксперимент в ру-секторе ютуба. Но на это нужно тратить деньги: статьи дешевле выходят, но беда в том, что их почти никто не читает.)

главный вопрос - зачем переходить?

3

Вот я не понимаю
Если вы планируете переходить с иностранного софта на отечественный и ищете полноценный аналог Unreal Engine 4Все туторы на АНГЛИЙСКОМ! ЗАЧЕМ?
Вы кого хотите привлечь? Западного пользователя или отечественного? На анлийском делают потому что просмотров больше, но не в данном случае.

Ладно хоть документация на русском есть.

2

Завели канал на youtube с русскими туторами, велкам:
https://www.youtube.com/channel/UCK9xWFnieQUYjwHRriwFEiw
Все туторы теперь выходят на трех языках: английском, русском и китайском.
А привлечь мы хотим заинтересованных в продукте людей, и они говорят на разных языках :) Со своей русскоговорящей аудиторией говорим на русском языке, ведем группы, блоги, пилим контент.

4

Они так ещё и не додумались нанять пару блоггеров-игроделов для клепания простых игр и раскрутки движка. Такими статьями тяжело привлечь интерес.
Но может всё впереди.)