Come ridurre il Land Impact

L’introduzione delle mesh in SL ad Agosto 2011 ha portato con sè un nuovo algoritmo utilizzato per il calcolo del Land Impact (LI), ossia del peso computazionale degli oggetti rispetto ai limiti di uso del terreno, non più basato sul mero conteggio dei prim.

Per gli oggetti mesh il calcolo del LI con il nuovo algoritmo avviene di default, associando alla mesh la forma fisica Convex Hull. Il nuovo algoritmo di calcolo LI verrà utilizzato di default anche in caso di oggetti contenenti parti mesh o comunque con forme fisiche differenti dal prim e in caso di oggetti con applicate normal o specular map.

Per il calcolo del LI Second Life prende in considerazione 3 parametri (finestra Edit -> More Info):

  • Download Weight: viene calcolato determinando quanta banda è richiesta per visualizzare l’oggetto. E’ direttamente proporzionale alla grandezza ed alla complessità visiva dell’oggetto.
  • Physics Weight: è determinato dalla complessità del modello fisico dell’oggetto. La complessità può essere ridotta utilizzando gli strumenti di analisi e semplificazione presenti nella finestra di caricamento mesh (upload model -> scheda Physics) o caricando un proprio modello semplificato/meno dettagliato dell’oggetto (upload model -> scheda Level of Detail -> Load from file) o scegliendo IW come forma fisica Convex Hull (finestra Edit -> scheda Features).
  • Server Weight: prende in considerazione l’impatto che ha l’oggetto sulle risorse SL lato server. Oggetti composti da un elevato numero di prim e con fisica abilitata e/o contenenti script quindi avranno un elevato Server Weight.

01_edit-floater-convex-hull+more-info

Il LI di un oggetto sarà sempre pari al valore più alto tra i 3 parametri, arrotondato per eccesso.

In caso di oggetti mesh il Download Weight dipenderà dai Level of Detail (LOD) associati, parametro che determina la qualità della visualizzazione delle mesh a distanze maggiori, in maniera più incisiva per mesh di piccole dimensioni. Nello specifico, per piccoli oggetti (ossia molto inferiori ai 10 metri) i LOD più rilevanti saranno i più bassi (LOD Low/Lowest), mentre per oggetti molto grandi l’influenza maggiore l’avrà il LOD High.

Al fine di ridurre notevolmente il Download Weight della nostra mesh, è consigliabile non usare i LOD generati al momento dell’upload !!! Provate ad impostare i LOD Medium, Low e Lowest a 0 e vedrete che potrete avere una mesh molto dettagliata con un bassissimo LI (qualora il parametro determinante sia il Download Weight). In caso di mesh di piccole dimensioni, si può lasciare il LOD Medium generato ed impostare a 0 solo il LOD Low e Lowest. In ogni caso controllate sempre che la mesh regga la visibilità ad una buona distanza.

Qualora il parametro che determina il LI (ossia il più alto tra i 3 sopracitati) fosse il Physics Weight, è possibile ridurlo associando alla mesh un modello semplificato dell’oggetto. Questo approccio è utilizzabile per mesh indossabili (come vestiti, capelli, accessori), caso in cui non è importante la fisica dell’oggetto stesso, ma anche per parti di strutture mesh molto dettagliate (ossia con un alto numero di vertici).

Vediamo nel dettaglio entrambe i casi, fornendo alcuni esempi:

  • Mesh indossabili: poichè in questo caso la forma dell’oggetto usata dal motore fisico per calcolarne le collisioni non incide in alcun modo sul suo utilizzo -ossia non serve che la fisica corrisponda alla forma della mesh- è possibile utilizzare come fisica per il nostro superdettagliato vestito o accessorio mesh una forma molto semplificata, come può essere un piano mesh, caricandolo al momento dell’upload in SL del nostro modello. Nello specifico, creiamo in Blender una mesh semplice, tipo un piano composto da 3 o 4 vertici uniti da 1 faccia, esportiamo in Collada (.dae) come mesh statica (non-rigged) ed al momento dell’upload in SL del nostro modello (come può essere un abito riggato o un accessorio da indossare) selezioniamo ‘From file’  in Level of Detail (nella scheda Physics) e carichiamo il nostro piano mesh come forma fisica associata.

02_LOD-attachment

 

  • Oggetti mesh: come esempio mi riferisco ad una struttura mesh dall’alto numero di vertici, come può essere una casa con molte finestre. Per ridurre il LI come prima cosa è consigliabile importare IW la struttura non in toto ma divisa in singole mesh corripondenti alle finestre -o comunque alle varie parti della struttura come possono essere muri, tetti o scale- e successivamente linkarle IW, con il risultato di veder ridurre notevolmente (se non dimezzare) il LI. Come ulteriore passaggio è possibile impostare IW su None le varie parti ricche di vertici e che non necessitano di una fisica corrispondente alla forma della mesh (ossia che non necessitino la calpestabilità della parte), caricando con esse al momento dell’upload in SL come modello mesh semplificato un semplice quadrato (4 vertici uniti da una faccia) o cubo mesh.

 03_LOD-struttura

 

