class_boneattachment3d.rst 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. :github_url: hide
  2. .. meta::
  3. :keywords: tag
  4. .. DO NOT EDIT THIS FILE!!!
  5. .. Generated automatically from Godot engine sources.
  6. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  7. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoneAttachment3D.xml.
  8. .. _class_BoneAttachment3D:
  9. BoneAttachment3D
  10. ================
  11. **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  12. А node that dynamically copies or overrides the 3D transform of a bone in its parent :ref:`Skeleton3D<class_Skeleton3D>`.
  13. .. rst-class:: classref-introduction-group
  14. Description
  15. -----------
  16. This node selects a bone in a :ref:`Skeleton3D<class_Skeleton3D>` and attaches to it. This means that the **BoneAttachment3D** node will either dynamically copy or override the 3D transform of the selected bone.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +-----------------------------+---------------------------------------------------------------------+-----------+
  23. | :ref:`int<class_int>` | :ref:`bone_idx<class_BoneAttachment3D_property_bone_idx>` | ``-1`` |
  24. +-----------------------------+---------------------------------------------------------------------+-----------+
  25. | :ref:`String<class_String>` | :ref:`bone_name<class_BoneAttachment3D_property_bone_name>` | ``""`` |
  26. +-----------------------------+---------------------------------------------------------------------+-----------+
  27. | :ref:`bool<class_bool>` | :ref:`override_pose<class_BoneAttachment3D_property_override_pose>` | ``false`` |
  28. +-----------------------------+---------------------------------------------------------------------+-----------+
  29. .. rst-class:: classref-reftable-group
  30. Methods
  31. -------
  32. .. table::
  33. :widths: auto
  34. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`NodePath<class_NodePath>` | :ref:`get_external_skeleton<class_BoneAttachment3D_method_get_external_skeleton>`\ (\ ) |const| |
  36. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`Skeleton3D<class_Skeleton3D>` | :ref:`get_skeleton<class_BoneAttachment3D_method_get_skeleton>`\ (\ ) |
  38. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`bool<class_bool>` | :ref:`get_use_external_skeleton<class_BoneAttachment3D_method_get_use_external_skeleton>`\ (\ ) |const| |
  40. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | |void| | :ref:`on_skeleton_update<class_BoneAttachment3D_method_on_skeleton_update>`\ (\ ) |
  42. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | |void| | :ref:`set_external_skeleton<class_BoneAttachment3D_method_set_external_skeleton>`\ (\ external_skeleton\: :ref:`NodePath<class_NodePath>`\ ) |
  44. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | |void| | :ref:`set_use_external_skeleton<class_BoneAttachment3D_method_set_use_external_skeleton>`\ (\ use_external_skeleton\: :ref:`bool<class_bool>`\ ) |
  46. +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
  47. .. rst-class:: classref-section-separator
  48. ----
  49. .. rst-class:: classref-descriptions-group
  50. Property Descriptions
  51. ---------------------
  52. .. _class_BoneAttachment3D_property_bone_idx:
  53. .. rst-class:: classref-property
  54. :ref:`int<class_int>` **bone_idx** = ``-1`` :ref:`🔗<class_BoneAttachment3D_property_bone_idx>`
  55. .. rst-class:: classref-property-setget
  56. - |void| **set_bone_idx**\ (\ value\: :ref:`int<class_int>`\ )
  57. - :ref:`int<class_int>` **get_bone_idx**\ (\ )
  58. The index of the attached bone.
  59. .. rst-class:: classref-item-separator
  60. ----
  61. .. _class_BoneAttachment3D_property_bone_name:
  62. .. rst-class:: classref-property
  63. :ref:`String<class_String>` **bone_name** = ``""`` :ref:`🔗<class_BoneAttachment3D_property_bone_name>`
  64. .. rst-class:: classref-property-setget
  65. - |void| **set_bone_name**\ (\ value\: :ref:`String<class_String>`\ )
  66. - :ref:`String<class_String>` **get_bone_name**\ (\ )
  67. The name of the attached bone.
  68. .. rst-class:: classref-item-separator
  69. ----
  70. .. _class_BoneAttachment3D_property_override_pose:
  71. .. rst-class:: classref-property
  72. :ref:`bool<class_bool>` **override_pose** = ``false`` :ref:`🔗<class_BoneAttachment3D_property_override_pose>`
  73. .. rst-class:: classref-property-setget
  74. - |void| **set_override_pose**\ (\ value\: :ref:`bool<class_bool>`\ )
  75. - :ref:`bool<class_bool>` **get_override_pose**\ (\ )
  76. Whether the BoneAttachment3D node will override the bone pose of the bone it is attached to. When set to ``true``, the BoneAttachment3D node can change the pose of the bone. When set to ``false``, the BoneAttachment3D will always be set to the bone's transform.
  77. \ **Note:** This override performs interruptively in the skeleton update process using signals due to the old design. It may cause unintended behavior when used at the same time with :ref:`SkeletonModifier3D<class_SkeletonModifier3D>`.
  78. .. rst-class:: classref-section-separator
  79. ----
  80. .. rst-class:: classref-descriptions-group
  81. Method Descriptions
  82. -------------------
  83. .. _class_BoneAttachment3D_method_get_external_skeleton:
  84. .. rst-class:: classref-method
  85. :ref:`NodePath<class_NodePath>` **get_external_skeleton**\ (\ ) |const| :ref:`🔗<class_BoneAttachment3D_method_get_external_skeleton>`
  86. Returns the :ref:`NodePath<class_NodePath>` to the external :ref:`Skeleton3D<class_Skeleton3D>` node, if one has been set.
  87. .. rst-class:: classref-item-separator
  88. ----
  89. .. _class_BoneAttachment3D_method_get_skeleton:
  90. .. rst-class:: classref-method
  91. :ref:`Skeleton3D<class_Skeleton3D>` **get_skeleton**\ (\ ) :ref:`🔗<class_BoneAttachment3D_method_get_skeleton>`
  92. Get parent or external :ref:`Skeleton3D<class_Skeleton3D>` node if found.
  93. .. rst-class:: classref-item-separator
  94. ----
  95. .. _class_BoneAttachment3D_method_get_use_external_skeleton:
  96. .. rst-class:: classref-method
  97. :ref:`bool<class_bool>` **get_use_external_skeleton**\ (\ ) |const| :ref:`🔗<class_BoneAttachment3D_method_get_use_external_skeleton>`
  98. Returns whether the BoneAttachment3D node is using an external :ref:`Skeleton3D<class_Skeleton3D>` rather than attempting to use its parent node as the :ref:`Skeleton3D<class_Skeleton3D>`.
  99. .. rst-class:: classref-item-separator
  100. ----
  101. .. _class_BoneAttachment3D_method_on_skeleton_update:
  102. .. rst-class:: classref-method
  103. |void| **on_skeleton_update**\ (\ ) :ref:`🔗<class_BoneAttachment3D_method_on_skeleton_update>`
  104. A function that is called automatically when the :ref:`Skeleton3D<class_Skeleton3D>` is updated. This function is where the **BoneAttachment3D** node updates its position so it is correctly bound when it is *not* set to override the bone pose.
  105. .. rst-class:: classref-item-separator
  106. ----
  107. .. _class_BoneAttachment3D_method_set_external_skeleton:
  108. .. rst-class:: classref-method
  109. |void| **set_external_skeleton**\ (\ external_skeleton\: :ref:`NodePath<class_NodePath>`\ ) :ref:`🔗<class_BoneAttachment3D_method_set_external_skeleton>`
  110. Sets the :ref:`NodePath<class_NodePath>` to the external skeleton that the BoneAttachment3D node should use. See :ref:`set_use_external_skeleton()<class_BoneAttachment3D_method_set_use_external_skeleton>` to enable the external :ref:`Skeleton3D<class_Skeleton3D>` node.
  111. .. rst-class:: classref-item-separator
  112. ----
  113. .. _class_BoneAttachment3D_method_set_use_external_skeleton:
  114. .. rst-class:: classref-method
  115. |void| **set_use_external_skeleton**\ (\ use_external_skeleton\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_BoneAttachment3D_method_set_use_external_skeleton>`
  116. Sets whether the BoneAttachment3D node will use an external :ref:`Skeleton3D<class_Skeleton3D>` node rather than attempting to use its parent node as the :ref:`Skeleton3D<class_Skeleton3D>`. When set to ``true``, the BoneAttachment3D node will use the external :ref:`Skeleton3D<class_Skeleton3D>` node set in :ref:`set_external_skeleton()<class_BoneAttachment3D_method_set_external_skeleton>`.
  117. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  118. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  119. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  120. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  121. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  122. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  123. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  124. .. |void| replace:: :abbr:`void (No return value.)`