2016-06-03 3 views
0

Так что я пытаюсь держать объект под курсором мыши при перемещении камеры вокруг и при увеличении.Сохраняйте координаты под мышью при перемещении камеры в THREE js

Я этот пример я хочу сохранить курсор мыши на красный круг, при перемещении камеры вокруг http://codepen.io/madalinul/pen/bebgjZ?editors=0110

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

//19 is max zoom level 
var zoomFactor = 19 - zoomLevel; 
    var moveFactor = (0.007 * (1 + zoomFactor)); 
    lon = (onPointerDownPointerX - event.clientX) * moveFactor + onPointerDownLon; 
    lat = (event.clientY - onPointerDownPointerY) * moveFactor + onPointerDownLat; 
    } 

Из моего теста это также зависит от размера рендера. Какие-нибудь советы о том, как я могу это достичь?

ответ

0

Для достижения этой цели вам необходимо использовать технику извлечения луча, получить текущую позицию курсора, поместить камеру туда и после этого начать увеличивать. Вам также необходимо перенести 3 координаты на 2 координаты.

Смежные вопросы