Некоторое время я использую threejs для 3D-моделирования приложения для моделирования на основе изображений (vmtklab.orobix.com ). Для вращения / трансляции / масштабирования камеры я использую TrackballControls.js.
controls = new THREE.TrackballControls( camera, renderer.domElement );
controls.dynamicDampingFactor = 0.5;
controls.target.set( pos.x, pos.y, pos.z );
Я привык к движению камеры, как в vtk (paraview и т. Д.), И я не могу найти, как воспроизвести это поведение в threejs.
См .: http://jsfiddle.net/ugxbktLt/5/
Обычно, если я нажимаю на холст в центре и перемещаю мышь по оси Y, камера поворачивается, как и ожидалось. Если я нажимаю на холст в точке, удаленной от центра (пример с правой стороны куба), камера вращается в двух направлениях, а не только вслед за моим движением мыши.
Я ожидал, что камера вращается, следуя только вектору между начальной точкой (mousedown) и конечной точкой, созданной движением мыши, и НЕ учитывает положение начальной точки. Кажется, вращается вокруг сферы.
Какие-либо предложения? С уважением, Симона