SkeletonProfile
Наследует: Resource < RefCounted < Object
Наследуется от: SkeletonProfileHumanoid
Базовый класс для профиля виртуального скелета, используемого в качестве цели для перенацеливания.
Описание
Этот ресурс используется в EditorScenePostImport. Некоторые параметры ссылаются на кости в Skeleton3D, Skin, Animation, а некоторые другие узлы переписываются на основе параметров SkeletonProfile.
Примечание: Эти параметры необходимо устанавливать только при создании пользовательского профиля. В SkeletonProfileHumanoid они определены внутренне как значения, доступные только для чтения.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
Методы
find_bone(bone_name: StringName) const |
|
get_bone_name(bone_idx: int) const |
|
get_bone_parent(bone_idx: int) const |
|
get_bone_tail(bone_idx: int) const |
|
get_group_name(group_idx: int) const |
|
get_handle_offset(bone_idx: int) const |
|
get_reference_pose(bone_idx: int) const |
|
get_tail_direction(bone_idx: int) const |
|
get_texture(group_idx: int) const |
|
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
Направление не рассчитано.
Описания свойств
Количество костей в редакторе BoneMap раздела перенацеливания. Например, SkeletonProfileHumanoid имеет 56 костей.
Размер элементов в BoneMap обновляется при изменении этого свойства в назначенном ему SkeletonProfile.
Количество групп костей в редакторе BoneMap раздела перенацеливания. Например, SkeletonProfileHumanoid имеет 4 группы.
Это свойство существует для разделения списка костей на несколько разделов в редакторе.
StringName root_bone = &"" 🔗
void set_root_bone(value: StringName)
StringName get_root_bone()
Имя кости, которая будет использоваться как корневая кость в AnimationTree. Это должна быть кость родителя бедер, которая существует в начале координат мира.
StringName scale_base_bone = &"" 🔗
void set_scale_base_bone(value: StringName)
StringName get_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.