Функции категории Material Section компонента Skinned Mesh Component в Unreal Engine

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

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

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

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

* Skinned Mesh Component — базовый класс для всех компонентов, поддерживающих деформируемую 3D-модель, которая может быть связана со скелетом. Компонент поддерживает работу с костями, сокетами, весами скиннинга, морф-целями и деформерами.

Общие понятия категории

  1. Material Section (секция материала) — это часть геометрии скелетного меша, к которой применяется отдельный материал. Секции материалов позволяют одному мешу использовать разные материалы на разных его частях (например, для кожи, одежды, брони и т.д.), а также управлять их видимостью на уровне отдельных LOD (уровней детализации).
  2. Material ID (идентификатор материала) — числовой индекс, указывающий на определённую секцию материала в массиве материалов меша.
  3. Section Index (индекс секции) — индекс конкретной секции внутри уровня детализации (LOD), с которой связано управление видимостью.
  4. LOD, Level of Detail (уровень детализации) — это система, позволяющая использовать для одного и того же скелетного меша несколько версий геометрии с разной степенью детализации. В зависимости от расстояния до камеры или других условий, движок автоматически выбирает подходящий уровень детализации для оптимизации производительности и экономии ресурсов.
  5. Видимость секции материала — это возможность отображать (Show) или скрывать (Hide) отдельную секцию материала скелетного меша для каждого уровня детализации (LOD) независимо от других секций. Позволяет динамически изменять внешний вид персонажа или объекта без смены меша или материалов целиком.

Show Material Section

Blueprint-функция Show Material Section в Unreal Engine (UE5, UE4)
Blueprint-функция Show Material Section в Unreal Engine (UE5, UE4)

Blueprint-функция Show Material Section в Unreal Engine — метод класса Skinned Mesh Component, который позволяет скрывать или показывать определённую секцию материала (по индексу) на данном экземпляре скелетного меша для конкретного уровня детализации (LOD).

Официальная справка: Allows hiding of a particular material (by ID) on this instance of a SkeletalMesh.

Перевод: Show Material Section — позволяет скрывать определённый материал (по ID) на этом экземпляре скелетного меша.

Функция Show Material Section изменяет видимость конкретной секции материала на скелетном меше для указанного уровня детализации (LOD). Для этого в структуре данных компонента хранится массив булевых значений для каждой секции материала на каждом LOD (Hidden Materials). Если передать значение Show = False, секция материала будет скрыта и не будет отображаться при рендеринге; если передать Show = True, секция станет видимой. Это изменение применяется только к текущему экземпляру компонента и не затрагивает сам меш или его материалы в других компонентах.

Функция используется для динамического управления видимостью отдельных частей скелетного меша — например, скрытия или показа элементов одежды, брони, аксессуаров, повреждённых частей, а также для оптимизации рендеринга на разных LOD. Это позволяет реализовать кастомизацию персонажей, визуальные эффекты повреждений, смену скинов и другие задачи, связанные с изменением внешнего вида объекта в рамках одного Акторa.

Например, если у персонажа есть две секции материала: «броня» и «одежда», и вы хотите скрыть броню на LOD1, вызываете функцию Show Material Section с параметрами:

  • Material ID = 0 (броня),
  • Section Index = 0,
  • Show = False,
  • LOD Index = 1.

В результате броня не будет отображаться на LOD1, но останется видимой на других LOD или при других настройках.

Параметры функции:

  • Material ID (int) — индекс секции материала, которую нужно показать или скрыть. В каждом скелетном меше есть массив материалов, и каждая секция геометрии (Material Section) ссылается на определённый материал по индексу. В данном случае, этот индекс указывает, к какой секции применяется операция показа/скрытия.
  • Section Index (int) —  индекс конкретной секции внутри выбранного LOD, для которой выполняется операция показа или скрытия. В одном LOD может быть несколько секций. Параметр позволяет точно указать, какую именно секцию среди всех секций данного LOD нужно изменить.
  • Show (bool) — флаг, определяющий, будет ли секция видимой или скрытой:
    • True — секция будет отображаться.
    • False — секция будет скрыта (не будет отрисовываться).
  • LOD Index (int) — индекс уровня детализации (LOD), для которого применяется изменение видимости секции материала. Для каждого LOD можно независимо управлять видимостью секций, что позволяет, например, скрывать мелкие детали на дальних расстояниях для оптимизации производительности.

Общие понятия в контексте использования функции:

  1. Material Section (секция материала) — часть меша, к которой применяется отдельный материал.
  2. Material ID (идентификатор материала) — индекс секции материала в массиве материалов меша.
  3. Section Index (индекс секции) — индекс конкретной секции внутри LOD, если несколько секций используют один материал.
  4. LOD, Level of Detail (уровень детализации) — версия меша с определённым количеством полигонов и секций, используемая для оптимизации рендеринга.
  5. Hidden Materials — массив булевых значений в структуре LOD Info компонента, определяющий, какие секции материалов скрыты.

