This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
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
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Переход на UNIGINE с Unreal Engine: создание контента

Geometry Brushes
Geometry Brush#

Geometry Brush is the most basic tool for level construction in Unreal Engine. They are useful for rapid prototyping of levels and objects.Geometry Brush - это самый простой инструмент для построения уровней в Unreal Engine. Они полезны для быстрого прототипирования уровней и объектов.

Brush blocking in UE4Блокировка кистей в UE4

In UNIGINE, you can use primitives for this kind of task. Go to the Create -> Primitives menu and select the desired type.В UNIGINE вы можете использовать примитивы для такого рода задач. Зайдите в меню Create -> Primitives и выберите нужный тип.

Creating a primitive in UNIGINEСоздание примитива в UNIGINE

Blocking in UNIGINEБлокировка в UNIGINE

Meshes
меши#

As well as in Unreal Engine, mesh is the main graphics primitive in UNIGINE.Как и в Unreal Engine, меш является основным графическим примитивом в UNIGINE.

In UE4, all data stored in the FBX model (meshes, skeletal data, animation sequences, materials and embedded textures) is imported as a set of separate assets linked to the source file (useful for updating the assets when changing the source model). Static Mesh assets can be edited in a separate window.В UE4 все данные, хранящиеся в модели FBX (меши, скелетные данные, последовательности анимации, материалы и встроенные текстуры), импортируются как набор отдельных ресурсов, связанных с исходным файлом (полезно для обновления ресурсов при изменении исходной модели). Ресурсы Static Mesh можно редактировать в отдельном окне.

Configuring a Static Mesh asset in UEНастройка ассета Static Mesh в UE

Both meshes and read-only materials appear as components of the asset.И меши, и материалы, доступные только для чтения, появляются как компоненты ассета.

In UNIGINE, an imported FBX asset appears as a container for all meshes it stores in the Asset Browser. The link to the original file isn't created, the file is copied to the project data folder when imported. You can access the contents by right-clicking the asset and choosing Open:В UNIGINE импортированный ресурс FBX отображается как контейнер для всех мешей, которые он хранит в файле Asset Browser. Ссылка на исходный файл не создается, при импорте файл копируется в папку проекта data. Вы можете получить доступ к содержимому, щелкнув ассет правой кнопкой мыши и выбрав Open:

Meshes within an FBX asset in UNIGINEМеши в ассете FBX в UNIGINE

Every separate object in the FBX model is represented by a .mesh runtime asset. Materials (if there are any, provided the Import Materials option was enabled) are generated in the materials folder next to the asset. To adjust import settings, select the FBX asset and proceed to the Parameters window.Каждый отдельный объект в модели FBX представлен runtime-файлом .mesh. Материалы (если они имеются, при условии, что была включена опция Import Materials), генерируются в папке materials рядом с ассетом. Чтобы отрегулировать настройки импорта , выберите ассет FBX и перейдите в окно Parameters.

To create a node that uses the mesh or FBX asset you can simply drag it to the UnigineEditor viewport the same way you would do in Unreal Editor. In UNIGINE, this will add a Static Mesh object to the world hierarchy.Чтобы создать ноду которая использует меш или ассет FBX, вы можете просто перетащить его в область просмотра UnigineEditor так же, как и в Unreal Editor. В UNIGINE это добавит объект Static Mesh в мировую иерархию.

Object nodes are major building blocks that construct the world. Most of them represent visible geometry of the scene. For example, it is best to use a Static Mesh object for objects that are not intended to change their geometry the same way as Static Mesh actor in UE4.Объекты - это основные строительные блоки, из которых строится мир. Большинство из них представляют видимую геометрию сцены. Например, лучше всего использовать объект Static Mesh для объектов, которые не предназначены для изменения своей геометрии так же, как актор Static Mesh в UE4.

On the picture below similar UI elements for static mesh parameters are color-coded for both editors:На рисунке ниже похожие элементы пользовательского интерфейса для параметров статической меши имеют цветовую кодировку для обоих редакторов:

Static Mesh parameters in Unreal Editor and UnigineEditorПараметры Static Mesh в Unreal Editor и UnigineEditor

Here Surface come into play. They are pretty close to Elements of a Static Mesh in Unreal Engine, but a surface encapsulates a sub-mesh having a certain material assigned (in third-party 3D editors) and has the name according to that material. For convenience, surfaces can be rearranged in a hierarchy and toggled on and off. Some settings you would set for the whole Static Mesh actor, such as visibility and contribution to lighting, are available for each surface separately.Здесь вступают в игру Поверхности (surfaces). Они довольно близки к элементам Static Mesh в Unreal Engine, но поверхность представляет собой подмножество меша, которому назначен определенный материал (в сторонних 3D-редакторах), и который имеет имя в соответствии с этим материалом. Для удобства можно изменять иерархию поверхностей, а также включать и выключать их. Некоторые настройки, которые вы бы установили для всего Actor Static Mesh, такие как видимость и вклад в освещение, настраиваются для каждой поверхности в отдельности.

Levels of Detail (LOD)
Уровни детализации (LOD)#

In Unreal Editor, you are likely to be used to configuring LODs for a Static Mesh asset using the Static Mesh Editor. You usually import additional FBX files for all LODs and specify the screen size for each one. The active LOD is defined by the threshold based on the ratio of the mesh's screen-space size to the total screen height.В Unreal Editor вы, вероятно, будете использовать для настройки LOD для ассета Static Mesh с помощью параметра Static Mesh Editor. Обычно вы импортируете дополнительные файлы FBX для всех LOD и указываете размер экрана для каждого из них. Активный уровень детализации определяется порогом на основе отношения размера экранного пространства меша к общей высоте экрана.

LOD Group

Configuring LODS in Static Mesh EditorНастройка LODS в Static Mesh Editor

