我正在使用播放器上的导航网格/代理作为辅助自动路径功能,除非用户单击地板上的一个点走向,否则该代理始终处于禁用状态。然后,一旦到达目的地,代理将再次被禁用。
我需要一种方法来检查玩家当前是否在 navmesh 上,在可容忍的阈值内,而无需启用 navmeshagent。或者,如果有一种方法可以在不禁用它的情况下删除 navmeshagent 的播放器绑定“效果”,因为我也可以用它来解决我的问题。
我猜在伪代码中,这就是我在禁用 navmeshagent 的情况下要完成的工作:
if (!agent.isOnNavMesh){ DisableClickSelection();}
我正在考虑比较玩家和导航网格的 Y 变换以获得高度差并使用它来确定玩家是否在导航网格上但我不知道如何获取 Y 变换的可能性导航网格在特定的 X 和 Z 点。也许我可以使用光线投射?我不确定最好的方法。就像我说的,如果有一种方法可以消除代理对玩家的玩家绑定“效果”,但保持代理启用,我也可以使用它。