Strumenti del motore Unity Terrain

Cosa starai creando

Unity è un motore di gioco multipiattaforma sviluppato da Unity Technologies e viene utilizzato per creare videogiochi e applicazioni per una moltitudine di dispositivi (PC, console, dispositivi mobili e persino siti Web). I principali vantaggi di Unity sono la sua robustezza e portabilità; Unity prende di mira diverse API conosciute come Direct3D, OpenGL, OpenGL ES e il recente Vulkan.

A causa delle caratteristiche di cui sopra, Unity è diventato sempre più popolare tra le case di sviluppo software AAA e aspiranti programmatori di giochi.

Unity supporta diverse tecnologie e componenti. Uno dei componenti chiave è il sistema del motore del terreno. Il sistema di terreno di Unity ti consente di creare vasti paesaggi per i tuoi giochi o applicazioni. È possibile utilizzare una selezione di strumenti disponibili per creare terreni facilmente e rapidamente.

Questo tutorial si concentrerà sulla spiegazione di come funzionano gli strumenti del motore del terreno e su come utilizzarli per creare ambienti di terreno vasti e ricchi.

Prerequisiti

Innanzitutto, assicurati di avere l'ultima versione di Unity. In questo tutorial stiamo usando la versione 5.6. Assicurati di utilizzare l'ultima versione di Unity; altrimenti potresti trovare piccole differenze seguendo il tutorial e usando i giunti fisici.

Per questo tutorial, non utilizzerai alcun file di avvio. L'obiettivo è creare un nuovo progetto ed eseguire il tutorial da lì.

Gli strumenti del terreno

Il primo passo è creare un nuovo progetto Unity. Ora aggiungi una nuova scena (File> Nuova scena). La nuova scena è stata creata con due oggetti di gioco, il Macchina fotografica principale e a Luce direzionale (Unity 5 aggiungerà automaticamente uno skybox alla scena).

Ora, per aggiungere un oggetto di gioco terreno, vai al GameObject menu e selezionare Oggetto 3D> Terreno. Questo aggiungerà un piano piano (chiamato Terreno) nella tua scena. Questo piano è la mesh che stiamo per scolpire per creare il tuo terreno livellato.

Se controlli il tuo Risorse directory (parte inferiore di Unity), vedrai che a Nuovo terreno il file è stato creato.

Seleziona il terreno e guarda il Ispettore scheda. Vedrai che il terreno ha tre componenti: Trasformare, il Terreno script, e il Terrain Collider componente.

Il componente terreno ti fornisce gli strumenti necessari per modificare il tuo terreno. Tutti gli strumenti sulla barra degli strumenti, ad eccezione dello strumento di posizionamento degli alberi e del pannello delle impostazioni, forniscono un set di "pennelli" e impostazioni per le dimensioni e l'opacità del pennello, proprio come gli strumenti di pittura da un normale editor di immagini. Questo ti permette di scolpire il tuo terreno in modo simile a uno strumento di pittura.

Se si seleziona un pennello sotto il Terreno componente e mouse sul terreno, vedrai un'area blu proiettata sul terreno. Questo ti consente di conoscere l'area del terreno interessata dal pennello.

Come forse hai già capito, il Terreno è abbastanza grande Per navigare attraverso il Scena, puoi usare il mouse e la tastiera. Dentro il Scena scheda, premere e tenere premuto il tasto Pulsante destro del mouse (il cursore dovrebbe cambiare a occhio).

Tenendo premuto il pulsante del mouse:

  • Puoi cambiare l'angolo della tua vista spostando il mouse.
  • Utilizzare il W, S, A, D i tasti per muoversi nella scena 3D.

