人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » AI资讯

[游戏引擎]Lua游戏AI开发指南 (五)导航网格

2024-06-12 47

1. 基础c++库

2. 导航网格

3. 导航路径

4. 自动寻路

– 导航网格和寻路使用开源的Recast和Detour库

– Recast库和工具根据沙箱的关卡几何体生成导航网格

– Detour负责基于导航网格进行寻路

– 沙箱的智能体使用Detour的获取路径,

1.导航网格的配置

Recast库根据输入的SandboxObject对象生成导航网格

– MinimumRegionArea 可以生成导航网格的最小区域面积

– WalkableClimbHeight 导航网格的可通行攀爬高度,

– WalkableHeight 导航网格的可通行高度,

– WalkableRadius 导航网格的可通行半径,

– WalkablelopeAngle 导航网格的可通行斜坡的角度

2. 构建导航网格

– 导航网格的生成是一项昂贵的操作,会阻断沙箱的运行,

– 通常导航网格的生成需要在沙箱初始化中

– 也可以在其他运行过程中生成,

3. 绘制导航网格

– 使用Sandbox.SetDebugNavigationMesh来开启或关闭导航网格的绘制

– 寻路路径需要输入起始位置,终点位置,以及导航网格

1. 路径查询

2. 查询结果

– 返回一个包含所有路径点的lua表,查找失败则返回空表

3. 随机导航终点

– Sandbox.RandomPoint函数执行小规模的查询返回一个随机点

4. 读取路径信息

– Agent.GetNearestPointOnPath获取离智能体最近的路径上的点

– Agent.GetDistanceAlongPath获取离最近点的路径通行距离

– Agent.GetPointOnPath,根据通行路径和偏移量找到导航的位置

1. 添加随机寻路

– 根据导航网格和寻路技术为智能体添加寻路功能

– 使用之前基于控制器的智能体

2. 更新智能体的路径

– 使用辅助函数随机为已抵达目标点的智能体生成新的路径

3. 绘制路径

– DebugUtilities_DrawPath用来辅助绘制路径

4. 初始化具有寻路功能的智能体

– 此时在沙箱中使用了一个导航网格

– 可以为不同种类的智能体使用不同的导航网格

原文链接:https://www.bilibili.com/read/cv9298575/

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部