導航網格

導航網格係電子遊戲入面一種常用嚟控制 AI 移動嘅做法。一個導航網格有若干個二維嘅多邊形，定義環境入面有邊啲平面係個 AI 可以行嘅，網格以外嘅空間就係個 AI 唔去得嘅地方。

例子碼 
以下呢段 Unity 入面嘅 C# 碼教一個物件按導航網格移動嘅例子碼：
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class NavTesting : MonoBehaviour
{
    [SerializeField]
    Transform _destination; // 定義有一個位置叫 destination，喺 Unity 當中，個位置嘅坐標值可以喺 C# 以外嘅介面定義。
    NavMeshAgent _navMeshAgent; // 有一個物體係移動緊嗰件物件。

void Start()
    {
        _navMeshAgent = this.GetComponent<NavMeshAgent>(); // 要移動嗰件物件係呢段碼 attach 住嗰件...
        if(_navMeshAgent == null) // if 段碼冇 attach 住任何物件，出 error 信息...
        {
            Debug.LogError("The nav mesh agent component is not attached to " + gameObject.name); 

}
        else
        {
            SetDestination(); // ... 否則就做 SetDestination
        }

}
    private void SetDestination()
    {
        if (_destination != null) // if destination 有數值...
        {
            Vector3 targetVector = _destination.transform.position; // targetVector 係一個有三個數值嘅向量，設 targetVector 係 destination 嘅位置
            _navMeshAgent.SetDestination(targetVector); 
        }
    }
}

電子遊戲嘅人工智能

攷 

電子遊戲