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...
SkeletonModification2DTwoBoneIK
Sperimentale: This class may be changed or removed in future versions.
Eredita: SkeletonModification2D < Resource < RefCounted < Object
Una modificazione che fa ruotare due ossa attraverso la legge dei coseni per raggiungere l'obiettivo.
Descrizione
Questo SkeletonModification2D usa un algoritmo denominato in genere TwoBoneIK. Questo algoritmo funziona sfruttando la legge dei coseni e le lunghezze delle ossa per capire quale rotazione hanno attualmente le ossa e quale rotazione devono avere per creare un triangolo completo, dove il primo osso, il secondo osso e l'obiettivo formano i tre vertici del triangolo. Poiché l'algoritmo funziona creando un triangolo, può operare solo su due ossa.
TwoBoneIK è ottimo per braccia, gambe e in realtà qualsiasi articolazione che può essere rappresentata da due sole ossa che si piegano per raggiungere un obiettivo. Questo risolutore è più leggero di SkeletonModification2DFABRIK, ma fornisce risultati simili e dall'aspetto naturale.
Proprietà
|
||
|
||
|
||
|
Metodi
get_joint_one_bone2d_node() const |
|
get_joint_one_bone_idx() const |
|
get_joint_two_bone2d_node() const |
|
get_joint_two_bone_idx() const |
|
void |
set_joint_one_bone2d_node(bone2d_node: NodePath) |
void |
set_joint_one_bone_idx(bone_idx: int) |
void |
set_joint_two_bone2d_node(bone2d_node: NodePath) |
void |
set_joint_two_bone_idx(bone_idx: int) |
Descrizioni delle proprietà
bool flip_bend_direction = false 🔗
Se true, le ossa nella modificazione si piegheranno verso l'esterno anziché verso l'interno quando si contraggono. Se false, le ossa si piegheranno verso l'interno quando si contraggono.
float target_maximum_distance = 0.0 🔗
La distanza massima a cui può trovarsi l'obiettivo. Se l'obiettivo è più lontano di questa distanza, la modificazione sarà risolta come se si trovasse a questa distanza massima. Se impostato su 0, la modificazione sarà risolta senza vincoli di distanza.
float target_minimum_distance = 0.0 🔗
La distanza minima a cui può trovarsi l'obiettivo. Se l'obiettivo è più vicino di questa distanza, la modificazione sarà risolta come se si trovasse a questa distanza minima. Se impostato su 0, la modificazione sarà risolta senza vincoli di distanza.
NodePath target_nodepath = NodePath("") 🔗
Il NodePath al nodo che è l'obiettivo per la modificazione TwoBoneIK. Questo nodo è quello che la modificazione userà per piegare i nodi Bone2D.
Descrizioni dei metodi
NodePath get_joint_one_bone2d_node() const 🔗
Restituisce il nodo Bone2D che viene utilizzato come primo osso nella modificazione TwoBoneIK.
int get_joint_one_bone_idx() const 🔗
Restituisce l'indice del nodo Bone2D che viene utilizzato come primo osso nella modificazione TwoBoneIK.
NodePath get_joint_two_bone2d_node() const 🔗
Restituisce il nodo Bone2D che viene utilizzato come secondo osso nella modificazione TwoBoneIK.
int get_joint_two_bone_idx() const 🔗
Restituisce l'indice del nodo Bone2D che viene utilizzato come secondo osso nella modificazione TwoBoneIK.
void set_joint_one_bone2d_node(bone2d_node: NodePath) 🔗
Imposta il nodo Bone2D che è utilizzato come primo osso nella modificazione TwoBoneIK.
void set_joint_one_bone_idx(bone_idx: int) 🔗
Imposta l'indice del nodo Bone2D che è utilizzato come primo osso nella modificazione TwoBoneIK.
void set_joint_two_bone2d_node(bone2d_node: NodePath) 🔗
Imposta il nodo Bone2D che è utilizzato come secondo osso nella modificazione TwoBoneIK.
void set_joint_two_bone_idx(bone_idx: int) 🔗
Imposta l'indice del nodo Bone2D che è utilizzato come secondo osso nella modificazione TwoBoneIK.