Brincando com a criação de paisagens mundiais minecraft / lego no Unity 3D (paisagens de voxel geradas proceduralmente com cubos), estou descobrindo que as malhas criadas para essas paisagens ocupam MUITA memória. A malha atualmente consiste apenas de vértices para os lados visíveis de um cubo. O uso da memória para um terreno complexo pode demorar 6 ou 7 cem megas.
Essas malhas podem ser otimizadas, mas estou lutando para encontrar um algoritmo decente para fazer isso.
O algoritmo deve levar em consideração que você não deseja "mesclar" blocos de diferentes tipos de terreno. Eu acho que um começo realmente simples pode ser apenas processar todos os blocos ao longo de um eixo e fazer varreduras extras para os outros dois eixos.
Preciso manter a forma da malha, que não é a fusão de vértices, a ponto de o espaço vazio ou sólido ser alterado. O motivo é que pode haver criaturas / etc que ainda precisam navegar pela malha. Portanto, não posso simplesmente criar uma malha distorcida com detalhes realmente baixos.
Quaisquer pensamentos / sugestões / dicas sobre isso?