:github_url: hide .. _class_SkeletonProfile: SkeletonProfile =============== **Eredita:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` **Ereditato da:** :ref:`SkeletonProfileHumanoid` Classe di base per un profilo di uno scheletro virtuale utilizzato come destinazione per il retargeting. .. rst-class:: classref-introduction-group Descrizione ---------------------- Questa risorsa è utilizzata in :ref:`EditorScenePostImport`. Alcuni parametri fanno riferimento alle ossa in :ref:`Skeleton3D`, :ref:`Skin`, :ref:`Animation` e alcuni altri nodi sono riscritti in base ai parametri di **SkeletonProfile**. \ **Nota:** Questi parametri devono essere impostati solo quando si crea un profilo personalizzato. In :ref:`SkeletonProfileHumanoid`, sono definiti internamente come valori di sola lettura. .. rst-class:: classref-introduction-group Tutorial ---------------- - :doc:`Reindirizzare gli scheletri 3D <../tutorials/assets_pipeline/retargeting_3d_skeletons>` .. rst-class:: classref-reftable-group Proprietà ------------------ .. table:: :widths: auto +-------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`int` | :ref:`bone_size` | ``0`` | +-------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`int` | :ref:`group_size` | ``0`` | +-------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`StringName` | :ref:`root_bone` | ``&""`` | +-------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`StringName` | :ref:`scale_base_bone` | ``&""`` | +-------------------------------------+------------------------------------------------------------------------+---------+ .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_bone`\ (\ bone_name\: :ref:`StringName`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_bone_name`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_bone_parent`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_bone_tail`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_group`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_group_name`\ (\ group_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_handle_offset`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform3D` | :ref:`get_reference_pose`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TailDirection` | :ref:`get_tail_direction`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_texture`\ (\ group_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_required`\ (\ bone_idx\: :ref:`int`\ ) |const| | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bone_name`\ (\ bone_idx\: :ref:`int`, bone_name\: :ref:`StringName`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bone_parent`\ (\ bone_idx\: :ref:`int`, bone_parent\: :ref:`StringName`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bone_tail`\ (\ bone_idx\: :ref:`int`, bone_tail\: :ref:`StringName`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_group`\ (\ bone_idx\: :ref:`int`, group\: :ref:`StringName`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_group_name`\ (\ group_idx\: :ref:`int`, group_name\: :ref:`StringName`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_handle_offset`\ (\ bone_idx\: :ref:`int`, handle_offset\: :ref:`Vector2`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_reference_pose`\ (\ bone_idx\: :ref:`int`, bone_name\: :ref:`Transform3D`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_required`\ (\ bone_idx\: :ref:`int`, required\: :ref:`bool`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_tail_direction`\ (\ bone_idx\: :ref:`int`, tail_direction\: :ref:`TailDirection`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_texture`\ (\ group_idx\: :ref:`int`, texture\: :ref:`Texture2D`\ ) | +----------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Segnali -------------- .. _class_SkeletonProfile_signal_profile_updated: .. rst-class:: classref-signal **profile_updated**\ (\ ) :ref:`🔗` Questo segnale viene emesso quando si modifica il valore nel profilo. È utilizzato per aggiornare il nome della chiave nella :ref:`BoneMap` e per ridisegnare l'editor di :ref:`BoneMap`. \ **Nota:** Questo segnale non è collegato direttamente all'editor per semplificare il riferimento, ma viene invece trasmesso all'editor attraverso la :ref:`BoneMap`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerazioni ------------------------ .. _enum_SkeletonProfile_TailDirection: .. rst-class:: classref-enumeration enum **TailDirection**: :ref:`🔗` .. _class_SkeletonProfile_constant_TAIL_DIRECTION_AVERAGE_CHILDREN: .. rst-class:: classref-enumeration-constant :ref:`TailDirection` **TAIL_DIRECTION_AVERAGE_CHILDREN** = ``0`` Direzione delle coordinate medie delle ossa figlio. .. _class_SkeletonProfile_constant_TAIL_DIRECTION_SPECIFIC_CHILD: .. rst-class:: classref-enumeration-constant :ref:`TailDirection` **TAIL_DIRECTION_SPECIFIC_CHILD** = ``1`` Direzione verso le coordinate dell'osso figlio specificato. .. _class_SkeletonProfile_constant_TAIL_DIRECTION_END: .. rst-class:: classref-enumeration-constant :ref:`TailDirection` **TAIL_DIRECTION_END** = ``2`` La direzione non è calcolata. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni delle proprietà ------------------------------------------------------ .. _class_SkeletonProfile_property_bone_size: .. rst-class:: classref-property :ref:`int` **bone_size** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bone_size**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_bone_size**\ (\ ) La quantità di ossa nell'editor di :ref:`BoneMap` della sezione di retargeting. Ad esempio, :ref:`SkeletonProfileHumanoid` ha 56 ossa. La dimensione degli elementi in :ref:`BoneMap` si aggiorna quando si modifica questa proprietà nello **SkeletonProfile** assegnato. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_property_group_size: .. rst-class:: classref-property :ref:`int` **group_size** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_group_size**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_group_size**\ (\ ) La quantità di gruppi di ossa nell'editor di :ref:`BoneMap` della sezione di retargeting. Ad esempio, :ref:`SkeletonProfileHumanoid` ha 4 gruppi. Questa proprietà esiste per separare l'elenco delle ossa in diverse sezioni nell'editor. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_property_root_bone: .. rst-class:: classref-property :ref:`StringName` **root_bone** = ``&""`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_root_bone**\ (\ value\: :ref:`StringName`\ ) - :ref:`StringName` **get_root_bone**\ (\ ) Un nome di osso che sarà utilizzato come osso radice in :ref:`AnimationTree`. Dovrebbe essere l'osso del genitore dell'anca che esiste all'origine del mondo. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_property_scale_base_bone: .. rst-class:: classref-property :ref:`StringName` **scale_base_bone** = ``&""`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_scale_base_bone**\ (\ value\: :ref:`StringName`\ ) - :ref:`StringName` **get_scale_base_bone**\ (\ ) Un nome di osso che utilizzerà l'altezza del modello come coefficiente per la normalizzazione. Ad esempio, :ref:`SkeletonProfileHumanoid` lo definisce come ``Hips`` (l'anca). .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_SkeletonProfile_method_find_bone: .. rst-class:: classref-method :ref:`int` **find_bone**\ (\ bone_name\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce l'indice dell'osso che ha ``bone_name`` come nome. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_bone_name: .. rst-class:: classref-method :ref:`StringName` **get_bone_name**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome dell'osso all'indice ``bone_idx`` che sarà il nome della chiave nella :ref:`BoneMap`. Nel processo di retargeting, il nome dell'osso restituito è il nome dell'osso dello scheletro di destinazione. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_bone_parent: .. rst-class:: classref-method :ref:`StringName` **get_bone_parent**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome dell'osso che è il genitore dell'osso all'indice ``bone_idx``. Il risultato è vuoto se l'osso non ha un genitore. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_bone_tail: .. rst-class:: classref-method :ref:`StringName` **get_bone_tail**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome dell'osso che è la coda dell'osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_group: .. rst-class:: classref-method :ref:`StringName` **get_group**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il gruppo dell'osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_group_name: .. rst-class:: classref-method :ref:`StringName` **get_group_name**\ (\ group_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome del gruppo all'indice ``group_idx`` che sarà il gruppo di disegno nell'editor di :ref:`BoneMap`. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_handle_offset: .. rst-class:: classref-method :ref:`Vector2` **get_handle_offset**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce lo scostamento dell'osso all'indice ``bone_idx`` che sarà la posizione del pulsante nell'editor di :ref:`BoneMap`. Questo è lo scostamento con origine nell'angolo in alto a sinistra del quadrato. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_reference_pose: .. rst-class:: classref-method :ref:`Transform3D` **get_reference_pose**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la trasformazione della posa di riferimento per osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_tail_direction: .. rst-class:: classref-method :ref:`TailDirection` **get_tail_direction**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la direzione di coda dell'osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_get_texture: .. rst-class:: classref-method :ref:`Texture2D` **get_texture**\ (\ group_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la texture del gruppo all'indice ``group_idx`` che sarà l'immagine di sfondo del gruppo di disegno nell'editor di :ref:`BoneMap`. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_is_required: .. rst-class:: classref-method :ref:`bool` **is_required**\ (\ bone_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce se l'osso all'indice ``bone_idx`` è obbligatorio per il retargeting. Questo valore è utilizzato dall'editor della mappa delle ossa. Se questo metodo restituisce ``true`` e non è assegnato alcun osso, il colore della maniglia sarà rosso nell'editor della mappa delle ossa. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_bone_name: .. rst-class:: classref-method |void| **set_bone_name**\ (\ bone_idx\: :ref:`int`, bone_name\: :ref:`StringName`\ ) :ref:`🔗` Imposta il nome dell'osso all'indice ``bone_idx`` che sarà il nome della chiave nella :ref:`BoneMap`. Nel processo di retargeting, il nome dell'osso impostato è il nome dell'osso dello scheletro di destinazione. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_bone_parent: .. rst-class:: classref-method |void| **set_bone_parent**\ (\ bone_idx\: :ref:`int`, bone_parent\: :ref:`StringName`\ ) :ref:`🔗` Imposta l'osso con nome ``bone_parent`` come genitore dell'osso all'indice ``bone_idx``. Se viene passata una stringa vuota, l'osso non ha genitore. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_bone_tail: .. rst-class:: classref-method |void| **set_bone_tail**\ (\ bone_idx\: :ref:`int`, bone_tail\: :ref:`StringName`\ ) :ref:`🔗` Imposta l'osso con nome ``bone_tail`` come coda dell'osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_group: .. rst-class:: classref-method |void| **set_group**\ (\ bone_idx\: :ref:`int`, group\: :ref:`StringName`\ ) :ref:`🔗` Imposta il gruppo dell'osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_group_name: .. rst-class:: classref-method |void| **set_group_name**\ (\ group_idx\: :ref:`int`, group_name\: :ref:`StringName`\ ) :ref:`🔗` Imposta il nome del gruppo all'indice ``group_idx`` che sarà il gruppo di disegno nell'editor di :ref:`BoneMap`. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_handle_offset: .. rst-class:: classref-method |void| **set_handle_offset**\ (\ bone_idx\: :ref:`int`, handle_offset\: :ref:`Vector2`\ ) :ref:`🔗` Imposta lo scostamento dell'osso all'indice ``bone_idx`` che sarà la posizione del pulsante nell'editor di :ref:`BoneMap`. Questo è lo scostamento con origine nell'angolo in alto a sinistra del quadrato. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_reference_pose: .. rst-class:: classref-method |void| **set_reference_pose**\ (\ bone_idx\: :ref:`int`, bone_name\: :ref:`Transform3D`\ ) :ref:`🔗` Imposta la trasformazione della posa di riferimento per osso all'indice ``bone_idx``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_required: .. rst-class:: classref-method |void| **set_required**\ (\ bone_idx\: :ref:`int`, required\: :ref:`bool`\ ) :ref:`🔗` Imposta lo stato obbligatorio per osso all'indice ``bone_idx`` a ``required``. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_tail_direction: .. rst-class:: classref-method |void| **set_tail_direction**\ (\ bone_idx\: :ref:`int`, tail_direction\: :ref:`TailDirection`\ ) :ref:`🔗` Imposta la direzione della coda dell'osso all'indice ``bone_idx``. \ **Nota:** Questo specifica solo il metodo di calcolo. Le coordinate effettive richieste devono essere memorizzate in uno scheletro esterno, quindi il calcolo stesso deve essere eseguito esternamente. .. rst-class:: classref-item-separator ---- .. _class_SkeletonProfile_method_set_texture: .. rst-class:: classref-method |void| **set_texture**\ (\ group_idx\: :ref:`int`, texture\: :ref:`Texture2D`\ ) :ref:`🔗` Imposta la texture del gruppo all'indice ``group_idx`` che sarà l'immagine di sfondo del gruppo di disegno nell'editor di :ref:`BoneMap`. .. |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.)`