class_springbonesimulator3d.rst 85 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299
  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/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/SpringBoneSimulator3D.xml.
  6. .. _class_SpringBoneSimulator3D:
  7. SpringBoneSimulator3D
  8. =====================
  9. **Inherits:** :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. A :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` to apply inertial wavering to bone chains.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. This :ref:`SkeletonModifier3D<class_SkeletonModifier3D>` can be used to wiggle hair, cloth, and tails. This modifier behaves differently from :ref:`PhysicalBoneSimulator3D<class_PhysicalBoneSimulator3D>` as it attempts to return the original pose after modification.
  15. If you setup :ref:`set_root_bone()<class_SpringBoneSimulator3D_method_set_root_bone>` and :ref:`set_end_bone()<class_SpringBoneSimulator3D_method_set_end_bone>`, it is treated as one bone chain. Note that it does not support a branched chain like Y-shaped chains.
  16. When a bone chain is created, an array is generated from the bones that exist in between and listed in the joint list.
  17. Several properties can be applied to each joint, such as :ref:`set_joint_stiffness()<class_SpringBoneSimulator3D_method_set_joint_stiffness>`, :ref:`set_joint_drag()<class_SpringBoneSimulator3D_method_set_joint_drag>`, and :ref:`set_joint_gravity()<class_SpringBoneSimulator3D_method_set_joint_gravity>`.
  18. For simplicity, you can set values to all joints at the same time by using a :ref:`Curve<class_Curve>`. If you want to specify detailed values individually, set :ref:`set_individual_config()<class_SpringBoneSimulator3D_method_set_individual_config>` to ``true``.
  19. For physical simulation, **SpringBoneSimulator3D** can have children as self-standing collisions that are not related to :ref:`PhysicsServer3D<class_PhysicsServer3D>`, see also :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>`.
  20. \ **Warning:** A scaled **SpringBoneSimulator3D** will likely not behave as expected. Make sure that the parent :ref:`Skeleton3D<class_Skeleton3D>` and its bones are not scaled.
  21. .. rst-class:: classref-reftable-group
  22. Properties
  23. ----------
  24. .. table::
  25. :widths: auto
  26. +-----------------------+--------------------------------------------------------------------------+-------+
  27. | :ref:`int<class_int>` | :ref:`setting_count<class_SpringBoneSimulator3D_property_setting_count>` | ``0`` |
  28. +-----------------------+--------------------------------------------------------------------------+-------+
  29. .. rst-class:: classref-reftable-group
  30. Methods
  31. -------
  32. .. table::
  33. :widths: auto
  34. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | :ref:`bool<class_bool>` | :ref:`are_all_child_collisions_enabled<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  36. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | |void| | :ref:`clear_collisions<class_SpringBoneSimulator3D_method_clear_collisions>`\ (\ index\: :ref:`int<class_int>`\ ) |
  38. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | |void| | :ref:`clear_exclude_collisions<class_SpringBoneSimulator3D_method_clear_exclude_collisions>`\ (\ index\: :ref:`int<class_int>`\ ) |
  40. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | |void| | :ref:`clear_settings<class_SpringBoneSimulator3D_method_clear_settings>`\ (\ ) |
  42. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`int<class_int>` | :ref:`get_center_bone<class_SpringBoneSimulator3D_method_get_center_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  44. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`String<class_String>` | :ref:`get_center_bone_name<class_SpringBoneSimulator3D_method_get_center_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  46. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` | :ref:`get_center_from<class_SpringBoneSimulator3D_method_get_center_from>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  48. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`NodePath<class_NodePath>` | :ref:`get_center_node<class_SpringBoneSimulator3D_method_get_center_node>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  50. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | :ref:`int<class_int>` | :ref:`get_collision_count<class_SpringBoneSimulator3D_method_get_collision_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  52. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | :ref:`NodePath<class_NodePath>` | :ref:`get_collision_path<class_SpringBoneSimulator3D_method_get_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| |
  54. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | :ref:`float<class_float>` | :ref:`get_drag<class_SpringBoneSimulator3D_method_get_drag>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  56. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`Curve<class_Curve>` | :ref:`get_drag_damping_curve<class_SpringBoneSimulator3D_method_get_drag_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  58. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | :ref:`int<class_int>` | :ref:`get_end_bone<class_SpringBoneSimulator3D_method_get_end_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  60. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` | :ref:`get_end_bone_direction<class_SpringBoneSimulator3D_method_get_end_bone_direction>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  62. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | :ref:`float<class_float>` | :ref:`get_end_bone_length<class_SpringBoneSimulator3D_method_get_end_bone_length>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  64. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`String<class_String>` | :ref:`get_end_bone_name<class_SpringBoneSimulator3D_method_get_end_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  66. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`int<class_int>` | :ref:`get_exclude_collision_count<class_SpringBoneSimulator3D_method_get_exclude_collision_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  68. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`NodePath<class_NodePath>` | :ref:`get_exclude_collision_path<class_SpringBoneSimulator3D_method_get_exclude_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| |
  70. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`float<class_float>` | :ref:`get_gravity<class_SpringBoneSimulator3D_method_get_gravity>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  72. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`Curve<class_Curve>` | :ref:`get_gravity_damping_curve<class_SpringBoneSimulator3D_method_get_gravity_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  74. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`Vector3<class_Vector3>` | :ref:`get_gravity_direction<class_SpringBoneSimulator3D_method_get_gravity_direction>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  76. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`int<class_int>` | :ref:`get_joint_bone<class_SpringBoneSimulator3D_method_get_joint_bone>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  78. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`String<class_String>` | :ref:`get_joint_bone_name<class_SpringBoneSimulator3D_method_get_joint_bone_name>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  80. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | :ref:`int<class_int>` | :ref:`get_joint_count<class_SpringBoneSimulator3D_method_get_joint_count>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  82. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | :ref:`float<class_float>` | :ref:`get_joint_drag<class_SpringBoneSimulator3D_method_get_joint_drag>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  84. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | :ref:`float<class_float>` | :ref:`get_joint_gravity<class_SpringBoneSimulator3D_method_get_joint_gravity>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  86. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | :ref:`Vector3<class_Vector3>` | :ref:`get_joint_gravity_direction<class_SpringBoneSimulator3D_method_get_joint_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  88. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | :ref:`float<class_float>` | :ref:`get_joint_radius<class_SpringBoneSimulator3D_method_get_joint_radius>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  90. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` | :ref:`get_joint_rotation_axis<class_SpringBoneSimulator3D_method_get_joint_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  92. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | :ref:`float<class_float>` | :ref:`get_joint_stiffness<class_SpringBoneSimulator3D_method_get_joint_stiffness>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| |
  94. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | :ref:`float<class_float>` | :ref:`get_radius<class_SpringBoneSimulator3D_method_get_radius>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  96. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | :ref:`Curve<class_Curve>` | :ref:`get_radius_damping_curve<class_SpringBoneSimulator3D_method_get_radius_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  98. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | :ref:`int<class_int>` | :ref:`get_root_bone<class_SpringBoneSimulator3D_method_get_root_bone>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  100. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | :ref:`String<class_String>` | :ref:`get_root_bone_name<class_SpringBoneSimulator3D_method_get_root_bone_name>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  102. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` | :ref:`get_rotation_axis<class_SpringBoneSimulator3D_method_get_rotation_axis>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  104. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | :ref:`float<class_float>` | :ref:`get_stiffness<class_SpringBoneSimulator3D_method_get_stiffness>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  106. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | :ref:`Curve<class_Curve>` | :ref:`get_stiffness_damping_curve<class_SpringBoneSimulator3D_method_get_stiffness_damping_curve>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  108. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | :ref:`bool<class_bool>` | :ref:`is_config_individual<class_SpringBoneSimulator3D_method_is_config_individual>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  110. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | :ref:`bool<class_bool>` | :ref:`is_end_bone_extended<class_SpringBoneSimulator3D_method_is_end_bone_extended>`\ (\ index\: :ref:`int<class_int>`\ ) |const| |
  112. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | |void| | :ref:`reset<class_SpringBoneSimulator3D_method_reset>`\ (\ ) |
  114. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | |void| | :ref:`set_center_bone<class_SpringBoneSimulator3D_method_set_center_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
  116. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | |void| | :ref:`set_center_bone_name<class_SpringBoneSimulator3D_method_set_center_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
  118. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | |void| | :ref:`set_center_from<class_SpringBoneSimulator3D_method_set_center_from>`\ (\ index\: :ref:`int<class_int>`, center_from\: :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>`\ ) |
  120. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | |void| | :ref:`set_center_node<class_SpringBoneSimulator3D_method_set_center_node>`\ (\ index\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
  122. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | |void| | :ref:`set_collision_count<class_SpringBoneSimulator3D_method_set_collision_count>`\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) |
  124. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | |void| | :ref:`set_collision_path<class_SpringBoneSimulator3D_method_set_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
  126. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | |void| | :ref:`set_drag<class_SpringBoneSimulator3D_method_set_drag>`\ (\ index\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) |
  128. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | |void| | :ref:`set_drag_damping_curve<class_SpringBoneSimulator3D_method_set_drag_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
  130. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | |void| | :ref:`set_enable_all_child_collisions<class_SpringBoneSimulator3D_method_set_enable_all_child_collisions>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
  132. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | |void| | :ref:`set_end_bone<class_SpringBoneSimulator3D_method_set_end_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
  134. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | |void| | :ref:`set_end_bone_direction<class_SpringBoneSimulator3D_method_set_end_bone_direction>`\ (\ index\: :ref:`int<class_int>`, bone_direction\: :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>`\ ) |
  136. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | |void| | :ref:`set_end_bone_length<class_SpringBoneSimulator3D_method_set_end_bone_length>`\ (\ index\: :ref:`int<class_int>`, length\: :ref:`float<class_float>`\ ) |
  138. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | |void| | :ref:`set_end_bone_name<class_SpringBoneSimulator3D_method_set_end_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
  140. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | |void| | :ref:`set_exclude_collision_count<class_SpringBoneSimulator3D_method_set_exclude_collision_count>`\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) |
  142. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | |void| | :ref:`set_exclude_collision_path<class_SpringBoneSimulator3D_method_set_exclude_collision_path>`\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) |
  144. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | |void| | :ref:`set_extend_end_bone<class_SpringBoneSimulator3D_method_set_extend_end_bone>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
  146. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. | |void| | :ref:`set_gravity<class_SpringBoneSimulator3D_method_set_gravity>`\ (\ index\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) |
  148. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  149. | |void| | :ref:`set_gravity_damping_curve<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
  150. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | |void| | :ref:`set_gravity_direction<class_SpringBoneSimulator3D_method_set_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) |
  152. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | |void| | :ref:`set_individual_config<class_SpringBoneSimulator3D_method_set_individual_config>`\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) |
  154. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | |void| | :ref:`set_joint_drag<class_SpringBoneSimulator3D_method_set_joint_drag>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) |
  156. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | |void| | :ref:`set_joint_gravity<class_SpringBoneSimulator3D_method_set_joint_gravity>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) |
  158. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | |void| | :ref:`set_joint_gravity_direction<class_SpringBoneSimulator3D_method_set_joint_gravity_direction>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) |
  160. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | |void| | :ref:`set_joint_radius<class_SpringBoneSimulator3D_method_set_joint_radius>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) |
  162. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | |void| | :ref:`set_joint_rotation_axis<class_SpringBoneSimulator3D_method_set_joint_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>`\ ) |
  164. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | |void| | :ref:`set_joint_stiffness<class_SpringBoneSimulator3D_method_set_joint_stiffness>`\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) |
  166. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. | |void| | :ref:`set_radius<class_SpringBoneSimulator3D_method_set_radius>`\ (\ index\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) |
  168. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  169. | |void| | :ref:`set_radius_damping_curve<class_SpringBoneSimulator3D_method_set_radius_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
  170. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  171. | |void| | :ref:`set_root_bone<class_SpringBoneSimulator3D_method_set_root_bone>`\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) |
  172. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  173. | |void| | :ref:`set_root_bone_name<class_SpringBoneSimulator3D_method_set_root_bone_name>`\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) |
  174. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  175. | |void| | :ref:`set_rotation_axis<class_SpringBoneSimulator3D_method_set_rotation_axis>`\ (\ index\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>`\ ) |
  176. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  177. | |void| | :ref:`set_stiffness<class_SpringBoneSimulator3D_method_set_stiffness>`\ (\ index\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) |
  178. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  179. | |void| | :ref:`set_stiffness_damping_curve<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>`\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) |
  180. +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  181. .. rst-class:: classref-section-separator
  182. ----
  183. .. rst-class:: classref-descriptions-group
  184. Enumerations
  185. ------------
  186. .. _enum_SpringBoneSimulator3D_BoneDirection:
  187. .. rst-class:: classref-enumeration
  188. enum **BoneDirection**: :ref:`๐Ÿ”—<enum_SpringBoneSimulator3D_BoneDirection>`
  189. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_X:
  190. .. rst-class:: classref-enumeration-constant
  191. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_PLUS_X** = ``0``
  192. Enumerated value for the +X axis.
  193. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_X:
  194. .. rst-class:: classref-enumeration-constant
  195. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_MINUS_X** = ``1``
  196. Enumerated value for the -X axis.
  197. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_Y:
  198. .. rst-class:: classref-enumeration-constant
  199. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_PLUS_Y** = ``2``
  200. Enumerated value for the +Y axis.
  201. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_Y:
  202. .. rst-class:: classref-enumeration-constant
  203. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_MINUS_Y** = ``3``
  204. Enumerated value for the -Y axis.
  205. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_PLUS_Z:
  206. .. rst-class:: classref-enumeration-constant
  207. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_PLUS_Z** = ``4``
  208. Enumerated value for the +Z axis.
  209. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_MINUS_Z:
  210. .. rst-class:: classref-enumeration-constant
  211. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_MINUS_Z** = ``5``
  212. Enumerated value for the -Z axis.
  213. .. _class_SpringBoneSimulator3D_constant_BONE_DIRECTION_FROM_PARENT:
  214. .. rst-class:: classref-enumeration-constant
  215. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **BONE_DIRECTION_FROM_PARENT** = ``6``
  216. Enumerated value for the axis from a parent bone to the child bone.
  217. .. rst-class:: classref-item-separator
  218. ----
  219. .. _enum_SpringBoneSimulator3D_CenterFrom:
  220. .. rst-class:: classref-enumeration
  221. enum **CenterFrom**: :ref:`๐Ÿ”—<enum_SpringBoneSimulator3D_CenterFrom>`
  222. .. _class_SpringBoneSimulator3D_constant_CENTER_FROM_WORLD_ORIGIN:
  223. .. rst-class:: classref-enumeration-constant
  224. :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_WORLD_ORIGIN** = ``0``
  225. The world origin is defined as center.
  226. .. _class_SpringBoneSimulator3D_constant_CENTER_FROM_NODE:
  227. .. rst-class:: classref-enumeration-constant
  228. :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_NODE** = ``1``
  229. The :ref:`Node3D<class_Node3D>` specified by :ref:`set_center_node()<class_SpringBoneSimulator3D_method_set_center_node>` is defined as center.
  230. If :ref:`Node3D<class_Node3D>` is not found, the parent :ref:`Skeleton3D<class_Skeleton3D>` is treated as center.
  231. .. _class_SpringBoneSimulator3D_constant_CENTER_FROM_BONE:
  232. .. rst-class:: classref-enumeration-constant
  233. :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **CENTER_FROM_BONE** = ``2``
  234. The bone pose origin of the parent :ref:`Skeleton3D<class_Skeleton3D>` specified by :ref:`set_center_bone()<class_SpringBoneSimulator3D_method_set_center_bone>` is defined as center.
  235. If :ref:`Node3D<class_Node3D>` is not found, the parent :ref:`Skeleton3D<class_Skeleton3D>` is treated as center.
  236. .. rst-class:: classref-item-separator
  237. ----
  238. .. _enum_SpringBoneSimulator3D_RotationAxis:
  239. .. rst-class:: classref-enumeration
  240. enum **RotationAxis**: :ref:`๐Ÿ”—<enum_SpringBoneSimulator3D_RotationAxis>`
  241. .. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_X:
  242. .. rst-class:: classref-enumeration-constant
  243. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **ROTATION_AXIS_X** = ``0``
  244. Enumerated value for the rotation of the X axis.
  245. .. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_Y:
  246. .. rst-class:: classref-enumeration-constant
  247. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **ROTATION_AXIS_Y** = ``1``
  248. Enumerated value for the rotation of the Y axis.
  249. .. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_Z:
  250. .. rst-class:: classref-enumeration-constant
  251. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **ROTATION_AXIS_Z** = ``2``
  252. Enumerated value for the rotation of the Z axis.
  253. .. _class_SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL:
  254. .. rst-class:: classref-enumeration-constant
  255. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **ROTATION_AXIS_ALL** = ``3``
  256. Enumerated value for the unconstrained rotation.
  257. .. rst-class:: classref-section-separator
  258. ----
  259. .. rst-class:: classref-descriptions-group
  260. Property Descriptions
  261. ---------------------
  262. .. _class_SpringBoneSimulator3D_property_setting_count:
  263. .. rst-class:: classref-property
  264. :ref:`int<class_int>` **setting_count** = ``0`` :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_property_setting_count>`
  265. .. rst-class:: classref-property-setget
  266. - |void| **set_setting_count**\ (\ value\: :ref:`int<class_int>`\ )
  267. - :ref:`int<class_int>` **get_setting_count**\ (\ )
  268. The number of settings.
  269. .. rst-class:: classref-section-separator
  270. ----
  271. .. rst-class:: classref-descriptions-group
  272. Method Descriptions
  273. -------------------
  274. .. _class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled:
  275. .. rst-class:: classref-method
  276. :ref:`bool<class_bool>` **are_all_child_collisions_enabled**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>`
  277. Returns ``true`` if the all child :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>`\ s are contained in the collision list at ``index`` in the settings.
  278. .. rst-class:: classref-item-separator
  279. ----
  280. .. _class_SpringBoneSimulator3D_method_clear_collisions:
  281. .. rst-class:: classref-method
  282. |void| **clear_collisions**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_clear_collisions>`
  283. Clears all collisions from the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``false``.
  284. .. rst-class:: classref-item-separator
  285. ----
  286. .. _class_SpringBoneSimulator3D_method_clear_exclude_collisions:
  287. .. rst-class:: classref-method
  288. |void| **clear_exclude_collisions**\ (\ index\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_clear_exclude_collisions>`
  289. Clears all exclude collisions from the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``true``.
  290. .. rst-class:: classref-item-separator
  291. ----
  292. .. _class_SpringBoneSimulator3D_method_clear_settings:
  293. .. rst-class:: classref-method
  294. |void| **clear_settings**\ (\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_clear_settings>`
  295. Clears all settings.
  296. .. rst-class:: classref-item-separator
  297. ----
  298. .. _class_SpringBoneSimulator3D_method_get_center_bone:
  299. .. rst-class:: classref-method
  300. :ref:`int<class_int>` **get_center_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_center_bone>`
  301. Returns the center bone index of the bone chain.
  302. .. rst-class:: classref-item-separator
  303. ----
  304. .. _class_SpringBoneSimulator3D_method_get_center_bone_name:
  305. .. rst-class:: classref-method
  306. :ref:`String<class_String>` **get_center_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_center_bone_name>`
  307. Returns the center bone name of the bone chain.
  308. .. rst-class:: classref-item-separator
  309. ----
  310. .. _class_SpringBoneSimulator3D_method_get_center_from:
  311. .. rst-class:: classref-method
  312. :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>` **get_center_from**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_center_from>`
  313. Returns what the center originates from in the bone chain.
  314. .. rst-class:: classref-item-separator
  315. ----
  316. .. _class_SpringBoneSimulator3D_method_get_center_node:
  317. .. rst-class:: classref-method
  318. :ref:`NodePath<class_NodePath>` **get_center_node**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_center_node>`
  319. Returns the center node path of the bone chain.
  320. .. rst-class:: classref-item-separator
  321. ----
  322. .. _class_SpringBoneSimulator3D_method_get_collision_count:
  323. .. rst-class:: classref-method
  324. :ref:`int<class_int>` **get_collision_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_collision_count>`
  325. Returns the collision count of the bone chain's collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``false``.
  326. .. rst-class:: classref-item-separator
  327. ----
  328. .. _class_SpringBoneSimulator3D_method_get_collision_path:
  329. .. rst-class:: classref-method
  330. :ref:`NodePath<class_NodePath>` **get_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_collision_path>`
  331. Returns the node path of the :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` at ``collision`` in the bone chain's collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``false``.
  332. .. rst-class:: classref-item-separator
  333. ----
  334. .. _class_SpringBoneSimulator3D_method_get_drag:
  335. .. rst-class:: classref-method
  336. :ref:`float<class_float>` **get_drag**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_drag>`
  337. Returns the drag force damping curve of the bone chain.
  338. .. rst-class:: classref-item-separator
  339. ----
  340. .. _class_SpringBoneSimulator3D_method_get_drag_damping_curve:
  341. .. rst-class:: classref-method
  342. :ref:`Curve<class_Curve>` **get_drag_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_drag_damping_curve>`
  343. Returns the drag force damping curve of the bone chain.
  344. .. rst-class:: classref-item-separator
  345. ----
  346. .. _class_SpringBoneSimulator3D_method_get_end_bone:
  347. .. rst-class:: classref-method
  348. :ref:`int<class_int>` **get_end_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_end_bone>`
  349. Returns the end bone index of the bone chain.
  350. .. rst-class:: classref-item-separator
  351. ----
  352. .. _class_SpringBoneSimulator3D_method_get_end_bone_direction:
  353. .. rst-class:: classref-method
  354. :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>` **get_end_bone_direction**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_end_bone_direction>`
  355. Returns the end bone's tail direction of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
  356. .. rst-class:: classref-item-separator
  357. ----
  358. .. _class_SpringBoneSimulator3D_method_get_end_bone_length:
  359. .. rst-class:: classref-method
  360. :ref:`float<class_float>` **get_end_bone_length**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_end_bone_length>`
  361. Returns the end bone's tail length of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
  362. .. rst-class:: classref-item-separator
  363. ----
  364. .. _class_SpringBoneSimulator3D_method_get_end_bone_name:
  365. .. rst-class:: classref-method
  366. :ref:`String<class_String>` **get_end_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_end_bone_name>`
  367. Returns the end bone name of the bone chain.
  368. .. rst-class:: classref-item-separator
  369. ----
  370. .. _class_SpringBoneSimulator3D_method_get_exclude_collision_count:
  371. .. rst-class:: classref-method
  372. :ref:`int<class_int>` **get_exclude_collision_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_exclude_collision_count>`
  373. Returns the exclude collision count of the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``true``.
  374. .. rst-class:: classref-item-separator
  375. ----
  376. .. _class_SpringBoneSimulator3D_method_get_exclude_collision_path:
  377. .. rst-class:: classref-method
  378. :ref:`NodePath<class_NodePath>` **get_exclude_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_exclude_collision_path>`
  379. Returns the node path of the :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` at ``collision`` in the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``true``.
  380. .. rst-class:: classref-item-separator
  381. ----
  382. .. _class_SpringBoneSimulator3D_method_get_gravity:
  383. .. rst-class:: classref-method
  384. :ref:`float<class_float>` **get_gravity**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_gravity>`
  385. Returns the gravity amount of the bone chain.
  386. .. rst-class:: classref-item-separator
  387. ----
  388. .. _class_SpringBoneSimulator3D_method_get_gravity_damping_curve:
  389. .. rst-class:: classref-method
  390. :ref:`Curve<class_Curve>` **get_gravity_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_gravity_damping_curve>`
  391. Returns the gravity amount damping curve of the bone chain.
  392. .. rst-class:: classref-item-separator
  393. ----
  394. .. _class_SpringBoneSimulator3D_method_get_gravity_direction:
  395. .. rst-class:: classref-method
  396. :ref:`Vector3<class_Vector3>` **get_gravity_direction**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_gravity_direction>`
  397. Returns the gravity direction of the bone chain.
  398. .. rst-class:: classref-item-separator
  399. ----
  400. .. _class_SpringBoneSimulator3D_method_get_joint_bone:
  401. .. rst-class:: classref-method
  402. :ref:`int<class_int>` **get_joint_bone**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_bone>`
  403. Returns the bone index at ``joint`` in the bone chain's joint list.
  404. .. rst-class:: classref-item-separator
  405. ----
  406. .. _class_SpringBoneSimulator3D_method_get_joint_bone_name:
  407. .. rst-class:: classref-method
  408. :ref:`String<class_String>` **get_joint_bone_name**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_bone_name>`
  409. Returns the bone name at ``joint`` in the bone chain's joint list.
  410. .. rst-class:: classref-item-separator
  411. ----
  412. .. _class_SpringBoneSimulator3D_method_get_joint_count:
  413. .. rst-class:: classref-method
  414. :ref:`int<class_int>` **get_joint_count**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_count>`
  415. Returns the joint count of the bone chain's joint list.
  416. .. rst-class:: classref-item-separator
  417. ----
  418. .. _class_SpringBoneSimulator3D_method_get_joint_drag:
  419. .. rst-class:: classref-method
  420. :ref:`float<class_float>` **get_joint_drag**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_drag>`
  421. Returns the drag force at ``joint`` in the bone chain's joint list.
  422. .. rst-class:: classref-item-separator
  423. ----
  424. .. _class_SpringBoneSimulator3D_method_get_joint_gravity:
  425. .. rst-class:: classref-method
  426. :ref:`float<class_float>` **get_joint_gravity**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_gravity>`
  427. Returns the gravity amount at ``joint`` in the bone chain's joint list.
  428. .. rst-class:: classref-item-separator
  429. ----
  430. .. _class_SpringBoneSimulator3D_method_get_joint_gravity_direction:
  431. .. rst-class:: classref-method
  432. :ref:`Vector3<class_Vector3>` **get_joint_gravity_direction**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_gravity_direction>`
  433. Returns the gravity direction at ``joint`` in the bone chain's joint list.
  434. .. rst-class:: classref-item-separator
  435. ----
  436. .. _class_SpringBoneSimulator3D_method_get_joint_radius:
  437. .. rst-class:: classref-method
  438. :ref:`float<class_float>` **get_joint_radius**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_radius>`
  439. Returns the radius at ``joint`` in the bone chain's joint list.
  440. .. rst-class:: classref-item-separator
  441. ----
  442. .. _class_SpringBoneSimulator3D_method_get_joint_rotation_axis:
  443. .. rst-class:: classref-method
  444. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **get_joint_rotation_axis**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_rotation_axis>`
  445. Returns the rotation axis at ``joint`` in the bone chain's joint list.
  446. .. rst-class:: classref-item-separator
  447. ----
  448. .. _class_SpringBoneSimulator3D_method_get_joint_stiffness:
  449. .. rst-class:: classref-method
  450. :ref:`float<class_float>` **get_joint_stiffness**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_joint_stiffness>`
  451. Returns the stiffness force at ``joint`` in the bone chain's joint list.
  452. .. rst-class:: classref-item-separator
  453. ----
  454. .. _class_SpringBoneSimulator3D_method_get_radius:
  455. .. rst-class:: classref-method
  456. :ref:`float<class_float>` **get_radius**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_radius>`
  457. Returns the joint radius of the bone chain.
  458. .. rst-class:: classref-item-separator
  459. ----
  460. .. _class_SpringBoneSimulator3D_method_get_radius_damping_curve:
  461. .. rst-class:: classref-method
  462. :ref:`Curve<class_Curve>` **get_radius_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_radius_damping_curve>`
  463. Returns the joint radius damping curve of the bone chain.
  464. .. rst-class:: classref-item-separator
  465. ----
  466. .. _class_SpringBoneSimulator3D_method_get_root_bone:
  467. .. rst-class:: classref-method
  468. :ref:`int<class_int>` **get_root_bone**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_root_bone>`
  469. Returns the root bone index of the bone chain.
  470. .. rst-class:: classref-item-separator
  471. ----
  472. .. _class_SpringBoneSimulator3D_method_get_root_bone_name:
  473. .. rst-class:: classref-method
  474. :ref:`String<class_String>` **get_root_bone_name**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_root_bone_name>`
  475. Returns the root bone name of the bone chain.
  476. .. rst-class:: classref-item-separator
  477. ----
  478. .. _class_SpringBoneSimulator3D_method_get_rotation_axis:
  479. .. rst-class:: classref-method
  480. :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>` **get_rotation_axis**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_rotation_axis>`
  481. Returns the rotation axis of the bone chain.
  482. .. rst-class:: classref-item-separator
  483. ----
  484. .. _class_SpringBoneSimulator3D_method_get_stiffness:
  485. .. rst-class:: classref-method
  486. :ref:`float<class_float>` **get_stiffness**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_stiffness>`
  487. Returns the stiffness force of the bone chain.
  488. .. rst-class:: classref-item-separator
  489. ----
  490. .. _class_SpringBoneSimulator3D_method_get_stiffness_damping_curve:
  491. .. rst-class:: classref-method
  492. :ref:`Curve<class_Curve>` **get_stiffness_damping_curve**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_get_stiffness_damping_curve>`
  493. Returns the stiffness force damping curve of the bone chain.
  494. .. rst-class:: classref-item-separator
  495. ----
  496. .. _class_SpringBoneSimulator3D_method_is_config_individual:
  497. .. rst-class:: classref-method
  498. :ref:`bool<class_bool>` **is_config_individual**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_is_config_individual>`
  499. Returns ``true`` if the config can be edited individually for each joint.
  500. .. rst-class:: classref-item-separator
  501. ----
  502. .. _class_SpringBoneSimulator3D_method_is_end_bone_extended:
  503. .. rst-class:: classref-method
  504. :ref:`bool<class_bool>` **is_end_bone_extended**\ (\ index\: :ref:`int<class_int>`\ ) |const| :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_is_end_bone_extended>`
  505. Returns ``true`` if the end bone is extended to have the tail.
  506. .. rst-class:: classref-item-separator
  507. ----
  508. .. _class_SpringBoneSimulator3D_method_reset:
  509. .. rst-class:: classref-method
  510. |void| **reset**\ (\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_reset>`
  511. Resets a simulating state with respect to the current bone pose.
  512. It is useful to prevent the simulation result getting violent. For example, calling this immediately after a call to :ref:`AnimationPlayer.play()<class_AnimationPlayer_method_play>` without a fading, or within the previous :ref:`SkeletonModifier3D.modification_processed<class_SkeletonModifier3D_signal_modification_processed>` signal if it's condition changes significantly.
  513. .. rst-class:: classref-item-separator
  514. ----
  515. .. _class_SpringBoneSimulator3D_method_set_center_bone:
  516. .. rst-class:: classref-method
  517. |void| **set_center_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_center_bone>`
  518. Sets the center bone index of the bone chain.
  519. .. rst-class:: classref-item-separator
  520. ----
  521. .. _class_SpringBoneSimulator3D_method_set_center_bone_name:
  522. .. rst-class:: classref-method
  523. |void| **set_center_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_center_bone_name>`
  524. Sets the center bone name of the bone chain.
  525. .. rst-class:: classref-item-separator
  526. ----
  527. .. _class_SpringBoneSimulator3D_method_set_center_from:
  528. .. rst-class:: classref-method
  529. |void| **set_center_from**\ (\ index\: :ref:`int<class_int>`, center_from\: :ref:`CenterFrom<enum_SpringBoneSimulator3D_CenterFrom>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_center_from>`
  530. Sets what the center originates from in the bone chain.
  531. Bone movement is calculated based on the difference in relative distance between center and bone in the previous and next frames.
  532. For example, if the parent :ref:`Skeleton3D<class_Skeleton3D>` is used as the center, the bones are considered to have not moved if the :ref:`Skeleton3D<class_Skeleton3D>` moves in the world.
  533. In this case, only a change in the bone pose is considered to be a bone movement.
  534. .. rst-class:: classref-item-separator
  535. ----
  536. .. _class_SpringBoneSimulator3D_method_set_center_node:
  537. .. rst-class:: classref-method
  538. |void| **set_center_node**\ (\ index\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_center_node>`
  539. Sets the center node path of the bone chain.
  540. .. rst-class:: classref-item-separator
  541. ----
  542. .. _class_SpringBoneSimulator3D_method_set_collision_count:
  543. .. rst-class:: classref-method
  544. |void| **set_collision_count**\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_collision_count>`
  545. Sets the number of collisions in the collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``false``.
  546. .. rst-class:: classref-item-separator
  547. ----
  548. .. _class_SpringBoneSimulator3D_method_set_collision_path:
  549. .. rst-class:: classref-method
  550. |void| **set_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_collision_path>`
  551. Sets the node path of the :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` at ``collision`` in the bone chain's collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``false``.
  552. .. rst-class:: classref-item-separator
  553. ----
  554. .. _class_SpringBoneSimulator3D_method_set_drag:
  555. .. rst-class:: classref-method
  556. |void| **set_drag**\ (\ index\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_drag>`
  557. Sets the drag force of the bone chain. The greater the value, the more suppressed the wiggling.
  558. The value is scaled by :ref:`set_drag_damping_curve()<class_SpringBoneSimulator3D_method_set_drag_damping_curve>` and cached in each joint setting in the joint list.
  559. .. rst-class:: classref-item-separator
  560. ----
  561. .. _class_SpringBoneSimulator3D_method_set_drag_damping_curve:
  562. .. rst-class:: classref-method
  563. |void| **set_drag_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_drag_damping_curve>`
  564. Sets the drag force damping curve of the bone chain.
  565. .. rst-class:: classref-item-separator
  566. ----
  567. .. _class_SpringBoneSimulator3D_method_set_enable_all_child_collisions:
  568. .. rst-class:: classref-method
  569. |void| **set_enable_all_child_collisions**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_enable_all_child_collisions>`
  570. If sets ``enabled`` to ``true``, the all child :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>`\ s are collided and :ref:`set_exclude_collision_path()<class_SpringBoneSimulator3D_method_set_exclude_collision_path>` is enabled as an exclusion list at ``index`` in the settings.
  571. If sets ``enabled`` to ``false``, you need to manually register all valid collisions with :ref:`set_collision_path()<class_SpringBoneSimulator3D_method_set_collision_path>`.
  572. .. rst-class:: classref-item-separator
  573. ----
  574. .. _class_SpringBoneSimulator3D_method_set_end_bone:
  575. .. rst-class:: classref-method
  576. |void| **set_end_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_end_bone>`
  577. Sets the end bone index of the bone chain.
  578. .. rst-class:: classref-item-separator
  579. ----
  580. .. _class_SpringBoneSimulator3D_method_set_end_bone_direction:
  581. .. rst-class:: classref-method
  582. |void| **set_end_bone_direction**\ (\ index\: :ref:`int<class_int>`, bone_direction\: :ref:`BoneDirection<enum_SpringBoneSimulator3D_BoneDirection>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_end_bone_direction>`
  583. Sets the end bone tail direction of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
  584. .. rst-class:: classref-item-separator
  585. ----
  586. .. _class_SpringBoneSimulator3D_method_set_end_bone_length:
  587. .. rst-class:: classref-method
  588. |void| **set_end_bone_length**\ (\ index\: :ref:`int<class_int>`, length\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_end_bone_length>`
  589. Sets the end bone tail length of the bone chain when :ref:`is_end_bone_extended()<class_SpringBoneSimulator3D_method_is_end_bone_extended>` is ``true``.
  590. .. rst-class:: classref-item-separator
  591. ----
  592. .. _class_SpringBoneSimulator3D_method_set_end_bone_name:
  593. .. rst-class:: classref-method
  594. |void| **set_end_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_end_bone_name>`
  595. Sets the end bone name of the bone chain.
  596. \ **Note:** End bone must be the root bone or a child of the root bone. If they are the same, the tail must be extended by :ref:`set_extend_end_bone()<class_SpringBoneSimulator3D_method_set_extend_end_bone>` to jiggle the bone.
  597. .. rst-class:: classref-item-separator
  598. ----
  599. .. _class_SpringBoneSimulator3D_method_set_exclude_collision_count:
  600. .. rst-class:: classref-method
  601. |void| **set_exclude_collision_count**\ (\ index\: :ref:`int<class_int>`, count\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_exclude_collision_count>`
  602. Sets the number of exclude collisions in the exclude collision list at ``index`` in the settings when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``true``.
  603. .. rst-class:: classref-item-separator
  604. ----
  605. .. _class_SpringBoneSimulator3D_method_set_exclude_collision_path:
  606. .. rst-class:: classref-method
  607. |void| **set_exclude_collision_path**\ (\ index\: :ref:`int<class_int>`, collision\: :ref:`int<class_int>`, node_path\: :ref:`NodePath<class_NodePath>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_exclude_collision_path>`
  608. Sets the node path of the :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` at ``collision`` in the bone chain's exclude collision list when :ref:`are_all_child_collisions_enabled()<class_SpringBoneSimulator3D_method_are_all_child_collisions_enabled>` is ``true``.
  609. .. rst-class:: classref-item-separator
  610. ----
  611. .. _class_SpringBoneSimulator3D_method_set_extend_end_bone:
  612. .. rst-class:: classref-method
  613. |void| **set_extend_end_bone**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_extend_end_bone>`
  614. If ``enabled`` is ``true``, the end bone is extended to have the tail.
  615. The extended tail config is allocated to the last element in the joint list.
  616. In other words, if you set ``enabled`` is ``false``, the config of last element in the joint list has no effect in the simulated result.
  617. .. rst-class:: classref-item-separator
  618. ----
  619. .. _class_SpringBoneSimulator3D_method_set_gravity:
  620. .. rst-class:: classref-method
  621. |void| **set_gravity**\ (\ index\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_gravity>`
  622. Sets the gravity amount of the bone chain. This value is not an acceleration, but a constant velocity of movement in :ref:`set_gravity_direction()<class_SpringBoneSimulator3D_method_set_gravity_direction>`.
  623. If ``gravity`` is not ``0``, the modified pose will not return to the original pose since it is always affected by gravity.
  624. The value is scaled by :ref:`set_gravity_damping_curve()<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>` and cached in each joint setting in the joint list.
  625. .. rst-class:: classref-item-separator
  626. ----
  627. .. _class_SpringBoneSimulator3D_method_set_gravity_damping_curve:
  628. .. rst-class:: classref-method
  629. |void| **set_gravity_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_gravity_damping_curve>`
  630. Sets the gravity amount damping curve of the bone chain.
  631. .. rst-class:: classref-item-separator
  632. ----
  633. .. _class_SpringBoneSimulator3D_method_set_gravity_direction:
  634. .. rst-class:: classref-method
  635. |void| **set_gravity_direction**\ (\ index\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_gravity_direction>`
  636. Sets the gravity direction of the bone chain. This value is internally normalized and then multiplied by :ref:`set_gravity()<class_SpringBoneSimulator3D_method_set_gravity>`.
  637. The value is cached in each joint setting in the joint list.
  638. .. rst-class:: classref-item-separator
  639. ----
  640. .. _class_SpringBoneSimulator3D_method_set_individual_config:
  641. .. rst-class:: classref-method
  642. |void| **set_individual_config**\ (\ index\: :ref:`int<class_int>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_individual_config>`
  643. If ``enabled`` is ``true``, the config can be edited individually for each joint.
  644. .. rst-class:: classref-item-separator
  645. ----
  646. .. _class_SpringBoneSimulator3D_method_set_joint_drag:
  647. .. rst-class:: classref-method
  648. |void| **set_joint_drag**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, drag\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_drag>`
  649. Sets the drag force at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  650. .. rst-class:: classref-item-separator
  651. ----
  652. .. _class_SpringBoneSimulator3D_method_set_joint_gravity:
  653. .. rst-class:: classref-method
  654. |void| **set_joint_gravity**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_gravity>`
  655. Sets the gravity amount at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  656. .. rst-class:: classref-item-separator
  657. ----
  658. .. _class_SpringBoneSimulator3D_method_set_joint_gravity_direction:
  659. .. rst-class:: classref-method
  660. |void| **set_joint_gravity_direction**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, gravity_direction\: :ref:`Vector3<class_Vector3>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_gravity_direction>`
  661. Sets the gravity direction at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  662. .. rst-class:: classref-item-separator
  663. ----
  664. .. _class_SpringBoneSimulator3D_method_set_joint_radius:
  665. .. rst-class:: classref-method
  666. |void| **set_joint_radius**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_radius>`
  667. Sets the joint radius at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  668. .. rst-class:: classref-item-separator
  669. ----
  670. .. _class_SpringBoneSimulator3D_method_set_joint_rotation_axis:
  671. .. rst-class:: classref-method
  672. |void| **set_joint_rotation_axis**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_rotation_axis>`
  673. Sets the rotation axis at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  674. .. rst-class:: classref-item-separator
  675. ----
  676. .. _class_SpringBoneSimulator3D_method_set_joint_stiffness:
  677. .. rst-class:: classref-method
  678. |void| **set_joint_stiffness**\ (\ index\: :ref:`int<class_int>`, joint\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_joint_stiffness>`
  679. Sets the stiffness force at ``joint`` in the bone chain's joint list when :ref:`is_config_individual()<class_SpringBoneSimulator3D_method_is_config_individual>` is ``true``.
  680. .. rst-class:: classref-item-separator
  681. ----
  682. .. _class_SpringBoneSimulator3D_method_set_radius:
  683. .. rst-class:: classref-method
  684. |void| **set_radius**\ (\ index\: :ref:`int<class_int>`, radius\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_radius>`
  685. Sets the joint radius of the bone chain. It is used to move and slide with the :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>` in the collision list.
  686. The value is scaled by :ref:`set_radius_damping_curve()<class_SpringBoneSimulator3D_method_set_radius_damping_curve>` and cached in each joint setting in the joint list.
  687. .. rst-class:: classref-item-separator
  688. ----
  689. .. _class_SpringBoneSimulator3D_method_set_radius_damping_curve:
  690. .. rst-class:: classref-method
  691. |void| **set_radius_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_radius_damping_curve>`
  692. Sets the joint radius damping curve of the bone chain.
  693. .. rst-class:: classref-item-separator
  694. ----
  695. .. _class_SpringBoneSimulator3D_method_set_root_bone:
  696. .. rst-class:: classref-method
  697. |void| **set_root_bone**\ (\ index\: :ref:`int<class_int>`, bone\: :ref:`int<class_int>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_root_bone>`
  698. Sets the root bone index of the bone chain.
  699. .. rst-class:: classref-item-separator
  700. ----
  701. .. _class_SpringBoneSimulator3D_method_set_root_bone_name:
  702. .. rst-class:: classref-method
  703. |void| **set_root_bone_name**\ (\ index\: :ref:`int<class_int>`, bone_name\: :ref:`String<class_String>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_root_bone_name>`
  704. Sets the root bone name of the bone chain.
  705. .. rst-class:: classref-item-separator
  706. ----
  707. .. _class_SpringBoneSimulator3D_method_set_rotation_axis:
  708. .. rst-class:: classref-method
  709. |void| **set_rotation_axis**\ (\ index\: :ref:`int<class_int>`, axis\: :ref:`RotationAxis<enum_SpringBoneSimulator3D_RotationAxis>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_rotation_axis>`
  710. Sets the rotation axis of the bone chain. If sets a specific axis, it acts like a hinge joint.
  711. The value is cached in each joint setting in the joint list.
  712. \ **Note:** The rotation axis and the forward vector shouldn't be colinear to avoid unintended rotation since **SpringBoneSimulator3D** does not factor in twisting forces.
  713. .. rst-class:: classref-item-separator
  714. ----
  715. .. _class_SpringBoneSimulator3D_method_set_stiffness:
  716. .. rst-class:: classref-method
  717. |void| **set_stiffness**\ (\ index\: :ref:`int<class_int>`, stiffness\: :ref:`float<class_float>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_stiffness>`
  718. Sets the stiffness force of the bone chain. The greater the value, the faster it recovers to its initial pose.
  719. If ``stiffness`` is ``0``, the modified pose will not return to the original pose.
  720. The value is scaled by :ref:`set_stiffness_damping_curve()<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>` and cached in each joint setting in the joint list.
  721. .. rst-class:: classref-item-separator
  722. ----
  723. .. _class_SpringBoneSimulator3D_method_set_stiffness_damping_curve:
  724. .. rst-class:: classref-method
  725. |void| **set_stiffness_damping_curve**\ (\ index\: :ref:`int<class_int>`, curve\: :ref:`Curve<class_Curve>`\ ) :ref:`๐Ÿ”—<class_SpringBoneSimulator3D_method_set_stiffness_damping_curve>`
  726. Sets the stiffness force damping curve of the bone chain.
  727. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  728. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  729. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  730. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  731. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  732. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  733. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  734. .. |void| replace:: :abbr:`void (No return value.)`