SkeletonProfile

Наследует: Resource < RefCounted < Object

Наследуется от: SkeletonProfileHumanoid

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

Описание

Этот ресурс используется в EditorScenePostImport. Некоторые параметры ссылаются на кости в Skeleton3D, Skin, Animation, а некоторые другие узлы переписываются на основе параметров SkeletonProfile.

Примечание: Эти параметры необходимо устанавливать только при создании пользовательского профиля. В SkeletonProfileHumanoid они определены внутренне как значения, доступные только для чтения.

Обучающие материалы

Свойства

int

bone_size

0

int

group_size

0

StringName

root_bone

&""

StringName

scale_base_bone

&""

Методы

int

find_bone(bone_name: StringName) const

StringName

get_bone_name(bone_idx: int) const

StringName

get_bone_parent(bone_idx: int) const

StringName

get_bone_tail(bone_idx: int) const

StringName

get_group(bone_idx: int) const

StringName

get_group_name(group_idx: int) const

Vector2

get_handle_offset(bone_idx: int) const

Transform3D

get_reference_pose(bone_idx: int) const

TailDirection

get_tail_direction(bone_idx: int) const

Texture2D

get_texture(group_idx: int) const

bool

is_required(bone_idx: int) const

void

set_bone_name(bone_idx: int, bone_name: StringName)

void

set_bone_parent(bone_idx: int, bone_parent: StringName)

void

set_bone_tail(bone_idx: int, bone_tail: StringName)

void

set_group(bone_idx: int, group: StringName)

void

set_group_name(group_idx: int, group_name: StringName)

void

set_handle_offset(bone_idx: int, handle_offset: Vector2)

void

set_reference_pose(bone_idx: int, bone_name: Transform3D)

void

set_required(bone_idx: int, required: bool)

void

set_tail_direction(bone_idx: int, tail_direction: TailDirection)

void

set_texture(group_idx: int, texture: Texture2D)


Сигналы

profile_updated() 🔗

Этот сигнал выдается при изменении значения в профиле. Он используется для обновления имени ключа в BoneMap и перерисовки редактора BoneMap.

Примечание: Этот сигнал не подключен напрямую к редактору для упрощения ссылки, вместо этого он передается редактору через BoneMap.


Перечисления

enum TailDirection: 🔗

TailDirection TAIL_DIRECTION_AVERAGE_CHILDREN = 0

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

TailDirection TAIL_DIRECTION_SPECIFIC_CHILD = 1

Направление к координатам указанного ребенка кости.

TailDirection TAIL_DIRECTION_END = 2

Направление не рассчитано.


Описания свойств

int bone_size = 0 🔗

  • void set_bone_size(value: int)

  • int get_bone_size()

Количество костей в редакторе BoneMap раздела перенацеливания. Например, SkeletonProfileHumanoid имеет 56 костей.

Размер элементов в BoneMap обновляется при изменении этого свойства в назначенном ему SkeletonProfile.


int group_size = 0 🔗

  • void set_group_size(value: int)

  • int get_group_size()

Количество групп костей в редакторе BoneMap раздела перенацеливания. Например, SkeletonProfileHumanoid имеет 4 группы.

Это свойство существует для разделения списка костей на несколько разделов в редакторе.


StringName root_bone = &"" 🔗

Имя кости, которая будет использоваться как корневая кость в AnimationTree. Это должна быть кость родителя бедер, которая существует в начале координат мира.


StringName scale_base_bone = &"" 🔗

Имя кости, которое будет использовать высоту модели как коэффициент для нормализации. Например, SkeletonProfileHumanoid определяет ее как Hips.


Описания метода

int find_bone(bone_name: StringName) const 🔗

Возвращает индекс кости, имя которого совпадает с bone_name.


StringName get_bone_name(bone_idx: int) const 🔗

Возвращает имя кости в bone_idx, которое будет ключевым именем в BoneMap.

В процессе перенацеливания возвращаемое имя кости является именем кости целевого скелета.


StringName get_bone_parent(bone_idx: int) const 🔗

Возвращает имя кости, которая является родителем кости в bone_idx. Результат пустой, если у кости нет родителя.


StringName get_bone_tail(bone_idx: int) const 🔗

Возвращает имя кости, которая является хвостом кости по адресу bone_idx.


StringName get_group(bone_idx: int) const 🔗

Возвращает группу кости по параметру bone_idx.


StringName get_group_name(group_idx: int) const 🔗

Возвращает имя группы в group_idx, которая будет группой рисования в редакторе BoneMap.


Vector2 get_handle_offset(bone_idx: int) const 🔗

Возвращает смещение кости в bone_idx, которое будет позицией кнопки в редакторе BoneMap.

Это смещение с началом в левом верхнем углу квадрата.


Transform3D get_reference_pose(bone_idx: int) const 🔗

Возвращает преобразование опорной позы для кости bone_idx.


TailDirection get_tail_direction(bone_idx: int) const 🔗

Возвращает направление хвоста кости в bone_idx.


Texture2D get_texture(group_idx: int) const 🔗

Возвращает текстуру группы в group_idx, которая будет фоновым изображением группы рисования в редакторе BoneMap.


bool is_required(bone_idx: int) const 🔗

Возвращает, требуется ли кость в bone_idx для перенацеливания.

Это значение используется редактором карты костей. Если этот метод возвращает true и кость не назначена, цвет ручки будет красным в редакторе карты костей.


void set_bone_name(bone_idx: int, bone_name: StringName) 🔗

Устанавливает имя кости в bone_idx, которое будет ключевым именем в BoneMap.

В процессе перенацеливания имя кости настройки — это имя кости целевого скелета.


void set_bone_parent(bone_idx: int, bone_parent: StringName) 🔗

Устанавливает кость с именем bone_parent как родительскую для кости с bone_idx. Если передана пустая строка, то у кости нет родителя.


void set_bone_tail(bone_idx: int, bone_tail: StringName) 🔗

Устанавливает кость с именем bone_tail в качестве хвоста кости с координатами bone_idx.


void set_group(bone_idx: int, group: StringName) 🔗

Устанавливает группу кости в bone_idx.


void set_group_name(group_idx: int, group_name: StringName) 🔗

Задает имя группы в group_idx, которая будет группой рисования в редакторе BoneMap.


void set_handle_offset(bone_idx: int, handle_offset: Vector2) 🔗

Устанавливает смещение кости в bone_idx, которое будет позицией кнопки в редакторе BoneMap.

Это смещение с началом в левом верхнем углу квадрата.


void set_reference_pose(bone_idx: int, bone_name: Transform3D) 🔗

Устанавливает преобразование опорной позы для кости bone_idx.


void set_required(bone_idx: int, required: bool) 🔗

Устанавливает требуемый статус для кости bone_idx на required.


void set_tail_direction(bone_idx: int, tail_direction: TailDirection) 🔗

Устанавливает направление хвоста кости в bone_idx.

Примечание: Это только указывает метод расчета. Фактические требуемые координаты должны храниться во внешнем скелете, поэтому сам расчет должен выполняться извне.


void set_texture(group_idx: int, texture: Texture2D) 🔗

Устанавливает текстуру группы в group_idx, которая будет фоновым изображением группы рисования в редакторе BoneMap.