Skip to content

Instantly share code, notes, and snippets.

@duhaime
Created March 3, 2020 21:44
Show Gist options
  • Save duhaime/82b4a5a25ddc8a4d592a6f35447f5fda to your computer and use it in GitHub Desktop.
Save duhaime/82b4a5a25ddc8a4d592a6f35447f5fda to your computer and use it in GitHub Desktop.
Zoom to cursor
controls.noZoom = true;
window.addEventListener('mousewheel', function(e) {
e.preventDefault();
var x = ( event.clientX / window.innerWidth ) * 2 - 1,
y = - ( event.clientY / window.innerHeight ) * 2 + 1,
vector = new THREE.Vector3(x, y, 1),
factor = 0.005,
func = e.deltaY < 0 ? 'addVectors' : 'subVectors';
vector.unproject(camera);
vector.sub(camera.position);
camera.position[func](camera.position,vector.setLength(factor));
controls.target[func](controls.target,vector.setLength(factor));
camera.updateProjectionMatrix();
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment