class_gltfphysicsbody.rst 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.2/modules/gltf/doc_classes/GLTFPhysicsBody.xml.
  6. .. _class_GLTFPhysicsBody:
  7. GLTFPhysicsBody
  8. ===============
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Represents a GLTF physics body.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Represents a physics body as defined by the ``OMI_physics_body`` GLTF extension. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future.
  15. .. rst-class:: classref-introduction-group
  16. Tutorials
  17. ---------
  18. - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
  19. - `OMI_physics_body GLTF extension <https://github.com/omigroup/gltf-extensions/tree/main/extensions/2.0/OMI_physics_body>`__
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  26. | :ref:`Vector3<class_Vector3>` | :ref:`angular_velocity<class_GLTFPhysicsBody_property_angular_velocity>` | ``Vector3(0, 0, 0)`` |
  27. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  28. | :ref:`String<class_String>` | :ref:`body_type<class_GLTFPhysicsBody_property_body_type>` | ``"static"`` |
  29. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  30. | :ref:`Vector3<class_Vector3>` | :ref:`center_of_mass<class_GLTFPhysicsBody_property_center_of_mass>` | ``Vector3(0, 0, 0)`` |
  31. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  32. | :ref:`Basis<class_Basis>` | :ref:`inertia_tensor<class_GLTFPhysicsBody_property_inertia_tensor>` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` |
  33. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  34. | :ref:`Vector3<class_Vector3>` | :ref:`linear_velocity<class_GLTFPhysicsBody_property_linear_velocity>` | ``Vector3(0, 0, 0)`` |
  35. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`mass<class_GLTFPhysicsBody_property_mass>` | ``1.0`` |
  37. +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+
  38. .. rst-class:: classref-reftable-group
  39. Methods
  40. -------
  41. .. table::
  42. :widths: auto
  43. +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` | :ref:`from_dictionary<class_GLTFPhysicsBody_method_from_dictionary>` **(** :ref:`Dictionary<class_Dictionary>` dictionary **)** |static| |
  45. +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` | :ref:`from_node<class_GLTFPhysicsBody_method_from_node>` **(** :ref:`CollisionObject3D<class_CollisionObject3D>` body_node **)** |static| |
  47. +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Dictionary<class_Dictionary>` | :ref:`to_dictionary<class_GLTFPhysicsBody_method_to_dictionary>` **(** **)** |const| |
  49. +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`CollisionObject3D<class_CollisionObject3D>` | :ref:`to_node<class_GLTFPhysicsBody_method_to_node>` **(** **)** |const| |
  51. +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  52. .. rst-class:: classref-section-separator
  53. ----
  54. .. rst-class:: classref-descriptions-group
  55. Property Descriptions
  56. ---------------------
  57. .. _class_GLTFPhysicsBody_property_angular_velocity:
  58. .. rst-class:: classref-property
  59. :ref:`Vector3<class_Vector3>` **angular_velocity** = ``Vector3(0, 0, 0)``
  60. .. rst-class:: classref-property-setget
  61. - void **set_angular_velocity** **(** :ref:`Vector3<class_Vector3>` value **)**
  62. - :ref:`Vector3<class_Vector3>` **get_angular_velocity** **(** **)**
  63. The angular velocity of the physics body, in radians per second. This is only used when the body type is "rigid" or "vehicle".
  64. .. rst-class:: classref-item-separator
  65. ----
  66. .. _class_GLTFPhysicsBody_property_body_type:
  67. .. rst-class:: classref-property
  68. :ref:`String<class_String>` **body_type** = ``"static"``
  69. .. rst-class:: classref-property-setget
  70. - void **set_body_type** **(** :ref:`String<class_String>` value **)**
  71. - :ref:`String<class_String>` **get_body_type** **(** **)**
  72. The type of the body. When importing, this controls what type of :ref:`CollisionObject3D<class_CollisionObject3D>` node Godot should generate. Valid values are "static", "kinematic", "character", "rigid", "vehicle", and "trigger".
  73. .. rst-class:: classref-item-separator
  74. ----
  75. .. _class_GLTFPhysicsBody_property_center_of_mass:
  76. .. rst-class:: classref-property
  77. :ref:`Vector3<class_Vector3>` **center_of_mass** = ``Vector3(0, 0, 0)``
  78. .. rst-class:: classref-property-setget
  79. - void **set_center_of_mass** **(** :ref:`Vector3<class_Vector3>` value **)**
  80. - :ref:`Vector3<class_Vector3>` **get_center_of_mass** **(** **)**
  81. The center of mass of the body, in meters. This is in local space relative to the body. By default, the center of the mass is the body's origin.
  82. .. rst-class:: classref-item-separator
  83. ----
  84. .. _class_GLTFPhysicsBody_property_inertia_tensor:
  85. .. rst-class:: classref-property
  86. :ref:`Basis<class_Basis>` **inertia_tensor** = ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)``
  87. .. rst-class:: classref-property-setget
  88. - void **set_inertia_tensor** **(** :ref:`Basis<class_Basis>` value **)**
  89. - :ref:`Basis<class_Basis>` **get_inertia_tensor** **(** **)**
  90. The inertia tensor of the physics body, in kilogram meter squared (kg⋅m²). This is only used when the body type is "rigid" or "vehicle".
  91. When converted to a Godot :ref:`RigidBody3D<class_RigidBody3D>` node, if this value is zero, then the inertia will be calculated automatically.
  92. .. rst-class:: classref-item-separator
  93. ----
  94. .. _class_GLTFPhysicsBody_property_linear_velocity:
  95. .. rst-class:: classref-property
  96. :ref:`Vector3<class_Vector3>` **linear_velocity** = ``Vector3(0, 0, 0)``
  97. .. rst-class:: classref-property-setget
  98. - void **set_linear_velocity** **(** :ref:`Vector3<class_Vector3>` value **)**
  99. - :ref:`Vector3<class_Vector3>` **get_linear_velocity** **(** **)**
  100. The linear velocity of the physics body, in meters per second. This is only used when the body type is "rigid" or "vehicle".
  101. .. rst-class:: classref-item-separator
  102. ----
  103. .. _class_GLTFPhysicsBody_property_mass:
  104. .. rst-class:: classref-property
  105. :ref:`float<class_float>` **mass** = ``1.0``
  106. .. rst-class:: classref-property-setget
  107. - void **set_mass** **(** :ref:`float<class_float>` value **)**
  108. - :ref:`float<class_float>` **get_mass** **(** **)**
  109. The mass of the physics body, in kilograms. This is only used when the body type is "rigid" or "vehicle".
  110. .. rst-class:: classref-section-separator
  111. ----
  112. .. rst-class:: classref-descriptions-group
  113. Method Descriptions
  114. -------------------
  115. .. _class_GLTFPhysicsBody_method_from_dictionary:
  116. .. rst-class:: classref-method
  117. :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` **from_dictionary** **(** :ref:`Dictionary<class_Dictionary>` dictionary **)** |static|
  118. Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary<class_Dictionary>`.
  119. .. rst-class:: classref-item-separator
  120. ----
  121. .. _class_GLTFPhysicsBody_method_from_node:
  122. .. rst-class:: classref-method
  123. :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` **from_node** **(** :ref:`CollisionObject3D<class_CollisionObject3D>` body_node **)** |static|
  124. Create a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObject3D<class_CollisionObject3D>` node.
  125. .. rst-class:: classref-item-separator
  126. ----
  127. .. _class_GLTFPhysicsBody_method_to_dictionary:
  128. .. rst-class:: classref-method
  129. :ref:`Dictionary<class_Dictionary>` **to_dictionary** **(** **)** |const|
  130. Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary<class_Dictionary>`.
  131. .. rst-class:: classref-item-separator
  132. ----
  133. .. _class_GLTFPhysicsBody_method_to_node:
  134. .. rst-class:: classref-method
  135. :ref:`CollisionObject3D<class_CollisionObject3D>` **to_node** **(** **)** |const|
  136. Converts this GLTFPhysicsBody instance into a Godot :ref:`CollisionObject3D<class_CollisionObject3D>` node.
  137. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  138. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  139. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  140. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  141. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  142. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  143. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`