Come ho più volte ribadito,
OF:DR è un gioco open-world che sfrutta in maniera estensiva lo streaming. Tale tecnologia è fornita dall’engine
EGO ed è uno dei sistemi di streaming più avanzati sul mercato, al momento.
I personaggi, così come tutti i componenti del gioco, utilizzano il sistema di EGO, customizzando la strategia di loading, in modo da essere il più ottimizzata ed efficiente possibile, considerando il tipo di asset.
I personaggi, come detto nel primo articolo, sono composti da tre parti:
- Testa
- Corpo/mani
- Attrezzatura
Ognuna di queste parti è una draw call ed a un materiale diverso.
Il sistema consente di allocare dello spazio per ogni asset, considerando il caso peggiore.
Nel nostro caso, il caso peggiore è stato attentamente tunato e si è arrivati a queste conclusioni:
LOD0 (alto dettaglio)
- 1 tipo di testa
- 4 tipi di corpo
- 12 tipi di equipaggiamento
LOD1 (medio dettaglio)
- 20 tipi di testa
- 6 tipi di corpo
- 16 tipi di equipaggiamento
LOD2 (basso dettaglio)
- 1 tipo di testa
- 1 tipo di corpo
- Nessun equipaggiamento
Da questi dettagli possiamo intuire che il LOD2 sara condiviso tra tutti i personaggi. Siccome i personaggi possono avere il colore della pelle differente, questo sarà tinteggiato nello shader.
La scelta di avere un solo tipo di testa per il LOD0 deriva dal fatto che quel tipo di asset è molto dettagliato, con normali, ambient occlusion, mappe dello specular e diffuse.
Questi dettagli sono però visibili solo quando si guarda un personaggio molto da vicino, in viso.
Quindi l’alto dettaglio sarà utilizzato solamente sulla testa del personaggio più vicino al giocatore, mentre tutte le altre (ben 20) garantiranno una elevata variabilità degli asset alla media distanza. Chiunque abbia giocato a un qualsiasi gioco del franchise OF saprà bene che gli scontri avvengono a distanze molto ampie, quindi il dettaglio offerto dai nostri personaggi a tali distanze è assolutamente ottimo.
Quindi ecco la strategia per tutti i LOD:
LOD0:
- Provo a caricare testa, corpo e attrezzatura al LOD0.
- Se non ho spazio per la testa, carico un LOD1.
- Se non ho spazio per l’attrezzatura, carico un LOD1.
- Se non ho spazio per il corpo, cambio interamente al LOD1.
LOD1:
- Provo a caricare testa, corpo e attrezzatura al LOD1.
- Se non ho spazio per l’attrezzatura, non la disegno.
- Se non ho spazio per testa o corpo, cambio interamente al LOD2
LOD2:
- Carico testa e corpo al LOD2. Il LOD2 ha un solo asset ed è sempre disponibile
- Disegno testa e corpo.
Questa soluzione garantisce che:
- in qualunque condizione, il LOD migliore è sempre scelto ed utilizzato vicino al giocatore. Le risorse, essendo sharate, consentono di disegnare un numero virtualmente illimitato di personaggi dello stesso tipo.
- in qualunque condizione, anche nelle piu’ colme di personaggi, il sistema disegna sempre qualcosa. Niente armi volanti in OF:DR.
La fine di questo articolo si avvicina, quindi non mi resta che salutarvi e ricordarvi di aggiungermi alla vostra lista di amici su X360 (
Monops per gli Italiani e
MonopsUK per gli anglofoni) in modo da poterci divertire con dei bei sani frag.
Alla prossima!