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.