Переход на UNIGINE с Unity
Этот раздел дает краткий обзор UNIGINE с точки зрения пользователя Unity и предоставляет основную информацию, которая поможет вам перенести ваш опыт работы с Unity на UNIGINE.
Краткий обзор#
Быстрый глоссарий#
Эта глава сопоставляет общие программные термины Unity слева и их эквиваленты (или приблизительные эквиваленты) в UNIGINE - справа. Ключевые слова в UNIGINE имеют прямые ссылки на соответствующие статьи, в которых вы можете найти более подробную информацию.
Category | Unity software | UNIGINE |
---|---|---|
Project and SDK management | Hub | SDK Browser |
Editor UI | Hierarchy Panel | World Nodes Hierarchy window |
Inspector | Parameters window | |
Project Browser | Окно Asset Browser | |
Scene View | Editor Viewport | |
Scene | Scene | World |
Gameplay Types | Component | Component System |
GameObject | Node | |
Prefab | NodeReference | |
Meshes | Mesh Renderer | Static Mesh, Dynamic Mesh |
Skinned Mesh Renderer | Skinned Mesh | |
Blendshapes | Morph Targets | |
Effects | Particle System | Particle System |
Halo | Volumetric Objects | |
Lens Flares | Lens Flares | |
Billboard Renderer | Billboards | |
Projector / Decal Projector (HDRP) | Decals | |
Exteriors | Terrain | Terrain systems |
Trees / Grass | Mesh Clutter, Grass, Vegetation Add-On | |
Wind Zones | Animation Field | |
Game UI | UI | GUI |
Lighting | Light Sources | Light Sources |
Environment | Environment | |
Lightmapping | Voxel GI | |
Reflection Probes | Environment Probes | |
Rendering | Shader | Base Material |
Material | User Material | |
Custom Shaders: HLSL | HLSL / UUSL | |
Custom Shaders: Shader Graph | Material Graphs | |
Compute Shaders | UUSL Compute Shaders | |
Rendering Paths | Rendering Sequence | |
Multi-Display Rendering | Multi-Monitor Rendering plugins, Syncker Plugin for Multi-Node Rendering | |
Programming | C# | C++ / C# |
Scriptable Render Pipeline (URP / HDRP) | Любой этап конвейера рендеринга доступен через API / Скриптовые материалы | |
Physics | Raycast | Intersections |
Rigid Body | Rigid Body | |
Collider | Shape | |
Joint | Joint | |
Cloth | Cloth Body | |
Animation | Timeline | Tracker |
Navigation and Pathfinding | NavMesh, NavMeshAgent, Off-Mesh Link, NavMesh Obstacle | Navigation Areas, Obstacles |
Управление проектами и SDK#
Как пользователь программного обеспечения Unity, вы привыкли использовать Unity Hub - приложение, которое упрощает поиск, загрузку и управление вашими проектами и установками.
Браузер UNIGINE SDK - это первый шаг к началу работы с UNIGINE Engine. Это приложение позволяет управлять своими проектами и установленными SDK, а также предоставляет доступ к примерам и базе знаний.
UNIGINE предоставляет несколько рабочих процессов программирования , чтобы легко адаптировать ваш опыт написания сценариев в программном обеспечении Unity, рекомендуется использовать C# Component System . Создание проекта с использованием этого рабочего процесса в SDK Browser выполняется следующим образом:
- Нажмите Create New в разделе My Projects
- Среди других опций выберите тип проекта C# (.NET) в поле API + IDE.
- Если вы хотите сделать проект совместимым с одной из поддерживаемых VR-гарнитур, перейдите в раздел Plugins, отметьте необходимые плагины в разделе Stereo 3D и нажмите Ok (подробнее о VR-совместимости ).
- Щелкните Create New Project.
- По завершении щелкните Open Editor, чтобы запустить UnigineEditor.
Интерфейс редактора#
Ниже вы можете увидеть интерфейсы Unity Editor и UnigineEditor. Элементы интерфейса на изображениях имеют цветовую кодировку для обозначения общих функций. Каждый элемент имеет метку для отображения эквивалента UNIGINE. Макет UnigineEditor полностью настраиваемый путем изменения размера, перетаскивания окон с вкладками. UnigineEditor использует темную цветовую схему.
Чтобы узнать больше об интерфейсе UnigineEditor, прочтите эту статью .
Scene View#
Вы можете обнаружить, что элементы управления Scene View и Editor Viewport очень похожи.
Unity Scene View
|
UNIGINE Editor Viewport
|
Вы можете использовать:
- Camera panel для переключения между камерами и настройки текущей.
- Rendering Debug для отображения содержимого буферов рендеринга так же, как при использовании Draw Mode в Unity Editor.
- Navigation panel для быстрой настройки и переключения между предустановками скорости камеры и изменения положения камеры.
Навигация внутри Editor Viewport почти такая же, как и в Unity Scene View. Однако ознакомьтесь с навигацией по сценам , чтобы не упустить детали.
Также на верхней панели инструментов доступен набор глобальных переключателей:
- Панель Helpers обеспечивает быстрый доступ к вспомогательным визуализаторам, таким как значки, штуковины и каркасы.
- Переключатель Precompile All Shaders используется для принудительной компиляции шейдеров
- Animation toggle
- Physics toggle
- Audio переключить
- Элементы управления воспроизведением
Вы можете использовать столько окон просмотра редактора , сколько вам нужно.
Просмотр игры и режим игры#
Вы привыкли, что в редакторе Unity есть режим Play внутри Game View, который рендерится с камеры (камер) в вашей сцене, представляя вашу окончательную сборку.
В UNIGINE кнопка Play используется для запуска экземпляра приложения в отдельном окне. Вы можете переключаться между предустановками Play, чтобы изменить основные параметры режима воспроизведения, например, VR Mode, чтобы включить совместимость с одной из поддерживаемых гарнитур VR.
По умолчанию курсор мыши захватывается при нажатии в режиме Play. Есть два способа установить привязки ввода по умолчанию (состояния клавиш и поведение мыши):
Консоль#
Помимо программного обеспечения Unity, UNIGINE имеет Console , используемую для стандартного ввода, вывода и регистрации ошибок. Предоставляется набор консольных команд .
Он доступен как в UnigineEditor, так и в работающем приложении. Чтобы открыть окно консоли в редакторе, перейдите в меню Windows -> Console:
Встроенная консоль вызывается нажатием клавиши grave accent (`):
Вы можете использовать его для печати пользовательских сообщений из кода .
Финальная сборка проекта для публикации#
Вы привыкли создавать свои проекты через редактор Unity. В UNIGINE финальная сборка проекта также выполняется через UnigineEditor.
Проекты и файлы#
Каталоги и файлы#
Проект в UNIGINE, как и проект Unity, хранится в своей собственной папке, настройки проекта хранятся в файле *.project. Внутри папки проекта есть различные подпапки, в которых хранятся ваш контент и исходные файлы, а также различные файлы конфигурации и двоичные файлы. Наиболее важными из них являются подпапки данные и источник .
В UNIGINE у каждого проекта есть папка data. Подобно папке Assets проекта Unity, здесь хранятся ассеты вашего проекта. Чтобы импортировать ассеты в проект, просто перетащите файлы в каталог проекта data, и они будут автоматически импортированы и появятся в Asset Browser . Ассеты в редакторе обновляются автоматически, когда вы вносите изменения в файлы с помощью внешней программы.
Поддерживаемые типы файлов#
Unity поддерживает широкий спектр форматов файлов, а UNIGINE поддерживает наиболее часто используемые и некоторые специфические :
Типы ассетов | Поддерживаемые форматы |
---|---|
Геометрия | .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 |
Перенос ассетов из Unity#
Меши
Вы можете импортировать ассет, который вы использовали в программном обеспечении Unity, в UNIGINE, если он у вас есть как модель FBX. При импорте модели FBX в UNIGINE проверьте необходимые параметры импорта в зависимости от модели.
UNIGINE использует те же единицы (метры), что и программное обеспечение Unity, поэтому вам не нужно изменять масштаб мешей.
Материалы
Подобно программному обеспечению Unity, UNIGINE работает с PBR-материалами и поддерживает рабочие процессы Metalness и Specular (аналогично материалам Unity на основе шейдеров Standard и Standard (Specular Setup)). Коробочная библиотека материалов позволяет создавать практически любые материалы. Таким образом, материалы, созданные для модели в программном обеспечении Unity, могут быть воссозданы в UNIGINE с использованием материала mesh_base, базового материала в UNIGINE, используемого для физически обоснованных материалов.
Текстуры
Текстуры можно импортировать как часть модели или отдельно, а затем применять к мешу. Чтобы импортировать текстуры , вам, возможно, придется заранее внести некоторые изменения. Например, текстура Shading в UNIGINE хранит карты металличности, шероховатости, отражения и микрофибры в соответствующих каналах, поэтому вам необходимо изменить текстуру с помощью стороннего программного обеспечения, такого как GIMP или Photoshop, а затем импортировать ее в UNIGINE.
Чтобы импортировать текстуру Normal, вы должны инвертировать G-канал. Это можно сделать при импорте текстуры (или даже позже) с помощью параметра Invert G Channel.
Анимация
Вы можете импортировать модель с анимацией костей, которую вы использовали в программе Unity, в UNIGINE, если она у вас есть как модель FBX. При импорте модели FBX включите параметр Импорт анимации и настройте импорт с помощью дополнительных параметров.
Для получения дополнительных сведений см. рекомендации по импорту .
Сцена#
Концепция сцены в обоих движках одинакова. Однако программное обеспечение Unity и UNIGINE используют разные системы координат.
Unity software | UNIGINE |
---|---|
Программа Unity использует левостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Y. Один unit - один метр. Оси и направления:
Положительный угол поворота устанавливает вращение по часовой стрелке. Формат файла: *.scene |
UNIGINE использует правостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Z. Один unit - один метр. Оси и направления:
Положительный угол поворота устанавливает вращение против часовой стрелки. Формат файла: *.world |
Объекты сцены#
В этом разделе дается краткое описание основных объектов сцены в обоих движках, а также их основные сходства и различия.
Unity software | UNIGINE |
---|---|
Окно иерархии
GameObject - это контейнеры для всех остальных компонентов. Компоненты добавляют функциональности GameObject. Каждый GameObject по умолчанию имеет компонент Transform. GameObject может быть организован в иерархию (отношение родитель-потомок). |
Окно мировой иерархии нод
Базовая функциональность ноды определяется ее типом. Дополнительные функции можно добавить с помощью свойств и системы компонентов . У каждой ноды есть матрица преобразования, которая кодирует его положение, поворот и масштаб в мире. Ноды могут быть организованы в иерархию (отношения родитель-потомок). Все объекты сцены, добавленные в сцену, независимо от их типа, называются нодами. |
Префабы (Prefabs)#
Рабочий процесс в программе Unity основан на префабах. Обычно вы собираете сложный объект из GameObjects с определенными компонентами и свойствами и создаете префаб из такого объекта. Затем префабы могут быть размещены в вашем мире через редактор или созданы во время выполнения.
Рабочий процесс UNIGINE основан на ссылках на ноды (Node Reference) , которые очень похожи на префабы. Чтобы сделать сложный объект экземпляром в вашем мире, вы просто создаете желаемую иерархию из нод, назначаете им материалы и свойства и сохраняете ее как Node Reference. Затем вы можете использовать этот node reference столько раз, сколько необходимо, и, как и в случае с префабами, изменить node reference, изменив любой из его экземпляров.
Чтобы узнать больше о создании Node Reference и управлении ими, перейдите по ссылке ниже:
- Создание экземпляров нод
- Видеоурок: Создание экземпляров нод
Организация совместной работы#
Unity Editor предоставляет инструмент Smart Merge и поддержку пользовательских инструментов для разрешения конфликтов при слиянии результатов совместной работы. Сцены и другие файлы должны использовать формат YAML для объединения.
В UNIGINE все собственные форматы файлов по умолчанию основаны на тексте, поэтому вы можете использовать любую VCS , к которой вы привыкли, и объединять миры, ноды и другие ресурсы. Вы можете расширить файловую систему, чтобы сохранить общие ресурсы, используя точки монтирования . Кроме того, обычным рабочим процессом является разделение работы разных членов команды с использованием отдельного Node Layers, поэтому не будет необходимости сопоставлять конфликтующие файлы при объединении изменений проекта.
Ознакомьтесь с соответствующей статьей для получения более подробной информации:
- Настройка контроля версий
Камеры#
Камеры , сущности, необходимые для рендеринга, обрабатываются в обоих движках немного по-разному.
В программном обеспечении Unity компонент Camera отвечает за захват представления и отправку его на рендеринг. Все включенные камеры, присутствующие в сцене, отображаются в окне просмотра (Game View) и могут перекрывать друг друга. Чтобы переключаться между камерами, обычно необходимо выключить текущую камеру и включить другую.
В UNIGINE Камера - это объект, связанный с визуализацией, который реализуется нодами Player в мире. Предусмотрено несколько типов игроков с различным поведением, чтобы упростить создание наиболее часто используемых камер, управляемых через устройства ввода (клавиатура, мышь, джойстик):
- Dummy - это простая оболочка камеры. Вы можете использовать ее для статических камер или расширить ее функционал с помощью пользовательской логики.
- Spectator - это свободно летающая камера.
- Persecutor - это летающая камера, которая имеет цель и вращается вокруг нее на указанном расстоянии. Это готовое простое решение для камеры от третьего лица.
- Actor - это игрок, способный обеспечить физическое взаимодействие с декорациями. Он имеет твердое физическое тело, которое приближается к форме капсулы. Это готовое к использованию простое решение для персонажа от первого лица, похожего на Unity Character Controller.
Одновременно во вьюпорте может отображаться только один игрок. Для переключения между камерами в окне просмотра редактора UnigineEditor используйте панель Camera:
Установив флажок Main Player игрока, вы устанавливаете проигрыватель по умолчанию, который будет отображаться при загрузке сцены в режиме Play.
Настройки проекта#
Общие настройки проекта в редакторе Unity обычно выполняются в окне Настройки проекта (меню: Edit > Project Settings). Настройки звука, графики, физики, качества и другие параметры влияют на весь проект.
В UNIGINE общие настройки и предпочтения доступны через меню Windows -> Settings в разделе Время выполнения . Настройки World устанавливаются для каждого мира отдельно.
Компиляция шейдеров#
В редакторе Unity Asynchronous Shader compilation включается и выключается в настройках редактора (меню: Edit > Project Settings > Editor > Shader Compilation).
В UNIGINE аналогичная функция редактора, Forced Shader Compilation, доступна как через панель инструментов, так и через раздел Editor окна Settings.
Пресеты#
Вы используете пресеты в редакторе Unity, когда вам нужно повторно использовать настройки свойств, которые имеют отношение к различным задачам, будь то настройки компонентов, настройки импорта или особенно Настройки проекта . Вы можете сохранить предустановку настроек для определенного раздела настроек проекта как ассет .preset и повторно использовать в разработке позже.
Предустановки доступны только для редактора в программном обеспечении Unity.
В UNIGINE вы можете сохранять и загружать пресеты для общих настроек физики, звука и рендеринга. Пресеты хранятся как ассеты с расширениями *.physics, *.sound и *.render соответственно. Для работы с пресетами соответствующего раздела настроек используйте кнопки Load и Save .* asset окна Settings.
Сохраненные ассеты появятся в браузере ассетов. Вы можете загрузить настройки рендеринга, дважды щелкнув необходимый ассет .render.
Предустановки не доступны только для редактора в UNIGINE. Вы можете использовать классы Physics, Sound и Render для управления предустановками для соответствующих настроек, например, для переключения между уровнями качества во время выполнения.
Графика#
В редакторе Unity настройки качества графики в основном собраны в следующих разделах:
- Раздел Graphics содержит глобальные настройки графики. Tier Settings обеспечивает специфичные для платформы настройки рендеринга и компиляции шейдеров. Один из трех применяемых уровней Tier определяется автоматически в зависимости от используемой платформы.
- Раздел Quality обрабатывает уровни качества графики, определенные для каждой платформы.
В UNIGINE настройки рендеринга мира можно найти в разделе Render окна Settings. Вы также можете включать и выключать наиболее распространенные функции рендеринга с помощью меню Rendering:
В UNIGINE нет настроек качества, зависящих от платформы, вы должны написать свою собственную логику для контроля уровня качества. Для этой цели вы можете использовать Presets Render Presets .
Рассмотрим наиболее часто используемые настройки рендеринга в программе Unity и их соответствующие аналоги в UNIGINE:
Unity software | UNIGINE |
---|---|
HDR Mode | Render -> Buffers -> Color 16F |
Rendering Path | see below |
Shaders Preloading | shaders_preload console command |
Pixel Light Count | Forward Per-Object Limits |
Texture Quality | Render -> Textures -> Quality |
Anisotropic Textures | Render -> Textures -> Anisotropy |
Anti Aliasing | Render -> Antialiasing -> Supersampling |
Soft Particles | particles_base -> Soft Interaction |
Realtime Reflection Probes | Menu: Rendering -> Dynamic Reflections -> Enabled |
Texture Streaming | Render -> Streaming Settings |
Shadows | Render -> Shadows Settings |
Shadow Cascades | set per each World Light source |
VSync Count | Runtime -> Video settings |
Пути рендеринга#
Программное обеспечение Unity предоставляет два не унаследованных рабочих процесса освещения и затенения: Deferred и Forward Пути рендеринга , определяющие точность затенения, а также потребление рендеринга и необходимое оборудование. Вы можете выбрать путь рендеринга , который ваш проект использует в окне Graphics, и вы можете переопределить этот путь для каждой камеры .
UNIGINE имеет фиксированную последовательность рендеринга , представленную комбинацией полного отложенного рендерера с методами прямого рендеринга:
- Вся непрозрачная (непрозрачная) геометрия визуализируется в отложенном проходе.
- Прозрачная геометрия отображается в прямом проходе.
Вы можете снизить вычислительную нагрузку, пропустив определенные этапы рендеринга. Посмотрите специальный видеоурок по использованию инструмента Microprofile для оптимизации рендеринга:
- Видеоурок: Microprofile для художников
Постобработка#
В программном обеспечении Unity доступность эффектов постобработки определяется используемым конвейером рендеринга . В UNIGINE подобные эффекты не являются частью постобработки, а интегрированы в последовательность рендеринга . Таким образом, Unity High Definition Render Pipeline (HDRP) намного ближе к рабочему процессу рендеринга в UNIGINE, чем другие конвейеры рендеринга.
В программном обеспечении Unity структура Volume используется для определения томов, в которых параметры и эффекты постобработки переопределяются локально (или глобально). В UNIGINE вам придется написать свою собственную логику для плавной интерполяции между настройками в разных местах (если такое требование появляется).
В этом разделе перечислены все распространенные методы постобработки Unity, которые могут быть реализованы в UNIGINE, независимо от конвейера рендеринга.
Эффекты постобработки#
Unity software | UNIGINE |
---|---|
Anti-aliasing methods:
|
Anti-aliasing methods: |
Ambient Occlusion | Screen-Space Ambient Occlusion |
Auto Exposure | Camera Effects: |
White Balance | |
Tonemapping | |
Bloom | |
Chromatic Aberration | |
Grain | |
Vignette | |
Color Grading:
|
|
Deferred Fog | Haze |
Depth of Field | Depth of Field |
Motion Blur | Motion Blur |
Screen Space Reflection | SSR |
Contact Shadows | Screen Space Shadows |
Micro Shadows | Cavity of SSAO |
Что дальше?#
Куда идти дальше?
Не забудьте прочитать другие темы этого руководства:
Спасибо, что прочитали руководство! Вы можете перейти к следующим разделам для дальнейшего изучения: