Класс Mesh Component в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим класс Mesh Component в Unreal Engine (UE5, UE4), предоставляющий функциональность для работы с материалами в компонентах.

Но прежде чем разбираться с компонентом меша, рекомендую изучить более детально саму концепцию компонентов в движке Анрил Энджин, сделать это Вы можете в отдельной статье: Unreal Engine Component.

Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Mesh Component

Класс Mesh Component в Unreal Engine (UE5, UE4)
Класс Mesh Component в Unreal Engine (UE5, UE4)

Mesh Component в Unreal Engine — это абстрактный класс, предоставляющий общую функциональность для работы с материалами, текстурами, рендерингом, стримингом и параметрами материалов у всех типов Mesh-компонентов.

* Абстрактный класс компонента (Abstract Component) в Unreal Engine (UE5, UE4) — это класс компонента, объект которого не может быть создан напрямую. Такой класс служит в качестве основы или шаблона для других, более конкретных (неабстрактных) компонентов.

Перевод официальной справки: Mesh Component — это абстрактная база для любого компонента, который представляет собой набор отрисовываемых треугольников.

Класс Mesh Component предоставляет общую основу для реализации компонентов, которые отвечают за отображение трёхмерной сетки (Mesh) в сцене. Он обеспечивает работу с материалами, их переопределением, управление параметрами материалов (скалярными и векторными), поддержку Overlay-материалов, стриминг текстур и материалов, а также взаимодействие с системой рендеринга.

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

Ключевые особенности Mesh Component

  • Работа с материалами — компонент даёт возможность получения и установки материала по индексу или имени слота, поддерживает переопределение материалов для каждого элемента Mesh.
  • Overlay материалы — поддерживает дополнительный материал, который накладывается поверх основного.
  • Параметры материалов — даёт возможность динамического изменения параметров материалов с поддержкой их кэширования.
  • Стриминг текстур и материалов — управляет загрузкой текстур в память, а также поддерживает Callback для отслеживания завершения стриминга LOD-уровней.
  • Связь с рендерингом — определяет релевантность материалов для текущего уровня графики, а также, при изменении материалов, помечает состояние компонента как «грязное», чтобы начать его перерисовку.
  • Поддержка редактора — предоставляет возможность редактирования материалов и Overlay-слоёв из редактора.

Наследование классов

Родительский класс

Mesh Component наследуется от класса Primitive Component, в основном расширяя его функционалом управления материалами компонента, а также другими сопутствующими функциями.

Mesh Component расширяет родительский класс Primitive Component функциональностью управления материалами
Mesh Component расширяет родительский класс Primitive Component функциональностью управления материалами

Дочерние классы

Вследствие своей абстрактности, Mesh Component является базовым классом для многих более специализированных компонентов с геометрией, среди которых самыми известными и популярными являются:

  1. Static Mesh Component — отображает статическую 3D-модель, которую можно рендерить и использовать для коллизии.
  2. Skeletal Mesh Component — отображает анимированную скелетную модель, также поддерживает коллизию.

Настройки Mesh Component во вкладке Details

MeshComponent, как и многие другие компоненты, имеет ряд небольших настроек во вкладке Details, которые, в последствии, наследуют все его дочерние классы. Рассмотрим подробнее эти настройки.

Настройки MeshComponent во вкладке Details
Настройки MeshComponent во вкладке Details
  • Overlay Material — дополнительный полупрозрачный материал, который накладывается поверх основного при отрисовке объекта. При использовании этого свойства меш рендерится дважды: сначала с базовым материалом, а затем с материалом из Overlay Material, что позволяет создавать различные визуальные эффекты наложения, например, подсветку, контуры или эффекты состояния.
  • Overlay Material Max Draw Distance — максимальное расстояние, на котором будет отображаться Overlay-материал. Если значение равно 0, используется максимальное расстояние видимости самого Mesh. Полезно для экономии производительности — позволяет не отрисовывать Overlay-материал на больших дистанциях.
  • Enable Material Parameter Caching — включает или отключает кэширование индексов параметров материалов (при включенном кэшировании вызовы к параметрам материалов работают быстрее).

Функции Mesh Component

Функции компонента MeshComponent
Функции компонента MeshComponent
  • Get Materials — возвращает массив всех материалов, используемых компонентом меша.
  • Get Overlay Material — возвращает дополнительный материал (Overlay), который накладывается поверх основного при отрисовке объекта.
  • Get Overlay Material Max Draw Distance — возвращает максимальное расстояние, на котором будет отображаться Overlay-материал.
  • Prestream Mesh LODs — загружает все уровни детализации (LOD) меша в память.
  • Prestream Textures — предзагружает текстуры, используемые компонентом, с указанием времени, в течение которого они должны быть полностью загружены.
  • Set Overlay Material — задаёт новый Overlay-материал для компонента.
  • Set Overlay Material Max Draw Distance — задаёт новое максимальное расстояние отрисовки Overlay-материала.
  • Set Scalar Parameter Value On Materials — устанавливает скалярное значение параметра материала по имени для всех материалов компонента.
  • Set Vector Parameter Value On Materials — устанавливает векторное значение параметра материала по имени для всех материалов компонента.

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.


наш Телеграм канал

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

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