NavMesh Пример позиции возвращает бесконечность
Я пытаюсь получить случайную позицию, которая, я уверен, находится на сетке навигации. Я использую SamplePosition, чтобы дать мне закрытие позиции меша на навигационной сетке, вызывая другой метод, который генерирует случайную позицию, которая обязательно находится в пределах поля экрана.
Я пробую это несколько раз, но в основном я получаю позицию Vector3(бесконечность, бесконечность, бесконечность)
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;
}