ゲームの「チャンク」システム用に 3D 配列を 1D 配列にフラット化しようとしています。これは 3D ブロック ゲームであり、基本的にはチャンク システムを Minecraft のシステムとほぼ同じにしたいと考えています (ただし、これは決して Minecraft のクローンではありません)。以前の 2D ゲームでは、次のアルゴリズムでフラット化された配列にアクセスしました。
Tiles[x + y * WIDTH]
ただし、Z 軸がないため、これは明らかに 3D では機能しません。この種のアルゴリズムを 3D 空間で実装する方法がわかりません。幅、高さ、奥行きはすべて定数です (幅は高さと同じ大きさです)。
それはただx + y*WIDTH + Z*DEPTH
ですか?私は数学がかなり苦手で、3D プログラミングを始めたばかりなので、かなり迷っています :|
PS。この理由は、私がループして、そこからインデックスごとにかなり多くのものを取得しているためです。1D配列は多次元配列よりも高速であることを知っています(理由を思い出せません:P)。これは必要ないかもしれませんが、できるだけ良いパフォーマンスが欲しいです:)