NavMesh Obstacle组件

NavMesh障碍物组件

  • 在我们游戏中通常在寻路时会遇见一些障碍物(动态,静态障碍物),对于这些障碍物的控制我们使用NavMesh Obstacle组件。

静态障碍物

  • 在Scene中添加一个Cube,并将它烘焙成障碍物。
Paste_Image.png
Paste_Image.png
  • 这时物体无法穿过障碍物。

  • 如果我们想得到一个动态的障碍物,不进行Navigation的烘焙,及时带有碰撞体,物体在导航中运动时也会穿越物体。(在NavMesh中用碰撞体当障碍物毫无作用)

Paste_Image.png
Paste_Image.png

动态障碍物

  • 需要得到动态障碍物,需要添加NavMeshObstacle组件。
Paste_Image.png
  • 添加NavMeshObstacle组件后物体无法穿过障碍物。
Paste_Image.png
  • NavMeshObstacle组件参数。

  • Shape:障碍物类型,盒型和胶囊体。

Paste_Image.png
Paste_Image.png
  • 可以通过调节Center和Size来调节线框。(类似Collider)
Paste_Image.png
  • 最重要的参数Carve(直接翻译雕刻,相当的消耗性能)

  • 不勾选的情况。该障碍物只是阻挡了物体前进路线,并没有改变物体导航网格的路径(导航只会不断的计算最短路径依旧认为此条路径是最短的不会重新计算路径)。物体不会绕过该障碍物进行导航。

Paste_Image.png
  • 勾选以后,导航网格发生了改变,在障碍物表面雕刻出了一个和它表面积相似的网格区域。
Paste_Image.png
  • 此时物体会通过雕刻出的导航网格判断这条路是无法通过的,会重新进行最短路线的计算并移动。
Paste_Image.png
  • 在场景中移动障碍物,导航网格也会重新计算(动态障碍物)
Paste_Image.png

*Carve参数

Paste_Image.png
  • Move Threshold:该参数代表该障碍物的移动的极限距离超过这个参数时,才会重新雕刻这个障碍物。

  • 增大此值,障碍物移动没有超过这个距离,就不会重新雕刻导航网格。

Paste_Image.png
Paste_Image.png
  • Time To Startionary: 障碍物静止不动多少时间后会重新雕刻导航网格。(当障碍物移动的时间不会进行雕刻,下一个参数!)
Paste_Image.png
  • Carve Only Startionary: 勾选此参数时,只有在障碍物静止时会对它导航网格进行雕刻。
Paste_Image.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,777评论 25赞 708
  • 准备:金酒,汤力水,柠檬,冰块,杯子 我的酒量啤酒大概两瓶吐红酒大概半瓶傻
    小扣R阅读 18,882评论 1赞 0
  • 真正的问题不在于长大,在于遗忘 ——《小王子》 当别人称呼我先生 那是我也...
    不敗是一种心态阅读 293评论 0赞 0
  • 这是我的软肋,我知道。曾经会在听到一句话,听到某一首歌,泪如雨下,依然会在某一个深夜,无征兆的,泪崩。 可是,哭过...
    阿丹_3阅读 634评论 0赞 1

友情链接更多精彩内容