Bawiąc się tworzeniem krajobrazów świata Minecraftish / Lego w Unity 3D (generowane proceduralnie krajobrazy wokselowe z kostkami), stwierdzam, że siatki stworzone dla tych krajobrazów zajmują dużo pamięci. Siatka składa się obecnie tylko z wierzchołków widocznych boków sześcianu. Zużycie pamięci w złożonym terenie może zająć 6 lub 7set megapikseli.
Te siatki można zoptymalizować, ale staram się znaleźć porządny algorytm, aby to zrobić.
Algorytm musi wziąć pod uwagę, że nie chcesz „scalać” bloków różnych typów terenu. Wydaje mi się, że naprawdę prostym początkiem może być po prostu przetworzenie wszystkich bloków wzdłuż jednej osi i wykonanie dodatkowych przeciągnięć dla pozostałych dwóch osi.
Muszę zachować kształt siatki, czyli nie scalać wierzchołków do punktu, w którym zmienia się pusta lub pełna przestrzeń. Powodem jest to, że mogą istnieć stworzenia / itp., Które nadal muszą poruszać się po siatce. Nie mogę więc po prostu stworzyć zniekształconej siatki o bardzo niskim poziomie szczegółowości.
Wszelkie przemyślenia / sugestie / wskazówki na ten temat?