Show All Material Sections

Blueprint-функция Show All Material Sections в Unreal Engine (UE5, UE4)
Blueprint-функция Show All Material Sections в Unreal Engine (UE5, UE4)

Blueprint-функция Show All Material Sections в Unreal Engine — метод класса Skinned Mesh Component, который сбрасывает все изменения видимости секций материалов, сделанные с помощью функции ShowMaterialSection, для указанного уровня детализации (LOD), делая все секции видимыми на этом уровне.

Официальная справка: Clear any material visibility modifications made by ShowMaterialSection.

Перевод: Show All Material Sections — сбрасывает все изменения видимости материалов, сделанные с помощью ShowMaterialSection.

Функция Show All Material Sections отменяет все индивидуальные скрытия секций материалов, ранее установленные для выбранного уровня детализации (LOD) через функцию ShowMaterialSection. Она делает все секции видимыми, очищая массив скрытых секций (Hidden Materials) для соответствующего LOD в компоненте скелетного меша. Это позволяет быстро вернуть меш к исходному состоянию отображения всех материалов без необходимости вручную включать каждую секцию.

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

Например, если вы скрыли несколько секций материалов на LOD1 (элементы брони и аксессуары), а затем хотите вернуть все секции в исходное (видимое) состояние, вызываете функцию Show All Material Sections с параметром LOD Index = 1. В результате все секции на LOD1 снова становятся видимыми.

Параметры функции:

LOD Index (int) — индекс уровня детализации (LOD), для которого будет произведён сброс видимости секций. Определяет, на каком уровне детализации компонента скелетного меша функция должна сделать все секции видимыми.

Общие понятия в контексте использования функции:

  1. Material Section (секция материала) — часть меша, к которой применяется отдельный материал.
  2. LOD, Level of Detail (уровень детализации) — версия меша с определённым количеством полигонов и секций, используемая для оптимизации рендеринга.
  3. Hidden Materials — массив булевых значений в структуре LOD Info компонента, определяющий, какие секции материалов скрыты.

Is Material Section Shown

Blueprint-функция Is Material Section Shown в Unreal Engine (UE5, UE4)
Blueprint-функция Is Material Section Shown в Unreal Engine (UE5, UE4)

Blueprint-функция Is Material Section Shown в Unreal Engine — метод класса Skinned Mesh Component, который определяет, отображается ли в данный момент определённая секция материала на этом компоненте скелетного меша для указанного уровня детализации (LOD), с учётом изменений, внесённых через функцию ShowMaterialSection.

Официальная справка: Returns whether a specific material section is currently hidden on this component (by using ShowMaterialSection).

Перевод: Is Material Section Shown — возвращает, скрыта ли в данный момент определённая секция материала на этом компоненте (с помощью ShowMaterialSection).

Функция Is Material Section Shown проверяет, видима ли конкретная секция материала на данном уровне детализации (LOD) для текущего компонента скелетного меша. Она анализирует внутренний массив видимости секций (Hidden Materials) для соответствующего LOD и возвращает результат:

  • True — если секция отображается (не скрыта),
  • False — если секция скрыта с помощью функции ShowMaterialSection.

Эта проверка актуальна только для текущего компонента и не влияет на другие экземпляры того же меша.

Функция применяется для получения информации о текущем состоянии видимости секции материала на определённом LOD. Это полезно для логики геймплея, визуальных эффектов, пользовательских интерфейсов (например, для отображения состояния кастомизации), а также для отладки — чтобы узнать, какие части меша сейчас видимы или скрыты.

Например, если в ходе кастомизации персонажа игрок скрыл секцию материала «шлем» на LOD1, а затем требуется узнать, видим ли сейчас шлем на этом уровне детализации, вызывается функция Is Material Section Shown с параметрами Material ID = 2, LOD Index = 1. Если шлем скрыт — функция вернёт False, если отображается — True.

Параметры функции:

  • Material ID (int) — индекс секции материала, видимость которой проверяется.
  • LOD Index (int) — индекс уровня детализации (LOD), на котором производится проверка видимости секции.
  • Return Value (bool) — возвращаемое значение. Результат проверки:
    • True — если секция отображается (не скрыта);
    • False — если секция скрыта.

Общие понятия в контексте использования функции:

  1. Material Section (секция материала) — часть меша, к которой применяется отдельный материал.
  2. Material ID (идентификатор материала) — индекс секции материала в массиве материалов меша.
  3. Hidden Materials — массив булевых значений в структуре LOD Info компонента, определяющий, какие секции материалов скрыты.
  4. LOD, Level of Detail (уровень детализации) — версия меша с определённым количеством полигонов и секций, используемая для оптимизации рендеринга.

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


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

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

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