使用Unity的NavMesh进行Area Target导航

区域目标支持的应用程序之一是导航。作为高级主题,您可以使用Unity的导航系统来检测和定义模型上的可行走地面,并继续在用户与Area Target应用程序中的兴趣点之间创建静态或动态导航。

请按照以下步骤设置导航网格:

  1. 打开已使用Vuforia Engine和导入的Area Target Unity软件包正确设置的Unity项目。
  2. 将扫描空间的预览模型作为网格添加到场景中,确保3D网格的平面图与Unity中的水平(xz)轴对齐。
    1. 如果尚未拥有网格渲染器组件,则添加它。
  3. 请访问有关构建NavMesh的指南,并按照将此处描述的更改应用于扫描空间的步骤进行操作,直到达到“调整 烘焙”设置。
  4. 根据您扫描的空间,可能有必要调整烘焙剂的大小
  5. 按“烘烤”以将NavMesh视为蓝色的覆盖在您的扫描空间上。蓝色叠加层代表步行空间,应显示为一个相连的蓝色叠加层。
    1. 我们发现,大多数门廊通常不包含在NavMesh中。要解决此问题,请将代理半径编辑为较小的宽度。同样,台阶的高度可能还需要进行调整,以在扫描空间中包括更多的步行区域。继续按“烘烤”以获取更新的叠加层。
使用Unity的NavMesh进行Area Target导航

自定义NavMesh

现在,您可以通过创建目标点来创作两点之间的计算路径。当Unity计算两点之间的最短路径时,您可能需要设置导航区域和成本,以帮助改善路径,如下图所示。请访问Unity的文章,以了解有关设置“不可步行”费用较高区域的更多信息。

使用Unity的NavMesh进行Area Target导航

您可以在“区域”选项卡的“导航”窗口下为区域创建新的分类。使用3D Cube GameObject或其他网格物体标记区域,您希望将其分类为较高的成本。

  1. 将GameObject或网格物体放置在场景中您希望标记为“不可行走”的位置
  2. 在“对象”下的导航窗口中,启用“导航静态”,并将“游戏区域”下拉菜单下的GameObject归类为成本较高的导航区域或“不可行走”
  3. 选择“导航”窗口和“烘焙”选项卡,然后按“烘焙”以重建NavMesh 。之后,您可以停用GameObject。  

现在已设置了NavMesh,您可以继续根据需要编辑NavMesh或开始将代理添加到场景中,并使其在各个点之间进行引导,巡逻和移动。或者,您可以在运行时在用户和兴趣点之间设置导航。使用NavMesh障碍物在运行时创建导航的障碍或限制。返回Unity手册以了解有关NavMesh的更多信息。

原创文章,作者:游戏开发极客,如若转载,请注明出处:https://hololens2.cn/2020/11/05/%e4%bd%bf%e7%94%a8unity%e7%9a%84navmesh%e8%bf%9b%e8%a1%8carea-target%e5%af%bc%e8%88%aa/

发表评论

电子邮件地址不会被公开。 必填项已用*标注