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...
Standard Material 3D and ORM Material 3D
Introduzione
StandardMaterial3D e ORMMaterial3D (Occlusione, Rugosità, Metallico) sono materiali 3D predefiniti che mirano a fornire la maggior parte delle funzionalità ricercate dagli artisti in un materiale, senza la necessità di scrivere codice shader. Tuttavia, è possibile convertirli in codice shader se sono necessarie più funzionalità.
Questo tutorial spiega i parametri presenti in entrambi i materiali.
Esistono 4 modi per aggiungere questi materiali a un oggetto. Un materiale si può aggiungere nella proprietà Material della mesh. Oppure aggiungere nella proprietà Material del nodo che utilizza la mesh (come un nodo MeshInstance3D), nella proprietà Material Override del nodo che utilizza la mesh e in Material Overlay.
Se si aggiunge un materiale alla mesh stessa, ogni volta che quella mesh è utilizzata, avrà quel materiale. Se si aggiunge un materiale al nodo che utilizza la mesh, il materiale sarà utilizzato solo da quel nodo e sovrascriverà anche la proprietà materiale della mesh. Se un materiale è aggiunto nella proprietà Material Override del nodo, sarà utilizzato solo da quel nodo. Inoltre, sovrascriverà la solita proprietà materiale del nodo e la proprietà materiale della mesh.
La proprietà Materiale sovrapposto renderizza un materiale sopra quello attualmente utilizzato dalla mesh. Ad esempio, si può utilizzare per applicare un effetto di scudo trasparente a una mesh.
Impostazioni 3D di BaseMaterial
StandardMaterial3D include numerose impostazioni che determinano l'aspetto di un materiale. Tutte rientrano nella categoria BaseMaterial3D
I materiali ORM sono quasi esattamente gli stessi, con una differenza. Invece di impostazioni e texture separate per occlusione, rugosità e metallizzazione, esiste un'unica texture ORM. I diversi canali colore di quella texture sono usati per ciascun parametro. Programmi come Substance Painter e Armor Paint consentono di esportare in questo formato; per questi due programmi è necessario utilizzare la preimpostazione di esportazione per Unreal Engine, anch'esso utilizza le texture ORM.
Trasparenza
Per impostazione predefinita, i materiali in Godot sono opachi. Questo è più veloce da renderizzare, ma significa che non si può vedere attraverso il materiale, anche se si usa una texture trasparente nella proprietà Albedo > Texture (o si imposta Albedo > Colore su un colore trasparente).
Per poter vedere attraverso un materiale, il materiale deve essere reso trasparente. Godot offre diverse modalità di trasparenza:
Disabilitato: Il materiale è opaco. Questa è l'opzione più veloce da renderizzare, con tutte le funzionalità di rendering supportate.
Alfa: Il materiale è trasparente. Le aree semitrasparenti sono disegnate con una fusione tra colori. Questa tecnica è lenta da renderizzare, ma permette di avere una trasparenza parziale (nota anche come traslucidità). I materiali che utilizzano la fusione alfa non possono inoltre proiettare ombre e non sono visibili nei riflessi nello spazio dello schermo.
Alfa è ben adatto per gli effetti particellari e altri effetti visivi.
Ritaglio alfa: Il materiale è trasparente. Le aree semitrasparenti la cui opacità è inferiore alla Soglia di ritaglio alfa non sono disegnate (oltre questa opacità, sono disegnate opache). Questa modalità è più veloce da renderizzare rispetto ad Alfa e non presenta problemi di ordine di trasparenza. Lo svantaggio è che si ottiene una trasparenza "tutto o niente", senza possibilità di avere valori intermedi. I materiali che utilizzano Ritaglio alfa possono proiettare ombre.
Ritaglio alfa è ideale per fogliame e recinzioni, poiché hanno bordi netti e richiedono un ordinamento corretto per avere un bell'aspetto.
Hash alfa: Il materiale è trasparente. Le aree semitrasparenti sono disegnate con un dithering. Anche questa è una trasparenza "tutto o niente", ma il dithering aiuta a rappresentare aree parzialmente opache con una precisione limitata a seconda della risoluzione della viewport. I materiali che utilizzano l'hash alfa possono proiettare ombre.
Alpha Hash è adatto per capelli dall'aspetto realistico, anche se i capelli stilizzati potrebbero apparire meglio con il ritaglio alfa.
Pre-passaggio di profondità: Questo renderizza prima i pixel completamente opachi dell'oggetto attraverso la pipeline opaca, poi renderizza il resto con fusione alfa. Questo consente un ordinamento della trasparenza per lo più corretto (anche se non del tutto, poiché le regioni parzialmente trasparenti potrebbero comunque avere un ordine errato). I materiali che utilizzano il pre-passaggio di profondità possono proiettare ombre.
Nota
Godot forzerà automaticamente il materiale a essere trasparente con la fusione alfa se una di queste condizioni è soddisfatta:
Impostando la modalità di trasparenza su Alfa (come descritto qui).
Impostando una modalità di fusione diversa da quella predefinita Mix
Abilitando Rifrazione, Dissolvenza in prossimità o Dissolvenza a distanza.
Confronto tra la trasparenza con fusione alfa (sinistra) e quella con ritaglio alfa (destra):
Avvertimento
La trasparenza con fusione alfa ha diverse limitazioni:
I materiali con fusione alfa sono notevolmente più lenti da renderizzare, soprattutto se si sovrappongono.
I materiali con fusione alfa potrebbero avere problemi di ordinamento quando le superfici trasparenti si sovrappongono. Ciò significa che le superfici potrebbero renderizzarsi nell'ordine errato, con le superfici sullo sfondo che appaiono davanti a quelle che in realtà sono più vicine alla telecamera.
I materiali con fusione alpha non proiettano ombre, anche se le possono ricevere.
I materiali con fusione alfa non compaiono in nessun riflesso (a parte le sonde di riflessione).
I riflessi nello spazio dello schermo e i riflessi SDFGI nitidi non compaiono sui materiali con fusione alfa. Quando SDFGI è abilitato, i riflessi approssimativi sono utilizzati come alternativa di riserva, a prescindere dalla rugosità del materiale.
Prima di utilizzare la modalità di trasparenza Alpha, valutare sempre se un'altra modalità di trasparenza è più adatta alle proprie esigenze.
Antialiasing alfa
Nota
Questa proprietà è visibile solo quando la modalità di trasparenza è Ritaglio alfa o Hash alfa.
Sebbene i materiali con ritaglio alfa e con hash alfa siano più rapidi da renderizzare rispetto ai materiali con fusione alfa, presentano bordi netti tra le regioni opache e trasparenti. Sebbene sia possibile utilizzare tecniche di antialiasing basate sulla post-elaborazione come FXAA e TAA, ciò non è sempre gradito, poiché queste tecniche tendono a rendere il risultato finale più sfocato o ad avere artefatti di ghosting.
Sono disponibili 3 modalità di antialiasing alfa:
Disabilitato: Nessun antialiasing alfa. I bordi dei materiali trasparenti appariranno con aliasing a meno che non si usi una soluzione antialiasing basata sulla post-elaborazione.
Alpha Edge Blend: produce una transizione graduale tra aree opache e trasparenti. Noto anche come "alfa a copertura".
Alpha Edge Clip: produce una transizione netta, ma comunque con antialiasing tra le aree opache e trasparenti. Noto anche come "alfa a copertura + alfa a uno".
Quando la modalità di antialiasing alfa è impostata su Alpha Edge Blend o Alpha Edge Clip, una nuova proprietà Alpha Antialiasing Edge appare in basso nell'ispettore. Questa proprietà controlla la soglia sotto la quale i pixel si devono rendere trasparenti. Sebbene sia già stata definita una soglia di ritaglio alfa (solo quando si utilizza Ritaglio alfa), questa ulteriore soglia serve per ottenere una transizione graduale tra i pixel opachi e trasparenti. Alpha Antialiasing Edge deve essere sempre impostato su un valore strettamente inferiore alla soglia di ritaglio alfa. Il valore predefinito di 0.3 è un valore ragionevole con una soglia di ritaglio alfa di 0.5, ma ricorda di regolare questo bordo di antialiasing alfa quando si cambia la soglia di ritaglio alfa.
Se l'effetto antialiasing non è abbastanza efficace, prova ad aumentare Alpha Antialiasing Edge assicurandoti che sia sotto a Alpha Scissor Threshold (se il materiale utilizza l'effetto ritaglio alfa). D'altra parte, se noti che l'aspetto della texture cambia notabilmente man mano che la telecamera si avvicina al materiale, prova a diminuire Alpha Antialiasing Edge.
Importante
Per risultati ottimali, quando si utilizza l'antialiasing alfa, il MSAA 3D dovrebbe essere impostato su almeno 2× nelle Impostazioni del progetto. Questo perché questa funzionalità dipende dalla copertura a alfa, una funzionalità fornita dal MSAA.
Senza MSAA, ai bordi del materiale è applicato un motivo di dithering fisso, che non è molto efficace per smussare i bordi (anche se può comunque aiutare un poco).
Modalità fusione
Controlla la modalità di fusione del materiale. Tenere presente che qualsiasi modalità diversa da Mix forza l'oggetto a passare per la pipeline trasparente.
Mix: modalità predefinita di fusione, alfa controlla quanto è visibile l'oggetto.
Add: il colore finale dell'oggetto è aggiunto al colore dello schermo, ideale per i bagliori o per alcuni effetti simili al fuoco.
Subtract: The final color of the object is subtracted from the color of the screen.
Multiply: The final color of the object is multiplied with the color of the screen.
Alfa premoltiplicato: ci si aspetta che il colore dell'oggetto sia già stato moltiplicato per l'alfa. Questo si comporta come Add quando l'alfa è
0.0(completamente trasparente) e come Mix quando l'alfa è1.0(opaco).
Modalità di culling
Determina quale lato dell'oggetto non è disegnato quando sono renderizzate le facce posteriori:
Retro: il retro dell'oggetto è scartato quando non è visibile (predefinito).
Avanti: la parte in avanti dell'oggetto è scartata quando non è visibile.
Disabilitato: utilizzato per oggetti a due facce (nessun culling è eseguito).
Nota
Normalmente, Blender disabilita il culling delle facce posteriori sui materiali ed esporta i materiali pur di corrispondere al modo in cui si renderizzano in Blender. Ciò significa che i materiali in Godot avranno la modalità di culling impostata su Disabilitata. Ciò può ridurre le prestazioni, poiché le facce posteriori saranno renderizzate anche quando sono nascoste da altre facce. Per risolvere ciò, abilita Backface Culling nella scheda Materiali di Blender, quindi esporta nuovamente la scena in glTF.
Modalità di disegno di profondità
Specifica quando deve avvenire il rendering di profondità.
Solo opaco (predefinito): la profondità è disegnata solo per gli oggetti opachi.
Sempre: la profondità è disegnata sia per entrambi gli oggetti opachi e trasparenti.
Mai: Nessun disegno di profondità avviene (da non confondere l'opzione "Nessun test di profondità" di seguito).
Pre-passaggio di profondità: per gli oggetti trasparenti, viene prima eseguito un passaggio opaco con le parti opache, poi la trasparenza viene disegnata sopra. Utilizzare questa opzione con erba o fogliame di alberi trasparenti.
Nessun test di profondità
Per assicurare che gli oggetti vicini appaiano sopra quelli lontani, si esegue un test di profondità. Disattivandolo, gli oggetti appariranno sopra (o sotto) tutto il resto.
Disattivarlo ha più senso per disegnare indicatori nello spazio mondiale e funziona molto bene con la proprietà Priorità di rendering del materiale (vedere in fondo alla pagina).
Depth Test
Questa opzione si può usare per invertire il test di profondità standard. Se impostata su Inverted, l'oggetto apparirà solo se occluso, altrimenti sarà nascosto.
This has no effect if No Depth Test is enabled.
Shading
Modalità di ombreggiatura
I materiali supportano tre modalità di ombreggiatura: Per pixel, Per vertice e Non ombreggiato.
La modalità di ombreggiatura Per pixel calcola l'illuminazione per ogni pixel ed è adatta per la maggior parte dei casi d'uso. Tuttavia, in alcuni casi potrebbe essere necessario aumentare le prestazioni utilizzando un'altra modalità di ombreggiatura.
La modalità di ombreggiatura Per vertice, spesso chiamata "vertex shading" o "vertex lighting", calcola invece l'illuminazione una volta per ogni vertice e interpola il risultato tra ogni pixel.
Su dispositivi mobili o di fascia bassa, utilizzare l'illuminazione per vertice può migliorare notevolmente le prestazioni di rendering. Quando si renderizzano diversi livelli di trasparenza, ad esempio per i sistemi particellari, l'utilizzo dell'ombreggiatura per vertice può migliorare le prestazioni, soprattutto quando la telecamera è vicina alle particelle.
È anche possibile utilizzare l'illuminazione per vertice per ottenere un aspetto retrò.
La modalità di ombreggiatura Non ombreggiata non calcola l'illuminazione. Invece, il colore Albedo è emesso direttamente. Le luci non influiranno in alcun modo sul materiale e i materiali non ombreggiati tenderanno ad apparire considerevolmente più luminosi di quelli ombreggiati.
Il rendering non ombreggiato è utile per alcuni effetti visivi specifici. Se servono le massime prestazioni, si può anche utilizzare per particelle, oppure per dispositivi mobili o di fascia bassa.
Modalità di diffusione
Specifica l'algoritmo utilizzato per la riflessione diffusa della luce quando colpisce l'oggetto. La modalità predefinita è Burley. Sono disponibili anche altre modalità:
Burley: Modalità predefinita, l'algoritmo originale di diffusione Disney Principled PBS.
Lambert: Non è influenzato dalla rugosità.
Lambert Wrap: Estende Lambert per coprire più di 90 gradi quando la rugosità aumenta. Ottimo per i capelli e per simulare il subsurface scattering a minimo impatto. Questa implementazione conserva l'energia.
Toon: Fornisce un taglio netto per l'illuminazione, con un effetto di smussatura influenzato dalla rugosità. Si consiglia di disattivare il contributo del cielo dalle impostazioni della luce ambientale dell'ambiente, o di disattivare la luce ambientale in StandardMaterial3D per ottenere un effetto migliore.
Modalità di speculare
Specifica come sarà renderizzata la macchia speculare. La macchia speculare rappresenta la forma di una sorgente luminosa riflessa nell'oggetto.
SchlickGGX: la macchia più comune utilizzata dai motori 3D PBR al giorno d'oggi.
Toon: crea una macchia toon, le cui dimensioni cambiano a seconda della rugosità.
Disabilitata: a volte la macchia da fastidio. Vattene!
Disabilita luce ambientale
Fa sì che l'oggetto non riceva alcun tipo di luce ambientale che altrimenti lo illuminerebbe.
Disabilita nebbia
Rende l'oggetto inalterato dalla nebbia volumetrica o basata sulla profondità. Questa funzionalità è utile per particelle o altri materiali fusi in modo additivo che altrimenti mostrerebbero la forma della mesh (anche in punti in cui sarebbe invisibile senza la nebbia).
Disabilita occlusione speculare
Makes the object not have its reflections reduced where they would usually be occluded.
Colore di vertice
Questa impostazione consente di scegliere cosa avviene ai colori dei vertici provenienti dall'applicazione di modellazione 3D. Come predefinito, sono ignorati.
Usa come albedo
Scegliendo questa opzione il colore dei vertici sarà utilizzato come colore dell'albedo.
È sRGB
La maggior parte dei software di modellazione 3D probabilmente esporterà i colori dei vertici come sRGB, quindi attivando questa opzione li aiuterà ad apparire corretti.
Albedo
Albedo è il colore base del materiale, su cui operano tutte le altre impostazioni. Se impostato su Non ombreggiato, questo è l'unico colore visibile. Nelle versioni precedenti di Godot, questo canale si chiamava Diffuso. Il cambio di nome è dovuto principalmente al fatto che, nel PBR (Physically Based Rendering), questo colore influenza molti più calcoli rispetto al solo percorso di illuminazione diffusa.
Il colore e la texture di albedo si possono usare insieme, sono moltiplicati.
Il canale alfa nel colore e nella texture di albedo serve anche per la trasparenza dell'oggetto. Se si utilizza un colore o una texture con un canale alfa, assicurarsi di abilitare la trasparenza o l'effetto ritaglio alfa affinché funzioni.
Metallico
Godot utilizza un modello metallico rispetto ai modelli concorrenti per la sua semplicità. Questo parametro definisce quanto riflettente è il materiale. Più è riflettente, meno la luce diffusa/ambientale influenza il materiale e maggiore è la luce riflessa. Questo modello è definito "energy-conserving" (conserva energia).
Il parametro Specular è un valore generale per la riflettività (a differenza di Metallic, non conserva energia, quindi lascialo a 0.5 e non toccarlo a meno che non sia necessario).
La riflettività interna minima è 0.04, quindi è impossibile rendere un materiale completamente non riflettente, proprio come nella vita reale.
Rugosità
La Rugosità influenza il modo in cui avviene la riflessione. Un valore di 0 lo rende uno specchio perfetto, mentre un valore di 1 sfoca completamente la riflessione (simulando una microsuperficie naturale). È poissible ottenere la maggior parte dei materiali comuni con la giusta combinazione di Metallico e Rugosità.
Emissione
Emissione specifica la quantità di luce emessa dal materiale (tenere presente che questo non include la luce attorno alla geometria, a meno che non siano usati i VoxelGI o gli SDFGI). Questo valore è aggiunto all'immagine finale risultante e non è influenzato da altre luci nella scena.
Mappa di normali
Una mappe di normali (normal map) consente di impostare una texture che rappresenta i dettagli più fini di forma. Questa non modifica la geometria, ma solo l'angolo di incidenza della luce. In Godot, sono utilizzati solo i canali rosso e verde delle mappe di normali per una migliore compressione e una maggiore compatibilità.
Nota
Godot richiede che la mappa di normali utilizzi le coordinate X+, Y+ e Z+, il che è noto come stile OpenGL. Se è stato importato un materiale creato per essere usato con un altro motore, potrebbe essere in stile DirectX, nel qual caso è necessario convertire la mappa di normali affinché l'asse Y sia invertito.
Ulteriori informazioni sulle mappe di normali (inclusa una tabella di ordine delle coordinate per i motori più diffusi) sono disponibili qui.
Mappa di normali piegate
Una mappa di normali curve (bent normal map) descrive la direzione media dell'illuminazione ambientale. A differenza di una mappa di normali tradizionale, questa è utilizzata per migliorare il modo in cui un materiale reagisce all'illuminazione, piuttosto che per aggiungere dettagli alla superficie.
Ciò si ottiene in due modi:
L'illuminazione indiretta diffusa viene adattata per corrispondere meglio all'illuminazione globale.
Se l'occlusione speculare è abilitata, è calcolata utilizzando le normali piegate e l'occlusione ambientale anziché basarsi solo sulla luce ambientale. Questo include l'occlusione ambientale nello spazio dello schermo (SSAO) e altre sorgenti di occlusione ambientale.
Godot utilizza solo i canali rosso e verde di una mappa di normali piegate per una migliore compressione e una maggiore compatibilità.
Quando si crea una mappa di normali piegate, sono tre le cose necessarie pur di funzionare correttamente in Godot:
A cosine distribution of rays has to be used when baking.
The texture must be created in tangent space.
È necessario che la mappa di normali piegate utilizzi le coordinate X+, Y+ e Z+, il che è noto come stile OpenGL. Se è stato importato un materiale creato per essere usato con un altro motore, potrebbe essere in stile DirectX, nel qual caso è necessario convertire la mappa di normali affinché l'asse Y sia invertito. Si può fare ciò impostando il canale verde nella sezione Rimappatura canale su Verde invertito nel pannello di importazione.
Nota
Una mappa di normali piegate è diversa da una solita mappa di normali. Le due non sono intercambiabili.
Rim
Alcuni tessuti hanno una piccola micro-pelliccia che diffonde la luce attorno ad essa. Godot emula questo fenomeno con il parametro Rim. A differenza di altre implementazioni di illuminazione sul bordo, che utilizzano solo il canale di emissione, questa tiene effettivamente conto della luce (nessuna luce significa nessun bordo). Ciò rende l'effetto molto più credibile.
La dimensione dell'effetto rim dipende dalla rugosità, ed c'è un parametro speciale per specificare come deve essere colorato. Se Tinta è 0, per il rim è usato il colore della luce. Se Tinta è 1, è usato l'albedo del materiale. In genere, usare valori intermedi funziona meglio.
Rivestimento trasparente
Il parametro Clearcoat permette di aggiungere una seconda passata di strato trasparente al materiale. Questa tecnica è comune nelle vernici per auto e nei giocattoli. In pratica, è una piccola macchia speculare aggiunta sopra il materiale esistente.
Anisotropia
Questo cambia la forma della macchia speculare e la allinea allo spazio tangente. L'anisotropia è comunemente usata con i capelli o per rendere più realistici materiali come l'alluminio lucidato. Funziona particolarmente bene se combinata con le mappe di flusso.
Occlusione ambientale
È possibile specificare una mappa di occlusione ambientale precalcolata. Questa mappa influenza la quantità di luce ambientale che raggiunge ciascuna superficie dell'oggetto (come predefinito non influenza la luce diretta). Sebbene sia possibile utilizzare l'occlusione ambientale nello spazio dello schermo (SSAO) per generare l'occlusione ambientale, nulla batte la qualità di una buona mappa AO precalcolata. Si consiglia di precalcolare l'occlusione ambientale ove possibile.
Altezza
Setting a height map on a material produces a ray-marched search to emulate the proper displacement of cavities along the view direction. This only creates an illusion of depth, and does not add real geometry — for a height map shape used for physics collision (such as terrain), see HeightMapShape3D. It may not work for complex objects, but it produces a realistic depth effect for textures. For best results, Height should be used together with normal mapping.
Subsurface Scattering
Disponibile solo nel renderer Forward+, non nei renderer Mobile o Compatibilità.
Questo effetto emula la luce che penetra la superficie di un oggetto, si diffonde e poi esce. È utile per creare effetti realistici su pelle, marmo, liquidi colorati, ecc.
Illuminazione posteriore
Questo controlla quanta luce dal lato illuminato (visibile alla luce) è trasferita al lato oscuro (opposto alla luce). Funziona bene per oggetti sottili come le foglie di piante, l'erba, le orecchie umane, ecc.
Rifrazione
Quando la rifrazione è abilitata, Godot tenta di recuperare informazioni da dietro l'oggetto attualmente renderizzato. Ciò consente di distorcere la trasparenza in un modo simile alla rifrazione nella vita reale.
Si ricordi di utilizzare una texture albedo trasparente (o di ridurre il canale alfa del colore albedo) per rendere visibile la rifrazione, poiché la rifrazione si basa sulla trasparenza per avere un effetto evidente.
La rifrazione tiene conto anche della rugosità del materiale. Valori di rugosità più elevati renderanno gli oggetti dietro la rifrazione più sfocati, simulando il comportamento nella vita reale. Se non si riesce a vedere dietro l'oggetto quando la rifrazione è abilitata e la trasparenza dell'albedo è ridotta, diminuire il valore di Rugosità del materiale.
È possibile specificare facoltativamente una mappa di normali nella proprietà Texture di rifrazione per permettere di distorsione la direzione della rifrazione per ogni pixel.
Nota
La rifrazione è implementata come un effetto nello spazio sullo schermo e forza il materiale a essere trasparente. Ciò rende l'effetto relativamente rapido, ma risulta in alcune limitazioni:
Potrebbero verificarsi problemi di ordinamento della trasparenza.
Il materiale rifrattivo non può rifrangersi su se stesso o su altri materiali trasparenti. Un materiale rifrangente dietro un altro materiale trasparente sarà invisibile.
Gli oggetti fuori dallo schermo non possono apparire nella rifrazione. Questo è particolarmente evidente con valori di rifrazione elevati.
I materiali opachi di fronte al materiale rifrangente sembreranno avere bordi "rifratti", anche se non dovrebbero.
Dettaglio
Godot consente di utilizzare un albedo e mappe di normali secondari per generare una texture di dettaglio, che si può fondere in molti modi. Combinando questo con modalità di UV secondarie o triplanari, è possibile ottenere molte texture interessanti.
Ci sono vari settaggi che controllano come viene utilizzato il dettaglio.
Maschera: la maschera di dettaglio è un'immagine in bianco e nero utilizzata per controllare dove avviene la fusione su una texture. Il bianco è per le texture di dettaglio, il nero per le texture dei materiali regolari, diverse tonalità di grigio servono per la fusione parziale delle texture dei materiali e di dettaglio.
Modalità di fusione: queste quattro modalità controllano il modo in cui le texture sono fuse insieme.
Mix: combina i valori dei pixel di entrambe le texture. Con il nero, mostra solo la texture del materiale, con il bianco, mostra solo la texture di dettaglio. I valori di grigio creano una fusione uniforme tra le due.
Add: somma i valori dei pixel di una texture con l'altra. A differenza della modalità mix, entrambe le texture sono completamente fuse nelle parti bianche di una maschera e non nelle parti grigie. La texture originale rimane per lo più invariata nelle parti nere
Sub: sottrae i valori dei pixel di una texture con quelli dell'altra. La seconda texture è sottratta completamente nelle parti bianche di una maschera, con solo una piccola sottrazione nelle parti nere; le parti grigie hanno diversi livelli di sottrazione in base alla texture esatta.
Mul: moltiplica i numeri dei canali RGB per ciascun pixel della texture superiore con i valori del pixel corrispondente della texture inferiore.
Albedo: qui è possibile inserire una texture di albedo da fondere. Se non c'è nulla in questo slot, sarà interpretato come bianco per valore predefinito.
Normale: qui è possibile una texture di normali da fondere. Se non c'è nulla in questo slot, sarà interpretata come una mappa di normali piatta. Questa opzione si può usare anche se il materiale non ha la mappa di normali abilitata.
UV1 e UV2
Godot supporta due canali UV per materiale. Gli UV secondari sono spesso utili per l'occlusione ambientale o l'emissione (luce preparata). Gli UV si possono ridimensionate e scostare, il che è utile nelle texture ripetute.
Mappatura triplanare
La mappatura triplanare è supportata sia per UV1 sia per UV2. Si tratta di un metodo alternativo per ottenere le coordinate delle texture, talvolta chiamato "Autotexture". Le texture sono campionate in X, Y e Z e fuse per la normale. La mappatura triplanare si può esegure sia nello spazio mondiale sia nello spazio d'oggetto.
Nell'immagine sottostante, si può notare come tutte le primitive condividano lo stesso materiale con il triplanare del mondo, quindi la texture di mattoni continua uniformemente tra di esse.
World Triplanar
Quando si utilizza la mappatura triplanare, il calcolo avviene nello spazio locale dell'oggetto. Questa opzione lo fa utilizzare lo spazio globale.
Campionamento
Filtro
Metodo di filtro per le texture utilizzate dal materiale. Consultare questa pagina per un elenco completo delle opzioni e la loro descrizione.
Ripeti
Se le texture utilizzate dal materiale si ripetono, e come si ripetono. Consultare questa pagina per un elenco completo delle opzioni e la loro descrizione.
Ombre
Disable Receive Shadows
Makes the object not receive any kind of shadow that would otherwise be cast onto it.
Shadow to Opacity
L'illuminazione modifica il canale alfa, rendendo le zone ombreggiate opache e quelle non ombreggiate trasparenti. Utile per sovrapporre le ombre al feed fornito da una telecamera in AR.
Billboard
Modalità di billboard
Abilita la modalità billboard per disegnare i materiali. Controlla il modo in cui l'oggetto è orientato verso la telecamera:
Disabled: la modalità billboard è disabilitata.
Enabled: la modalità billboard è abilitata. L'asse -Z dell'oggetto sarà sempre rivolto verso il piano di visualizzazione della telecamera.
Y-Billboard: l'asse X dell'oggetto sarà sempre allineato con il piano di visualizzazione della telecamera.
Particle Billboard: maggiormente adatto per i sistemi di particelle, perché consente di specificare un'animazione flipbook.
La sezione Animazione di particelle è visibile solo quando la modalità billboard è Particle Billboard.
Billboard Keep Scale
Consente di cambiare la scala di una mesh in modalità billboard.
Crescere
Grows the object vertices in the direction pointed by their normals:
Questo è comunemente usato per creare contorni a minimo impatto sulle prestazioni. Aggiungere un secondo passaggio di materiale, renderlo nero e non ombreggiato, culling inverso (Cull Front) e aggiungere un po' di effetto grow:
Nota
Affinché Grow funzioni come previsto, la mesh deve avere facce collegate con vertici condivisi, o "smooth shading". Se la mesh ha facce scollegate con vertici univoci, o "flat shading", la mesh apparirà con spazi vuoti quando si utilizza Grow.
Si noti che da Godot 4.5 in poi, i contorni basati sul buffer di stencil sono disponibili utilizzando la modalità Outline stencil. Questa si può utilizzare come alternativa a Grow per i contorni.
Trasformazione
Dimensioni fisse
Questo fa sì che l'oggetto sia renderizzato con le stesse dimensioni, qualunque sia la distanza. Questa funzionalità è utile soprattutto per gli indicatori (nessun test di profondità e priorità di rendering elevata) e per alcuni tipi di billboard.
Usa le dimensioni dei punti
Questa opzione è efficace solo quando la geometria renderizzata è composta da punti (in genere è composta da triangoli se importata da un software di modellazione 3D). In tal caso, è possibile ridimensionare tali punti (vedere di seguito).
Dimensioni dei punti
Quando si disegnano punti, specificare la dimensione del punto in pixel.
Usa scie di particelle
Questo è disponibile solo nei renderer Forward+ e Mobile, non nel renderer Compatibilità.
Se impostato su true, abilita parti dello shader necessarie per il funzionamento delle scie di GPUParticles3D. Ciò richiede anche l'uso di una mesh con skinning appropriato, come RibbonTrailMesh o TubeTrailMesh. Il rendering di un materiale non funzionerà correttamente se questa funzionalità è abilitata su un materiale non utilizzato in una mesh di GPUParticles3D.
Usa scala di clip Z
Ridimensiona l'oggetto renderizzato verso la telecamera per evitare il clipping in cose come i muri. Questa impostazione è pensata per oggetti fissi rispetto alla telecamera, come le braccia, gli strumenti, ecc. del giocatore. Luci e ombre continueranno a funzionare correttamente quando questa impostazione è regolata, ma gli effetti nello spazio dello schermo, come SSAO e SSR, potrebbero non funzionare correttamente con scale inferiori. Pertanto, si consiglia di mantenere questa impostazione il più vicino possibile a 1.0.
Usa ridefinizione del campo visivo
Sovrascrive l'angolo del campo visivo del Camera3D (in gradi).
Nota
Questo si comporta come se il campo visivo fosse impostato su una Camera3D con Camera3D.keep_aspect impostato su Camera3D.KEEP_HEIGHT. Inoltre, potrebbe non apparire corretto su una telecamera non prospettica, in cui l'impostazione del campo visivo è ignorata.
Dissolvenza in prossimità e a distanza
Godot consente ai materiali di dissolversi in base alla vicinanza tra loro e alla distanza dall'osservatore. La dissolvenza in prossimità è utile per effetti come particelle soffuse o una massa d'acqua con una sfumatura graduale verso le rive.
La dissolvenza a distanza è utile per fasci di luce o indicatori che appaiono solo dopo una certa distanza.
Tenere in mente che abilitare la dissolvenza in prossimità o a distanza con la modalità Pixel Alpha abilita la fusione alfa. La fusione alfa ha un impatto maggiore sulla GPU e può causare problemi di ordine della trasparenza. La fusione alfa disabilita anche molte funzionalità del materiale, come l'abilità di proiettare ombre.
Nota
Per nascondere un personaggio quando si avvicina troppo alla telecamera, si consideri l'uso di Pixel Dither o, ancora meglio, Object Dither (che è ancora più veloce di Pixel Dither).
Modalità Pixel Alpha: la trasparenza effettiva di un pixel dell'oggetto cambia con la distanza dalla telecamera. Questo è l'effetto più evidente, ma forza il materiale nella pipeline della trasparenza (il che porta, ad esempio, a non proiettare ombre).
Modalità Pixel Dither: questa modalità in un certo senso approssima la trasparenza, renderizzando solo una frazione dei pixel.
Modalità Object Dithering: come la modalità precedente, ma la trasparenza calcolata è la stessa su tutta la superficie dell'oggetto.
Stencil
Dalla versione 4.5 di Godot, i materiali possono utilizzare il buffer dello stencil. Questa funzionalità è comunemente usata per creare contorni ed effetti a raggi X, utili per evidenziare oggetti, soprattutto se nascosti dietro le pareti.
Le modalità Outline e X-Ray assegnano un materiale stencil pre-configurato alla proprietà Next Pass del materiale. La modalità Custom si può utilizzare per effetti avanzati.
I materiali che scrivono nel buffer stencil sono sempre disegnati nel passaggio trasparente, quindi sono soggetti alle solite limitazioni di trasparenza.
Nota
Come per la proprietà Grow, affinché il contorno stencil funzioni come previsto, la mesh deve avere facce collegate con vertici condivisi, o "smooth shading". Se la mesh ha facce scollegate con vertici univoci, o "flat shading", la mesh apparirà con spazi vuoti quando si utilizza un contorno stencil.
I contorni stencil sono renderizzati in modo simile alla proprietà Grow, ma non avranno lo stesso aspetto in ogni scenario, soprattutto quando sono coinvolte intersezioni con superfici opache.
Impostazioni di materiale
Priorità di rendering
È possibile cambiare l'ordine di rendering degli oggetti, il che è utile soprattutto per gli oggetti trasparenti (o per gli oggetti opachi che disegnano la profondità ma non il colore, come crepe su un pavimento).
Gli oggetti sono ordinati da una coda opaca/trasparente, poi con render_priority, con una priorità più alta disegnata in seguito. Inoltre, gli oggetti trasparenti sono ordinati in base alla profondità.
I test di profondità prevalgono sulla priorità. La priorità da sola non può forzare oggetti opachi a disegnarsi l'uno sopra l'altro.
Passo successivo
Impostando next_pass su un materiale, l'oggetto sarà ri-renderizzato con quel materiale successivo.
I materiali sono ordinati da una coda opaca/trasparente, poi con render_priority, con la priorità più alta disegnata in seguito.
La profondità sarà testata in modo uguale tra entrambi i materiali, a meno che non siano utilizzate l'impostazione "grow" o altre trasformazioni dei vertici. Più passaggi trasparenti dovrebbero utilizzare render_priority per garantire un ordine corretto.