Определение конуса видения в единстве
Я пытаюсь реализовать модель объединения фуражек в единстве.
Мне удалось реализовать рулевое поведение (разделить, выровнять, связать), но в настоящее время я использую фиксированный радиус от агента, чтобы определить его окрестность (по сути, пузырь вокруг агента). Однако мне нужно реализовать конус видения, подобный изображенному на этом рисунке:
Я не уверен, как я мог реализовать это в единстве. Может ли кто-нибудь указать мне правильное направление?
Чтобы добавить ясности, я хочу обнаружить все остальные агенты в конусе видения, но я не уверен, как это реализовать. В настоящее время я просто обнаруживаю всех агентов на расстоянии, хотя мне нужно игнорировать агентов, стоящих за тем, кто выполняет обнаружение (как на картинке), я не хочу их визуализировать, просто обнаруживаю агентов в этом определенном районе.
Спасибо
1 ответ
Обнаружьте всех агентов в круге, а затем проверьте каждый из Vector3.Angle()
между transform.forward
и направление к агенту.
(направление от вектора A к B- просто BA)