Unity è diventato sempre più popolare tra aspiranti programmatori di giochi. Ciò è dovuto al fatto che Unity supporta direttamente una moltitudine di piattaforme come ambienti mobili, desktop e console. Inoltre, è gratuito da utilizzare per sviluppatori o studi con reddito inferiore.
Unity supporta diverse tecnologie e componenti. Alcuni dei componenti chiave sono le tecniche di illuminazione e illuminazione. In Unity puoi illuminare una scena simulando il complesso comportamento delle luci o applicando un semplice modello di illuminazione.
Questo tutorial si concentrerà sulla spiegazione di come funziona l'illuminazione in Unity 5, i tipi di illuminazione e le proprietà e su come utilizzarli per creare effetti di illuminazione ricchi.
Innanzitutto, assicurati di avere l'ultima versione di Unity. In questo tutorial stiamo usando la versione 5.5.0f3. Assicurati di utilizzare l'ultima versione di Unity; altrimenti potresti avere problemi seguendo il tutorial e usando i giunti fisici.
Quindi, scarica il LightingInUnity5-Starter file. Decomprimere e aprire il progetto in Unity. La scena demo dovrebbe aprirsi automaticamente, ma in caso contrario, puoi aprirla dal Risorse cartella.
In uno scenario reale, hai due tipi di effetti di illuminazione: illuminazione diretta e indiretta. L'illuminazione diretta, come suggerisce il nome, è la luce che proviene direttamente da una fonte di luce (una lampada, il sole o altro). D'altra parte, l'illuminazione indiretta è luce che proviene da un altro oggetto.
Cerchiamo di testare e implementare entrambi.
L'illuminazione diretta può già essere vista in azione nel tuo Scena. Come probabilmente hai notato, hai una luce direzionale nella scena chiamata Luce direzionale.
Le luci direzionali sono principalmente utilizzate in scene all'aperto per sole e luce lunare. Hanno effetto su tutte le superfici degli oggetti nella scena. Sono anche i meno costosi per il processore grafico.
È possibile selezionare il Luce direzionale e vedere le sue proprietà nel Ispettore riquadro. Noterai diverse proprietà interessanti come genere, Colore, e Intensità. Puoi giocare con il Colore e il Rotazione proprietà e vedere il risultato in tempo reale. Modificando questi valori, stai giocando direttamente con la luce direzionale.
In questo momento, la scena 3D non ha alcuna luce indiretta. Puoi verificarlo spostando il file Sfera più vicino al muro verde o rosso. Il Sfera il colore non cambierà.
Un modo per usare l'illuminazione indiretta è usare i GameObject statici. Tieni presente che l'uso di oggetti di gioco statici può migliorare le prestazioni del rendering del tuo gioco, ma riduce anche la qualità, quindi devi trovare il giusto equilibrio per il tuo gioco.
Aggiungi una scatola di riquadri nella tua scena (GameObject > Oggetto 3D > Cubo) e posizionarlo accanto alla sfera. Nominalo Cubo.
Seleziona il Cubo, e dentro il Ispettore abilitare il Statico proprietà.
Quando abiliti il Statico proprietà, Unity crea automaticamente una mappa luminosa per quell'oggetto e applica il modello di illuminazione corretto. Ora puoi spostare la videocamera verso il Cubo e vedere l'illuminazione indiretta in funzione. Il verde (nell'immagine) o il colore rosso si sta ora diffondendo nel Cubo.
Se cambi la direzione del Luce direzionale, noterai che Unity aggiorna automaticamente anche le mappe luminose.
L'illuminazione indiretta che viene applicata al Cubo non è applicato al Sfera perché il Sfera non è statico Puoi risolvere questo facendo il Sfera statico (Ispettore > Statico).
In questo momento, puoi aggiungere e configurare l'illuminazione diretta e indiretta a oggetti statici. Tuttavia, le scene 3D sono composte da oggetti dinamici. Quindi, come possiamo applicare tali effetti a quegli oggetti? Questa domanda ci porta alla prossima sezione.
Quando la scena contiene oggetti non statici, è necessario utilizzare tecniche di illuminazione specifiche per illuminarli correttamente in modo che non sembrino scollegati dalla scena.
Attraverso l'uso di sonde luminose e le loro posizioni, è possibile campionare punti strategici nella scena. Ogni sonda di luce può campionare una regione specifica e quindi calcolare l'illuminazione in quella specifica regione. Questi calcoli sono abbastanza veloci da essere usati durante il gioco. L'uso di sonde luminose evita qualsiasi disconnessione tra l'illuminazione di oggetti in movimento e oggetti con luce statica nella scena.
Il Sfera è un oggetto dinamico, quindi, e contrariamente a ciò che può sembrare, non è correttamente illuminato. Se si accende il Luce direzionale fuori, si noterà che l'unica illuminazione che colpisce il Sfera è la luce ambientale. Per illuminare correttamente il Sfera, hai bisogno di usare sonde luminose.
Per aggiungere sonde luminose a un'area della scena, vai a Componente> Rendering> Gruppo sonda luminosa. Questo creerà un gruppo di sonde luminose nella scena.
Il prossimo passo è mettere le sonde del gruppo nella posizione corretta. Ora vuoi metterli vicino ad ogni angolo del Scatola.
Il modo migliore per farlo è passare a ortografico vista (facendo clic sul cubo nell'angolo in alto a destra della scena). Quindi, selezionare ciascun nodo della sonda luminosa e trascinarlo in ciascuno di essi Scatola angolo (simile all'immagine successiva).
Ripeti il processo finché non hai posizionato tutti i nodi.
Ci sono scene che richiedono sonde aggiuntive per illuminare correttamente gli oggetti. Per aggiungere più sonde, è possibile selezionare una sonda e quindi sotto Ispettore, clicca sul Duplicato selezionato pulsante.
Dopo la duplicazione, devi posizionare il nuovo nodo nel posto giusto (quello duplicato verrà generato nella stessa posizione di quello selezionato).
Se date un'occhiata più da vicino all'interfaccia nel Ispettore, noterai che puoi anche aggiungere singole sonde (Aggiungi sonda), elimina le sonde (Elimina selezionato), o selezionare tutte le sonde dal gruppo (Seleziona tutto).
Per vedere le sonde luminose in azione, selezionare il Sfera e aggiungere un Corpo rigido ad esso (Inserisci Componente> Corpo rigido). Quindi, assegna un materiale al collisore. Puoi usare il materiale di gomma.
Ora, posiziona il Sfera vicino alla cima del Scatola e premere Giocare. Ora puoi vedere la corretta illuminazione del Sfera. Per vedere le differenze, disabilitare le sonde di luce e Giocare la scena di nuovo.
Le luci puntiformi sono la luce più comune nei giochi. Solitamente sono usati per esplosioni e lampadine. Poiché emettono luce in tutte le direzioni, hanno un costo medio sul processore grafico. Tuttavia, calcolare le ombre quando si usano le luci puntiformi è più costoso.
Aggiungi un punto luce selezionando GameObject> Light> Point Light. Quindi, posiziona il Punto luce dentro il Scatola vicino alla cima.
Seleziona il Punto luce e dai un'occhiata ai parametri in Ispettore.
Il primo parametro è genere. Qui puoi impostare il tipo di luce che desideri utilizzare. Puoi selezionare Individuare, Direzionale, Punto, o La zona. Ciascuno fornisce uno specifico effetto di luce. È possibile selezionare una delle opzioni e vedere i risultati in tempo reale. Tuttavia, per questo tutorial utilizzerai il Punto opzione. Questo creerà un effetto lampadina (la luce brilla in tutte le direzioni allo stesso modo).
Il secondo parametro è cottura al forno. Puoi impostarlo su Tempo reale, Al forno, o Misto. Lascia il valore come predefinito. Il Gamma parametro definisce quanto lontano viene emessa la luce dal centro del Punto luce. Il Colore parametro definisce il colore della luce emessa.
Intensità definisce la luminosità della luce, e Intensità di rimbalzo definisce il moltiplicatore di intensità della luce indiretta. Il Tipo di ombra definisce le proprietà dell'ombra e i tipi di ombra. Puoi impostarlo su Nessuna ombra, Hard Shadows, o Ombre morbide. Ricorda che le ombre luminose puntate sono le più costose per il motore, quindi fai attenzione quando selezioni questa opzione.
Se si seleziona Hard Shadows o Ombre morbide, vedrai l'ombra prodotta dal Sfera e il Punto luce. Quando cambi il Forza valore, l'ombra si attenuerà o accentuerà. Il Risoluzione ti consente di definire il livello di dettaglio delle ombre. Finalmente, pregiudizio e Bias normale consente di configurare l'offset utilizzato quando si confronta la posizione dei pixel nello spazio chiaro con il valore della mappa delle ombre.
Il biscotto è un parametro opzionale che rappresenta un canale alfa di una trama utilizzata come maschera che determina la luminosità della luce in diverse posizioni. Poiché questo è un punto luminoso, la trama utilizzata deve essere una Cubemap.
Il Disegna Halo l'opzione restituisce solo un alone attorno alla fonte di luce. bagliore definisce un riferimento a un chiarore da rendere alla posizione della luce. bagliore e Disegna Halo può essere utile durante il debug della scena 3D e possibili colli di bottiglia.
Modalità di rendering definisce l'importanza dell'illuminazione quando il renderer sta rendendo la scena. Più importante è, più intenso sarà il rendering. Il Modalità di rendering può essere impostato su Auto, Importante, o Non Importante. Finalmente, Maschera di abbattimento è usato per selezionare o escludere gruppi di oggetti che sono influenzati dalla luce puntiforme.
Ora che hai visto tutte le proprietà della luce puntiforme, parliamo dell'illuminazione diretta e indiretta quando utilizzi luci puntiformi. Quando crei un gioco, una delle caratteristiche principali è l'uso di effetti di illuminazione e illuminazione. Tuttavia, uno scenario di illuminazione intensa porterà a tempi di caricamento più pesanti, colli di bottiglia FPS e più lavoro per la CPU. Pertanto, si consiglia di giocare con Shadows genere e cottura al forno proprietà per bilanciare le prestazioni della scena.
Ad esempio, se imposti il cottura al forno a Tempo reale e il Tipo di ombra a Hard Shadows o Ombre morbide, avrai un effetto ombra molto bello e realistico tra il Sfera e il Scatola. Tuttavia, questa configurazione può essere pesante per la CPU se la scena è composta da molte luci.
Come risolvere questo problema? Puoi inizialmente impostare il cottura al forno parametro a Infornare. Una volta fatto questo, Unity creerà automaticamente delle mappe di luce per questa luce, dandoti un aumento delle prestazioni. Tuttavia, questo aumento di prestazioni ha il suo costo: ora non hai ombre che vengono proiettate dalla luce puntiforme in oggetti dinamici, come il Sfera.
La migliore pratica è analizzare ciascuna luce individualmente, quindi procedere di conseguenza. Ad esempio, in questa scena avrebbe più senso avere Tempo reale cottura al forno e Difficile Shadows, perché solo una fonte di luce è presente all'interno della scatola.
Tuttavia, se la tua fonte di luce è una torcia in un muro, sarebbe meglio impostare cottura al forno a Infornare e consentire a Unity di produrre le mappe di luce.
Ricordiamo che spetta allo sviluppatore gestire la qualità e le prestazioni del gioco. Pertanto, tieni presente che devi stare attento a mantenere questo equilibrio, specialmente se stai sviluppando dispositivi mobili.
Le luci spot emettono luce da una sorgente luminosa che si rivolge a una regione specifica. Illuminano solo gli oggetti all'interno di una regione specifica, una regione delimitata da un cono 3D. Fondamentalmente, funzionano come i fari di un'auto. Come puoi immaginare, sono perfetti per torce elettriche, fari di automobili o lampioni. Sono anche il tipo di luce più costoso per il processore grafico.
Cerchiamo ora di cambiare il Punto luce in un punto luce. Seleziona il Punto luce hai creato prima e cambia il suo genere a Individuare. Il prossimo, Ruotare la luce in modo che possa illuminare il pavimento del Scatola. Rinominalo in Riflettore.
Come avrai notato, all'interno del Ispettore, il Individuare i parametri sono simili al Punto quelli. Tuttavia, ne hai una nuova chiamata Angolo del punto.
Il Angolo del punto determina l'angolo del cono di luce in gradi.
Per quanto riguarda l'illuminazione diretta e indiretta, le luci spot funzionano esattamente come punti luce. Hai le stesse limitazioni e vantaggi. Pertanto, devi stare attento quando imposti il bilanciamento delle luci nel tuo gioco.
Nota che puoi sempre giocare con le ombre e cuocere al forno per bilanciare aspetto e prestazioni.
Una luce di area è luce emessa in tutte le direzioni su un lato di un'area rettangolare di un piano. Questo rettangolo è definito in entrambi Larghezza e Altezza proprietà. Le luci dell'area sono disponibili solo durante la cottura della mappa di luce, il che significa che non hanno alcun effetto sugli oggetti in fase di esecuzione.
Seleziona il Riflettore e cambiala genere a La zona e il suo nome a Area luce. Quindi, posiziona la luce all'interno della tua scatola, e nella Ispettore, cambiare il Larghezza e il Altezza, per coprire l'intera area all'interno del Scatola.
Guardando il Area luce parametri, noterete che la maggior parte dei parametri sono simili ai precedenti, per esempio genere, Disegna Halo, bagliore, Modalità di rendering, e Maschera di abbattimento.
I veri nuovi parametri sono i Larghezza e Altezza.Entrambi sono utilizzati per impostare la dimensione dell'area di luce rettangolare.
Se si preme Giocare, vedrai che la luce dell'area sta facendo luce su tutti gli oggetti nel suo raggio. La dimensione del rettangolo è determinata dal Larghezza e Altezza proprietà. Il lato su cui viene lanciata la luce è il piano normale, che è uguale al positivo della luce Z direzione. La luce viene emessa da tutta la superficie del rettangolo. Per questo motivo, l'ombreggiatura e le ombre dall'oggetto interessato tendono ad essere molto più morbide rispetto alle sorgenti luminose puntiformi o direzionali.
I calcoli di illuminazione per un'area illuminata sono piuttosto intensi in termini di processore, quindi non sono disponibili in fase di runtime e possono essere solo Al forno in mappe chiare.
Questo conclude il tutorial sull'illuminazione in Unity 5. Hai imparato a conoscere diversi effetti e configurazioni di illuminazione. Con questa conoscenza, ora puoi applicare diversi effetti di luce al tuo gioco o applicazione.
L'unità ha un'economia attiva. Ci sono molti altri prodotti che ti aiutano a costruire il tuo progetto. La natura della piattaforma lo rende anche un'ottima opzione da cui puoi migliorare le tue abilità. In ogni caso, puoi vedere tutto ciò che abbiamo a disposizione nel Marketplace Envato.
Se hai ulteriori domande o commenti, come sempre, sentiti libero di lasciare una riga nella sezione dei commenti.