PrimitiveMesh

Inherits: Mesh < Resource < Reference < Object

Inherited By: CapsuleMesh, CubeMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, QuadMesh, SphereMesh, TextMesh, TorusMesh

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 CapsuleMesh, CubeMesh, CylinderMesh, PlaneMesh, PrismMesh, QuadMesh, and SphereMesh.

Properties

AABB

custom_aabb

AABB( 0, 0, 0, 0, 0, 0 )

bool

flip_faces

false

Material

material

Methods

Array

get_mesh_arrays ( ) const


Property Descriptions

AABB custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )

  • void set_custom_aabb ( AABB value )

  • AABB 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.


bool flip_faces = false

  • void set_flip_faces ( bool value )

  • bool 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 Material3D.CULL_BACK in Material3D.params_cull_mode.


Material material

The current Material of the primitive mesh.


Method Descriptions

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())