This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
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.

Кастомизация зданий

Внимание
Функционал, описанный в этой статье, недоступен в Community редакции SDK.
Чтобы использовать этот функционал вам необходимо получить лицензию на Engineering / Sim SDK.

This article reviews the main concepts of the building composition to give a deeper understanding of how the assets should be prepared.В этой статье рассматриваются основные понятия композиции здания, чтобы дать более глубокое понимание того, как должны быть подготовлены активы.

Main ConceptsОсновные концепции#

For the sake of the generation of buildings, we differentiate between the following two types of buildings:Для генерации зданий мы различаем следующие два типа зданий:

  • Single-story buildings, which have only one floorОдноэтажные здания, в которых всего один этаж
  • Multi-story buildings, which have two or more floorsМногоэтажные здания, имеющие два и более этажа

Conceptual representation of single-story and multi-story buildingsКонцептуальное представление одноэтажных и многоэтажных зданий
  • Underground Basement is the part of the basement that goes down under the terrain level. This part is required when a building is generated on uneven terrain and would otherwise partially hover above the ground. Its height is controlled by the Underground Basement Height value and is 3 meters down from the terrain level by default.Underground Basement — это часть подвала, уходящая под уровень местности. Эта часть требуется, когда здание создается на неровной местности и в противном случае частично зависло бы над землей. Его высота регулируется Underground Basement Height значение и по умолчанию находится на расстоянии 3 метров от уровня местности.
  • The Basement height is defined by the Basement Height value and is 0.7 meter high above terrain by default.Высота Basement определяется значением Basement Height и по умолчанию составляет 0.7 метра над землей.
  • The Ground Floor height is defined by the Row Size value and is 3 meters high by default.Высота Ground Floor определяется Размер строки значение и по умолчанию имеет высоту 3 метров.
  • Single-story buildings don't require any texture for upper floors, while the texture for the basement is mandatory, as it is an anchor for all other textures in a set.Одноэтажные здания не требуют текстуры для верхних этажей, в то время как текстура для подвала обязательна, так как она является якорем для всех остальных текстур в наборе.

Buildings TexturingТекстурирование зданий#

UNIGINE provides a set of built-in materials for generated buildings: they are inherited from mesh_base and named according to the rules. You can also create your custom textures and set up materials. However, your textures should meet a set of requirements described below.UNIGINE предоставляет набор встроенных материалов для генерируемых зданий: они унаследованы от mesh_base и названы в соответствии с правила . Вы также можете создавать собственные текстуры и настраивать материалы. Однако ваши текстуры должны соответствовать набору требований, описанных ниже.

Four types of textures should be prepared for a building: a texture for the basement, a texture for the wall with windows (and sometimes doors), a texture for the solid wall, and a texture for the roof. The UV map of each part of the building depends on the size of the wall segment that is shown on the texture.Для здания должны быть подготовлены четыре типа текстур: текстура для фундамента, текстура для стены с окнами (а иногда и дверями), текстура для сплошной стены и текстура для крыши. Карта UV каждого часть здания зависит от размера сегмента стены, показанного на текстуре.

