Grafica – Bake della Texture

Ci sono vari modi per creare una Texture per un modello, si può esportare la UV map e usando un programma di grafica (Gimp, Photoshop o altri) si possono disegnare o montare varie Textures per dare al modello l’aspetto voluto. Oppure si può, come vedrai in questo articolo, fare il bake di varie Textures su una sola in modo da ottenere una Diffuse map di tuo gradimento, se non sai cos’è una Diffuse map leggi l’articolo inerente ai vari tipi di Textures QUA. Una piccola nota prima di iniziare, per la Normal Map è preferibile fare il bake delle geometrie di una versione del modello in high poly, si può anche usare uno dei vari programmi che si trovano in rete o i plugin dei software di grafica per creare la Normal direttamente dalla Diffuse, ma il risultato è diverso; affronterò questo argomento in seguito. Iniziamo.

Apri il file precedente, quello dove hai creato la mappatura, e salvalo con il save as (CTRL+Shift+S = save as) con un numero progressivo maggiore, semplicemente premendo il pulsante di + in alto a destra vicino al pulsante di Save nella finestra di dialogo del salvataggio. Adesso cambia il motore grafico da Blender Game a Blender Render, per questa operazione è meglio usare il motore di render interno perché più performante per la grafica; si può anche utilizzare Cycles ma il processo è più lungo e ci si può perdere.

Nel file che hai scaricato nell’articolo precedente vi sono quattro Textures, il processo di questa tecnica è semplice da capire, inserirò dei materiali a cui verranno associate le Textures (se hai anche delle Normal o altri tipi di Textures puoi usarle, verrà poi tutto calcolato nel risultato finale), e utilizzando una mappatura nuova, vedrai come in seguito, si farà il bake dei materiali e delle Textures su questa nuova mappa.

Andiamo per ordine, vai sulla finestra dei materiali, trovi un materiale unico per il modello (che è quello di default che io ho rinominato casotto), il primo materiale verrà associato da Blender automaticamente a tutto il modello (supponendo che non si ha nessun materiale) quindi per logica lo associo a tutti i poligoni, o facce del modello, che sono piccole e quindi fastidiose da selezionare, nel mio esempio non è così perché il modello è semplice ma se hai un edificio con parecchi dettagli puoi perdere tempo a selezionare i piccoli dettagli come i bordi delle finestre e delle porte. In questo caso lascerò nel materiale di base lo stipite e il bordo in basso dell’edificio. Rinomina il materiale come meglio credi, io l’ho chiamato stipite_bordi_basso (per capire quali parti del modello sono associate). Da adesso in poi salterai tra i materiali e le Texture, quindi tra le due tab evidenziate nell’immagine

Adesso associamo una Texture al materiale, passa nella tab delle Texture e clicca sul pulsante New e dalla Tab Image clicca su Open e trova la cartella dove hai estratto le Textures e inserisci quella che si chiama stone_014, come puoi vedere dall’anteprima nella 3D View la Texture non è il massimo, anzi direi che è proprio brutta, ma a questo c’è rimedio. Sempre nella stessa finestra c’è la tab Mapping, in questa Tab trovi le informazioni relative alla Texture sulla mappatura, come prima cosa clicca sul campo Map e associala alla mappatura che trovi nell’elenco, in questo caso una sola UVMap, come nell’immagine

In basso alla tab ci sono due parametri Offset e Size, l’Offset serve a muovere la Texture, mentre Size serve a ridimensionarla, entrambe hanno tre campi dedicati per ogni asse. In questo caso non serve usare l’Offset, ma ridimensionare la Texture rimpicciolendola, per farlo dovrai aumentare il numero nei campi X e Y, si questo processo è inverso, io ho inserito un valore di 6.00 per entrambi i campi, puoi anche aumentarlo se vuoi o nel caso di un tuo modello scalarlo quanto basta per soddisfarti. A questo punto tutto il modello ha questa Texture rugosa, aggiungi un’altro materiale, da ora in poi non ti dirò di passare da una finestra all’altra quindi quando parlo di materiali passa a quella dedicata ai materiali e quando parlo di Texture passa a quella specifica per le Texture. Rinominalo muri o pareti o come meglio credi e posizionando il puntatore del mouse sul modello (sempre in Edit Mode) sulla parte specifica, in questo caso le pareti dell’edificio premi il tasto L, così facendo tutta l’area tagliata per la mappatura verrà selezionata evitandoti così di dover selezionare poligono per poligono, ruota il modello e seleziona (sempre con L) tutte le altre parti. Sulla finestra in alto, dove si trovano i materiali clicca Assign, come da immagine

