Nhiều sinh vật sống chẳng hạn như chim, cá, côn trùng, và động vật trên cạn thực hiện nhiều động tác chẳng hạn như di chuyển, săn bắt, và tìm mồi theo bầy đàn. Chúng sống và săn bắt theo bầy đàn, vì điều đó làm cho chúng mạnh hơn và an toàn khỏi đám thú ăn thịt hơn là việc săn mồi riêng biệt. Vì thế, để nói bạn muốn tạo một nhóm những bầy chim trên bầu trời; nó sẽ tiêu tốn quá nhiều thời gian và nỗ lực cho các nhà làm phim để thiết kế ra các chuyển động và những cử động của từng con chim. Nhưng nếu chúng ta đưa vào một vài luật đơn giản cho mỗi con chim nối đuôi nhau, chúng ta có thể đạt đến trí thông minh độc lập của toàn nhóm có hành vi phức tạp, toàn thể.
Người đi đầu của khái niệm này chính là Craig Reynolds, người đã giới thiệu một thuật toán về bầy đàn
trong tờ giấy SIGGRAPH, 1987, Flocks, Herds and School - A Distributed Behavioral Model. Ông ấy đã tạo ra thuật ngữ “boid”, có vẻ như “bird”, nhưng liên quan đến một đối tượng “bird-like”. Ông ấy đã
đề nghị ba luật đơn giản để áp dụng cho mỗi đơn vị, chúng là :
• Chia cắt : Luật này được dùng để duy trì một khoảng cách ngắn với những các boid - bầy chim, để tránh đập vào chúng
• Thẳng hàng : Luật này được dùng để sắp hàng chính nó với các hướng trung bình của các người hàng xóm của nó, và rồi di chuyển trong cùng tốc độ với chúng như một bầy
• Cố kết : Bước này được dùng để duy trì một khoảng cách nhỏ với các trung tâm của nhóm
Người đi đầu của khái niệm này chính là Craig Reynolds, người đã giới thiệu một thuật toán về bầy đàn
trong tờ giấy SIGGRAPH, 1987, Flocks, Herds and School - A Distributed Behavioral Model. Ông ấy đã tạo ra thuật ngữ “boid”, có vẻ như “bird”, nhưng liên quan đến một đối tượng “bird-like”. Ông ấy đã
đề nghị ba luật đơn giản để áp dụng cho mỗi đơn vị, chúng là :
Craig Reynolds |
• Thẳng hàng : Luật này được dùng để sắp hàng chính nó với các hướng trung bình của các người hàng xóm của nó, và rồi di chuyển trong cùng tốc độ với chúng như một bầy
• Cố kết : Bước này được dùng để duy trì một khoảng cách nhỏ với các trung tâm của nhóm
Ba luật đơn giản này là tất cả những gì chúng ta cần để bổ sung tính thực tế và thói quen bầy đàn phức tạp một cách công bằng của đàn chim. Chúng cũng có thể được áp dụng cho các hành vi nhóm của bất kỳ các hình thể thực thể khác với một ít hoặc không có sự thay đổi. Chúng ta sẽ thực hiện cách làm thế nào để bổ sung hệ thống bầy đàn thế này trong bài AI 5.1 - Bầy đàn.
Tìm đường và hướng theo
Thỉnh thoảng chúng tôi muốn nhân vật AI của mình đi lang thang trong thế giới game, theo một con đường đã định hoàn toàn hoặc phỏng chừng. Chẳng hạn như trong một trò chơi đua xe, các đối thủ AI cần định hướng theo đường. Và những thuật toán quyết định như thuật toán boid bầy đàn đã nói trước đó, chỉ có thể đưa ra các quyết định tốt. Nhưng cuối cùng, tất cả xuống dốc để xử lý các bước di chuyển và những hành vi hướng theo. Các hành vi hướng theo dành cho các nhân vật AI đã được nghiên cứu trong các chủ đề dành cho một cặp nhóm mười. Một tờ giấy có thể ghi chú trong lĩnh vực này chính là Steering Behaviors for Autonomous Characters, dựa theo Craig Reynolds, xuất bản năm 1999 ở Game Developers Conference (GDC). Ông ta đã xếp loại các hành vi hướng theo thành ba lớp theo sau :
Để tôi trích dẫn ví dụ gốc từ bài viết của ông ấy để hiểu ba lớp này :
Rồi ông ấy biểu diễn cách thiết kế và thi hành vài hành vi hướng theo thông thường và đơn giản dành cho cá nhân các nhân vật AI và từng đôi. Những hành vi thế này bao gồm tìm kiếm và bỏ trốn, đuổi theo và tránh, lang thang, đến nơi, tránh chướng ngại, áp tường theo dõi và tìm đường. Chúng ta sẽ bổ sung vài hành vi này trong bài AI 6.1 - Tìm Đường và Các hành vi Hướng theo.
Thỉnh thoảng chúng tôi muốn nhân vật AI của mình đi lang thang trong thế giới game, theo một con đường đã định hoàn toàn hoặc phỏng chừng. Chẳng hạn như trong một trò chơi đua xe, các đối thủ AI cần định hướng theo đường. Và những thuật toán quyết định như thuật toán boid bầy đàn đã nói trước đó, chỉ có thể đưa ra các quyết định tốt. Nhưng cuối cùng, tất cả xuống dốc để xử lý các bước di chuyển và những hành vi hướng theo. Các hành vi hướng theo dành cho các nhân vật AI đã được nghiên cứu trong các chủ đề dành cho một cặp nhóm mười. Một tờ giấy có thể ghi chú trong lĩnh vực này chính là Steering Behaviors for Autonomous Characters, dựa theo Craig Reynolds, xuất bản năm 1999 ở Game Developers Conference (GDC). Ông ta đã xếp loại các hành vi hướng theo thành ba lớp theo sau :
Để tôi trích dẫn ví dụ gốc từ bài viết của ông ấy để hiểu ba lớp này :
“Chẳng hạn, việc xét về, vài người cao bồi định tập hợp lại gia súc bên ngoài bãi. Một con bò lang thag khỏi bầy. Người chủ bảo một cao bồi tìm kẻ đi lạc về. Người cao bồi nói “nhanh lên” với ngựa của ông ta, và hướng nó về phía con bò, có thể tránh các chướng ngại dọc theo đường đi. Trong ví dụ này, người chủ biểu diễn hành động chọn lọc, chú ý rằng tình trạng thế giới đã thay đổi (một con bò rời khỏi đàn), và thiết lập một đích đến( tìm lại kẻ đi lạc). Mức độ hướng theo đại diện bởi người cao bồi, đang phân tích đích đến thành một chuỗi các đích đến con đơn giản (tiến đến chỗ con bò, tránh các vật chướng ngại, và tìm lại con bò đi lạc). Một đích đến con tương ứng với một hành vi hướng theo dành cho đôi người cao bồi và con ngựa. Bằng cách dùng các ký hiệu điều khiển khác nhau (những lệnh giọng nói, thúc, và ghì cương), người cao bồi hướng ngựa của mình đến thẳng mục tiêu. Theo thuật ngữ thông thường, những dấu hiệu này biểu thị các khái niệm như đi nhanh hơn, đi chậm lại, quẹo phải, quẹo trái, và tiến lên. Con ngựa thi hành mức độ di chuyển. Nhận các tín hiệu điều khiển của người cao bồi khi input, con ngựa di chuyển theo hướng chỉ ra. Chuyển động là kết quả của một sự tương tác phức tạp của sự nhận thức tri giác của con ngựa, giác quan cân bằng của nó, và các vòng cổ trên cơ của nó để kết hợp vào bộ xương của chúng.”
Rồi ông ấy biểu diễn cách thiết kế và thi hành vài hành vi hướng theo thông thường và đơn giản dành cho cá nhân các nhân vật AI và từng đôi. Những hành vi thế này bao gồm tìm kiếm và bỏ trốn, đuổi theo và tránh, lang thang, đến nơi, tránh chướng ngại, áp tường theo dõi và tìm đường. Chúng ta sẽ bổ sung vài hành vi này trong bài AI 6.1 - Tìm Đường và Các hành vi Hướng theo.
No comments:
Post a Comment