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

Ландшафт (Landscape Terrain)

The Landscape Terrain system provides advanced simulation of terrain - the most important object in outdoor scene rendering. Object Landscape Terrain allows reconstructing practically any arbitrary landscape with diverse features:Система Landscape Terrain представляет собой передовую технологию моделирование местности - самого важного объекта наружных сцен. Object Landscape Terrain позволяет реконструировать практически любой произвольный ландшафт с широким спектром функциональных возможностей:

  • Virtually infinite terrain surfaceПрактически бесконечная поверхность местности
  • Extreme details up to 1 mm per pixelНевероятная детализация до 1 мм на пиксель
  • Adaptive hardware tessellation with displacement mappingАдаптивная аппаратная тесселяция с поддержкой карт смещения
  • Dynamic modification at run time - craters, funnels, trenchesДинамическая модификация во время работы - кратеры, воронки, траншеи
  • Simple and clear APIПростой и понятный API
  • Up to 1024 detail materialsДо 1024 детализированных материалов
  • Layers system with flexible blending rulesСистема слоев с гибкими правилами наложения
  • Binoculars/scopes support (x20 / down to 1-degree FOV)Поддержка биноклей / оптических прицелов (x20 / угол обзора до 1 градуса)
  • Optimized rendering and physics performanceОптимизированный рендеринг и физическая производительность
  • Support for simultaneous editing by a team of 3D artistsПоддержка одновременного редактирования командой 3D художников
  • Decal-based holesData compression supportОтверстия на основе декалей

The Landscape Terrain system is based on the principle of decomposing terrain graphic data that is too large to fit in the graphic memory in its entirety into smaller rectangular sections known as "tiles". Asynchronous streaming of these tiles makes it possible to render only necessary data at a full level of detail, regardless of the camera's field of view with multiple cameras supported. Flexible streaming settings make it possible to configure terrain rendering even for computers with a limited VRAM capacity.Система Landscape Terrain основана на принципе декомпозиции графических данных ландшафта, которые слишком велики, чтобы поместиться в графической памяти целиком, на меньшие прямоугольные секции, известные как "тайлы". Асинхронная потоковая передача этих плиток позволяет отображать только необходимые данные с полным уровнем детализации, независимо от поля зрения камеры с поддержкой нескольких камер. Гибкие настройки потоковой передачи позволяют настраивать рендеринг ландшафта даже для компьютеров с ограниченным объемом видеопамяти.

FOV

Примечание
To simulate overhangs and caves, use static meshes.Чтобы смоделировать выступы и пещеры, используйте статические меши .
Внимание
DirectX is the recommended graphic API for projects that use the Landscape Terrain system. If you are using OpenGL consider adjusting the render settings.DirectX - рекомендуемый графический API для проектов, использующих систему Landscape Terrain. Если вы используете OpenGL, ознакомьтесь пожалуйста с настройками рендеринга .

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

Landscape Terrain OperationРабота Landscape Terrain#

The Landscape Terrain system is represented by two types of nodes:Система Landscape Terrain представлена двумя типами узлов:

  • Landscape Terrain object is represented by an infinite plane. It is the main node, which is responsible for visualization and calculations: this object renders geometry and graphic data presented in the world and provides intersection detection settings. Also, it stores detail data.
    Примечание
    There can be several Landscape Terrain objects in the scene, but only one of them (active) shall be rendered.There can be several Landscape Terrain objects in the scene, but only one of them (active) shall be rendered.
    There can be several Landscape Terrain objects in the scene, but only one of them (active) shall be rendered.
    Объект Landscape Terrain представлен бесконечной плоскостью. Это главный узел, который отвечает за визуализацию и расчеты: этот объект отображает геометрию и графические данные, представленные в мире, и предоставляет настройки обнаружения пересечений. Также в нем хранятся данные деталей (Details).
    Примечание
    There can be several Landscape Terrain objects in the scene, but only one of them (active) shall be rendered.В сцене может быть несколько объектов Landscape Terrain, но только один из них (активный) будет отрисован.
  • Landscape Layer Map nodes store arbitrary graphic data used for rendering (height, albedo, and masks) and represent rectangular terrain layers that can be arranged in the scene and blended with each other, thus composing the landscape.Landscape Layer Map узлы хранят произвольные графические данные, используемые для рендеринга (высота, альбедо и маски), и представляют прямоугольные слои ландшафта, которые могут быть расположены в сцене и смешаны друг с другом, составляя пейзаж.

