跳转到内容

动态区域体积(NavMeshModifierVolume)

Version >= LayaAir 3.2

NavMeshModifierVolume(动态区域体积)是LayaAir 3D导航系统中用于在三维体积区域内修改导航网格属性的组件。它允许在场景中定义一个盒状三维区域,通过设置不同的区域标记(areaFlag)来影响代理在该区域内的寻路行为。

该组件继承自Component。在LayaAir-IDE的属性面板中,该组件显示为动态区域体积

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

属性类型说明
代理类型 agentTypestring设置该体积区域适用的代理类型
区域标记 areaFlagstring设置该体积区域的区域类型标记,如walk、unwalk、water等
中心 centerVector3设置体积区域的中心位置偏移
大小 sizeVector3设置体积区域的尺寸(宽、高、长)

动态区域体积通常用于在已有的导航网格上覆盖一片区域,并为该区域设置不同的代价值(cost)。该代价值会影响寻路时经过该区域的代价计算:

  • 将区域标记设置为unwalk,代理在寻路时会绕开此区域。
  • 将区域标记设置为较高cost的区域类型,代理会倾向于避开该区域,但在必要时仍会通过。
  • 将区域标记设置为较低cost的区域类型,代理会倾向于通过该区域。
  • 动态区域体积不需要烘焙,设置后即时生效。
  • 通过调整centersize属性可以灵活控制体积区域的位置和大小。
  • 该组件的位置会跟随所在节点的世界变换而变化。