In UNIGINE, it is much more handy to store all LODs in a single .fbx model, in this case a Static Mesh created based on the asset will have several surfaces corresponing to LODs. Levels of detail are defined based on distances — in a more low-level manner to make fine tuning available. Surfaces have visibility settings for this purpose. You can set the minimum and maximum visibility distances from the camera for each surface. For Cross Fading use the Minimum Fade and Maximum Fade values.В UNIGINE гораздо удобнее хранить все LOD в одной модели .fbx, в этом случае Static Mesh, созданный на основе ассета, будет иметь несколько поверхностей, соответствующих LOD. Уровни детализации определяются на основе расстояний - более низкоуровневым способом, чтобы сделать точную настройку доступной. Поверхности имеют настройки видимости для этого. Вы можете установить минимальное и максимальное расстояние видимости от камеры для каждой поверхности. Для Cross Fade используйте Minimum Fade и Maximum Fade значения.

Surface LOD Settings

Configuring LODs in UNIGINEНастройка LOD в UNIGINE
Примечание
Note the -inf value in one of the fields. You can use inf (Infinity) and -inf (-Infinity) values for parameters supporting this format to define the lowest and highest possible values respectively.Обратите внимание на значение -inf в одном из полей. Вы можете использовать значения inf (Infinity) и -inf (-Infinity) для параметров, поддерживающих этот формат, для определения наименьшего и наибольшего возможных значений соответственно.

Automatic generation of LODs is not provided in UNIGINE, but automatic LODs setup when importing a model is described in the FBX Import Guide. For more details on configuring LODs refer to the dedicated article.Автоматическая генерация LOD в UNIGINE не предусмотрена, но автоматическая настройка LOD при импорте модели описана в разделе FBX Руководстве по импорту . Дополнительные сведения о настройке LOD см. в специальной статье .

Bone-Based Animation
Скелетная анимация#

FBX models containing bone-animated skinned meshes create animation clips when imported in both engines. In UNIGINE, such clips are represented by .anim assets.Модели FBX, содержащие меши со скиннингом с анимацией костей, создают анимационные клипы при импорте в оба движка. В UNIGINE такие клипы представлены ассетами .anim.

Animation sequence in UE4 and .anim asset in UNIGINEПоследовательность анимации в ассете UE4 и .anim в UNIGINE
Примечание
В настоящее время поддерживается только один анимационный клип на меш. Чтобы работать с несколькими анимационными клипами, вам необходимо экспортировать отдельный FBX для каждой анимации.

Skinned Mesh object acts the same way as Skeletal Mesh Actor in UE4 used for handling bone animations.Объект Skinned Mesh действует так же, как Skeletal Mesh Actor в UE4, используемый для обработки анимации костей.

There is no skeleton concept as a special type of asset in UNIGINE. The skinned animation system is focused on operating animation layers: you can configure multiple layers with various animation clips and perform blending between them by using API methods.В UNIGINE нет концепции скелета как особого типа ассета. Система анимации со скинами ориентирована на работу со слоями анимации: вы можете настроить несколько слоев с различными анимационными клипами и выполнить смешивание между ними с помощью методов API.

Example of animation using two layersПример анимации с использованием двух слоев

For more details refer to the following articles:Дополнительные сведения см. в следующих статьях:

Blend Shapes
Blend Shapes#

The same way Skinned Mesh object supports morphing. If a mesh has blend shapes (sometimes referred to as morph targets) assigned in a third-party 3D modelling software, they will be available internally as surface morph targets (provided the Import Morph Targets option was enabled for the imported asset).Таким же образом объект Skinned Mesh поддерживает морфинг. Если мешу назначены blend shapes (иногда называемый morph targets) в стороннем программном обеспечении для 3D-моделирования, они будут доступны для внутреннего использования как цели морфинга поверхности (при условии, что для импортированного ресурса была включена опция Import Morph Targets).

In UNIGINE, multiple animation morph targets (i.e. morph layers) are created based on the available surface morph targets and blended manually using weights via API methods.В UNIGINE несколько целей морфинга анимации (т.е. Слои морфинга) создаются на основе доступных целей морфинга поверхности и смешиваются вручную с использованием весов через Методы API .

Follow the related tutorial for more details:Следуйте соответствующему руководству для получения более подробной информации:

Materials and Shaders
Материалы и шейдеры#

Similar to Unreal Engine, UNIGINE primarily works with PBR materials. Additionally, UNIGINE supports legacy Specular workflow.Подобно Unreal Engine, UNIGINE в основном работает с PBR материалами . Кроме того, UNIGINE поддерживает устаревший Specular workflow .

In UE4, you are accustomed to create materials and edit them using a node-based Material Editor visually. Each node represents a snippet of HLSL code, so, basically, you create a shader through visual scripting. To avoid time-consuming rebuilding of the material when tweaking parameters, you can use Material Instances.В UE4 вы привыкли создавать материалы и редактировать их визуально с помощью нодового редактора материалов. Каждая нода графа представляет собой фрагмент кода HLSL, поэтому, по сути, вы создаете шейдер с помощью визуальных сценариев. Чтобы избежать трудоемкой перестройки материала при настройке параметров, вы можете использовать экземпляры материалов .

In UNIGINE, material system is formed by base materials and user materials inherited from them. A node-based Material Editor is also available in UNIGINE enabling you to create custom complex materials without coding required.В UNIGINE материальная система образована базовыми (base) материалами и унаследованными от них пользовательскими (user) материалами.

Materials in the UNIGINE rendering pipelineМатериалы в конвейере рендеринга UNIGINE

A base material is a set of read-only material properties (basically flags, parameters and textures) referring to fragment, vertex and geometry shaders. Base material can be assigned to nodes (or surfaces) of the type it is bound to. UNIGINE provides a rich out-of-the-box library of base materials and standard shaders that can be used to create almost any appearance for all the types of nodes available in the engine.Базовый материал - это набор доступных только для чтения свойств материала (в основном флагов, параметров и текстур), относящихся к фрагментным, вершинным и геометрическим шейдерам. Базовый материал может быть назначен нодам (или поверхностям) того типа, к которому он привязан. UNIGINE из коробки предоставляет богатую библиотеку базовых материалов и стандартных шейдеров, которые можно использовать для создания практически любого внешнего вида для всех типов нод, доступных в движке.

