Come in tanti altri progetti dello stesso genere, all’interno di Unity ci capiterà prima o poi di fare i conti con il cosiddetto Particle System, uno strumento che ci consente di realizzare degli effetti visivi quali il fumo, le esplosioni e molto altro. In questo tripudio grafico, tuttavia, sarà anche possibile realizzare una vera e propria pioggia, da applicare sull’intero mondo di gioco.
Ma partiamo dalle basi.
Creiamo un nuovo Particle System
Con la base di un nuovo progetto, clicchiamo con il tasto destro del mouse al di sotto della Hierarchy, generalmente visibile a sinistra del nostro progetto, per effettuare una scelta in una lista di possibili opzioni. Nel nostro caso dovremo dirigerci su Effects e successivamente sul già citato Particle System. Una volta che lo avremo creato, all’interno della Scena uscirà fuori un nuovo elemento che, stinto e amorfo, farà uscire delle sfere bianche dalla sua fonte. Giustamente questa non può essere una base utile a integrare la pioggia, ma finalmente abbiamo un Particle System funzionante e che andremo a modificare per dargli una sola funzionalità. Prima di proseguire, clicchiamo con il tasto destro del mouse sul Particle System stesso e clicchiamo successivamente su Rename, intitolando l’elemento come Rain, ovvero la pioggia.
Spostiamo il nostro sguardo dalla Hierarchy all’Inspector del Rain appena creato. Noteremo una serie di informazioni e valori che identificheranno la nostra pioggia, ma che al contempo saranno aperti alle nostre modifiche. Partiamo innanzitutto dallo Start Speed, che dovremo impostare automaticamente sullo 0; in poche parole, la nostra pioggia dovrà essere completamente immobile. E se da un fronte la velocità dovrà essenzialmente azzerarsi, dall’altra ci troveremo a modificare anche la grandezza delle già citate sfere bianche.
Scendendo ulteriormente tra le opzioni della lista troveremo lo Start Size. Per dargli una grandezza variabile tra due costanti, tuttavia, dovremo prima cliccare sulla freccia a destra del valore, selezionando infine Random Between Two Constants. Da lì, si apriranno due schede diverse, la prima che andrà fissata sullo 0 e l’altra che, invece, dovrà avere un valore di 0.2. Considerando che avremo bisogno di una rotazione particolare per le nostre gocce di pioggia, dovremo anche modificare i numeri fissati per lo Start Rotation del nostro Rain. Clicchiamo nuovamente sulla finestra a destra dell’opzione e, da lì, scegliamo Random Between Two Constants per aprire i due valori del Rotation, che dovrà oscillare tra due numeri ben precisi: 0 e 3600.
Scendendo ancora all’interno della nostra Hierarchy, modifichiamo lo Scaling Mode del nostro sistema particellare da Local a Shape. Per un elemento così massiccio come la pioggia, tuttavia, ci serviranno anche dei numeri abbastanza elevati per formare delle gocce che siano in grado di simulare un temporale o, addirittura, una tempesta! Partendo quindi dalla base del Max Particles, fissato ora a 1000, aumentiamo il suo valore a 10000 per avere un punto di riferimento più consistente. In caso contrario potremo comunque alterare il valore quando (e se) ne avremo bisogno.
Perfezioniamo lo stato del Rain
Arrivati a questo punto non avremo fatto altro che modificare le informazioni basilari del nostro Rain, ma per trasformare l’ammasso di sfere bianche in un cumulo di gocce da scagliare sul terreno, in realtà, non ci vorrà poi molto. Scendendo sempre nella Hierarchy del Rain, apriamo la casella dell’Emission e, una volta giunti lì, fissiamo il suo Rate over Time da 10 a 1000. Spostandoci ancor più in basso, apriamo adesso la casella dello Shape, cliccando esattamente sull’opzione dello Shape e modificando la sua forma dal classico Cone a un Box.
Posizioniamo la nostra pioggia
Adesso, inseriti anche dei ritocchi aggiuntivi alla nostra pioggia, non ci resta che posizionare il Rain in modo tale da dargli la forma di una nuvola. Torniamo quindi in alto, verso i valori del Transform, modificando la sua posizione, rotazione e scala nella scena di gioco. Nello specifico, i valori X, Y e Z di Position dovranno essere impostati rispettivamente a 0, 5.7 e, ancora, 0. Per il Rotation; invece, ci basterà fissare tutti i valori sullo 0. Infine, assegniamo un 1 a ogni valore dello Scale, assegnando un valore definito a ogni fetta del nostro Rain.
Per impostare la grandezza del nostro temporale, scendiamo tra le opzioni dello Shape fino a giungere tra le stesse divisioni in Position, Rotation e Scale, fissando degli 0 tra tutti i valori esclusi quelli dello Scale. Quest'ultimo dovrà avere X pari a 50, Y pari a 1 e Z pari a 50.
Mancano ancora dei passaggi d’intermezzo per arrivare ad una pioggia realistica, ma questi ultimi passi non hanno fatto altro che darci una base estremamente promettente. Non ci resta che migliorarla, nella prossima lezione.