A* 算法核心

f(n) = g(n) + h(n),其中 g 是已走过的实际代价,h 是启发式估计代价(曼哈顿距离或欧氏距离)。

// A* 核心伪代码
open_list = [start]
while open_list not empty:
    current = node with lowest f in open_list
    if current == goal: return path
    for neighbor in neighbors(current):
        g = current.g + cost(current, neighbor)
        if g < neighbor.g:
            neighbor.parent = current
            neighbor.g = g
            neighbor.f = g + h(neighbor, goal)
            add neighbor to open_list

A* vs NavMesh

A* 适合动态网格(如塔防中实时改变地形),NavMesh 适合复杂三维地形的高效寻路。两者各有优势,可以组合使用。