Una texture è sostanzialmente solo una semplice immagine. La ragione per cui le immagini in materiali 3D si chiamano textures (=consistenza, apparenza) è che queste immagini ci mostrano l’apparenza della superficie degli oggetti 3D. Una texture è tipicamente una immagine o foto di una superficie reale come legno, cemento, roccia, pelle. Utilizzate il termine texture quando cercate queste immagini online. Ecco alcuni esempi:
E qui di seguito potete vedere come una texture appare quando viene applicata ad un oggetto 3D nel Room Editor in Chathouse.
Potete trovare delle immagini da usare come textures in Room Editor su Gamerotica, nell’elenco in fondo a questo articolo, o semplicemente ricercando “textures” nel vostro browser internet.
Tipologie di Textures Chathouse usa quattro diversi tipi di textures. Qui sotto potete vedere un oggetto che li usa tutti e quattro – color map, metal/gloss map, normal map e emissive map. Color Map Metal/Gloss Map Normal Map Emissive Map Notate bene che le emissive maps rendono al meglio in stanze buie. Esattamente come nella realtà una scritta al neon viene meglio apprezzata in un ambiente buio. Materiali Sia alcuni abiti che gli oggetti universali accedono ai files delle textures tramite normali links URL links tai files delle immagini. Per assegnare una texture ad un oggetto basta copiare ed incollare i links delle immagini direttamente dal vostro browser internet. Notate come tutte le textures che vorrete usaree devono essere caricate su Gamerotica o sul vostro MyShares. Andate al vostro Myshares e caricate un nuovo materiale cliccando sul bottone “+”. Potete accedere facilmente ai materiali caricati cliccando su “Use in Chathouse 3D”. Cliccate semplicemente su “copy” ed incollate il link in Room Editor nel campo relativo. Per utilizzare le vostre textures sugli abiti basta andare su “Edit Characters” dalla Lobby. Poi recatevi su Outfit > Outfit Details ed incollate i vostri links. Tutti i vestiti inclusi gli oggetti personalizzabili sono inclusi per chi ha l’abbonamento. I non abbonati devono acquistare i singoli abiti personalizzabili dalla sezione “Gear” del negozio. La dimensione massima delle textures per gli abiti è di 1024×1024 pixels. Potete utilizzare JP2, JPEG, PNG, GIF and WebP come textures con 5MB di dimensione massima per il file. Per favore accertatevi che tutte le immagini che caricate rispettino i nostri Terms of Service. Una conoscenza di base delle textures è necessaria per comprendere il seguente capitolo, dunque vi suggeriamo di leggere il capitolo precedente qui sopra prima di considerare i suggerimenti avanzati. Considerationi Generali – File size: Il tempo di caricamento della vostra stanza dipende molto dalla dimensione dei file delle immagini. Considerate l’opportunità di ridurre le dimensioni il più possibile. – Image size: La dimensione massima delle immagini implementabili in Chathouse è di 1024X1024 pixel per gli universal objects, 2048×1024 per gli sfondi del cielo e 1024×576 per le Picturewalls, valori superiori costringono il motore del gioco a scalare le immagini. – File format: Potete utilizzare JP2, JPEG, PNG, aPNG, GIF and WebP. Ognuna ha i suoi punti di forza e i suoi punti deboli. I JPG offrono la aggiore compressione a scapito della qualità. I PNG offrono la miglior qualità specialmente quando le textures sono ripetute. – Animazioni: Le textures possono anche essere immagini animate. Dovete considerare che le immagini animate hanno un grave impatto sulla performance. Usate il minor numero di immagini animate possibile. Usare immagini animate per le textures Metal/gloss e Normal maps non è mai una buona idea in quanto aumentano il carico di lavoro della CPU in maniera considerevole. – Seamless Textures: La maggior parte delle textures che trovate in queste raccolte sono “seamless”. Seamless è un termine inglese che significa “senza giunzioni, senza soluzioni di continuità”. Queste textures, anche dette “texture scalabili”, possono essere ridimensionate e ripetute una a fianco all’altra senza che si notino i bordi tra una e l’altra. Scalare le textures vi permette di mantenere le corrette proporzioni in una immagine e di evitare di perdere qualità quando questa viene deformata su una superficie di grandi dimensioni. Potete trovare un esempio qua sopra. I dettagli della funzione di scaling sono descritti in questo articolo dedicato agli Universal Objects. Consigli Generici In linea di massima vi suggeriamo di usare textures da 512X512 pixel per la maggior parte dei materiali. Questo rappresenta il miglior compromoesso tra performance e qualità. Utilizzate textures da 1024X1024 (1K) solo per quei materiali in cui è assolutamente richiesto un livello superiore di dettaglio. Vi suggeriamo l’uso del formato PNG che garantisce una qualità superiore (specialmente quando le textures sono ripetute). Il lato negativo è che questi sono files di maggiori dimensioni, dunque vi suggeriamo sempre di comprimere queste immagini prima di caricarle sui server di thriXXX. Vi suggeriamo di rimanere al di sotto di 1 MB per textures 1K e 500KB per immagini da 512X512. Per ottimizzare la performance dovreste considerare l’utilizzo di textures JPG su immagini da 1K specialmente per le Metal/gloss e Normal maps Tipi di textures che potete trovare online Ecco una lista dei più comuni tipi di textures che potete scaricare da internet. 1. Color Maps anche chiamate Diffuse o Albedo. Albedo fa riferimento alla mancanza di qualsiasi ombra su queste textures, condizione ideale in quanto è il motore grafico del gioco che aggiunge le ombre. 2. Height Maps che rappresentano informazioni su differenze di altezza sulla superficie dei materiali. Nero è “giù”, bianco è “su” e un grigio al 50% rappresenta il livello basale (altezza=0). Si utilizza con la tecnica definita “bump mapping” per calcolare dove una superficie di quel tipo dovrebbe generare ombre. E’ la vecchia maniera di aggiungere dettagli ai materiali. Non vengono usate in Chathouse, però rappresentano la base perfetta per creare Normal Maps. 3. Le Normal Maps sono un tipo speciale di textures ideate per rendere dettagli di superficie come solchi, graffi e protuberanze ad un modello. Hanno un tipico look blu/violetto. Ci sono 2 versioni di Normal Maps: Open GL e DirectX. Quelle adatte a Chathouse (OpenGL) hanno la luce rossa che proviene da destra e quella verde da sopra. Accertatevi di queste caratteristiche quando usate una Normal Map in Chathouse altrimenti l’effetto finale potrebbe essere molto strano. 4. Le Roughness Maps controllano i riflessi donando alla superficie un effetto lucido. I termini Gloss e Roughness sono intercambiabili in quanto sono semplicemente uno l’inverso dell’altro. Sono immagini in scala di grigi. Sono basi perfette per creare Metal/gloss maps in Chathouse. L’effetto lucido è rappresentato dal bianco mentre l’opaco dal nero. 5. Metallic o Metal Maps asono textures in bianco e nero che definiscono le aree metalliche (bianco) e non (nero) di un materiale. 6. Le Emissive Maps (anche dette Fullbright Maps, Glow Maps, Incandescence Maps, o Self-Illumination Maps) sono textures mostrate sempre alla piena intensità. Sono perfette per rendere l’effetto di illuminazione nel buio (tipo una scritta al neon) anche se non emettono luce direttamente sugli oggetti adiacenti.. Il loro effetto è maggiormente visibile in locations scarsamente illuminate. Non necessitano editing per essere usate in Chathouse. Color Maps Le Color maps che trovate negli archivi online sono solitamente pronte all’uso in Chathouse. Aggiungete sempre un po’ di luminosità alle textures usate per rappresentare superfici metalliche. GIMP vi permette di misurare la luminosità media (median luminosity) cliccando su colors -> levels come nell’immagine seguente. In linea generale considerate un range di 180-255 per i valori RGB per oggetti metallici, mentre i non metallici dovrebbero rientrare nel range 50-240. In poche parole, schiarite molto le textures di materiali metallici! Se avete a scaricato delle textures denominate ambient occlusion potreste volerle utilizzare per aggiungere del dettaglio alle color maps per lo stesso materiale. Potete aggiungere questa immagine come un layer sopra a quello della color map e poi utilizzare multiply blending mode. Per affinare il risultato potete agire sull’opacità di questo layer. Di seguito un esempio. A sinistra una immagine senza ombre (albedo). Molti dettagli saranno aggiunti dalle normal e metal/gloss maps. A destra l’effetto dopo aver aggiunto la ambient occlusion texture. Solitamente non è necessario ma può essere molto utile i caso voleste aggiungere un po’ di “carattere” alla vosrta color map. L’ultimo passo è sempre quello di ottimizzare la dimensione del file come spiegato precedentemente. Normal Maps Le Normal Maps hanno un loro tipico colore blu/violetto. La creazione di Normal Maps è lunga e complessa. La migliore opzione è quella di scaricarle già pronte da siti specializzati in textures su internet, come menzionato precedentemente. Prima di utilizzarle in Chathouse ricordatevi di accertarvi che la luce rossa venga da destra e quella verde da sopra come nell’esempio qua sopra. Potete anche creare una Normal map da una Bump map usando il Normal map Plugin di GIMP (i links sono in fondo a questo articolo). Questa opzione è particolarmente utile quando non riuscite a trovare una Normal map adeguata ma avete la bump map per quel materiale. Caricata la height map in GIMP dovrete selezionare “Filters>Map>Normalmap…” e si aprirà una finestra. Le opzioni più importanti sono “Invert X”, “Invert Y” e “Scale”. Una volta terminato dovrete solo salvare l’immagine con “File>Export as”. Metal/Gloss Maps Le Metal/Gloss maps sono uniche per Chathouse e non le troverete online al di fuori di ThriXXX o Gamerotica. Il Rosso è assegnato all’effetto metallico: 0 è non metallico, 255 è estremamente metallico. L’uso corretto di una metal/gloss map è su materiali in cui gli effetti lucido/opaco e metallico sono rappresentati in modo differente sulle diverse aree della superficie, per esempio, in un paio di pantaloni: il tessuto è opaco e non metallico, la cinta di pelle è non metallica ma lucida e la fibbia è metallica e lucida. Se il materiale ha caratteristiche uniformi, è più pratico e performante aggiustare l’effetto con gli sliders che trovate in Room Editor. Nell’esempio seguente consideriamo un set di textures scaricate da internet. Il materiale è composto da legno e metallo. Hanno caratteristiche molto differenti in quanto il legno è abbastanza opaco e non metallico, mentre il metallo è esattamente l’oposto. Dovremo agire su queste due componenti separatamente. Potete usare l’immagine qui sotto come riferimento per materiali metallici (sopra) e non metallici (sotto) che vanno dall’opaco (a sinistra) al lucido (destra). Per la parte metallica della texture potete cominciare con la Metal Map. (1) La useremo come riferimento per tagliare via le parti non metalliche (2) e poi modificheremo i livelli del rosso e verde per ottenere il giusto look del metallo (3). Nel nostro caso saranno entrambi alti dunque il colore finale sarà un giallo/arancio (4). Il blu come al solito va a zero. Gli stessi identici concetti si applicano anche quando realizziamo una texture da zero disegnandola da noi oppure partendo da foto di materiali reali. Emissive Maps Le Emissive Maps non sono molto comuni, è probabile che dobbiate disegnarle da voi. Nei casi in cui siano inclusi in set di textures che scaricate da internet, sono solitamente già pronte per essere usate. Texture libraries: Online image compressors: GIMP thriXXX Gamerotica @VelvetCrimson‘s collection of 512X512 textures @IuliusCaesar‘s collection of 512X512 PNG textures @IuliusCaesar‘s collection of 1024X1024 PNG textures @IuliusCaesar‘s collection of 1024X1024 JPG textures Hanno contribuito alla realizzazione di questo articolo @VelvetCrimson and @IuliusCaesar
La color map texture rappresenta il look di base e il design di un oggetto 3D. E’ la più importante texture in qualunque oggetto. In molti casi è anche l’unica texture di cui avete veramente bisogno.
Di seguito potete vedere lo stesso oggetto mostrato sopra con la sola color map applicata. Notate la differenza in profondità, riflessi e bagliore.
La metal/gloss map definisce i riflessi lucidi e metallici nelle varie aree di un oggetto. Una metal/gloss map è comunque veramente necessaria solo se l’oggetto ha particolari con caratteristiche completamente differenti nelle sue varie parti. Per esempio, un coltello con la lama metallica ed il manico di legno. Per un tavolo o un pavimento interamente costituito di legno, invece, è improbabile che abbia un impatto significativo. Qui di seguito potete vedere lo stesso oggetto con la sola metal/gloss map rappresentata. Notate le aree riflettenti.
La normal map crea l’illusione di una superficie tridimensionale sull’oggetto. E’ estremamente efficace su materiali ruvidi come rocce, cemento, mattoni, o in strutture come piastrelle o ornamenti. La normal map aggiunge l’effetto della profondità e spesso si dimostra cruciale per dare foto realismo ai vostri oggetti. Nell’oggetto qui sotto abbiamo applicato solo la normal map. Notate la caratteristica profondità sulla superficie.
L’emissive map crea l’illusione di un bagliore emanato dall’oggetto. E’ particolarmente utile quando vogliamo creare scritte al neon o schemi TV. E’ una funzionalità utile per rappresentare effetti luminosi ma è utilizzato raramente su materiali comuni come muri, pavimenti, soffitti e mobili. Nell’oggetto qua sotto abbiamo applicato solo la emissive map.
Potete trovare una lista di materiali pronti per essere implementati in Room Editor qui:
– 512X512 PNG textures (@IuliusCaesar). Queste sono le textures che dovreste utilizzare maggiormente.
– 1024X1024 PNG textures (@IuliusCaesar). Queste sono textures che dovreste utilizzare il meno possibile e solo quando avete veramente la necessità di usare immagini in alta definizione.
– 1024X1024 JPG textures (@IuliusCaesar). Queste sono sempre immagini in HD ma ottimizzate per essere caricate più velocemente a scapito della qualità. In linea di massima, se avete la reale necessità di usare immagini in HD, vorrete utilizzare una immagine PNG per la color map e immagini JPG come metal/gloss e Normal maps.
– 512X512 PNG textures (@VelvetCrimson).
Una lista completa con i relativi links è disponibile in fondo a questo articolo.
Textures Avanzate: Aspetti : Generali
Per create textures è necessario un software per editare immagini. Vi suggeriamo GIMP dato che è un editor grafico semplice, potente e gratuito.
E’ possibile creare textures in modi diversi. Il modo più semplice è quello di partire da archivi di textures presenti su internet. Potete trovare una lista con alcune di queste librerie che permettono l’utilizzo dei loro contenuti alla fine di questo capitolo. Questi links sono solo un esempio, su internet ne potete trovare molti altri.
Ricordatevi che potete (e spesso dovreste) utilizzare immagini di dimensioni inferiori per questioni di performance. Per esempio, textures da 512X512px sono la scelta migliore per la maggior parte degli universal objects e a volte vorrete scendere ulteriormente fino a dimensioni minime come 16X16.
Gli universal objects richiedono textures quadrate (rapporto altezza/larghezza 1:1) con dimensioni alla potenza di 2 in un range compreso tra 16 e 1024 (16,32,64,128,256,512,1024).
Nell’esempio seguente, invece, potete vedere il pessimo impatto che textures non scalabili hanno sul look finale.
Texture Editing Avanzato
Potreste volere solo giocare un po’ con luminosità e contrasto. Considerate di aggiungere un po’ di luminosità piuttosto che scurire in quanto questo lo potrete fare all’interno nel gioco.
Gli Input levels indicano quanto chiara è l’immagine in una scala da 0 (scuro) a 255 (chiaro). In questa immagine la luminosità media è circa 80 (freccia rossa).
Volendo, potete creare una Height map da voi, ricordatevi che queste textures rappresentano l’altezza con una scala di grigi. Le aree nere rappresentano parti che “affondano”, quelle bianche quelle che estrudono maggiormente e le sfumature di grigio rappresentano i livelli intermedi.
Una corretta Normal Map ha una sfumatura verde proveniente dall’alto e una rossa da destra. (Esempio)
Se il risultato vi sembra diverso dovrete solo usare le funzioni “Invert Y” e/o “Invert X” e/o “Wrap”.
La funzione “Scale” modifica la profondità. Nella maggior parte dei casi un valore tra 1 e 12 è corretto.
Questo tipo di texture unisce 2 maps differenti in una usando i canali Rosso e Verde (RGB).
Il verde è assegnato all’effetto lucido/opaco: 0 è opaco, 255 è estremamente lucido.
Il blu va sempre settato su 0.
Per prima cosa useremo la gloss o roughness map per determinare l’effetto lucido. Visto che stiamo usando una “roughness map” e vogliamo mostrare l’effetto lucido dovremo invertirla (colors -> invert). Se avessimo una gloss map non sarebbe necessario.
In GIMP basta caricare l’immagine e mostrare la finestra “Adjust color levels” window (colors -> levels dal menu). Da lì ridurremo i canali blu e rosso a zero. Il blu è sempre irrilevante, mentre il rosso rappresenta l’effetto metallico che il legno non ha.
A volte potete applicare la color map nel campo delle emissive in room editor. Il risultato non è garantito sempre, ma nella maggior parte dei casi l’effetto è valido e risparmierete tempo sia nel crearne una che nei tempi di caricamento della stanza.
Le Emissive maps in Chathouse hanno un utilissimo slider per regolare l’intensità dell’effetto.
Resources
https://www.textures.com/
https://3dtextures.me/
https://polyhaven.com/textures
https://www.sharetextures.com/textures/
https://ambientcg.com/list?type=PhotoTexturePBR,AtlasPBR,DecalPBR
https://compressor.io/
https://www.iloveimg.com/compress-image
https://www.gimp.org/downloads
Normal map plugin for GIMP
https://drive.google.com/file/d/1wcJoJ-fXieB7aPu8rLRRqzOHQr2hwyUq/view?usp=sharing
https://www.thrixxx.com/gamerotica
https://www.thrixxx.com/profile/34185462/VelvetCrimson/myshares/1643018
https://www.thri.xxx/profile/19166005/IuliusCaesar/myshares/1659346
https://www.thri.xxx/profile/19166005/IuliusCaesar/myshares/1659342
https://www.thri.xxx/profile/19166005/IuliusCaesar/myshares/1659342
Autori