A * tìm đường cho các chướng ngại vật năng động và người chơi bị chặn?


11

Xin chào, tôi đang tạo TD trong Unity 5 và cần một số trợ giúp với Pathfinding của tôi.

Tôi sẽ sử dụng tính năng tìm đường Arons A * cho AI của mình, cho phép tôi sử dụng các đối tượng động và cập nhật đường dẫn trong thời gian chạy. Tuy nhiên, trong trò chơi của mình, tôi muốn người chơi có thể chặn các tay sai bằng các tháp pháo đặc biệt sẽ buộc các tay sai tấn công "tháp chặn" thay vào đó để đi đến đích.

Làm thế nào tôi có thể hoàn thành một cái gì đó như thế này?

Hình ảnh cho rõ ràng hơn: nhập mô tả hình ảnh ở đây

Câu trả lời:


22

Tôi đã không xem xét triển khai cụ thể A * của Aaron nhưng với A * bình thường, bạn có thể bao gồm 'tháp chặn' dưới dạng địa hình có thể vượt qua nhưng cập nhật heuristic để 'chi phí' cao hơn nhiều so với ngói bình thường (sao cho AI sẽ đánh giá xem việc phá hủy khối dễ dàng hơn và tiếp tục hay đơn giản là đi vòng qua con đường không bị chặn).

Sau đó, bạn sẽ cần cập nhật AI của mình để khi kẻ thù cố gắng di chuyển từ một ô bình thường sang 'khối tháp', nó sẽ tự động tấn công cho đến khi bị phá hủy.


8
+1 Tôi sẽ nói thêm rằng bạn có thể muốn tính toán chi phí của tháp chặn tùy thuộc vào việc mất bao lâu số X và loại tay sai để phá hủy nó, nếu có sự khác biệt. Một chi phí đặt trước cho tòa tháp có thể không chính xác nếu các tay sai cấp thấp nhất mất 5 giây để phá hủy nó nhưng một siêu tay sai có thể làm điều đó trong 1 giây.
Logic mờ

0

Nếu thứ bạn đang tìm kiếm là một loại tháp trêu chọc, bạn có thể thêm một máy va chạm vào nó được đặt làm cò súng và khi lũ tay sai vào cò súng, chúng chỉ bị kịch bản tấn công tòa tháp.

Nếu bạn muốn các tay sai chỉ tấn công các tòa tháp khi không có đường dẫn thay thế, thì khi đường dẫn bị chặn và A * được gọi để tính toán một đường dẫn khác nếu nó trả về null thì bạn có thể tạo kịch bản cho kẻ thù để tìm tất cả các tháp trêu chọc và nhắm mục tiêu chúng.

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.