Ora vediamo nello specifico altri metodi per ridurre il LI di un oggetto, al fine di avere un maggior margine disponibile per allestire la propria land.

 


 

Impostare Convex Hull come forma fisica

Applicare Convex Hull ad un oggetto equivale a semplificarne la forma fisica. Fondamentalmente è una forma semplificata dell’oggetto usata dal motore fisico per calcolarne le collisioni.

Come esempio, rezziamo 2 cubi standard (0.5 m) e linkiamoli tra loro. Il LI che otterremo è pari al vecchio conteggio del numero di prim, ossia Land Impact 2. Se nel pannello Edit -> Features -> Physics Shape Type selezioniamo come forma fisica Convex Hull al posto di Prim, l’oggetto passerà ‘forzatamente’ al nuovo conteggio del LI e vedremo il LI dimezzato, ossia nel nostro caso di esempio passeremo da LI 2 a LI 1.

04_edit-floater-convex-hull

Entrare nel nuovo conteggio del LI via Convex Hull però non sempre ha la conseguenza di dimezzare il LI, anzi in alcuni casi il LI può raddoppiare! E’ il caso di linkset contenenti prim torus o sculpt, in quanto sono forme fisiche complesse. Se per esempio proviamo a linkare 2 prim torus standard, che avranno come LI 2 con il conteggio standard in prim, ed a seguire impostiamo come forma fisica Convex Hull otterremo un LI pari a 4.

Un altro svantaggio dell’utilizzare il Convex Hull è che in un linkset (ad esempio una casa) tutti i prim con una cavità/foro/taglio non saranno più attraversabili e/o calpestabili. Per ovviare a questo problema si può impostare su Convex Hull tutta la struttura, e successivamente assegnare Prim come forma fisica dei singoli prim non più attraversabili, come può essere per esempio un prim di passaggio per una porta o una botola (hollow prim), via pannello Edit -> Edit Linked.

In altri casi, come può essere una scala sculpt o piccole parti concave facenti parte del linkset stesso (ossia, nel caso di esempio, una casa), è possibile impostare la forma fisica delle singole parti su None, che equivale a rendere phantom un prim senza dover ricorrere all’uso di script o di linkset Phantom separati e andando comunque a ridurre il LI. Da tenere presente che non è possibile impostare su None il root prim di un linkset.

E’ consigliabile sperimentare in una sandbox la conversione a Convex Hull poichè con oggetti complessi è possibile superare la capacità massima della propria land, con conseguente return, e decidere quindi se adottare o meno questo nuovo sistema di conteggio per un dato oggetto in base al LI ottenuto.

 


 

Collegare/Linkare oggetti

Per una ulteriore riduzione del LI, qualora il parametro determinante/più alto fosse il Physics Weight, è possibile linkare tra loro oggetti con forma fisica Convex Hull. Le limitazioni a questo approccio sono:

  • gli oggetti devono avere lo stesso proprietario/owner
  • gli oggetti devono essere modificabili (ossia yes-modify)
  • gli oggetti no-copy non possono essere linkati ad oggetti no-transfer
  • gli oggetti non devono contenere script (consigliato nella maggior parte dei casi)

 


 

Linkare prim ad un oggetto mesh

Nella maggior parte dei casi linkare uno o più prim ad un oggetto mesh porta alla riduzione del LI, in quanto saranno automaticamente impostati su Convex Hull, quindi trattati con una forma fisica semplificata. Alla luce di quanto detto prima, se il prim in questione è torus o sculpt porterà inevitabilmente ad un aumento (a volte anche stratosferico) del LI.

 


 

Ridurre la dimensione di oggetti mesh

Un altro metodo per ottimizzare il LI è quello di ridurre la dimensione dell’oggetto mesh o al momento dell’upload in SL o, in caso di creazioni mesh non proprie e modificabili, IW via pannello Edit -> Stretch. Spesso gli oggetti sono sovradimensionati, quindi questo metodo è consigliabile sia ai fini della riduzione del LI sia a fini…estetici!

E’ un approccio consigliabile per oggetti non contenenti script, in quanto potrebbero poi non funzionare più o, nella migliore delle ipotesi, andrebbero reimpostate tutte le eventuali animazioni. In caso fossero oggetti scriptati, se si vuole provare lo stesso a ridurre la dimensione per vederne l’impatto a livello LI, è consigliabile farne prima una copia su cui fare le prove (ossia che siano oggetti yes-modify e yes-copy).

 

In ogni caso il consiglio è sempre lo stesso: testare, testare, testare!

 

 

Posted in Tips & Tricks and tagged , , , , , , , .

4 Comments

  1. grazie, grazie, grazie era tempo che cercavo queste istruzioni, sembreranno banali ma non sono così evidenti da capire, grazie ancora mi si è aperto un mondo finalmente.

Leave a Reply

Your email address will not be published.