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

Mesh Clutter

Mesh Clutter - это объект, который может содержать большое количество идентичных мешей, которые позиционируются, ориентируются и масштабируются случайным образом и не могут управляться вручную. Элементы объекта Mesh Clutter могут быть разбросаны в определенных областях с помощью изображения или меша-маски.

Объект Mesh Clutter обычно используется для растительности (например, лес, листья на земле), для рассыпания одинаковых объектов (например, мусора).

Mesh Clutter используется для разброса одинаковых мешей по миру (или части мира) или местности. Mesh Clutter процедурно разбрасывает объекты и отображает только те объекты, которые находятся в области просмотра. Это позволяет рендерить большое количество мешей, сохраняя при этом высокую производительность.

Примечание
Для Mesh Clutter всегда выполняется запрос окклюзии, за пределами пирамиды видимости объект не визуализируется .

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

  • Класс ObjectMeshClutter для редактирования клаттеров через API
  • Пример Clutter, расположенный в пакете Art Samples:

Создание клаттера#

Чтобы создать Mesh Clutter, просто выполните следующие шаги:

  1. В строке меню щелкнитеCreate -> Clutter -> Mesh.

  2. В открывшемся диалоговом окне выберите путь к файлу .mesh. Этот меш будет использоваться как исходный для Mesh Clutter.
  3. Разместите объект Mesh Clutter где-нибудь в мире.
  4. Укажите параметры Mesh Clutter.

Параметры клаттера#

Mesh Clutter очень похож на World Clutter (который работает с разными ссылками на узлы). Он отображается как 2D-сетка, в каждой ячейке которой случайным образом размещается несколько мешей в зависимости от плотности Mesh Clutter и вероятности появления. Ячейки генерируются одна за другой, начиная с ближайших. Этот подход позволяет контролировать, насколько близко или далеко находятся разбросанные объекты друг от друга, и в то же время уменьшать нагрузку на рендеринг, когда камера перемещается и становятся видны более удаленные ячейки.

Mesh Меш, копии которого будут разбросаны.
Size X
Size Y
РазмерMesh Clutter ограничивающая рамка по осям X и Y. В пределах этой области объекты будут разбросаны с заданной плотностью.
  • Размер измеряется в единицах.
Step for cells

Размер ячейки в единицах. Результирующее количество ячеек в Mesh Clutter определяется следующим образом: размер Mesh Clutter (как по X, так и по Y) делится на шаг.

  • Чем меньше шаг, тем больше ячеек.
Density Плотность указывает, сколько объектов приходится на квадратную единицу.
  • С шагом в 1 единицу плотность не может быть уменьшена ниже 1 (менее 1 объекта на квадратную единицу).
  • Если значение плотности слишком высокое, объекты могут проникать друг в друга.
Visibility distance

На расстоянии видимости количество объектов строго задается параметром Density. Это означает, что все предметы, которые должны присутствовать, находятся на своих местах.

  • Если установлено на бесконечность (inf), параметр Fade Distance будет проигнорирован.
  • Реальный радиус видимости Mesh Clutter напрямую зависит от объекта (поверхности) максимальная дальность видимости а также его исчезать расстояние . Однако, даже если он исчезнет на более близком расстоянии, дальнейшее увеличение видимого расстояния повлияет на производительность, потому что вычисления, связанные с генерацией ячеек, все еще выполняются.
  • Расстояние видимости фактически измеряется до ячейки: когда камера перемещается на указанное расстояние от нее, ячейка создается. Без расстояние исчезновения или объект максимальное видимое расстояние , объекты могут отображаться на видимом квадрате.
Fade Distance По мере плавного перехода количество элементов постепенно уменьшается, так как они исчезают случайным образом один за другим. Расстояние замирания измеряется, начиная сVisibility Distance. Если установлено дистанция плавного перехода, четкая линия, на которой меши резко исчезают, отсутствует. Вместо этого некоторые из них будут плавно переходить в фон без визуального шума.
Примечание
Для достижения наилучшего результата рекомендуется также сочетать этот эффект с исчезновение объектов .
Seed Начальное значение для генератора псевдослучайных чисел позволяет создавать различные шаблоны автоматического позиционирования. Начальное значение либо устанавливается вручную, либо механизм предоставляет случайное значение для начального числа (опция Randomize).

Случайное распределение элементов клаттера#

Для случайного распределения мешей по Mesh Clutter, используются два типа значений:

  • Mean значение (т.е. масштаб , смещение , поворот ) определяет среднее значение соответствующего параметра. Это базовое значение, которое будет случайным образом увеличиваться или уменьшаться.
  • Spread значение определяет диапазон возможного изменения параметра. Чем выше значение, тем разнообразнее будет конечный результат.

    Значение спреда является необязательным : если установлено значение 0, оно не повлияет на процесс моделирования, и для всех объектов будет использоваться только среднее значение.

После указания этих значений каждый параметр рассчитывается по следующей формуле: Result = Mean + Random * Spread,
где Random - случайное значение в диапазоне от -1 до 1. Например, если Mean значение параметра равно 3, а значение Spread равно 1, окончательный результат будет любым в диапазоне от 2 до 4.

Min and Max Scale

Среднее значение масштаба рассеянных объектов зависит от минимального и максимального средних значений масштаба и значения маски: значения маски используются для линейной интерполяции между минимальным и максимальным значениями масштаба.

  • Среднее значение масштаба не может быть отрицательным.