Примечание
Textures for walls differ depending on the part of the building they are applied to: if a texture is applied to Basement, it should depict Basement and Underground Basement.Текстуры для стен различаются в зависимости от части здания, к которой они применяются: если текстура применяется к Basement, она должна изображать Basement и Underground Basement.
  • For Underground Basement and Basement, a single texture for a wall is applied. The texture height corresponds to the height of all these parts (in sum), and the texture is stretched vertically to fit this part of the building.Для Underground Basement и Basement применяется одна текстура для стены. Высота текстуры соответствует высоте всех этих частей (в сумме), а текстура растягивается по вертикали, чтобы соответствовать этой части здания.

    Texture for Underground Basement and BasementТекстура для Underground Basement и Basement
  • For the Ground Floor, an individual texture is applied. The texture height is applied to the building using the Row Size value as the floor height.Для Ground Floor применяется отдельная текстура. Высота текстуры применяется к зданию с помощью Размер строки значение высоты этажа.

    Texture with windows for Ground FloorТекстура с окнами для Ground Floor
    Solid texture for Ground FloorСплошная текстура для Ground Floor
  • For Upper Floors, a single texture for a wall with windows is applied.For Upper Floors, a single texture for a wall with windows is applied.

    Texture with windows for Upper FloorsTexture with windows for Upper Floors
    Solid texture for Upper FloorsSolid texture for Upper Floors

    There are two parameters — Rows per Texture and Columns per Texture — that form a grid for this texture.There are two parameters — Rows per Texture and Columns per Texture — that form a grid for this texture.

    Texture Grid

    The texture for the upper floors with windows is applied wherever possible along the wall from the first floor upward and from the center to the building corners horizontally and is cut according to these imaginary grid lines, creating one surface. Edges are tiled using the solid texture and form another surface.The texture for the upper floors with windows is applied wherever possible along the wall from the first floor upward and from the center to the building corners horizontally and is cut according to these imaginary grid lines, creating one surface. Edges are tiled using the solid texture and form another surface.

    For Upper Floors, a single texture for a wall with windows is applied.Texture with windows for Upper FloorsSolid texture for Upper FloorsThere are two parameters — Rows per Texture and Columns per Texture — that form a grid for this texture.The texture for the upper floors with windows is applied wherever possible along the wall from the first floor upward and from the center to the building corners horizontally and is cut according to these imaginary grid lines, creating one surface. Edges are tiled using the solid texture and form another surface.

    For Upper Floors, a single texture for a wall with windows is applied.Для Upper Floorsприменяется одна текстура для стены с окнами.

    Texture with windows for Upper FloorsТекстура с окнами для Upper Floors
    Solid texture for Upper FloorsСплошная текстура для Upper Floors

    There are two parameters — Rows per Texture and Columns per Texture — that form a grid for this texture. Есть два параметра — Рядов на текстуру а также Колонки на текстуру — которые образуют сетку для этой текстуры.

    Texture Grid

    The texture for the upper floors with windows is applied wherever possible along the wall from the first floor upward and from the center to the building corners horizontally and is cut according to these imaginary grid lines, creating one surface. Edges are tiled using the solid texture and form another surface.Текстура для верхних этажей с окнами наносится по возможности вдоль стены от первого этажа вверх и от центра к углам здания по горизонтали и разрезается по этим воображаемым линиям сетки, создавая единую поверхность. Края мозаичны с использованием сплошной текстуры и образуют другую поверхность.

  • For Roof, two textures should be applied — for the roof and the ridges. Ridges are used to cover the connection of two roof planes.Для Roof необходимо применить две текстуры — для крыши и коньков. Коньки используются для покрытия соединения двух плоскостей крыши.

    Roof textureТекстура крыши
    Ridges textureТекстура хребтов

    The roof material can be used as is or change the color based on the imagery data. Enabling the corresponding option allows multiplying the material albedo by the color taken from the imagery data.Материал крыши можно использовать как есть или изменить цвет на основе данных изображения. Включение соответствующий вариант позволяет умножить альбедо материала на цвет, взятый из данных изображения.

Materials NamingИменование материалов#

Примечание
Each material should be inherited from mesh_base.Каждый материал должен быть унаследован от mesh_base.

For materials to be correctly applied by Sandworm to the generated buildings, follow these rules:Чтобы материалы корректно применялись Sandworm к сгенерированным зданиям, соблюдайте следующие правила:

  • Define a prefix that a group of materials applied to walls (basement, ground floor, and upper floors) will use.Определите префикс, который будет использовать группа материалов, применяемых к стенам (подвал, цокольный этаж и верхние этажи).

    You can use the source data material value as the prefix of the material. In this case, the material will be applied automatically to all buildings that have this value assigned.В качестве префикса материала можно использовать значение материала исходных данных. В этом случае материал будет применяться автоматически ко всем зданиям, которым присвоено это значение.

    Roof materials also can use a key value of source data as a prefix. In this case, the material will be applied automatically to all roofs that have this value assigned.Материалы крыши также могут использовать ключевое значение исходных данных в качестве префикса. В этом случае материал будет применяться автоматически ко всем крышам, которым присвоено это значение.

    If your source data don't have material details, you can choose an arbitrary name.Если в ваших исходных данных нет сведений о материалах, вы можете выбрать произвольное имя.

  • Materials should use the following name postfixes:В материалах должны использоваться следующие постфиксы имен:

    • *_basement_sw — material for Basement and Underground Basement, a mandatory material which is an anchor for other building materials, except roofs.*_basement_sw — материал для Basement и Underground Basement, обязательный материал, являющийся якорем для других строительных материалов, кроме крыш.
    • *_ground_sw — material for the Ground Floor wall without doors and windows*_ground_sw — материал для стены Ground Floor без дверей и окон
    • *_ground_windows_sw — material for the Ground Floor wall with doors and windows*_ground_windows_sw — материал для стены Ground Floor с дверями и окнами
    • *_upper_sw — materials for the Upper Floors wall with doors and windows*_upper_sw — материалы для стены Upper Floors с дверями и окнами
    • *_upper_windows_sw — materials for the Upper Floors wall without doors and windows*_upper_windows_sw — материалы для стены Upper Floors без дверей и окон
    • *_roof_sw — material for Roof*_roof_sw — материал для Roof
    • *_ridge_face_sw — material for the Roof ridges connecting the roof sections*_ridge_face_sw — материал для ребер Roof, соединяющих секции крыши