Graphic data from Landscape Layer Maps and details (original full-size textures and generated mipmaps) are asynchronously streamed and transferred to the main Virtual Texture, based on which the Landscape Terrain is rendered. The Virtual Texture consists of 3 components: Графические данные из Landscape Layer Maps и детали (исходные полноразмерные текстуры и сгенерированные MIP-карты) загружаются асинхронно потоками и передаются в основную виртуальную текстуру (Virtual Texture), на основе которой визуализируется Landscape Terrain. Виртуальная текстура состоит из 3 компонентов:

  • Albedo — an RGBA8 texture defining the landscape color data,Albedo - текстура RGBA8, определяющая данные цвета ландшафта,
  • Normal — an RGBA8 texture, which stands for small details on the landscape surface,Normal - текстура RGBA8, обозначающая мелкие детали на поверхности ландшафта,
  • Height — an R32F texture defining the height data, according to which the landscape geometry is tessellated.Height - текстура R32F, определяющая данные о высоте, согласно которым геометрия ландшафта тесселируется.
Примечание
The Normal texture is based on the Height data.Текстура нормалей основана на данных о высотах (Heights).

Output of the Render Textures helper. The Terrain Virtual Texture section contains Landscape-related textures.Вспомогательный режим отображения текстур. Раздел Terrain Virtual Texture содержит текстуры, связанные с ландшафтом.

Creating a TerrainСоздание ландшафта#

To create a Landscape Terrain in UnigineEditor perform the following actions:Чтобы создать Landscape Terrain в UnigineEditor, выполните следующие действия:

  1. In the Create menu, select Landscape -> Landscape Terrain. Click somewhere in the Editor Viewport to add the terrain.

    Landscape Terrain is created with a Landscape Layer Map as a child.Landscape Terrain is created with a Landscape Layer Map as a child.

    Landscape Terrain is created with a Landscape Layer Map as a child.
    В Create меню выберите Landscape -> Landscape Terrain. Щелкните в произвольном месте внутри окна просмотра редактора, чтобы добавить ландшафт.

    Landscape Terrain is created with a Landscape Layer Map as a child.Landscape Terrain создается с дочерним элементом Landscape Layer Map.

  2. Set up Height, Albedo and Masks data for the Landscape Layer Map(s), adjust via Brush Editor.Укажите данные о высотах, альбедо и масках для карты ландшафтного слоя, измените их при помощи Редактора кистей .
  3. To add another layer (an inset), click Create -> Landscape -> Landscape Layer Map.Чтобы добавить еще один слой (inset), щелкните Create -> Landscape -> Landscape Layer Map.

Layer MapsКарты слоев#

Landscape Layer Maps represent rectangular terrain layers. By creating and arranging one or several layer maps you define the look and functionality of the terrain.Landscape Layer Maps представляют прямоугольные слои ландшафта. Создавая и располагая на сцене одну или несколько карт слоев, вы определяете внешний вид и функциональность ландшафта.

Each LandscapeLayerMap node refers to an .lmap asset which stores a set of textures:Каждый узел LandscapeLayerMap ссылается на ресурс .lmap, в котором хранится набор текстур:

  • Heightmap used to generate the geometry of Landscape Terrain,Heightmap используется для создания геометрии Landscape Terrain,
  • Albedo texture representing color data,Albedo текстура, представляющая данные цвета,
  • Up to 20 single-channel masks.До 20 одноканальных масок .

Albedo and Heightmap are the primary terrain components defining its look and shape, masks provide additional features. Please note that the density of the terrain graphic data is limited by the render parameters regardless of the density of the source textures.Альбедо и карта высот являются основными компонентами ландшафта, определяющими его внешний вид и форму, маски предоставляют дополнительные возможности. Обратите внимание, что плотность графических данных ландшафта ограничена параметрами рендеринга независимо от плотности исходных текстур.

All components of a Landscape Layer Map can be edited via Brush Editor.Все компоненты Landscape Layer Map можно редактировать через Редактор кистей .

MasksМаски#

