Sto cercando di appiattire l'array 3D in un array 1D per il sistema "chunk" nel mio gioco. È un gioco a blocchi 3D e in pratica voglio che il sistema a blocchi sia quasi identico al sistema di Minecraft (tuttavia, questo non è un clone di Minecraft di nessuna misura). Nei miei precedenti 2D-giochi che ho letta la matrice appiattito con seguente algoritmo:Come "appiattire" o "indicizzare" l'array 3D nell'array 1D?
Tiles[x + y * WIDTH]
Tuttavia, questo ovviamente non funziona con il 3D in quanto manca l'asse Z. Non ho idea di come implementare questo tipo di algoritmo nello spazio 3D. Larghezza, altezza e profondità sono tutte costanti (e la larghezza è grande quanto l'altezza).
È solo x + y*WIDTH + Z*DEPTH
? Sono piuttosto cattivo con la matematica e sto solo iniziando la programmazione 3D, quindi sono piuttosto perso: |
PS. La ragione di ciò è che sto eseguendo un ciclo e ricevendo roba per indice da parecchio. So che gli array 1D sono più veloci degli array multidimensionali (per ragioni che non ricordo: P). Anche se questo potrebbe non essere necessario, voglio le migliori prestazioni possibili :)
ho ragione nel dire che si desidera una matrice 3D per essere in forma in un arr 1D Ay? – DMan
Perché non usi solo array 3D? – svick
@DMan Sì, lo sei :) Spiego sempre tutto nel modo più duro e lungo, quindi nessuna sorpresa che non capisci: P – flai