Функции Skin Weight Profile компонента Skinned Mesh Component в Unreal Engine

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

Эта категория функций в Unreal Engine относится к управлению профилями весов скиннинга (Skin Weight Profiles) и их переопределениями на уровне компонента. Профили весов скиннинга позволяют использовать различные наборы весов для вершин Skeletal Mesh, что может быть полезно для разных LOD, платформ или для кастомизации персонажей.

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

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

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

  1. Skin Weight Profile (профиль весов скиннинга) — это альтернативный набор весов влияния костей на вершины меша, который можно применять вместо исходных весов. В Unreal Engine система Skin Weight Profiles позволяет, например, оптимизировать внешний вид персонажа на разных платформах или при отключении динамических частей одежды. Можно импортировать, переключать и удалять профили весов для разных уровней LOD и просматривать их прямо в редакторе или во время игры.
  2. Skin Weight (вес скиннинга) — это числовое значение, определяющее степень влияния конкретной кости на вершину меша. Каждая вершина может быть под влиянием нескольких костей, и сумма всех весов для вершины обычно равна 1. Например, если вершина находится между двумя костями, у каждой может быть вес по 0.5. Вес скиннинга определяет, как вершины будут деформироваться при движении костей.
  3. Skinning (скиннинг) — это процесс привязки вершин меша к костям скелета для анимации. В Unreal Engine чаще всего используется алгоритм Smooth Skinning (или Linear Blend Skinning), при котором положение каждой вершины вычисляется как взвешенная сумма трансформаций всех костей, влияющих на неё. Скиннинг позволяет анимировать персонажей и объекты с помощью скелетной анимации, обеспечивая реалистичное движение и деформацию поверхности.

Clear Skin Weight Profile

Blueprint-функция Clear Skin Weight Profile в Unreal Engine (UE5, UE4)
Blueprint-функция Clear Skin Weight Profile в Unreal Engine (UE5, UE4)

Blueprint-функция Clear Skin Weight Profile в Unreal Engine — это метод класса Skinned Mesh Component, который очищает (снимает) текущий установленный профиль весов скиннинга с компонента, если он был установлен.

Официальная справка: Clear the Skin Weight Profile from this component, in case it is set.

Перевод официальной справки: Clear Skin Weight — удаляет профиль весов скиннинга, если он был установлен.

Функция Clear Skin Weight Profile сбрасывает профиль весов скиннинга (Skin Weight Profile), возвращая компонент к использованию стандартных (базовых) весов скиннинга, которые заданы в скелетном ассете.

Если до этого был выбран и применён какой-либо профиль с помощью функции Set Skin Weight Profile, после вызова Clear Skin Weight Profile компонент перестаёт использовать веса из профиля и возвращается к дефолтным значениям.

Общие понятия:

  1. Skin Weight Profile — альтернативный набор весов влияния костей на вершины меша, который может быть выбран для компонента.
  2. Стандартные веса скиннинга — веса, заданные по умолчанию в скелетном ассете, применяемые, если профиль не выбран.

Get Current Skin Weight Profile Name

Blueprint-функция Get Current Skin Weight Profile Name в Unreal Engine (UE5, UE4)
Blueprint-функция Get Current Skin Weight Profile Name в Unreal Engine (UE5, UE4)

Blueprint-функция Get Current Skin Weight Profile Name в Unreal Engine — это метод класса Skinned Mesh Component, который возвращает имя профиля весов скиннинга, установленный в данный момент для компонента. Если профиль не установлен, возвращает None.

Официальная справка: Return the name of the Skin Weight Profile that is currently set.

Перевод официальной справки: Get Current Skin Weight Profile Name — возвращает имя профиля весов скиннинга, который в данный момент установлен.

Функция Get Current Skin Weight Profile Name возвращает значение внутреннего свойства Current Skin Weight Profile Name компонента. Если для компонента был применён какой-либо профиль, будет возвращено его имя. Если профиль не установлен, возвращается специальное значение None, что означает отсутствие активного профиля.

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

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

