Grafica – Le Texture

Prima di passare alla pratica e agli strumenti per la grafica messi a disposizione in Blender, è importante sapere i tipi di Textures e il loro formato. Come già detto nell’introduzione a questa serie le Textures aggiungono più realismo al gioco, sempre stando al tipo di gioco che si sta creando, perché non sempre sono di tipo foto realistiche. Ci sono diversi siti in rete dove poter scaricare le Textures che servono al proprio gioco, nella pagina delle Risorse di questo sito ci sono diversi link ad alcuni siti, ma è possibile anche creare delle Texture usando programmi di grafica, Photoshop e Gimp sono i principali, ma ci sono anche programmi di grafica specifici per il gaming per citarne alcuni (a pagamento) PixPlant e Substance Design (quest’ultimo è orientato al texture paint), comunque in rete si trovano tantissimi software che aiutano a creare Textures.

Formati

In Blender è possibile carica diversi formati di immagini, in questa pagina ci sono le specifiche per ogni tipo di immagine, le più usate però per il game engine sono le .png e le .tga, il primo tipo è usato anche per la trasparenza, il secondo è usato per nidificare in una sola immagine più maschere, a tale proposito vedrò di fare un mini tutorial specifico. Una cosa importante da tenere a mente sono le dimensioni delle Textures devono essere multipli di 2, ovvero 2×2, 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512, 1024×1024, 2048×2048, e così via. Per scegliere la dimensione si usa la propria logica, se un’oggetto è grande, come per esempio un terreno o un’edificio, la texture sarà inevitabilmente di dimensioni grandi da 2048×2048 in su mentre se un’oggetto è piccolo o lo si vuole porre lontano dalla vista del player si usano di solito dimensioni ridotte, 512×512 o 1024×1024 al massimo, questo per ridurre il carico al motore di gioco e rendere il gioco più fluido.

Tipi di file

Le Textures non sono altro che immagini bidimensionali che vanno accoppiate all’UV map del modello (vedrai in un tutorial specifico cos’è un’UV map), è possibile, e spesso necessario, aggiungere più di una Texture al modello e ognuna di esse ha un compito specifico per esaltare il modello o renderlo più reale possibile. Per farti capire meglio di cosa si tratta userò l’immagine di un’oggetto come esempio e texture a lui assegnate, l’oggetto è un container per proiettili (non l’ho fatto io, le immagini le ho recuperate in rete), eccolo

Come puoi notare è un semplice parallelepipedo ma grazie alle varie Textures ha dei dettagli in più. I tipi fondamentali di Textures assegnate a questo modello, ma anche ad altri modelli, sono cinque : diffuse maps, normal maps, ambient occlusion, specular maps e cosine maps. Non sempre vengono usate tutte, per esempio per oggetti lontani che il player non vedrà mai da vicino bastano solo un paio di quelle sopracitate.

Diffuse maps

La diffuse maps è la principale texture che contiene la maggior parte delle informazioni in RGB (rosso, verde e blu) dell’oggetto. Di solito viene creata per prima, e in alcuni casi da lei vengono generate le altre textures, ma non sempre. ecco l’immagine della diffuse map del container dei proiettili

Normal maps

Questa texute è importante perché contiene i dettagli XYZ di un modello con più poligoni, infatti viene creata facendo il bake della texture stessa da un modello uguale ma con più dettagli a livello poligonale, cioè con molti più vertici del modello finale. Di solito infatti nel processo di creazione dei modelli per un gioco si parte dal modellare gli oggetti senza tenere conto dei poligoni, quindi high poly, poi si crea un modello low poly, che di solito è lo stesso modello copiato e ridotto di poligoni per poi fare il bake dei dettagli del modello high poly sull’UV map del modello low poly. Con questo processo si crea la normal map, ma è anche possibile usare dei software di grafica, sia quelli sopra citati che altri come Crazy Bump, per estrapolare la normal direttamente dalla diffuse. Sono validi entrambi i processi, dipende molto dal dettaglio che si vuole dare al proprio gioco, se si vuole più realismo il primo processo è di sicuro il più valido. Ecco la normal map del container (di sicuro è stata creata da un modello high poly)

 

Ambient Occlusion

In gergo detta AO, aggiunge delle ombre realistiche all’oggetto, nello specifico alle parti in rilievo o incave e alle crepe se l’oggetto ne necessita, ha un’aspetto in scala di grigi e infatti viene usata come overlay nei vari layer delle textures dell’oggetto, vedrai nel tutorial pratico come si fa in Blender. Ecco l’AO del container

Specular maps

Ci sono due tipi di specular una in scala di grigi e una colorata, entrambe lavorano in modo diverso nel modello. Quella in scala di grigi accentua le aree della texture che sono lucide ed opache, mentre quella colorata aggiunge i colori quando l’oggetto viene visto da un’angolatura estrema, di solito si usa solo quella in scala di grigi ma se è necessario si possono usare entrambe. Ecco le due specular del container

Cosine map

Quest’ultima texture non viene usata molto è sempre in scala di grigi e da al modello più lucentezza, usata in combinazione con la color specular map e una diffuse scura si può ottenere un effetto accentuato sulla riflessione dell’oggetto. E’ molto simile alla specular map in scala di grigi. Eccola

Queste sono le principali textures usate nei giochi, combinate tra di loro nella pila dei livelli danno all’oggetto un’aspetto decisamente migliore. Come detto non sempre si usano tutte e questo dipende molto da quello che vuoi ottenere nel tuo gioco, cioè dal risultato finale. Nei tutorial a seguire vedrai come crearle, usando texture già pronte, ed usarle in un modello.