Landscape Layer Maps can store up to 20 masks composing terrain layers that are not visible directly but can be used in certain graphical and logical tasks.Landscape Layer Maps может хранить до 20 масок, составляющих слои ландшафта, которые не видны непосредственно, но могут использоваться в определенных графических и логических задачах.

Landscape Layer Map is designed as a shared data pool, mask data of which can be used to add details to the Landscape Terrain surface, used in logic (e.g. as a landcover classification map) and by other objects as well, such as Grass, for example.Landscape Layer Map разработан как общий пул данных, данные маски которого могут использоваться для добавления деталей (Details) к поверхности Landscape Terrain, используемой в логике (например, как классификационная карта почвенного покрова), а также другими объектами, такими как Трава, например.

An example of a biome with details based on masks.Пример биома с деталями на основе масок.
Примечание
To preview a landscape mask, go to Helpers -> Landscape Masks and choose the desired mask. Also, you can use the render_show_landscape_mask N console command, where N is the index of a mask from 1 to 20.Чтобы предварительно просмотреть маску ландшафта, выберите Helpers -> Landscape Masks и выделите желаемую маску. Также вы можете использовать консольную команду render_show_landscape_mask N, где N - это индекс маски от 1 до 20.

Masks are named for convenience, names of masks are synchronized with the ObjectLandscapeTerrain currently used. You can rename each mask via both the ObjectLandscapeTerrain parameters (by double-clicking the mask title and typing a new name) and the LandscapeLayerMap parameters in the corresponding Name fields with no reimport required.Маски названы для удобства, имена масок синхронизированы с текущим используемым ObjectLandscapeTerrain. Вы можете переименовать каждую маску как с помощью параметров ObjectLandscapeTerrain (дважды щелкнув заголовок маски и введя новое имя), так и с помощью параметров LandscapeLayerMap в соответствующих полях Name без необходимости повторного импорта.

Names of masks are synchronized with ObjectLandscapeTerrain.Имена масок синхронизируются с ObjectLandscapeTerrain.
Примечание
Names of masks are stored by Landscape Terrain objects, i.e. names shown in the parameters of a Landscape Layer Map will change in correspondence with the current enabled Landscape Terrain.Имена масок хранятся в объектах Landscape Terrain, т.е. имена, отображаемые в параметрах Landscape Layer Map, изменятся в соответствии с текущим включенным Landscape Terrain.

Each mask can be represented by a single-channel image. For optimization purposes mask data is stored in blocks - RGBA8 images (each containing 4 masks, one mask per each channel). There are 5 blocks, as the terrain has 20 masks available. Thus, the data of the 9th mask shall be stored in the R-channel of the third block (index = 2). The following parameters display the info on the corresponding mask texture and can be used to access the mask via API:Каждая маска может быть представлена одноканальным изображением. В целях оптимизации данные масок хранятся в блоках - изображениях RGBA8 (каждый содержит 4 маски, по одной маске на каждый канал). Есть 5 блоков, так как на местности доступно 20 масок. Таким образом, данные маски 9th должны храниться в R-канале третьего блока (индекс = 2). Следующие параметры отображают информацию о соответствующей текстуре маски и могут использоваться для получения доступа к маске через API :

Mask Texture The index of the mask block used.Индекс используемого блока маски.
Channel The channel of the mask texture used.Используемый канал текстуры маски.

Blending Layer MapsСмешивание карт слоев#

When overlapping each other, Landscape Layer Maps are blended per component providing convenient development workflow. The following blending modes can be set for each texture of a Landscape Layer Map individually:При наложении друг на друга Landscape Layer Maps смешиваются покомпонентно, обеспечивая удобство процесса разработки. Следующие режимы наложения можно установить для каждого текстура карты ландшафтного слоя индивидуально:

  • Additive — data of the layer map is added atop.Additive - данные карты слоя добавляются поверх.
  • Alpha Blend — the colors of this layer map and the underlying one are blended.Alpha Blend - цвета этой карты слоя и нижележащей карты смешиваются.
  • Overlay — added data replaces the data below it.Overlay - добавленные данные заменяют данные под ними.
  • Multiplicative — the albedo colors are multiplied.Multiplicative - цвета альбедо умножаются.
Примечание
Heightmap supports only the Additive and the Alpha Blend modes.Карта высот поддерживает только режимы Additive и Alpha Blend.

Additionally, it is possible to paint the opacity mask for each terrain component using the Brush Editor or specify it for each texture (provided the Data Filling mode is set to From Tileset). For this purpose, specify a texture and its channel to be treated as the opacity mask for the corresponding texture:Кроме того, можно указать маску непрозрачности для каждой текстуры (при условии, что для режима Data Filling установлено значение From Tileset). Для этого укажите текстуру и ее канал, которые будут обрабатываться как маска непрозрачности для соответствующей текстуры:

The order of blended layers matters, use the higher Order value for layer maps that should be on top.Порядок смешанных слоев имеет значение, используйте более высокое значение Order для карт слоев, которые должны быть сверху.

Layer maps can vary in density and size, so it is easy to create insets of different quality and modify the terrain surface at run time.Карты слоев могут различаться по плотности и размеру, поэтому легко создавать вставки разного качества и изменять поверхность ландшафта во время выполнения .

Collaborative EditingСовместное редактирование#

Blending of separate layer maps makes the Landscape Terrain system friendly for collaborative editing. A team of 3D artists can design separate layer maps simultaneously and develop a large landscape piece by piece without conflicts.Смешивание карт отдельных слоев делает систему Landscape Terrain удобной для совместного редактирования. Команда 3D-художников может одновременно создавать отдельные карты слоев и создавать большой пейзаж по частям без конфликтов.

Combined with UNIGINE features for cooperative development (e.g. Node Layer, Node Reference), the system enables multiple artists to develop separate areas and layers of landscape of virtually any complexity simultaneously.В сочетании с функциями UNIGINE для совместной разработки (например, Node Layer, Node Reference) система позволяет нескольким художникам одновременно разрабатывать отдельные области и слои ландшафта практически любой сложности.

To prepare a world with a Landscape Terrain for collaborative editing via a VCS, follow this workflow:Чтобы подготовить мир с Landscape Terrain для совместного редактирования через VCS , выполните следующее:

  1. Prepare node layers:
    1. Create a new Node Layer for each Landscape Layer Map representing a static area of the landscape. For convenience, it is recommended to reset transformation of each Node Layer.Create a new Node Layer for each Landscape Layer Map representing a static area of the landscape. For convenience, it is recommended to reset transformation of each Node Layer.
    2. Make each Landscape Layer Map a child to the corresponding Node Layer.Make each Landscape Layer Map a child to the corresponding Node Layer.
    Create a new Node Layer for each Landscape Layer Map representing a static area of the landscape. For convenience, it is recommended to reset transformation of each Node Layer.Make each Landscape Layer Map a child to the corresponding Node Layer.
    Подготовьте слои узлов:
    1. Create a new Node Layer for each Landscape Layer Map representing a static area of the landscape. For convenience, it is recommended to reset transformation of each Node Layer.Создайте новый Node Layer для каждого Landscape Layer Map, представляющего статическую область ландшафта. Для удобства рекомендуется сбросить трансформацию каждого Node Layer.
    2. Make each Landscape Layer Map a child to the corresponding Node Layer.Сделайте каждый Landscape Layer Map дочерним узлом к соответствующему Node Layer.
  2. After changing the content or parameters of any Landscape Layer Map, it only needs to save the parent node layer and commit the changed *.node asset and resources via your version control system. После изменения содержимого или параметров любого Landscape Layer Map необходимо только сохранить уровень родительского узла и зафиксировать измененный актив и ресурсы *.node через вашу систему контроля версий.
  3. Upon checkout and world reloading, the changes will be applied and visible on workstations of other team members.После оформления заказа и перезагрузки мира изменения будут применены и будут видны на рабочих станциях других членов команды.
  4. Dynamic and repetitive Landscape Layer Maps (such as craters or chunks of tracks) can be saved as Node References.Динамические и повторяющиеся Landscape Layer Maps (например, кратеры или фрагменты следов) можно сохранить как Node References.

Run-Time ModificationМодификация во время выполнения#

