:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the CSGBox3D.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_CSGBox3D: CSGBox3D ======== **Inherits:** :ref:`CSGPrimitive3D` **<** :ref:`CSGShape3D` **<** :ref:`GeometryInstance3D` **<** :ref:`VisualInstance3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` A CSG Box shape. Description ----------- This node allows you to create a box for use with the CSG system. \ **Note:** CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a :ref:`MeshInstance3D` with a :ref:`PrimitiveMesh`. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay. Tutorials --------- - :doc:`Prototyping levels with CSG <../tutorials/3d/csg_tools>` Properties ---------- +---------------------------------+---------------------------------------------------+----------------------+ | :ref:`Material` | :ref:`material` | | +---------------------------------+---------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`size` | ``Vector3(1, 1, 1)`` | +---------------------------------+---------------------------------------------------+----------------------+ Property Descriptions --------------------- .. _class_CSGBox3D_property_material: - :ref:`Material` **material** +----------+---------------------+ | *Setter* | set_material(value) | +----------+---------------------+ | *Getter* | get_material() | +----------+---------------------+ The material used to render the box. ---- .. _class_CSGBox3D_property_size: - :ref:`Vector3` **size** +-----------+----------------------+ | *Default* | ``Vector3(1, 1, 1)`` | +-----------+----------------------+ | *Setter* | set_size(value) | +-----------+----------------------+ | *Getter* | get_size() | +-----------+----------------------+ The box's width, height and depth. .. |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.)`