Second Life: ottimizzare le texture

Le texture in Second Life sono uno dei principali motivi di lag client-side: bisogna scaricarle completamente per vederle, e la maggior parte di esse non sono ottimizzate, ovvero sono di dimensioni esagerate rispetto all’area che devono coprire.

Andrebbe usata la texture della più piccola dimensione possibile, arrotondando altezza e larghezza alla più vicina potenza di 2 (128×128, 256×256, 512×512 pixel, ecc). Le texture non devono obbligatoriamente essere quadrate, anche dimensioni come 256×128 sono perfettamente valide. Se le dimensioni delle immagini non sono potenze di 2, il server ne arrotonderà i valori portandoli ai più vicini secondo questa regola al momento dell’upload.

Per avere un’idea più precisa del peso sulla memoria delle immagini, osserviamo la seguente tabella:

Occupazione di memoria per varie dimensioni di texture. Notate come una texture da 1024×1024 occupi 16 volte più memoria di una 256×256 (clic per ingrandire).

Il calcolo è abbastanza semplice:
1024×1024 = 1.048.576 pixel totali
1.048.576 x 24 bit in ciascun pixel = 25.165.824 bit totali nell’immagine
25.165,824 bit / 8 bit in ciascun byte = 3.125.728 bytes, ovvero 3 megabyte

Se l’immagine ha anche la trasparenza, arriviamo a 4 mega per ogni immagine. Non è difficile immaginare che per utenti con schede grafiche con 128 o 256 mega di video ram Second Life diventi velocemente difficile da gestire…

In effetti, uno dei motivi principali della lentezza di certe sim e di SL in generale è proprio la cattiva gestione delle texture da parte dei creatori di contenuti. Molte persone usano senza problemi texture esegeratamente grandi, e come risultato la scheda video va in pallone.

Questo è un aspetto conosciuto molto bene dai programmatori di giochi, che dedicano all’ottimizzazione delle texture una cura maniacale. Esistono molti programmi dedicati alla creazione di contenuti 3D, alcuni dei quali davvero potenti ed entusiasmanti, ma anche molto molto costosi. Per SL molti utilizzano Blender, che però trovo complesso da usare e alla fin fine poco produttivo (opinione del tutto personale, ovviamente).

Il software a cui consiglio di dare un’occhiata è free per uso personale, e francamente mi ha lasciato a bocca aperta: l’Unreal Engine 3 Game Development Tools è uno strumento veramente potente, che va molto al di là delle tutto sommato semplici (sic) necessità che ci proponiamo di risolvere (ottimizzare le texture su un modello statico).

Però, visto che le mesh si possono usare anche in SL, perché non utilizzare strumenti professionali per creare oggetti ottimizzati come in un video gioco, senza perdere in qualità anzi probabilmente migliorandola?

Online sono reperibili ottime guide per UDK, di ogni livello. Mi sto ancora chiedendo se sia vero che l’ambiente nel video Scifi Lab di Tor Frick sia stato realizzato interamente con una texture da 256×512 pixel. Guardare per credere…

Scifi Lab su Vimeo Video

Però è così, la scena è gentilmente messa a disposizione del pubblico per il download e… mi è caduta la mascella. Ok, è una tecnica che penso sia impossibile da realizzare in quel modo in SL, ma chi lo sa.

Attrezzatevi con FBX Converter (free) e MeshLab (free).

Buon divertimento!

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...