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...
AnimationNode
Hérite de : Resource < RefCounted < Object
Hérité par : AnimationNodeExtension, AnimationNodeOutput, AnimationNodeSync, AnimationNodeTimeScale, AnimationNodeTimeSeek, AnimationRootNode
Classe de base pour les nœuds AnimationTree. Non lié aux nœuds de scène.
Description
Ressources de base pour les nœuds AnimationTree. En général, ce n'est pas utilisé directement, mais vous pouvez créer des formules de mélange personnalisées.
Héritez de ceci lors de la création de nœuds d'animation, principalement pour utiliser dans AnimationNodeBlendTree, sinon AnimationRootNode devrait être utilisé à la place.
Vous pouvez accéder à l'information de temps comme paramètre en lecture-seule qui est traité et stocké dans la trame précédente pour tous les nœuds sauf AnimationNodeOutput.
Note : Si plusieurs entrées existent dans l'AnimationNode, quelle information de temps a la priorité dépend du type d'AnimationNode.
var longueur_actuelle = $AnimationTree["parameters/AnimationNodeName/current_length"]
var position_actuelle = $AnimationTree["parameters/AnimationNodeName/current_position"]
var delta_actuel = $AnimationTree["parameters/AnimationNodeName/current_delta"]
Tutoriels
Propriétés
Méthodes
_get_caption() virtual const |
|
_get_child_by_name(name: StringName) virtual const |
|
_get_child_nodes() virtual const |
|
_get_parameter_default_value(parameter: StringName) virtual const |
|
_get_parameter_list() virtual const |
|
_has_filter() virtual const |
|
_is_parameter_read_only(parameter: StringName) virtual const |
|
_process(time: float, seek: bool, is_external_seeking: bool, test_only: bool) virtual |
|
void |
blend_animation(animation: StringName, time: float, delta: float, seeked: bool, is_external_seeking: bool, blend: float, looped_flag: LoopedFlag = 0) |
blend_input(input_index: int, time: float, seek: bool, is_external_seeking: bool, blend: float, filter: FilterAction = 0, sync: bool = true, test_only: bool = false) |
|
blend_node(name: StringName, node: AnimationNode, time: float, seek: bool, is_external_seeking: bool, blend: float, filter: FilterAction = 0, sync: bool = true, test_only: bool = false) |
|
find_input(name: String) const |
|
get_input_count() const |
|
get_input_name(input: int) const |
|
get_parameter(name: StringName) const |
|
is_path_filtered(path: NodePath) const |
|
is_process_testing() const |
|
void |
remove_input(index: int) |
void |
set_filter_path(path: NodePath, enable: bool) |
set_input_name(input: int, name: String) |
|
void |
set_parameter(name: StringName, value: Variant) |
Signaux
animation_node_removed(object_id: int, node_name: String) 🔗
Émis par les nœuds qui héritent de cette classe et qui ont un arbre interne lorsque l'un de leurs nœuds d'animation est supprimé. Les nœuds d'animation qui émettent ce signal sont AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, et AnimationNodeBlendTree.
animation_node_renamed(object_id: int, old_name: String, new_name: String) 🔗
Émis par les nœuds qui héritent de cette classe et ayant un arbre interne quand un de leurs noms de nœud d’animation change. Les nœuds émettant ce signal sont des AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, et AnimationNodeBlendTree.
node_updated(object_id: int) 🔗
Expérimental : Ce signal peut être changé ou retiré dans de futures versions.
Emitted by AnimationNodeAnimation when its AnimationNodeAnimation.animation resource is changed, or by AnimationNodeBlendTree when its connections change.
tree_changed() 🔗
Émis par les nœuds qui héritent de cette classe et qui ont un arbre interne lorsque l'un de leurs nœuds d'animation change. Les nœuds d'animation qui émettent ce signal sont AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, AnimationNodeBlendTree et AnimationNodeTransition.
Énumérations
enum FilterAction: 🔗
FilterAction FILTER_IGNORE = 0
Ne pas utiliser de filtrage.
FilterAction FILTER_PASS = 1
Les chemins passant le filtre seront autorisés.
FilterAction FILTER_STOP = 2
Les chemins passant le filtre seront rejetés.
FilterAction FILTER_BLEND = 3
Les chemins passant le filtre seront mélangés (par la valeur de blend).
Descriptions des propriétés
Si true, le filtrage est activé.
Descriptions des méthodes
String _get_caption() virtual const 🔗
Lors de l'héritage d'AnimationRootNode, implémentez cette méthode virtuelle pour remplacer la légende de texte pour ce nœud d'animation.
AnimationNode _get_child_by_name(name: StringName) virtual const 🔗
Lorsque vous héritez d’AnimationRootNode, implémentez cette méthode virtuelle pour renvoyer un nœud d’animation enfant par son nom name.
Dictionary _get_child_nodes() virtual const 🔗
Lorsque vous héritez d’AnimationRootNode, implémentez cette méthode virtuelle pour renvoyer tous les nœuds d’animation enfants en tant que dictionnaire nom : nœud.
Variant _get_parameter_default_value(parameter: StringName) virtual const 🔗
Lorsque vous héritez d’AnimationRootNode, implémentez cette méthode virtuelle pour obtenir la valeur par défaut d'un paramètre parameter. Les paramètres sont de la mémoire locale personnalisée utilisée pour vos nœuds d’animation, étant donné qu'une ressource peut être réutilisée dans plusieurs arbres.
Array _get_parameter_list() virtual const 🔗
Lors de l'héritage d'AnimationRootNode, implémentez cette méthode virtuelle pour renvoyer une liste des propriétés de ce nœud d'animation. Les paramètres sont la mémoire locale personnalisée utilisée pour vos nœuds d'animation, étant donné qu'une ressource peut être réutilisée dans plusieurs arbres. Le format est similaire à Object.get_property_list().
bool _has_filter() virtual const 🔗
Lors de l'héritage d'AnimationRootNode, implémentez cette méthode virtuelle pour renvoyer si l'éditeur d'arbre de mélange devrait afficher l'édition de filtre sur ce nœud d'animation.
bool _is_parameter_read_only(parameter: StringName) virtual const 🔗
Lors de l'héritage d'AnimationRootNode, implémentez cette méthode virtuelle pour renvoyer une liste des propriétés de ce nœud d'animation. Les paramètres sont la mémoire locale personnalisée utilisée pour vos nœuds d'animation, étant donné qu'une ressource peut être réutilisée dans plusieurs arbres.
float _process(time: float, seek: bool, is_external_seeking: bool, test_only: bool) virtual 🔗
Obsolète : Currently this is mostly useless as there is a lack of many APIs to extend AnimationNode by GDScript. It is planned that a more flexible API using structures will be provided in the future.
Lorsque vous héritez d'AnimationRootNode, implémentez cette méthode virtuelle pour exécuter un code lorsque ce nœud d'animation est traité. Le paramètre time est un delta relatif, sauf si seek vaut true, auquel cas il est absolu.
Ici, appelez les fonctions blend_input(), blend_node() ou blend_animation(). Vous pouvez également utiliser get_parameter() et set_parameter() pour modifier la mémoire locale.
Cette fonction devrait renvoyer le delta.
bool add_input(name: String) 🔗
Ajoute une entrée au nœud d'animation. Ce n'est utile que pour les nœuds d'animation créés pour une utilisation dans un AnimationNodeBlendTree. Si l'ajout échoue, renvoie false.
void blend_animation(animation: StringName, time: float, delta: float, seeked: bool, is_external_seeking: bool, blend: float, looped_flag: LoopedFlag = 0) 🔗
Mélange une animation par une quantité blend (le nom doit être valide dans l'AnimationPlayer lié). Un temps time et un delta peuvent être passés, ainsi que si un positionnement seeked est arrivé.
Un looped_flag est utilisé par traitement interne immédiatement après la boucle.
float blend_input(input_index: int, time: float, seek: bool, is_external_seeking: bool, blend: float, filter: FilterAction = 0, sync: bool = true, test_only: bool = false) 🔗
Mélange une entrée. Ceci est uniquement utile pour les nœuds créés pour un AnimationNodeBlendTree. Le paramètre de temps time est un delta relatif, sauf si seek vaut true, auquel cas il est absolu. Un mode de filtre peut être passé facultativement.
float blend_node(name: StringName, node: AnimationNode, time: float, seek: bool, is_external_seeking: bool, blend: float, filter: FilterAction = 0, sync: bool = true, test_only: bool = false) 🔗
Mélange un autre nœud d'animation (au cas où ce nœud contiendrait des nœuds d'animation enfants). Cette fonction n'est utile qu'en héritant d'abord d'AnimationRootNode, sinon les éditeurs n'afficheront pas votre nœud d'animation pour ajout.
int find_input(name: String) const 🔗
Renvoie l'index d'entrée qui correspond à name. Si elle n'est pas trouvée, renvoie -1.
La quantité d'entrées dans ce nœud d'animation, utile uniquement pour les nœuds d'animation qui vont dans un AnimationNodeBlendTree.
String get_input_name(input: int) const 🔗
Obtient le nom d'un entrée par son index.
Variant get_parameter(name: StringName) const 🔗
Obtient la valeur d'un paramètre. Les paramètres sont la mémoire locale personnalisée utilisée pour vos nœuds d'animation, étant donné qu'une ressource peut être réutilisée dans plusieurs arbres.
int get_processing_animation_tree_instance_id() const 🔗
Renvoie l'id d'objet de l'AnimationTree qui possède ce nœud.
Note : Cette méthode ne doit être appelée qu'à partir de la méthode AnimationNodeExtension._process_animation_node() et renverra un id invalide autrement.
bool is_path_filtered(path: NodePath) const 🔗
Renvoie true si le chemin donné est filtré.
bool is_process_testing() const 🔗
Renvoie true si ce nœud d'animation est en cours de traitement en mode test seulement.
void remove_input(index: int) 🔗
Supprime une entrée, à n'appeler que si le nœud est inactif.
void set_filter_path(path: NodePath, enable: bool) 🔗
Ajoute ou supprime un chemin pour le filtre.
bool set_input_name(input: int, name: String) 🔗
Définit le nom de l'entrée à l'index input donné. Si le réglage échoue, renvoie false.
void set_parameter(name: StringName, value: Variant) 🔗
Définit un paramètre personnalisé. Utilisé comme stockage local, car les ressources peuvent être réutilisées à travers l'arbre ou les différentes scènes.