Граючи навколо, створюючи ландшафти світу Minecraftish / Lego в Unity 3D (процедурно генеровані воксельні пейзажі з кубиками), я знаходжу, що сітки, створені для цих пейзажів, займають багато пам’яті. Наразі сітка складається лише з вершин для видимих сторін куба. Використання пам'яті для складної місцевості може зайняти 6 або 7 сотень мегів.
Ці сітки можна оптимізувати, але я намагаюся знайти гідний алгоритм для цього.
Алгоритм повинен враховувати, що ви не хочете "зливати" блоки, що мають різні типи місцевості. Я думаю, що дійсно простим початком може бути просто обробити всі блоки вздовж однієї осі, і зробити додаткові зачистки для двох інших осей.
Мені потрібно зберегти форму сітки, тобто не злиття вершин до того, що змінюється порожній або суцільний простір. Причина в тому, що можуть бути істоти / тощо, які все ще потребують навігації по сітці. Тому я не можу просто створити дійсно низьку деталізацію, спотворену сітку.
Будь-які думки / пропозиції / поради щодо цього?