Min scale Устанавливает среднее значение масштаба для объектов, разбросанных в областях с низкой плотностью (согласно маске изображения ). Чем выше значение, тем больше будут объекты в таких областях.
Примечание
Если маска изображения не задана, этот параметр не учитывается, поскольку маска по умолчанию хранит только максимальные значения маски (нет участков с низкой плотностью).
Max scale Устанавливает среднее значение масштаба для объектов, разбросанных в областях с высокой плотностью (согласно маска изображения ). Чем выше значение, тем больше будут объекты в таких областях.

Например, если используется следующая маска изображения:

Объекты Mesh Clutter будут масштабированы следующим образом:

Мин. Масштаб = 1; Максимальный масштаб = 3
Мин. Масштаб = 3; Максимальный масштаб = 1
Offset Параметр смещения высоты определяет, расположены ли все объекты на одной высоте или некоторые находятся выше или ниже. Например, со смещением камни можно закопать глубоко в землю, чтобы была видна только небольшая верхняя часть, или поставить выше и выглядеть больше.
  • Смещение измеряется в единицах.
Rotation X
Rotation Y
Rotation Z
Эти параметры позволяют произвольно ориентировать разбросанные объекты.
  • Вращение задается в углах.
  • Если значение распространения установлено на 180 , объекты будут повернуты на 360 градусов.

Маскирование областей с объектами#

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

Image Mask

Маска определяет области, по которым объекты случайным образом разбросаны, и области, в которых не будет объектов из списка. Например, на местности маска позволяет разбрасывать камни по каменистым участкам, оставляя участки травы свободными от камней.

Примечание
Если изображение-маска не задано, будет использоваться маска по умолчанию с максимальными значениями. Максимальное значение маски - 255.
  • Маска представляет собой одноканальную текстуру (R8). Если в указанной маске есть другие каналы, они будут проигнорированы.
    • Нулевое значение цвета указывает области без объектов Mesh Clutter.
    • Чем выше (светлее) значение цвета, тем больше объектов будет в этой области и тем плотнее они расположены. Цвет также влияет на размер объектов: более светлые значение цвета делают объекты больше, в то время как темные размер объектов наоборот, уменьшают.
    • Значение цвета 255 означает, что плотность соответствует величине, заданной соответствующим параметром .
  • Маскирование выполняется для всех объектов, содержащихся в списке Mesh Clutter.
Примечание
Чтобы нарисовать маску изображения прямо в сцене, используйте Редактор масок .
Threshold for mask Для управления силой маскирования используется порог маски. Он проверяет плотность маски для области, и если пороговое значение выше, чем значение цвета маски, объекты разбрасываются по ней. Если маскированной плотности недостаточно, места оставляют голыми.
  • При минимальном значении 0 маска применяется как есть.
  • При более высоком пороговом значении объекты будут разбросаны только в областях, отмеченных маской как плотные. Вместо разреженного распределения объектов, разбросанных здесь и там, они, скорее всего, будут отображаться плотными изолированными группами.
  • При максимальном значении 1 объекты не будут разбросаны вообще.
Terrain Mask Маска принадлежащий Landscape Terrain будет использоваться для определения области, в которой должен быть размещен объект Mesh Clutter.

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

Меш используется как маска

Маскирование на основе меша
Inverse Флаг Inverse переключает режимы размещения элементов внутри или вне контура меша.

Обратное маскирование
Cutout Intersection Вырезанная битовая маска. Эта маска используется для вырезания мешающих мешей в областях пересечения с объектами и декалями (например, может использоваться для удаления растительности под домами или с поверхности дорог, проецируемых с помощью декалей). Элементы меша будут вырезаны объектами и декалями, маска пересечения которых соответствует этой (по крайней мере, на один бит).
Cutout Inverse Переключает значение, которое указывает, должны ли элементы клаттера визуализироваться внутри или за пределами областей, определенных маской вырезания по пересечению .

Выравнивание по поверхности рельефа#

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

Родителем для пересечения может быть только местность или меш объект. Меш должен быть похожим на ландшафт, то есть иметь только одну поверхность по вертикали по координате Z.

Примечание
Mesh Clutter выполняет только одно тестирование вертикального пересечения с геометрией родительского меша. Если под верхней поверхностью есть поверхности, они будут проигнорированы. Например, чтобы разбросать опорные узлы по всей сфере, необходимо использовать две полусферные сетки.
Intersection После установки флажка Intersection объекты будут разбросаны по поверхности родительского объекта.
  • Не имеет значения, больше ли Mesh Clutter, чем родительский объект по размеру - область рассеивания по-прежнему будет ограничена поверхностями родительского объекта.
Orientation Эта опция позволяет установить вектор нормали родительской поверхности в качестве начальной ориентации для рассеянных объектов. Это означает, что если поверхность в каком-то месте вертикальна, направление вверх для объектов, разбросанных по ней, будет фактически указывать в сторону.
  • Элементы могут иметь случайный поворот относительно ориентации родительского вектора нормали.
  • Этот параметр доступен, только если отмечена опция Intersection.
Angle Как и в случае с травой , рассеяние может учитывать крутизну наклона.
  • При минимальном значении 0 не имеет значения, насколько плоская или наклонная поверхность, по которой разбросаны объекты Mesh Clutter.
  • Чем больше значение, тем более ровным должно быть место для разбросанных по нему предметов. Таким образом, более высокие значения делают менее крутые поверхности голыми.
  • При максимальном значении 1 объекты могут быть разбросаны только по идеально горизонтальной поверхности.
  • Этот параметр доступен, только если отмечена опция Intersection.

Создание Mesh Cluster из Mesh Clutter#

Если вам требуется больше свободы в настройке существующего Mesh Clutter, вы можете преобразовать его в Mesh Cluster, используя соответствующий опция контекстного меню .

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