Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ChainIK3D
Наследует: IKModifier3D < SkeletonModifier3D < Node3D < Node < Object
Наследуется от: IterateIK3D, SplineIK3D
SkeletonModifier3D для применения обратной кинематики к цепочкам костей, содержащим произвольное количество костей.
Описание
Класс SkeletonModifier3D, который автоматически формирует список суставов из костей, расположенных между корневой и конечной костями.
Примечание: Все методы этого класса принимают параметр index. Он указывает, какую запись из списка настроек следует возвращать, если IK содержит несколько записей (например, settings/<index>/root_bone_name).
Методы
get_end_bone(index: int) const |
|
get_end_bone_direction(index: int) const |
|
get_end_bone_length(index: int) const |
|
get_end_bone_name(index: int) const |
|
get_joint_bone(index: int, joint: int) const |
|
get_joint_bone_name(index: int, joint: int) const |
|
get_joint_count(index: int) const |
|
get_root_bone(index: int) const |
|
get_root_bone_name(index: int) const |
|
is_end_bone_extended(index: int) const |
|
void |
set_end_bone(index: int, bone: int) |
void |
set_end_bone_direction(index: int, bone_direction: BoneDirection) |
void |
set_end_bone_length(index: int, length: float) |
void |
set_end_bone_name(index: int, bone_name: String) |
void |
set_extend_end_bone(index: int, enabled: bool) |
void |
set_root_bone(index: int, bone: int) |
void |
set_root_bone_name(index: int, bone_name: String) |
Описания метода
int get_end_bone(index: int) const 🔗
Возвращает индекс конечной кости цепочки костей.
BoneDirection get_end_bone_direction(index: int) const 🔗
Возвращает направление хвоста конечной кости цепочки костей, когда is_end_bone_extended() имеет значение true.
float get_end_bone_length(index: int) const 🔗
Возвращает длину хвостовой части конечной кости цепочки костей, когда is_end_bone_extended() имеет значение true.
String get_end_bone_name(index: int) const 🔗
Возвращает имя конечной кости цепочки костей.
int get_joint_bone(index: int, joint: int) const 🔗
Возвращает индекс кости в joint в списке суставов цепочки костей.
String get_joint_bone_name(index: int, joint: int) const 🔗
Возвращает имя кости в joint в списке суставов цепочки костей.
int get_joint_count(index: int) const 🔗
Возвращает количество суставов в списке суставов цепочки костей.
int get_root_bone(index: int) const 🔗
Возвращает индекс корневой кости цепочки костей.
String get_root_bone_name(index: int) const 🔗
Возвращает имя корневой кости цепочки костей.
bool is_end_bone_extended(index: int) const 🔗
Возвращает true, если конечная кость удлинена и имеет хвост.
void set_end_bone(index: int, bone: int) 🔗
Устанавливает индекс конечной кости в костной цепи.
void set_end_bone_direction(index: int, bone_direction: BoneDirection) 🔗
Устанавливает направление хвоста конечной кости цепочки костей, когда is_end_bone_extended() имеет значение true.
void set_end_bone_length(index: int, length: float) 🔗
Устанавливает длину конечной кости цепи костей, когда is_end_bone_extended() имеет значение true.
void set_end_bone_name(index: int, bone_name: String) 🔗
Задает имя конечной кости цепочки костей.
Примечание: Конечная кость должна быть корневой костью или дочерней костью корневой кости. Если они совпадают, хвостовая кость должна быть расширена с помощью set_extend_end_bone() для изменения кости.
void set_extend_end_bone(index: int, enabled: bool) 🔗
Если enabled равно true, конечная кость удлиняется, образуя хвост.
Конфигурация расширенного хвоста назначается последнему элементу в списке суставов. Другими словами, если вы установите enabled в false, конфигурация последнего элемента в списке суставов не повлияет на результат моделирования.
void set_root_bone(index: int, bone: int) 🔗
Устанавливает индекс корневой кости цепочки костей.
void set_root_bone_name(index: int, bone_name: String) 🔗
Задает имя корневой кости цепочки костей.