为关卡烘焙导航网格后,即可创建能够在场景中导航的角色了。我们将使用圆柱体构建原型代理,并将代理设置为运动状态。为实现此目的,需要使用导航网格代理 (NavMesh Agent) 组件和简单脚本。
首先,让我们创建角色:
现在已设置简单的导航网格代理来准备接收命令!
开始尝试使用导航网格代理时,很可能需要根据角色大小和速度调整代理的尺寸。
导航网格代理 组件将负责角色的寻路和移动控制。在脚本中,导航的设置十分简单,只需设置所需的目标点:导航网格代理可从此处进行所有内容的处理。
// MoveTo.cs
using UnityEngine;
using UnityEngine.AI;
public class MoveTo : MonoBehaviour {
public Transform goal;
void Start () {
NavMeshAgent agent = GetComponent<NavMeshAgent>();
agent.destination = goal.position;
}
}
接下来,我们需要构建一个简单的脚本,通过此脚本可将角色发送到另一个游戏对象指定的目标,并构建一个用作移动目标的球体:
MoveTo.cs
) 并将其内容替换为以上脚本。总而言之,在脚本中,您需要获取对导航网格代理组件的引用,然后为了将代理设置为运动状态,只需将一个位置分配给其 destination 属性。导航操作方法部分提供了进一步的一些示例来说明如何使用导航网格代理解决常见的游戏问题。