:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/BoxMesh.xml. .. _class_BoxMesh: BoxMesh ======= **Inherits:** :ref:`PrimitiveMesh` **<** :ref:`Mesh` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Generate an axis-aligned box :ref:`PrimitiveMesh`. .. rst-class:: classref-introduction-group Description ----------- Generate an axis-aligned box :ref:`PrimitiveMesh`. The box's UV layout is arranged in a 3×2 layout that allows texturing each face individually. To apply the same texture on all faces, change the material's UV property to ``Vector3(3, 2, 1)``. This is equivalent to adding ``UV *= vec2(3.0, 2.0)`` in a vertex shader. \ **Note:** When using a large textured **BoxMesh** (e.g. as a floor), you may stumble upon UV jittering issues depending on the camera angle. To solve this, increase :ref:`subdivide_depth`, :ref:`subdivide_height` and :ref:`subdivide_width` until you no longer notice UV jittering. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-------------------------------+------------------------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`size` | ``Vector3(1, 1, 1)`` | +-------------------------------+------------------------------------------------------------------+----------------------+ | :ref:`int` | :ref:`subdivide_depth` | ``0`` | +-------------------------------+------------------------------------------------------------------+----------------------+ | :ref:`int` | :ref:`subdivide_height` | ``0`` | +-------------------------------+------------------------------------------------------------------+----------------------+ | :ref:`int` | :ref:`subdivide_width` | ``0`` | +-------------------------------+------------------------------------------------------------------+----------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_BoxMesh_property_size: .. rst-class:: classref-property :ref:`Vector3` **size** = ``Vector3(1, 1, 1)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_size**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_size**\ (\ ) The box's width, height and depth. .. rst-class:: classref-item-separator ---- .. _class_BoxMesh_property_subdivide_depth: .. rst-class:: classref-property :ref:`int` **subdivide_depth** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_subdivide_depth**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_subdivide_depth**\ (\ ) Number of extra edge loops inserted along the Z axis. .. rst-class:: classref-item-separator ---- .. _class_BoxMesh_property_subdivide_height: .. rst-class:: classref-property :ref:`int` **subdivide_height** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_subdivide_height**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_subdivide_height**\ (\ ) Number of extra edge loops inserted along the Y axis. .. rst-class:: classref-item-separator ---- .. _class_BoxMesh_property_subdivide_width: .. rst-class:: classref-property :ref:`int` **subdivide_width** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_subdivide_width**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_subdivide_width**\ (\ ) Number of extra edge loops inserted along the X axis. .. |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.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`