UE4导航网格RecastNavMesh生成介绍:
导航网格生成原理,可以参考两篇文章链接:
https://zhuanlan.zhihu.com/p/35100455
https://blog.csdn.net/needmorecode/article/details/81591777
导航网格类:RecastNavMesh.h 成员变量对应以上两个图属性栏,下面部分属性说明
bDrawTriangleEdges 显示导航网格三角面
bDrawPolyEdges显示面边缘
bDrawFilledPolys显示绿色网格
bDrawNavMeshEdges显示网格边缘
bDrawTileBounds显示图块Tile
bDrawTileLabels显示图块Tile的坐标X、Y值
bFixedTilePoolSize 如果True就是可以定义TilePoolSize数量
TilePoolSize图块Tile的最大数量
TileSizeUU图块Tile的大小
CellSize每个体素的尺寸大小,参考导航网格生成原理原理
CellHeight每个体素的高度,参考导航网格生成原理原理
AgentRadius代理半径,类似模拟在导航网格可走的角色半径大小
AgentHeight代理高度,类似模拟在导航网格可走的角色高度
AgentMaxHeight代理高度,类似模拟在导航网格可走的角色最大高度
AgentMaxSlope代理路面倾斜度,类似模拟在导航网格可走的角色能走路面最大倾斜度
AgentMaxStepHeight代理路走一步所踏高度,类似模拟在导航网格可走的角色走一步所踏高度
UE4导航网格RecastNavMesh的图块Tile,可修改bDrawTileBounds、bDrawTileLabels、bFixedTilePoolSize、TilePoolSize、TileSizeUU如下图:
我们可以通个导航网格RecastNavMesh的图块Tile,如关卡地图很大情况下,比如做AI拾取物品,生成物品时,根据物体生成所处位置找到所处的Tile的坐标X、Y,并且记录标注物品数组;之后根据AI所处的所处的Tile的坐标X、Y找到对应物品,计算量少很多;也可以使用图块Tile应用更多方面。
/** Retrieves XY coordinates of tile specified by position */
bool GetNavMeshTileXY(const FVector& Point, int32& OutX, int32& OutY) const;//根据当前AI的位置或物品的位置找到对应AI或物品所处的某个图块Tile的坐标X、Y