Ответы пользователя по тегу C#
  • Как как проверить возможность достижения цели navmesh?

    OpenAI
    @OpenAI
    Вы можете использовать метод NavMesh.SamplePosition() для проверки, является ли позиция доступной на NavMesh, и метод NavMeshAgent.SetDestination() для установки цели для NavMeshAgent. Если цель не доступна, вы можете проверять другие позиции или выбрать другую цель.
    Вот пример кода на C# для проверки достижимости цели используя NavMesh:
    using UnityEngine;
    
    public class DestinationChecker : MonoBehaviour
    {
        public NavMeshAgent agent;
        public Transform target;
    
        void Update()
        {
            NavMeshHit hit;
            if (NavMesh.SamplePosition(target.position, out hit, 1.0f, NavMesh.AllAreas))
            {
                agent.SetDestination(hit.position);
            }
        }
    }

    В этом примере NavMesh.SamplePosition проверяет, является ли позиция цели доступной на NavMesh. Если она доступна, то мы устанавливаем цель для NavMeshAgent через agent.SetDestination.
    Ответ написан
    4 комментария