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

Настройка пользовательских материалов для зданий и их параметры

В этой статье рассматриваются основные концепции композиции здания, чтобы дать более глубокое понимание того, как должны быть подготовлены ассеты.

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

Основные понятия#

В целях создания зданий мы проводим различие между следующими двумя типами зданий:

  • Одноэтажные здания, имеющие только один этаж
  • Многоэтажные здания, имеющие два или более этажей

Концепция одноэтажных и многоэтажных зданий
  • Underground Basement — это часть подвала, которая опускается ниже уровня местности. Эта часть требуется, когда здание создается на неровной местности и в противном случае частично зависало бы над землей. Его высота регулируется значением Underground Basement Height и по умолчанию составляет 3 метра ниже уровня местности.
  • Высота Basement определяется значением Basement Height и по умолчанию составляет 0.7 метра над уровнем моря.
  • Высота Ground Floor определяется значением Row Size и по умолчанию составляет 3 метра.
  • В случае одноэтажных зданий для верхних этажей текстуры не нужны, а вот текстура для подвала обязательна, поскольку к ней привязаны все остальные текстуры в наборе.

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

UNIGINE предоставляет набор встроенных материалов для сгенерированных зданий: они наследуются от mesh_base и именуются в соответствии с правилами. Вы также можете создавать свои собственные текстуры и настраивать материалы. Однако ваши текстуры должны соответствовать набору требований, описанных ниже.

Для здания следует подготовить четыре типа текстур: текстуру для подвала, текстуру для стены с окнами (а иногда и дверями), текстуру для сплошной стены и текстуру для крыши. UV-развертка каждой части здания зависит от размера сегмента стены, который показан на текстуре.

Примечание
Текстуры для стен различаются в зависимости от части здания, к которой они применяются: если текстура применяется к Basement, она должна отображать Basement и Underground Basement.
  • Для Underground Basement и Basement применяется своя текстура стены. Высота текстуры соответствует высоте обеих этих частей (в сумме), и текстура растягивается вертикально, чтобы соответствовать этой части здания.

    Текстура для Underground Basement и Basement
  • Для Ground Floor применяется своя текстура. Высота текстуры соответствует высоте этажа и применяется к зданию, используя значение Row Size.

    Текстура с окнами для Ground Floor
    Сплошная текстура для Ground Floor
  • Для Upper Floors также применяется своя текстура с окнами.

    Текстура с окнами для Upper Floors
    Сплошная текстура для Upper Floors

    Есть два параметра — Rows per Texture и Columns per Texture — которые формируют сетку для этой текстуры.

    Texture Grid

    Текстура для верхних этажей с окнами применяется везде, где это возможно, вдоль стены от первого этажа вверх и от центра к углам здания по горизонтали и вырезается в соответствии с этими воображаемыми линиями сетки, создавая единую поверхность. Оставшееся с краев пространство заполняется из сплошной текстуры и образует другую поверхность.

  • Для Roof следует применить две текстуры — для крыши и коньков. Коньки используются для перекрытия соединения двух плоскостей крыши.

    Текстура крыши
    Текстура конька

    Материал крыши можно использовать как есть или изменить цвет на основе данных снимков. Включение соответствующей опции позволяет умножить альбедо материала на цвет, взятый из снимков.

Наименование материалов#

Примечание
Каждый материал должен быть унаследован от mesh_base.

Чтобы материалы правильно применялись к созданным в Sandworm зданиям, следуйте этим правилам:

  • Определите префикс, который будет использоваться группой материалов, применяемых к стенам (подвал, цокольный этаж и верхние этажи).

    Вы можете использовать значение материала из исходных данных в качестве префикса материала. В этом случае материал будет автоматически применен ко всем зданиям, которым присвоено это значение.

    Материалы крыши также могут использовать ключевое значение из исходных данных в качестве префикса. В этом случае материал будет автоматически применяться ко всем крышам, которым присвоено это значение.

    Если ваши исходные данные не содержат данных, которые можно использовать, можно выбрать произвольное имя.

  • В материалах зданий должны использоваться следующие постфиксы имен:

    • *_basement_sw — материал для цоколя и подпольного подвала, обязательный материал, к которому привязаны другие материалы, кроме крыш.
    • *_ground_sw — материал стены Ground Floor без дверей и окон
    • *_ground_windows_sw — материал стены Ground Floor с дверями и окнами
    • *_upper_sw — материал стены Upper Floors с дверями и окнами
    • *_upper_windows_sw — материал стены Upper Floors без дверей и окон
    • *_ridge_face_sw — материал верхней части стены, который применяется непосредственно под крышей. Этот тип материала используется только с плоскими крышами.
    • *_roof_sw — материал крыши
    • *_ridges_sw — материал коньков, соединяющих секции крыши

