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
Hérite de : BoneConstraint3D < SkeletonModifier3D < Node3D < Node < Object
Un SkeletonModifier3D qui applique une transformation à l'os, copiée de la référence.
Description
Applique la transformation copiée de l'os défini par BoneConstraint3D.set_reference_bone() à l'os défini par BoneConstraint3D.set_apply_bone() sur l'axe spécifique avec le ré-associe selon quelques options.
Il y a 4 façons d'appliquer la transformation, selon la combinaison de set_relative() et set_additive().
Relatif + Additif :
Extrait la pose de référence relative au reste et l'ajoute à la pose de l'os appliqué.
Relatif + Non Additif :
Extrait la pose de référence relative au reste et l'ajoute au repos de l'os appliqué.
Non relatif + Additif :
Extrait la pose de référence de manière absolue et l'ajoute à la pose de l'os appliqué.
Non relatif + Non Additif :
Extrait la pose de référence de manière absolue et remplace la pose de l'os appliqué par celle-ci.
Note : L'option relative n'est disponible que dans le cas BoneConstraint3D.get_reference_type() est BoneConstraint3D.REFERENCE_TYPE_BONE. Voir aussi ReferenceType.
Propriétés
|
Méthodes
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) |
Énumérations
flags TransformFlag: 🔗
TransformFlag TRANSFORM_FLAG_POSITION = 1
Si défini, permet de copier la position.
TransformFlag TRANSFORM_FLAG_ROTATION = 2
Si défini, permet de copier la rotation.
TransformFlag TRANSFORM_FLAG_SCALE = 4
Si défini, permet de copier l'échelle.
TransformFlag TRANSFORM_FLAG_ALL = 7
Si défini, permet de copier la position/rotation/échelle.
flags AxisFlag: 🔗
AxisFlag AXIS_FLAG_X = 1
Si défini, permet de traiter l'axe X.
AxisFlag AXIS_FLAG_Y = 2
Si défini, permet de traiter l'axe Y.
AxisFlag AXIS_FLAG_Z = 4
Si défini, permet de traiter l'axe Z.
AxisFlag AXIS_FLAG_ALL = 7
Si défini, permet de traiter tous les axes.
Descriptions des propriétés
Le nombre de réglages dans le modificateur.
Descriptions des méthodes
BitField[AxisFlag] get_axis_flags(index: int) const 🔗
Renvoie les drapeaux d'axe du paramètre à l'index index.
BitField[TransformFlag] get_copy_flags(index: int) const 🔗
Renvoie les drapeaux de copie du paramètre à l'index index.
BitField[AxisFlag] get_invert_flags(index: int) const 🔗
Renvoie les drapeaux d'inversion du paramètre à l'index index.
bool is_additive(index: int) const 🔗
Renvoie true si l'option Additive est activée dans le paramètre à l'index index.
bool is_axis_x_enabled(index: int) const 🔗
Renvoie true si les drapeaux d'activation ont le drapeau de l'axe X dans le paramètre à l'index index. Voir aussi set_axis_flags().
bool is_axis_x_inverted(index: int) const 🔗
Renvoie true si les drapeaux d'inversion ont le drapeau pour l'axe X dans le paramètre à l'index index. Voir aussi set_invert_flags().
bool is_axis_y_enabled(index: int) const 🔗
Renvoie true si les drapeaux d'activation ont le drapeau de l'axe Y dans le paramètre à l'index index. Voir aussi set_axis_flags().
bool is_axis_y_inverted(index: int) const 🔗
Renvoie true si les drapeaux d'inversion ont le drapeau pour l'axe Y dans le paramètre à l'index index. Voir aussi set_invert_flags().
bool is_axis_z_enabled(index: int) const 🔗
Renvoie true si les drapeaux d'activation ont le drapeau de l'axe Z dans le paramètre à l'index index. Voir aussi set_axis_flags().
bool is_axis_z_inverted(index: int) const 🔗
Renvoie true si les drapeaux d'inversion ont le drapeau pour l'axe Z dans le paramètre à l'index index. Voir aussi set_invert_flags().
bool is_position_copying(index: int) const 🔗
Renvoie true si les drapeaux de copie ont le drapeau pour la position dans le paramètre à l'index index. Voir aussi set_copy_flags().
bool is_relative(index: int) const 🔗
Renvoie true si l'option Relative est activée dans le paramètre à l'index index.
bool is_rotation_copying(index: int) const 🔗
Renvoie true si les drapeaux de copie ont le drapeau pour la rotation dans le paramètre à l'index index. Voir aussi set_copy_flags().
bool is_scale_copying(index: int) const 🔗
Renvoie true si les drapeaux de copie ont le drapeau pour l'échelle dans le paramètre à l'index index. Voir aussi set_copy_flags().
void set_additive(index: int, enabled: bool) 🔗
Définit l'option Additive dans le paramètre à l'index index à la valeur enabled. Cela affecte principalement le processus d'application de la transformation à l'os de BoneConstraint3D.set_apply_bone().
Si enabled est défini à true, la transformation traitée est ajoutée à la pose de l'os appliqué actuel.
Si enabled est défini à false, la pose de l'os appliqué actuel est remplacée par la transformation traitée. Toutefois, si set_relative() est défini à true, la transformation est relative au repos.
void set_axis_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗
Définit les drapeaux pour copier les axes. Si le drapeau est valide, l'axe est copié.
void set_axis_x_enabled(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe X sera copié.
void set_axis_x_inverted(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe X sera inversé.
void set_axis_y_enabled(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe Y sera copié.
void set_axis_y_inverted(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe Y sera inversé.
void set_axis_z_enabled(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe Z sera copié.
void set_axis_z_inverted(index: int, enabled: bool) 🔗
Si enabled vaut true, l'axe Z sera inversé.
void set_copy_flags(index: int, copy_flags: BitField[TransformFlag]) 🔗
Définit les drapeaux pour traiter les opérations de transformation. Si le drapeau est valide, l'opération de transformation est traitée.
Note : Si la rotation est valable pour seulement un axe, elle respecte le roulis de l'axe valide. Si la rotation est valable pour deux axes, elle écarte le roulis de l'axe invalide.
void set_copy_position(index: int, enabled: bool) 🔗
Si enabled est défini à true, la position sera copiée.
void set_copy_rotation(index: int, enabled: bool) 🔗
Si enabled est défini à true, la rotation sera copiée.
void set_copy_scale(index: int, enabled: bool) 🔗
Si enabled est défini à true, l'échelle sera copiée.
void set_invert_flags(index: int, axis_flags: BitField[AxisFlag]) 🔗
Définit les drapeaux pour inverser les axes. Si le drapeau est valide, l'axe est copié.
Note : Une échelle inversée signifie un nombre inverse, pas une échelle négative. Par exemple, inverser 2.0 signifie 0.5.
Note : Une rotation inversée retourne les éléments du quaternion. Par exemple, une inversion à deux axes renversera le roulis de chaque axe, et une inversion à trois axes renversera l'orientation finale. Cependant, soyez conscients que l'inversion d'un seul axe peut provoquer une rotation non désirée sur les axes non inversés, en raison des caractéristiques du quaternion.
void set_relative(index: int, enabled: bool) 🔗
Sets relative option in the setting at index to enabled.
If sets enabled to true, the extracted and applying transform is relative to the rest.
If sets enabled to false, the extracted transform is absolute.