Unity - 导航端的 Navmesh 事件

问题描述 投票:0回答:2

有没有办法在 Navmesh 导航端升起一个标志,或者在它完成时使用回调?

我想在我的反对意见到达期望的位置时运行一个功能,如果导航已经完成,我可以检查每个帧更新,但我想要一个更优雅和高效的解决方案。

谢谢。

unity3d events delegation navmesh
2个回答
0
投票

这取决于你所说的“结束”是什么意思,如果你想知道什么时候路径不再适用于 NavAgent,你可以使用

pathStatus
,例如你可以写:

if(myNavAgent.pathStatus != NavMeshPathStatus.PathComplete) {
  // Do stuff
}

如果你到达一个位置,例如“航路点”,你可以使用

myNavAgent.remainingDistance
然后检查它是否小于某个值。

这是统一的 NavAgent 脚本 API 文档链接:https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html

如果这不起作用,请告诉我!


0
投票

我想过同样的问题,但我找不到回调,但我设法用触发器解决了。例如,如果我的代理人去 a 点,我会触发那个位置,当我的代理人触及它时,我会停止代理人。

© www.soinside.com 2019 - 2024. All rights reserved.