class_springbonesimulator3d.rst 86 KB

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