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...
AnimationNodeStateMachine
Hérite de : AnimationRootNode < AnimationNode < Resource < RefCounted < Object
Un automate avec plusieurs AnimationRootNodes, utilisé par AnimationTree.
Description
Contient plusieurs AnimationRootNodes représentant des états d'animation, connectés dans un graphique. Les transitions d'état peuvent être configurées pour se produire automatiquement ou par code, en utilisant un algorithme de plus court chemin. Récupère l'objet AnimationNodeStateMachinePlayback du nœud AnimationTree pour le contrôler programmatiquement.
var automate = $AnimationTree.get("parameters/playback")
automate.travel("un_etat")
var automate = GetNode<AnimationTree>("AnimationTree").Get("parameters/playback") as AnimationNodeStateMachinePlayback;
automate.Travel("un_etat");
Tutoriels
Propriétés
|
||
|
||
|
Méthodes
void |
add_node(name: StringName, node: AnimationNode, position: Vector2 = Vector2(0, 0)) |
void |
add_transition(from: StringName, to: StringName, transition: AnimationNodeStateMachineTransition) |
get_graph_offset() const |
|
get_node(name: StringName) const |
|
get_node_list() const |
|
get_node_name(node: AnimationNode) const |
|
get_node_position(name: StringName) const |
|
get_transition(idx: int) const |
|
get_transition_count() const |
|
get_transition_from(idx: int) const |
|
get_transition_to(idx: int) const |
|
has_node(name: StringName) const |
|
has_transition(from: StringName, to: StringName) const |
|
void |
remove_node(name: StringName) |
void |
remove_transition(from: StringName, to: StringName) |
void |
|
void |
rename_node(name: StringName, new_name: StringName) |
void |
replace_node(name: StringName, node: AnimationNode) |
void |
set_graph_offset(offset: Vector2) |
void |
set_node_position(name: StringName, position: Vector2) |
Énumérations
enum StateMachineType: 🔗
StateMachineType STATE_MACHINE_TYPE_ROOT = 0
Aller au début est traité comme jouer depuis l'état de départ. La transition vers l'état final est traitée comme une sortie de l'automate.
StateMachineType STATE_MACHINE_TYPE_NESTED = 1
Aller au début est considéré comme aller au début de l'animation dans l'état actuel. La transition vers l'état final, ou l'absence de transitions dans chaque état, est traité comme sortir de l'automate.
StateMachineType STATE_MACHINE_TYPE_GROUPED = 2
C'est un automate groupé qui peut être contrôlé à partir d'un automate parent. Il ne fonctionne pas de façon indépendante. Il doit y avoir un automate avec state_machine_type défini à STATE_MACHINE_TYPE_ROOT ou STATE_MACHINE_TYPE_NESTED dans le parent ou l'ancêtre.
Descriptions des propriétés
bool allow_transition_to_self = false 🔗
Si true, permet la téléportation à son propre état avec AnimationNodeStateMachinePlayback.travel(). Lorsque l'option de réinitialisation est activée dans AnimationNodeStateMachinePlayback.travel(), l'animation est redémarrée. Si false, rien ne se passe lors de la téléportation à son propre état.
Si true, traite le fondu enchaîné vers les nœuds de début et de fin comme un mélange avec l'animation de réinitialisation (RESET).
Dans la plupart des cas, lorsque des fondus enchaînés supplémentaires sont exécutés dans l'AnimationNode parent de l'automate, définir cette propriété à false et faire correspondre le temps de fondu enchaîné du parent AnimationNode et celui du nœud de début et de fin de l'automate donne de bons résultats.
StateMachineType state_machine_type = 0 🔗
void set_state_machine_type(value: StateMachineType)
StateMachineType get_state_machine_type()
Cette propriété peut définir le processus de transition pour différents cas d'utilisation. Voir aussi StateMachineType.
Descriptions des méthodes
void add_node(name: StringName, node: AnimationNode, position: Vector2 = Vector2(0, 0)) 🔗
Ajoute un nouveau nœud d'animation au graphe. La position est utilisée pour l’affichage dans l’éditeur.
void add_transition(from: StringName, to: StringName, transition: AnimationNodeStateMachineTransition) 🔗
Ajoute une transition entre les nœuds d'animation donnés.
Vector2 get_graph_offset() const 🔗
Renvoie le décalage de l'affichage du graphe. Utilisé pour l'affichage dans l'éditeur.
AnimationNode get_node(name: StringName) const 🔗
Renvoie le nœud d'animation avec le nom donné.
Array[StringName] get_node_list() const 🔗
Renvoie une liste contenant les noms de tous les nœuds d'animation dans cet automate.
StringName get_node_name(node: AnimationNode) const 🔗
Renvoie le nom du nœud d'animation donné.
Vector2 get_node_position(name: StringName) const 🔗
Renvoie les coordonnées du nœud d'animation donné. Utilisé pour l'affichage dans l'éditeur.
AnimationNodeStateMachineTransition get_transition(idx: int) const 🔗
Renvoie la transition donnée.
int get_transition_count() const 🔗
Renvoie le nombre de connections dans le graphe.
StringName get_transition_from(idx: int) const 🔗
Renvoie le nœud de début de la transition donnée.
StringName get_transition_to(idx: int) const 🔗
Renvoie le nœud de fin de la transition donnée.
bool has_node(name: StringName) const 🔗
Renvoietrue si le graphe contient le nœud d’animation spécifié.
bool has_transition(from: StringName, to: StringName) const 🔗
Renvoie true s'il y a une transition entre les nœuds d’animation spécifiés.
void remove_node(name: StringName) 🔗
Supprime le nœud d’animation spécifié du graphe.
void remove_transition(from: StringName, to: StringName) 🔗
Supprime la transition entre les deux nœuds d’animation spécifiés.
void remove_transition_by_index(idx: int) 🔗
Supprime la transition donnée par index.
void rename_node(name: StringName, new_name: StringName) 🔗
Renomme le nœud d'animation spécifié.
void replace_node(name: StringName, node: AnimationNode) 🔗
Remplace le nœud d'animation donné avec un nouveau nœud d'animation.
void set_graph_offset(offset: Vector2) 🔗
Définit le décalage de l'affichage du graphe. Utilisé pour l'affichage dans l'éditeur.
void set_node_position(name: StringName, position: Vector2) 🔗
Définit les coordonnées du nœud d'animation. Utilisé pour l'affichage dans l'éditeur.