Il sistema Materiale di Unreal Engine offre un editor di materiali basato su nodi che consente di collegare texture, operazioni matematiche, parametri ed espressioni per creare l'aspetto di una superficie. Il sistema ottimizza e renderizza i materiali in tempo reale.
Per un utente Maya, questo flusso di lavoro è simile a come si costruiscono materiali in Hypershade ma con alcune differenze fondamentali.
I materiali in Unreal Engine sono costruiti tramite:
Un editor di materiali basato su nodi ottimizzato per l'anteprima in tempo reale e per flussi di lavoro.
Rendering in base alla fisica (PBR) che punta al realismo tramite input di proprietà come colore di base, metallico, rugosità, speculare e mappa di normali.
Feedback in tempo reale con modifiche ai materiali nella viewport di anteprima con illuminazione e riflessi in tempo reale.
Flussi di lavoro basati su parametri con istanze Materiale per consentire modifiche ai materiali mediante override senza dover ricompilare il materiale padre.
Attributi principali di un materiale
Gli attributi che determinano come un materiale viene renderizzato e come reagisce alla luce e alle superfici in Unreal Engine sono definiti dalle sue proprietà, dagli input e dalla logica del grafico dei materiali.
Proprietà e input dei materiali
Nell'Editor dei materiali il pannello Dettagli è dove si configurano gli attributi fondamentali di un materiale. Ci sono tre proprietà principali da considerare in base al tipo di materiale che realizzi. Queste proprietà determinano gli input disponibili nel nodo principale che usi per configurare l'aspetto del tuo materiale nel grafico dei materiali.
Il Dominio dei materiali definisce per cosa può essere utilizzato in materiale nel tuo progetto. Per esempio, una superficie 3D, un'interfaccia utente, la post-elaborazione, le funzioni di luce o le decalcomanie.
La Modalità fusione definisce come il materiale si fonde con i pixel dello sfondo. Per esempio, può essere opaco, traslucido, mascherato o altro.
Il Modello di sfumatura definisce come il materiale interagisce con la luce, influenzando l'aspetto visivo e il comportamento di illuminazione della superficie. Per esempio, i modelli di sfumatura di tessuto e capelli usano input di materiali differenti per ottenere realismo rispetto al modello di sfumatura di illuminazione predefinita. Alcuni modelli di sfumatura aggiungono maggiore complessità e costo di prestazione ai loro materiali.
Una volta impostate queste proprietà dei materiali, si possono usare gli input disponibili nel nodo principale per costruire il materiale nel grafico dei materiali. L'elenco degli input è attribuito direttamente a dominio, modalità di fusione e modello di sfumatura per il materiale che stai sviluppando. Per la maggior parte dei materiali creati in Unreal Engine, si usano i seguenti:
Esempio dei diversi input nel nodo materiale principale durante la modifica della modalità di fusione per utilizzare output diversi.
Dominio dei materiali: superficie Modalità di fusione: opaca Modello di sfumatura: illuminazione predefinita | Dominio dei materiali: superficie Modalità di fusione: traslucida Modello di sfumatura: illuminazione predefinita | Dominio dei materiali: superficie Modalità di fusione: mascherata Modello di sfumatura: illuminazione predefinita |
Questi sono alcuni nomi comuni utilizzati con i materiali Hypershade di Maya e i loro equivalenti in Unreal Engine. Include anche il tipo tipico di input di origine per ogni input in Unreal Engine durante la definizione della logica nel grafico dei materiali.
| Input materiale Hypershade di Maya | Input materiali di Unreal Engine | Tipo di sorgente tipico | Descrizione dell'input materiale |
|---|---|---|---|
Colore | Colore di base | Texture o colore | Il colore diffuso principale di una superficie. |
Riflettività | Metallico | Scalare o texture | Definisce se la superficie è metallica (1) o non metallica (0) come aspetto. |
Rugosità | Rugosità | Scalare o texture | Controlla la levigatezza della superficie da liscia (0) a ruvida (1). |
Riflettività | Speculare | Scalare o texture | Controlla l'intensità riflettente di una superficie non metallica da non riflettente (0) a riflettente (1). |
Protuberanza / Normale | Normale | Texture mappa di normali | Applica dettagli superficiali tramite mappe di texture. |
Emissione / Colore di emissione / Incandescenza | Colore emissivo | Colore o texture | Controlla l'intensità dell'autoilluminazione da una superficie. |
Trasparenza / Traslucenza | Opacità | Scalare o texture | Controlla quanto la superficie è traslucida da completamente trasparente (0) a opaca (1). |
Colore dell'ambiente | Occlusione ambientale | Texture | Controlla l'intensità delle ombre indirette. |
Per maggiori informazioni ed esempi di utilizzo di queste proprietà dei materiali e dei loro input, dai un'occhiata ai seguenti argomenti:
Grafico dei materiali
Il grafico dei materiali è l'editor a nodi in cui colleghi texture, espressioni, operazioni matematiche e valori per definire l'aspetto di una superficie. I materiali possono essere semplici o complessi a seconda delle esigenze di definizione della superficie.
I tipi di nodo comuni che utilizzo sono:
Campione texture
Questo nodo utilizza asset di texture come mappe di colore e mappe normali.
Costanti
Valori numerici singoli utili per controllare le proprietà scalari come input per interpolazione lineare o inserimento diretto per il nodo materiale principale per metallico, rugosità e opacità.
Nodi matematica
Sono operazioni matematiche per aggiungere, moltiplicare, sottrarre, dividere, interpolare linearmente, elevare a potenza, ecc.
Nodi utilità
Nodi per costruire logica nel grafico con altri nodi. Includono espressioni for Fresnel, vettore visuale, posizione del mondo, coordinate della texture, ecc.
Per maggiori informazioni sull'utilizzo della logica nel grafico del materiale e sulla funzionalità generale, dai un'occhiata ai seguenti argomenti:
Note aggiuntive per materiali e texture
Di seguito ci sono alcune panoramiche di alto livello degli argomenti relativi allo sviluppo del materiale in Unreal Engine. Per approfondimenti su questi concetti e applicazioni, dai un'occhiata alle pagine di documentazione collegate.
Confronto tra materiali e istanze materiale
Il sistema dei materiali di Unreal Engine è progettato per la personalizzazione e la parametrizzazione nel rendering in tempo reale e nell'illuminazione. Un modo per ottimizzare il lavoro con i materiali è utilizzare le istanze materiale per personalizzare i parametri senza modificare il materiale originale da cui derivano.
Quindi, se un Materiale è l'asset principale che definisce l'aspetto della superficie di un oggetto e come interagisce con la luce, una istanza materiale utilizza attributi e parametri del genitore o del materiale di base per sovrascrivere questi valori e creare varietà e personalizzazioni. Questo può essere anche più efficiente rispetto all'utilizzo di materiali separati per tutti gli oggetti.
Puoi suddividere le caratteristiche dei materiali e delle istanze materiale nei modi seguenti:
| Caratteristiche dei materiali | Caratteristiche delle istanze materiale |
|---|---|
Creato utilizzando un editor a nodi. | Usa un editor che funziona in base ai parametri esposti che possono essere sovrascritti dal materiale base. |
Contiene tutti gli input possibili di un materiale come colore, metallico, rugosità, opacità, ecc. | Fornisce accesso solo ai parametri esposti dal materiale base che possono essere sovrascritti. |
Le modifiche al materiale richiedono la ricompilazione del materiale prima di poter essere visualizzate. | Fornisce feedback in tempo reale per i parametri che cambiano, mentre non è necessario ricompilare il materiale. |
Il grafico del materiale può avere qualsiasi livello di complessità per soddisfare i requisiti visivi. | Accesso solo ai parametri esposti significa che migliora le prestazioni e l'efficienza del flusso di lavoro. |
Le modifiche al materiale influiscono su tutti gli oggetti che lo utilizzano. | La modifica di questa istanza materiale influisce solo sugli oggetti che la utilizzano, rendendola ideale per creare superfici simili che partono dallo stesso genitore base con caratteristiche simili. |
Il momento migliore per considerare l'uso di una istanza materiale insieme a un materiale è quando devi solo personalizzare i dettagli e regolare i parametri come il colore dei materiali, le texture, la scala e così via. Devi creare nuovi materiali base quando hai bisogno di definire un nuovo comportamento visivo e uno stile diverso (come nel caso di opaco rispetto a traslucido) che richiede una nuova logica nel grafico del materiale.
I materiali richiedono generalmente un tempo di configurazione iniziale più elevato e offrono prestazioni inferiori rispetto all'uso di una istanza materiale per materiali con proprietà e attributi simili.
Per maggiori informazioni sull'utilizzo dei materiali con le istanze materiale, consulta i seguenti argomenti:
Texture
Come in Maya, le texture sono mappe di immagini che applichi agli attributi di input del materiale che stai creando, come colore di base, normale, rugosità per definire i dettagli della superficie. In Unreal Engine si dà maggiore importanza ai concetti di rendering in base alla fisica e al feedback in tempo reale durante lo sviluppo dei materiali.
Quando importi le texture puoi aprirle nel Editor Asset Texture, per visualizzare le informazioni, configurare le impostazioni e apportare alcune modifiche.
Puoi fare quanto segue per ottimizzare e lavorare in modo più efficiente con le texture in Unreal Engine:
Creare e modificare le texture utilizzando strumenti di terze parti prima di importarle.
Usare tecniche di impacchettamento di canale per combinare più texture in scala di grigi per input materiale come rugosità, metallico e occlusione ambientale in singole texture RGB. Questo può ottimizzare le prestazioni facendo riferimento a una sola texture invece di diverse.
Il motore utilizza automaticamente la compressione delle texture, ma comprendere come sfruttarla può migliorare la fedeltà visiva e le prestazioni.
Fai attenzione alla dimensione delle texture. Per prestazioni in tempo reale, è preferibile utilizzare dimensioni di texture in potenze di due come 128, 512 e 1024. Le texture non in potenze di due non utilizzano il sistema di streaming delle texture del motore, il che può causare artefatti visivi a distanza.
Per maggiori informazioni sull'utilizzo delle texture in Unreal Engine, dai un'occhiata ai seguenti argomenti:
Framework materiali substrato
Il Framework materiali substrato di Unreal Engine è un approccio alla creazione di materiali che sostituisce l'insieme fisso di modelli di sfumatura e modalità di fusione mode con un sistema più espressivo e modulare. La creazione dei materiali è la stessa del sistema materiale standard ma non sei più vincolato all'uso di un solo modello di sfumatura e modalità di fusione per ogni materiale. Puoi combinarli perfettamente in questo flusso di lavoro per creare materiali unici e di maggiore complessità.
Per maggiori informazioni sull'utilizzo del substrato nei tuoi progetti e nei flussi di creazione dei materiali, dai un'occhiata a Panoramica dei materiali del substrato.
Rendering in base alla fisica con i materiali
Unreal Engine usa Rendering in base alla fisica (PBR) per sfumature e rendering che simula accuratamente il comportamento della luce che interagisce con le superfici. Questo fornisce interazioni della luce fisicamente plausibili per creare risultati realistici e soprattutto prevedibili in diverse condizioni di illuminazione come luce solare diretta, illuminazione interna oppure superfici fotorealistiche o effetti stilizzati dipinti a mano o con look cel-shaded.
I principi chiave da considerare quando si lavora con i materiali PBR in Unreal Engine sono:
Interazioni realistiche con la luce in cui le superfici rispondono in modo accurato e prevedibile a diverse configurazioni di illuminazione sia naturale (esterno) che artificiale (interno).
Coerenza dei materiali per apparire correttamente in scene e condizioni di illuminazione diverse.
Un flusso di lavoro semplificato in cui gli artisti definiscono i materiali in base alle proprietà fisiche anziché a valori arbitrari, riducendo le congetture nelle regolazioni di sfumatura e illuminazione in un ambiente in tempo reale con feedback immediato nella scena.
Per maggiori informazioni, dai un'occhiata a Materiali in base alla fisica.
Pagina successiva
Illuminazione e rendering in Unreal Engine per gli utenti Maya
Una panoramica delle funzionalità di illuminazione e rendering di Unreal Engine per utenti Maya.