Базовый набор материалов зданий доступен в папке /core/materials/buildings/.

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

Давайте предположим, что у нас есть область со зданиями, которые могут быть сделаны из кирпича или дерева. Если мы используем данные OSM с их специальными наименованиями, мы должны использовать следующие префиксы для материалов зданий:

Здание Значение OSM Имя материала
из кирпича 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

из дерева 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

Затем крыши этих зданий могут быть покрыты черепицей, металлом или бетоном. В соответствии с OSM наименованиями материалов крыши, нужно назвать материалы крыши следующим образом:

Крыша Значение OSM Имя материала
из черепицы roof_tiles

roof_tiles_roof_sw.mat

roof_tiles_ridges_sw.mat

из металла metal

metal_roof_sw.mat

metal_ridges_sw.mat

из бетона concrete

concrete_roof_sw.mat

concrete_ridges_sw.mat

Параметры#

Доступны следующие параметры для генерации объекта Buildings:

Generation Mode

Режим генерации зданий. Есть два варианта:

  • Auto — материалы и типы кровли назначаются автоматически, применяется набор материалов, доступных в папке /core/materials/buildings/.
  • Manual — позволяет настраивать материалы и типы кровли. Выбор этого режима включает дополнительные параметры.
Base Material Attributes

Название столбца в таблице атрибутов исходных данных, в котором указан материал здания. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую.

Roof Type Attributes

Название столбца в таблице атрибутов исходных данных, в котором указана форма крыши. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую.

Roof Height Attributes

Название столбца в таблице атрибутов исходных данных, в котором указана высота крыши. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую.

Roof Unit Size (m) Размер стороны квадратной области, на которую применяется текстура (т.е. один тайл).
Use Imagery Color

Если этот параметр отключен, используется цвет материала крыши. Если включен, в качестве цвета крыши используется цвет из источника Imagery.

Примечание
Чтобы использовать цвет изображения, материал крыши должен иметь включенное состояние Vertex Color со значением RGB для Vertex Color Albedo.
Roof Material Attributes

Название столбца в таблице атрибутов исходных данных, в котором указан материал кровли. По умолчанию используется соответствующее ключевое значение OpenStreetMap. При необходимости вы можете заменить его или добавить другое ключевое значение, используя запятую.

Split Length (km)

Размер ячейки сетки, на которую будет разделена сгенерированная геометрия. Геометрия каждой ячейки представлена в виде отдельного объекта ObjectMeshStatic. Если указанное значение превышает или равно размеру Export Area, будет сгенерирован один Static Mesh.

Например, если вы укажете 100 и будете иметь площадь 1000x1000 км, здания будут сгенерированы как 10 отдельных объектов Static Mesh размером 100x100 км каждый.

Min Visibility Минимальное расстояние видимости от камеры, на котором сгенерированные объекты (ObjectMeshStatic) начинают появляться на экране. По умолчанию это значение равно -inf.
Max Visibility Максимальное расстояние видимости, на котором сгенерированные объекты (ObjectMeshStatic) больше не видны полностью: они могут либо полностью исчезнуть, либо начать исчезать. По умолчанию это значение равно inf.
Min Fade Минимальное расстояние плавного появления, на котором сгенерированные объекты (ObjectMeshStatic) плавно появляются до тех пор, пока они не станут полностью видимыми. На этом расстоянии движок автоматически интерполирует уровень детализации от Alpha 0.0 (полностью невидимый) до 1.0 (полностью видимый). Плавное появление начинается, когда камера достигает минимального расстояния видимости и переходит в диапазон видимости.
Max Fade Максимальное расстояние плавного исчезновения, на котором сгенерированные объекты (ObjectMeshStatic) плавно исчезают до тех пор, пока они не станут полностью невидимыми. Плавное исчезновение начинается, когда камера достигает максимального расстояния видимости и выходит за пределы диапазона видимости.

В дополнение к основным параметрам, которые доступны для автоматической генерации (Auto), следующие параметры становятся доступными в режиме генерации Manual:

Базовые параметры:

Base Building Parameters

Базовые параметры точно настраивают внешний вид стен здания.

Base Material Distribution
  • Attribute + Random — значение берется из атрибута. Если атрибут не содержит значения, материал применяется случайным образом.
  • Random — материалы применяются случайным образом из материалов, содержащихся в Random Material List.
