Jugando con la creación de paisajes mundiales de minecraftish / lego en Unity 3D (paisajes voxel generados por procedimientos con cubos), descubro que las mallas creadas para estos paisajes ocupan MUCHA memoria. La malla actualmente solo consiste en vértices para los lados visibles de un cubo. El uso de la memoria para un terreno complejo puede tomar 6 o 700 megas.
Estas mallas podrían optimizarse, pero estoy luchando por encontrar un algoritmo decente para hacer esto.
El algoritmo debe tener en cuenta que no desea "fusionar" bloques que son de diferentes tipos de terreno. Supongo que un comienzo realmente simple podría ser simplemente procesar todos los bloques a lo largo de un eje y hacer barridos adicionales para los otros dos ejes.
Necesito mantener la forma de la malla, que no es la fusión de vértices hasta el punto en que se cambia el espacio vacío o sólido. La razón es que puede haber criaturas / etc. que todavía necesiten navegar alrededor de la malla. Por lo tanto, no puedo crear una malla distorsionada con detalles realmente bajos.
¿Alguna idea / sugerencia / consejo sobre esto?