使用Unity在运行时进行Pathfind

时间:2017-08-27 09:56:57

标签: c# unity3d

使用Unity,我希望代理在运行时生成的场景中进行路径查找。通常情况下,Unity为路径查找提供了一个解决方案,但我不知道如何在运行时实现它,或者它是否可能。

如何在运行时使用Unity进行路径查找?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在Unity中,您可以使用以下方法计算两点之间的路径:

private NavMeshPath myPath;

void Start () {
        myPath= new NavMeshPath();

    }

void SetPath() {

NavMesh.CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, int areaMask, NavMeshPath myPath);

}

在两点之间安装NavMeshPath myPath后,您可以设置代理的路径:

NavMeshAgent.SetPath(NavMeshPath myPath);

有关此内容的更多信息: https://docs.unity3d.com/530/Documentation/ScriptReference/NavMesh.CalculatePath.html https://docs.unity3d.com/530/Documentation/ScriptReference/NavMeshAgent.SetPath.html