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.