Nhắm mục tiêu một chiếc xe với chuyển động phức tạp?


9

Nhắm mục tiêu một phương tiện có vận tốc không đổi đã biết là đơn giản và đảm bảo va chạm (xem Dự đoán vị trí của kẻ thù để có một vật dẫn đầu mục tiêu , Tìm điểm gặp của 2 đối tượng ở dạng 2D, biết tốc độ và độ dốc (không đổi) ). Imprecise AI có thể được mô hình hóa bằng cách thêm một yếu tố lỗi nhỏ.

Nhưng làm thế nào một người sẽ đi về mục tiêu một chiếc xe có chuyển động phức tạp hơn? Có lẽ nó đang trốn tránh AI hoặc một đối tượng trò chơi khác.

Tôi đã suy nghĩ về cách tôi tự làm điều đó trong FPS (trong đó đạn có tốc độ hữu hạn) và nghĩ rằng có thể cần ít nhất một vài chế độ nhắm mục tiêu dựa trên chuyển động của mục tiêu trong giây trước hoặc lâu hơn:

  • Nếu nó gần mục tiêu tuyến tính (gia tốc cực đại trong một phạm vi nhất định) với mô hình tuyến tính
  • Nếu nó rất bất thường (có thể sử dụng kích thước hộp giới hạn của các vị trí gần đây?), Hãy nhắm mục tiêu ở mức trung bình

Bây giờ tôi có thể giả định không gian 2d, AI đứng yên và đường đạn là vô duyên và di chuyển tuyến tính.


1
Nếu bạn có thời gian để thu thập dữ liệu về đối tượng chuyển động không đều, thì bạn có thể nội suy bước di chuyển tiếp theo của nó và bắn vào đó. Bạn càng có nhiều dữ liệu, điều này sẽ càng chính xác.
Michael K

Không biết bạn chỉ nói đạn hay không. Nhưng cũng có pháp lệnh thông minh. Ví dụ, một stinger được phóng từ một game nhập vai có thể theo dõi sức nóng của máy bay.
Steve H

@SteveH - chỉ là những "viên đạn" vô duyên. Đã làm rõ trong câu hỏi.
e100

Câu trả lời:


11

Suy nghĩ ngẫu nhiên (không có mã) ...

Trong cuộc sống thực, người ta nhắm vào một chiếc xe có chuyển động phức tạp bằng cách cố gắng tìm ra chuyển động đó là gì để dự đoán nó. Nếu bạn đang viết mã cho AI để nhắm mục tiêu AI, thì bạn nên tạo một AI nhắm mục tiêu có nguồn gốc từ AI mục tiêu. Ví dụ: nếu mục tiêu của bạn sẽ chạy để che chở nếu ở gần, AI nhắm mục tiêu sẽ có thể dự đoán được chuyển động này.

Mặt khác, nếu bạn đang cố gắng nhắm mục tiêu vào con người bằng AI, điều đó sẽ khó khăn hơn rất nhiều. Nhắm mục tiêu ngẫu nhiên có thể hoạt động, nhưng có thể trông chỉ là "ngẫu nhiên", điều này có thể hoặc không phải là vấn đề đối với trò chơi của bạn.

Để đưa ra một giải pháp, một điều bạn có thể làm là phân tách vấn đề thành các phần khác nhau để cố gắng bắn một cái gì đó ...

Khả năng theo dõi

Để bắn trúng mục tiêu bằng một thiết bị có mục tiêu có thể di chuyển, người ta phải có khả năng theo dõi và di chuyển thiết bị để theo dõi mục tiêu. Các targeter quan sát mục tiêu di chuyển, và di chuyển mục tiêu của họ để theo dõi. Nếu một trình theo dõi có số lượng chuyển động hạn chế, thì khả năng theo dõi của nó sẽ bị cản trở và nó có thể khó theo dõi một số thứ. nhưng nếu trình theo dõi có số lượng lớn quyền tự do theo dõi, nó có khả năng có thể theo dõi nhiều thứ. Hãy suy nghĩ về sự khác biệt giữa một tháp pháo xe tăng và bạn chỉ vào thứ gì đó bằng ngón tay.

