Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

PrimitiveMesh

Eredita: Mesh < Resource < RefCounted < Object

Ereditato da: BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, RibbonTrailMesh, SphereMesh, TextMesh, TorusMesh, TubeTrailMesh

Classe di base per tutte le mesh primitive. Gestisce l'applicazione di un Material a una mesh primitiva.

Descrizione

Classe di base per tutte le mesh primitive. Gestisce l'applicazione di un Material a una mesh primitiva. Esempi includono BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PrismMesh e SphereMesh.

Proprietà

bool

add_uv2

false

AABB

custom_aabb

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

bool

flip_faces

false

Material

material

float

uv2_padding

2.0

Metodi

Array

_create_mesh_array() virtual const

Array

get_mesh_arrays() const

void

request_update()


Descrizioni delle proprietà

bool add_uv2 = false 🔗

  • void set_add_uv2(value: bool)

  • bool get_add_uv2()

Se impostato, genera coordinate UV2 UV applicando un padding usando l'impostazione uv2_padding. L'UV2 è necessario per il lightmapping.


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

  • void set_custom_aabb(value: AABB)

  • AABB get_custom_aabb()

Sovrascrive l'AABB con uno definito dall'utente per l'uso con il frustum culling. Particolarmente utile per evitare culling inaspettato quando si utilizza uno shader per scostare i vertici.


bool flip_faces = false 🔗

  • void set_flip_faces(value: bool)

  • bool get_flip_faces()

Se true, l'ordine dei vertici in ogni triangolo è invertito, con il risultato che il retro della mesh sarà disegnato.

Ciò fornisce lo stesso risultato di usare BaseMaterial3D.CULL_FRONT in BaseMaterial3D.cull_mode.


Material material 🔗

Il Material attuale della mesh primitiva.


float uv2_padding = 2.0 🔗

  • void set_uv2_padding(value: float)

  • float get_uv2_padding()

Se add_uv2 è impostato, specifica il padding in pixel applicato lungo le cuciture della mesh. Valori di padding più bassi consentono di utilizzare meglio la texture della lightmap (risultando in una maggiore densità di texel), ma potrebbero introdurre un visibile bleeding della lightmap lungo i bordi.

Se le dimensioni della texture della lightmap non possono essere determinate durante la generazione della mesh, l'UV2 è calcolato presupponendo che le dimensioni della texture siano 1024x1024.


Descrizioni dei metodi

Array _create_mesh_array() virtual const 🔗

Sovrascrivi questo metodo per personalizzare il modo in cui questa mesh primitiva dovrebbe essere generata. Dovrebbe restituire un Array in cui ogni elemento è un altro Array di valori necessari per la mesh (vedi le costanti di ArrayType).


Array get_mesh_arrays() const 🔗

Restituisce gli array di mesh utilizzati per comporre la superficie di questa mesh primitiva.

Esempio: Passa il risultato a ArrayMesh.add_surface_from_arrays() per creare una nuova superficie:

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

void request_update() 🔗

Richiede un aggiornamento di questa mesh primitiva in base alle sue proprietà.