class_physicalbone3d.rst 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the PhysicalBone3D.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_PhysicalBone3D:
  6. PhysicalBone3D
  7. ==============
  8. **Inherits:** :ref:`PhysicsBody3D<class_PhysicsBody3D>` **<** :ref:`CollisionObject3D<class_CollisionObject3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  9. Properties
  10. ----------
  11. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  12. | :ref:`float<class_float>` | :ref:`angular_damp<class_PhysicalBone3D_property_angular_damp>` | ``0.0`` |
  13. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  14. | :ref:`DampMode<enum_PhysicalBone3D_DampMode>` | :ref:`angular_damp_mode<class_PhysicalBone3D_property_angular_damp_mode>` | ``0`` |
  15. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  16. | :ref:`Transform3D<class_Transform3D>` | :ref:`body_offset<class_PhysicalBone3D_property_body_offset>` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
  17. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  18. | :ref:`float<class_float>` | :ref:`bounce<class_PhysicalBone3D_property_bounce>` | ``0.0`` |
  19. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  20. | :ref:`bool<class_bool>` | :ref:`can_sleep<class_PhysicalBone3D_property_can_sleep>` | ``true`` |
  21. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  22. | :ref:`float<class_float>` | :ref:`friction<class_PhysicalBone3D_property_friction>` | ``1.0`` |
  23. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  24. | :ref:`float<class_float>` | :ref:`gravity_scale<class_PhysicalBone3D_property_gravity_scale>` | ``1.0`` |
  25. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  26. | :ref:`Transform3D<class_Transform3D>` | :ref:`joint_offset<class_PhysicalBone3D_property_joint_offset>` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
  27. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  28. | :ref:`Vector3<class_Vector3>` | :ref:`joint_rotation<class_PhysicalBone3D_property_joint_rotation>` | ``Vector3(0, 0, 0)`` |
  29. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  30. | :ref:`JointType<enum_PhysicalBone3D_JointType>` | :ref:`joint_type<class_PhysicalBone3D_property_joint_type>` | ``0`` |
  31. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  32. | :ref:`float<class_float>` | :ref:`linear_damp<class_PhysicalBone3D_property_linear_damp>` | ``0.0`` |
  33. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  34. | :ref:`DampMode<enum_PhysicalBone3D_DampMode>` | :ref:`linear_damp_mode<class_PhysicalBone3D_property_linear_damp_mode>` | ``0`` |
  35. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`mass<class_PhysicalBone3D_property_mass>` | ``1.0`` |
  37. +-------------------------------------------------+---------------------------------------------------------------------------+-----------------------------------------------------+
  38. Methods
  39. -------
  40. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | void | :ref:`apply_central_impulse<class_PhysicalBone3D_method_apply_central_impulse>` **(** :ref:`Vector3<class_Vector3>` impulse **)** |
  42. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | void | :ref:`apply_impulse<class_PhysicalBone3D_method_apply_impulse>` **(** :ref:`Vector3<class_Vector3>` impulse, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)** |
  44. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`int<class_int>` | :ref:`get_bone_id<class_PhysicalBone3D_method_get_bone_id>` **(** **)** |const| |
  46. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`bool<class_bool>` | :ref:`get_simulate_physics<class_PhysicalBone3D_method_get_simulate_physics>` **(** **)** |
  48. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`bool<class_bool>` | :ref:`is_simulating_physics<class_PhysicalBone3D_method_is_simulating_physics>` **(** **)** |
  50. +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. Enumerations
  52. ------------
  53. .. _enum_PhysicalBone3D_DampMode:
  54. .. _class_PhysicalBone3D_constant_DAMP_MODE_COMBINE:
  55. .. _class_PhysicalBone3D_constant_DAMP_MODE_REPLACE:
  56. enum **DampMode**:
  57. - **DAMP_MODE_COMBINE** = **0** --- In this mode, the body's damping value is added to any value set in areas or the default value.
  58. - **DAMP_MODE_REPLACE** = **1** --- In this mode, the body's damping value replaces any value set in areas or the default value.
  59. ----
  60. .. _enum_PhysicalBone3D_JointType:
  61. .. _class_PhysicalBone3D_constant_JOINT_TYPE_NONE:
  62. .. _class_PhysicalBone3D_constant_JOINT_TYPE_PIN:
  63. .. _class_PhysicalBone3D_constant_JOINT_TYPE_CONE:
  64. .. _class_PhysicalBone3D_constant_JOINT_TYPE_HINGE:
  65. .. _class_PhysicalBone3D_constant_JOINT_TYPE_SLIDER:
  66. .. _class_PhysicalBone3D_constant_JOINT_TYPE_6DOF:
  67. enum **JointType**:
  68. - **JOINT_TYPE_NONE** = **0**
  69. - **JOINT_TYPE_PIN** = **1**
  70. - **JOINT_TYPE_CONE** = **2**
  71. - **JOINT_TYPE_HINGE** = **3**
  72. - **JOINT_TYPE_SLIDER** = **4**
  73. - **JOINT_TYPE_6DOF** = **5**
  74. Property Descriptions
  75. ---------------------
  76. .. _class_PhysicalBone3D_property_angular_damp:
  77. - :ref:`float<class_float>` **angular_damp**
  78. +-----------+-------------------------+
  79. | *Default* | ``0.0`` |
  80. +-----------+-------------------------+
  81. | *Setter* | set_angular_damp(value) |
  82. +-----------+-------------------------+
  83. | *Getter* | get_angular_damp() |
  84. +-----------+-------------------------+
  85. Damps the body's rotation. By default, the body will use the **Default Angular Damp** in **Project > Project Settings > Physics > 3d** or any value override set by an :ref:`Area3D<class_Area3D>` the body is in. Depending on :ref:`angular_damp_mode<class_PhysicalBone3D_property_angular_damp_mode>`, you can set :ref:`angular_damp<class_PhysicalBone3D_property_angular_damp>` to be added to or to replace the body's damping value.
  86. See :ref:`ProjectSettings.physics/3d/default_angular_damp<class_ProjectSettings_property_physics/3d/default_angular_damp>` for more details about damping.
  87. ----
  88. .. _class_PhysicalBone3D_property_angular_damp_mode:
  89. - :ref:`DampMode<enum_PhysicalBone3D_DampMode>` **angular_damp_mode**
  90. +-----------+------------------------------+
  91. | *Default* | ``0`` |
  92. +-----------+------------------------------+
  93. | *Setter* | set_angular_damp_mode(value) |
  94. +-----------+------------------------------+
  95. | *Getter* | get_angular_damp_mode() |
  96. +-----------+------------------------------+
  97. Defines how :ref:`angular_damp<class_PhysicalBone3D_property_angular_damp>` is applied. See :ref:`DampMode<enum_PhysicalBone3D_DampMode>` for possible values.
  98. ----
  99. .. _class_PhysicalBone3D_property_body_offset:
  100. - :ref:`Transform3D<class_Transform3D>` **body_offset**
  101. +-----------+-----------------------------------------------------+
  102. | *Default* | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
  103. +-----------+-----------------------------------------------------+
  104. | *Setter* | set_body_offset(value) |
  105. +-----------+-----------------------------------------------------+
  106. | *Getter* | get_body_offset() |
  107. +-----------+-----------------------------------------------------+
  108. Sets the body's transform.
  109. ----
  110. .. _class_PhysicalBone3D_property_bounce:
  111. - :ref:`float<class_float>` **bounce**
  112. +-----------+-------------------+
  113. | *Default* | ``0.0`` |
  114. +-----------+-------------------+
  115. | *Setter* | set_bounce(value) |
  116. +-----------+-------------------+
  117. | *Getter* | get_bounce() |
  118. +-----------+-------------------+
  119. The body's bounciness. Values range from ``0`` (no bounce) to ``1`` (full bounciness).
  120. ----
  121. .. _class_PhysicalBone3D_property_can_sleep:
  122. - :ref:`bool<class_bool>` **can_sleep**
  123. +-----------+----------------------+
  124. | *Default* | ``true`` |
  125. +-----------+----------------------+
  126. | *Setter* | set_can_sleep(value) |
  127. +-----------+----------------------+
  128. | *Getter* | is_able_to_sleep() |
  129. +-----------+----------------------+
  130. If ``true``, the body is deactivated when there is no movement, so it will not take part in the simulation until it is awakened by an external force.
  131. ----
  132. .. _class_PhysicalBone3D_property_friction:
  133. - :ref:`float<class_float>` **friction**
  134. +-----------+---------------------+
  135. | *Default* | ``1.0`` |
  136. +-----------+---------------------+
  137. | *Setter* | set_friction(value) |
  138. +-----------+---------------------+
  139. | *Getter* | get_friction() |
  140. +-----------+---------------------+
  141. The body's friction, from ``0`` (frictionless) to ``1`` (max friction).
  142. ----
  143. .. _class_PhysicalBone3D_property_gravity_scale:
  144. - :ref:`float<class_float>` **gravity_scale**
  145. +-----------+--------------------------+
  146. | *Default* | ``1.0`` |
  147. +-----------+--------------------------+
  148. | *Setter* | set_gravity_scale(value) |
  149. +-----------+--------------------------+
  150. | *Getter* | get_gravity_scale() |
  151. +-----------+--------------------------+
  152. This is multiplied by the global 3D gravity setting found in **Project > Project Settings > Physics > 3d** to produce the body's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
  153. ----
  154. .. _class_PhysicalBone3D_property_joint_offset:
  155. - :ref:`Transform3D<class_Transform3D>` **joint_offset**
  156. +-----------+-----------------------------------------------------+
  157. | *Default* | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
  158. +-----------+-----------------------------------------------------+
  159. | *Setter* | set_joint_offset(value) |
  160. +-----------+-----------------------------------------------------+
  161. | *Getter* | get_joint_offset() |
  162. +-----------+-----------------------------------------------------+
  163. Sets the joint's transform.
  164. ----
  165. .. _class_PhysicalBone3D_property_joint_rotation:
  166. - :ref:`Vector3<class_Vector3>` **joint_rotation**
  167. +-----------+---------------------------+
  168. | *Default* | ``Vector3(0, 0, 0)`` |
  169. +-----------+---------------------------+
  170. | *Setter* | set_joint_rotation(value) |
  171. +-----------+---------------------------+
  172. | *Getter* | get_joint_rotation() |
  173. +-----------+---------------------------+
  174. Sets the joint's rotation in radians.
  175. ----
  176. .. _class_PhysicalBone3D_property_joint_type:
  177. - :ref:`JointType<enum_PhysicalBone3D_JointType>` **joint_type**
  178. +-----------+-----------------------+
  179. | *Default* | ``0`` |
  180. +-----------+-----------------------+
  181. | *Setter* | set_joint_type(value) |
  182. +-----------+-----------------------+
  183. | *Getter* | get_joint_type() |
  184. +-----------+-----------------------+
  185. Sets the joint type. See :ref:`JointType<enum_PhysicalBone3D_JointType>` for possible values.
  186. ----
  187. .. _class_PhysicalBone3D_property_linear_damp:
  188. - :ref:`float<class_float>` **linear_damp**
  189. +-----------+------------------------+
  190. | *Default* | ``0.0`` |
  191. +-----------+------------------------+
  192. | *Setter* | set_linear_damp(value) |
  193. +-----------+------------------------+
  194. | *Getter* | get_linear_damp() |
  195. +-----------+------------------------+
  196. Damps the body's movement. By default, the body will use the **Default Linear Damp** in **Project > Project Settings > Physics > 3d** or any value override set by an :ref:`Area3D<class_Area3D>` the body is in. Depending on :ref:`linear_damp_mode<class_PhysicalBone3D_property_linear_damp_mode>`, you can set :ref:`linear_damp<class_PhysicalBone3D_property_linear_damp>` to be added to or to replace the body's damping value.
  197. See :ref:`ProjectSettings.physics/3d/default_linear_damp<class_ProjectSettings_property_physics/3d/default_linear_damp>` for more details about damping.
  198. ----
  199. .. _class_PhysicalBone3D_property_linear_damp_mode:
  200. - :ref:`DampMode<enum_PhysicalBone3D_DampMode>` **linear_damp_mode**
  201. +-----------+-----------------------------+
  202. | *Default* | ``0`` |
  203. +-----------+-----------------------------+
  204. | *Setter* | set_linear_damp_mode(value) |
  205. +-----------+-----------------------------+
  206. | *Getter* | get_linear_damp_mode() |
  207. +-----------+-----------------------------+
  208. Defines how :ref:`linear_damp<class_PhysicalBone3D_property_linear_damp>` is applied. See :ref:`DampMode<enum_PhysicalBone3D_DampMode>` for possible values.
  209. ----
  210. .. _class_PhysicalBone3D_property_mass:
  211. - :ref:`float<class_float>` **mass**
  212. +-----------+-----------------+
  213. | *Default* | ``1.0`` |
  214. +-----------+-----------------+
  215. | *Setter* | set_mass(value) |
  216. +-----------+-----------------+
  217. | *Getter* | get_mass() |
  218. +-----------+-----------------+
  219. The body's mass.
  220. Method Descriptions
  221. -------------------
  222. .. _class_PhysicalBone3D_method_apply_central_impulse:
  223. - void **apply_central_impulse** **(** :ref:`Vector3<class_Vector3>` impulse **)**
  224. ----
  225. .. _class_PhysicalBone3D_method_apply_impulse:
  226. - void **apply_impulse** **(** :ref:`Vector3<class_Vector3>` impulse, :ref:`Vector3<class_Vector3>` position=Vector3(0, 0, 0) **)**
  227. ----
  228. .. _class_PhysicalBone3D_method_get_bone_id:
  229. - :ref:`int<class_int>` **get_bone_id** **(** **)** |const|
  230. ----
  231. .. _class_PhysicalBone3D_method_get_simulate_physics:
  232. - :ref:`bool<class_bool>` **get_simulate_physics** **(** **)**
  233. ----
  234. .. _class_PhysicalBone3D_method_is_simulating_physics:
  235. - :ref:`bool<class_bool>` **is_simulating_physics** **(** **)**
  236. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  237. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  238. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  239. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  240. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  241. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`