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.
Checking the stable version of the documentation...
Material
Eredita: Resource < RefCounted < Object
Ereditato da: BaseMaterial3D, BlitMaterial, CanvasItemMaterial, FogMaterial, PanoramaSkyMaterial, ParticleProcessMaterial, PhysicalSkyMaterial, PlaceholderMaterial, ProceduralSkyMaterial, ShaderMaterial
Classe di base virtuale per applicare proprietà visive a un oggetto, come colore e rugosità.
Descrizione
Il Material è una risorsa di base utilizzata per colorare e ombreggiare la geometria. Tutti i materiali ereditano da essa e quasi tutti i nodi derivati da VisualInstance3D hanno un Material. Alcuni flag e parametri sono condivisi tra tutti i tipi di materiale e sono configurati qui.
È importante che tu possa ereditare da Material per creare il tuo tipo di materiale personalizzato tramite script o GDExtension.
Tutorial
Proprietà
Metodi
_can_do_next_pass() virtual const |
|
_can_use_render_priority() virtual const |
|
_get_shader_mode() virtual required const |
|
_get_shader_rid() virtual required const |
|
create_placeholder() const |
|
void |
Costanti
RENDER_PRIORITY_MAX = 127 🔗
Il valore massimo per il parametro render_priority.
RENDER_PRIORITY_MIN = -128 🔗
Il valore minimo per il parametro render_priority.
Descrizioni delle proprietà
Imposta il Material da utilizzare per il passaggio successivo. Questo renderizza nuovamente l'oggetto utilizzando un materiale diverso.
Nota: I materiali next_pass non vengono necessariamente disegnati immediatamente dopo il Material sorgente. L'ordine di disegno è determinato dalle proprietà del materiale, render_priority e dalla distanza dalla telecamera.
Nota: Questo si applica solo a StandardMaterial3D e ShaderMaterial con tipo "Spatial".
Imposta la priorità di rendering per gli oggetti nelle scene 3D. Gli oggetti con priorità più alta saranno ordinati prima di quelli con priorità più bassa. In altre parole, tutti gli oggetti con un render_priority di 1 saranno renderizzati prima di tutti gli oggetti con un render_priority di 0.
Nota: Questo si applica solo ai StandardMaterial3D e ShaderMaterial con tipo "Spatial".
Nota: Questo non avrà alcun impatto sul modo in cui gli oggetti trasparenti sono ordinati rispetto agli oggetti opachi o sul modo in cui le mesh dinamiche sono ordinate rispetto ad altre mesh opache. Ciò perché tutti gli oggetti trasparenti sono disegnati dopo tutti gli oggetti opachi e tutte le mesh opache dinamiche sono disegnate prima di altre mesh opache.
Descrizioni dei metodi
bool _can_do_next_pass() virtual const 🔗
Esposto solo per essere sovrascritto. Non puoi chiamare questa funzione direttamente. Utilizzato internamente per determinare se next_pass debba essere mostrato nell'editor o meno.
bool _can_use_render_priority() virtual const 🔗
Esposto solo per essere sovrascritto. Non puoi chiamare questa funzione direttamente. Utilizzato internamente per determinare se render_priority debba essere visualizzato o meno nell'editor.
Mode _get_shader_mode() virtual required const 🔗
Esposto solo per essere sovrascritto. Non puoi chiamare questa funzione direttamente. Utilizzato internamente da vari strumenti dell'editor.
RID _get_shader_rid() virtual required const 🔗
Esposto solo per essere sovrascritto. Non puoi chiamare questa funzione direttamente. Utilizzato internamente da vari strumenti dell'editor. Utilizzato per accedere al RID dello Shader del Material.
Resource create_placeholder() const 🔗
Crea una versione segnaposto di questa risorsa (PlaceholderMaterial).
void inspect_native_shader_code() 🔗
Disponibile solo quando è in esecuzione nell'editor. Apre un popup che visualizza il codice dello shader generato, incluse tutte le varianti e il codice dello shader interno. Vedi anche Shader.inspect_native_shader_code().