我试图获得一个我确定在导航网格上的随机位置。我使用 SamplePosition 通过调用另一种方法来给我关闭导航网格上的网格位置,该方法生成一个确定在屏幕字段内的随机位置。
我尝试了几次,但大多数情况下我得到一个位置 Vector3(infinity,infinity,infinity)
public static Vector3 RandomMapPosition()
{
Vector3 pos = new Vector3(Random.value, Random.value, Camera.main.transform.position.z);
var searchPosition = Camera.main.ViewportToWorldPoint(pos);
return searchPosition;
}
public static Vector3 RandomNavMeshPosition()
{
var randomPos = RandomMapPosition();
NavMeshHit hit;
NavMesh.SamplePosition(RandomMapPosition(), out hit, 1.0f, NavMesh.AllAreas);
return hit.position;
}