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 для застосування оберненої кінематики до ланцюгів кісток, що містять довільну кількість кісток.

Опис

Базовий клас SkeletonModifier3D, який автоматично генерує список суглобів на основі кісток між кореневою та кінцевою кістками.

Примітка: Усі методи цього класу приймають параметр index. Цей параметр визначає, який запис зі списку налаштувань повернути, якщо IK має кілька записів (наприклад, 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) 🔗

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