123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/HeightMapShape3D.xml.
- .. _class_HeightMapShape3D:
- HeightMapShape3D
- ================
- **Inherits:** :ref:`Shape3D<class_Shape3D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- Height map shape resource for 3D physics.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- 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.
- \ **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>`.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
- | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`map_data<class_HeightMapShape3D_property_map_data>` | ``PackedFloat32Array(0, 0, 0, 0)`` |
- +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
- | :ref:`int<class_int>` | :ref:`map_depth<class_HeightMapShape3D_property_map_depth>` | ``2`` |
- +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
- | :ref:`int<class_int>` | :ref:`map_width<class_HeightMapShape3D_property_map_width>` | ``2`` |
- +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_HeightMapShape3D_property_map_data:
- .. rst-class:: classref-property
- :ref:`PackedFloat32Array<class_PackedFloat32Array>` **map_data** = ``PackedFloat32Array(0, 0, 0, 0)``
- .. rst-class:: classref-property-setget
- - void **set_map_data** **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` value **)**
- - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_map_data** **(** **)**
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_HeightMapShape3D_property_map_depth:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **map_depth** = ``2``
- .. rst-class:: classref-property-setget
- - void **set_map_depth** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_map_depth** **(** **)**
- Number of vertices in the depth of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_HeightMapShape3D_property_map_width:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **map_width** = ``2``
- .. rst-class:: classref-property-setget
- - void **set_map_width** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_map_width** **(** **)**
- Number of vertices in the width of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|