PrimitiveMesh

Inherits: Mesh < Resource < RefCounted < Object

Inherited By: BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, QuadMesh, RibbonTrailMesh, SphereMesh, TextMesh, TubeTrailMesh

Base class for all primitive meshes. Handles applying a Material to a primitive mesh.

Description

Base class for all primitive meshes. Handles applying a Material to a primitive mesh. Examples include BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PrismMesh, QuadMesh, and SphereMesh.

Properties

AABB

custom_aabb

bool

flip_faces

Material

material

Methods

Array

_create_mesh_array ( ) virtual const

Array

get_mesh_arrays ( ) const

Property Descriptions

Setter

set_custom_aabb(value)

Getter

get_custom_aabb()

Overrides the AABB with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.


Setter

set_flip_faces(value)

Getter

get_flip_faces()

If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.

This gives the same result as using BaseMaterial3D.CULL_FRONT in BaseMaterial3D.cull_mode.


Setter

set_material(value)

Getter

get_material()

The current Material of the primitive mesh.

Method Descriptions

  • Array _create_mesh_array ( ) virtual const


  • Array get_mesh_arrays ( ) const

Returns mesh arrays used to constitute surface of Mesh. The result can be passed to ArrayMesh.add_surface_from_arrays to create a new surface. For example:

var c = CylinderMesh.new()
var arr_mesh = ArrayMesh.new()
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())