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;
}

0 ответов

Другие вопросы по тегам