我正在尝试使用NavMesh获取从源到目标对象的路径坐标。令人惊讶的是,NavMesh.CalculatePath()只在一个级别上工作。对于所有其他人,它返回false。NavMeshPathStatus也是无效的。这是工作级别,而这则不能很好地处理导航网。
代码:
private NavMeshPath path;
void Start () {
path = new NavMeshPath();
}
//Following function is called on button press
public void giveHint() {
即使在从Unity页面复制原始示例之后,我也无法让方法NavMesh.CalculatePath工作。
我添加了角数组长度的调试输出。我得到了0。
// ShowGoldenPath
using UnityEngine;
using UnityEngine.AI;
public class ShowGoldenPath : MonoBehaviour
{
public Transform target;
private NavMeshPath path;
private float elapsed = 0.0f;
void Start()
{
p
我试着去了解当Nav网格障碍物挡在路上的时候,如何获得最接近统一导航系统的目的地。我有这个例子,有一个胶囊障碍(带有雕刻)和一个用脚本管理的胶囊代理。它似乎是可行的,但是当我“单击”障碍设置代理的目的地(在雕刻区域内的某个点)时,代理移动到障碍物周围的另一个位置。
如何使代理到达障碍物附近的最近点或到所选目标的最近点(即障碍物区域内)?
移动代理的脚本
using UnityEngine;
using UnityEngine.AI;
public class CapsuleMovement : MonoBehaviour {
NavMeshAgent agent;
我试图在团结中成为人工智能的敌人。我正在为人工智能运动编写代码。所以AI应该从一个起点开始,然后移动到某个点,然后回来,但是我的代码由于某些原因不能工作。
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyMoveAround : MonoBehaviour
{
public Vector3 start;
public Vector3 startOrientation;
public Vector3 end;