CopyTransformModifier3D

Hereda: BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object

Un SkeletonModifier3D que aplica transformación al hueso copiado de la referencia.

Descripción

Aplica la transformación copiada del hueso establecido por BoneConstraint3D.set_reference_bone() al hueso establecido por BoneConstraint3D.set_apply_bone() procesándola con algunas máscaras y opciones.

Hay 4 maneras de aplicar la transformación, dependiendo de la combinación de set_relative() y set_additive().

Relativo + Aditivo:

  • Extrae la pose de referencia relativa al resto y la añade a la pose del hueso de aplicación.

Relativo + No Aditivo:

  • Extrae la pose de referencia relativa al resto y la añade al reposo del hueso de aplicación.

No Relativo + Aditivo:

  • Extrae la pose de referencia absolutamente y la añade a la pose del hueso de aplicación.

No Relativo + No Aditivo:

  • Extrae la pose de referencia absolutamente y la pose del hueso de aplicación se reemplaza con ella.

Propiedades

int

setting_count

0

Métodos

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)


Enumeraciones

flags TransformFlag: 🔗

TransformFlag TRANSFORM_FLAG_POSITION = 1

Si se establece, permite copiar la posición.

TransformFlag TRANSFORM_FLAG_ROTATION = 2

Si se establece, permite copiar la rotación.

TransformFlag TRANSFORM_FLAG_SCALE = 4

Si se establece, permite copiar la rotación.

TransformFlag TRANSFORM_FLAG_ALL = 7

Si se establece, permite copiar la posición/rotación/escala.


flags AxisFlag: 🔗

AxisFlag AXIS_FLAG_X = 1

Si se establece, permite procesar el eje X.

AxisFlag AXIS_FLAG_Y = 2

Si se establece, permite procesar el eje Y.

AxisFlag AXIS_FLAG_Z = 4

Si se establece, permite procesar el eje Z.

AxisFlag AXIS_FLAG_ALL = 7

Si se establece, permite procesar todos los ejes.


Descripciones de Propiedades

int setting_count = 0 🔗

  • void set_setting_count(value: int)

  • int get_setting_count()

El número de configuraciones en el modificador.


Descripciones de Métodos

BitField[AxisFlag] get_axis_flags(index: int) const 🔗

Devuelve las banderas de eje de la configuración en index.


BitField[TransformFlag] get_copy_flags(index: int) const 🔗

Devuelve las banderas de copia de la configuración en index.


BitField[AxisFlag] get_invert_flags(index: int) const 🔗

Devuelve las banderas de inversión de la configuración en index.


bool is_additive(index: int) const 🔗

Devuelve true si la opción aditiva está habilitada en la configuración en index.


bool is_axis_x_enabled(index: int) const 🔗

Devuelve true si la opción de habilitación tiene la bandera para el eje X en la configuración de index. Véase también set_axis_flags().


bool is_axis_x_inverted(index: int) const 🔗

Devuelve true si la función de inversión tiene la bandera para el eje X en la configuración en index. Véase también set_invert_flags().


bool is_axis_y_enabled(index: int) const 🔗

Devuelve true si la opción de habilitación tiene la bandera para el eje Y en la configuración en index. Véase también set_axis_flags().


bool is_axis_y_inverted(index: int) const 🔗

Devuelve true si la función invert flags tiene la bandera para el eje Y en la configuración en index. Véase también set_invert_flags().


bool is_axis_z_enabled(index: int) const 🔗

Devuelve true si la opción de habilitación tiene la bandera para el eje Z en la configuración en index. Véase también set_axis_flags().


bool is_axis_z_inverted(index: int) const 🔗

Devuelve true si la variable invertida tiene la variable para el eje Z en la configuración de index. Véase también set_invert_flags().


bool is_position_copying(index: int) const 🔗

Devuelve true si la copia tiene la bandera para la posición en la configuración en index. Véase también set_copy_flags().


bool is_relative(index: int) const 🔗

Devuelve true si la opción relativa está habilitada en la configuración en index.


bool is_rotation_copying(index: int) const 🔗

Devuelve true si la copia tiene la bandera para la rotación en la configuración en index. Véase también set_copy_flags().


bool is_scale_copying(index: int) const 🔗

Devuelve true si las banderas de copia tienen la bandera de escala en la configuración de index. Véase también set_copy_flags().


void set_additive(index: int, enabled: bool) 🔗

Establece la opción aditiva en el ajuste en index a enabled. Esto afecta principalmente al proceso de aplicación de la transformación al BoneConstraint3D.set_apply_bone().

Si estableces enabled a true, la transformación procesada se añade a la pose del hueso de aplicación actual.

Si estableces enabled a false, la pose del hueso de aplicación actual se reemplaza con la transformación procesada. Sin embargo, si estableces set_relative() a true, la transformación es relativa al reposo.


void set_axis_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗

Establece las banderas para copiar ejes. Si la bandera es válida, se copia el eje.


void set_axis_x_enabled(index: int, enabled: bool) 🔗

Si establece enabled en true, se copiará el eje X.


void set_axis_x_inverted(index: int, enabled: bool) 🔗

Si establece enabled en true, el eje X se invertirá.


void set_axis_y_enabled(index: int, enabled: bool) 🔗

Si establece enabled en true, se copiará el eje Y.


void set_axis_y_inverted(index: int, enabled: bool) 🔗

Si establece enabled en true, el eje Y se invertirá.


void set_axis_z_enabled(index: int, enabled: bool) 🔗

Si establece enabled en true, se copiará el eje Z.


void set_axis_z_inverted(index: int, enabled: bool) 🔗

Si establece enabled en true, el eje Z se invertirá.


void set_copy_flags(index: int, copy_flags: BitField[TransformFlag]) 🔗

Establece las banderas para procesar las operaciones de transformación. Si la bandera es válida, se procesa la operación de transformación.

Nota: Si la rotación es válida solo para un eje, se respeta el giro del eje válido. Si la rotación es válida para dos ejes, se descarta el giro del eje no válido.


void set_copy_position(index: int, enabled: bool) 🔗

Si se establece enabled en true, se copiará la posición.


void set_copy_rotation(index: int, enabled: bool) 🔗

Si se establece enabled en true, se copiará la rotación.


void set_copy_scale(index: int, enabled: bool) 🔗

Si se establece enabled en true, se copiará la escala.


void set_invert_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗

Establece las banderas para invertir los ejes. Si la bandera es válida, el eje se copia.

Nota: Una escala invertida significa un número inverso, no una escala negativa. Por ejemplo, invertir 2.0 significa 0.5.

Nota: Una rotación invertida invierte los elementos del cuaternión. Por ejemplo, una inversión de dos ejes invertirá el balanceo de cada eje, y una inversión de tres ejes invertirá la orientación final. Sin embargo, ten en cuenta que invertir solo un eje puede causar una rotación no deseada por los ejes no invertidos, debido a las características del cuaternión.


void set_relative(index: int, enabled: bool) 🔗

Establece la opción relativa en el ajuste en index a enabled.

Si estableces enabled a true, la transformación extraída y aplicada es relativa al resto.

Si estableces enabled a false, la transformación extraída es absoluta.