Unity —— AI Navigation

慈云数据 2024-03-31 技术支持 56 0

目录

  • 一、AI Navigation
    • (一)Agents
    • (二)Areas
    • (三)Bake
    • (四)Object
    • 二、Nav Mesh Agent
    • 三、Nav Mesh Obstacle
    • 四、Off Mesh Lik

      一、AI Navigation

      在这里插入图片描述

      (一)Agents

      • Name 当前类型名字
      • Radius 当前AI半径
      • Height 当前AI高度
      • Step Height 当前AI可跨越的最高台阶
      • Max Slope 当前AI可攀爬的最高坡度

        (不同的寻路AI选择了不同的类型时,AI就可以根据本身类型来选择不同的道路,Radius、Height可以理解为设置AI的胖瘦,高矮)

        (二)Areas

        在这里插入图片描述

        在这里插入图片描述

        (当AreaMask选择这三项时,AI会自己计算经过这几条路时的花费,从而选择走花费最小的那一条路)此组件会在下方具体介绍

        (三)Bake

        在这里插入图片描述

        • Agent Radius:假定AI的半径,数值越小导航网格越小
        • Agent Height:假定AI的高度,比如AI高2米,门高1.7米,那么这个位置将不被生成导航网格
        • Max Slope:假定AI最大爬坡坡度,高于该坡度的斜坡不生成导航网格
        • Step Height :假定AI最高可跨越的台阶高度,高于该台阶将不生成导航网格连接面

          Generate Off Mesh Links:自动设置外链接(通常配合Object中的Generate Off Mesh Links使用)

          Drop Height——下落高度

          Jump Distance——跳跃距离

        • Manual Voxel Size:是否手动输入值来控制烘焙精细度
        • Voxel Size:精细度
        • Min Region Area:剔除未连接的小型导航网格区域。表面积小于该值的导航网格区域将被移除。
        • Height Mesh:由于导航网格是可行走空间的近似形状,因此在构建导航网格时会使某些特征扁平化(例如,楼梯可能在导航网格中显示为斜坡)。如果游戏需要更加准确,则应在烘焙导航网格时启用Height Mesh构建。但是,Height Mesh将在运行时占用内存和处理资源,并需要稍微更长一点的时间来烘焙导航网格。

          (四)Object

          在这里插入图片描述

          选择所烘焙区域的类型

          注意:烘焙之前需要将地面设置为Navigation Static,每次更改后都需要Back

          二、Nav Mesh Agent

          (寻路网格代理)

          在这里插入图片描述

          参数作用
          Agent Type代理类型
          Base Offset碰撞圆柱体相对于轴心点的偏移(拖一下就知道)
          Steering操作转向
          Speed移动速度
          Angular Speed转身速度
          Acceleration加速度
          Stopping Distance与目标距离间隔多少时停止
          Auto Braking抵达目标之前是否减速(防止出现刹不住车的情况)
          Obstacle Avoidance障碍回避
          Radius计算代理中心与其他代理或者游戏物体之间的距离
          Height代理在头顶障碍物下方通过所需的高度间隙。(门口或隧道的最小高度)
          QualityPriority选择避障质量。(None代理之间会忽略相互之间的碰撞)
          Priority优先权,指定代理在相互回避时的行为方式。代理会避开其他优先级较高的代理,并忽略其他优先级较低的代理。
          Path Finding寻路
          Auto Traverse Off Mes指定代理是否自动遍历网格外链接( Off Mesh Link)。
          Auto Repath自动重新路,当代理寻路失败时,自动重新寻路
          Area Mask区域蒙版,指定AI代理可寻路的区域。

          三、Nav Mesh Obstacle

          (寻路网格障碍物)

          在这里插入图片描述

          Shape : 形状,指定障碍物几何图形的形状

          Center:调整形状位置

          Size;障碍物大小

          Carve(雕刻):允许 NavMesh 障碍物在 NavMesh 中创建一个孔。勾选后,才会在游戏中动态计算当前障碍物,不勾选,就相当于不启用

          Move Threshold(移动阈值): 当障碍物的移动距离超过设置的值时,Unity会将其视为移动状态。使用此属性可设置该阈值距离来更新移动的雕孔。

          Time To Stationary(静止时间):等待障碍物静止的时间(以秒为单位)

          Carve Only Stationary (雕刻仅固定):启用此属性,只有在静止状态才会雕刻孔洞,不启用则是实时的雕刻孔洞,更加适合快速移动的障碍物

          四、Off Mesh Lik

          (网格外链接)

          在这里插入图片描述

          应用:用于处理寻路AI无法跨越又无法绕道的障碍,或者是某些路线的捷径。例如跳跃

          Start:描述网格外链接起始位置的对象

          End:描述网格外链接结束位置的对象

          Cost Override:如果值为正,则在计算处理路径请求的路径成本时使用该值。否则,使用默认成本(此游戏对象所属区域的成本)

          Bi-Directional:如果启用,则可以在任一方向上遍历链接,否则,只能按照从Start到End的方向遍历链接。

          Activated:寻路AI是否使用该链接,默认为真,为假则禁用该链接。

          Auto Update Positions:如果启用此属性,当端点动态移动时(运行时移动端点位置),网格外链接将重新连接到导航网格。如果禁用,即使移动了端点,链接也将保持在其起始位置。

          Navigation Area:描述该链接的导航区域类型,通过此值,可以让AI自行判断此路是否可行。

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon