:github_url: hide .. _class_AnimationNodeBlendSpace2D: AnimationNodeBlendSpace2D ========================= **Eredita:** :ref:`AnimationRootNode` **<** :ref:`AnimationNode` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Una serie di :ref:`AnimationRootNode` posizionati su coordinate 2D, con dissolvenza incrociata tra i tre adiacenti. Utilizzato da :ref:`AnimationTree`. .. rst-class:: classref-introduction-group Descrizione ---------------------- Una risorsa utilizzata da :ref:`AnimationNodeBlendTree`. \ **AnimationNodeBlendSpace2D** rappresenta uno spazio 2D virtuale su cui sono posizionati gli :ref:`AnimationRootNode`. Produce la fusione lineare delle tre animazioni adiacenti attraverso un peso di tipo :ref:`Vector2`. Adiacente in questo contesto significa i tre :ref:`AnimationRootNode` che compongono il triangolo che contiene il valore attuale. È possibile aggiungere vertici allo spazio di fusione con :ref:`add_blend_point()` e triangolarlo automaticamente impostando :ref:`auto_triangles` su ``true``. Altrimenti, bisogna usare :ref:`add_triangle()` e :ref:`remove_triangle()` per triangolare manualmente lo spazio di fusione. .. rst-class:: classref-introduction-group Tutorial ---------------- - :doc:`Utilizzare l'AnimationTree <../tutorials/animation/animation_tree>` - `Demo di sparatutto in terza persona (TPS) `__ .. rst-class:: classref-reftable-group ProprietΓ  ------------------ .. table:: :widths: auto +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`auto_triangles` | ``true`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`BlendMode` | :ref:`blend_mode` | ``0`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`Vector2` | :ref:`max_space` | ``Vector2(1, 1)`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`Vector2` | :ref:`min_space` | ``Vector2(-1, -1)`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`Vector2` | :ref:`snap` | ``Vector2(0.1, 0.1)`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`sync` | ``false`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`String` | :ref:`x_label` | ``"x"`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ | :ref:`String` | :ref:`y_label` | ``"y"`` | +------------------------------------------------------------+--------------------------------------------------------------------------------+-----------------------+ .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_blend_point`\ (\ node\: :ref:`AnimationRootNode`, pos\: :ref:`Vector2`, at_index\: :ref:`int` = -1\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_triangle`\ (\ x\: :ref:`int`, y\: :ref:`int`, z\: :ref:`int`, at_index\: :ref:`int` = -1\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_blend_point_count`\ (\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AnimationRootNode` | :ref:`get_blend_point_node`\ (\ point\: :ref:`int`\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_blend_point_position`\ (\ point\: :ref:`int`\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_triangle_count`\ (\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_triangle_point`\ (\ triangle\: :ref:`int`, point\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_blend_point`\ (\ point\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_triangle`\ (\ triangle\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_blend_point_node`\ (\ point\: :ref:`int`, node\: :ref:`AnimationRootNode`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_blend_point_position`\ (\ point\: :ref:`int`, pos\: :ref:`Vector2`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Segnali -------------- .. _class_AnimationNodeBlendSpace2D_signal_triangles_updated: .. rst-class:: classref-signal **triangles_updated**\ (\ ) :ref:`πŸ”—` Emesso ogni volta che i triangoli dello spazio di fusione vengono creati, rimossi o quando uno dei loro vertici cambia di posizione. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerazioni ------------------------ .. _enum_AnimationNodeBlendSpace2D_BlendMode: .. rst-class:: classref-enumeration enum **BlendMode**: :ref:`πŸ”—` .. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_INTERPOLATED: .. rst-class:: classref-enumeration-constant :ref:`BlendMode` **BLEND_MODE_INTERPOLATED** = ``0`` L'interpolazione tra le animazioni Γ¨ lineare. .. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_DISCRETE: .. rst-class:: classref-enumeration-constant :ref:`BlendMode` **BLEND_MODE_DISCRETE** = ``1`` Lo spazio di fusione riproduce l'animazione del nodo di animazione a cui Γ¨ piΓΉ vicina la posizione di fusione. Utile per le animazioni 2D fotogramma per fotogramma. .. _class_AnimationNodeBlendSpace2D_constant_BLEND_MODE_DISCRETE_CARRY: .. rst-class:: classref-enumeration-constant :ref:`BlendMode` **BLEND_MODE_DISCRETE_CARRY** = ``2`` Simile a :ref:`BLEND_MODE_DISCRETE`, ma avvia la nuova animazione dalla posizione di riproduzione dell'animazione precedente. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni delle proprietΓ  ------------------------------------------------------ .. _class_AnimationNodeBlendSpace2D_property_auto_triangles: .. rst-class:: classref-property :ref:`bool` **auto_triangles** = ``true`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_auto_triangles**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_auto_triangles**\ (\ ) Se ``true``, lo spazio di fusione Γ¨ triangolato automaticamente. La mesh si aggiorna ogni volta che aggiungi o rimuovi punti con :ref:`add_blend_point()` e :ref:`remove_blend_point()`. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_blend_mode: .. rst-class:: classref-property :ref:`BlendMode` **blend_mode** = ``0`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_blend_mode**\ (\ value\: :ref:`BlendMode`\ ) - :ref:`BlendMode` **get_blend_mode**\ (\ ) Controlla l'interpolazione tra le animazioni. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_max_space: .. rst-class:: classref-property :ref:`Vector2` **max_space** = ``Vector2(1, 1)`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_max_space**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_max_space**\ (\ ) Il limite superiore per la posizione dei punti sugli assi X e Y nello spazio di fusione. Vedi :ref:`add_blend_point()`. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_min_space: .. rst-class:: classref-property :ref:`Vector2` **min_space** = ``Vector2(-1, -1)`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_min_space**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_min_space**\ (\ ) Il limite inferiore per la posizione dei punti sugli assi X e Y nello spazio di fusione. Vedi :ref:`add_blend_point()`. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_snap: .. rst-class:: classref-property :ref:`Vector2` **snap** = ``Vector2(0.1, 0.1)`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_snap**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_snap**\ (\ ) Incremento dello scatto di posizione quando si sposta un punto. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_sync: .. rst-class:: classref-property :ref:`bool` **sync** = ``false`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_use_sync**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_using_sync**\ (\ ) Se ``false``, l'avanzamento dei fotogrammi delle animazioni fuse viene interrotto quando il valore di fusione Γ¨ ``0``. Se ``true``, forza le animazioni fuse ad avanzare i loro fotogrammi. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_x_label: .. rst-class:: classref-property :ref:`String` **x_label** = ``"x"`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_x_label**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_x_label**\ (\ ) Nome dell'asse X nello spazio di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_property_y_label: .. rst-class:: classref-property :ref:`String` **y_label** = ``"y"`` :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_y_label**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_y_label**\ (\ ) Nome dell'asse Y nello spazio di fusione. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_AnimationNodeBlendSpace2D_method_add_blend_point: .. rst-class:: classref-method |void| **add_blend_point**\ (\ node\: :ref:`AnimationRootNode`, pos\: :ref:`Vector2`, at_index\: :ref:`int` = -1\ ) :ref:`πŸ”—` Aggiunge un nuovo punto che rappresenta un nodo ``node`` nella posizione impostata da ``pos``. È possibile inserirlo a un indice specifico tramite l'argomento ``at_index``. Se si usa il valore predefinito per ``at_index``, il punto Γ¨ inserito alla fine dell'array dei punti di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_add_triangle: .. rst-class:: classref-method |void| **add_triangle**\ (\ x\: :ref:`int`, y\: :ref:`int`, z\: :ref:`int`, at_index\: :ref:`int` = -1\ ) :ref:`πŸ”—` Crea un nuovo triangolo usando i tre punti ``x``, ``y`` e ``z``. I triangoli possono sovrapporsi. È possibile inserire il triangolo a un indice specifico tramite l'argomento ``at_index``. Se si usa il valore predefinito per ``at_index``, il punto Γ¨ inserito alla fine dell'array dei punti di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_get_blend_point_count: .. rst-class:: classref-method :ref:`int` **get_blend_point_count**\ (\ ) |const| :ref:`πŸ”—` Restituisce il numero di punti nello spazio di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_get_blend_point_node: .. rst-class:: classref-method :ref:`AnimationRootNode` **get_blend_point_node**\ (\ point\: :ref:`int`\ ) |const| :ref:`πŸ”—` Restituisce l':ref:`AnimationRootNode` riferito dal punto all'indice ``point``. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_get_blend_point_position: .. rst-class:: classref-method :ref:`Vector2` **get_blend_point_position**\ (\ point\: :ref:`int`\ ) |const| :ref:`πŸ”—` Restituisce la posizione del punto all'indice ``point``. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_get_triangle_count: .. rst-class:: classref-method :ref:`int` **get_triangle_count**\ (\ ) |const| :ref:`πŸ”—` Restituisce il numero di triangoli nello spazio di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_get_triangle_point: .. rst-class:: classref-method :ref:`int` **get_triangle_point**\ (\ triangle\: :ref:`int`, point\: :ref:`int`\ ) :ref:`πŸ”—` Restituisce la posizione del punto all'indice ``point`` nel triangolo dell'indice ``triangle``. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_remove_blend_point: .. rst-class:: classref-method |void| **remove_blend_point**\ (\ point\: :ref:`int`\ ) :ref:`πŸ”—` Rimuove il punto all'indice ``point`` dallo spazio di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_remove_triangle: .. rst-class:: classref-method |void| **remove_triangle**\ (\ triangle\: :ref:`int`\ ) :ref:`πŸ”—` Rimuove il triangolo all'indice ``triangle`` dallo spazio di fusione. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_set_blend_point_node: .. rst-class:: classref-method |void| **set_blend_point_node**\ (\ point\: :ref:`int`, node\: :ref:`AnimationRootNode`\ ) :ref:`πŸ”—` Modifica l':ref:`AnimationNode` a cui fa riferimento il punto all'indice ``point``. .. rst-class:: classref-item-separator ---- .. _class_AnimationNodeBlendSpace2D_method_set_blend_point_position: .. rst-class:: classref-method |void| **set_blend_point_position**\ (\ point\: :ref:`int`, pos\: :ref:`Vector2`\ ) :ref:`πŸ”—` Aggiorna la posizione del punto all'indice ``point`` sullo spazio di fusione. .. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)` .. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)` .. |constructor| replace:: :abbr:`constructor (Questo metodo Γ¨ utilizzato per creare un tipo.)` .. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi puΓ² essere chiamato direttamente usando il nome della classe.)` .. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)` .. |bitfield| replace:: :abbr:`BitField (Questo valore Γ¨ un intero composto da una maschera di bit dei seguenti flag.)` .. |void| replace:: :abbr:`void (Nessun valore restituito.)`