Theo dõi tốc độ

Một yếu tố khác là làm thế nào nhanh chóng theo dõi có thể theo dõi. Nếu nó rất chậm (nghĩ là "tháp pháo xe tăng"), thì nó không thể theo dõi mục tiêu di chuyển nhanh. Thay vào đó, nó phải dựa vào dự đoán về con đường của mục tiêu. Mặt khác, một trình theo dõi với tốc độ "nhanh" có thể nhanh chóng di chuyển đến vị trí mới của mục tiêu.

Theo dõi thời gian phản ứng

Một yếu tố thứ ba trong theo dõi là thời gian phản ứng của theo dõi. Đó là, khi mục tiêu thay đổi hướng, người theo dõi có thể phản ứng nhanh như thế nào? Trình theo dõi cuối cùng là một với tốc độ theo dõi nhanh và thời gian phản ứng tức thì - nó có thể theo dõi bất kỳ thay đổi nào.

Công nhận mục tiêu

Làm thế nào tốt các targeter có thể nhận ra một mục tiêu? Nếu một người đang theo dõi mục tiêu trong một môi trường phức tạp, có thể đôi khi người nhắm mục tiêu không nhận ra hoặc "mất" mục tiêu. Các targeter có thể nhận ra mục tiêu càng nhanh thì nó sẽ càng tốt. Càng ít có khả năng mất mục tiêu, nó sẽ càng tốt.

Thời gian phản ứng bắn

Chỉ vì mục tiêu xuất hiện trong crosshair trong một khoảng thời gian ngắn không có nghĩa là một phát bắn sẽ xảy ra. Trình theo dõi có thể phản ứng đủ nhanh để bóp cò không? Trình theo dõi thực sự xấu với thời gian phản ứng thực sự xấu sẽ không ảnh hưởng gì. Trình theo dõi thực sự tốt với thời gian phản ứng thực sự tốt sẽ đánh trúng bất cứ điều gì, bởi vì họ chỉ cần một chút thời gian trên mục tiêu.

Dự đoán phong trào

Dự đoán của phong trào là một yếu tố khác. Đây là sự khác biệt giữa việc chỉ cố gắng theo dõi vị trí của mục tiêu hiện tại, so với việc theo dõi đến nơi bạn nghĩ mục tiêu sẽ ở. Nếu một người theo dõi có thể dự đoán, họ có thể theo dõi mục tiêu tốt hơn và có nhiều cơ hội hơn để có mục tiêu trong bóng đèn, và do đó cải thiện khả năng của họ để có được một phát bắn dựa trên thời gian phản ứng của họ. Trình theo dõi dự đoán bằng không sẽ chỉ tự động di chuyển mục tiêu về phía mục tiêu, bất kể hành động của mục tiêu. Trường hợp xấu nhất là một người theo dõi tốc độ chậm mà không lường trước được việc cố gắng theo dõi mục tiêu di chuyển đơn giản. Hãy tưởng tượng một mục tiêu chỉ cần bước sang trái và sau đó sang phải cứ sau vài giây. Một người theo dõi chậm sẽ chỉ tiếp tục nảy mục tiêu qua lại, không bao giờ đủ nhanh để có được mục tiêu.

Mô hình hóa mục tiêu di chuyển

Như đã đề cập ở trên, trình theo dõi có thể dự đoán mục tiêu bằng cách mô hình hóa chuyển động của nó, điều này không nhất thiết phải khó thực hiện. Nếu một chiếc xe đang lái xe ở một tốc độ nào đó, có một số lượng hữu hạn những nơi mà chiếc xe có thể ở trong giây tiếp theo, và chúng được bố trí cơ bản giống như một hình tam giác trước chuyển động của chúng. Họ càng đi nhanh, tam giác càng chặt. Họ có thể quay càng nhanh, nó càng rộng. Một phương tiện thực sự nhanh mà khó có thể quay (như tên lửa) có một con đường tiềm năng hẹp rất nhỏ. Một cái chậm có thể biến rất tốt có một con đường tiềm năng rộng lớn hơn nhiều. Nó giống như những camera dự phòng trên một số xe ô tô che đường cho bạn biết xe của bạn sẽ đi đâu nếu bạn tiếp tục lái xe như bây giờ, cộng với nơi bạn có khả năng có thể đi nếu bạn quay bánh xe nhiều hơn.

