Я пытаюсь сгладить 3D-массив в 1D-массив для "chunk" -системы в моей игре. Это игра в 3D-блок, и в основном я хочу, чтобы система кусков была почти идентична системе Minecraft (однако это не клон Minecraft по какой-либо мере). В моих предыдущих 2D-играх я получил доступ к сплющенному массиву со следующим алгоритмом:
Tiles[x + y * WIDTH]
Однако это, очевидно, не работает с 3D, так как отсутствует ось Z. Я понятия не имею, как реализовать этот алгоритм в 3D-пространстве. Ширина, высота и глубина - это все константы (а ширина равна высоте).
Это просто x + y*WIDTH + Z*DEPTH
? Я довольно плохо с математикой, и я только начинаю 3D-программирование, поэтому я довольно потерян: |
PS. Причина этого в том, что я зацикливаюсь и получаю материал по индексу от него довольно много. Я знаю, что 1D-массивы быстрее, чем многомерные массивы (по причинам, которые я не могу вспомнить: P). Хотя это может и не быть необходимым, я хочу как можно более высокую производительность:)