Wenn ich in Unity 3D (prozedural generierte Voxellandschaften mit Würfeln) mit der Erstellung von minecraftish / lego-Weltlandschaften herumspiele, stelle ich fest, dass die für diese Landschaften erstellten Maschen viel Speicherplatz beanspruchen. Das Netz besteht derzeit nur aus Eckpunkten für die sichtbaren Seiten eines Würfels. Die Speichernutzung für ein komplexes Terrain kann 6-700 Megabyte betragen.
Diese Netze könnten optimiert werden, aber ich bemühe mich, einen anständigen Algorithmus zu finden, um dies zu tun.
Der Algorithmus muss berücksichtigen, dass Sie keine Blöcke mit unterschiedlichen Geländetypen "zusammenführen" möchten. Ich denke, ein wirklich einfacher Anfang könnte sein, einfach alle Blöcke entlang einer Achse zu verarbeiten und zusätzliche Sweeps für die anderen beiden Achsen durchzuführen.
Ich muss die Maschenform beibehalten, dh keine Zusammenführung von Scheitelpunkten bis zu dem Punkt, an dem der leere oder feste Raum geändert wird. Der Grund dafür ist, dass es möglicherweise Kreaturen / etc gibt, die noch durch das Netz navigieren müssen. Ich kann also nicht einfach ein wirklich detailarmes, verzerrtes Netz erstellen.
Irgendwelche Gedanken / Vorschläge / Tipps dazu?