The basic set of building materials is available in the /core/materials/buildings/ folder. Базовый набор строительных материалов доступен в папке /core/materials/buildings/.

Naming ExampleПример именования#

Let's assume we have an area with buildings, which can be made of bricks or wood. If we use OSM data with their specific naming, we should use the following prefixes for building materials:Предположим, у нас есть участок со зданиями, которые могут быть построены из кирпича или дерева. Если мы используем данные OSM с их конкретного наименования, мы должны использовать следующие префиксы для строительных материалов:

Building OSM Value Material Names
made of bricksиз кирпича brick

brick_basement_sw.mat

brick_ground_sw.mat

brick_ground_windows_sw.mat

brick_upper_sw.mat

brick_upper_windows_sw.mat

made of woodсделано из дерева wood

wood_basement_sw.mat

wood_ground_sw.mat

wood_ground_windows_sw.mat

wood_upper_sw.mat

wood_upper_windows_sw.mat

Then, the roofs of these buildings can be covered with tiles, metal, or concrete. According to the OSM roof material naming, we should name the roof materials as follows:Затем крыши этих зданий могут быть покрыты черепицей, металлом или бетоном. По данным ОСМ. Обозначение материала крыши, мы должны назвать материалы крыши следующим образом:

Roof OSM Value Material Name
covered with tilesоблицованный плиткой roof_tiles

roof_tiles_roof_sw.mat

roof_tiles_ridge_face_sw.mat

covered with metalпокрытый металлом metal

metal_roof_sw.mat

metal_ridge_face_sw.mat

covered with concreteпокрытый бетоном concrete

concrete_roof_sw.mat

concrete_ridge_face_sw.mat

Custom ParametersПользовательские параметры#

In addition to the basic parameters that are available for Auto generation, the following parameters become available in the Manual generation mode:В добавок к основные параметры которые доступны для генерации Auto, в режиме генерации Manual становятся доступными следующие параметры:

Base Parameters:

Base Building Parameters

Base parameters fine-tune the look of the building walls.Base parameters fine-tune the look of the building walls.

Base parameters fine-tune the look of the building walls.
Базовые параметры:

Base Building Parameters

Base parameters fine-tune the look of the building walls.Базовые параметры точно настраивают внешний вид стен здания.

Base Material Distribution
  • Attribute + Random — the value is taken from Attribute. If Attribute contains no value, the material is applied randomly.Attribute + Random — значение берется из Атрибута. Если атрибут не содержит значения, материал применяется случайным образом.
  • Random — materials are applied randomly from the materials that Random Material List contains.Random — материалы применяются случайным образом из материалов, которые содержит Random Material List.
