导航障碍物(NavMeshObstacles)

Version >= LayaAir 3.2

一、概述

NavMeshObstacles(导航障碍物)是LayaAir 3D导航系统中用于表示寻路过程中障碍物的组件。通过在场景中放置障碍物对象,设置障碍物的类型与形状,可以影响导航网格的生成和寻路计算。

该组件继承自NavModifleBase,是动态节点基类的子类。障碍物的导航数据可以动态添加到NavMeshSurface类的节点下面,形成场景路径的动态变化。在LayaAir-IDE的属性面板中,该组件显示为导航障碍物

关于3D寻路的整体介绍,请参考3D寻路

二、属性说明

2.1 通用属性

属性 说明
代理类型 agentType 指定该障碍物适用的代理类型,需与所属静态导航表面的代理类型匹配
区域标记 areaFlag 标记该障碍物的区域类型,影响代理对该区域的寻路代价
类型 meshType 障碍物的形状类型,支持BOX(盒子)和CAPSULE(胶囊体)两种
中心点 center 障碍物的中心位置偏移(Vector3)
数据 datas 烘焙生成的导航网格数据(TextResource类型)。烘焙后自动填充

2.2 BOX类型属性

meshType设置为BOX时,可设置以下属性:

属性 说明
大小 size 盒子的宽度、高度、长度(Vector3)。通过这些值可以调整盒子的体积大小,来匹配障碍物的尺寸

2.3 CAPSULE类型属性

meshType设置为CAPSULE时,可设置以下属性:

属性 说明
高度 height 胶囊体的高度
半径 radius 胶囊体的底面半径

三、使用说明

3.1 基本用法

在需要作为障碍物的节点上添加导航障碍物组件,选择合适的形状类型(BOX或CAPSULE),并调整中心点和大小参数使其匹配实际模型的尺寸。

使用步骤:

  1. 在障碍物节点上添加导航障碍物组件。
  2. 选择meshTypeBOXCAPSULE
  3. 调整centersize/height/radius参数。
  4. 将障碍物节点放在拥有静态导航表面组件的节点的子节点下。
  5. 与静态导航表面一起进行烘焙。

3.2 注意事项

  • 障碍物节点需要放在静态导航表面节点的子节点下。
  • 障碍物的边界范围(boundMin/boundMax)不需要手动配置,烘焙完成后会自动生成。
  • 障碍物是动态的,其位置变化会影响导航网格的实时更新。
  • 如需通过代码动态添加障碍物,需先提前烘焙好并存储在预制体中。
Copyright ©Layabox 2026 all right reserved,powered by LayaAir Engine更新时间: 2026-06-02 11:29:27

results matching ""

    No results matching ""