Work in progress

Godot documentation is being updated to reflect the latest changes in version 4.0. Some documentation pages may still state outdated information. This banner will tell you if you're reading one of such pages.

The contents of this page are up to date. If you can still find outdated information, please open an issue.

BoxMesh

Inherits: PrimitiveMesh < Mesh < Resource < RefCounted < Object

Generate an axis-aligned box PrimitiveMesh.

Description

Generate an axis-aligned box 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 subdivide_depth, subdivide_height and subdivide_width until you no longer notice UV jittering.

Properties

Vector3

size

Vector3(1, 1, 1)

int

subdivide_depth

0

int

subdivide_height

0

int

subdivide_width

0


Property Descriptions

Vector3 size = Vector3(1, 1, 1)

The box's width, height and depth.


int subdivide_depth = 0

  • void set_subdivide_depth ( int value )

  • int get_subdivide_depth ( )

Number of extra edge loops inserted along the Z axis.


int subdivide_height = 0

  • void set_subdivide_height ( int value )

  • int get_subdivide_height ( )

Number of extra edge loops inserted along the Y axis.


int subdivide_width = 0

  • void set_subdivide_width ( int value )

  • int get_subdivide_width ( )

Number of extra edge loops inserted along the X axis.