Tìm đường với chuyển động 2D, không lưới trên địa hình đồng nhất


12

Tôi đang tìm giải pháp tốt nhất để tìm đường trong trò chơi của mình. Bản đồ cuối cùng dựa trên lưới, nhưng các thực thể được định vị bằng phao và có thể di chuyển theo bất kỳ hướng nào đến bất kỳ điểm nào trên bản đồ. 'Mặt đất' trong trò chơi của tôi có chi phí di chuyển đồng đều, nhưng tất nhiên có thể có những chướng ngại vật cản đường. Phần lớn các chướng ngại vật sẽ ở trạng thái tĩnh, và mặc dù sẽ có các thực thể sinh động khác trong trò chơi, tôi có thể thoát khỏi việc không xem xét chúng - đó là một trò chơi chiến lược theo phong cách Bệnh viện chủ đề isometric , vì vậy không cần chiến đấu.

Hầu hết các bài viết tìm đường mà tôi đã thấy bao gồm chuyển động 2D hoặc dựa trên lưới. Bất kỳ đề xuất cho một cái gì đó có thể bao gồm trường hợp sử dụng của tôi? Cảm ơn nhiều.


Không có thời gian cho một câu trả lời thích hợp ngay bây giờ, nhưng bạn có thể muốn xem câu hỏi này: stackoverflow.com/questions/4054701/ .
Christian

Câu trả lời:


14

Điều này được gọi là "vấn đề tìm đường bất kỳ góc." Về cơ bản, bạn có hai lựa chọn:

  1. Tạo lưới điều hướng cho bản đồ của bạn và tìm kiếm trên đó bằng A *

    Lưới định vị

  2. Tìm kiếm trên lưới bằng thuật toán có nghĩa cụ thể cho tìm đường dẫn mọi góc. Theo truyền thống, cách để làm điều này là làm mịn đường dẫn A * + (nội suy tuyến tính, v.v.) , nhưng ngày nay, một phương pháp phổ biến hơn là Theta * , dễ thực hiện hơn, chạy nhanh hơn và cho kết quả tốt hơn so với làm mịn đường dẫn.

    Theta * so với làm mịn đường dẫn

Tất cả các phương pháp trên tạo ra kết quả gần tối ưu. Nếu vì lý do nào đó bạn cần kết quả tối ưu, bài báo này đã được phát hành vài tuần trước. Mặc dù vậy, tôi chưa có cơ hội đọc nó, vì vậy tôi không biết hiệu quả của nó như thế nào, hoặc nó khó thực hiện như thế nào.


Cảm ơn rất nhiều! Tôi không cần kết quả hoàn toàn tối ưu, miễn là nó gần.
tommaisey

1
Chỉ cần nghĩ rằng tôi sẽ thêm bài viết này vào những người bạn đã liệt kê. Nó có vẻ giống như một phiên bản ngắn gọn hơn của bài báo mà bạn đã liên kết, bởi một trong những tác giả của bài báo gốc. Tôi nghĩ rằng tôi sẽ đi với Theta *, chúc mừng.
tommaisey

Liên kết không hoạt động. Hãy cập nhật câu trả lời.
Firelynx
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.