Примечание
All materials are listed in the Materials window (menu: Windows -> Materials Hierarchy).Все материалы перечислены в окне Materials (меню: Windows -> Materials Hierarchy).

The mesh_base is the base PBR material in UNIGINE used for mesh surfaces. Right here you can inherit a new material from it and start setting it up by tweaking the parameters and assigning textures in the Parameters window.mesh_base - это базовый PBR-материал в UNIGINE, используемый для поверхностей меша. Прямо в редакторе вы можете унаследовать от него новый материал и начать настройку путем регулировки параметров и назначения текстур в окне Parameters.

Parameters of the mesh_base materialПараметры материала mesh_base

We create user materials by inheriting them from base materials to override some properties passed to shaders on rendering. When creating a material in the Asset Browser, we choose the base material to inherit from, thus defining the type of objects the new material will support.Мы создаем пользовательские (user) материалы, наследуя их от базовых (base) материалов, чтобы переопределить некоторые свойства, передаваемые шейдерам при рендеринге. При создании материала в Asset Browser мы выбираем базовый материал для наследования, таким образом определяя тип объектов, которые будет поддерживать новый материал.

Create Material windowCreate Material окно

Furthermore, user materials can form a hierarchy for convenience. So, when parameters of the parent material are changed, overridden parameters of its children remain the same.Кроме того, для удобства пользовательские материалы можно организовать в иерархию. Таким образом, когда параметры родительского материала изменяются, переопределенные параметры его дочерних элементов остаются прежними.

Materials Hierarchy windowMaterials Hierarchy окно

You can create a custom base material via the visual Material Editor or manually, in this case you will need to create and edit a .basemat file in a text editor. The format of Base Material asset has a quite straight structure. As for shaders, HLSL and GLSL sysntaxes are supported for DirectX and OpenGL respective. Also, UUSL, the built-in UNIGINE shader language is provided as a universal one.Обратите внимание, что нодовый редактор материалов на основе узлов не предоставляется в UNIGINE (эта функция в настоящее время изучается), поэтому для создания настраиваемого базового материала вам нужно будет вручную создать и отредактировать файл .basemat в текстовом редакторе. В формат ассета "Базовый материал" имеет довольно прямую структуру. Что касается шейдеров, то системные синтаксисы HLSL и GLSL поддерживаются для DirectX и OpenGL соответственно. Кроме того, UUSL, встроенный шейдерный язык UNIGINE, предоставляется как универсальный.

See also:Смотрите также:

Shader Compilation
Компиляция шейдеров#

UE4 compiles shaders asynchronously using a streaming system.UE4 асинхронно компилирует шейдеры с использованием потоковой системы.

In UNIGINE, Forced Shader Compilation, an in-editor feature, is available via both the toolbar and the Editor section of the Settings window.В UNIGINE Принудительная компиляция шейдеров , функция редактора, доступна как через панель инструментов, так и через раздел Editor окна Settings.

Lighting and Environment
Освещение и окружающая среда#

The same way as in UE4, lighting in UNIGINE can be considered as either realtime or precomputed. A set of objects and tools enables you to get benefit from the both approaches.Так же, как в UE4, в UNIGINE можно использовать как динамическое освещение, так и предварительно вычисляемое. Набор объектов и инструментов позволяет получить пользу от обоих подходов.

Light Sources
Источники света#

In UE4, light sources are represented by several Light actors. UNIGINE provides several types of light sources similar to the ones of Unreal Engine. The following table lists all possible way to add lighting in both engines.В UE4 источники света представлены несколькими актерами Light. UNIGINE предоставляет несколько типов источники света аналогично Unreal Engine. В следующей таблице перечислены все возможные способы добавления освещения в обоих движках.

Light Source Unreal Engine UNIGINE

A light source located at a point and sending light out in all directions equallyИсточник света, расположенный в точке и равномерно испускающий свет во всех направлениях.

Point Light

Light Omni

A light source type providing a cone-shaped region of illuminationТип источника света, обеспечивающий конусообразную область освещения.

Spot Light

Light Projected

A type simulating an infinitely distant light source and casting parallel beams onto the scene Тип, имитирующий бесконечно удаленный источник света и отбрасывающий параллельные лучи на сцену

Directional Light

Light World

An area light that illuminates objects in different directions at once Поверхностный свет, который одновременно освещает объекты в разных направлениях

Area Light: Rectangle and Disc shapeОбласть света: прямоугольник и форма диска

Shape Type: Sphere, Capsule and RectangleТип формы: сфера, капсула и прямоугольник

Emissive objects emitting light across their surface area Излучающие объекты, излучающие свет по всей площади своей поверхности

Emissive materialsЭмиссионные материалы

EmissionЭмиссия

Flat ambient lighting Плоское окружающее освещение

Sky light with a cubemap specifiedНебесный свет с указанной кубической картой

Environment Ambient Lighting, Environment ProbeОкружающее освещение , Environment Probe

Shadows
Тени#

In UE4, light sources can be Static, Stationary, actors have the same modes. When it comes to light baking (including shadows), UE4 workflow implies using Lightmaps.В UE4 источники света могут быть статическими, стационарными , у актеров одинаковые режимы. Когда дело доходит до запекания света (включая тени), рабочий процесс UE4 подразумевает использование карт освещения .

Considering the concept of realtime and precomputed shadows, UNIGINE provides both types of shadows from light sources.Учитывая концепцию теней в реальном времени и предварительно вычисленных теней, UNIGINE предоставляет оба типа теней от источников света.

