SkeletonModification2DCCDIK

Експериментальний: This class may be changed or removed in future versions.

Успадковує: SkeletonModification2D < Resource < RefCounted < Object

Модифікація, яка використовує CCDIK, щоб маніпулювати цикл кісток, щоб досягти мети в 2D.

Опис

Ця SkeletonModification2D використовує алгоритм, який називається Cyclic Координація Dcent Inverse Kinematics, або CCDIK, щоб маніпулювати ланцюг кісток в Skeleton2D, так що він досягає певної мети.

CCDIK працює шляхом обертування набору кісток, як правило, називається "бону ланцюг", на одній осі. Кожна кістка обертається, щоб зіткнутися з мішеною з наконечника (за замовчуванням), яка над ланцюжком кісток дозволяє її швидко обертати, щоб досягти мети. Оскільки кістки тільки обертаються на одній осі, CCDIK can дивляться більш робототехніку, ніж інші IK розчинники.

Примітка: У модифікаторі CCDIK ccdik_joints, які є об'єктами даних, які містять дані для кожного суглоба в мережі CCDIK. Це відрізняється від кістки! CCDIK проводить дані, необхідні для кожної кістки в кістковій ланцюжку, що використовується CCDIK.

CCDIK також повністю підтримує обмеження кута, що дозволяє більш контролювати, як розчин відповідає.

Властивості

int

ccdik_data_chain_length

0

NodePath

target_nodepath

NodePath("")

NodePath

tip_nodepath

NodePath("")

Методи

NodePath

get_ccdik_joint_bone2d_node(joint_idx: int) const

int

get_ccdik_joint_bone_index(joint_idx: int) const

bool

get_ccdik_joint_constraint_angle_invert(joint_idx: int) const

float

get_ccdik_joint_constraint_angle_max(joint_idx: int) const

float

get_ccdik_joint_constraint_angle_min(joint_idx: int) const

bool

get_ccdik_joint_enable_constraint(joint_idx: int) const

bool

get_ccdik_joint_rotate_from_joint(joint_idx: int) const

void

set_ccdik_joint_bone2d_node(joint_idx: int, bone2d_nodepath: NodePath)

void

set_ccdik_joint_bone_index(joint_idx: int, bone_idx: int)

void

set_ccdik_joint_constraint_angle_invert(joint_idx: int, invert: bool)

void

set_ccdik_joint_constraint_angle_max(joint_idx: int, angle_max: float)

void

set_ccdik_joint_constraint_angle_min(joint_idx: int, angle_min: float)

void

set_ccdik_joint_enable_constraint(joint_idx: int, enable_constraint: bool)

void

set_ccdik_joint_rotate_from_joint(joint_idx: int, rotate_from_joint: bool)


Описи властивостей

int ccdik_data_chain_length = 0 🔗

  • void set_ccdik_data_chain_length(value: int)

  • int get_ccdik_data_chain_length()

Кількість суглобів CCDIK в модифікації CCDIK.


NodePath target_nodepath = NodePath("") 🔗

Додаток NodePath до вузла, яка є метою для модифікації CCDIK. Цей вузол є те, що мережа CCDIK спробує повернути кістковий ланцюг.


NodePath tip_nodepath = NodePath("") 🔗

Кінцева позиція ланцюга CCDIK. Зазвичай це має бути дитиною Bone2D вузла, прикріпленого до фіналу Bone2D в мережі CCDIK.


Описи методів

NodePath get_ccdik_joint_bone2d_node(joint_idx: int) const 🔗

Повертає вузол Bone2D, призначене для з'єднання CCDIK на Joint_idx.


int get_ccdik_joint_bone_index(joint_idx: int) const 🔗

Повертає індекс вузла Bone2D, призначеного для з'єднання CCDIK в Joint_idx.


bool get_ccdik_joint_constraint_angle_invert(joint_idx: int) const 🔗

Повертає, чи використовується зв’язок CCDIK на joint_idx. Подивитися set_ccdik_joint_constraint_angle_invert() для деталей.


float get_ccdik_joint_constraint_angle_max(joint_idx: int) const 🔗

Повертає максимальне кутове обмеження для з'єднання в joint_idx.


float get_ccdik_joint_constraint_angle_min(joint_idx: int) const 🔗

Повертає мінімальний кут нахилу для суглоба на joint_idx.


bool get_ccdik_joint_enable_constraint(joint_idx: int) const 🔗

Повертаємо, чи ввімкнено кутові обмеження на з’єднання CCDIK при joint_idx.


bool get_ccdik_joint_rotate_from_joint(joint_idx: int) const 🔗

Повертає, чи встановлений суглоб на joint_idx, щоб обертати з суглоба, true, або обертати з кінчика, false. За замовчуванням є обертати з кінчика.


void set_ccdik_joint_bone2d_node(joint_idx: int, bone2d_nodepath: NodePath) 🔗

Налаштовує вузол Bone2D, призначену для суглоба CCDIK на joint_idx.


void set_ccdik_joint_bone_index(joint_idx: int, bone_idx: int) 🔗

Встановлює кістковий індекс, bone_idx, суглоб CCDIK на joint_idx. Після можливо, це також буде оновлено bone2d_node з'єднання CCDIK на основі даних, що надаються пов'язаним скелетом.


void set_ccdik_joint_constraint_angle_invert(joint_idx: int, invert: bool) 🔗

Налаштовує, чи використовується спільний вузол CCDIK на joint_idx.

Неперевершений штепсельний концентрат тільки обмежує зв'язок CCDIK до кутів аутсайд вводять мінімум і максимальні кути. З цієї причини вона називається інвертованим спільним обмеженням, оскільки вона обмежує суглоб назовні вхідних значень.


void set_ccdik_joint_constraint_angle_max(joint_idx: int, angle_max: float) 🔗

Встановлює обмеження максимального кута для з'єднання на joint_idx.


void set_ccdik_joint_constraint_angle_min(joint_idx: int, angle_min: float) 🔗

Встановлює мінімальне кутове обмеження для з'єднання в joint_idx.


void set_ccdik_joint_enable_constraint(joint_idx: int, enable_constraint: bool) 🔗

Визначають, чи увімкнено кутові обмеження на з’єднанні CCDIK при joint_idx. Коли true, обмеження будуть ввімкнено і враховані при вирішенні.


void set_ccdik_joint_rotate_from_joint(joint_idx: int, rotate_from_joint: bool) 🔗

Налаштовує, чи встановлений суглоб на joint_idx, щоб обертати з суглоба, true, або обертати з кінчика, false.