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.

ChainIK3D

Успадковує: IKModifier3D < SkeletonModifier3D < Node3D < Node < Object

Успадковано від: IterateIK3D, SplineIK3D

SkeletonModifier3D для застосування оберненої кінематики до ланцюгів кісток, що містять довільну кількість кісток.

Опис

Base class of SkeletonModifier3D that automatically generates a joint list from the bones between the root bone and the end bone.

Note: All the methods in this class take an index parameter. This parameter specifies which setting list entry to return if the IK has multiple entries (e.g. settings/<index>/root_bone_name).

Методи

int

get_end_bone(index: int) const

BoneDirection

get_end_bone_direction(index: int) const

float

get_end_bone_length(index: int) const

String

get_end_bone_name(index: int) const

int

get_joint_bone(index: int, joint: int) const

String

get_joint_bone_name(index: int, joint: int) const

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

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) 🔗

Встановлює назву кореневої кістки ланцюга кісток.