Terreni Esagonali

Pubblicato il da Demone Rosso

 

Come vengono trattati i terreni in un videogioco?. La forma più usata e diffusa di terreni per videogiochi prevede l'uso di heightmap. Non si tratta altro che di file che contengono informazioni sul terreno. Nei videogiochi il terreno non è altro che una griglia. Ad ogni intersezione della griglia corrisponde un altezza diversa. Il tipo di griglia più utilizzato è la griglia a quadrati, di cui qui ne vedete un esempio:

 

    http://upload.wikimedia.org/wikipedia/commons/3/37/Bienenwabe_mit_Eiern_und_Brut_5.jpg

 

Dal punto di vista concettuale le griglie sono come una grande tabella in cui ogni casella è rappresentata dalla nostra intersezione. Ovviamente come nelle tabelle ogni casella/intersezione ha un valore predefinito. Questo rappresenta l'altezza del nostro terreno, maggiore è il valore, più alto sarà. Le linee spesse rappresentano il confine "Concettuale". Siccome noi pensiamo alla nostra mappa come ad un insieme di quadrati essi sono evidenziati in grassetto. Le linee viola più chiare e sottili rappresentano il limite "pratico". Infatti in 3D noi possiamo avere solo triangoli, triangoli evidenziati dalle linee più sottili.

  p 01 rectangol

Lo stesso ragionamento può essere esteso usando tile esagonali (come anticipato qualche articolo fa). In questo caso i nostri confini "Concettuali" sono rappresentati da cellette esagonali (come quelle delle api). Il limite "pratico" è leggermente più complesso. Ma esattamente quali vantaggi ci sono nell'usare terreni esagonali invece che a quadrati?

 

p_01_esagoni.png

 

Bene vediamo questa schema a punti rossi. Ogni punto rappresenta un altezza. Noterete che la mappa ad esagoni ha anche i punti verdi. Li spiegherò poco più avanti. I punti rossi rappresentano "I punti chiave" della nostra mappa. Ovvero i dati di cui abbiamo bisogno e senza i quali non ci può essere nessuna mappa.

     p 01rectesagon

 

Per punti chiave intendo proprio i punti di cui abbiamo bisogno, quelli che andiamo a memorizzare da qualche parte. Esistono sulla rete decine di strumenti per cambiare "la posizione" di questi punti chiave. Terrain Editor vari (molti dei quali completamente gratuiti e scaricabili da source forge).

 

I punti verdi invece cosa sono? Dal punto di vista pratico noi per disegnare gli esagoni dobbiamo conoscere la posizione non solo del centro dell'esagono, ma anche di tutti i suoi vertici. (a differenza dei quadrati dove abbiamo 4 vertici nell'esagono infatti ne abbiamo 6).

 

Dobbiamo salvare anche i punti verdi? SI/NO ... NI

 

Noi possiamo decidere di salvare i punti verdi.. oppure di "inventarli" sul momento quando disegnamo il terreno. Un modo pratico ed efficace è di assegnare ad ogni punto verde un valore "medio" dei tre punti rossi più vicini. Oltre a essere praticamente utile (la nostra mappa occupa meno spazio una volta salvata) è molto piacevole da vedere l'effetto finale. Il vero vantaggio dei terreni esagonali è che sono molto più piacevoli da vedere rispetto a quelli con tile quadrati.

 

Ecco una lista comparativa:

 

PRO QUADRATI:

  • I terreni quadrati sono facili da gestire, è possibile creare "tile" più facilmente
  • La gestione del Level Of Detail (LOD) è molto semplice
  • Il codice per generarli/leggerli/salvarli è molto semplice

PRO ESAGONI:

  • La qualità grafica è decisamente superiore.
  • Quando si usa il LOD i terreni distanti appaiono migliori.
  • Quando si usa il LOD le prestazioni aumentano *

 

*Questo perchè quando si disegnano quadrati da distante usualmente noi dimezziamo il loro lato, in totale il quadrato viene diviso in 4. Mentre quando dividiamo un esagono questo viene diviso in 6 parti e il numero di poligoni richiesto per disegnarlo diminuisce più velocemente del quadrato.

 

CONTRO ESAGONI:

  • Non è possibile utilizzare e creare tiles in maniera semplice.
  • 

 

Con tag Grafica 3D

Per essere informato degli ultimi articoli, iscriviti:
Commenta il post