Non esiste una formula che leghi direttamente il numero di poligoni di una mesh al suo Download Weight e quindi al suo Land Impact. L’infrastruttura di supporto alle mesh di Second Life è infatti disegnata in modo da ottimizzare, per quanto possibile, lo scambio di dati tra il Server ed il Viewer facendo in modo che quest’ultimo riceva il modello più adatto in relazione alla distanza tra avatar ed oggetto nella scena virtuale. Questo significa, nella pratica, che il livello di dettaglio (LOD, acronimo di Level Of Detail) con il quale gli oggetti sono visualizzati decresce al crescere della distanza (anche se tale dipendenza non è continua ed i livelli permessi sono solo quattro) e che il calcolo del Land Impact di una mesh tiene conto di questo aspetto.
Detto R il raggio della sfera circoscritta al cubo che contiene l’oggetto (indicato come object’s bounding box nella documentazione ufficiale) sono definiti tre diversi livelli di transizione (in relazione alla distanza tra osservatore ed oggetto) alle distanze R/0.24 (indicata come Dmid), R/0.06 (indicata come Dlow) e R/0.03 (indicata come Dlowest). Per fare un esempio concreto, per un oggetto avente un R pari a 1 metro si hanno Dmid=4.2 metri, Dlow=16.7 metri e Dlowest=33.4 metri.
Per ciascun oggetto, in fase di importazione della mesh, è poi possibile definire fino a quattro diversi modelli poligonali (in pratica si possono specificare fino a quattro diversi files COLLADA .DAE) che vengono indicati come High, Medium, Low e Lowest Level Of Detail. Il sistema prevede quindi che il modello High LOD sia visualizzato (e quindi trasmesso al client) per distanze comprese tra 0 e Dmid, che il modello Medium LOD sia visualizzato per distanze comprese tra Dmid e Dlow, che il modello Low LOD sia visualizzato per distanze comprese tra Dlow e Dlowest e che per distanze superiori a Dlowest sia visualizzato il modello Lowest LOD.
Lo stesso sistema prevede anche che il peso in relazione al Land Impact di un singolo poligono nella mesh dipenda dal LOD al quale tale mesh è trasmessa e visualizzata. Nella attuale implementazione, sempre considerando un oggetto avente un R pari a 1 metro, si osserva infatti che il peso di un poligono visualizzato in Lowest LOD è circa 60 volte il peso dello stesso poligono visualizzato in High LOD. Ho specificato volutamente le dimensioni della object’s bounding box perché, purtroppo, il Download Weight varia con essa anche a parità del numero di poligoni (e questa è sicuramente la parte più criticata di questo modello di gestione). L’algoritmo per il calcolo preciso del Download Weight può comunque essere reperito nella documentazione ufficiale di Linden Lab.



Maggio 17, 2012
Mondi Virtuali