Con la manipolazione del Terrain e il successivo inserimento di alberi e cespugli, in tutta realtà potremmo aver già concluso la costruzione del nostro livello di gioco. Anzi, con l’arricchimento dato dai Material avremo anche donato a ogni area del progetto uno stile tutto suo, magari legato alla vicinanza con una montagna! Ma ecco che, nonostante tutti i Game Object già inseriti, avremo ancora un ultimo elemento da poter integrare all’interno del nostro progetto per renderlo realmente completo: l’acqua.
Importiamo gli Standard Assets di Unity
Purtroppo, nonostante la gran quantità di materiali che di base avremo a disposizione all’interno dell’editor di Unity, ci mancheranno con una buona probabilità dei Prefab in grado di replicare correttamente l’acqua. Per farlo, dovremo dirigerci all’interno dell’Asset Store, dove potremo trovare il pacchetto che ci darà modo di integrare il blocco d’acqua all’interno del nostro progetto. Quindi, una volta che avremo cliccato con il tasto sinistro del mouse su Asset Store, visibile sulla destra di Game e Scene, cominciamo a cercare un pacchetto di file noto come Standard Assets; questi contenuti sono la base offerta da Unity, contenendo non solo l’acqua ma anche altri Material e Prefab che potranno tornarci utili in futuro. Una volta che lo avremo trovato, dopo aver cliccato su Download, selezioniamo Import per caricare i file all’interno del progetto.
Importiamo l’acqua all’interno del progetto
A questo punto dovremo trovare i file! Per individuarli correttamente tra tutte le cartelle presenti potremmo muoverci direttamente all’esplorazione o, ancora meglio, potremmo evitare una fatica con una ricerca precisa dell’asset, che in questo caso è facilmente collegabile a un elemento, ovvero l’acqua o water. Cerchiamo quindi Water sulla casella in alto a destra del Project, al lato della lente d’ingrandimento, e confermiamo la nostra scelta per mostrare tutti gli asset legati in un modo o nell’altro a Water.
Con la nuova finestra aperta, non dovremo far altro che individuare il cosiddetto WaterBasicDaytime, ovvero quel corso d’acqua che ci consentirà di simulare anche con un certo realismo il nostro Skybox. Selezioniamo quindi il nuovo asset e, stando attenti a non posizionarlo al di sotto del Terrain, trasciniamo il Prefab del WaterBasicDaytime in una zona spoglia dello scenario di gioco.
Ahìnoi, lo noteremo nella stragrande maggioranza dei casi, il Prefab del WaterBasicDaytime non sarà mai sufficientemente grande da farsi notare anche quando ci si troverà in lontananza rispetto all’editor di Unity. Per risolvere il problema, tuttavia, ci basterà un ritorno veloce sui tre valori del Particle System, ovvero X, Y e Z. Spostandoci sulla casella dello Scale, aumentiamo ogni valore sui 30 e prepariamoci ad alterare la Y di Position, che dovrà essere fissato automaticamente sul -28.5. Parlando invece di gusti personali, come faremo a capire il luogo da sfruttare per integrare al meglio il corso d’acqua?
Sistemiamo il corso d’acqua del Terrain
Innanzitutto va detto che i 30 dello Scale sono solo indicativi. Nulla ci vieta difatti di inserire un valore minore o maggiore per evidenziare al meglio il nostro scenario, così come qualsiasi posizionamento potrà andare bene per costruire una nuova area, stavolta dedicata al corso d’acqua. Certo, il lavoro va sempre fatto con discrezione, ma finché andremo a seguire il nostro buon senso ed eviteremo di integrare un corso d’acqua in mezzo a una montagna, qualsiasi modifica andrà al meglio!
Per esempio, uno strumento di facile utilizzo può essere il Raise or Lower Terrain, la sezione che nelle scorse lezioni ci ha aiutati a modellare con cura il nostro terreno di Unity. In questa situazione, creando un incavo abbastanza profondo nel Terrain, avremo la possibilità di inserire il WaterBasicDaytime all’interno del gioco, senza inciampare sulla visione di un corso d’acqua estraneo al Terrain e inserito in malo modo! In poche parole, dovremo selezionare lo strumento e, tenendo premuto sempre il tasto Shift della tastiera, abbassare senza alcun vincolo il terreno dove vorremo integrare il WaterBasicDaytime!
Durante l’abbassamento del Terrain, lo noteremo, non sarà tanto il terreno che dovrà adattarsi all’acqua, quanto l’opposto! Modelliamo quindi il terreno a nostro piacimento e, da lì, spostiamo il Water in modo tale che possa entrare nel mezzo della buca creata con lo strumento della modellazione. Una volta che avremo inserito, tramite l’utilizzo dello Scale, cominciamo ad allargare (o ridurre) la grandezza della Water, creando una situazione nella quale l’intero corso d’acqua rimarrà recluso dentro la nuova buca. Per sistemare al meglio la zona circostante, ricordiamoci di riprendere il Paint Trees del Terrain per eliminare sia i tree01 sia i bush01 rimasti nelle vicinanze dell’acqua, pulendo al meglio una zona distaccata dal resto del progetto.