THREE.js - Tentando obter o ponto mais próximo (vetor 3) do objeto do vetor 3 gerado por clique

Estou trabalhando em um jogo de teste de apontar e clicar e fiz muito progresso pesquisando e encontrando outras respostas de estouro de pilha sobre isso ou aquilo, mas é a primeira vez que não consigo encontrar nada relacionado para a minha pergunta.

Meu plano é implementar o PatrolJS no meu projeto de busca de caminhos, e parece que não deveria ter nenhum problema em fazê-lo funcionar depois que esse problema fosse resolvido. Eu tenho o meu ambiente, bem como alguns personagens de NPCs na minha cena. Eu tenho a interação do mouse no espaço 3D capaz de selecionar e armazenar dados sobre o que é clicado. Eu sou capaz de mover meu personagem para as posições de clique. Acredito que meu problema ocorra ao registrar cliques na área de busca de caminhos.

Aqui está uma representação visual da minha pergunta:

Aqui, você pode ver meu ambiente simplificado até uma cor, bem como a área que estou definindo atualmente para minha área de navmesh. O jogador poderá clicar em qualquer lugar do ambiente 3d / NPCs etc. para interagir com / visualizar / usar elementos no ambiente. Esse clique já funciona, retornando-me com o ponto no espaço 3D com o qual o mouse / raio se cruza e fornecendo informações sobre os elementos clicados que eu defini.

O que eu preciso de algumas orientações é: como posso retornar o ponto mais próximo no objeto navmesh separado para o que foi clicado no (s) objeto (s) do ambiente? Digamos que eu clique em alguma parte de uma das tabelas. Quero poder encontrar o ponto mais próximo do vetor 3 mais absoluto no objeto navmesh. Dessa forma, se alguém interage com elementos fora da área navegável, ainda posso definir um ponto final e alimentá-lo no PatrolJS.

questionAnswers(1)

yourAnswerToTheQuestion