This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Objects
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
UnigineScript
C++
C#
Унифицированный язык шейдеров UUSL
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Переход на UNIGINE с Unity

Этот раздел дает краткий обзор UNIGINE с точки зрения пользователя Unity и предоставляет основную информацию, которая поможет вам перенести ваш опыт работы с Unity на UNIGINE.

Примечание
Пожалуйста, сначала ознакомьтесь с требованиями к оборудованию .

Быстрый глоссарий#

Эта глава сопоставляет общие программные термины Unity слева и их эквиваленты UNIGINE (или приблизительный эквивалент) справа. Ключевые слова UNIGINE напрямую связаны со связанными статьями, чтобы предоставить вам более подробную информацию.

CategoryUnity softwareUNIGINE
Project and SDK managementHubSDK Browser
Editor UIHierarchy PanelWorld Nodes Hierarchy window
InspectorParameters window
Project BrowserAsset Browser window
Scene ViewEditor Viewport
SceneSceneWorld
Gameplay TypesComponentComponent System
GameObjectNode
PrefabNodeReference
MeshesMesh RendererStatic Mesh, Dynamic Mesh
Skinned Mesh RendererSkinned Mesh
BlendshapesMorph Targets
EffectsParticle SystemParticle System
HaloVolumetric Objects
Lens FlaresLens Flares
Billboard RendererBillboards
Projector / Decal Projector (HDRP)Decals
ExteriorsTerrainTerrain systems
Trees / GrassMesh Clutter, Grass, Vegetation Add-On
Wind ZonesAnimation Field
Game UIUIGUI
LightingLight SourcesLight Sources
EnvironmentEnvironment
LightmappingVoxel GI
Reflection ProbesEnvironment Probes
RenderingShaderBase Material
MaterialUser Material
Custom Shaders: HLSL, Shader GraphHLSL / GLSL / UUSL
Compute ShadersUUSL Compute Shaders
Rendering PathsRendering Sequence
Multi-Display RenderingMulti-Monitor Rendering plugins, Syncker Plugin for Multi-Node Rendering
ProgrammingC#C++ / C#
Scriptable Render Pipeline (URP / HDRP)Rendering Sequence if fully accessible from API / Scriptable Materials
PhysicsRaycastIntersections
Rigid BodyRigid Body
ColliderShape
JointJoint
ClothCloth Body
AnimationTimelineTracker
Navigation and PathfindingNavMesh, NavMeshAgent, Off-Mesh Link, NavMesh ObstacleNavigation Areas, Obstacles

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

Как пользователь программного обеспечения Unity, вы привыкли использовать Unity Hub - приложение, которое упрощает поиск, загрузку и управление вашими проектами и установками.

Браузер UNIGINE SDK - это первый шаг к началу работы с UNIGINE Engine. Это приложение позволяет управлять своими проектами и установленными SDK, а также предоставляет доступ к примерам и базе знаний.

Сравнение Unity Hub и UNIGINE SDK Browser (нажмите, чтобы увеличить)

Сравнение Unity Hub и UNIGINE SDK Browser

UNIGINE предоставляет несколько рабочих процессов программирования , чтобы легко адаптировать ваш опыт написания сценариев в программном обеспечении Unity, рекомендуется использовать C# Component System . Создание проекта с использованием этого рабочего процесса в SDK Browser выполняется следующим образом:

  1. Нажмите Create New в разделе My Projects
  2. Среди других опций выберите тип проекта C# (.NET 5) в поле API + IDE.
  3. Если вы хотите сделать проект совместимым с одной из поддерживаемых VR-гарнитур, перейдите в раздел Plugins, отметьте необходимые плагины в разделе Stereo 3D и нажмите Ok (подробнее о VR-совместимости ).
  4. Щелкните Create New Project.
  5. По завершении щелкните Open Editor, чтобы запустить UnigineEditor.
Примечание
Раздел C# API , доступный в Samples , демонстрирует традиционный рабочий процесс программирования на C#. Примеры, в которых используется C # Component System , можно найти в файле Demos -> C# Component Samples.

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

Ниже вы можете увидеть интерфейсы Unity Editor и UnigineEditor. Элементы интерфейса на изображениях имеют цветовую кодировку для обозначения общих функций. Каждый элемент имеет метку для отображения эквивалента UNIGINE. Макет UnigineEditor полностью настраиваемый путем изменения размера, перетаскивания окон с вкладками. UnigineEditor использует темную цветовую схему.

Сравнение пользовательского интерфейса редакторов Unity и UnigineEditor (нажмите, чтобы увеличить)

Сравнение пользовательского интерфейса редакторов Unity и 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. Однако ознакомьтесь с навигацией по сценам , чтобы не упустить детали.

Также на верхней панели инструментов доступен набор глобальных переключателей:

Вы можете использовать столько окон просмотра редактора , сколько вам нужно.

Просмотр игры и режим игры#

Вы привыкли, что в редакторе Unity есть режим Play внутри Game View, который рендерится с камеры (камер) в вашей сцене, представляя вашу окончательную сборку.