Vì vậy, trong tâm trí đó, bạn nên đặt hộp "không gian mục tiêu tiềm năng" của mình vào không gian đường dẫn tiềm năng đó. Nếu bạn biết mục tiêu của mình có xu hướng xoay vòng từ bên này sang bên kia, hộp mục tiêu của bạn cần đủ rộng để bao gồm tất cả các chuyển động có thể. Nếu mục tiêu của bạn khá tuyến tính trong chuyển động của chúng, bạn có thể làm cho hộp mục tiêu của mình nhỏ hơn nhiều và tập trung vào vị trí dự đoán của chuyển động. Tôi nghĩ kiểu suy nghĩ này sẽ giúp bạn tạo ra một giải pháp duy nhất để theo dõi mà không thực sự phân biệt giữa dự đoán tuyến tính và phi tuyến tính. Theo dõi tuyến tính chỉ đơn giản là dự đoán với mức độ tin cậy cao hơn (hộp nhắm mục tiêu nhỏ hơn), trong khi theo dõi ngẫu nhiên là theo dõi độ tin cậy thấp (hộp theo dõi lớn hơn).

Tất nhiên điều này trở nên thách thức nếu mục tiêu đứng yên, bởi vì nó có khả năng di chuyển theo bất kỳ hướng nào. Nhưng tất nhiên nếu nó ngồi quá lâu, đó là một mục tiêu dễ dàng ngay cả đối với người theo dõi chậm nhất.

Tâm lý học mục tiêu

Xem xét những gì bạn sẽ làm nếu bạn bất ngờ có bức ảnh hạ cánh bên trái của bạn. Bạn sẽ chạy vào họ? KHÔNG! Bạn sẽ chạy sang phải. Hoặc có thể bạn sẽ chạy để bảo vệ. Nhưng sau đó, có thể các targeter đặc biệt bắn vào vị trí bìa để sau đó bạn không chạy cho nó.

Năng lực học hỏi

Có khả năng targeter của bạn có thể học hỏi kinh nghiệm. Giả sử lúc đầu họ không biết gì về chuyển động tiềm năng của chiếc xe. Họ không biết nó có thể đi nhanh như thế nào, hoặc nó có thể quay nhanh như thế nào. Quan sát nó trong hành động mặc dù sẽ dạy cho họ biết đây là gì. Có nghĩa là lần đầu tiên họ thử và theo dõi một, họ có thể không làm tốt lắm. Nhưng họ học hành vi di chuyển, và làm tốt hơn trong những lần thử tiếp theo.

Đọc thêm

Một chút googling sau khi viết này đã dẫn đến hướng dẫn này cho thiện xạ súng trường ...

http://www.globalsecurity.org/military/l Library / method / army / fm / 3-22-9 / c07.htm

Có thể có một số ý tưởng trong đó về cách một người thực sự sẽ / nên / có thể nhắm và theo dõi.


Wow - điều đó đã cho tôi rất nhiều thức ăn để suy nghĩ - cảm ơn!
e100

Phải tôi không biết nếu tôi có một câu trả lời chính xác cho bạn thực sự, chỉ là một số điều cần suy nghĩ. Nhiều như có toán trong việc theo dõi, tôi nghĩ cũng có tâm lý nữa.
Tim Holt

Thật vậy - khái niệm xác định loại mục tiêu đó là gì và do đó mô hình hành vi có khả năng của nó là một mục tiêu rõ ràng khi nhìn lại. Có thể được mở rộng để hiểu chế độ / trạng thái của nó là gì (ví dụ: tĩnh / không biết / trong chiến đấu / trốn tránh, v.v.)
e100
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.