Random Material List The list of materials that will be applied to generated buildings. Only the base material (*_basement) of each group is displayed. Other materials from this group are referred to using the prefix, which should be identical for all materials of a group. The figure right to each material specifies its frequency. The toggle to the left of each material allows enabling/disabling it.Список материалов, которые будут применяться к генерируемым зданиям. Отображается только основной материал (*_basement) каждой группы. Другие материалы из этой группы обозначаются префиксом, который должен быть одинаковым для всех материалов группы. Цифра справа от каждого материала указывает его частоту. Переключатель слева от каждого материала позволяет включать/отключать его.
Column Size (m) Width of one texture column, in meters. A texture cell is mapped to this width on the building wall.Ширина одного столбца текстуры в метрах. Текстура клетка соответствует этой ширине на стене здания.
Columns per Texture Number of columns in one texture. This value allows forming a grid for a more precise texture mapping. The texture mapped to walls above the ground floor is split into a grid in order to be cut properly, avoiding such visual artifacts as a part of a window.Количество столбцов в одной текстуре. Это значение позволяет сформировать сетка для более точного отображения текстуры. Текстура, наложенная на стены над первым этажом, разделена на сетку, чтобы ее можно было правильно разрезать, избегая таких визуальных артефактов, как часть окна.
Row Size (m) Height of one row, in meters. In fact, this is a floor height. A texture cell is mapped to this height on the building wall.Высота одного ряда, в метрах. По сути, это высота этажа. Текстура клетка отображается на эту высоту на стене здания.
Rows per Texture Number of rows in one texture. This value allows forming a grid for a more precise texture mapping. The texture mapped to walls above the ground floor is split into a grid in order to be cut properly, avoiding such visual artifacts as a part of a window.Количество рядов в одной текстуре. Это значение позволяет сформировать сетка для более точного отображения текстуры. Текстура, наложенная на стены над первым этажом, разделена на сетку, чтобы ее можно было правильно разрезать, избегая таких визуальных артефактов, как часть окна.
Floor Number
  • Attribute + Random — the value is taken from Attribute. If Attribute contains no value, the number of floors is applied randomly from Floor Number Range.Attribute + Random — значение берется из Атрибута. Если атрибут не содержит значения, количество этажей применяется случайным образом, начиная с Floor Number Range.
  • Random — number of floors is assigned randomly from Floor Number Range.Random — количество этажей назначается случайным образом из Floor Number Range.
Floor Number Range Minimum and maximum floor number values. A random value from this range will be used as a floor number if no data is available or Floor Number is set to Random.Минимальное и максимальное значения номера этажа. Случайное значение из этого диапазона будет использоваться в качестве номера этажа, если данные недоступны или Floor Number установлено на Random.
Roof Parameters:

Roof Parameters

Roof parameters fine-tune the look of roofs.Roof parameters fine-tune the look of roofs.

Roof parameters fine-tune the look of roofs.
Параметры крыши:

Roof Parameters

Roof parameters fine-tune the look of roofs.Параметры крыши точно настраивают внешний вид крыш.

Roof Type Distribution
  • Attribute + Random — the value is taken from Attribute. If Attribute contains no value, the number of floors is applied randomly from the available Roof Types.Attribute + Random — значение берется из Атрибута. Если атрибут не содержит значения, количество этажей применяется случайным образом из доступного Roof Types.
  • Random — the roof type is assigned randomly from the available Roof Types.Random — тип крыши назначается случайным образом из доступных Roof Types.
Roof Type Type of the roof with a probability multiplier. The following types of roofs are available:
Flat

Flat roof

Skillion

Skillion roof

Gabled

Gabled roof

Hipped

Hipped roof

You can delete the roof types that are not required to exclude them at all. You can add the previously deleted type by clicking the Plus button and selecting it in the drop-down window.You can delete the roof types that are not required to exclude them at all. You can add the previously deleted type by clicking the Plus button and selecting it in the drop-down window.

Примечание
If the same roof type is set more that once, the value set for the line closer to the bottom will count.If the same roof type is set more that once, the value set for the line closer to the bottom will count.

If a building top-down form is different from rectangular, it will be with a flat roof. Other types of roofs are unavailable for such buildings.If a building top-down form is different from rectangular, it will be with a flat roof. Other types of roofs are unavailable for such buildings.

You can delete the roof types that are not required to exclude them at all. You can add the previously deleted type by clicking the Plus button and selecting it in the drop-down window.If the same roof type is set more that once, the value set for the line closer to the bottom will count.If a building top-down form is different from rectangular, it will be with a flat roof. Other types of roofs are unavailable for such buildings.
Тип крыши с множителем вероятности. Доступны следующие типы крыш:
Flat

Flat roof

Skillion

Skillion roof

Gabled

Gabled roof

Hipped

Hipped roof

You can delete the roof types that are not required to exclude them at all. You can add the previously deleted type by clicking the Plus button and selecting it in the drop-down window.Вы можете удалить типы крыш, которые не требуются, чтобы исключить их вообще. Вы можете добавить ранее удаленный тип, нажав кнопку Plusи выбрав его в выпадающем окне.

