SkeletonModifier3D
Успадковує: Node3D < Node < Object
Успадковано від: BoneConstraint3D, LookAtModifier3D, ModifierBoneTarget3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
Вузол, який може змінювати кістки Skeleton3D.
Опис
SkeletonModifier3D отримує цільовий Skeleton3D, маючи батьківський елемент Skeleton3D.
Якщо є AnimationMixer, модифікація завжди виконується після процесу відтворення AnimationMixer.
Цей вузол слід використовувати для реалізації користувацьких IK-розв'язувачів, обмежень або фізики скелета.
Посібники
Властивості
|
||
|
Методи
void |
_process_modification() virtual |
void |
_process_modification_with_delta(delta: float) virtual |
void |
_skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual |
void |
_validate_bone_names() virtual |
get_skeleton() const |
Сигнали
modification_processed() 🔗
Повідомляє про завершення модифікації.
Примітка: Якщо ви хочете отримати змінену позу кістки за допомогою модифікатора, ви повинні використовувати Skeleton3D.get_bone_pose() або Skeleton3D.get_bone_global_pose() у момент спрацьовування цього сигналу.
Переліки
enum BoneAxis: 🔗
BoneAxis BONE_AXIS_PLUS_X = 0
Перераховане значення для осі +X.
BoneAxis BONE_AXIS_MINUS_X = 1
Перераховане значення для осі -X.
BoneAxis BONE_AXIS_PLUS_Y = 2
Перераховане значення для осі +Y.
BoneAxis BONE_AXIS_MINUS_Y = 3
Перераховане значення для осі -Y.
BoneAxis BONE_AXIS_PLUS_Z = 4
Перераховане значення для осі +Z.
BoneAxis BONE_AXIS_MINUS_Z = 5
Перераховане значення для осі -Z.
Описи властивостей
Якщо true, то SkeletonModifier3D буде оброблятися.
Встановлює вплив модифікації.
Примітка: Це значення використовується Skeleton3D для змішування, тому SkeletonModifier3D має завжди застосовувати лише 100% результату без інтерполяції.
Описи методів
void _process_modification() virtual 🔗
Застаріло: Use _process_modification_with_delta() instead.
Перевизначте цей віртуальний метод, щоб реалізувати власний модифікатор скелета. Вам слід виконати такі дії, як отримання поточної пози Skeleton3D та застосування її тут.
_process_modification() не повинен застосовувати influence до поз кісток, оскільки Skeleton3D автоматично застосовує вплив до всіх поз кісток, встановлених модифікатором.
void _process_modification_with_delta(delta: float) virtual 🔗
Перевизначте цей віртуальний метод, щоб реалізувати власний модифікатор скелета. Вам слід виконати такі дії, як отримання поточної пози Skeleton3D та застосування її тут.
_process_modification_with_delta() не повинен застосовувати influence до поз кісток, оскільки Skeleton3D автоматично застосовує вплив до всіх поз кісток, встановлених модифікатором.
delta передається з батьківського Skeleton3D. Див. також Skeleton3D.advance().
void _skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual 🔗
Викликається, коли змінюється скелет.
void _validate_bone_names() virtual 🔗
Викликається, коли потрібно перевірити назву та індекс кістки, наприклад, час входу в дерево або зміну скелета.
Skeleton3D get_skeleton() const 🔗
Отримати батьківський вузол Skeleton3D, якщо знайдено.