A*(Astar)路径搜索在Unity中无法与PlayerClone/Instantiate工作。

资讯2周前发布 up博主
10 0

问题的根源在于Astar路径搜索依赖于场景中的对象,但ayer Clone / Instantiate创建的对象不在场景中。这可以通过将ayer Clone / Instantiate创建的对象添加到Astar的图形中来解决。

以下是示例代码,演示如何将ayer Clone / Instantiate创建的对象添加到Astar图形中:

  1. 在Astar Graph Inspector中,选择“Scan”选项卡。
  2. 在“Scan”选项卡中,找到“Tag Mask”设置,并将其设置为包含ayer Clone / Instantiate对象的标记。
  3. 在代码中使用GraphUpdateObject对象来更新Astar图形,如下所示:

在上述代码中,我们首先创建一个GraphUpdateObject对象,该对象将包含ayer Clone / Instantiate对象的范围作为参数。然后,我们在Update()中检查玩家对象是否移动。如果移动,我们使用AstarPath.active.UpdateGraphs()方法更新Astar图形,并将之前创建的GraphUpdateObject对象用作参数。

通过这种方法,我们可以将ayer Clone / Instantiate对象添加到Astar图形中,并在玩家对象移动时更新该图形,以确保路径搜索正常工作。

© 版权声明

相关文章