Prima di iniziare ad esplorare gli strumenti del terreno, diamo un'occhiata al Terreno proprietà. L'ultimo pulsante sul componente Terreno (all'interno del Ispettore) ti mostrerà i parametri di base del terreno.

Le proprietà sono divise in sezioni:

  • Terreno Base
  • Albero e oggetti di dettaglio
  • Impostazioni vento per erba
  • Risoluzione
  • heightmap

All'interno della prima sezione Terreno Base, troverete diverse proprietà e parametri.

Il Disegnare opzione attiva o disattiva il rendering del terreno. Il Errore pixel rappresenta il valore di accuratezza della mappatura tra le mappe del terreno (ad esempio trame, mappe di altezza e terreno generato). Valori più alti rappresentano una precisione inferiore, mentre valori più bassi generano un sovraccarico di rendering. È tua responsabilità bilanciare questo valore al fine di creare un ambiente piacevole e ricco.

Il Mappa base dist. è la distanza massima in cui le trame del terreno verranno visualizzate alla massima risoluzione. Puoi attivare o disattivare le ombre selezionando Ombre nascoste.

Avanti, abbiamo Materiale. Qui imposti il ​​materiale che verrà utilizzato per rendere il terreno. Ciò influenzerà il modo in cui i canali di colore di una trama del terreno vengono interpretati. Puoi selezionare:

  • Built In Standard rappresenta il materiale di rendering basato fisicamente che è stato introdotto in Unity 5. Se si seleziona questa opzione, per ogni layer di splat, è possibile utilizzare una texture per albedo e levigatezza, una texture per normale e un valore scalare per modificare la metallicità. Tieni presente che se "Sovrascrivi la levigatezza"viene controllato, invece di leggere dalle mappe texture, la levigatezza dell'intero terreno sarà controllata solo dal levigatezza valore.
  • Costruito in Legacy Diffuse rappresenta il materiale terreno preesistente incorporato dalle precedenti versioni di Unity (Unity 4 e backwards). Utilizza un modello di illuminazione Lambert e dispone di supporto per mappe normali opzionali.
  • Costruito in Legacy Specular usa il modello di illuminazione Blinn-Phong (consulta questo precedente tutorial sui fulmini di Unity 5) e ha il supporto opzionale per le mappe normali. Questa opzione consente anche di specificare il colore e la lucentezza speculare complessivi per il terreno.
  • costume l'opzione utilizza un materiale personalizzato di tua scelta per rendere il terreno. Questo materiale dovrebbe essere uno shader orientato alla resa del terreno. Questa è un'opzione che raccomando solo agli utenti avanzati. Tuttavia, se vuoi provarlo, dai un'occhiata al codice sorgente di alcuni degli shader del terreno integrati e apporta le modifiche su di essi.

Puoi anche impostare Sonde di riflessione per alcuni materiali, ma verranno utilizzati solo quando si utilizza un materiale standard incorporato o un materiale personalizzato che supporta il rendering con il riflesso. Le opzioni per le sonde di riflessione sono:

  • via: Le sonde di riflessione sono disabilitate e solo la skybox verrà utilizzata per la riflessione.
  • Miscela Sonde: Le sonde di riflessione sono abilitate. La fusione avviene solo tra sonde. La riflessione predefinita verrà utilizzata se non ci sono sonde di riflessione nelle vicinanze, ma non ci sarà alcuna fusione tra riflessione predefinita e sonda.
  • Miscela di sonde e Skybox: Le sonde di riflessione sono abilitate. La fusione avviene tra sonde o sonde e riflesso predefinito.
  • Semplice: Le sonde di riflessione sono abilitate, ma non si verificherà alcuna fusione tra le sonde quando ci sono due volumi sovrapposti.

Infine, l'ultimo parametro in questa sezione è Spessore. Questo valore specifica quanto il volume di collisione del terreno dovrebbe estendersi lungo l'asse Y negativo. Gli oggetti sono considerati in collisione con il terreno dalla superficie a una profondità uguale allo spessore. Ciò aiuta a impedire che oggetti in movimento ad alta velocità penetrino nel terreno senza utilizzare costosi rilevamenti di collisioni continue.

La prossima sezione delle impostazioni è Albero e oggetti di dettaglio.

La prima opzione è Disegnare. Qui puoi impostare il disegno dei dettagli on o off. Fondamentalmente, dice al motore se vuoi che gli alberi e l'erba siano disegnati o meno. Quindi, hai Cuocere sonde leggere per gli alberi Se abiliti questa opzione, Unity creerà sonde luminose nella posizione di ciascun albero. Le sonde verranno quindi applicate al rendering degli alberi. Se disabiliti questa opzione, gli alberi saranno comunque influenzati dalle sonde dei gruppi di luci. Prendi nota che questa opzione è disponibile solo per gli alberi che hanno abilitato le sonde luminose sui loro prefabbricati.

Il Distanza di dettaglio è la distanza dalla telecamera oltre la quale i dettagli verranno abbattuti. Densità di dettaglio rappresentail numero di oggetti di dettaglio in una determinata unità di area. Distanza dell'albero rappresenta la distanza dalla telecamera oltre la quale verranno abbattuti gli alberi. Il Inizio cartellone è la distanza dalla telecamera in cui gli oggetti dell'albero 3D verranno sostituiti dalle immagini del tabellone. Il Lunghezza dissolvenza rappresenta la distanza su cui gli alberi passeranno tra oggetti 3D e cartelloni pubblicitari. Finalmente, il Max Mesh Trees è il numero massimo di alberi visibili che verranno rappresentati come mesh 3D solide.

Andando avanti, vedrai il Impostazioni vento per erba sezione.

Velocità definisce la velocità del vento mentre soffia l'erba. Il Taglia rappresenta la dimensione dell'ondulazione su aree erbose. curvatura ti consente di definireil grado in cui gli oggetti di erba sono piegati dal vento. Tinta di erba ti consente di selezionare la tinta complessiva del colore applicata agli oggetti grass.

Dentro il Risoluzione sezione troverete diverse proprietà di risoluzione, vale a dire il Larghezza del terreno, Lunghezza, e Altezza. Tutti e tre sono molto espliciti del loro significato. Il Risoluzione della mappa altezza è la risoluzione in pixel della mappa dell'altezza del terreno. Dovrebbe essere una potenza di 2 più 1, ad esempio 513, in cui 512 è una potenza di 2 e si aggiunge 1.

Risoluzione dei dettagli ti consente di definire la risoluzione della mappa. Risoluzioni più elevate ti daranno patch di erba più piccoli e più dettagliati. Il Risoluzione dettagliata per patch imposta la lunghezza e la larghezza del quadrato di patch renderizzato in una singola chiamata di disegno. Il Controlla la risoluzione della trama è la risoluzione della mappa dello splat che controlla la fusione delle diverse trame del terreno. Finalmente, il Risoluzione della trama di base imposta la risoluzione della trama composita utilizzata sul terreno quando viene visualizzata da una distanza superiore alla distanza della mappa di base.

L'ultima sezione è heightmap. Qui puoi importare un file raw di heightmap o esportare il tuo terreno corrente in un file raw di heightmap. Questo può essere molto utile se si desidera utilizzare un software di terze parti esterno per interagire con l'applicazione o il gioco.

Strumenti di altezza

Prima di passare agli strumenti altezza, ricorda che devi prima impostare le impostazioni di risoluzione. Altrimenti, se provi a cambiarli in seguito, tutta la scultura del terreno andrà persa.

I primi tre strumenti sul Ispettore del terreno la barra degli strumenti sono gli strumenti di altezza. Questi strumenti sono usati per dipingere le variazioni di altezza sul terreno.

Forniscono una serie di "pennelli" con le impostazioni per Dimensione del pennello e Opacità; questi strumenti sono molto simili agli strumenti di pittura da qualsiasi editor di immagini. Questo ti permette di dipingere i dettagli nel terreno, come se stessi dipingendo un'immagine.

Se sposti il ​​cursore su Scena scheda, vedrai un'area blu proiettata sul terreno. Questo ti consente di conoscere l'area del terreno interessata dal pennello.

Il primo strumento è Alzare / abbassare l'altezza. Quando dipingi con questo strumento, l'altezza del terreno sarà aumentata mentre passi il mouse sopra di esso. Se si tiene il mouse in una particolare area, l'altezza si accumula. Tale effetto può essere visualizzato nell'immagine seguente.

Per abbassare il terreno, tieni premuto il pulsante Cambio mentre si dipinge con lo strumento, e questo abbasserà l'altezza del terreno.

Il secondo strumento dell'editor del terreno è Dipingi Altezza. Questo strumento viene utilizzato per impostare un'altezza specifica per un'area del terreno.

Funziona in modo simile al Sollevalo un pò meno strumento, ma ha una proprietà aggiuntiva per impostare il target Altezza. È possibile selezionare il desiderato Altezza cambiando il valore del Altezza parametro. Il Appiattire il pulsante accanto alla proprietà dell'altezza livellerà l'intero terreno rispetto alla scelta Altezza.

Infine, il terzo strumento è Altezza liscia. Questo strumento non aumenterà o diminuirà drasticamente l'altezza del terreno; invece, ammorbidirà il paesaggio e ridurrà l'aspetto di cambiamenti improvvisi. Questo strumento è particolarmente utile quando hai dipinto i dettagli usando uno dei più rumorosi pennelli, poiché questi pennelli tendono a creare rocce appuntite e frastagliate nel paesaggio, e puoi usare questo strumento per ammorbidirli.

È giunto il momento di prendere tempo e creare il tuo terreno scolpito. Prova a utilizzare i tre strumenti di cui sopra per creare un bel terreno di montagna.

Paint Texture Tool

Con il terreno scolpito, è ora di strutturarlo.

Prima di proseguire, è necessario importare le risorse ambientali disponibili con Unity 5. Per farlo, selezionare Risorse> Importa pacchetto, e selezionare Ambiente. Clic Importare importare tutte le risorse ambientali.

Unity ti permette di dipingere i tuoi terreni con trame. Puoi dipingere il tuo terreno con trame diverse in aree diverse. Ad esempio, puoi avere una trama per la roccia, un'altra per la sabbia e un'altra per l'erba. Le trame possono essere applicate con una trasparenza diversa, il che significa che è possibile avere transizioni fluide tra due trame. Per ottenere i migliori risultati, devi dipingere il tuo terreno con trame senza soluzione di continuità.

Come avrai notato sul Ispettore scheda, il Dipingere la trama lo strumento ha diversi pennelli e ti permette di cambiare il Dimensione del pennello, il Opacità, e il Forza bersaglio.

La prima volta che usi la vernice Strumento Texture, non ci saranno trame da cui scegliere. La prima cosa che devi fare è aggiungere una nuova texture nel tuo pallet. Per fare ciò, fare clic su Modifica trame pulsante e selezionare Aggiungi trama. Apparirà una nuova finestra.

Come puoi vedere, su questa finestra puoi Selezionare la texture che vuoi usare e la sua mappa normale, se ne hai uno. Clicca sul quadrato sotto la trama e seleziona la tua texture. Si aprirà una finestra per consentire di selezionare la trama. Seleziona il SandAlbedo trama e clicca Inserisci.

Il tuo terreno ora dovrebbe avere un aspetto sabbia. Si noti che è sempre possibile modificarlo sull'opzione di modifica della trama o rimuoverlo. 

La prima trama che crei dovrebbe sempre essere la trama di base per il terreno. L'elenco completo delle trame utilizzate in questo esempio sono:

  1. SandAlbedo
  2. GrassHillAlbedo
  3. GrassRockAlbedo
  4. MudRockyAlbedo
  5. CliffAlbedo

Tutti fanno parte dei beni importati dall'ambiente e possono essere trovati allo stesso modo del SandAbedo struttura. Vai avanti e importali tutti.

Quando hai importato tutte le trame, è ora di strutturare il terreno come desideri. Seleziona una texture e dipingi l'ambiente desiderato. Un esempio di una mappa strutturata è il seguente.

Quando sei soddisfatto del risultato, passa alla sezione successiva.

Paint Tree Tool

Ora che hai dipinto il terreno, è tempo di aggiungere alcuni alberi. Unity 3D ti consente di mettere gli alberi sul tuo terreno nello stesso modo in cui hai dipinto le trame. Usando le impostazioni del billboard per gli alberi distanti, Unity mantiene buone prestazioni di rendering, consentendo di avere foreste fitte con migliaia di alberi.

Per iniziare a colorare gli alberi, seleziona il tuo Terreno dal Gerarchia scheda e su Ispettore scheda, selezionare il quinto pulsante.

Simile alle trame, devi anche aggiungere gli alberi. Clicca su Modifica alberi> Aggiungi albero.

Unity ti chiederà il prefabbricato dell'albero che vuoi usare. Fai clic sulla piccola cerchia e verrà visualizzata un'altra finestra. Questa volta, ti mostrerà tutte le prefabbricate che hai nel tuo progetto.

Seleziona il Broadleaf_desktop albero prefabbricato e clic Inserisci. Questo chiuderà la finestra prefabbricata e aggiungerà l'albero selezionato al progetto.

Ora puoi selezionare la palma per dipingerla sul tuo terreno.

Sotto il impostazioni, troverai diversi parametri che puoi regolare mentre stai posizionando degli alberi nella scena. Dimensione del pennello definisce l'area che dipingerai, mentre Densità dell'albero definisce il numero di alberi che avrai nell'area dipinta. Valori alti significheranno più alberi. Altezza dell'albero ti permetterà di definire come cambia l'altezza. Puoi impostarlo su random e usare un intervallo di valori, oppure puoi impostare un valore specifico. Puoi Blocca la larghezza all'altezza degli alberi, al fine di farli avere le stesse proporzioni. Puoi anche randomizzare l'orientamento della rotazione dell'albero usando il Rotazione casuale dell'albero opzione. Inoltre, la rotazione dell'albero può essere impostata su casuale.

Dentro il Illuminazione sezione puoi impostare come vengono generate le mappe di luce per i tuoi alberi.

Per dipingere gli alberi nel terreno, sposta il mouse sulla scena. L'area blu rappresenta il pennello. Con un tipo di albero selezionato, premere il tasto sinistro del mouse pulsante sul terreno e inizia a creare alberi.

Per cancellare gli alberi da una certa area, tieni premuto Cambio e usa il tasto sinistro del mouse. Questo cancellerà tutti gli alberi nell'area del pennello. Se vuoi solo cancellare un certo tipo di albero, tieni premuto Controllo invece di Shift. Questo cancellerà solo il tipo di albero selezionato.

È sempre possibile modificare o eliminare un tipo di albero selezionandolo e facendo clic sul pulsante Modifica albero. Per modificare un albero, fare clic su modifica e per eliminarlo, fare clic su Rimuovi.

Finalmente, noterai che all'interno del Terrain Collider componente, hai un campo chiamato Abilita il Tree Collider. Selezionando questa opzione, si abilitano le collisioni tra altri oggetti di gioco e gli alberi.

Se non vuoi dipingere manualmente gli alberi, puoi usare il Alberi di massa pulsante. Se fai clic qui, verrà visualizzata una nuova finestra. Unity ti chiederà quindi un numero di alberi da creare. Impostare il Numero di alberi e fare clic su Posto. Unity posizionerà quindi a caso gli alberi nel tuo terreno.

Il prossimo passo è essere creativi e popolando il tuo terreno con gli alberi. Per creare diversi alberi, puoi anche aggiungere nuovi alberi come il Palm_Desktop, Broadleaf_Mobile e Conifer_Desktop. Per quello, usa l'opzione Modifica alberi sotto il Alberi menu (interno Ispettore).

Puoi creare qualcosa come l'immagine seguente (o qualcosa di completamente diverso).

Quando sei pronto, puoi passare al passaggio successivo.

Strumento Dettagli pittura

Unity consente ai terreni di avere grumi di erba e altri piccoli oggetti, come rocce, che coprono la sua superficie. L'erba viene renderizzata usando le immagini 2D, mentre gli altri oggetti sono solitamente mesh standard.

Per aggiungere dettagli al terreno, seleziona il tuo oggetto terreno dalla gerarchia. Dentro il Ispettore scheda, fare clic sul sesto pulsante, quello con i fiori.

Come puoi vedere, ora hai un'interfaccia simile a Strumenti di altezza. Qui hai anche un set di pennelli tra cui puoi scegliere per disegnare un elenco di dettagli.

Dato che non hai selezionato nessun dettaglio dell'oggetto, aggiungili facendo clic su Modifica dettagli> Aggiungi trama erba.

Si aprirà una finestra in cui è possibile impostare diverse proprietà per l'erba. Texture di dettaglio ti consente di definire la texture che userai per la tua erba. Puoi anche definire diverse proprietà come Larghezza massima, Min Larghezza, Altezza massimaAltezza minima, diffusione del rumore, Colore sano, Colore asciutto, e Tabellone. Tutte queste proprietà definiranno come apparirà l'erba.

Per questo tutorial, puoi lasciare le opzioni predefinite o modificarle a tuo piacimento.

Clicca sul cerchio di fronte al Texture di dettaglio campo. Questo aprirà una nuova finestra. Cerca il GrassFrond01AlbedoAlpha, selezionalo e clicca Inserisci.

Proprio come per gli alberi, puoi usare diversi pennelli per dipingere l'erba. Puoi impostare diversi Dimensioni del pennello e cambia il pennello Opacità e il Forza bersaglio.

Ora è il momento di essere creativi e dipingere l'erba sul terreno.

Se si desidera aggiungere una trama per dipingere i dettagli sul terreno, ad esempio le rocce, è necessario ripetere la stessa procedura eseguita con l'importazione dell'erba. Tuttavia, questa volta, quando si fa clic su Modifica i dettagli, scegliere Aggiungi dettaglio mesh. Si aprirà una finestra in cui è possibile specificare diversi parametri della mesh di dettaglio, molto simile a quella utilizzata per importare l'erba. 

Sfortunatamente, le risorse ambientali non includono alcun prefabbricato di roccia, quindi non sarai in grado di dipingere direttamente le rocce. Tuttavia, puoi cercare alcune rocce nell'Unity Asset Store, poiché è un ottimo posto per trovare risorse gratuite.

Conclusione

Questo conclude il tutorial su Unity Terrain Tools. Hai imparato a conoscere diversi strumenti e configurazioni del terreno. Con questa conoscenza, ora puoi creare, modificare e migliorare terreni attuali o nuovi per il tuo prossimo gioco o applicazione all'avanguardia.

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.