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...
CopyTransformModifier3D
Eredita: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
Uno SkeletonModifier3D che applica una trasformazione all'osso che ha copiato dal riferimento.
Descrizione
Applica la trasformazione copiata dell'insieme di ossa tramite BoneConstraint3D.set_reference_bone() all'insieme di ossa tramite BoneConstraint3D.set_apply_bone() elaborandola con alcune maschere e opzioni.
Esistono 4 modi per applicare la trasformazione, a seconda della combinazione di set_relative() e set_additive().
Relativo + Additivo:
Estrae la posa di riferimento relativa al riposo e la aggiunge alla posa dell'osso da applicare.
Relativo + Non Additivo:
Estrae la posa di riferimento relativa al riposo e la aggiunge alla posa dell'osso da applicare.
Non Relativo + Additivo:
Estrae la posa di riferimento assoluta e la aggiunge alla posa dell'osso da applicare.
Non relativo + Non additivo:
Estrae la posa di riferimento in modo assoluto e la posa dell'osso applicato è sostituita con essa.
Nota: L'opzione relativa è disponibile solo se BoneConstraint3D.get_reference_type() è BoneConstraint3D.REFERENCE_TYPE_BONE. Vedi anche ReferenceType.
Proprietà
|
Metodi
BitField[AxisFlag] |
get_axis_flags(index: int) const |
BitField[TransformFlag] |
get_copy_flags(index: int) const |
BitField[AxisFlag] |
get_invert_flags(index: int) const |
is_additive(index: int) const |
|
is_axis_x_enabled(index: int) const |
|
is_axis_x_inverted(index: int) const |
|
is_axis_y_enabled(index: int) const |
|
is_axis_y_inverted(index: int) const |
|
is_axis_z_enabled(index: int) const |
|
is_axis_z_inverted(index: int) const |
|
is_position_copying(index: int) const |
|
is_relative(index: int) const |
|
is_rotation_copying(index: int) const |
|
is_scale_copying(index: int) const |
|
void |
set_additive(index: int, enabled: bool) |
void |
set_axis_flags(index: int, axis_flags: BitField[AxisFlag]) |
void |
set_axis_x_enabled(index: int, enabled: bool) |
void |
set_axis_x_inverted(index: int, enabled: bool) |
void |
set_axis_y_enabled(index: int, enabled: bool) |
void |
set_axis_y_inverted(index: int, enabled: bool) |
void |
set_axis_z_enabled(index: int, enabled: bool) |
void |
set_axis_z_inverted(index: int, enabled: bool) |
void |
set_copy_flags(index: int, copy_flags: BitField[TransformFlag]) |
void |
set_copy_position(index: int, enabled: bool) |
void |
set_copy_rotation(index: int, enabled: bool) |
void |
set_copy_scale(index: int, enabled: bool) |
void |
set_invert_flags(index: int, axis_flags: BitField[AxisFlag]) |
void |
set_relative(index: int, enabled: bool) |
Enumerazioni
flags TransformFlag: 🔗
TransformFlag TRANSFORM_FLAG_POSITION = 1
Se impostato, consente copiare la posizione.
TransformFlag TRANSFORM_FLAG_ROTATION = 2
Se impostato, consente copiare la rotazione.
TransformFlag TRANSFORM_FLAG_SCALE = 4
Se impostato, consente copiare la scala.
TransformFlag TRANSFORM_FLAG_ALL = 7
Se impostato, consente di copiare la posizione/rotazione/scala.
flags AxisFlag: 🔗
AxisFlag AXIS_FLAG_X = 1
Se impostato, consente di elaborare l'asse X.
AxisFlag AXIS_FLAG_Y = 2
Se impostato, consente di elaborare l'asse Y.
AxisFlag AXIS_FLAG_Z = 4
Se impostato, consente di elaborare l'asse Z.
AxisFlag AXIS_FLAG_ALL = 7
Se impostato, consente di elaborare tutti gli assi.
Descrizioni delle proprietà
Il numero di impostazioni nel modificatore.
Descrizioni dei metodi
BitField[AxisFlag] get_axis_flags(index: int) const 🔗
Restituisce i flag di asse dell'impostazione all'indice index.
BitField[TransformFlag] get_copy_flags(index: int) const 🔗
Restituisce i flag di copia dell'impostazione all'indice index.
BitField[AxisFlag] get_invert_flags(index: int) const 🔗
Restituisce i flag di inversione dell'impostazione all'indice index.
bool is_additive(index: int) const 🔗
Restituisce true se l'opzione "additiva" è abilitata nell'impostazione all'indice index.
bool is_axis_x_enabled(index: int) const 🔗
Restituisce true se i flag di abilitazione hanno il flag per l'asse X nell'impostazione all'indice index. Vedi anche set_axis_flags().
bool is_axis_x_inverted(index: int) const 🔗
Restituisce true se i flag di inversione hanno il flag per l'asse X nell'impostazione all'indice index. Vedi anche set_invert_flags().
bool is_axis_y_enabled(index: int) const 🔗
Restituisce true se i flag di abilitazione hanno il flag per l'asse Y nell'impostazione all'indice index. Vedi anche set_axis_flags().
bool is_axis_y_inverted(index: int) const 🔗
Restituisce true se i flag di inversione hanno il flag per l'asse Y nell'impostazione all'indice index. Vedi anche set_invert_flags().
bool is_axis_z_enabled(index: int) const 🔗
Restituisce true se i flag di abilitazione hanno il flag per l'asse Z nell'impostazione all'indice index. Vedi anche set_axis_flags().
bool is_axis_z_inverted(index: int) const 🔗
Restituisce true se i flag di inversione hanno il flag per l'asse Z nell'impostazione all'indice index. Vedi anche set_invert_flags().
bool is_position_copying(index: int) const 🔗
Restituisce true se i flag di copia hanno il flag per la posizione nell'impostazione all'indice index. Vedi anche set_copy_flags().
bool is_relative(index: int) const 🔗
Restituisce true se l'opzione "relativa" è abilitata nell'impostazione all'indice index.
bool is_rotation_copying(index: int) const 🔗
Restituisce true se i flag di copia hanno il flag per la rotazione nell'impostazione all'indice index. Vedi anche set_copy_flags().
bool is_scale_copying(index: int) const 🔗
Restituisce true se i flag di copia hanno il flag per la scala nell'impostazione all'indice index. Vedi anche set_copy_flags().
void set_additive(index: int, enabled: bool) 🔗
Imposta l'opzione "additiva" nell'impostazione all'indice index su enabled. Questo influisce principalmente sul processo di applicazione della trasformazione al BoneConstraint3D.set_apply_bone().
Se enabled è impostato su true, la trasformazione elaborata viene aggiunta alla posa dell'osso applicato attuale.
Se enabled è impostato su false, la posa dell'osso applicato attuale è sostituita con la trasformazione elaborata. Tuttavia, se set_relative() è impostato su true, la trasformazione è relativa al riposo.
void set_axis_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗
Imposta i flag per copiare gli assi. Se il flag è valido, l'asse è copiato.
void set_axis_x_enabled(index: int, enabled: bool) 🔗
Se enabled è true, l'asse X sarà copiata.
void set_axis_x_inverted(index: int, enabled: bool) 🔗
Se enabled è true, l'asse X sarà invertita.
void set_axis_y_enabled(index: int, enabled: bool) 🔗
Se enabled è true, l'asse Y sarà copiata.
void set_axis_y_inverted(index: int, enabled: bool) 🔗
Se enabled è true, l'asse Y sarà invertita.
void set_axis_z_enabled(index: int, enabled: bool) 🔗
Se enabled è true, l'asse Z sarà copiata.
void set_axis_z_inverted(index: int, enabled: bool) 🔗
Se enabled è true, l'asse Z sarà invertita.
void set_copy_flags(index: int, copy_flags: BitField[TransformFlag]) 🔗
Imposta i flag per elaborare le operazioni di trasformazione. Se il flag è valido, l'operazione di trasformazione viene elaborata.
Nota: Se la rotazione è valida per un solo asse, rispetta il rollio dell'asse valido. Se la rotazione è valida per due assi, ignora il rollio dell'asse non valido.
void set_copy_position(index: int, enabled: bool) 🔗
Se enabled è true, la posizione sarà copiata.
void set_copy_rotation(index: int, enabled: bool) 🔗
Se enabled è true, la rotazione sarà copiata.
void set_copy_scale(index: int, enabled: bool) 🔗
Se enabled è true, la scala sarà copiata.
void set_invert_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗
Imposta i flag per invertire gli assi. Se il flag è valido, l'asse viene copiato.
Nota: Una scala invertita indica un numero inverso, non una scala negativa. Ad esempio, invertendo 2.0 si ottiene 0.5.
Nota: Una rotazione invertita inverte gli elementi del quaternione. Ad esempio, un'inversione a due assi invertirà il rollio di ciascun asse, mentre un'inversione a tre assi invertirà l'orientamento finale. Tuttavia, tieni presente che l'inversione di un solo asse può causare una rotazione indesiderata degli assi non invertiti, a causa delle caratteristiche del quaternione.
void set_relative(index: int, enabled: bool) 🔗
Imposta l'opzione relativa nell'impostazione all'indice index su enabled.
Se enabled è impostato su true, la trasformazione estratta e applicata è relativa al riposo.
Se enabled è impostato su false, la trasformazione estratta è assoluta.