Shadows are cast using a commonly used technique called Shadow Mapping. All light sources can be either in Dynamic or Static mode according to which it is decided if shadow maps are computed in real time or saved in an asset, thus significantly reducing the number of polygons rendered each frame. Apparently, moving lights should be Dynamic, we can't precompute shadows cast from a moving light source.Тени отбрасываются с использованием широко используемой техники под названием Shadow Mapping. Все источники света могут быть в динамическом или статическом режимах, что определяет, будут ли карты теней вычисляться в реальном времени или сохраняться в ассете, что значительно сокращает количество полигонов, отображаемых в каждом кадре. Очевидно, движущиеся источники света должны быть динамическими , мы не можем предварительно вычислить тени, отбрасываемые движущимся источником света.

The Mixed or Static Shadow Casting Mode of a light source filters the surfaces that cast shadows from it. By using the Mixed mode you can combine baked shadows from static geometry and realtime shadows cast by certain dynamic meshes. Use the Shadow Mode to decide whether the surface is static or dynamic.Смешанный или статический Shadow Casting Mode источника света фильтрует поверхности, отбрасывающие от него тени. Используя смешанный режим, вы можете комбинировать запеченные тени от статической геометрии и тени в реальном времени, отбрасываемые определенными динамическими мешами. Используйте Shadow Mode, чтобы решить, является ли поверхность статической или динамической.

The Shadow Mode parameter is set per surface

You don't have to bake shadows to achieve the soft shadows effect. This is controlled by the Penumbra Mode and Filtering Mode parameters per each light source.Вам не нужно запекать тени, чтобы добиться эффекта мягких теней. Это контролируется параметрами Penumbra Mode и Filtering Mode для каждого источника света.

World light source uses an advanced shadow mapping technique called Parallel-Split Shadow Mapping to handle shadows at large distances, it is pretty close to the Cascaded Shadow Maps technique the Directional light source uses in Unreal Engine. The shadow settings are available per each light source.Источник света World использует продвинутую технику отображения теней, называемую Parallel-Split Shadow Mapping, для обработки теней на больших расстояниях, она довольно близка к технике каскадных карт теней, которую использует направленный источник света в Unreal Engine. Настройки теней доступны для каждого источника света.

To learn more about configuring different types of shadows, follow the dedicated links: Чтобы узнать больше о настройке различных типов теней, пройдите по специальным ссылкам:

Contact Shadows
Контактные тени#

Contact Shadows are known as Screen-Space Shadows in UNIGINE. Settings for them are available per each light source.Контактные тени известны как Screen-Space Shadows в UNIGINE. Настройки для них доступны для каждого источника света.

Light Functions
Световые функции#

To filter a light's intensity Unreal Engine provides Light Functions.Для фильтрации интенсивности света Unreal Engine предоставляет Light Functions.

In UNIGINE, you can use an arbitrary 2D diffuse or albedo texture in the Texture parameter of Light Projected. The same way you can apply texture modulation to a Light Omni by using a cubemap texture.В UNIGINE вы можете использовать произвольную двухмерную диффузную текстуру или текстуру альбедо в параметре Texture значения Light Projected. Таким же образом вы можете применить модуляцию текстуры к Light Omni, используя кубическую текстуру.

Modulation by textureМодуляция по текстуре
Modulation by cubemapМодуляция с помощью cubemap

This is the way IES Light Profiles can be simulated as well.Таким же образом можно моделировать световые профили IES.

Environment
Среда (Environment)#

In UE4, atmospheric lighting is usually represented by a set of actors: SkyLight, SkyAtmosphere, AtmosphericFog, and DirectionalLight.В UE4 атмосферное освещение обычно представлено набором актеров: SkyLight, SkyAtmosphere, AtmosphericFog и DirectionalLight.

In UNIGINE, all Environment Settings are gathered in the Render Settings (choose Window -> Settings in the main menu, then in the Settings window go to Runtime -> World -> Render -> Environment).В UNIGINE все Настройки среды собраны в настройках рендеринга (выберите Window -> Settings в главном меню, затем в окне Settings перейдите к Runtime -> World -> Render -> Environment).

UNIGINE Environment SettingsНастройки среды UNIGINE

UNIGINE provides three environment presets, by configuring which you can create a smooth transition between different weather conditions. By default, the first preset is enabled only.UNIGINE предоставляет три предустановки среды, настраивая которые, вы можете создать плавный переход между различными погодными условиями. По умолчанию включена только первая предустановка.

UNIGINE Environment SettingsНастройки среды UNIGINE

In order to achieve physically correct atmosphere rendering, UNIGINE environment system simulates Scattering by interpolating certain LUTs (Look-UP Textures). This system works in conjunction with the current enabled World light (the Scattering mode), so when configuring environment lighting you should consider all the settings combined. For more details visit the dedicated article.Для достижения физически правильной визуализации атмосферы система окружения UNIGINE имитирует Рассеяние путем интерполяции определенных LUT-текстур. Эта система работает вместе с текущим включенным World light (режим Scattering), поэтому при настройке окружающего освещения вы должны учитывать все настройки вместе. Для получения более подробной информации прочтите эту статью .

You can set a cubemap texture as the Environment Texture for both sky color and reflections.Вы можете установить кубическую текстуру как Environment Texture как для цвета неба, так и для отражений.

Примечание
If you need to change reflections locally, for example indoors, use an Environment Probe with a unique cubemap.Если вам нужно изменить отражение локально, например в помещении, используйте Environment Probe с уникальной кубической картой.

In UNIGINE, you can use a Sky object recreating clouds and environment background in the scene. It can represent a hemisphere or a full sphere with a cubemap assigned, tiled with clouds texture to produce plausible and inexpensive dynamic clouds. В UNIGINE вы можете использовать объект Sky, воссоздающий облака и фон окружающей среды в сцене. Он может представлять собой полусферу или полную сферу с назначенной кубической картой, выложенной текстурой облаков для создания правдоподобных и недорогих динамических облаков.

Примечание
If your project requires simulating lifelike clouds, take a look at the Volumetric Clouds.Если ваш проект требует моделирования реалистичных облаков, взгляните на Объемные облака .

Fog
Туман#

To simulate fog in Unreal Engine, you are accustomed to use different types of actors, such as AtmosphericFog, ExponentialHeightFog with the support for Volumetric Fog.Чтобы имитировать туман в Unreal Engine, вы привыкли использовать разные типы актеров, такие как AtmosphericFog, ExponentialHeightFog с поддержкой Volumetric Fog.

For the same purpose in UNIGINE you can use Environment Haze in the Solid mode or, if the difference between haze and fog is crucial for your project, use Volumetric Objects — they are great for simulating light beams and shafts, fog and shaped clouds.Для той же цели в UNIGINE вы можете использовать Environment Haze в режиме Solid или, если разница между дымкой и туманом имеет решающее значение для вашего проекта, используйте Волюметрики (Volumetrics) - они отлично подходят для имитации световых лучей и валов, тумана и фигурных облаков.

Global Illumination
Глобальное освещение#

Unreal Engine provides a set of advanced systems that model indirect lighting significantly improving the realistic look of the scene. So does UNIGINE. This section lists UE4 GI techniques and ways to get the same or similar results in UNIGINE.Unreal Engine предоставляет набор продвинутых систем, которые моделируют непрямое освещение, значительно улучшая реалистичный вид сцены. UNIGINE тоже. В этом разделе перечислены методы UE4 GI и способы получения таких же или похожих результатов в UNIGINE.

Lightmaps
Карты освещения#

UE4 provides the Lightmass system enabling you to pre-calculate (bake) the brightness of surfaces in a scene and store the result in a lightmap for later use at run time. It requires non-overlapping UVs which are auto-generated for static meshes when importing.UE4 предоставляет систему Lightmass, позволяющую предварительно рассчитать (запечь) яркость поверхностей в сцене и сохранить результат в карте освещения для последующего использования во время выполнения. Для этого требуются неперекрывающиеся UV-развертки, которые автоматически генерируются для статических мешей при импорте.

Baked indoor GI using Lightmass Portal in UE4Запеченный GI в помещении с использованием Lightmass Portal в UE4

In UNIGINE, lightmaps are also supported and baked using the integrated GPU Lightmapper tool.В UNIGINE карты освещения также поддерживаются и запекаются с помощью встроенного инструмента GPU Lightmapper.

UNIGINE provides another advanced solution for static GI — Voxel-Based Global Illumination provided by Voxel Probe.UNIGINE предоставляет еще одно продвинутое решение для статического GI - Voxel-Based Global Illumination, предоставляемое Voxel Probe.

UNIGINE Voxel-Based Global IlluminationГлобальное освещение на основе вокселей UNIGINE

Voxel Probe is a box-shaped volume composed of voxels of fixed size, providing both pre-calculated indirect lighting and diffuse (blurred) reflections. One of advantages of this approach — there is no need in UV coordinates, any geometry will contribute to GI with no issues.Voxel Probe - это прямоугольный объем, состоящий из вокселей фиксированного размера, обеспечивающий как предварительно рассчитанное непрямое освещение, так и диффузные (размытые) отражения . Одно из преимуществ этого подхода - нет необходимости в координатах UV, любая геометрия без проблем внесет свой вклад в GI.

Light baking is performed using Bake Lighting tool.Легкое запекание выполняется с помощью инструмента Bake Lighting.

Similar to using Lightmass Importance Volume in UE4, you can make insets — Voxel Probes with more dense grid — to bake more details of GI where necessary.Подобно использованию Lightmass Importance Volume в UE4, вы можете сделать вставки - Voxel Probes с более плотной сеткой - чтобы запечь больше деталей GI там, где это необходимо.

As concerns realtime, Unreal Engine supports SSGI solution providing real-time GI simulation in screen space. For such cases UNIGINE features the SSRTGI (Screen-Space Ray-Traced Global Illumination) technology, which incorporates ray-traced SSGI, SSAO and Bent Normals in screen space, enhancing overall connectedness of the scene a lot.Что касается реального времени, Unreal Engine поддерживает решение SSGI, обеспечивающее симуляцию GI в реальном времени в пространстве экрана. Для таких случаев UNIGINE использует технологию SSRTGI (Screen-Space Ray-Traced Global Illumination), которая включает в себя SSGI, SSAO and Bent Normals с трассировкой лучей в пространстве экрана, значительно улучшая общую связность сцены.

Baked Ambient Occlusion
Запеченное Ambient Occlusion#

Lightmass system is also capable of baking Ambient Occlusion, a part of pre-computed illumination which darkens creases, holes and surfaces that are close to each other.Система Lightmass также способна запекать Ambient Occlusion, часть предварительно рассчитанного освещения, которая затемняет складки, отверстия и поверхности, расположенные близко друг к другу.

UNIGINE has no built-in baking tool for ambient occlusion, nonetheless, it is possible to apply an additional ambient occlusion texture generated using third-party software in the mesh_base material settings.UNIGINE не имеет встроенного инструмента запекания для ambient occlusion, тем не менее, можно применить дополнительные окружающая окклюзия Текстура сгенерирована сторонним ПО в настройках материала mesh_base.

Volumetric Lightmaps
Объемные карты освещения#

Volumetric Lightmap storing precomputed lighing in all points in space is much closer to UNIGINE Voxel Probe.Volumetric Lightmap хранение предварительно вычисленных значений освещенности во всех точках пространства намного ближе к UNIGINE Voxel Probe.

Volumetric Lightmap in Unreal EditorОбъемная карта освещения в Unreal Editor

As Voxel Probe has internal volume baked, it will illuminate objects that move within its bounds. The Bake Internal Volume parameter enables to choose the quality and time required to bake GI for empty voxels (i.e. the voxels that do not cover any geometry).Поскольку Voxel Probe имеет запеченный внутренний объем, он будет освещать объекты, которые движутся в его пределах. Параметр Bake Internal Volume позволяет выбрать качество и время, необходимое для запекания GI для пустых вокселей (то есть вокселей, которые не покрывают какую-либо геометрию).

Voxel-based GI on moving objects in UNIGINEGI на основе вокселей для движущихся объектов в UNIGINE

To preview ambient lighting in the viewport, switch the Rendering Debug mode to Indirect Lighting.Чтобы предварительно просмотреть окружающее освещение в области просмотра, переключите режим Rendering Debug на Indirect Lighting.

Reflection Capture
Захват отражения#

An almost complete counterpart for Sphere Reflection Capture and Box Reflection Capture actors of UE4 is Environment Probe in UNIGINE. This reflection provider stores a cubemap texture to be rendered on reflective surfaces within its bounds. Практически полный аналог Sphere Reflection Capture и Box Reflection Capture актеров UE4 - это Environment Probe в UNIGINE. Этот провайдер отражения хранит кубическую текстуру для визуализации на отражающих поверхностях в пределах его границ.

A reflective sphere placed inside Environment ProbeОтражающая сфера, помещенная внутри Environment Probe

Environment Probe can be either Static or Dynamic:Environment Probe может быть статическим или динамическим :

Dynamic Mode. The cubemap is grabbed each frame providing real time reflections and a massive load on the CPU.Dynamic Режим . Кубическая карта захватывается каждый кадр, обеспечивая отражение в реальном времени и огромную нагрузку на процессор.

Static Mode. Environment Probe uses a pre-baked cubemap obtained using the Bake Lighting tool. This mode suits mostly static environments.Static Режим . Environment Probe использует предварительно запеченную кубическую карту, полученную с помощью инструмента Bake Lighting. Этот режим подходит в основном для статических сред.

Custom Static Mode. The static mode with a custom cubemap texture assigned.Custom Static Режим . Статический режим с назначенной пользовательской текстурой кубической карты.

Box projection is supported as well:Проекция коробки также поддерживается:

Projection types shown on a box-shaped roomТипы проекций, показанные на коробчатой комнате

Furthermore, spherical Environment Probe can be subject to Parallax effect controlled by the corresponding parameter. While the 0 value implies projecting the reflection on an infinitesimally far sphere, the value of 1 corresponds to the actual Probe bounding sphere taking into account the viewer's perspective.Кроме того, сферический Environment Probe может подвергаться эффекту Parallax, управляемому параметром соответствующий параметр . В то время как значение 0 подразумевает проецирование отражения на бесконечно удаленную сферу, значение 1 соответствует фактической ограничивающей сфере Probe с учетом перспективы зрителя.

Planar Reflection
Плоское отражение#

The Planar Reflection actor is the provider of real-time planar reflections in Unreal Engine.Актер Planar Reflection является поставщиком плоских отражений в реальном времени в Unreal Engine.

In UNIGINE, planar reflections are implemented via Planar Reflection Probe.В UNIGINE плоские отражения реализованы через Planar Reflection Probe.

Screen Space Reflections
Отражения в экранном пространстве#

Screen-Space Reflections are also a part of UNIGINE. Global SSR settings contain multiple parameters making fine-tuning available.Отражения в экранном пространстве также являются частью UNIGINE. Глобальные настройки SSR содержат несколько параметров, обеспечивающих возможность точной настройки.

Audio and Video
Аудио и видео#

Audio Sources
Источники звука#

In UE4, AudioComponent plays back Sound Wave assets. The sound is spatialized using the dedicated flag of AudioComponent.В UE4 AudioComponent воспроизводит ресурсы Sound Wave. Звук пространственно распределяется с помощью специального флага AudioComponent.

In UNIGINE, Sound Source node type is responsible for playing back an audio asset. It provides a surround effect the same way. While many parameters seem rather familiar to you, such settings as Doppler level, Attenuation (Rolloff) function and other, including Audio Mixer channels, are available only globally in the Sound section of the Settings window.В UNIGINE нода типа Sound Source отвечает за воспроизведение аудиоресурса. Таким же образом она обеспечивает эффект объемного звучания. Хотя многие параметры кажутся довольно знакомыми, такие параметры , как уровень Доплер, Attenuation (Rolloff) функция и другие, в том числе каналов Audio Mixer, доступны только в глобальном масштабе в разделе Sound окна Settings.

Примечание
Take note that a sound source must use a mono audio file to be spatialized at run time. Stereo audio files are played according to the stereo channels stored.Обратите внимание, что источник звука должен использовать монофонический аудиофайл для пространственного размещения во время выполнения. Стереоаудиофайлы воспроизводятся в соответствии с сохраненными стереоканалами.

UNIGINE supports HRTF (Head Related Transfer Function) out of the box, so imitation of surround sound for stereo headsets is close to real life.UNIGINE «из коробки» поддерживает HRTF (Head Related Transfer Function), поэтому имитация объемного звука для стереогарнитур приближена к реальной.

Another sound source entity in UNIGINE is the Ambient Source used to create a non-directional ambient background sound (e.g. background music). It has no position in the world and, therefore, can't be represented as a node. So it is available only via API.Другой объект источника звука в UNIGINE - это Ambient Source, используемый для создания ненаправленного окружающего фонового звука (например, фоновой музыки). Он не имеет позиции в мире и, следовательно, не может быть представлен как нода. Так что он доступен только через API.

Audio Volumes
Объемы аудио#

Just like Audio Volume in Unreal Engine, UNIGINE Sound Reverb objects represent reverberation zones where ambient sound effect appears provided the player is within the zone. With fine-tuned parameters a reverberation zone correctly reproduces the way the sound is reflected from surfaces, forming three main components:Как и Audio Volume в Unreal Engine, объекты UNIGINE Sound Reverb представляют зоны реверберации, в которых появляется эффект окружающего звука при условии, что игрок находится в пределах зоны. С точно настроенными параметрами зона реверберации правильно воспроизводит отражение звука от поверхностей, образуя три основных компонента:

  • Early reflectionsРанние размышления
  • Late reverberationПоздняя реверберация
  • EchoЭхо