Vehicles leaving tracks while moving or even an excavator digging trenches are easy to implement. Two ways of run-time terrain modification are available:Легко реализовать транспортные средства, оставляющие следы во время движения, или даже экскаватор, роющий траншеи. Доступны два способа модификации ландшафта во время выполнения:

  • By adding layers. Spawn new Landscape Layer Maps representing chunks of trenches or pits to modify the terrain surface. This way is similar to using Decals: each layer is a separate node, so you can control each modification separately. Furthermore, using Landscape Layer Maps implies no data density limits, enabling you to achieve realistic results with high-quality insets.

    Добавление слоев. Создание новых Landscape Layer Maps представляющих фрагменты траншей или ям для изменения рельефа местности. Этот способ аналогичен использованию Декалей : каждый слой представляет собой отдельный узел, поэтому вы можете управлять каждой модификацией отдельно. Кроме того, использование Landscape Layer Maps подразумевает отсутствие ограничений по плотности данных, что позволяет достичь реалистичных результатов с областями повышенной детализации.

  • By modifying terrain buffers. Low-level terrain CPU- or GPU-based modification via API is as simple as 1, 2, 3:
    1. Set the desired area, and the Engine copies a part of terrain data for this area to a buffer.Set the desired area, and the Engine copies a part of terrain data for this area to a buffer.
    2. Modify the buffer as you want (height, color, masks, or all of them at once).Modify the buffer as you want (height, color, masks, or all of them at once).
    3. Upon completion the Engine pastes the buffer back to the terrain replacing old data.Upon completion the Engine pastes the buffer back to the terrain replacing old data.

    For more details on performing run-time CPU- and GPU-based modification, please refer to the Landscape Class article.For more details on performing run-time CPU- and GPU-based modification, please refer to the Landscape Class article.

    Set the desired area, and the Engine copies a part of terrain data for this area to a buffer.Modify the buffer as you want (height, color, masks, or all of them at once).Upon completion the Engine pastes the buffer back to the terrain replacing old data.For more details on performing run-time CPU- and GPU-based modification, please refer to the Landscape Class article.
    Изменение буферов ландшафта. Низкоуровневая модификация ландшафта на базе CPU или GPU через API проста, как 1, 2, 3:
    1. Set the desired area, and the Engine copies a part of terrain data for this area to a buffer.Установите желаемую область, и Движок скопирует часть данных о местности для этой области в буфер.
    2. Modify the buffer as you want (height, color, masks, or all of them at once).Измените буфер по своему усмотрению (высоту, цвет, маски или все данные сразу).
    3. Upon completion the Engine pastes the buffer back to the terrain replacing old data.По завершении Движок вставляет буфер обратно в ландшафт, заменяя старые данные.

    For more details on performing run-time CPU- and GPU-based modification, please refer to the Landscape Class article.Для получения дополнительной информации о модификации на базе CPU и GPU во время выполнения, пожалуйста, обратитесь к статье Класс Landscape.

Adjust streaming settings to achieve appropriate performance of run-time terrain modification.Настройте параметры потоковой передачи для достижения соответствующей производительности модификации ландшафта во время выполнения.

Tiling and StreamingТайлинг и потоковая передача#

A scene may contain thousands of Landscape Layer Maps, so the full-size graphic data of the Landscape Terrain may be too large to fit in the video memory in its entirety. Instead all resources are decomposed into smaller rectangular sections — tiles of variable density depending on the distance to the camera.Сцена может содержать тысячи Landscape Layer Maps, поэтому полноразмерные графические данные Landscape Terrain могут быть слишком большими, чтобы полностью поместиться в видеопамяти. Вместо этого все ресурсы разбиты на более мелкие прямоугольные секции - тайлы переменной плотности в зависимости от расстояния до камеры.

Individual tiles are asynchronously loaded into the main virtual texture when necessary — only if currently seen by the camera — from the lowest to the highest available MIP-level. All tiles have the fixed resolution in video memory - 128×128 px.Отдельные тайлы асинхронно загружаются в основную виртуальную текстуру при необходимости - только если в данный момент видны камере - от самого низкого до самого высокого доступного уровня MIP. Все тайлы имеют фиксированное разрешение в видеопамяти - 128×128 px.

Unoptimized streaming settings cause noticeable loading of tiles when the camera moves.Неоптимизированные настройки потоковой передачи вызывают заметную загрузку тайлов при движении камеры.