Return Value (Name) — возвращаемое значение: имя текущего активного профиля весов скиннинга. Если профиль не установлен, возвращается None (пустое имя).

Общие понятия:

  1. Skin Weight Profile — альтернативный набор весов влияния костей на вершины меша, который может быть выбран для компонента.
  2. Current Skin Weight Profile Name — внутреннее поле компонента, хранящее имя текущего профиля.

Is Using Skin Weight Profile

Blueprint-функция Is Using Skin Weight Profile в Unreal Engine (UE5, UE4)
Blueprint-функция Is Using Skin Weight Profile в Unreal Engine (UE5, UE4)

Blueprint-функция Is Using Skin Weight Profile в Unreal Engine — это метод класса Skinned Mesh Component, который проверяет, установлен ли в данный момент профиль весов скиннинга (Skin Weight Profile) для компонента.

Официальная справка: Check whether or not a Skin Weight Profile is currently set.

Перевод официальной справки: Is Using Skin Weight Profile — проверяет, установлен ли в данный момент профиль весов скиннинга.

Функция Is Using Skin Weight Profile возвращает булево значение (True или False), показывающее, активен ли в данный момент какой-либо профиль весов скиннинга для этого компонента. Если компонент использует стандартные веса (без профиля), функция вернёт False. Если выбран и применён какой-либо профиль весов скиннинга, функция вернёт True.

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

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

Return Value (bool) — возвращаемое значение: признак использования профиля весов скиннинга (Trueпрофиль установлен, Falseнет).

Общие понятия:

Skin Weight Profile — альтернативный набор весов влияния костей на вершины меша, который может быть выбран для компонента.

Set Skin Weight Profile

Blueprint-функция Set Skin Weight Profile в Unreal Engine (UE5, UE4)
Blueprint-функция Set Skin Weight Profile в Unreal Engine (UE5, UE4)

Blueprint-функция Set Skin Weight Profile в Unreal Engine — это метод класса Skinned Mesh Component, который устанавливает переопределённый (Override) профиль весов скиннинга (Skin Weight Profile) для данного компонента по имени.

Официальная справка: Setup an override Skin Weight Profile for this component.

Перевод официальной справки: Set Skin Weight Profile — устанавливает переопределённый профиль весов скиннинга для этого компонента.

Функция Set Skin Weight Profile позволяет выбрать и применить определённый профиль весов скиннинга для компонента по имени профиля. После вызова этого метода компонент будет использовать веса из указанного профиля вместо стандартных весов. Это может быть необходимо для смены внешнего вида персонажа, оптимизации под конкретное устройство или иной кастомизации.

Если профиль с указанным именем существует и может быть применён, функция возвращает True. Если профиль не найден или его невозможно применить, возвращается False.

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

  • In Profile Name (Name) — имя профиля весов скиннинга, который нужно применить к компоненту.
  • Return Value (bool) — возвращаемое значение: результат попытки применения профиля (Trueпрофиль применён, Falseпрофиль не найден или не может быть применён).

Общие понятия:

  1. Skin Weight Profile — альтернативный набор весов влияния костей на вершины меша, который может быть выбран для компонента.
  2. Override — переопределение стандартных настроек компонента.

Unload Skin Weight Profile

Blueprint-функция Unload Skin Weight Profile в Unreal Engine (UE5, UE4)
Blueprint-функция Unload Skin Weight Profile в Unreal Engine (UE5, UE4)

Blueprint-функция Unload Skin Weight Profile в Unreal Engine — это метод класса Skinned Mesh Component, который выгружает (освобождает) буфер весов скиннинга, связанный с указанным профилем, если такой буфер был создан.

Официальная справка: Unload a Skin Weight Profile’s skin weight buffer (if created).

Перевод официальной справки: Unload Skin Weight Profile — выгружает буфер весов скиннинга, связанный с профилем (если он был создан).

Функция Unload Skin Weight Profile освобождает ресурсы (выгружает из памяти), связанные с буфером весов скиннинга для определённого профиля. Это делается для каждого LOD, где этот профиль был применён.

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

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

