Unity Obstacle分析

  • NavMeshObstacle Normal
    • 通过设置半径和高度来设定障碍物,配合NavMesh使用。
    • 优点:
      • 简单易用,效率高
      • 动态生成
    • 缺点:
      • 可能会被主角穿过,但目前没发现
      • 形状固定为圆柱
  • NavMeshObstacle Carve
    • 根据模型的形状和大小自动更新NavMesh,移动的时候会根据阀值来自动更新NavMesh。
    • 优点:
      • 动态生成,远离NavMesh的时候为normal模式,近距离时动态更新导航网格
      • 不会被穿过
      • 方便易用
      • 形状任意
    • 缺点:
      • 更新导航网格式掉帧明显,沙漠十字场景为例,一个Carve类型需要更新时大概掉从30降到28,六个时大概从30降到22,在iPad 3上。
  • NavMeshLayer
    • 在NavMesh里设置多个Layer来区分不同的障碍物,当障碍物破坏时,主角的NavMeshAgent的MavMesh Walkable设置对应的标记。
    • 优点:
      • 效率高
    • 缺点:
      • 制作繁琐,需要写个工具简化下
      • 简略流程如下:
      • 使用固定点生成对应的NavMeshLayer,调整大小
      • 设定对应的障碍物
      • 人物破坏障碍物时,更新对应的walkablelayer。

posted on 2014-08-29 14:13  玉生  阅读(757)  评论(0编辑  收藏  举报

导航