Переход на UNIGINE с Unity: создание контента
MeshesГеометрия (меши)#
As well as in Unity software, mesh is the main graphics primitive in UNIGINE. Being imported to the project, an FBX asset appears as a container for all meshes it stores in the Asset Browser.Как и в программе Unity, меш является основным графическим примитивом в UNIGINE. При импорте в проект ассет FBX появляется как контейнер для всех мешей, которые он хранит в файле Asset Browser.
In Unity Editor, you access the content of an FBX asset using the arrow button next to it:В Unity Editor вы получаете доступ к содержимому ресурса FBX, используя кнопку со стрелкой рядом с ним:
Both meshes and read-only materials appear as components of the asset.И меши, и материалы, доступные только для чтения, являются компонентами ассета.
In UNIGINE, you can do the same by right-clicking the asset and choosing Open:В UNIGINE вы можете сделать то же самое, щелкнув ассет правой кнопкой мыши и выбрав Open:
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.Каждый отдельный объект в модели FBX представлен .mesh ассетом времени выполнения (runtime). Материалы (если есть, при условии, что была включена опция Import Materials), генерируются в папке materials рядом с ассетом.
To create a node that uses the mesh or FBX asset you can simply drag it to the Editor viewport the same way you would do in Unity Editor. In UNIGINE this will add a Mesh Static object to the world hierarchy.К создать узел который использует меш или ассет FBX, вы можете просто перетащить его в окно просмотра редактора так же, как и в Unity Editor. В UNIGINE это добавит объект Mesh Static в мировую иерархию.
Object nodes play the part of the Mesh Filter and Mesh Renderer components. For example, it is best to use a Static Mesh object for objects that are not intended to change their geometry.Объект узлы играют роль компонентов Mesh Filter и Mesh Renderer. Например, лучше всего использовать объект Static Mesh для объектов, которые не предназначены для изменения своей геометрии.
Here Surfaces come into play. 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. Optimization settings you would set for the whole mesh in Unity Editor, such as contribution to lighting and probes, are available for each surface separately.Здесь вступают в игру Поверхности (surfaces). Поверхность представляет собой подмножество меша, которому назначен определенный материал (в сторонних 3D-редакторах), и который имеет имя в соответствии с этим материалом. Для удобства можно изменять иерархию поверхностей, а также включать и выключать их. Настройки оптимизации, которые вы бы установили для всего меша в Unity Editor, такие как вклад в освещение и probes, настраиваются для каждой поверхности в отдельности.
Levels of Detail (LOD)Уровни детализации (LOD)#
In Unity software, you are likely to be used to using the LOD Group component enabling you to operate several detail levels, the active LOD is defined by the threshold based on the ratio of the mesh's screen-space height to the total screen height.В программном обеспечении Unity вы, вероятно, привыкли использовать компонент LOD Group, позволяющий управлять несколькими уровнями детализации, активный LOD определяется порогом на основе отношения высоты экранного пространства меша к общей высоте экрана.
In UNIGINE, levels of detail are configured 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 уровни детализации настраиваются на основе расстояний - более низкоуровневым способом, чтобы сделать возможной тонкую настройку. Поверхности имеют настройки видимости для этого. Вы можете установить минимальное и максимальное расстояние видимости от камеры для каждой поверхности. Для Cross Fade используйте Minimum Fade и Maximum Fade значения.
Automatic creation of LODs upon importing a model is described in the FBX Import Guide. For more details on configuring LODs refer to the dedicated article.Автоматическое создание 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.
Skinned Mesh object is an analog for the Unity Skinned Mesh Renderer component for handling bone animations.Объект Skinned Mesh является аналогом компонента Unity Skinned Mesh Renderer для обработки анимации костей.
Unity software provides a sophisticated animation system (sometimes referred to as 'Mecanim'). It implies using Animator Controller — a state machine that manages animation states and transitions between them.Программное обеспечение Unity предоставляет сложную систему анимации (иногда называемую 'Mecanim'). Это подразумевает использование Animator Controller - конечного автомата, который управляет состояниями анимации и переходами между ними.
UNIGINE 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.
For more details refer to the following articles:Дополнительные сведения см. в следующих статьях:
- ObjectMeshSkinned class API referenceСправочник по API класса ObjectMeshSkinned
- Animation section of C# Component SamplesРаздел анимации Примеры компонентов C #
Blend ShapesBlend Shapes#
The same way the Mesh Skinned object supports morphing. If a mesh has blend shapes (sometimes referred to as morph targets for some 3D editors) assigned in a third-party 3D modelling software, they will be available internally as surface morph targets (provided the Import Morph Targets was enabled for the imported asset).Точно так же объект Mesh Skinned поддерживает морфинг. Если меш имеет blend shapes (иногда называемый morph targets для некоторых 3D-редакторов), назначенный в стороннем программном обеспечении для 3D-моделирования, они будут доступны для внутреннего использования как цели морфинга поверхности (при условии, что для импортированного ресурса включен параметр Import Morph Targets).
Unity Skinned Mesh Renderer component lists the imported Blendshapes in the parameters:Компонент Unity Skinned Mesh Renderer перечисляет импортированные Blendshapes в параметрах:
In UNIGINE, multiple animation morph targets (i.e. morph layers) are created based on the available surface targets and blended manually using weights via API methods.В UNIGINE несколько анимаций morph targets (т.е. слоёв морфинга) создаются на основе доступных поверхностных целей и смешиваются вручную с использованием весов через Методы API .
Follow the related tutorial for more details:Следуйте соответствующему руководству для получения более подробной информации:
Materials and ShadersМатериалы и шейдеры#
Similar to Unity software, UNIGINE primarily works with PBR materials. Additionally, UNIGINE supports legacy Specular workflow, which is available via Standard (Specular setup) in Unity software.Подобно программе Unity, UNIGINE в основном работает с PBR материалы . Кроме того, UNIGINE поддерживает устаревший Specular workflow, который доступен через Standard (Specular setup) в программном обеспечении Unity.
In Unity software, you are accustomed to create user materials that implement a certain shader, depending on the applicability of this shader to a Renderer component type. As an example, you use materials implementing physically based Standard surface shader (or Lit in URP/HDRP) to be used with Mesh Renderer.В программном обеспечении Unity вы привыкли создавать пользовательские материалы, реализующие определенный шейдер, в зависимости от применимости этого шейдера к типу компонента Renderer. В качестве примера вы используете материалы, реализующие физически основанный поверхностный шейдер Standard (или Lit в URP / HDRP) для использования с Mesh Renderer.
In UNIGINE, material system is formed by base materials and user materials inherited from them.В UNIGINE материальная система образована базовыми (base) материалами и унаследованными от них пользовательскими (user) материалами.
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 из коробки предоставляет богатую библиотеку базовых материалов и стандартных шейдеров, которые можно использовать для создания практически любого внешнего вида для всех типов узлов, доступных в движке.
The mesh_base is the base PBR material in UNIGINE used for meshes. Right here you can inherit a new material from it and start setting it up.mesh_base - это базовый PBR-материал в UNIGINE, используемый для мешей. Прямо в редакторе вы можете унаследовать от него новый материал и начать настройку .
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 мы выбираем базовый материал для наследования, таким образом определяя тип объектов, которые будет поддерживать новый материал.
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.Кроме того, для удобства пользовательские материалы можно организовать в иерархию. Таким образом, когда параметры родительского материала изменяются, переопределенные параметры его дочерних элементов остаются прежними.
See also:Смотрите также:
- Video Tutorial: MaterialsВидеоурок: Материалы
- Materials content sample: Контентный сэмпл Materials:
- The series of Creating a Custom Shader Using UUSL articles Серия статей Создание собственного шейдера с использованием UUSL
Lighting and EnvironmentОсвещение и окружающая среда#
The same way as in Unity software, 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.Так же, как и в программном обеспечении Unity, в UNIGINE можно использовать как динамическое освещение, так и предварительно вычисляемое. Набор объектов и инструментов позволяет получить пользу от обоих подходов.
Light SourcesИсточники света#
In Unity software, light sources are represented by the Light component. UNIGINE provides several types of light sources similar to the ones of Unity software.В программном обеспечении Unity источники света представлены компонентом Light. UNIGINE предоставляет несколько типов источники света аналогично программному обеспечению Unity.
Light Source | Unity software | UNIGINE |
---|---|---|
A light source located at a point and sending light out in all directions equallyИсточник света, расположенный в точке и равномерно испускающий свет во всех направлениях. |
Point Light |
|
A light source type providing a cone-shaped region of illuminationТип источника света, обеспечивающий конусообразную область освещения. |
Spot Light |
|
A type simulating an infinitely distant light source and casting parallel beams onto the scene Тип, имитирующий бесконечно удаленный источник света и отбрасывающий параллельные лучи на сцену |
Directional Light |
|
An area light that illuminates objects in different directions at once Поверхностный свет, который одновременно освещает объекты в разных направлениях |
Area Light: Rectangle and Disc shapeArea Light: прямоугольник и форма диска |
Shape Type: Sphere, Capsule and RectangleТип формы: сфера, капсула и прямоугольник |
Emissive objects emitting light across their surface area Излучающие объекты, излучающие свет по всей площади своей поверхности |
Emissive materialsЭмиссионные материалы |
|
Global flat filling lighting Глобальное освещение для плоского заполнения |
Ambient lightОкружающий свет |
Environment Ambient Lighting, Environment ProbeОкружающее освещение , Environment Probe |
ShadowsТени#
In Unity software, light sources can be in Realtime, Mixed, and Baked modes and cast realtime shadows by default. When it comes to light baking (including shadows), Unity workflow implies using Lightmaps. The way of considering GameObject contribution to light baking is defined by its Static flag and a bunch of other parameters.В программном обеспечении Unity источники света могут быть в режимах Realtime, Mixed и Baked и по умолчанию отбрасывать тени в реальном времени. Когда дело доходит до запекания света (включая тени), рабочий процесс Unity подразумевает использование карт освещения . Способ учета вклада GameObject в запекание света определяется его флагом Static и множеством других параметров.
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 Mode, чтобы решить, является ли поверхность статической или динамической.
To learn more about configuring different types of shadows, watch the dedicated video tutorial:Чтобы узнать больше о настройке различных типов теней, посмотрите специальный видеоурок:
World light source, as well as Unity Directional light source, uses an advanced shadow mapping technique called Parallel-Split Shadow Mapping to handle shadows at large distances. The shadow settings are available per each light source.Источник света World, так же как и источник направленного света Unity, использует продвинутую технику отображения теней, называемую Parallel-Split Shadow Mapping, для обработки теней на больших расстояниях. Настройки теней доступны для каждого источника света.
Lights CookiesLights Cookies#
For texture modulated lights, Unity software has a special type of textures: Cookie.Для источников света с текстурной модуляцией программа Unity имеет специальный тип текстур: Cookie.
In UNIGINE, you can use an arbitrary flat diffuse or albedo texture in the Texture parameter of Light Projected. The same way you can apply texture modulation to Light Omni by using a cubemap texture.В UNIGINE вы можете использовать произвольную плоскую диффузную текстуру или текстуру альбедо в параметре Texture Light Projected. Таким же образом вы можете применить модуляцию текстуры к Light Omni, используя кубическую текстуру.
Modulation by textureМодуляция по текстуре
|
Modulation by cubemapМодуляция с помощью cubemap
|
EnvironmentСреда (Environment)#
In Unity Editor, scene environment settings are placed in the Lighting window (menu: Window > Rendering > Lighting Settings). The Environment section contains settings for the skybox, diffuse lighting and environment reflections.В Unity Editor настройки среды сцены помещаются в окно Lighting (меню: Window > Rendering > Lighting Settings). Раздел Environment содержит настройки для скайбокса, диффузного освещения и отражений окружающей среды.
In UNIGINE, similar Environment Settings are available in >Render Settings (choose Window -> Settings in the main menu, then in the Settings window go to Runtime -> World -> Render -> Environment).В UNIGINE аналогичный Environment Settings доступен в Render Settings (выберите Window -> Settings в главном меню, затем в окне настроек перейдите к Runtime -> World -> Render -> Environment).
UNIGINE provides three environment presets, by configuring which you can create a smooth transition between different weather conditions.UNIGINE предоставляет три предустановки среды, настраивая которые, вы можете создать плавный переход между различными погодными условиями.
In order to achieve physically correct atmosphere rendering, UNIGINE's environment system simulates Scattering by interpolating certain LUTs (Look-UP Textures). When configuring environment lighting you should consider all the settings combined. For more details visit the dedicated article.Чтобы добиться физически правильного рендеринга атмосферы, система окружения UNIGINE имитирует Рассеяние путем интерполяции определенных LUT-текстур. При настройке окружающего освещения следует учитывать все параметры вместе. Для получения более подробной информации прочтите эту статью .
You can set a cubemap texture as the Environment Texture (a Unity Skybox counterpart) for both sky color and reflections.Вы можете установить кубическую текстуру в качестве текстуры среды (аналог Unity Skybox) как для цвета неба, так и для отражений.
Additionally, Unity Editor allows specifying a different environment skybox for the camera by using the Skybox script.Кроме того, Unity Editor позволяет указать другое окружение для камеры с помощью скрипта Skybox.
In UNIGINE, you can use the Sky object recreating the atmosphere 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, воссоздающий атмосферу сцены. Он может представлять собой полусферу или полную сферу с назначенной кубической картой, выложенной текстурой облаков для создания правдоподобных и недорогих динамических облаков.
FogТуман#
To simulate fog in Unity software, you are accustomed to use the Other Settings section of the Lighting window when using Forward Rendering Path, and the Deferred Fog feature from the Post Processing package when using Deferred Rendering.Для имитации тумана в программном обеспечении Unity вы привыкли использовать раздел Other Settings окна Lighting при использовании прямого пути рендеринга и функцию Deferred Fog из пакета Post Processing при использовании отложенного рендеринга.
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Глобальное освещение#
Unity software provides a set of advanced systems that model indirect lighting significantly improving the realistic look of the scene. So does UNIGINE. This section lists Unity GI techniques and ways to get the same or similar results in UNIGINE.Программа Unity предоставляет набор продвинутых систем, которые моделируют непрямое освещение, значительно улучшая реалистичный вид сцены. UNIGINE тоже. В этом разделе перечислены методы Unity GI и способы получения таких же или похожих результатов в UNIGINE.
LightmapsКарты освещения#
Unity software provides path-tracing-based lightmappers enabling to pre-calculate (bake) the brightness of surfaces in a scene and store the result in a light map for later use at run time. It requires non-overlapping UVs with small area and angle errors, and sufficient padding between the charts.Программное обеспечение Unity предоставляет средства отображения света на основе трассировки пути, позволяющие предварительно рассчитать (запечь) яркость поверхностей в сцене и сохранить результат в карте освещения для последующего использования во время выполнения. Это требует неперекрывающихся UV-разверток с небольшими ошибками по площади и углу, а также достаточным отступом между диаграммами.
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 Global Illumination provided by Voxel Probe.UNIGINE предоставляет еще одно передовое решение для статического GI - Voxel Global Illumination, предоставляемое Voxel Probe.
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.
As concerns realtime, Unity real-time lightmaps are mainly useful for lights that are animated at run time. For such cases UNIGINE features the SSRTGI (Screen-Space Ray-Traced Global Illumination) technology enhancing overall connectedness of the scene a lot.Что касается реального времени, карты освещения в реальном времени Unity в основном полезны для источников света, которые анимируются во время выполнения. Для таких случаев UNIGINE предлагает технологию SSRTGI (Screen-Space Ray-Traced Global Illumination), значительно улучшающую общую связность сцены.
Light ProbeLight Probe#
In Unity software, information about light passing through the empty space in the scene is handled by Light Probe. The primary use of Light Probe is to provide high quality lighting (including indirect bounced light) on moving objects in the scene.В программном обеспечении Unity информация о свете, проходящем через пустое пространство в сцене, обрабатывается Light Probe. Основное использование Light Probe - обеспечение высококачественного освещения (включая отраженный отраженный свет) движущихся объектов в сцене.
In UNIGINE, you can achieve the same result by using Voxel Probe. 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).В UNIGINE вы можете добиться того же результата, используя Voxel Probe. Параметр Bake Internal Volume позволяет выбрать качество и время, необходимое для запекания GI для пустых вокселей (то есть вокселей, которые не покрывают какую-либо геометрию).
Reflection ProbeReflection Probe#
An almost complete counterpart for Unity Reflection Probe is Environment Probe. These reflection providers store a cubemap texture to be rendered on reflective surfaces.Почти полный аналог для Unity Reflection Probe - Environment Probe. Эти поставщики отражений хранят текстуру кубической карты для визуализации на отражающих поверхностях.
The Static, Realtime and Custom modes are also available for Environment Probe:Статический, Реальный и Пользовательский режимы также доступны для Environment Probe:
Realtime Mode. The cubemap is grabbed each frame providing real time reflections and a massive load on the CPU.Режим реального времени . Кубическая карта захватывается каждый кадр, обеспечивая отражение в реальном времени и огромную нагрузку на процессор.
Static Mode. Environment Probe uses a pre-baked cubemap obtained using the Bake Lighting tool. This mode suits mostly static environments.Статический режим . Environment Probe использует предварительно запеченную кубическую карту, полученную с помощью инструмента Bake Lighting. Этот режим подходит в основном для статических сред.
Custom Mode. The static mode with a custom cubemap texture assigned.Пользовательский режим . Статический режим с назначенной пользовательской текстурой кубической карты.
Box projection is supported as well:Проекция коробки также поддерживается:
Furthermore, spherical Environment Probe can be subject to the 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's bounding sphere taking into account the viewer's perspective.Кроме того, сферический Environment Probe может использовать эффект Parallax, управляемый соответствующим параметром . В то время как значение 0 подразумевает проецирование отражения на бесконечно удаленную сферу, значение 1 соответствует фактической ограничивающей сфере Probe с учетом точки зрения зрителя.
Planar ReflectionPlanar Reflection#
Lately Planar Reflection Probes were added as a part of Unity High Definition Render Pipeline (HDRP). This component is responsible for providing dynamic planar reflections and shares many properties with the conventional Reflection Probe.В последнее время Planar Reflection Probes были добавлены как часть Unity High Definition Render Pipeline (HDRP). Этот компонент отвечает за обеспечение динамических плоских отражений и имеет много общих свойств с обычным Reflection Probe.
In UNIGINE, planar reflections are implemented as Planar Reflection Probe too.В UNIGINE плоские отражения также реализованы как Planar Reflection Probe.
Baked Ambient OcclusionЗапеченное Ambient Occlusion#
Unity GI system is also equipped with Baked Ambient Occlusion, a part of pre-computed illumination which darkens creases, holes and surfaces that are close to each other. Unity Editor supports baking AO out of the box.Система Unity GI также оснащена Baked Ambient Occlusion, частью предварительно рассчитанного освещения, которая затемняет складки, отверстия и поверхности, расположенные близко друг к другу. Unity Editor "из коробки" поддерживает запекание AO.
UNIGINE has no built-in baking tool for AO, nonetheless, it is possible to apply an additional ambient occlusion texture generated using third-party software in the mesh_base material settings.UNIGINE не имеет встроенного инструмента для выпечки AO, тем не менее, возможно применение дополнительных текстура окклюзии окружающей среды генерируется с помощью стороннего ПО в настройках материала mesh_base.
Audio and VideoАудио и видео#
Audio SourcesИсточники звука#
In Unity software, Audio Source components play back Audio Clip assets. There must be an Audio Listener component, usually attached to the main camera by default, to make the sounds audible. The Spatial Blend parameter of the Audio Source component allows controlling the blending between 2D and 3D spatial sound.В программном обеспечении Unity компоненты Audio Source воспроизводят ресурсы Audio Clip. Должен быть компонент Audio Listener, обычно прикрепленный к основной камере по умолчанию, чтобы звуки были слышны. Параметр Spatial Blend компонента Audio Source позволяет управлять смешиванием двухмерного и трехмерного пространственного звука.
In UNIGINE, Sound Source node type is responsible for playing back an audio asset. It provides a surround effect the same way as it does Unity software. There is no such entity as the Unity Audio Listener — all sound sources that appear in the world are audible. 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 отвечает за воспроизведение аудиоресурса. Он обеспечивает эффект объемного звучания так же, как и программное обеспечение Unity. Нет такой сущности, как Unity Audio Listener - все источники звука, которые появляются в мире, слышны. Хотя многие параметры кажутся вам довольно знакомыми, такие настройки, как Doppler level, Attenuation (Rolloff) function и другие, включая каналы Audio Mixer, доступны только глобально в разделе Sound окна Settings.
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 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.
Reverberation ZonesЗоны реверберации#
Just like Reverb Zone in Unity software, UNIGINE's Sound Reverb nodes 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:Как и Reverb Zone в программном обеспечении Unity, узлы 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, вы можете включить плавный переход звука, когда слушатель перемещается из внешней области в зону реверберации.
Видео проигрыватель
Unity software provides an advanced Video Player component capable of rendering videoclips of various formats to textures and other targets.Программное обеспечение Unity предоставляет расширенный компонент Video Player, способный рендерить видеоклипы различных форматов в текстуры и другие объекты.
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Встроенная оптимизация#
Texture StreamingСтриминг текстур#
Unity software provides mipmap-based Texture Streaming. This system reduces the total amount of memory Unity software needs for textures by loading only the mipmaps that are needed to render the current camera position in the scene.Unity программное обеспечение мипмап на основе стриминга текстур. Эта система уменьшает общий объем памяти, необходимый программному обеспечению Unity для текстур, загружая только MIP-карты, которые необходимы для визуализации текущего положения камеры в сцене.
The Texture Streaming settings are provided in Unity Quality Settings.Параметры потоковой передачи текстур представлены в параметрах качества Unity.
In UNIGINE, textures 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:
Asynchronous Texture UploadАсинхронная загрузка текстур#
Unity Asynchronous Texture Upload technique enables time-sliced upload of texture data to GPU.Unity Техника асинхронной загрузки текстур позволяет загружать данные текстуры в графический процессор с временным разделением.
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 CullingOcclusion Culling#
In Unity Editor you can bake static GameObject with the Static Occluder flag enabled into View Volumes for Occlusion Culling to define the geometry that will block the GameObjects with the Static Occludee enabled from rendering. This technique extremely reduces the number of polygons rendered.В Unity Editor вы можете запечь статический GameObject с включенным флагом Static Occluder в View Volumes для Occlusion Culling, чтобы определить геометрию, которая будет блокировать игровые объекты с включенным Static Occludee от рендеринга. Этот метод значительно уменьшает количество визуализируемых полигонов.
Also, it is normal for you, as a Unity user, to define View Volumes using Occlusion Areas and use Occlusion Portals to represent GameObjects that can be both open and closed in terms of blocking the sight, such as doors.Кроме того, для вас, как пользователя Unity, нормально определять объемы просмотра с помощью Occlusion Areas и использовать Occlusion Portals для представления игровых объектов, которые могут быть как открытыми, так и закрытыми с точки зрения блокировки обзора, например дверей.
In UNIGINE, Occlusion Culling technique is represented by two methods:В UNIGINE техника Occlusion Culling представлена двумя способами:
-
Occluder. Use box-shaped and mesh-based objects culling geometry occluded by them.Occluder. Использование прямоугольных объектов и объектов на основе меша, отбрасывающих отрисовку геометрии, которую они закрывают.
-
Hardware Occlusion Queries technique allows skipping rendering of objects, the bounding boxes of which are covered by another opaque geometry.Запросы аппаратной окклюзии Техника позволяет пропускать рендеринг объектов, ограничивающие рамки которых закрыты другой непрозрачной геометрией.
Draw Call BatchingПакетная обработка вызовов отрисовки#
Draw call batching in Unity software is a way to reduce the number of draw calls by combining static GameObjects sharing the same material into big meshes. In order to take advantage of static batching, one needs to enable the Batching Static flag of GameObject:Группирование вызовов отрисовки в программном обеспечении Unity - это способ уменьшить количество вызовов отрисовки за счет объединения статических GameObject, использующих один и тот же материал, в большие меши. Чтобы воспользоваться преимуществами статической пакетной обработки, необходимо включить флаг Batching Static для GameObject:
As well as Unity software, UNIGINE performs Draw call 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.Так же, как и программное обеспечение Unity, UNIGINE выполняет пакетную обработку вызовов отрисовки : все непрозрачные поверхности автоматически группируются и визуализируются партиями в соответствии с назначенными материалами, таким образом уменьшая количество вызовов 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 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 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 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.Более подробную информацию об использовании этих объектов можно найти в статье Работа с большим количеством объектов.
BillboardsBillboards#
In Unity software, you use Billboard Asset — a collection of pre-rendered images of a more complicated Mesh intended for use with the Billboard Renderer component — to replace the complex 3D mesh with a 2D billboard representation at some distance from the camera, thus reducing the load on GPU.В программном обеспечении Unity вы используете Billboard Asset - набор предварительно обработанных изображений более сложной сетки, предназначенной для использования с компонентом Billboard Renderer, - чтобы заменить сложную трехмерную сетку на двумерное представление билборда на некотором расстоянии от камеры, тем самым снижая нагрузку. на GPU.
The most common way to generate Billboard Asset is to use a third-party software or create Billboard Asset from script.Самый распространенный способ создания Billboard Asset - использовать стороннее программное обеспечение или создать Billboard Asset из скрипта.
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 Billboard - это прямоугольный плоский объект, который всегда обращен к камере, поэтому он способен отображать некоторые плоские эффекты и объекты, которые едва видны издалека.
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.Можно сгенерировать Impostor на основе билборда используя Impostors Creator. Этот нестандартный инструмент создает серию снимков объекта, сохраняя при этом точность затенения, и объединяет их в один объект Billboard. Теперь вы можете использовать объект-импостор как самый низкий LOD для меша на расстоянии.
Impostor albedo textureАльбедо текстура импостора |
Object and Impostor wireframesОбъект и каркасы Impostor |
Tags and LayersТеги (Tags) и слои (Layers)#
In Unity Editor you are accustomed to assign Tags to GameObjects for user-defined classification of them. You also use Layers to define groups of GameObjects to be unapproachable by light sources and cameras, as well as for selective raycasting and collisions.В Unity Editor вы привыкли назначать теги GameObjects для их классификации, определяемой пользователем. Слои также используются для определения групп игровых объектов, недоступных для источников света и камер, а также для выборочного построения лучей и столкновений.
In UNIGINE, a high level of abstraction is omitted, both these systems are represented by 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 опущен высокий уровень абстракции, обе эти системы представлены Механизмом Битовых масок. Объекты, камеры, материалы и другие объекты имеют битовые маски, используемые различными эффектами и функциями для определения их области действия. Каждый бит в битовой маске может иметь свое имя для удобства.
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 Masks:Например, вы можете отфильтровать определенные объекты (например, всплывающие подсказки) для отражений, настроив Reflection Viewport Masks:
For more details and usage examples:Для получения дополнительных сведений и примеров использования:
- Proceed to the Bit Masking article.Статья Битовые маски.
- Watch the dedicated video tutorial.Смотрите специальный видеоурок.
Optimization ToolsИнструменты оптимизации#
All runtime spikes, bottlenecks and performance issues can be tracked using the built-in optimization tools:Все спайки во время выполнения, узкие места и проблемы с производительностью можно отслеживать с помощью встроенных инструментов оптимизации:
-
Performance Profiler, an analog for Unity Profiler tool, displays performance data in a timeline in several modes.
-
Microprofile, an advanced CPU/GPU profiler with support for per-frame inspection.
Microprofile, расширенный профилировщик CPU / GPU с поддержкой покадровой проверки.
-
Texture Profiler, a tool helping to check the memory consumption by textures.
See AlsoСмотрите также#
- Content Optimization sectionРазделОптимизация контента.