class_skeletonmodification2d.rst 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/SkeletonModification2D.xml.
  6. .. _class_SkeletonModification2D:
  7. SkeletonModification2D
  8. ======================
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`SkeletonModification2DCCDIK<class_SkeletonModification2DCCDIK>`, :ref:`SkeletonModification2DFABRIK<class_SkeletonModification2DFABRIK>`, :ref:`SkeletonModification2DJiggle<class_SkeletonModification2DJiggle>`, :ref:`SkeletonModification2DLookAt<class_SkeletonModification2DLookAt>`, :ref:`SkeletonModification2DPhysicalBones<class_SkeletonModification2DPhysicalBones>`, :ref:`SkeletonModification2DStackHolder<class_SkeletonModification2DStackHolder>`, :ref:`SkeletonModification2DTwoBoneIK<class_SkeletonModification2DTwoBoneIK>`
  11. Base class for resources that operate on :ref:`Bone2D<class_Bone2D>`\ s in a :ref:`Skeleton2D<class_Skeleton2D>`.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. This resource provides an interface that can be expanded so code that operates on :ref:`Bone2D<class_Bone2D>` nodes in a :ref:`Skeleton2D<class_Skeleton2D>` can be mixed and matched together to create complex interactions.
  16. This is used to provide Godot with a flexible and powerful Inverse Kinematics solution that can be adapted for many different uses.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +-------------------------+-----------------------------------------------------------------------------+----------+
  23. | :ref:`bool<class_bool>` | :ref:`enabled<class_SkeletonModification2D_property_enabled>` | ``true`` |
  24. +-------------------------+-----------------------------------------------------------------------------+----------+
  25. | :ref:`int<class_int>` | :ref:`execution_mode<class_SkeletonModification2D_property_execution_mode>` | ``0`` |
  26. +-------------------------+-----------------------------------------------------------------------------+----------+
  27. .. rst-class:: classref-reftable-group
  28. Methods
  29. -------
  30. .. table::
  31. :widths: auto
  32. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | void | :ref:`_draw_editor_gizmo<class_SkeletonModification2D_method__draw_editor_gizmo>` **(** **)** |virtual| |
  34. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | void | :ref:`_execute<class_SkeletonModification2D_method__execute>` **(** :ref:`float<class_float>` delta **)** |virtual| |
  36. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | void | :ref:`_setup_modification<class_SkeletonModification2D_method__setup_modification>` **(** :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` modification_stack **)** |virtual| |
  38. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`float<class_float>` | :ref:`clamp_angle<class_SkeletonModification2D_method_clamp_angle>` **(** :ref:`float<class_float>` angle, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`bool<class_bool>` invert **)** |
  40. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`bool<class_bool>` | :ref:`get_editor_draw_gizmo<class_SkeletonModification2D_method_get_editor_draw_gizmo>` **(** **)** |const| |
  42. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`bool<class_bool>` | :ref:`get_is_setup<class_SkeletonModification2D_method_get_is_setup>` **(** **)** |const| |
  44. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` | :ref:`get_modification_stack<class_SkeletonModification2D_method_get_modification_stack>` **(** **)** |
  46. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | void | :ref:`set_editor_draw_gizmo<class_SkeletonModification2D_method_set_editor_draw_gizmo>` **(** :ref:`bool<class_bool>` draw_gizmo **)** |
  48. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | void | :ref:`set_is_setup<class_SkeletonModification2D_method_set_is_setup>` **(** :ref:`bool<class_bool>` is_setup **)** |
  50. +-----------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. .. rst-class:: classref-section-separator
  52. ----
  53. .. rst-class:: classref-descriptions-group
  54. Property Descriptions
  55. ---------------------
  56. .. _class_SkeletonModification2D_property_enabled:
  57. .. rst-class:: classref-property
  58. :ref:`bool<class_bool>` **enabled** = ``true``
  59. .. rst-class:: classref-property-setget
  60. - void **set_enabled** **(** :ref:`bool<class_bool>` value **)**
  61. - :ref:`bool<class_bool>` **get_enabled** **(** **)**
  62. If ``true``, the modification's :ref:`_execute<class_SkeletonModification2D_method__execute>` function will be called by the :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`.
  63. .. rst-class:: classref-item-separator
  64. ----
  65. .. _class_SkeletonModification2D_property_execution_mode:
  66. .. rst-class:: classref-property
  67. :ref:`int<class_int>` **execution_mode** = ``0``
  68. .. rst-class:: classref-property-setget
  69. - void **set_execution_mode** **(** :ref:`int<class_int>` value **)**
  70. - :ref:`int<class_int>` **get_execution_mode** **(** **)**
  71. The execution mode for the modification. This tells the modification stack when to execute the modification. Some modifications have settings that are only available in certain execution modes.
  72. .. rst-class:: classref-section-separator
  73. ----
  74. .. rst-class:: classref-descriptions-group
  75. Method Descriptions
  76. -------------------
  77. .. _class_SkeletonModification2D_method__draw_editor_gizmo:
  78. .. rst-class:: classref-method
  79. void **_draw_editor_gizmo** **(** **)** |virtual|
  80. Used for drawing **editor-only** modification gizmos. This function will only be called in the Godot editor and can be overridden to draw custom gizmos.
  81. \ **Note:** You will need to use the Skeleton2D from :ref:`SkeletonModificationStack2D.get_skeleton<class_SkeletonModificationStack2D_method_get_skeleton>` and it's draw functions, as the **SkeletonModification2D** resource cannot draw on its own.
  82. .. rst-class:: classref-item-separator
  83. ----
  84. .. _class_SkeletonModification2D_method__execute:
  85. .. rst-class:: classref-method
  86. void **_execute** **(** :ref:`float<class_float>` delta **)** |virtual|
  87. Executes the given modification. This is where the modification performs whatever function it is designed to do.
  88. .. rst-class:: classref-item-separator
  89. ----
  90. .. _class_SkeletonModification2D_method__setup_modification:
  91. .. rst-class:: classref-method
  92. void **_setup_modification** **(** :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` modification_stack **)** |virtual|
  93. Called when the modification is setup. This is where the modification performs initialization.
  94. .. rst-class:: classref-item-separator
  95. ----
  96. .. _class_SkeletonModification2D_method_clamp_angle:
  97. .. rst-class:: classref-method
  98. :ref:`float<class_float>` **clamp_angle** **(** :ref:`float<class_float>` angle, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`bool<class_bool>` invert **)**
  99. Takes an angle and clamps it so it is within the passed-in ``min`` and ``max`` range. ``invert`` will inversely clamp the angle, clamping it to the range outside of the given bounds.
  100. .. rst-class:: classref-item-separator
  101. ----
  102. .. _class_SkeletonModification2D_method_get_editor_draw_gizmo:
  103. .. rst-class:: classref-method
  104. :ref:`bool<class_bool>` **get_editor_draw_gizmo** **(** **)** |const|
  105. Returns whether this modification will call :ref:`_draw_editor_gizmo<class_SkeletonModification2D_method__draw_editor_gizmo>` in the Godot editor to draw modification-specific gizmos.
  106. .. rst-class:: classref-item-separator
  107. ----
  108. .. _class_SkeletonModification2D_method_get_is_setup:
  109. .. rst-class:: classref-method
  110. :ref:`bool<class_bool>` **get_is_setup** **(** **)** |const|
  111. Returns whether this modification has been successfully setup or not.
  112. .. rst-class:: classref-item-separator
  113. ----
  114. .. _class_SkeletonModification2D_method_get_modification_stack:
  115. .. rst-class:: classref-method
  116. :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` **get_modification_stack** **(** **)**
  117. Returns the :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` that this modification is bound to. Through the modification stack, you can access the Skeleton2D the modification is operating on.
  118. .. rst-class:: classref-item-separator
  119. ----
  120. .. _class_SkeletonModification2D_method_set_editor_draw_gizmo:
  121. .. rst-class:: classref-method
  122. void **set_editor_draw_gizmo** **(** :ref:`bool<class_bool>` draw_gizmo **)**
  123. Sets whether this modification will call :ref:`_draw_editor_gizmo<class_SkeletonModification2D_method__draw_editor_gizmo>` in the Godot editor to draw modification-specific gizmos.
  124. .. rst-class:: classref-item-separator
  125. ----
  126. .. _class_SkeletonModification2D_method_set_is_setup:
  127. .. rst-class:: classref-method
  128. void **set_is_setup** **(** :ref:`bool<class_bool>` is_setup **)**
  129. Manually allows you to set the setup state of the modification. This function should only rarely be used, as the :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` the modification is bound to should handle setting the modification up.
  130. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  131. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  132. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  133. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  134. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  135. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`