class_gltfphysicsshape.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  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.1/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.1/modules/gltf/doc_classes/GLTFPhysicsShape.xml.
  6. .. _class_GLTFPhysicsShape:
  7. GLTFPhysicsShape
  8. ================
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Represents a GLTF physics shape.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Represents a physics shape as defined by the ``OMI_collider`` 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. - `OMI_collider GLTF extension <https://github.com/omigroup/gltf-extensions/tree/main/extensions/2.0/OMI_collider>`__
  19. .. rst-class:: classref-reftable-group
  20. Properties
  21. ----------
  22. .. table::
  23. :widths: auto
  24. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  25. | :ref:`float<class_float>` | :ref:`height<class_GLTFPhysicsShape_property_height>` | ``2.0`` |
  26. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  27. | :ref:`ImporterMesh<class_ImporterMesh>` | :ref:`importer_mesh<class_GLTFPhysicsShape_property_importer_mesh>` | |
  28. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  29. | :ref:`bool<class_bool>` | :ref:`is_trigger<class_GLTFPhysicsShape_property_is_trigger>` | ``false`` |
  30. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  31. | :ref:`int<class_int>` | :ref:`mesh_index<class_GLTFPhysicsShape_property_mesh_index>` | ``-1`` |
  32. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  33. | :ref:`float<class_float>` | :ref:`radius<class_GLTFPhysicsShape_property_radius>` | ``0.5`` |
  34. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  35. | :ref:`String<class_String>` | :ref:`shape_type<class_GLTFPhysicsShape_property_shape_type>` | ``""`` |
  36. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  37. | :ref:`Vector3<class_Vector3>` | :ref:`size<class_GLTFPhysicsShape_property_size>` | ``Vector3(1, 1, 1)`` |
  38. +-----------------------------------------+---------------------------------------------------------------------+----------------------+
  39. .. rst-class:: classref-reftable-group
  40. Methods
  41. -------
  42. .. table::
  43. :widths: auto
  44. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` | :ref:`from_dictionary<class_GLTFPhysicsShape_method_from_dictionary>` **(** :ref:`Dictionary<class_Dictionary>` dictionary **)** |static| |
  46. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` | :ref:`from_node<class_GLTFPhysicsShape_method_from_node>` **(** :ref:`CollisionShape3D<class_CollisionShape3D>` shape_node **)** |static| |
  48. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  49. | :ref:`Dictionary<class_Dictionary>` | :ref:`to_dictionary<class_GLTFPhysicsShape_method_to_dictionary>` **(** **)** |const| |
  50. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  51. | :ref:`CollisionShape3D<class_CollisionShape3D>` | :ref:`to_node<class_GLTFPhysicsShape_method_to_node>` **(** :ref:`bool<class_bool>` cache_shapes=false **)** |
  52. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
  53. .. rst-class:: classref-section-separator
  54. ----
  55. .. rst-class:: classref-descriptions-group
  56. Property Descriptions
  57. ---------------------
  58. .. _class_GLTFPhysicsShape_property_height:
  59. .. rst-class:: classref-property
  60. :ref:`float<class_float>` **height** = ``2.0``
  61. .. rst-class:: classref-property-setget
  62. - void **set_height** **(** :ref:`float<class_float>` value **)**
  63. - :ref:`float<class_float>` **get_height** **(** **)**
  64. The height of the shape, in meters. This is only used when the shape type is "capsule" or "cylinder". This value should not be negative, and for "capsule" it should be at least twice the radius.
  65. .. rst-class:: classref-item-separator
  66. ----
  67. .. _class_GLTFPhysicsShape_property_importer_mesh:
  68. .. rst-class:: classref-property
  69. :ref:`ImporterMesh<class_ImporterMesh>` **importer_mesh**
  70. .. rst-class:: classref-property-setget
  71. - void **set_importer_mesh** **(** :ref:`ImporterMesh<class_ImporterMesh>` value **)**
  72. - :ref:`ImporterMesh<class_ImporterMesh>` **get_importer_mesh** **(** **)**
  73. The :ref:`ImporterMesh<class_ImporterMesh>` resource of the shape. This is only used when the shape type is "hull" (convex hull) or "trimesh" (concave trimesh).
  74. .. rst-class:: classref-item-separator
  75. ----
  76. .. _class_GLTFPhysicsShape_property_is_trigger:
  77. .. rst-class:: classref-property
  78. :ref:`bool<class_bool>` **is_trigger** = ``false``
  79. .. rst-class:: classref-property-setget
  80. - void **set_is_trigger** **(** :ref:`bool<class_bool>` value **)**
  81. - :ref:`bool<class_bool>` **get_is_trigger** **(** **)**
  82. If ``true``, indicates that this shape is a trigger. For Godot, this means that the shape should be a child of an Area3D node.
  83. This is the only variable not used in the :ref:`to_node<class_GLTFPhysicsShape_method_to_node>` method, it's intended to be used alongside when deciding where to add the generated node as a child.
  84. .. rst-class:: classref-item-separator
  85. ----
  86. .. _class_GLTFPhysicsShape_property_mesh_index:
  87. .. rst-class:: classref-property
  88. :ref:`int<class_int>` **mesh_index** = ``-1``
  89. .. rst-class:: classref-property-setget
  90. - void **set_mesh_index** **(** :ref:`int<class_int>` value **)**
  91. - :ref:`int<class_int>` **get_mesh_index** **(** **)**
  92. The index of the shape's mesh in the GLTF file. This is only used when the shape type is "hull" (convex hull) or "trimesh" (concave trimesh).
  93. .. rst-class:: classref-item-separator
  94. ----
  95. .. _class_GLTFPhysicsShape_property_radius:
  96. .. rst-class:: classref-property
  97. :ref:`float<class_float>` **radius** = ``0.5``
  98. .. rst-class:: classref-property-setget
  99. - void **set_radius** **(** :ref:`float<class_float>` value **)**
  100. - :ref:`float<class_float>` **get_radius** **(** **)**
  101. The radius of the shape, in meters. This is only used when the shape type is "capsule", "cylinder", or "sphere". This value should not be negative.
  102. .. rst-class:: classref-item-separator
  103. ----
  104. .. _class_GLTFPhysicsShape_property_shape_type:
  105. .. rst-class:: classref-property
  106. :ref:`String<class_String>` **shape_type** = ``""``
  107. .. rst-class:: classref-property-setget
  108. - void **set_shape_type** **(** :ref:`String<class_String>` value **)**
  109. - :ref:`String<class_String>` **get_shape_type** **(** **)**
  110. The type of shape this shape represents. Valid values are "box", "capsule", "cylinder", "sphere", "hull", and "trimesh".
  111. .. rst-class:: classref-item-separator
  112. ----
  113. .. _class_GLTFPhysicsShape_property_size:
  114. .. rst-class:: classref-property
  115. :ref:`Vector3<class_Vector3>` **size** = ``Vector3(1, 1, 1)``
  116. .. rst-class:: classref-property-setget
  117. - void **set_size** **(** :ref:`Vector3<class_Vector3>` value **)**
  118. - :ref:`Vector3<class_Vector3>` **get_size** **(** **)**
  119. The size of the shape, in meters. This is only used when the shape type is "box", and it represents the "diameter" of the box. This value should not be negative.
  120. .. rst-class:: classref-section-separator
  121. ----
  122. .. rst-class:: classref-descriptions-group
  123. Method Descriptions
  124. -------------------
  125. .. _class_GLTFPhysicsShape_method_from_dictionary:
  126. .. rst-class:: classref-method
  127. :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` **from_dictionary** **(** :ref:`Dictionary<class_Dictionary>` dictionary **)** |static|
  128. Creates a new GLTFPhysicsShape instance by parsing the given :ref:`Dictionary<class_Dictionary>`.
  129. .. rst-class:: classref-item-separator
  130. ----
  131. .. _class_GLTFPhysicsShape_method_from_node:
  132. .. rst-class:: classref-method
  133. :ref:`GLTFPhysicsShape<class_GLTFPhysicsShape>` **from_node** **(** :ref:`CollisionShape3D<class_CollisionShape3D>` shape_node **)** |static|
  134. Create a new GLTFPhysicsShape instance from the given Godot :ref:`CollisionShape3D<class_CollisionShape3D>` node.
  135. .. rst-class:: classref-item-separator
  136. ----
  137. .. _class_GLTFPhysicsShape_method_to_dictionary:
  138. .. rst-class:: classref-method
  139. :ref:`Dictionary<class_Dictionary>` **to_dictionary** **(** **)** |const|
  140. Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary<class_Dictionary>`.
  141. .. rst-class:: classref-item-separator
  142. ----
  143. .. _class_GLTFPhysicsShape_method_to_node:
  144. .. rst-class:: classref-method
  145. :ref:`CollisionShape3D<class_CollisionShape3D>` **to_node** **(** :ref:`bool<class_bool>` cache_shapes=false **)**
  146. Converts this GLTFPhysicsShape instance into a Godot :ref:`CollisionShape3D<class_CollisionShape3D>` node.
  147. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  148. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  149. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  150. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  151. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  152. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  153. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`