Besides that, a number of parameters can be changed to alter the type of environment being simulated. A number of presets may help you to quickly choose the most suitable type of environment to simulate:Кроме того, можно изменить ряд параметров, чтобы изменить тип моделируемой среды. Ряд предустановок может помочь вам быстро выбрать наиболее подходящий тип среды для моделирования:

By adjusting the Threshold parameter you can enable smooth sound transition when the listener moves from the outside area into the reverberation zone.Регулируя параметр Threshold, вы можете включить плавный переход звука, когда слушатель перемещается из внешней области в зону реверберации.

Playing Video
Воспроизведение видео#

In Unreal Engine, you use Media Framework to play back video files stored in Media Source asset types. Videoclips of various formats can be rendered to textures and other targets.В Unreal Engine вы используете Media Framework для воспроизведения видеофайлов, хранящихся в типах ресурсов Media Source. Видеоклипы различных форматов могут быть визуализированы с текстурами и другими целями.

In UNIGINE, video playback is supported only in a virtual monitor as a part of GUI system. Currently only *.OGV files are supported.В UNIGINE воспроизведение видео поддерживается только в виртуальный монитор как часть системы GUI. В настоящее время поддерживаются только файлы *.OGV.

Built-in Optimization
Встроенная оптимизация#

Levels Streaming
Уровни стриминга#

Unreal Engine supports streaming of levels: you can create several maps representing small chunks of a huge world that are streamed when the player approaches to them. The levels to be streamed are listed in Levels window.Unreal Engine поддерживает стриминг уровней: вы можете создать несколько карт, представляющих небольшие фрагменты огромного мира, которые транслируются, когда игрок приближается к ним. Уровни для стриминга перечислены в окне Levels.

In UNIGINE, resources streaming is a part of the advanced Asynchronous Data Streaming system. This system is intended to reduce spikes caused by loading of graphic resources, such as meshes and textures. Only the resources that are required to render the current camera view are loaded; and unloaded as soon as other resources require to be loaded to video memory in order not to exceed the specified memory limits. Uploading is time-sliced so as to avoid spikes when the world is just loaded.В UNIGINE стриминг ресурсов является частью системы Асинхронного стриминга данных . Эта система предназначена для уменьшения спайков, вызванных загрузкой графических ресурсов, таких как меши и текстуры. Загружаются только те ресурсы, которые требуются для рендеринга текущего вида камеры; и выгружается, как только другие ресурсы требуют загрузки в видеопамять, чтобы не превысить указанные ограничения памяти. Загрузка ограничена по времени, чтобы избежать спайков, когда мир только что загружается.

Settings for fine adjustment are available in the Streaming section of the Settings window:Параметры для точной настройки доступны в разделе Streaming окна Settings:

Texture Streaming
Стриминг текстур#

UE4 provides mipmap-based Texture Streaming. This system reduces the total amount of memory UE4 needs for textures by loading only the mipmaps that are needed to render the current camera position in the scene.UE4 обеспечивает мипмап на основе стриминга текстур. Эта система уменьшает общий объем памяти, необходимый UE4 для текстур, загружая только MIP-карты, которые необходимы для визуализации текущего положения камеры в сцене.

UNIGINE's Asynchronous Data Streaming system uses pre-cached minimized copies of textures — Texture Cache. On world loading the texture cache is loaded first, giving a preliminary content for the scene, whilst full-size textures are being asynchronously loaded.Система асинхронной потоковой передачи данных UNIGINE использует предварительно кэшированные минимизированные копии текстур - Кэш текстур . При загрузке мира кеш текстур загружается первым, предоставляя предварительное содержимое для сцены, в то время как полноразмерные текстуры загружаются асинхронно.

Occlusion Culling
Occlusion Culling#

In UE4, apart from the common culling technique, such as Frustum Culling, there is also a set of additional ones. Mostly all of them have Occlusion Culling analogs available in UNIGINE. These techniques extremely reduce the number of polygons rendered.В UE4, помимо обычной техники отсечения, такой как Frustum Culling , есть еще набор дополнительных. Практически все они имеют аналоги Occlusion Culling, доступные в UNIGINE. Эти методы значительно сокращают количество визуализируемых полигонов.

Precomputed Static Visibility in UE4Предварительно вычисленная статическая видимость в UE4

In UNIGINE, technique is represented by methods:В UNIGINE техника представлена методами:

  • Cull Distance Volumes can be replaced by Switcher nodes. Cull Distance Volumes можно заменить нодами Switcher.
  • Precomputed Static Visibility. It is usual for you, as an Unreal Engine user, to define Visibility Volumes and precompute visibility cells.Precomputed Static Visibility. Вы, как пользователь Unreal Engine, обычно определяете Visibility Volumes и предварительно вычисляете ячейки видимости.

    In UNIGINE, you can use box-shaped and mesh-based Occluder culling geometry occluded by them dynamically.В UNIGINE вы можете использовать прямоугольные и меш-окклюдеры (Occluders), динамически отбрасывающие отрисовку геометрии, которую они перекрывают.

  • Hardware Occlusion Queries technique is also available in UNIGINE. It allows skipping rendering of objects, the bounding boxes of which are covered by another opaque geometry.Запросы аппаратной окклюзии Техника также доступна в UNIGINE. Это позволяет пропускать рендеринг объектов, ограничивающие рамки которых закрыты другой непрозрачной геометрией.

Draw Call Batching
Пакетная обработка вызовов отрисовки#

