Ответы пользователя по тегу three.js
  • Как в three.js искать ближайший к Raycaster объект?

    @nikolaysemenov
    1. Вызываем метод intersectObjects, получаем массив точек пересечения с моделью, берем ближайшую
    2. Берем вектор куда стреляли (обозначим A), например, по двум точкам (откуда стреляли и куда попали)
    3. По каким-то критериям получаем список объектов, которые по грубой оценке, могут нас интересовать (например, находятся не дальше какого-то расстояния и т.д.)
    4. Для каждого подходящего объекта ищем вектор направления из точки откуда стреляли в центр объекта (обозначим Bi)
    5. Нормируем все векторы, ищем угол между векторами A и Bi
    6. Выбираем объект, обладающий наименьшим углом отклонения
    Ответ написан
    Комментировать