Tôi có một bản đồ chiều cao 2D theo định dạng sauLập bản đồ bản đồ chiều cao sang một định dạng đường viền lưới dựa trên
06 36 39 42 43 55 ...
37 40 43 43 45 46 ...
40 43 44 45 46 48 ...
44 44 46 47 48 50 ...
41 44 45 47 48 48 ...
...
Và tôi cần phải remap nó sang một định dạng đường viền nụ cười dựa (vì vậy nó có thể tiếp tục được ánh xạ vào sprites)
. . . . | . .
. . . . \ . .
. . .// . .
. . . | . . .
. . . | . . .
./-/. . .
đây .
nghĩa khu vực bằng phẳng, |
và -
vách đá thẳng, /
và \
góc vách đá (mỗi đại diện cho 2 khả năng khác nhau).
Tôi đã thử phương pháp tiếp cận hình vuông hành quân tiêu chuẩn, nhưng thấy rằng chỉ lấy mẫu 3 hàng xóm dẫn đến khá nhiều vấn đề, do quá tải các trường hợp lân cận. (Lưu ý các vách đá thẳng đứng ngoài không gian)
. . . . | . \
. . . . \ \ .
. . .// - .
. . . | - . .
. . . | . . .
./-/. . .
Điều tôi muốn, là một số tham chiếu đến các thuật toán/phương pháp giúp giải quyết vấn đề này. Tôi biết rằng đường viền đi bộ với một số loại chiều sâu tìm kiếm đầu tiên là một lựa chọn nhưng chưa thử nó ra, và muốn rời khỏi đó như là một phương sách cuối cùng. Ngoài ra còn có các câu hỏi về biểu diễn một số tính năng, ví dụ như có bao gồm các vách đá vách đá dày 1 phần tử hay chỉ bỏ qua chúng. Một tùy chọn khác là chuyển qua các đường bao được tạo ra và thay đổi chúng để chúng có thể vừa vặn với nhau, nhưng điều này có vẻ thực sự khó khăn ...
Có thể bạn giải thích thêm một chút về cách tiếp cận hình vuông hành quân của bạn với 3 người hàng xóm? Tôi nghĩ rằng hình vuông hành quân là lý tưởng để làm cho không giao nhau của '(height_map - ngưỡng)'. – YXD
Các trường hợp hình vuông diễu hành ghi đè lên nhau, tôi đã thiết lập mức độ ưu tiên để đảm bảo rằng các căn hộ không ghi đè lên các vách đá nhưng vẫn có lỗi. Các ngưỡng sử dụng là hoàn toàn tốt, nó chọn đúng trường hợp đó là vấn đề. Một nửa thời gian thuật toán có thể đang cố gắng làm điều đúng, và tôi chỉ thiếu các biểu tượng đại diện để tạo ra bất kỳ ý nghĩa nào của nó. – Sash
Chức năng liên quan đến bản đồ chiều cao 2D của bạn với bản đồ dựa trên nụ cười của bạn là gì? Bạn có gán biểu tượng dựa trên số được lưu trữ trên bản đồ mà mỗi biểu tượng cũng tùy thuộc vào hàng xóm của nó không? –