В UNIGINE кнопка Play используется для запуска экземпляра приложения в отдельном окне. Вы можете переключаться между предустановками Play, чтобы изменить основные параметры режима воспроизведения, например, VR Mode, чтобы включить совместимость с одной из поддерживаемых гарнитур VR.

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

Примечание
Engine Viewport, аналог Game View's в UNIGINE, используемый для отладки и профилирования, считается избыточным для проектов, использующих рабочий процесс программирования C # .NET 5 (однако он по-прежнему доступен для других рабочих процессов).

Консоль#

Помимо программного обеспечения Unity, UNIGINE имеет Console , используемую для стандартного ввода, вывода и регистрации ошибок. Предоставляется набор консольных команд .

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

Встроенная консоль вызывается нажатием клавиши grave accent (`):

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

Финальная сборка проекта для публикации#

Вы привыкли создавать свои проекты через редактор Unity. В UNIGINE финальная сборка проекта также выполняется через UnigineEditor.

Проекты и файлы#

Каталоги и файлы#

Проект в UNIGINE, как и проект Unity, хранится в своей собственной папке, настройки проекта хранятся в файле *.project. Внутри папки проекта есть различные подпапки, в которых хранятся ваш контент и исходные файлы, а также различные файлы конфигурации и двоичные файлы. Наиболее важными из них являются подпапки данные и источник .

В UNIGINE у каждого проекта есть папка data. Подобно папке Assets проекта Unity, здесь хранятся ассеты вашего проекта. Чтобы импортировать ассеты в проект, просто перетащите файлы в каталог проекта data, и они будут автоматически импортированы и появятся в Asset Browser . Ассеты в редакторе обновляются автоматически, когда вы вносите изменения в файлы с помощью внешней программы.

Взаимосвязь между содержимым папки data в корне вашего проекта на вашем компьютере и папкой Project в окне 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#

Примечание
Если вы импортируете группу ассетов, содержащих файлы описания .meta (например, из проекта Unity), в Console могут появиться предупреждения из-за неподдерживаемого формата файла. По завершении импорта все содержимое файлов .meta в папке проекта UNIGINE будет заменено собственными метаданными ассетов UNIGINE. Исходные файлы не пострадают.

Меши

Вы можете импортировать ассет, который вы использовали в программном обеспечении 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 softwareUNIGINE

Unity Coordinate System (left-handed)

Программа Unity использует левостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Y.

Один unit - один метр.

Оси и направления:

  • X - вправо (+), влево (-)
  • Y - вверх (+), вниз (-)
  • Z - вперед (+), назад (-)

Положительный угол поворота устанавливает вращение по часовой стрелке.

Формат файла: *.scene

UNIGINE Coordinate System (right-handed)

UNIGINE использует правостороннюю систему координат, в которой вертикальное направление обычно представлено осью +Z.

Один unit - один метр.

Оси и направления:

  • X - вправо (+), влево (-)
  • Y - вперед (+), назад (-)
  • Z - вверх (+), вниз (-)

Положительный угол поворота устанавливает вращение против часовой стрелки.

Формат файла: *.world

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

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

Unity softwareUNIGINE

Окно иерархии


Базовый объект сцены - GameObject.

GameObject - это контейнеры для всех остальных компонентов. Компоненты добавляют функциональности GameObject.

Каждый GameObject по умолчанию имеет компонент Transform.

GameObject может быть организован в иерархию (отношение родитель-потомок).

Окно иерархии мировых узлов


Node - это базовый тип, от которого наследуются все типы объектов сцены. Некоторые из них выглядят визуально: Objects , Decals и Effects - все они имеют поверхности для представления их геометрии (сетка), а другие ( Источники света , Плееры и т.д.) невидимы.

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

У каждого узла есть матрица преобразования, которая кодирует его положение, поворот и масштаб в мире.

Узлы могут быть организованы в иерархию (отношения родитель-потомок).

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

Префабы (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 предоставляет настройки для предустановок качества low, medium, high, ultra и virtual reality, хранящиеся в папке data/template_render_settings.

Предустановки не доступны только для редактора в 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 Render -> Streaming -> Preload at World Loading
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 для оптимизации рендеринга:

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

В программном обеспечении Unity доступность эффектов постобработки определяется используемым конвейером рендеринга . В UNIGINE подобные эффекты не являются частью постобработки, а интегрированы в последовательность рендеринга . Таким образом, Unity High Definition Render Pipeline (HDRP) намного ближе к рабочему процессу рендеринга в UNIGINE, чем другие конвейеры рендеринга.

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

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

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

Эффекты постобработки#
Unity software UNIGINE
Anti-aliasing methods:
  • FXAA
  • TAA
  • SMAA
  • MSAA
Anti-aliasing methods:
Ambient Occlusion Screen-Space Ambient Occlusion
Auto Exposure Camera Effects:
White Balance
Tonemapping
Bloom
Color Grading:
  • Tone
  • Lookup Texture
Chromatic Aberration Postprocess Materials:
  • post_color_correction
Grain
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

Что дальше?#

Куда идти дальше?

Не забудьте прочитать другие темы этого руководства:

Спасибо, что прочитали руководство! Вы можете перейти к следующим разделам для дальнейшего изучения:

Последнее обновление: 03.11.2021
Build: ()