Примечание
If the same roof type is set more that once, the value set for the line closer to the bottom will count.Если один и тот же тип крыши задан более одного раза, будет учитываться значение, установленное для линии ближе к низу.

If a building top-down form is different from rectangular, it will be with a flat roof. Other types of roofs are unavailable for such buildings.Если форма здания сверху вниз отличается от прямоугольной, то оно будет с плоской крышей. Другие виды крыш для таких зданий недоступны.

Roof Height Distribution
  • Attribute + Random — the value is taken from Attribute. If Attribute contains no value, the roof height is taken randomly from the user-defined height range for the corresponding roof type.Attribute + Random — значение берется из Атрибута. Если атрибут не содержит значения, высота крыши берется случайным образом из заданного пользователем height range для соответствующего типа крыши.
  • Random — the roof height is assigned randomly from the available height range for the corresponding roof type.Random — высота крыши назначается случайным образом из доступных height range для соответствующего типа крыши.
Roof Type Height

The height range (minimum and maximum possible height) of the corresponding roof type. A random value is taken from this range, if necessary. The height value for the flat roof defines the height of the roof parapet.Диапазон высот (минимально и максимально возможная высота) соответствующего типа крыши. При необходимости из этого диапазона берется случайное значение. Значение высоты плоской крыши определяет высоту парапета крыши.

Примечание
If the same roof type is set more that once, the value set for the line closer to the bottom will count.Если один и тот же тип крыши задан более одного раза, будет учитываться значение, установленное для линии ближе к низу.
Roof Material Distribution
  • Attribute + Random — the value is taken from Attribute. If Attribute contains no value, the roof material is taken from the material set for the corresponding roof type.Attribute + Random — значение берется из Атрибута. Если атрибут не содержит значения, материал крыши берется из набора material для соответствующего типа крыши.
  • Random — the roof material is assigned as set for the corresponding roof type.Random — материал крыши назначается как set для соответствующего типа крыши.
Roof Type Material The material set for the corresponding roof type. You can enable or disable materials, to avoid incorrect use of a material for an unsuitable type of roof, for example, disable tiles for flat roofs because it's nonsense.
Примечание
If the same roof type is set more that once, the value set for the line closer to the bottom will count.If the same roof type is set more that once, the value set for the line closer to the bottom will count.
If the same roof type is set more that once, the value set for the line closer to the bottom will count.
Набор материалов для соответствующего типа крыши. Вы можете включить или отключить материалы, чтобы избежать некорректного использования материала для неподходящего типа крыши, например, отключить черепицу для плоских крыш, потому что это ерунда.
Примечание
If the same roof type is set more that once, the value set for the line closer to the bottom will count.Если один и тот же тип крыши задан более одного раза, будет учитываться значение, установленное для линии ближе к низу.
Common Parameters:

Common Parameters

Common parameters fine-tune the look of the basement, visibility of buildings, and splitting of the Buildings object into sectors.Common parameters fine-tune the look of the basement, visibility of buildings, and splitting of the Buildings object into sectors.

Common parameters fine-tune the look of the basement, visibility of buildings, and splitting of the Buildings object into sectors.
Общие параметры:

Common Parameters

Common parameters fine-tune the look of the basement, visibility of buildings, and splitting of the Buildings object into sectors.Общие параметры тонко настраивают внешний вид подвала, видимость зданий и разделение объекта Здания на сектора.

Underground Floor Offset (m) The height of the underground basement part. Used for uneven ground surfaces where buildings partially hover above the ground. The default value is 3 meters. You can set this value to 0.7 if you don't require it to be displayed.Высота подземной цокольной части. Используется для неровных поверхностей земли, где здания частично парят над землей. Значение по умолчанию — 3 метров. Вы можете установить это значение равным 0.7, если вам не требуется его отображение.
Basement Floor Offset (m) The height of the basement above the terrain level. The default value is 3 meter. You can set this value to 0 if you don't require it to be displayed.Высота цокольного этажа над уровнем земли. Значение по умолчанию — 3 метр. Вы можете установить это значение равным 0, если вам не требуется его отображение.

See AlsoДополнительная информация#

  • The Procedural Generation Assets add-on containing a pack of ready-to-use materials and textures to customize buildingsДополнение Procedural Generation Assets с набором готовых материалов и текстур для кастомизации зданий.
Последнее обновление: 20.04.2022
Build: ()