3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 00/il viaggio Nessuna grande avventura inizia senza un lungo viaggio, freccia argento e trenitalia erano i nomi che mi “bombardavano” la testa nella settimana precedente al corso, come molti sapranno e sicuramente avranno vissuto sulle proprie spalle, quando si parla di viaggi in treno e soprattutto di trenitalia, beh un brivido freddo sale dietro la schiena e terrorizza non poco, ma fortunatamente questo lungo viaggio, Roma-Mestre è stato tra i più tranquilli della mia vita, ben diverso dal treno regionale che solitamente da Roma mi porta in patria (Venafro, Molise), il freccia argento è un ottimo treno, confortevole e pulito, permette di rilassarsi con un film o qualche videogame senza dar fastidio al “vicino di viaggio” o a costringerci in posizioni assurde per trovare il giusto compromesso tra visibilità e stabilità del proprio portatile ad esempio. Il viaggio, dalla durata di 3:30h l’ho impegnato per la prima mezz’oretta a completare dei lavoretti in sospeso, il resto del tempo guardando “Ralph spaccatutto” (tanto per rimanere in tema CG) e facendo qualche partitina con il mio fido e onnipresente compagno di viaggio “Nintendo 3DS” tra battute di caccia a “Monster Hunter” e qualche annaffiata di fiori nel mio mite villaggio in “Animal Crossing”. Arrivo finalmente a Mestre, dopo qualche sbattimento per trovare l’autobus riesco a salire e mi dirigo a Portegrandi, un paese immerso nel “nulla” Portegrandi, infatti è una piccola frazione di Quarto d’Altino, in provincia di Venezia caratterizzato fondamentalmente da una chiesa, una locanda e un fiume che lo attraversa, il Sile. Certo non una meta ambita da un qualsiasi 23enne, ma ha sicuramente il suo fascino un paese immerso nel verde attraversato da un fiume e con un’incredibile e rilassante atmosfera. Arrivato in albergo mi sistemo e scendo subito per cenare, dopo un lungo viaggio la fame si fa sentire! Dei taglioni al pesto di pistacchio e noci, pasto particolare che non ho mai trovato da nessuna parte, devo ammettere che il sapore non era niente male! Finita la cena risalgo in camera, è ora di dormire, avevo una giornata molto particolare da affrontare, buona notte!!! 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 01/benvenuti a BigRock Sveglia alle 8:00, colazione e via a scuola, BigRock è una scuola molto particolare, da quello che ho sentito parlando con altri studenti l’edificio nasce come fattoria, solo in un secondo momento divenne BigRock, fa uno strano effetto sapere una cosa simile, come due “attività” estremamente opposte e diverse siano state realizzate nello stesso luogo. Entro in aula e faccio la conoscenza dei miei compagni di corso per le prossime due settimane, Francesco, Dario, Nicola, Gianluca, Glenn, Andrea e Matteo. Insieme a loro ovviamente gli insegnati, Leonardo (insegnante di Maya), Lorenzo (insegnante “della parte artistica” di Unity3D) e Matteo (insegnante della parte di visual scripting in Unity3D). Ci mostrano la scuola, qualche lavoro fatto negli anni passati e ci introducono al corso, la prima settimana sarà incentrata sulla modellazione e il texturing 3D, la seconda sarà focalizzata totalmente su Unity3D. Iniziamo subito, Maya e modellazione 3D, non sono esattamente un neofita del tema, certamente non posso definirmi un esperto, ho iniziato da poco ma parto sicuramente avvantaggiato, so di cosa stiamo parlando e quali possono essere le criticità di un 3D Artist in generale, non conosco bene come funziona in ambito videoludico la modellazione, ma sono qui per questo dopotutto no? Iniziamo a vedere interfaccia e tool basici del software, con qualche esercizio per impratichirsi con il tutto. Cosa particolare del metodo di insegnamento in BigRock è “l’impossessarsi dello schermo degli alunni” o meglio, i computer (tutti iMac) vengono bloccati dai docenti in modo che gli alunni non possano continuare a lavorare e parte in automatico lo streaming dello schermo del docente, dove si vede cosa sta facendo insieme alla spiegazione, sicuramente molto comodo rispetto ad altri mezzi come proiettori o lavagne. Altra cosa singolare, la nostra aula, ha un’intera parete lavagna, molto originale, utile e creativa. Spiegate le prime cose iniziamo a lavorare, ogni lavoro dovrà essere consegnato a fine giornata entro le 18:30 orario di fine lezione, rinominandolo con il proprio nome e cognome e inviarlo sul server. Il primo giorno di lezione ci ha riservato subito una sorpresa, direttamente da Londra, dagli studi di MPC è venuto a tenere un incontro speciale Daniele Orsetti, per chi non lo sapesse MPC è uno dei più grandi studi di effetti speciali per il cinema, Daniele ha lavorato ad esempio a film come Man of steel, Prometheus e World War Z, durante l’incontro ci ha parlato dei flussi di lavoro in grandi aziende come la sua, le pipeline che vengono adottate e cosa producono, tra modellazione 3D, texturing, shading e compositing ci ha mostrato passo dopo passo come vengono realizzate immagini stupefacenti foto realistiche che poi vanno a finire sul grande schermo del cinema. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 02/BZ e UV Il secondo giorno si ritorna in aula, la “missione” è realizzare un modello 3D di un fucile al quale poi saranno stese le UV e texturizzato. Veniamo anche a conoscenza di cosa andremo a produrre a fine corso, una piccola demo di uno spacer che si muoverà in un ambiente 3D futuristico e andrà ad uccidere dei ragni alieni giganti. Bene, inizia la giornata... lo ammetto modellare mi piace è divertente e stimolante sotto molti punti di vista, ma se c’è una cosa che ho capito di odiare è aprire le uv... spieghiamoci meglio, una volta realizzato il modello 3D per poterlo texturizzare è necessario aprirne le UV, ovvero prendere il modello 3D, e aprirlo in modo da “spalmarlo” su un piano bidimensionale, per capirci, prendi il mappamondo, spaccalo a metà e ricavane un planisfero, solo che con la modellazione quasi mai bisogna unfoldare un oggetto semplice come una sfera, ma bisogna farlo anche e soprattutto con dei charachter, ambienti, pistole (come un questo caso) e tutto quello che si è realizzato in 3D. Vi posso assicurare che il procedimento non è per niente user friendly né tanto meno piacevole!!! Ma questo è un lavoro che qualcuno deve pur fare e che mi piaccia o no, va fatto!!! Quindi armato di tanta pazienza e buona volontà inizio a stendere queste maledette UV, fortuna che in questa giornata ci viene introdotto “BZ”, no, se state pensando ad un tool particolarmente intelligente da unfoldare tutto e aprirci alla perfezione le UV state sbagliando di grosso, BZ è più qualcosa come: “sto sclerando per il troppo lavoro, devo distruggere ASSOLUTAMENTE qualcosa!!!” BZ altri non è che un piccolo giochetto, al quale partecipano tutti i ragazzi della scuola connettendosi al server, lo scopo del gioco? Semplice, distruggere tutti gli avversari in rischiosissime partite death match, rischiosissime perché si rischia seriamente di mettere in gioco amicizie! BZ è il classico gioco bastardo, scusate il termine, dove si pilota un carro armato e bisogna distruggere gli avversari, solo che ci sono un mucchio di powerup che ad esempio fanno diventare il giocatore invisibile oppure ci armano con un super cannone laser e altre cosette simpatiche. La cosa più bella è che urlando a squarcia gola “DENTROOOO!!!!” per i corridoi, tutti, tra studenti e insegnanti loggano in BZ per darsi guerra! Passatempo molto simpatico, dovrebbe essere adottato da tutte le aziende e scuole per spezzare la monotonia e staccarsi 5 minuti dal lavoro. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 03/remeshing Durante il terzo giorno di lezione abbiamo perfezionato la modellazione del fucile, aggiungendo dettagli e stando attenti a non spostare i vertici della mesh in modo errato, il target del giorno era realizzare un modello con un alto numero di poligoni da remeshare in un secondo modello a basso numero di poligoni, il così detto low poly. Probabilmente starete pensando: “a che mi serve lavorare con un elevato numero di poligoni se poi nel mio progetto dovrò assolutamente utilizzare un modello low poly?” Ovviamente ha il suo senso, dal modello HP è possibile ricavare una normal map, ovvero una sorta di texture che “inganna” la luce simulando dei basso rilievi sul modello LP. Spieghiamoci meglio, la normal map non scolpisce la geometria ma simula delle superfici modellate, per fare ciò si modella in alta definizione la mesh, da questa mesh in alta definizione si ricava la normal map che viene poi applicata sul modello a basso numero di poligoni, così facendo il modello a basso numero di poligoni, privo di qualunque dettaglio, acquisisce moltissima qualità, avvicinandosi ad un modello HP. Ovviamente il risultato è solo “simulato” i dettagli non vengono realmente modellati, questo permette di avere un ottimo bilanciamento una volta ingame tra qualità e prestazioni, i poligoni sono pochi ma il dettaglio è comunque presente, un ottimo colpo d’occhio! Per quanto riguarda il remeshing... il procedimento non è particolarmente complesso, basta tener conto solo di alcune piccole accortezze, cioè, non “piazzare” poligoni con 5 o più facce, evitare poligoni triangolari se possibile (specialmente se il modello 3D dovrà muoversi) e ovviamente non esagerare con i poligoni, altrimenti a cosa dovrebbe servire il remeshing? La tecnica è semplice, si disegnano letteralmente i poligoni direttamente sulla mesh che abbiamo modellato, questo è possibile ancorandoci proprio sul modello, quando andremo a disegnare i poligoni, questi si snapperanno direttamente sulla mesh, abbiamo bisogno solo di un po’ di pazienza e tempo, il resto viene da se. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 04/texturing e singanajo Il quarto giorno prende una “piega” inaspettata, se durante le canoniche ore di lezioni le abbiamo passate a texturizzare l’arma in photoshop, la serata si prospettava particolarmente movimentata; H-Farm, un’incubatrice di start up a pochi metri da BigRock ha organizzato per la sera una festa privata, dove tutti gli elementi di BigRock, alunni e insegnanti sono invitati, “dress code: Mustache”, fortunatamente sono partito senza rasoio e avevo abbastanza baffi da sfoggiare, questo mi ha garantito una soddisfacente cena gratuita a base di rustici, pasta, riso e quant’altro con un’abbondante riserva di birra fresca, ottimo modo per affrontare una festa! Un minimo di rammarico però è da sottolineare, nelle precedenti edizioni di questa festa vi era la possibilità di vincere dei sostanziosi premi, tipo ipad, apple tv e altri interessanti apparecchi tecnologici che fanno gola, purtroppo quest’anno non c’era questa possibilità, peccato, sarebbe stato bello tentare la fortuna e magari aggiudicarsi un bell’ aggeggino di questi!!! Per finire in bellezza un bel cannone a centro della pista a sparare schiuma a palla! Resoconto della giornata: arma texturizzata, stomaco pieno, tasso alcolico non di certo a 0, panni zuppi per via della schiuma. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 05/giochi di ombre Ultimo giorno di lezione per quanto riguarda il mondo infinito di Maya, c’è da finalizzare il modello 3D e da caricare il risultato finale sul server, anche se durante questa settimana non abbiamo affrontato tutti gli argomenti inerenti alla grafica 3D quali rigging, animazione e lighting e rendering le cose apprese sono state moltissime, anche io che non partivo esattamente da zero ho imparato un mucchio di tips e tecniche per modellare al meglio tutto quello che mi passa per la testa, lo ammetto, mi ritengo decisamente soddisfatto della prima settimana di lezione, peccato sia già finita!!! Il dovere chiama, le ore di lezione passano velocemente c’è da completare l’arma, texture, normal map e specular map (per le riflessioni della luce) e ambient occlusion non si fanno certamente da sole, tutti ci mettiamo a lavoro e riusciamo a chiudere il progetto in tempo per la consegna, esportando un file fbx adatto per essere importato in unity. La prima settimana è andata, ora del meritato riposo e poi si ricomincia con qualcosa di totalmente nuovo... Unity 3D!!! 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 06/unity Il fine settimana è passato, ho visitato Venezia e per sbaglio Jesolo, si... per sbaglio, la verità è che tornando da Venezia mi sono addormentato sull’autobus e mi sono risvegliato a Jesolo, non ridete di me (:P) piccola parentesi, Venezia è spettacolare, se non ci siete ancora mai andati, beh ADATECI!!! Riprendiamo da dove ci siamo lasciati, la prima settimana si è conclusa con un mitra modellato in 3D, al quale abbiamo applicato ovviamente una texture per dargli carattere, una normal map per raggiungere un livello di dettaglio maggiore, una specular map per definire i punti di luce speculari sul modello 3D e un ambient occlusion map che in realtà abbiamo applicato direttamente alla texture, l’ambient occlusion per chi non lo sapesse è quel fenomeno fisico che si verifica nei punti dove due oggetti si toccano e dove quindi la luce non arriva allo stesso modo, se vedete ad esempio gli spigoli della vostra camera hanno una piccola ombra proprio nell’intersezione tra il soffitto e il muro, esattamente sullo spigolo. Oggi si affronta un tema totalmente nuovo, almeno per me... è ovvio. Unity 3D, questo engine nato non troppo tempo sta conquistando tutto il mondo, applicato in primis nello sviluppo di videogame, in special modo tra gli sviluppatori indipendenti, ma anche in ambito militare, medicinale e della comunicazione pubblicitaria, realtà aumentata etc... Unity 3D è una piattaforma vastissima, che permette di realizzare qualunque fantasia abbiate per la testa, ottimo strumento per coordinarsi in team, per realizzare prodotti in singolo o anche semplicemente per passa tempo, Unity è acquistabile con licenza pro oppure è scaricabile in maniera totalmente gratuita per iniziare a sviluppare tutto quello che vogliamo, con veramente pochissime limitazioni. Automaticamente Unity è in grado di compilare e impacchettare eseguibili per PC, Mac, iOS, Android, Windows Phone e Unity web player, ma non solo, Unity 3D viene supportato anche dalle grandi Home console, quali Xbox 360, PS3 e Wii, c’è veramente di tutto per tutti i gusti, i porting sono velocissimi e semplicissimi da effettuare, basta acquistare la licenza ed è fatta! La prima giornata di lezione su Unity 3D viene impegnata per capire l’interfaccia grafica, con spiegazioni di elementi basici come gli Assets, le scene, i package e i prefab, per finire abbiamo iniziato a creare il primo layout del livello destinato alla “demo della demo” sullo spacer e il ragno assassino! Durante questa settimana inoltre l’unica consegna sarà l’ultimo giorno di lezione con la piccola demo finita e impacchettata come eseguibile. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 07/e luce fu Settimo giorno di lezione, fondamenta di lighting e shading in Unity, abbiamo imparato le differenze tra spot light, area light, directional light e point light, abbiamo visto alcuni materiali in Unity, molto diversi rispetto a Maya, ci sono materiali diffuse, dove l’unico elemento caratteristico è l’applicazione della texture, quindi privo di speculari o altri dettagli, il materiale bumped-diffuse simile al precedente ma con la possibilità di aggiungervi una normal map, poi ancora: materiali trasparenti, con speculare, rilfessivi e emissivi. Abbiamo visto molte altre cose, quali lo skybox, ovvero il cielo di sfondo in unity, come si realizza e come si imposta, ma la cosa più interessante di tutte è stata la lightmap applicata su tutto il livello, la light map disegna letteralmente le ombre sulle texture, questo permette di disattivare luci in real time ed avere comunque delle ombre nel livello, perseverando un’estetica impeccabile e ottime prestazioni, questo procedimento è indispensabile ad esempio nei giochi mobile, dove la potenza delle macchine non è eccelsa e le luci in real time richiedono moltissime risorse. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 08/la mia porta è un trigger L’ottavo giorno ci introduce una plugin strepitosa, tutti sappiamo che per realizzare un videogame è importante avere un comparto grafico di tutto rispetto, con stile e qualità delle immagini, ma il tutto è totalmente inutile se non si è capaci di programmare un videogioco, essenzialmente la programmazione è il cuore pulsante di un gioco, proprio come nel corpo umano, i muscoli, lo scheletro e tutto quello che vediamo ad occhio nudo non potrebbero mai muoversi se non ci fosse il cuore a spingere il sangue nelle vene e a renderci vivi, senza di esso infatti saremmo semplicemente delle carcasse inanimate. La programmazione è esattamente questo, il cuore di tutto, puoi essere il grafico più bravo al mondo, puoi fare animazioni da urlo, ma se non si riesce a far funzionare il tutto non si va da nessuna parte. Molto spesso però un art, non è capace di programmare, Playmaker ci aiuta proprio in questo, è un plugin che munisce Unity di un editor di script visuali, il tutto tramite nodi. Io che ho passato l’adolescenza su “rpg maker” sono stato colpito dalla sua semplicità e dalla incredibile similitudine con il software citato, fondamentalmente possiamo fare tutto quello che ci pare tramite Playmaker, non abbiamo la flessibilità di un codice pure è ovvio, ma con un po’ di ingegno si possono raggiungere ottimi risultati, durante le ore di lezioni noi abbiamo realizzato l’apertura e la chiusura di alcune porte nel nostro livello di gioco, il tutto tramite “trigger” e Playmaker, cos’è un trigger: il trigger è un box trasparente che funge da interruttore, se entro nel trigger allora si verificano determinati eventi, un trigger nella vita reale può essere la porta di casa nostra, aperta entriamo in casa e iniziamo ad interagire con gli altri, idem è il trigger. Ovviamente le interazioni tra giocatore e trigger possono essere molteplici ed infinite, si possono adattare a qualunque esigenza, basta sapere cose si vuol fare e cosa deve succedere al giocatore che entra in quel determinato trigger. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 09/videogamer day Penultimo giorno di lezione, anche oggi studieremo Playmaker e lo sfrutteremo per creare una simulazione di punta e clicca, nello specifico: ho il mio eroe (una sfera nel nostro caso) che si muove su un piano a seconda di dove andremo a cliccare, quando clicchiamo sul piano viene visualizzato un cursore che ci fa vedere dove abbiamo cliccato, la sfera si muoverà esattamente in quella direzione, tutto questo senza scrivere una sola riga di codice. Dopo il punta e clicca è ora di vedere le Nav Mesh, le nav mesh sono usate per determinare un’area calpestabile ai nemici o comunque a personaggi che non sono il giocatore, quest’area viene calcolata tramite nav mesh con un processo di bake, possiamo definire cosa vogliamo far calpestare e cosa e no, nel caso, possiamo dire ai nemici ad esempio se un determinato oggetto può essere saltato o aggirato, il tutto ovviamente con parametri personalizzabili. Ultima pillola giornaliera è stata l’inserimento di elementi particellari in scena, ovvero: fuoco, polvere, fumo, spruzzi d’acqua etc... Gli effetti particellari donano un enorme realismo nel gioco, sono composti principalmente da delle immagini in png che vengono emesse dallo stesso punto, possiamo decidere se farle emettere in modo lineare, veloce, più o meno grandi o personalizzare la quantità di particelle emesse. La giornata non finisce come al solito, innanzitutto, dopo la lezione facciamo una video chiamata su Skype molto particolare... dagli studi di infinity ward di Activision, abbiamo l’onore di chiacchierare con Bernardo Antoniazzi, Technical Art Director del team, che ha lavorato a numerosissimi titoli della saga Call of Duty, ultima fatica è proprio COD ghosts in procinto di uscita sulle console casalinghe di ultima generazione, ci mostra qualche (spettacolare) lavoro che ha fatto e ci racconta come funziona a grandi linee il lavoro in un’azienda come activision. Ma la giornata non è ancora finita, oggi infatti c’è la festa dei gamer, BigRock ha organizzato una festicciola a base di pizza, birra e videogiochi, tutti possono sfidarsi in un lan party a giochi come call of duty, team fortress, tekken o fifa. Ma non mancano anche giochi come il biliardino o il tavolo da ping pong, una bella serata per spezzare la monotonia e rilassare la mente. 3D GAME ART SUMMER CAMP @ BIGROCK GIORNO 10/see you BigRock Ultimo giorno, oggi si chiude l’avventura BigRock e il progetto dello spacer, oggi ci si sporca veramente le mani con tutto quello che abbiamo fatto per due settimane! La lezione non è particolarmente ricca di novità, quest’ultimo giorno è stato impegnato più che altro per finalizzare tutto quello che abbiamo creato durante le giornate di lezione, le novità introdotte sono state gli effetti sulla camera come il “vignetting” sfruttatissimo su instagram, è il classico alone sui bordi dell’immagine, il blur, il gloss e tanti altri, altra introduzione in scena sono stati i lens flare di unity, i classici bagliorini contro luce che si creano in camera ed una veloce carrellata sull’animator di Unity. Si finalizza tutto, e tutti riusciamo a chiudere i progetti entro le 18:00, il resto del tempo lo passiamo a visualizzare i lavori prodotti da tutti gli studenti del corso ed infine alla consegna degli attestati di partecipazione al summer camp. Non sono mancate foto e video interviste, agli studenti, con saluti e ringraziamenti per la buona riuscita del corso. la giornata è finita alla grande e con essa questa bellissima esperienza, grazie BigRock e grazie Indie Vault!!!