class_heightmapshape3d.rst 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/HeightMapShape3D.xml.
  6. .. _class_HeightMapShape3D:
  7. HeightMapShape3D
  8. ================
  9. **Inherits:** :ref:`Shape3D<class_Shape3D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Height map shape resource for 3D physics.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Height map shape resource, which can be added to a :ref:`PhysicsBody3D<class_PhysicsBody3D>` or :ref:`Area3D<class_Area3D>`. Heightmap collision is typically used for colliding with terrains. However, since heightmaps cannot store overhangs, collisions with other structures (such as buildings) must be done with other collision shapes such as :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`. If needed, "holes" can be created in an **HeightMapShape3D** by assigning very low points (like ``-100000``) in the desired area.
  15. \ **Performance:** **HeightMapShape3D** is faster to check collisions against compared to :ref:`ConcavePolygonShape3D<class_ConcavePolygonShape3D>`, but it is slower than primitive collision shapes such as :ref:`SphereShape3D<class_SphereShape3D>` or :ref:`BoxShape3D<class_BoxShape3D>`.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
  22. | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`map_data<class_HeightMapShape3D_property_map_data>` | ``PackedFloat32Array(0, 0, 0, 0)`` |
  23. +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
  24. | :ref:`int<class_int>` | :ref:`map_depth<class_HeightMapShape3D_property_map_depth>` | ``2`` |
  25. +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
  26. | :ref:`int<class_int>` | :ref:`map_width<class_HeightMapShape3D_property_map_width>` | ``2`` |
  27. +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
  28. .. rst-class:: classref-section-separator
  29. ----
  30. .. rst-class:: classref-descriptions-group
  31. Property Descriptions
  32. ---------------------
  33. .. _class_HeightMapShape3D_property_map_data:
  34. .. rst-class:: classref-property
  35. :ref:`PackedFloat32Array<class_PackedFloat32Array>` **map_data** = ``PackedFloat32Array(0, 0, 0, 0)``
  36. .. rst-class:: classref-property-setget
  37. - void **set_map_data** **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` value **)**
  38. - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_map_data** **(** **)**
  39. Height map data, pool array must be of :ref:`map_width<class_HeightMapShape3D_property_map_width>` \* :ref:`map_depth<class_HeightMapShape3D_property_map_depth>` size.
  40. .. rst-class:: classref-item-separator
  41. ----
  42. .. _class_HeightMapShape3D_property_map_depth:
  43. .. rst-class:: classref-property
  44. :ref:`int<class_int>` **map_depth** = ``2``
  45. .. rst-class:: classref-property-setget
  46. - void **set_map_depth** **(** :ref:`int<class_int>` value **)**
  47. - :ref:`int<class_int>` **get_map_depth** **(** **)**
  48. Number of vertices in the depth of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
  49. .. rst-class:: classref-item-separator
  50. ----
  51. .. _class_HeightMapShape3D_property_map_width:
  52. .. rst-class:: classref-property
  53. :ref:`int<class_int>` **map_width** = ``2``
  54. .. rst-class:: classref-property-setget
  55. - void **set_map_width** **(** :ref:`int<class_int>` value **)**
  56. - :ref:`int<class_int>` **get_map_width** **(** **)**
  57. Number of vertices in the width of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
  58. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  59. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  60. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  61. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  62. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  63. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`