Hệ thống NavMesh của Unity

Nền tảng:
3D
Tags:
AI
Pathfinding
Navigation

C# Code

// Đây là hướng dẫn, không phải là một script hoàn chỉnh.

// 1. Cài đặt Gói Navigation:
//    - Vào Window -> Package Manager, tìm và cài đặt gói "AI Navigation".

// 2. Bake NavMesh:
//    - Chọn các đối tượng tĩnh (mặt đất, tường,...) trong Scene.
//    - Trong Inspector, đánh dấu chúng là "Navigation Static".
//    - Mở cửa sổ AI Navigation (Window -> AI -> Navigation).
//    - Trong tab "Bake", điều chỉnh các thông số (ví dụ: Agent Radius, Step Height).
//    - Nhấn nút "Bake" để Unity tạo ra NavMesh (vùng màu xanh dương).

// 3. Sử dụng NavMeshAgent:
//    - Gắn component 'NavMesh Agent' vào đối tượng AI của bạn.
//    - Điều chỉnh các thông số như Speed, Angular Speed, Acceleration.

// 4. Di chuyển AI bằng Script:
using UnityEngine;
using UnityEngine.AI;

public class AgentController : MonoBehaviour
{
    public Transform target;
    private NavMeshAgent agent;

    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
    }

    void Update()
    {
        // Di chuyển AI đến vị trí của target
        if (target != null) {
            agent.SetDestination(target.position);
        }
    }
}

Hướng dẫn thiết lập và sử dụng hệ thống Navigation (NavMesh) tích hợp sẵn của Unity để AI có thể tự động tìm đường đi trong môi trường 3D phức tạp.

Bình luận (0)

Bạn cần đăng nhập để có thể bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Bài viết liên quan

Thuật toán Dijkstra tìm đường đi ngắn nhất từ một đỉnh nguồn đến tất cả các đỉnh khác trong một đồ thị có trọng số không âm. Hữu ích cho việc tính toán phạm vi di chuyển.

AI
Algorithm
Pathfinding

Triển khai thuật toán A* (A-Star), một trong những thuật toán tìm đường hiệu quả nhất cho AI, kết hợp giữa chi phí đã đi (G-cost) và chi phí ước tính đến đích (H-cost).

3D
2D
AI
Algorithm
Pathfinding

Thuật toán tìm kiếm theo chiều rộng (BFS) duyệt qua đồ thị theo từng lớp. Rất hữu ích để tìm đường đi ngắn nhất trên bản đồ không có trọng số (ví dụ: lưới ô vuông).

AI
Algorithm
Pathfinding

Thuật toán tìm kiếm theo chiều sâu (DFS) đi sâu vào một nhánh cho đến khi hết đường, sau đó quay lại. Thường được dùng để giải mê cung hoặc duyệt cây dữ liệu (skill tree).

AI
Algorithm
Pathfinding

AI chỉ có thể 'nhìn thấy' và phát hiện người chơi nếu họ nằm trong một hình nón phía trước mặt nó. Hữu ích cho các game stealth.

AI
Gameplay
Stealth

AI sẽ bắn đạn về phía người chơi khi họ ở trong tầm tấn công và có một khoảng thời gian chờ (cooldown) giữa mỗi lần bắn.

AI
Gameplay
Spawning
Physics

AI sẽ phát hiện người chơi trong một phạm vi nhất định và bắt đầu di chuyển về phía họ. Khi người chơi ra khỏi phạm vi, AI sẽ dừng lại.

AI
Movement
Gameplay
Player

Một script đơn giản cho AI để di chuyển tuần tự qua một danh sách các điểm (waypoints). Khi đến điểm cuối cùng, nó sẽ quay trở lại điểm đầu tiên.

AI
Movement
Gameplay

Một cấu trúc để một con boss thay đổi hành vi và bộ kỹ năng khi máu của nó xuống dưới các ngưỡng nhất định.

AI
Gameplay
Combat

Một script để quản lý một điểm đánh dấu trên UI (ví dụ: icon nhiệm vụ), đảm bảo nó luôn chỉ đúng hướng tới mục tiêu trong không gian 3D và ghim vào cạnh màn hình khi mục tiêu ở ngoài tầm nhìn.

UI
Navigation
Quest
Camera