Thus, the Landscape Terrain detail level and performance are highly affected by the number of viewports and their resolution. When developing a project using a Landscape Terrain, performance and memory consumption should be considered and tuned for the set of cameras and screen resolution of the target platform.Таким образом, уровень детализации Landscape Terrain и производительность сильно зависят от количества окон просмотра и их разрешения. При разработке проекта с использованием ландшафта следует учитывать производительность и потребление памяти и настраивать их для набора камер и разрешения экрана целевой платформы .

Flexible streaming settings make it possible to configure terrain rendering even for computers with a limited VRAM capacity, but these settings depend on the content used (distances, level of detail, etc.) and requirements (the number of cameras and viewports, etc.) and are to be adjusted for each project individually.Гибкие настройки потоковой передачи позволяют настраивать рендеринг ландшафта даже для компьютеров с ограниченным объемом видеопамяти, но эти настройки зависят от используемого контента (расстояния, уровень детализации и т.д.) И требований (количества камер и окон просмотра и т.д.) и подлежат корректировке для каждого проекта индивидуально .

For more details on configuring streaming settings, please refer to the Configuring Visualization and Performance and Landscape Terrain Optimization articles.Для получения дополнительных сведений о настройке параметров потоковой передачи см. статьи Настройка визуализации и производительности а также Оптимизация ландшафта местности.

DetailsДетали (Details)#

Landscape Terrain object stores visual settings for 20 detail masks intended for reaching better level of visual quality in close up views. Details represent arbitrary albedo, roughness and height (displacement) data, so you can drastically improve the look of the landscape terrain. Details are applied according to masks of Landscape Layer Maps.Объект Landscape Terrain хранит визуальные настройки для 20 масок деталей, предназначенных для достижения лучшего уровня визуального качества при просмотре крупным планом. Детали представляют собой произвольные данные об альбедо, шероховатости и высоте (смещении), поэтому вы можете значительно улучшить внешний вид ландшафта. Детали применяются в соотвествии с масками Landscape Layer Map.

Примечание
If your project requires detection of collisions with the terrain surface, you should keep in mind that Details don't participate in Intersection and Collision Detection, so it's not recommended to apply intense displacement using details since visual inconsistency may appear.Если ваш проект требует обнаружения столкновений с поверхностью местности, помните, что детали не участвуют в Обнаружение пересечений и столкновений , поэтому не рекомендуется применять интенсивное смещение с использованием деталей, поскольку может появиться визуальная неконсистентность.

Detail settings available in ObjectLandscapeTerrain parameters allow defining the detail visual appearance, adding up to 1024 details to a mask and defining the material of each detail.Настройки детализации, доступные в параметрах ObjectLandscapeTerrain, позволяют определять внешний вид детали, добавлять до 1024 деталей в маску и определять материал каждой детали.

Detail parameters are available on the Node tab of the ObjectLandscapeTerrain parameters.Эти параметры доступны на вкладке Node параметров ObjectLandscapeTerrain.

For more information on adding details, please refer to the Configuring Details article.Для получения дополнительной информации о добавлении деталей, пожалуйста, обратитесь к статье Настройка деталей.

Intersections and CollisionsПересечения и столкновения#

The Landscape Terrain system provides intersection and collision detection with the terrain surface the same way as for usual meshes. To enable collisions and/or intersection detection for a landscape:Система Landscape Terrain обеспечивает обнаружение пересечений и столкновений с поверхностью ландшафта так же, как и для обычных мешей. Чтобы включить обнаружение столкновений и / или пересечений для ландшафта:

  • Turn on the Collider Object flag on the Node tab.Включите флаг Collider Object на вкладке Node.
  • Switch to the Surface tab and enable the Intersection and Collision flags, configure the bit masks.Перейдите на вкладку Surface и включите флаги Intersection и Collision, настройте битовые маски .
  • For landscape layer maps that should take part in collisions and intersections enable the corresponding Collision and Intersection flags.Для карт ландшафтного слоя, которые должны участвовать в столкновениях и пересечениях, включите соответствующие флаги Collision и Intersection.
Примечание
Details don't participate in Intersection and Collision Detection.Детали не участвуют в обнаружении пересечений и столкновений.

Intersections are detected with a variable precision, starting from a lower value and ending up with a higher one.Пересечения обнаруживаются с переменной точностью, начиная с меньшего значения и заканчивая более высоким.

