class_springbonesimulator3d.rst 92 KB

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