标签: navmesh

为什么 NavMeshAgent.remainingDistance 返回 Infinity 值,然后在 Unity 中返回浮点数以表示无法到达的目的地?

SetDestination()当我为 NavMeshAgent 和Debug.Log()每一帧设置无法到达的目标位置时NavMeshAgent.remainingDistance,我会获取Infinity一些路径,直到它开始返回浮点数(21.21864、21.0846、20.95449...),直到它尽可能接近目的地,这返回 0。

agent path-finding infinity unity-game-engine navmesh

2
推荐指数
1
解决办法
8823
查看次数

1
推荐指数
1
解决办法
1万
查看次数

检查禁用的导航网格代理(玩家)是否在导航网格上

我使用播放器上的导航网格/代理作为辅助自动路径功能,其中代理始终处于禁用状态,除非用户单击地板上的某个点走向。然后,一旦到达目的地,代理将再次被禁用。

我需要一种方法来检查玩家当前是否位于导航网格上,在可容忍的阈值内,而无需启用导航网格代理。或者,如果有一种方法可以删除 navmeshagent 的玩家绑定“效果”而不禁用它,因为我也可以用它来解决我的问题。

我想在伪代码中,这就是我试图在禁用 navmeshagent 的情况下完成的任务:

if (!agent.isOnNavMesh){ DisableClickSelection();}
Run Code Online (Sandbox Code Playgroud)

我正在考虑是否可以比较玩家和导航网格的 Y 变换以获得高度差,并使用它来确定玩家是否在导航网格上,但我不知道如何获取导航网格位于特定的 X 和 Z 点。也许我可以使用光线投射?我不确定最好的方法。就像我说的,如果有一种方法可以消除代理对玩家的玩家绑定“效果”,但保持代理启用,我也可以使用它。

unity-game-engine navmesh

0
推荐指数
1
解决办法
7266
查看次数

越过山丘时,NavmeshAgent 玩家与山坡不平行

越过山丘时, NavmeshAgent 玩家与山坡不平行。在平面上它进展顺利。

看视频

下面是navMesh 和播放器的 图像属性https://ibb.co/fijmoV

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class SampleAgentScript : MonoBehaviour {
public Transform  target ;
NavMeshAgent agent;
//  private static bool start1=false , start2=false, start3;
// Use this for initialization

void Start()
{
    agent = GetComponent<NavMeshAgent>();
}



void Update()
{

    //if white button click moves to targer-1

    agent.SetDestination(target.position);

}

}
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine navmesh

-1
推荐指数
1
解决办法
2576
查看次数

标签 统计

navmesh ×4

unity-game-engine ×4

agent ×1

c# ×1

infinity ×1

path-finding ×1