有没有办法在 Navmesh 导航端升起一个标志,或者在它完成时使用回调?
我想在我的反对意见到达期望的位置时运行一个功能,如果导航已经完成,我可以检查每个帧更新,但我想要一个更优雅和高效的解决方案。
谢谢。
这取决于你所说的“结束”是什么意思,如果你想知道什么时候路径不再适用于 NavAgent,你可以使用
pathStatus
,例如你可以写:
if(myNavAgent.pathStatus != NavMeshPathStatus.PathComplete) {
// Do stuff
}
如果你到达一个位置,例如“航路点”,你可以使用
myNavAgent.remainingDistance
然后检查它是否小于某个值。
这是统一的 NavAgent 脚本 API 文档链接:https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html
如果这不起作用,请告诉我!
我想过同样的问题,但我找不到回调,但我设法用触发器解决了。例如,如果我的代理人去 a 点,我会触发那个位置,当我的代理人触及它时,我会停止代理人。