Настройка пользовательских материалов для зданий и их параметры
Чтобы использовать этот функционал вам необходимо получить лицензию на
This article reviews the main concepts of the building composition to give a deeper understanding of how the assets should be prepared.В этой статье рассматриваются основные концепции композиции здания, чтобы дать более глубокое понимание того, как должны быть подготовлены ассеты.
See AlsoСмотрите также#
- Example of creating a Building object Пример создания объекта Building
- Filter parameters descriptionFilter parameters description
- The Procedural Generation Assets pack containing ready-to-use materials and textures to customize buildingsПакет Procedural Generation Assets, содержащий готовые к использованию материалы и текстуры для настройки зданий
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 Многоэтажные здания, имеющие два или более этажей
- 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 определяется значением Row Size и по умолчанию составляет 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-развертка каждой части здания зависит от размера сегмента стены, который показан на текстуре.
-
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 применяется своя текстура. Высота текстуры соответствует высоте этажа и применяется к зданию, используя значение Row Size.
Texture with windows for Ground FloorТекстура с окнами для Ground FloorSolid texture for Ground FloorСплошная текстура для Ground Floor -
For Upper Floors, a single texture for a wall with windows is applied.Для Upper Floors также применяется своя текстура с окнами.
Texture with windows for Upper FloorsТекстура с окнами для Upper FloorsSolid texture for Upper FloorsСплошная текстура для Upper FloorsThere are two parameters — Rows per Texture and Columns per Texture — that form a grid for this texture. Есть два параметра — Rows per Texture и Columns per 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 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Наименование материалов#
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 — материал для цоколя и подпольного подвала, обязательный материал, к которому привязаны другие материалы, кроме крыш.
- *_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 без дверей и окон
- *_ridge_face_sw — materials for the top part of the upper wall to be applied right below the roof. This type of material is used with flat roofs only.*_ridge_face_sw — материал верхней части стены, который применяется непосредственно под крышей. Этот тип материала используется только с плоскими крышами.
- *_roof_sw — material for Roof*_roof_sw — материал крыши
- *_ridges_sw — material for the Roof ridges connecting the roof sections*_ridges_sw — материал коньков, соединяющих секции крыши
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 с их специальными наименованиями, мы должны использовать следующие префиксы для материалов зданий:
Здание | Значение OSM | Имя материала |
---|---|---|
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 brick_ridge_face_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 wood_ridge_face_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:Затем крыши этих зданий могут быть покрыты черепицей, металлом или бетоном. В соответствии с OSM наименованиями материалов крыши, нужно назвать материалы крыши следующим образом:
Крыша | Значение OSM | Имя материала |
---|---|---|
covered with tilesиз черепицы | roof_tiles |
roof_tiles_roof_sw.mat roof_tiles_ridges_sw.mat |
covered with metalиз металла | metal |
metal_roof_sw.mat metal_ridges_sw.mat |
covered with concreteиз бетона | concrete |
concrete_roof_sw.mat concrete_ridges_sw.mat |
ParametersПараметры#
The following parameters for the Buildings object generation are available:Доступны следующие параметры для генерации объекта Buildings:
Generation Mode | Buildings generation mode. There are two options:Режим генерации зданий. Есть два варианта:
|
---|---|
Base Material Attributes |
The name of the column where the building material is specified, in the source data Attributes table. By default, the corresponding OpenStreetMap key is used. You can replace it or add another key using a comma, if necessary.Название столбца в таблице атрибутов исходных данных, в котором указан материал здания. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую. |
Roof Type Attributes |
The name of the column where the roof shape is specified, in the source data Attributes table. By default, the corresponding OpenStreetMap key is used. You can replace it or add another key using a comma, if necessary.Название столбца в таблице атрибутов исходных данных, в котором указана форма крыши. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую. |
Roof Height Attributes |
The name of the column where the roof height is specified, in the source data Attributes table. By default, the corresponding OpenStreetMap key is used. You can replace it or add another key using a comma, if necessary.Название столбца в таблице атрибутов исходных данных, в котором указана высота крыши. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую. |
Roof Unit Size (m) | The size of one side of the square area to which the texture is applied (i.e. one tile).Размер стороны квадратной области, на которую применяется текстура (т.е. один тайл). |
Use Imagery Color | If disabled, the color from the roof material is used. If enabled, the color from the Imagery source is used as the roof color.Если этот параметр отключен, используется цвет материала крыши. Если включен, в качестве цвета крыши используется цвет из источника Imagery. To use the imagery color, the roof material should have the Vertex Color state enabled with Vertex Color Albedo set to RGB.Чтобы использовать цвет изображения, материал крыши должен иметь включенное состояние Vertex Color со значением RGB для Vertex Color Albedo. |
Roof Material Attributes |
The name of the column where the roof material is specified, in the source data Attributes table. By default, the corresponding OpenStreetMap key is used. You can replace it or add another key using a comma, if necessary.Название столбца в таблице атрибутов исходных данных, в котором указан материал кровли. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую. |
Split Length (km) |
The size of the grid cell by which the generated geometry will be divided. The geometry of each cell is represented as a separate ObjectMeshStatic object. If the specified value exceeds or equals the size of the Export Area, a single Static Mesh will be generated.Размер ячейки сетки, на которую будет разделена сгенерированная геометрия. Геометрия каждой ячейки представлена в виде отдельного объекта ObjectMeshStatic. Если указанное значение превышает или равно размеру Export Area, будет сгенерирован один Static Mesh. For example, if you specify 100 and have a 1000x1000 km area, the buildings will be generated as 10 separate Static Mesh objects, 100x100 km each.Например, если вы укажете 100 и будете иметь площадь 1000x1000 км, здания будут сгенерированы как 10 отдельных объектов Static Mesh размером 100x100 км каждый. |
Min Visibility | Minimum visibility distance from the camera at which generated objects (ObjectMeshStatic) start to appear on the screen. By default, this value is -inf.Минимальное расстояние видимости от камеры, на котором сгенерированные объекты (ObjectMeshStatic) начинают появляться на экране. По умолчанию это значение равно -inf. |
Max Visibility | Maximum visibility distance at which generated objects (ObjectMeshStatic) are no longer fully visible: they can either disappear entirely or start to fade out. By default, this value is inf.Максимальное расстояние видимости, на котором сгенерированные объекты (ObjectMeshStatic) больше не видны полностью: они могут либо полностью исчезнуть, либо начать исчезать. По умолчанию это значение равно inf. |
Min Fade | Minimum fade distance, over which generated objects (ObjectMeshStatic) fade in until they are entirely visible. Along this distance, the engine automatically interpolates the level of detail from Alpha of 0.0 (entirely invisible) to 1.0 (entirely visible). Fading-in starts when the camera has reached the minimum visibility distance and is in the full visibility range.Минимальное расстояние плавного появления, на котором сгенерированные объекты (ObjectMeshStatic) плавно появляются до тех пор, пока они не станут полностью видимыми. На этом расстоянии движок автоматически интерполирует уровень детализации от Alpha 0.0 (полностью невидимый) до 1.0 (полностью видимый). Плавное появление начинается, когда камера достигает минимального расстояния видимости и переходит в диапазон видимости. |
Max Fade | Maximum fade distance, over which generated objects (ObjectMeshStatic) fade out until they are entirely invisible. Fading-out starts when the camera has reached the maximum visibility distance and is out of the full visibility range.Максимальное расстояние плавного исчезновения, на котором сгенерированные объекты (ObjectMeshStatic) плавно исчезают до тех пор, пока они не станут полностью невидимыми. Плавное исчезновение начинается, когда камера достигает максимального расстояния видимости и выходит за пределы диапазона видимости. |
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 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 parameters fine-tune the look of the building walls.Базовые параметры точно настраивают внешний вид стен здания. |
|||||||||
Base Material Distribution |
|
||||||||
---|---|---|---|---|---|---|---|---|---|
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 number 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 |
|
||||||||
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 fine-tune the look of roofs.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 Type Distribution |
|
||||||||
Roof Type | Type of the roof with a probability multiplier. The following types of roofs are available:Тип крыши с множителем вероятности. Доступны следующие типы крыш:
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 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.Если форма здания на виде сверху отличается от прямоугольной, оно будет сгенерировано с плоской крышей. Другие типы крыш недоступны для таких зданий. |
||||||||
Roof Height Distribution |
|
||||||||
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 |
|
||||||||
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.Если один и тот же тип крыши задан более одного раза, будет учитываться значение, которое ближе к низу окна настроек. |
||||||||
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 fine-tune the look of the basement, visibility of buildings, and splitting of the Buildings object into sectors.Общие параметры позволяют точно настроить внешний вид подвала, видимость зданий и разделение объекта зданий на сектора. |
|||||||||
Underground Basement Height (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 Height (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, если вам не требуется, чтобы эта часть отображалась. |