In Profile Name (Name) — имя профиля, буфер которого требуется выгрузить.

Общие понятия:

  1. Skin Weight Profile — альтернативный набор весов влияния костей на вершины меша.
  2. LOD (Level of Detail, уровень детализации) — это технология в 3D-графике, при которой для одного и того же объекта создаются несколько версий с разным количеством деталей (например, разным числом полигонов). В Unreal Engine LOD используется для оптимизации производительности: когда объект находится далеко от камеры, используется более простой (низкополигональный) вариант меша; когда объект близко — более детализированный.

Set Skin Weight Override

Blueprint-функция Set Skin Weight Override в Unreal Engine (UE5, UE4)
Blueprint-функция Set Skin Weight Override в Unreal Engine (UE5, UE4)

Blueprint-функция Set Skin Weight Override в Unreal Engine — это метод класса Skinned Mesh Component, который позволяет вручную переопределить веса скиннинга для заданного LOD компонента, используя массив структур с информацией о весах для каждой вершины.

Официальная справка: Allow override of skin weights on a per-component basis.

Перевод официальной справки: Set Skin Weight Override — позволяет переопределять веса скиннинга на уровне компонента.

Функция Set Skin Weight Override принимает индекс LOD и массив структур Skel Mesh Skin Weight Info, где каждая из структур содержит информацию о костях и их весах для одной вершины. Эти данные записываются во внутренний буфер переопределения весов (Override Skin Weights) для указанного LOD. После этого компонент будет использовать эти пользовательские веса вместо стандартных или профильных для выбранного LOD.

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

  • LOD Index (int) — индекс уровня детализации (LOD), для которого задаются веса.
  • Skin Weights (array struct) — массив весов скиннинга, содержащий индексы костей и силу их влияния.

Общие понятия:

  1. LOD (Level of Detail, уровень детализации) — это технология в 3D-графике, при которой для одного и того же объекта создаются несколько версий с разным количеством деталей (например, разным числом полигонов). В Unreal Engine LOD используется для оптимизации производительности: когда объект находится далеко от камеры, используется более простой (низкополигональный) вариант меша; когда объект близко — более детализированный.
  2. Skel Mesh Skin Weight Info — структура, содержащая массив индексов костей (Bones) и соответствующих весов (Weights) для одной вершины.
  3. Override Skin Weights — внутренний буфер, который хранит переопределённые веса для LOD.

Clear Skin Weight Override

Blueprint-функция Clear Skin Weight Override в Unreal Engine (UE5, UE4)
Blueprint-функция Clear Skin Weight Override в Unreal Engine (UE5, UE4)

Blueprint-функция Clear Skin Weight Override в Unreal Engine — это метод класса Skinned Mesh Component, который очищает (удаляет) все применённые переопределения весов скиннинга для указанного LOD, возвращая компонент к использованию стандартных или профильных весов.

Официальная справка: Clear any applied skin weight override.

Перевод официальной справки: Clear Skin Weight Override — очищает все применённые переопределения весов скиннинга.

Функция Clear Skin Weight Override принимает индекс LOD и удаляет пользовательские веса скиннинга из буфера Override Skin Weights, которые были заданы через функцию Set Skin Weight Override для этого уровня детализации. При этом освобождая память, занятую этим буфером, вследствие чего компонент начинает использовать стандартные веса или веса из активного профиля.

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

LOD Index (int) — индекс уровня детализации (LOD), для которого очищаются переопределения.

Общие понятия:

  1. LOD (Level of Detail, уровень детализации) — это технология в 3D-графике, при которой для одного и того же объекта создаются несколько версий с разным количеством деталей (например, разным числом полигонов). В Unreal Engine LOD используется для оптимизации производительности: когда объект находится далеко от камеры, используется более простой (низкополигональный) вариант меша; когда объект близко — более детализированный.
  2. Override Skin Weights — внутренний буфер, который хранит переопределённые веса для LOD.

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


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

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

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