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.

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à

int

setting_count

0

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

bool

is_additive(index: int) const

bool

is_axis_x_enabled(index: int) const

bool

is_axis_x_inverted(index: int) const

bool

is_axis_y_enabled(index: int) const

bool

is_axis_y_inverted(index: int) const

bool

is_axis_z_enabled(index: int) const

bool

is_axis_z_inverted(index: int) const

bool

is_position_copying(index: int) const

bool

is_relative(index: int) const

bool

is_rotation_copying(index: int) const

bool

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à

int setting_count = 0 🔗

  • void set_setting_count(value: int)

  • int get_setting_count()

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.