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
Apply the copied transform of the bone set by BoneConstraint3D.set_reference_bone() to the bone set by BoneConstraint3D.set_apply_bone() with processing it with some masks and options.
There are 4 ways to apply the transform, depending on the combination of set_relative() and set_additive().
Relative + Additive:
Extract reference pose relative to the rest and add it to the apply bone's pose.
Relative + Not Additive:
Extract reference pose relative to the rest and add it to the apply bone's rest.
Not Relative + Additive:
Extract reference pose absolutely and add it to the apply bone's pose.
Not Relative + Not Additive:
Extract reference pose absolutely and the apply bone's pose is replaced with it.
Note: Relative option is available only in the case BoneConstraint3D.get_reference_type() is BoneConstraint3D.REFERENCE_TYPE_BONE. See also 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.