学习资料:
https://zhuanlan.zhihu.com/p/74537236
https://blog.csdn.net/u013272009/article/details/80086833
RecastNavigation有哪些内容
主要包含两大类:RecastNavigation = Recast(生成凸多边形,即网格) + Detour(基于凸多边形集合的A*寻路算法)
又有三小类:
Solo Mesh,纯粹的邻接凸多边形集合
Tile Mesh,基于tile划分的N个邻接凸多边形集合
Temp Obstacles,支持动态障碍物的,基于tile划分的N个邻接凸多边形集合(UE4使用)
作用:表达3D场景,赋予游戏对象(X,Y,Z)属性,判断3D中两个点的可达性,能动态改变3D场景地形
UE4用了Google的RecastNavigation代码
一些概念
Recast:把地形数据抽象和简化,生成AI可理解的导航数据 (体素模型 + 导航网格)
Detour:利用导航网格进行寻路
总结:Recast过程(D场景→多层体素集合→邻接凸多边形集合),最后Detour把数据拿来A*导航用
什么是NavMesh?
RecastNavigation 的最终产物,Nav + Mesh = A* + 凸多边形(网格),真正的导航系统
NavMesh 是由 Mesh 经过体素化、地区生成、轮廓生成、多边形网格生成、高度细节生成等步骤 生成的,然后在导航网格上通过 A或 D等算法生成连通多边形列表,并从列表中找出最优路径