SkeletonModifier3D
Hereda: Node3D < Node < Object
Heredado por: BoneConstraint3D, LookAtModifier3D, ModifierBoneTarget3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
Un nodo que puede modificar los huesos de un Skeleton3D.
Descripción
SkeletonModifier3D recupera un Skeleton3D objetivo al tener un padre Skeleton3D.
Si hay un AnimationMixer, una modificación siempre se realiza después del proceso de reproducción del AnimationMixer.
Este nodo debe utilizarse para implementar solucionadores IK personalizados, restricciones o física de esqueletos.
Tutoriales
Propiedades
|
||
|
Métodos
void |
_process_modification() virtual |
void |
_process_modification_with_delta(delta: float) virtual |
void |
_skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual |
void |
_validate_bone_names() virtual |
get_skeleton() const |
Señales
modification_processed() 🔗
Notifica cuando la modificación ha terminado.
Nota: Si quieres obtener la pose del hueso modificada por el modificador, debes usar Skeleton3D.get_bone_pose() o Skeleton3D.get_bone_global_pose() en el momento en que esta señal es emitida.
Enumeraciones
enum BoneAxis: 🔗
BoneAxis BONE_AXIS_PLUS_X = 0
Valor enumerado para el eje +X.
BoneAxis BONE_AXIS_MINUS_X = 1
Valor enumerado para el eje -X.
BoneAxis BONE_AXIS_PLUS_Y = 2
Valor enumerado para el eje +Y.
BoneAxis BONE_AXIS_MINUS_Y = 3
Valor enumerado para el eje -Y.
BoneAxis BONE_AXIS_PLUS_Z = 4
Valor enumerado para el eje +Z.
BoneAxis BONE_AXIS_MINUS_Z = 5
Valor enumerado para el eje -Z.
Descripciones de Propiedades
Si es true, el SkeletonModifier3D se procesará.
Establece la influencia de la modificación.
Nota: Este valor es usado por Skeleton3D para mezclar, así que el SkeletonModifier3D siempre debería aplicar solo el 100% del resultado sin interpolación.
Descripciones de Métodos
void _process_modification() virtual 🔗
Obsoleto: Use _process_modification_with_delta() instead.
Sobrescribe este método virtual para implementar un modificador de esqueleto personalizado. Deberías hacer cosas como obtener la pose actual del Skeleton3D y aplicar la pose aquí.
_process_modification() no debe aplicar influence a las poses de los huesos porque el Skeleton3D aplica automáticamente la influencia a todas las poses de los huesos establecidas por el modificador.
void _process_modification_with_delta(delta: float) virtual 🔗
Sobrescribe este método virtual para implementar un modificador de esqueleto personalizado. Deberías hacer cosas como obtener la pose actual del Skeleton3D y aplicar la pose aquí.
_process_modification_with_delta() no debe aplicar influence a las poses de los huesos porque el Skeleton3D aplica automáticamente la influencia a todas las poses de los huesos establecidas por el modificador.
delta se pasa desde el Skeleton3D padre. Véase también Skeleton3D.advance().
void _skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual 🔗
Se llama a este método cuando el esqueleto cambia.
void _validate_bone_names() virtual 🔗
Se llama a este método cuando el nombre y el índice del hueso necesitan ser validados, como el momento de entrar en el árbol o cambiar el esqueleto.
Skeleton3D get_skeleton() const 🔗
Obtiene el nodo padre Skeleton3D si se encuentra.