Random Material List Список материалов, которые будут применены к сгенерированным зданиям. Отображается только базовый материал (*_basement) каждой группы. Другие материалы из этой группы используются благодаря префиксу, который должен быть одинаковым для всех материалов группы. Цифра справа от каждого материала указывает частоту его использования. Переключатель слева от каждого материала позволяет включать / отключать его.
Column Size (m) Ширина одного столбца текстуры, в метрах. Ячейка текстуры сопоставляется с этой шириной на стене здания.
Columns per Texture Количество столбцов в одной текстуре. Это значение позволяет сформировать сетку для более точного отображения текстуры. Текстура, нанесенная на стены выше первого этажа, разделена на сетку, чтобы ее можно было правильно вырезать, избегая таких визуальных артефактов, как часть окна.
Row Size (m) Высота одного ряда, в метрах. На самом деле, это высота этажа. Ячейка текстуры сопоставляется с этой высотой на стене здания.
Rows per Texture Количество рядов в одной текстуре. Это значение позволяет сформировать сетку для более точного отображения текстуры. Текстура, применяемая к стенам выше первого этажа, разделяется на сетку, чтобы ее можно было корректно нарезать, избегая таких визуальных артефактов, как часть окна.
Floor Number
  • Attribute + Random — значение берется из атрибута. Если атрибут не содержит значения, количество этажей применяется случайным образом из диапазона Floor Number Range.
  • Random — количество этажей назначается случайным образом из диапазона Floor Number Range.
Floor Number Range Минимальное и максимальное значения количества этажей. Случайное значение из этого диапазона будет использоваться для определения этажности здания, если данные недоступны или для Floor Number выбрано значение Random.
Параметры крыши:

Roof Parameters

Параметры крыши позволяют точно настроить внешний вид крыш.

Roof Type Distribution
  • Attribute + Random — значение берется из атрибута. Если атрибут не содержит значения, тип крыши применяется случайным образом из доступного Roof Types.
  • Random — тип крыши назначается случайным образом из доступных Roof Types.
Roof Type

Тип крыши с множителем вероятности. Доступны следующие типы крыш:

Flat

Flat roof

Skillion

Skillion roof

Gabled

Gabled roof

Hipped

Hipped roof

Вы можете удалить типы крыш, которые не требуются, чтобы исключить их вообще. Вы можете добавить ранее удаленный тип, нажав кнопку Plusи выбрав его в раскрывающемся окне.

Примечание
Если один и тот же тип крыши задан более одного раза, будет учитываться значение, которое ближе к низу окна настроек.

Если форма здания на виде сверху отличается от прямоугольной, оно будет сгенерировано с плоской крышей. Другие типы крыш недоступны для таких зданий.

Roof Height Distribution
  • Attribute + Random — значение берется из атрибута. Если атрибут не содержит значения, высота крыши берется случайным образом из заданного пользователем диапазона высот для соответствующего типа крыши.
  • Random — высота крыши назначается случайным образом из доступного диапазона высот для соответствующего типа крыши.
Roof Type Height

Диапазон высот (минимальная и максимально возможная высота) соответствующего типа крыши. При необходимости из этого диапазона берется случайное значение. Значение высоты для плоской крыши определяет высоту парапета крыши.

Примечание
Если один и тот же тип крыши задан более одного раза, будет учитываться значение, которое ближе к низу окна настроек.
Roof Material Distribution
  • Attribute + Random — значение берется из атрибута. Если атрибут не содержит значения, материал крыши берется из набора material для соответствующего типа крыши.
  • Random — материалу крыши присваивается значение, заданное для соответствующего типа крыши.
Roof Type Material Материал, установленный для соответствующего типа крыши. Вы можете включить или отключить материалы, чтобы избежать неправильного использования материала для неподходящего типа крыши, например, отключить черепицу для плоских крыш, потому что это неправдоподобно.
Примечание
Если один и тот же тип крыши задан более одного раза, будет учитываться значение, которое ближе к низу окна настроек.
Общие параметры:

Common Parameters

Общие параметры позволяют точно настроить внешний вид подвала, видимость зданий и разделение объекта зданий на сектора.

Underground Basement Height (m) Высота подземной части подвала. Используется для неровных ландшафтов, где здания частично нависают над землей. Значение по умолчанию - 3 метра. Вы можете установить значение 0.7, если вам не требуется, чтобы подземная часть отображалась.
Basement Height (m) Высота подвала над ландшафтом. Значение по умолчанию равно 3 метра. Вы можете установить значение 0, если вам не требуется, чтобы эта часть отображалась.
Последнее обновление: 19.04.2024
Build: ()