Chơi xung quanh với việc tạo cảnh quan thế giới minecraftish / lego trong Unity 3D (phong cảnh voxel được tạo theo thủ tục với các hình khối), tôi thấy rằng các lưới được tạo cho các cảnh quan này chiếm rất nhiều bộ nhớ. Lưới hiện chỉ bao gồm các đỉnh cho các mặt có thể nhìn thấy của một khối. Việc sử dụng bộ nhớ cho một địa hình phức tạp có thể mất 6 hoặc 7 trăm megs.
Những mắt lưới này có thể được tối ưu hóa, nhưng tôi đang vật lộn để tìm ra một thuật toán phù hợp để làm điều này.
Thuật toán phải tính đến việc bạn không muốn "hợp nhất" các khối có các loại địa hình khác nhau. Tôi đoán một khởi đầu thực sự đơn giản có thể là chỉ xử lý tất cả các khối dọc theo một trục và thực hiện quét thêm cho hai trục còn lại.
Tôi cần phải giữ hình dạng lưới, đó là không có sự hợp nhất của các đỉnh đến điểm mà không gian trống hoặc rắn được thay đổi. Lý do là, có thể có những sinh vật / vv vẫn cần điều hướng xung quanh lưới. Vì vậy, tôi không thể tạo ra một chi tiết thực sự thấp, lưới bị méo.
Bất kỳ suy nghĩ / đề xuất / lời khuyên về điều này?