Vous êtes sur la page 1sur 46
ESPERTO IN UN CLICK er Francesco LA Splendore Realizza il tuo videogioco a3 D Imparerai: PM eect acs} Pe Met Lok ceed ote ota Coe stent (o | SC @ acreare il terreno ei auc Care c. diluce PM ee ell In questo secondo volume del corso di Unity3D ci concentreremo su tre importantissimi elementi per la creazione di un videogioco, ovvero il terreno, le fonti di luce e i suoni iando con ordine, cos’? il terreno? Iterreno é la superficie di una mappa, per l'esattezza @ la parte dove il giocatore (o player) camminera. In poche parole possiamo dire che con il terreno identifichiamo il “pavimento”, ere o non essere piatta, poiché potremmo anche ereare dei dossi, delle montagne, Questa superfici delle salite, ete. potr: Si tratta di un elemento importante poiché rappresenta il 5% del gioco: portera con sé una gravita, il giocatore e i vari oggetti cadranno e si poseranno sul terreno ma non lo trapasseranno, creer’ delle zone di altitudine (ad esempio delle montagne) dove il giocatore non potra salire e che delimiteranno il livello o la mappa del gioco sia per passaggio che per visione. Cosa intendiamo, invece, con punti di luce? Essi sono delle particelle che emetteranno una luce che servird a emulare la luce del sole oppure a emulare altri tipi di luci artifici Perché vengono utilizzati i punti di luce? I punti di luce servono per due caratteristiche importantissime, ovvero per regolare Villuminazione all'interno di una mappa e per creare le ombre. Se noi iniziassimo a creare una mappa senza alcuna fonte di luce, essa apparira completamente scura, buia; questo accade perché la visuale da sola non riesce a illuminare tutta area di gioco, quindi dobbiamo servirci dei punti diluce per creare una luce naturale o artificiale per illuminare tutto Pambiente. Immaginate a come potremmo vivere senza sole oppure senza lampadine, 'esistenza ci sarebbe negata. La seconda caratteristica dei punti di luce si basa sulleffetto shadow, ovvero sulle ombre. Le ombre hanno un effetto puramente grafico, servono solo per abbellire la grafica del nostro gioco, non hanno uno scopo secondario quindi non sono essenziali dal punto di vista strutturale. Attenzione: le ombre sono molto pesanti da emulare, quindi se il nostro computer non @ recente ci sono ben poche possibilita che il nostro videogioco sia fluido. PRO TIPS: i punti di luce vengono utilizzati spesso nei giochi horror per creare un’atmosfera tetra e oscura. Ora @ tempo di parlare dei suoni. I suoni sono effetti sonori importabili in Unity in molti formati audio, il pid utilizzato @ il mp3. Questi suoni possono essere inseriti in due modi: 1. direttamente nell’editor di Unity, includendoli all’interno della mappa di gioco; 2. tramite file di scripting. Il primo caso 8 quello pitt semplice, poiché ci basterd anche un “drag and drop” (letteralmente “trascina e rilascia”). Nel secondo caso invece dovremo confrontarci con la programmazione. Questo metodo @ molto utile se -vogliamo, ad esempio, che un determinato suono parta in un particolare momento del gioco. Attenzione: in questo volume, durante la creazione della mappa, non ci concentreremo sulla qualita della esa estetica, ma prediligeremo lo studio dei vari tools e del loro utilizzo. Se ricordate, nel primo volume abbiamo anticipato la possibilita di creare un nuovo progetto senza importare i Packages. Adesso, invece, occupiamoci della procedura d’importazione. Per prima cosa creiamo un nuovo progetto, andando su File > New Project. File) Edit Assets GameObject Compor New Scene CirleN Open Scene cir+0 Save Scene Ctrl+s Save Scene as, CeleShitt+s: New Project. Open Project. Save Project, Build Settings. Chie Shift+B Build & Run cB Bit Altrimenti, se @ la prima volta che aprite Unity, questa azione va saltata, poiché il software la eseguira in automatico. Subito dopo si aprira la schermata del “Project Wizard”, che abbiamo gia visto nel volume precedente, ma per i nuovi arrivati sono pronto a ricapitolare quello che abbiamo gia detto. In “Project Location” dobbiamo inserire la cartella dove verranno inseriti tutti i file del nostro progetto, quindi cliechiamo su “Browse” e selezioniamo la cartella in questione. ceca] CNN RE Proj iacaton Inco he Flore postage Fl character Contoteruntyeadage ] Glas Retactan (roOr).ntyPakage tage cs Cro Cri aribPectage gst cookies uritPacage J upet ReesanitPocge 5 ParicesuntyPacace | PieMataraeuntPactaoe ‘Choose location for new za €2 eee ee amore linea Dass B veo 8 crppo home Micon He Discotoate(c) ree atats pope ay Una volta scelta la cartella, clicchiamo su “Seleziona cartella” e saremo di nuovo catapultati nel “Project Wizard”. Ora arriva la parte pid delicata, ovvero scegliere e inserire i Packages. PRO TIPS: una volta inseriti sara possibile andarne ad inserire di nuovi, quindi non dobbiamo preoccuparci se ne dimentichiamo qualeuno. Prima di tutto peré chiediamoci: cosa sono i Packages ? Essi sono letteralmente dei “pacchetti” contenenti degli assets, che a loro volta sono degli elementi, come ad esempio il terreno, che potremmo adoperare all’interno del nostro gioco. Io consiglio sempre di inserire i quattro package fondamentali: Character controller (ci permettera la creazione del personaggio in prima o terza persona), Skyboxes (ci permettera la creazione del cielo), Terrain (ci permettera di inserire il terreno di gioco) e in fine Tree creator (che ci permettera di creare dei semplici alberi). Prima di tutto andiamo a cercare nella finestra del “project wizard” le voci che ho appena elencato e, una volta trovate, mettiamo la spunta sulla casella alla sinistra del loro nome. Open Piojeck| FeateNen Project Project Loctio: Cllsers tee Pocumenis|pregeto unity Inport the flowing packenes Z Character ControleruniyPactage [Ey Gass Refraction (ro Ory). unityPackage [F imageerteis Fo Onl).styPackace [i ugnt ceawes ntyactage [Eight Fares.uityPackage F rarudes.unityPactaoe [DD Physeter uninPackace Donproed| ceatenenProet | Ff Loca er ets oars rots trp Roving pacoges SibovesuntyFadase = E) Stardard Assets (Mobile) unityPackage Terrain Assets untyPackoge E) Toon shading .unityPackage [i Tree creator untyPackage (water @asc).unityrackane g Una volta fatto cid possiamo cliccare su “Create”, il software si chiudera per pochi secondi per poi riaprirsi con editor che abbiamo visto nel volume precedente. PRO TIPS: per inserire nuovi Packages, anche quando il progetto é gia stato creato, basta seguire il percorso Assets — Import Package. GemeObject Component Terain Window Help Create > ‘Show in Explorer Open Delete Import New Asset Import Package >| Custom Package. sport Package. Find References Character Controller Glass Refraction (Pro Only) Image Effects (P10 Orly) Fefresh, Curie Light Cookies Reimport Light Flares Select Dependencies Una volta importati i Packages ci troveremo nelleditor di Unity e, prima di iniziare a ereare il terreno, vi suggerisco di impostare il layout sulla modalita “Wide”, andando sul percorso Window + Layouts — Wide. Non é obbligatorio farlo, ma & consigliabile poiché l'interfa ia assume! un aspetto pit facile da capire. Window] Help Ned Window Ctr Tab Previous Window Ctrl+Shift+ Tabb Layouts Scene tried Game Ctrle2 Inspector Ctrie3 Hierarchy Cirle Ora siamo prontissimi per creare il terreno. 2by3 4 Split Default Tall Wide Sul meni di Unity andiamo sul percorso Terrain — Create terrain Una volta fatto cid possiamo subito notare tre particolarita: [Teva] Window Help Create Terrain Import Heightmap - Raw. Export Heightmap - Raw. Set Resolution. Mass Place Trees, Flatten Height map. Refresh Tree and Detail Prototypes 1. Nel mend degli assets ora si é creato un file chiamato “New Terrain”. arr Terrain 2, Nella Gerarchia, oltre alla “Main Camera’, sara presente l'etichetta “Terrain”. 3. Nella visualizzazione 3D dell’editor ora é comparso un grande piano grigio. Main Ora possiamo vedere che nell’'angolo del terreno sono comparse tre freccette, rispettivamente di colore rosso, blue verde. Nellangolo delleditor, invece, possiamo vedere l'icona di un cubo avente sei coni, tra cui tre dei colori citati in precedenza mentre i restanti saranno completamente grigi. Le tre frecce (come anche i coni nell’immagine precedente) stanno a indicare i tre assi cartesiani, indicati con X, Y, Ze tramite questi possiamo spostare, muovere un qualunque oggetto 3D. (0,0,0) origine Tramite I'asse X possiamo spostare l’oggetto tramite la profondita. Tramite l'asse Y possiamo spostare oggetto dall'alto verso il basso e viceversa. Tramite l'asse Z possiamo spostare l'oggetto da sinistra verso destra e viceversa. Attenzione: gli assi possono variare a seconda della prospettiva in cui li vediamo dalleditor 3D. Se pensate che il vostro terreno sia troppo grande oppure troppo piccolo non ci sono problemi, poiché possiamo ridimensionarlo con molta facilita. Andiamo sul percorso Terrain — Set resolution. ace Naa cea Position ere Rotation Cee ert Karras armor fecal ESE e) ea Drees ceri Se meeecEe Con “Terrain Width” impostiamo la larghezza del terreno. Con “Terrain Height” impostiamo Valtezza del terreno. Con “Terrain Lenght” impostiamo la lunghezza del terreno. Con “Heightmap Resolution” impostiamo la risoluzione della mappa. Con “Detail Resolution” impostiamo la risoluzione della mappa che controlla i dettagli del’erba e delle mesh. PRO TIPS: quest’ultima opzione @ molto pesante, quindi, per motivi di prestazioni, & consigliabile inserire un numero basso. Con “Detail Resolution Per Patch” impostiamo la risoluzione dei diversi strati di texture sul terreno. Con “Base Texture Resolution” impostiamo la risoluzione delle texture che verra vista da varie distanze. Una volta approfondito brevemente l'argomento dei dettagli e degli assi, torniamo sul nostro terreno e clicchiamo, tramite la gerarchia o tramite editor, sul terreno, potremo notare che sull’inspector sono apparse delle impostazio1 Window Help Create Terrain Import Heightmap - Raw. Bioort Heightmap - Raw. Set Resolution. (Mass Place Trees Flatten Heightmap. Refresh Tree and Detail Prototypes Alcune impostazioni le abbiamo gia viste nel volume precedete quindi ci concentreremo sulla dicitura “Terrain (Script)”. Possiamo vedere che ci sono sette icone (chiamate tool): Po Tetvain width Sennen Tervain Length eee ener Tramite la prima potremo creare dei piccoli dossi, prima peré clicchiamoci sopra e vediamo le varie opzioni: Possiamo subito notare che sono compar: terreno. “Brushes”, essi sono le varie forme che potremmo dare al nostro Non spieghiamo ogni singolo brushes poiché non sono fondamentali per adesso, ma potete comunque testarli personalmente per creare nuovi tipi ti dossi/montagne. Nelle impostazioni possiamo vedere la “Brush Size”, ovvero le dimensioni dei dossi che creeremo. “Opacity” 8 invece l'opacita con la quale verranno creati i dossi. Ora selezioniamo un brush qualsiasi, ad esempio il primo, e spostiamo il cursore del mouse sopra il terreno: noteremo subito un dettaglio che prima non c’era. eee etc) Sul terreno, proprio dove posizioniamo il cursore del mouse, & comparso il colore blu, esso sta a indicare dove e di che dimensioni saranno creati i dossi. Clicchiamo quindi ripetutamente col tasto sinistro e vediamo cosa aecade Perfetto! Abbiamo appena creato un semplice dosso o zona rialzata. Ogni click che faremo fara diventare il dosso sempre pit alto fino a formare un vero e proprio colle. Invece, se teniamo premuto il tasto sinistro e trasciniamo il mouse, Veffetto sara un po! diverso. Ora abbiamo formato una serie di dossi, utile per creare una zona di avvallamenti o vere e proprie catene montuose. La caratteristica principale di questo primo tool perd, non é quella di creare dei dossi, ma bensi di ridurli; infatti se clicchiamo e teniamo premuto il tasto SHIFT e successivamente anche il tasto sinistro del mouse ¢ trasciniamo, possiamo vedere che i dossi si ridurranno finché il terreno non torner com’era al principio. Ora vediamo il secondo tool: Questo ci servira per creare delle “zone piatte” in cima ai dossi, ma vediamo megtio come spiegare cid. Creiamo una serie di dossi con il primo tool fino ad arrivare a questo risultato: Ora selezioniamo il secondo tool e vedremo che nelle “settings” & apparsa una nuova voce, ovvero Height (altezza). Tramite questa opzione possiamo settare V'altezza affinché si crei la famosa “zona piatta”, ad esempio mettiamo 233 ¢ ora, tenendo premuto il tasto sinistro del mouse e trascinandolo proprio sopra ai dossi creati in precedenza, vediamo cosa suecede. — I dossi si alzeranno fino a raggiungere Valtezza selezionata (in questo caso 233) e una volta arrivati a quell altezza le loro cime saranno “tagliate” proprio come mostrato nellimmagine. Ora vediamo Iutilita del terzo tool: Questo servira per “limare” i nostri dossi. Quando creiamo qualche montagna, il risultato finale @ formato da alcune seghettature ai bordi come queste: Per smussarle prendiamo il tool e come abbiamo fatto in precedenza scorriamo sui bordi. Una volta che abbiamo passato sui bordi con moderazione, otteniamo un risultato simile a quello visibile nell'immagine successiva. Si nota subito una grandissima differenza da prima a dopo. Tl quarto tool invece & molto particolare: ci permetter di inserire una texture al terreno. Una volta selezionato, sotto la sezione dei brushes e sopra i setting apparira la categoria “textures”. Quindi clicchiamo sul tasto “Edit Textures” e successivamente su “Add Texture”. ‘Add Texture, Edit Tecture Remove Texture Suecessivamente verra aperta una schermata che ci permettera di inserire la texture che verra poi adattata al terreno. creer Possiamo vedere che nella parte alta della schermata ci sono due caselle, ovvero Texture e Normal Map. I] primo quadrante (texture) ci servira per selezionare dai nostri documenti o asset preimpostati una texture 2D. Il secondo quadrante ci servirA per selezionare un noto effetto chiamato “Normal Map” che assocera una grafica pid sofisticata alla texture all’interno del gioco, ma questo lo vedremo solamente nel prossimo volume. Quindi clicchiamo su “Select” nel primo quadrante e apparira la schermata di selezione. Se precedentemente avete importato i Packages proprio come mostrato, all’interno di questa schermata appariranno varie immagini: Pere Queste immagini sono “pezzetti” di texture che potremmo adoperare per i nostri modelli. Visto che noi abbiamo creato una mappa coperta da molte colline/montagne, direi di inserire come texture “Grass & Rock”: right Be Una volta trovata facciamo doppio click su di essa e sara selezionata correttamente, infine clicchiamo sul tasto “Add”. Complimenti, avete appena completato uno degli step pid importanti della lezione, avete inserito una texture preimpostata sul vostro terreno! Ora vi starete chiedendo come impostare una texture personalizzata, giusto? Ogni cosa a suo tempo, della gestione delle texture ci occuperemo solamente nel volume successivo, quindi abbiate un po’ di pazienza e continuiamo con la creazione del nostro terreno. Ora vediamo il funzionamento del quinto tool: Esso ci servira per inserire grandi zone di alberi all'interno del nostro terreno, prima perd esaminiamo le varie impostazioni che verranno riportate quando cliccheremo sull’icona del tool: Coenen Doreen ss Corecieest helt tae Non andremo a esaminare ogni singola impostazioni perd, come si pud dedurre leggendo le descrizioni sulla sinistra, esse servono per regolare le dimensioni degli alberi, la densita, la variazione di colore, l'altezza, e cost via. Per ora lasciamo i valori standard, clicchiamo sul bottone “Edit Trees” e successivamente su “Add Tree”. Ora verra aperta una finestra dove inserire il modello 3D dell’albero che vorremo utilizzare sul nostro terreno, Successivamente clicchiamo sul pallino alla destra di “None (Game Object)”: Ora il software ci chiedera di scegliere quale GameObject(ogg Attraverso i Packages che abbiamo inserito compariranno solamente cinque oggetti, ovvero i Player 3D (34 Person Controller, Constructor & First Person Controller). Essi saranno i modelli 3D dei personaggi standard che potremmo adoperare per il nostro gioco, ma questo lo andremo a vedere solamente nel prossimo volume. Infine ci sono i modelli per gli alberi (BigTree & Palm) che sono proprio quegli che ci serviranno in questo momento. Scegliamo uno dei due modelli (in questo caso io sceglierd i BigT'ree) e facciamo doppio click su di esso, infine cliechiamo sul bottore “Add”. 11 modello dell'albero che avremo scelto sara riportato anche nella sezione “Trees” del quinto tool. Crary Adesso nell'editor avviciniamoci al terreno spostando in avanti la rotellina del mouse. Quando cliccheremo con il tasto sinistro del mouse, sull'area celeste appariranno, in disposizione random, degli alberi con il modello che abbiamo inserito. Se invece volete cambiare il numero di alberi che verranno inseriti nel terreno, la loro altezza, il colore, ete. ricordatevi di cambiare i parametri mostrati in precedenza. Ora esaminiamo il sesto e ultimo tool: Esso avra la stessa utilita del tool precedente, unica differenza é che questo ci permettera di inserire Perba enon glialberi. Questo tool ci permettera di utilizzare i Brushes, possibilita che nel tool degli alberi non avevamo, quindi possiamo sostituire Parea di selezione circolare con qualche altra presente tra i vari brushes. Immancabili le impostazioni, presenti su tutti i tool. eee Est See Cee} Cary Per inserire la texture dellerba clicchiamo sul tasto “Edit Details” e successivamente su “Add Grass Add Grass Tecure ‘Add Detail Mesh Edit Remove Successivamente ci verra riportata una schermata del tutto nuova, con molte impostazioni che non abbiamo ancora visto. Pee ac Tr certaeseD) Cr Cera Cri Passiamo a esaminarle: Detail Texture, dove inseriremo la texture 2D dell'erba. Min Width, dove inseriremo la larghezza minima delerba (in metri). Max Width, dove inseriremo la larghezza massima dell’erba(in metri). Min Height, dove inseriremo l'altezza minima dell’erba(in metri). Max Height, dove inseriremo Paltezza massima dell’erba(in metri). * Noise Spread, dove inseriremo quanto rumore sara provocato dall’erba (valori bassi significa meno rumore, e viceversa). Healthy Color, sara il colore centrale dell’erba. Dry Color, sara il colore del?erba sui bordi. Billboard, se abilitata, l'erba ruotera sempre in direzione della telecamera principale. Grayscale Lighting (ultima versione di Unity), se abilitata il colore dellerba non sara condizionato dalla luce che brillera sul terreno. * Lightmap Faetor (ultima versione di Unity), dove inseriremo quanto la luminositA della mappa influira sull’erba. Ora clicchiamo sul solito pallino alla destra di “None (Texture 2D)” e si riaprira la schermata vista in precedenza, dove dovremo inserire un texture. In questo caso non inseriremo “Grass&Rock” ma bensi “Grass”, visto che cerchiamo una texture per l'erba, successivamente clicchiamo sul tasto “Add”. eT Se sulla destra dell'inspector, nella categoria “Details”, apparira la texture scelta allora avremo fatto tutto correttamente e potremo iniziare a “spennellare” il nostro terreno con l’erba. Quindi selezionate il brush che pid vi soddisfa e, come fatto in precedenza, cliccate sul terreno e godetevi il lavoro ultimato. Cee Etec Pud sembrare che sia presente un settimo tool, ma siete stati tratti in inganno perché T'icona alla destra del esto tool sara soltanto per aprire la schermata delle impostazioni del terreno. Una volta cliccato appariranno aleune opzioni che ci permetteranno di cambiare la natura del terreno. Loca stag Piet ve Detail Densit ern Eo eee erg Esse sono suddi ein tre categorie: * Base Terrain; * Tree & Detail Object; * Wind Settings. Iniziamo come sempre ad analizzarle con ordine. Base Terrain Con “Pixel Error” si controlla la quantita di errori ammissibili nella geometria del terreno, maggiore é il valore che inseriremo e meno sar densa la geometria del terreno. Con “Base Map Dist.” si imposter la distanza in cui le texture appariranno in alta risoluzione, superata questa distanza esse appariranno in bassa risoluzione. Con “Cast Shadow” indicheremo se il terreno generera delle ombre. “Material” Queste sono le impostazioni base del terreno, ora invece andiamo a esaminare quelle pid avanzate. Tree & Detail Object Con “Draw”, se abilitato, gli alberi, erba, e i vari dettagli avranno un effetto “disegnato” sul terreno. “Detail Distance” é la distanza in cui la telecamera smettera di visualizzare i dettagli sul terreno. “Detail Density” “Tree Distance” @ la distanza in cui la telecamera potra visualizzare gli alberi, maggiore sara il volume e maggiore sara la distanza in cui gli alberi saranno visti. “Billboard Start” @ Ja distanza in cui la telecamera visualizzera gli alberi in 2D, a effetto “cartellone pubblicitario” invece che oggetti 3D. “Fade Length”8 la distanza totale in cui gli alberi utilizzeranno la modalita “Billboard”. “Max Mesh Trees” é il numero massimo di alberi che verra visualizzato nel terreno. Wind Settings “Speed” sara la velocita con cui il vento soffiera attraverso Verba. “Size” saranno le zona d’erba interessate daleffetto del vento. “Bending” sara il valore dell'angolo in cui lerba si pieghera per effetto del vento, maggiore @ il valore e maggiore sara Pangolo di piegatura. “Grass Tint” sara il colore della tinta che Perba assumera al passaggio del vento. E con questo termina le spiegazione sulla creazione del terreno, se adesso vogliamo vedere com’é il nostro terreno all'interno del gioco basta passare dalla visualizzazione editor a visualizzazione gioco. Prima perd dobbiamo impostare bene la nostra telecamera. ‘Andiamo sulla gerarchia e facciamo doppio click sull’etichetta “Main camera”: PRO TIPS: nel caso in cui non ci sia Ja Main Camera oppure sia stata eliminata, essa pud essere reimpostata cliccando su GameObject — Create Other > Camera. Component Temain Window Help Create Empty ChlShifte Create Other 1] ita span Center On Children Come GUTet Make Parent ae Clear Parent ae Apply Changes To Prefab Una volta fatto doppio click sull'editor verrete trasportati direttamente sulla posizione esata della telecamera. Possiamo vedere che la telecamera proietta sulla schermo delle linee bianche. Quelle linee stanno a significare 'angolo di visuale delle telecamera, quindi noi all’interno del gioco vedremo tutto cid che verra inquadrato dalle linee. Attraverso le tre freccette possiamo spostare la nostra telecamera, quindi se ad esempio vogliamo spostarla a destra clicchiamo sopra la freccia rossa e trasciniamola a destra o sinistra. La stessa cosa vale per la freccia blu e verde. Una volta che avremo selezionato la telecamera, premendo il tasto ei so la tel oppure cliccando sull'icona potremo roteare un qualsiasi oggetto, in questo mera. le tre frecce e sono apparsi dei cerchi che Notiamo subito che intorno alla telecame! hanno assunto gli stessi colori delle frecce. , infatti, sono scompar Cliccando e tenendo premuto su uno dei tre cerchi colorati, potremo roteare nella direzione desiderata la telecamera, in questo caso se voglio far si che l'angolo ricopra la zona a sinistra della telecamera dovrd cliccare e trascinare la linea verde e voltarla nella direzione desiderata. Una volta posizionata correttamente la nostra telecamera, possiamo vedere alla destra dello schermo che & apparsa una piccola schermata di Preview che ci mostrera cid che la camera sta inquadrando. ees) Per la visualizzazione a schermo intero basta andare sull’etichetta “Game”, come spiegato in precedenza Ora possiamo notare che manca il cielo, infatti esso apparira completamente blu. 1] cielo nella programmazione di videogiochi viene chiamato “SkyBox”, e per inserirlo basta andare sul percorso Component -» Rendering —> SkyBox. (ieaneoeE Ada. CirleShitt= a, Mesh » fects > Physics » Navigation » Audio » Rendering >| Camera Miscellaneous >| Skybox Character >| Flare Layer Comere-Control > CUlLeyer Nell'inspector della camera, tra i vari componenti, sara apparso anche “SkyBox”. Caner ada log trenieetr bees ees Per inserire il cielo, per prima cosa, lo dovremo andare a cercare tra le varie cartelle del progetto (se importato nei Packages come fatto in precedenza). Quindi, nella cartella del progetto, nella parte inferiore dell’editor dovremo trovare i seguenti file: Seguiamo il seguente percorso Standard Assets > Skyboxes. Subito dopo ci ritroveremo di fronte a questi file: foes Par ae een es Perr Le immagini che possiamo vedere sono gli Skybox, quindi ognuno di essi sard un cielo con diverse caratteristiche che potremo adottare nel nostro gioco. ‘Tramite la barra posta all’estrema destra possiamo anche scorrere in basso per trovare altri skybox. Una volta trovato il cielo adatto (per vedere come sara dovremo obbligatoriamente provarlo come stiamo per fare), torniamo nella schermata della main camera e trasciniamo il cielo da noi scelto proprio dentro la scritta “None Material” cece errs Petes Una volta fatto cid, possiamo notare che sulla modalita a tutto schermo del nostro gioco sara finalmente visibile in cielo da noi scelto. Attenzione: il cielo sara visibile solamente nella schermata “Game” attraverso la telecamera, nell’editor esso non apparira. Possiamo notare che la mappa @ scura e i dettagli sono poco visibili. Per risolvere questo inconveniente inseriamo nella mappa i punti di luce. In Unity esistono quattro diversi tipi di iluminazione: 1. Directional Light. 2. Point Light. 3. Spotlight. 4. Area Light. Innanzitutto vediamo come inserire le luci. Andiamo sul percorso GameObject — Create other. GomeObjec!] Component Terrain Window Helo Create Empty CtrleShift-N Create Other >| Particle System Center On Children toners cuites SEES curTedure Parent ey Directional Light Point Light Move To View CrlealeeF Spotlight Align With View Ctl ShittsF ‘Area Licht Alan View tn Selected Partendo con ordine selezioniamo la Directional Light. Prima di tutto chiediamoci, cos’é la Directional Light? Semplice, essa emulera la luce solare, quindi, in ambienti aperto come quello che stiamo creando, servira moltissimo, poiché sostituira il sole. Sul’editor possiamo vedere che ora @ apparso un simbolo raffigurante il sole, esso sara la particella da cui sard emanata la luce. Se ci focalizziamo sulla particella possiamo notare che da e: dei “raggi giall”, essi stanno a raffigurare la direzione dove sara proiettata la luce. , a parte le tre frecce direzionali, compariranno Possiamo manovrare la direzione in cui il “sole” puntera semplicemente con il metodo visto in precedenza per la telecamera. Clicchiamo sul tasto “E” e attraverso il cerchio roteiamo la luce solare. Se la luce sarA puntata verso il terreno questo sara illuminato, ma se la punteremo verso il cielo, allora esso non sara pit illuminato. Attenzione a dove puntiamo il raggio solare! Dobbiamo essere molto precisi su dove puntiamo i raggio derivante dalla particella, poiché, se lo puntiamo solo verso il terreno, possiamo notare che quest'ultimo sara illuminato ma la montagna restera in parte buia. Da questa immagine notiamo che tutto il terreno é illuminato, ma alcuni tratti della montagna rimangono nel’ombra. Dobbiamo quindi sempre cercare di direzionare al meglio i raggi della particella o, a limite, inserire un altra Directional Light (soluzione sconsigliata poiché potrebbe infrangere la realtA del gioco). Gliccando sulla particella, nell’Inspector sono apparse delle nuove impostazioni: ocr) ieee) PE} Ei ener eey Leen ry Pere == Con “Type” si intende che tipo di particella abbiamo selezionato. Con “Color” possiamo andare a modificare il colore della luce solare. Con “Intensity” andiamo a modificare lintensit del colore della luce. Con “Cookie” possiamo inserire un immagine 2D che verra poi emanata come ombra dalla particella. Con “Cookie Size” impostiamo la dimensione dell’ombra dell'immagine 2D. Con “Shadow Type” (solo per Unity Pro) impostiamo il tipo di ombra che sar generata dagli oggetti 3D seminati nella mappa. * No Shadow : non sara proiettata nessuna ombra. * Hard Shadow: saranno proiettate ombre scure o pesanti. * Soft Shadow: saranno proiettate ombre leggere. Spuntando “Draw Halo” intorno alla particella, nelleditor apparirA un’aurea che ci indichera la posizione esatta di quest’ultima. Con “Flare” possiamo inserire un’immagine di Texture per segnare i Flare (vedremo nei volumi successivi). Con “Render Mode” determiniamo limportanza del rendering di questa luce. Possiamo utilizzare “Culling Mask” per escludere selettivamente dei componenti da non illuminare. Con “Lightmapping” possiamo selezionare la modalita di mapping della luce. Ora selezioniamo il Point Light e sull'editor apparira la seguente particella: E molto diversa dalla Directional Light, essa infatti non presentera la direzione della proiezione dalla luce, ma ha bensi un cerchio, un’area. Quest’area rappresentera la zona esatta dove la luce verra proiettata. Allinterno dall'area gialla ci sara Veffetto della particella, al di fuori, perd, Veffetto della luce non sara visual Per ingrandire l'area ci sono due metodi: 1. cliccare su uno dei quadratini disposti intorno all'area e, tenendo premuto il tasto sinistro del mouse, trascinare verso l’esterno; 2. aumentando il “Range” della particella nell’inspector. Cen Una volta creata la particella e corretto il Range, posizioniamola correttamente sul terreno, nella zona che vogliamo illuminare. jamo notare che la luce emessa dalla particella & molto bassa. Possiamo quindi aumentarla o aumentare di nuovo il range, oppure aumentare l'intensit della luce attraverso “Intensity”. ey Eee E consigliabile inserire pid Point Light per aumentare lintensita della luce. Sui Point Light abbiamo detto tutto, poiché le impostazioni sull’inspector sono uguali a quelli della Directional Light. PRO TIPS: i Point Light sono molto uti fiammiferi, ete. vati per emulare la luce prodotta da lampadine, candele, Occupiamoci adesso dello Spot Light; del tutto simile alla Directional Light, poiché entrambi hanno dei raggi per indicare da che parte sara direzionata la lu Lunica differenza @ che lo Spot Light illuminera solamente una zona limitata della direzione selezionata, contrariamente alla Directional Light che illumina tutta la zona della direzione selezionata. Questa particella presenter un’impostazione in pid, ovvero lo Spot Angle. ‘Tramite questa opzione possiamo andiamo a modificare I'angolatura dal raggio prodotto dalla particella. Esempio di angolatura 10 Esempio di angolatura a 96 Anche su questa particella, per avere dei minimi risultati, dovremo aumentare il Range e I'Intensity. Una volta impostati bene i precedent valori, posizioniamola sul terreno e otterremo questo risultato: Range: 24.8, spot angle: 87, intensity: 4.96 Possiamo vedere che avremo un effetto somigliante a quello proiettato da una “navicella UFO”. Con lo Spot Light avremo la possibilita di direzionare il raggio, proprio come abbiamo fatto con la Directional Light, cosi da ottenere nuovi risultati. Vista dall'editor Vista dal gioco PRO TIPS: la Spot Light é utilizzata per emulare la luce emanata da lampadari, lampioni, luce solare attraverso le finestre, ete. Come ultimo punto diluce troviamo l'area light. Questo punto di luce non verra approfondito perché é solamente utilizzato per un processo chiamato “Lightmap Baking” (che non vedremo ora), comunque possiamo dire che tramite Parea light la luce sar& proiettata in tutte le direzioni per un lato di una sezione rettangolare di un piano. a, 7i* Le impostazioni dellarea light sono limitate e troveremo, infatti, solamente quelle classiche, ovvero il tipo, il colore, l’intensita, la larghezza e Valtezza. ESERCIZIO Con tutto cid che hai appena imparato utilizza i punti di luce e gli strumenti per il terreno per creare una mappa avente le seguenti caratteristiche: 1. Montagne e salite. 2. Una zona boschiva collegata alla montagna da un sentiero di foglie/erba. 3. Uncielo notturno. 4. Iluminazione non troppo accentuata. Tempo massimo: 20/30 minuti Prima di tutto dobbiamo pensare a quale tipo di suono serva per la nostra mappa. Se avessimo creato un appartamento privato avremmo dovuto procurarci i suoni adatti, come ad esempio il cigolare di una porta che si apre, il rumore di una goccia d’aequa che cade nel lavandino, ilticchettio di un orologio, et. In questo caso la nostra mappa sar ambientata in una zona boschiva, quindi cosa ci aspetteremo di sentire? Tsuono dei grill, il bubolio di un gufo, il rumore dei passi su un sentiero, ete. I suoni che introdurremo nella nostra mappa devono essere di nostra creazione o comunque dobbiamo detenerne interamente i diritti. Se scarichiamo e utilizziamo dei suoni creati da altri, 8 possibile che vengano commesse delle violazioni di copyright, esponendo il nostro gioco a problematiche di natura legale. PRO TIPS: é possibile scaricare gratuitamente materiale audio da siti specializzati in musica e suoni privi di copyright (per il libero utilizzo anche a fini commerciali). Clicea sul seguente link per scaricare il suono che utilizzeremo in questa lezione: [grillimp3 Una volta che ci siamo procurati il nostro file audio (in questo caso il suono del canto dei grilli), vediamo come importarlo nel nostro progetto. Prima di tutto, nella cartella del progetto, creaimo una nuova cartella e chiamiamola “Suoni”. Create >) Folder Show in Explorer ane eu C2 Script i Boo Script Import New Asset. Shader Import Package >) Compute Shader Dae eT Ear rEE Sore Successivamente facciamo doppio click col tasto sinistro del mouse per entrare nella cartella. Ora alfinterno del nostro computer apriamo la cartella contenente il suono che vogliamo importare e, come abbiamo fatto con lo Skybox, trasciniamolo all interno della cartella appena creata. SCLC eer 1] suono o la musica ci metter& pid o meno tempo per essere importato su Unity, dipendentemente dalla dimensione del file e dalla lunghezza del suono. Una volta caricato il file clicchiamoci sopra per vedere cosa ci riservera Inspector dei suoni. Possiamo notare due categorie di impostazioni, la prima parte conterra le impostazioni generali del file audio. Tet Ne eae cea) Alcune impostazioni non potranno essere modificate, come ad esempio “Audio Format”, peré altre lo potranno essere (3D Sound, Load Type, Compression). Per assicurarsi che il suono non subisca cambiamenti @ consigliabile non toccare queste impostazioni, poiché la qualita del suono potrebbe diminuire. La seconda categoria, invece, conterra una preview della traccia audio. Peer naps pet eto UMM inn Or Seon 21.2 KB (OGGVC Cliccando in un punto qualsiasi sopra la traccia audio sara possibile sentire un’anteprima del suono in questione. ey cer Cee Sirol heats) lined nian dashseliooieens ania aoe cea ch2 a eth led ahs econ ae PERO Aes trea seen CT CLG Ora clicchiamo sul file grilli.mp3 dalla cartella del progetto e trasciniamolo nella gerarchia dei file. ca Facendo doppio click sulletichetta “grill” nella gerarchia, la visuale dell editor si avvicinera e inquadrera la particella del suono. Il suono si posizionera mpre in uno dei quattro angoli del terreno e prendera il nome di sorgente audio. L’inspector ora mostrera delle nuove impostazioni per il nostro suono che precedentemente non avevamo. Sat wudio Clip In “Audio Clip” sara riportato il nome del suono. “Mute”: se abilitato il suono ei sara ma muto. “Bypass Effects”: se abilitato il filtro per gli effetti audio sara attivo. “Play On Awake”: se abilitato il suono verra riprodotto dal caricamento della mappa, in caso contrario esso pud essere avviato dal comando di script “Play()”. “Loop”: se abilitato, una volta terminato il suono esso verra riprodotto infinite volte. Con “Priority” intendiamo la priorita di questa sorgente audio tra tutti gli altri suoni. Priorita: © o= pit importante; * 128 = priorita standard di default; * 256 = meno importante. PRO TIPS: é consigliabile, nei brani musicali, inserire il valore “o” nella priorita per evitare inconvenienti. Con “Volume” indichiamo a quale intensita verra riprodotto il brano. Con “Pitch” indichiamo la quantita di variazione del tono dovuta a un rallentamento o accelerazione del clip audio. “1” é il valore di riproduzione a velocita normale. Cliccando su “3D Sound Settings” si aprira un sottomend contenente altre impostazioni avanzate relative al suono 3D. ir rT vera oi Level Con “Doppler Level” indicheremo quanto effetto “Doppler” sara applicato a questa sorgente audio. Se verrd impostato lo “o” non verra applicato alcun effetto, Con “Volume Rolloff” indicheremo quanto velocemente il suono si affievolira. Pid alto @ il valore e pid il giocatore dovra essere vicino al suono prima di sentirlo. * Logarithmic Rollof, il suono sara forte quando si star vicini alla sorgente audio, ma quando allontanera il volume diminuira velocemente. * Linear Rollof, pit! lontano ci si allontanera dalla sorgente e meno il suono potra essere ascoltato. * Custom Rollof, il suono si comportera in conseguenza a come si impostera il grafico sottostante. Con “Min Distance” indicheremo la distanza minima da quando il suono si iniziera ad attenuare. Avvicinandoci alla sorgente del suono potremo vedere che é circondato da un cerchio. Se con il puntatore del mouse clicchiamo e trasciniamo su uno degli “angoli” indicati dai cubi, potremo aumentare la dimensione del cerchio in questione. Quando il giocatore si avvicinera al cerchio, iniziera ad ascoltare il suono o brano musicale contenuto dalla sorgente. Pit vicino sara dal centro e pid il suono sara di intensita maggiore. Aumentando o diminuendo manualmente le dimensioni del cerchio saranno cambiati in automatico anche i valori di “Min Distance” Seen Con “Pan Level” indicheremo quanto il motore gD avra un effetto sulla sorgente. Con “Spread” indicheremo Pangolo di diffusione 3D stereo o multicanale nello spazio degli autoparlanti. Con “Max Distance” indicheremo la distanza massima nella quale si stoppera lattenuarsi del suono. Subito dopo queste impostazioni ci verrA mostrato un grafico relativo ad alcune impostazioni precedenti (Volume, Pan & spread). E possibile modificare a mano il seguente grafico al fine di testare e produrre nuove tipologie di suoni ed effetti. Modificando il grafico si andranno anche a modificare in automatico i valori: * Volume Rollofi. « Pan. © Spread. Esempio di un grafico modificato andando a incidere manualmente su di esso. Attenzione: se non si é pratici dei suoni 3D, @ consigliabile non modificare in alcun modo il grafico, per evitare di incorrere in eventuali bug o distorsioni del suono. Infine troviamo l’opzione “Pan 2D” che avra pressocché la stessa funzione di “Pan Level”. Il prossimo passo da fare sara creare e inserire il nostro personaggio 3D all'interno della mappa, per verificare il corretto funzionamento di quanto abbiamo inserito in questa lezione, ma questo lo vedremo solamente nel prossimo volume di questa collana. Vido appuntamento al prossimo volume! Francesco Splendore é nato a Chieti il 14 ottobre 1995. Fin da subito ha imparato a utilizzare il computer e a scoprirne tutti i segreti. E un appassionato di computer, tecnologia, anime giapponesi e di videogiochi. I] suo interesse per i videogiochi 'ha presto portato a studiare la programmazione con Yobiettivo di sviluppare games accattivanti e coinvolgenti.

Vous aimerez peut-être aussi