There is no Draw call batching in Unreal Engine as is. You are rather accustomed to Merge Actor and use the Proxy Geometry tool as a way to reduce the number of draw calls by combining static meshes and materials they use.В Unreal Engine нет пакетной обработки вызовов отрисовки как таковой. Вы скорее привыкли к Merge Actor и используете инструмент Proxy Geometry как способ уменьшить количество вызовов отрисовки, комбинируя статические меши и материалы, которые они используют.

UNIGINE performs DIP batching: all opaque surfaces are automatically grouped and rendered in batches according to materials assigned, thus decreasing the number of DIP calls and, therefore, increasing the performance. This is why sometimes it is reasonable to create Texture Atlases, so even objects using different textures could share the same material in order to be subject to batching.UNIGINE выполняет пакетирование DIP : все непрозрачные поверхности автоматически группируются и визуализируются партиями в соответствии с назначенными материалами, таким образом уменьшая количество вызовов DIP и, следовательно, повышая производительность. Вот почему иногда целесообразно создавать атласы текстур , чтобы даже объекты, использующие разные текстуры, могли использовать один и тот же материал для группирования.

UNIGINE provides additional objects to take full advantage of mesh batching:UNIGINE предоставляет дополнительные объекты, чтобы в полной мере использовать возможности пакетной обработки мешей:

  • Mesh Clutter is an object used to scatter a large number of identical meshes across the world. It is suitable for simulating vegetation a lot while keeping performance high. Mesh Clutter - это объект, используемый для разброса большого количества идентичных мешей по всему миру. Он подходит для имитации растительности, сохраняя при этом высокую производительность.

  • Mesh Cluster is an object that can contain a great number of identical meshes with the same material, which are managed as one object. Cluster meshes can be scattered either automatically, or each mesh can be positioned, rotated, and scaled manually.Mesh Cluster - это объект, который может содержать большое количество идентичных мешей с одним и тем же материалом, которые управляются как один объект. Кластерные меши могут быть распределены либо автоматически, либо каждый меш можно позиционировать, вращать и масштабировать вручную.

Follow the Working with Large Number of Objects article for more details on using these objects.Следовать Работа с большим количеством объектов статью для более подробной информации об использовании этих объектов.

Billboards
Билборды#

In UE4, you use Billboard rendering component — a 2D texture rendered always facing the camera that can be used to replace a complex 3D mesh at some distance from the camera, thus reducing the load on GPU.В UE4 вы используете компонент рендеринга Billboard - 2D-текстуру, визуализируемую всегда лицом к камере, которую можно использовать для замены сложной 3D-меши на некотором расстоянии от камеры, тем самым снижая нагрузку на графический процессор.

Fog sheet created using Billboard in UE4Лист тумана, созданный с использованием Billboard в UE4

UNIGINE provides support for Billboards as well. In UNIGINE, a billboard is a rectangular flat object that always faces the camera so it is capable of representing some flat effects and objects that are barely seen from far off.UNIGINE также поддерживает Billboards. В UNIGINE билборд - это прямоугольный плоский объект, который всегда обращен к камере, поэтому он способен отображать некоторые плоские эффекты и объекты, которые едва видны издалека.

Billboards sample in UNIGINEПример Billboards в UNIGINE

Imposter Sprites
Импосторы#

To substitute a complex mesh with a set of sprites showing the mesh from a number of views, you generate 3D Imposter Sprites using the Render To Texture Blueprint toolset.Чтобы заменить сложный меш набором спрайтов, показывающих меш из нескольких видов, вы генерируете 3D Imposter Sprites с помощью набора инструментов Render To Texture Blueprint.

3D imposter sprites3D спрайты-импосторы

In UNIGINE, you can generate a billboard-based Impostor using the Impostors Creator. This out-of-the-box tool creates a series of snapshots of the object while saving shading fidelity and combines them in a single Billboard object. Now you can use the Impostor object as the lowest LOD for the mesh at a distance.В UNIGINE вы можете создать билборд на основе Impostor используя Impostors Creator. Этот нестандартный инструмент создает серию снимков объекта, сохраняя при этом точность затенения, и объединяет их в один объект Billboard. Теперь вы можете использовать объект Impostor как самый низкий LOD для меша на расстоянии.

Impostor albedo textureImpostor текстура альбедо
Object and Impostor wireframesОбъект и каркасы Impostor

Channels
каналы#

In UE4, you are accustomed to use Channels to define groups of GameObjects to be unapproachable by light sources, as well as for selective collisions.В UE4 вы привыкли использовать Channels для определения групп GameObjects, которые будут недоступны для источников света, а также для выборочных коллизий.

In UNIGINE, a similar system is called the Bit Masking mechanism. Objects, cameras, materials, and other entities have bit masks used by various effects and features to define their scope. Each bit in a bit mask can be named for convenience.В UNIGINE аналогичная система называется механизмом Bit Masking. Объекты, камеры, материалы и другие объекты имеют битовые маски, используемые различными эффектами и функциями для определения их области действия. Каждый бит в битовой маске может быть назван для удобства.

The masks are compared bitwise using logical conjunction, so if two masks have at least one matching bit enabled, they match and, therefore, the entity is subject to the effect.Маски сравниваются поразрядно с использованием логической конъюнкции, поэтому, если в двух масках включен хотя бы один бит соответствия, они совпадают, и, следовательно, объект подвергается эффекту.

For instance, you can filter out certain objects (e.g. tooltips) for reflections by adjusting the Reflection Viewport Mask:Например, вы можете отфильтровать определенные объекты (например, всплывающие подсказки) для отражений, настроив Reflection Viewport Mask:

For more details and usage examples:Для получения дополнительных сведений и примеров использования:

Optimization Tools
Инструменты оптимизации#

All runtime spikes, bottlenecks, and performance issues can be tracked using the built-in optimization tools:Все всплески времени выполнения, узкие места и проблемы с производительностью можно отслеживать с помощью встроенных инструментов оптимизации:

See Also
Смотрите также#

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