THREE.js - Попытка получить ближайшую точку (вектор 3) объекта из сгенерированного кликом вектора 3

Я работаю над тестовой игрой «укажи и щелкни» и добился огромного прогресса в исследованиях и поиске других ответов о переполнении стека об этом или о том, но я впервые не могу найти что-либо связанное с этим. на мой вопрос.

Мой план состоит в том, чтобы внедрить PatrolJS в мой проект для поиска пути, и, похоже, у меня не должно возникнуть проблем с его работой после того, как эта проблема будет решена. У меня есть окружение, а также некоторые персонажи NPC в моей сцене. У меня есть взаимодействие с мышью в трехмерном пространстве, способное выбирать и хранить данные о том, на что нажимали. Я могу переместить моего персонажа в позиции щелчка. Я считаю, что моя проблема заключается в регистрации кликов в области поиска пути.

Вот наглядное представление моего вопроса:

Здесь вы можете увидеть, что мое окружение упрощено до одного цвета, а также область, которую я сейчас определяю для своей области навигации. Игрок сможет щелкнуть в любом месте 3D-окружения / NPC и т. Д., Чтобы взаимодействовать с / просматривать / использовать элементы в окружении. Этот щелчок уже работает, возвращая меня с точкой в ​​трехмерном пространстве, с которой пересекается мышь / луч, и давая мне любую информацию о тех элементах, по которым щелкнули, которые я определил.

Мне нужно несколько советов, как вернуть наиболее близкую точку на отдельном объекте navmesh к тому, что было щелкнуто в объекте (ах) среды? Скажем, я нажимаю на какую-то часть одной из таблиц. Я хочу быть в состоянии найти самую близкую точку Vector 3 на объекте navmesh. Таким образом, если кто-то взаимодействует с элементами вне области навигации, я все еще могу определить конечную точку и передать ее в PatrolJS.

Ответы на вопрос(1)

Ваш ответ на вопрос