Normally there's no need to modify these values. In case of intersection detection errors you can open Landscape Terrain parameters and try tweaking start and end precision values and enable cubic filtering of textures for optimum balance, but be careful as it may significantly affect performance and accuracy:Обычно изменять эти значения не требуется. В случае ошибок обнаружения пересечения вы можете открыть параметры Landscape Terrain и попробовать настроить значения начальной и конечной точности и включить кубическую фильтрацию текстур для оптимального баланса, но будьте осторожны, так как это может значительно повлиять на производительность и точность:

Collision Bicubic Filter Enables bicubic filtering of textures for collision detection.Включает бикубическую фильтрацию текстур для обнаружения столкновений.
Intersection Bicubic Filter Normal Enables bicubic filtering of the normal texture for intersection detection.Включает бикубическую фильтрацию текстуры нормалей для обнаружения пересечения.
Intersection Bicubic Filter Height Enables bicubic filtering of the height texture for intersection detection.Включает бикубическую фильтрацию текстуры высот для обнаружения пересечения.
Intersection Precision Begin Starting precision of intersection detection.Начальная точность обнаружения пересечений.
Intersection Precision End Ending precision of intersection detection.Конечная точность обнаружения пересечений.

Decal-Based HolesОтверстия на основе декалей#

In some cases you may need to cut out an area of the terrain surface. For this purpose the Decal-Based Holes feature is supported by Landscape Terrain.В некоторых случаях вам может потребоваться вырезать участок поверхности местности. Для этой цели используется функция Отверстия на основе декалей, поддерживаемая Landscape Terrain.

Make sure the Holes feature is enabled and place any decal (orthographic, projected or a mesh one) with the decal_terrain_hole_base material assigned over the desired location:Убедитесь, что функция Holes включена и поместите любую декаль (ортогональную, проецируемую или на основе меша) в желаемом месте и назначьте декали материал decal_terrain_hole_base:

  1. In the Create menu, select Landscape -> Hole Projected (or another one). Click in the Editor Viewport to add the decal.

    В меню Create выберите Landscape -> Hole Projected (или другой). Щелкните в окне просмотра редактора, чтобы добавить декаль.

  2. Adjust the transform and material parameters of the decal.Отрегулируйте трансформацию и параметры материала декали.

This will create a hole in the Landscape Terrain surface.Это создаст отверстие в поверхности Landscape Terrain.

A decal-based hole with a circle mask applied.Отверстие в виде декали с маской в форме окружности.

Accurate intersection with decal-based terrain holes is supported, enabling collision detection as well as all corresponding Editor features such as selection, snapping to surface, etc.Поддерживается высокая точность пересечения с отверстиями ландшафта на основе декалей, что обеспечивает обнаружение столкновений а также все соответствующие функции редактора, такие как выделение , выравнивание по поверхности , и так далее.

Примечание
Intersection and collision accuracy significantly depends on the terrain polygon count. The higher the number of polygons, the higher the accuracy.Точность при определении пересечений и столкновений существенно зависит от количества полигонов местности. Чем больше полигонов, тем выше точность.

Customizing Terrain SurfaceНастройка поверхности ландшафта#

Integration of static meshes into the landscape is simpler with the use of Terrain Lerp feature.Интеграция статических мешей в ландшафт упрощается при использовании функции Terrain Lerp.

Enabled Terrain Lerp state of the mesh_base material marks an object to be covered by projected textures of the Landscape Terrain what makes it unnecessary to set up materials for its surfaces.Включенное состояние Terrain Lerp материала mesh_base отмечает объект, который должен быть покрыт спроецированными текстурами Landscape Terrain, что делает ненужным настройку материалов для поверхностей этого объекта.

The feature is suitable for creating any insets such as caves and tunnels through mountains on the terrain. As an example, on the picture below a tunnel is integrated by just cutting some area of the terrain with a decal and replacing it with a mesh with the Terrain Lerp parameter enabled.Эта функция подходит для создания любых вставок, таких как пещеры и туннели через горы на местности. Например, на картинке ниже туннель объединяется путем простого вырезания некоторого участка местности с декалью и заменив его мешем с включенным параметром Terrain Lerp.

A mesh integrated in a terrain with the Terrain Lerp enabled.Меш, интегрированный в ландшафт с включенной опцией Terrain Lerp.

Video Tutorial: Landscape TerrainВидеоурок: Landscape Terrain#

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