Class diagram của AgeFilter

Một phần của tài liệu Thiết kế mô hình tri giác và nhận thức cho các npcs trong stealth game (Trang 97 - 98)

7.2.5 Quân địch (NPC)

Các kẻ thù trong màn chơi chính là các NPC mà em sẽ áp dụng các mô hình đã thiết kế vào để giúp chúng phát hiện được các nhân vật và từ đó đưa ra được hành vi thích hợp. Vì vậy, ngoài những component cơ bản thì các NPC sẽ được gắn thêm các component giúp cho việc nhận thức. Như đã đề cập, trong màn chơi sẽ có 3 loại kẻ địch: zombie, Decayer và Leader Decayer. Các component quan trọng của một kẻ địch bao gồm:

NavMeshAgent: là một component có sẵn của Unity, giúp cho một đối tượng trong màn chơi có thể tìm đường và di chuyển trên NavMesh đã được xây dựng sẵn.

Enemy: là một script mà em tạo ra nhằm quản lý việc tương tác giữa các nhân vật và kẻ thù. Cụ thể là khi nhân vật chọn mục tiêu cho các kỹ năng thì script này sẽ giúp phân biệt đối tượng là kẻ địch với các đối tượng khác trong màn chơi, ví dụ: khi thực hiện kỹ năng Stealth Kill thì khi người chơi chọn đối tượng có component Enemy thì đây mới là mục tiêu phù hợp và nhân vật mới bắt đầu hành động. Ngoài ra, script này còn quản lý các tác vụ khác như làm nổi bật (highlight) kẻ thù trong màn chơi (thông qua hàm ToggleOutline) để người chơi dễ dàng quan sát cũng như biết được các kẻ thù đang bị che khuất bởi các đối tượng khác trong màn chơi do góc nhìn của camera, một tác vụ khác đó là việc thay đổi kẻ thù thành xác chết khi kẻ thù đó bị tiêu diệt, ví dụ: khi một kẻ địch chết thì kẻ địch này sẽ thực hiện animation chết và từ đó thì khi nhân vật chọn mục tiêu cho kỹ năng thì kẻ địch này được nhận dạng là một xác chết thay vì là một kẻ địch còn sống (script DeadBody được kích hoạt).

Một phần của tài liệu Thiết kế mô hình tri giác và nhận thức cho các npcs trong stealth game (Trang 97 - 98)