Il nuovo materiale è stato assegnato a quei poligoni, inserisci un’altra Texture e scegli brick_wall_08, come avrai notato, oltre al fatto che la Texture è enorme, le due pareti laterali hanno la Texture in verticale, blender (purtroppo) non permette di ruotare la Texture e se si potesse ruoterebbe tutta, quindi anche le pareti che sono giuste andrebbero incontro a un’errore, cosa fare allora ? Beh la risposta è semplice, bisogna agire sulla mappatura. Se non hai chiuso la finestra UV/Image Editor passiamo a modificare la mappatura. Seleziona le due pareti in questione, sempre utilizzando il tasto L, come puoi vedere dall’immagine successiva, io avevo messo le due mappe in verticale ruotandole di 90°, pensando di risparmiare spazio, l’errore è stato voluto proprio per spiegarti questa cosa, la mappatura segue le coordinate del modello, quindi si deve trovare uno spazio per le pareti messe in verticale e riportarle in orizzontale.

In questo caso è semplice le porto prima nella posizione giusta e usando lo snap al vertice le sovrappongo alle pareti frontali, scalandole in modo che la dimensione della mappatura sull’asse Y combaci con quella della parete frontale. Fatto questo ho una nuova mappatura, corretta, ma la Texture è da ridimensionare, assegna 4.00 sia alla X che alla Y nella tab Mapping sull’opzione Size. Ricorda di assegnare alla Texture la mappatura nel campo Map sempre della tab Mapping, questo è importante per il risultato finale. Adesso mancano la porta e il tetto, prova da solo perché i passaggi sono identici : 

  • Nuovo materiale.
  • Assegna materiale ai poligoni desiderati.
  • Nuova Texture.
  • Assegna mappatura .
  • Size ed Offset se è il caso.

La porta richiede una maggiore attenzione perché la Texture risulta più grande del modello e bisogna giocare molto con i parametri di Size e Offset, per evitare perdite di tempo ti do le coordinate da usare, sull’Offset nell’asse Y inserisci 0.01500, mentre su Size X inserisci 7.40 e su Y 7.28, così la porta dovrebbe risultare più o meno precisa. Le Texture non sono il massimo ma per questo tutorial non ha importanza, quello che devi capire è il procedimento per poi applicarlo ai tuoi modelli. Nell’immagine puoi vedere il mio modello in questo momento

Bake della Texture

Per eseguire il bake come prima cosa bisogna aggiungere una nuova mappatura e per farlo vai sulla finestra Data, quella con l’icona col triangolo formato da tre vertici, quello in figura

Su questa finestra in basso trovi una tab chiamata UV Maps, dove possono trovarsi diverse mappatura, in questo caso abbiamo solo quella creata ed assegnata ad ogni Textures, che si chiama UVMap (che è il nome di default che Blender da alla mappatura in automatico), si può rinominarla ma in questo caso lasciala così. Premi il pulsante + in questa tab per aggiungere una nuova mappatura e rinominala bake, come in figura

La nuova mappatura è identica a quella precedente, si può modificare se per caso non hai fatto i tagli dovuti alla precedente mappatura, perché il processo di assegnare i materiali e le Texture si può eseguire anche facendo un semplice unwrap senza dove usare le Seams, ma io preferisco questo procedimento con la mappatura belle e pronta, quindi eseguo sempre prima i tagli e sistemo la mappa e poi faccio il bake se è necessario. Torniamo al bake, come puoi vedere nell’immagine sopra la mappatura bake  è selezionata, evidenziata in blu, mentre l’icona della camera è sulla mappatura precedente, ecco questa è la configurazione perfetta per il bake, lascia tutto così, perché voglio che le Texture della vecchia mappatura vengano impresse nella nuova mappa. Prima di procedere al bake manca l’ultimo passaggio, inserisci sulla finestra UV/Image Editor una nuova Texture, rinominala come meglio credi (io l’ho chiamata new_texture), lascia pure 1024×1024, la dimensione dipende dal tuo modello o dal lavoro che stai eseguendo, ma per questo tutorial va bene così. Adesso abbiamo una nuova Texture con sopra la mappatura pronta per il bake. Sulla finestra del render, quella con la telecamera (la prima da sinistra), c’è la tab Bake, dal menù a tendina Bake Mode seleziona Textures, lascia le opzioni come sono e clicca il pulsante Bake. Il risultato finale è una Texture che contiene tutte le Textures che abbiamo inserito precedentemente ma soltanto nelle aree interessate dalla mappatura, come puoi vedere nell’immagine seguente

Salva la Texture dal menù della finestra UV/Image Editor sul percorso che preferisci, in questo caso meglio sulla cartella dove si trovano le altre Texture, puoi aggiungere dei dettagli con un programma di grafica o lasciare la Texture com’è. Per fare la prova del nove, salva il file con un’altro nome o numero progressivo, cancella tutti i materiali tranne uno e assegna questa nuova Texture al modello, vedrai che calza a pennello.

Per questo tutorial è tutto, come sempre fai molta pratica, prova con modelli più complessi e con più Textures e una volta imparato bene questo procedimento non potrai più farne a meno.