How to make camera update on zoom
I finally found how to zoom with the mousescroll, but the camera only updates the zoom level when I move the camera by clicking and dragging.
I tried copy pasting code from three.js examples, I tried different browers, I tried adding controls.update(); to both the render and the gameloop function and I tried Googling my issue.
    var renderer = new THREE.WebGLRenderer( );
    renderer.setSize( window.innerWidth, window.innerHeight );
    document.body.appendChild( renderer.domElement );
    // check when the browser size has changed and adjust the camera accordingly
    window.addEventListener( 'resize', function( )
    {
        var WIDTH = window.innerWidth;
        var HEIGHT = window.innerHeight;
        renderer.setSize( WIDTH, HEIGHT );
        camera.aspect = WIDTH / HEIGHT;
        camera.updateProjectionMatrix( );
    } );
    scene.add( new THREE.AmbientLight( 0x00020 ) );
            var controls = new THREE.OrbitControls( camera, renderer.domElement );
            controls.addEventListener( 'change', render ); // use only if there is no animation loop
            controls.minDistance = 10;
            controls.maxDistance = 200;
            controls.enableZoom = true;
    camera.position.z = 7;
    // CUBE
    var geometry = new THREE.CubeGeometry( 2, 2, 2 );
    var cubeMaterials =
    [
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/1.png' ), side: THREE.DoubleSide } ), // Right side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/2.png' ), side: THREE.DoubleSide } ), // Left side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/3.png' ), side: THREE.DoubleSide } ), // Top side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/4.png' ), side: THREE.DoubleSide } ), // Bottom side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/5.png' ), side: THREE.DoubleSide } ), // Front side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/6.png' ), side: THREE.DoubleSide } ) // Back side
    ];
    // Create a MeshFaceMaterial, which allows the cube to have different materials on each face
    var cubeMaterial = new THREE.MeshFaceMaterial( cubeMaterials );
    var cube = new THREE.Mesh( geometry, cubeMaterial );
    scene.add( cube );
    // Floor
    var floorGeometry = new THREE.CubeGeometry( 496, 1, 350 );
    var floorMaterial = new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'images/ctr.png' ), side: THREE.DoubleSide } );
    var floorCube = new THREE.Mesh( floorGeometry, floorMaterial );
    floorCube.position.y = -5;
    scene.add( floorCube );
    var ambientLight = new THREE.AmbientLight( 0xFFFFFF, 5.0 );
    scene.add(ambientLight);
    var light1 = new THREE.PointLight( 0xff0040, 4, 50 );
    //scene.add( light1 );
    var light2 = new THREE.PointLight( 0x0040ff, 3, 50 );
    //scene.add( light2 );
    var light3 = new THREE.PointLight( 0x80ff80, 4, 50 );
    //scene.add( light3 );
    var directionalLight = new THREE.DirectionalLight( 0xFFFFFF, 1 );
    directionalLight.position.set( 0, 1, 0 );
    //scene.add( directionalLight );
    var spotLight = new THREE.SpotLight( 0xFF45F6, 25 );
    spotLight.position.set( 0, 3, 0 );
    scene.add( spotLight );
    // game logic
    var update = function( )
    {
        //cube.rotation.x += 0.01;
        //cube.rotation.y += 0.005;
        var time = Date.now( ) * 0.0005;
        light1.position.x = Math.sin( time * 0.7 ) * 30;
        light1.position.y = Math.cos( time * 0.5 ) * 40;
        light1.position.z = Math.cos( time * 0.3 ) * 30;
        light2.position.x = Math.cos( time * 0.3 ) * 30;
        light2.position.y = Math.sin( time * 0.5 ) * 40;
        light2.position.z = Math.sin( time * 0.7 ) * 30;
        light3.position.x = Math.sin( time * 0.7 ) * 30;
        light3.position.y = Math.cos( time * 0.3 ) * 40;
        light3.position.z = Math.sin( time * 0.5 ) * 30;
    };
    // draw scene
    var render = function( )
    {
        renderer.render( scene, camera );
    };
    // run game loop (update, render, repeat)
    var GameLoop = function( )
    {
        requestAnimationFrame( GameLoop );
        update( );
        render( );
    };
    GameLoop( );
</script>
I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan.
three.js
add a comment |
I finally found how to zoom with the mousescroll, but the camera only updates the zoom level when I move the camera by clicking and dragging.
I tried copy pasting code from three.js examples, I tried different browers, I tried adding controls.update(); to both the render and the gameloop function and I tried Googling my issue.
    var renderer = new THREE.WebGLRenderer( );
    renderer.setSize( window.innerWidth, window.innerHeight );
    document.body.appendChild( renderer.domElement );
    // check when the browser size has changed and adjust the camera accordingly
    window.addEventListener( 'resize', function( )
    {
        var WIDTH = window.innerWidth;
        var HEIGHT = window.innerHeight;
        renderer.setSize( WIDTH, HEIGHT );
        camera.aspect = WIDTH / HEIGHT;
        camera.updateProjectionMatrix( );
    } );
    scene.add( new THREE.AmbientLight( 0x00020 ) );
            var controls = new THREE.OrbitControls( camera, renderer.domElement );
            controls.addEventListener( 'change', render ); // use only if there is no animation loop
            controls.minDistance = 10;
            controls.maxDistance = 200;
            controls.enableZoom = true;
    camera.position.z = 7;
    // CUBE
    var geometry = new THREE.CubeGeometry( 2, 2, 2 );
    var cubeMaterials =
    [
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/1.png' ), side: THREE.DoubleSide } ), // Right side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/2.png' ), side: THREE.DoubleSide } ), // Left side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/3.png' ), side: THREE.DoubleSide } ), // Top side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/4.png' ), side: THREE.DoubleSide } ), // Bottom side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/5.png' ), side: THREE.DoubleSide } ), // Front side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/6.png' ), side: THREE.DoubleSide } ) // Back side
    ];
    // Create a MeshFaceMaterial, which allows the cube to have different materials on each face
    var cubeMaterial = new THREE.MeshFaceMaterial( cubeMaterials );
    var cube = new THREE.Mesh( geometry, cubeMaterial );
    scene.add( cube );
    // Floor
    var floorGeometry = new THREE.CubeGeometry( 496, 1, 350 );
    var floorMaterial = new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'images/ctr.png' ), side: THREE.DoubleSide } );
    var floorCube = new THREE.Mesh( floorGeometry, floorMaterial );
    floorCube.position.y = -5;
    scene.add( floorCube );
    var ambientLight = new THREE.AmbientLight( 0xFFFFFF, 5.0 );
    scene.add(ambientLight);
    var light1 = new THREE.PointLight( 0xff0040, 4, 50 );
    //scene.add( light1 );
    var light2 = new THREE.PointLight( 0x0040ff, 3, 50 );
    //scene.add( light2 );
    var light3 = new THREE.PointLight( 0x80ff80, 4, 50 );
    //scene.add( light3 );
    var directionalLight = new THREE.DirectionalLight( 0xFFFFFF, 1 );
    directionalLight.position.set( 0, 1, 0 );
    //scene.add( directionalLight );
    var spotLight = new THREE.SpotLight( 0xFF45F6, 25 );
    spotLight.position.set( 0, 3, 0 );
    scene.add( spotLight );
    // game logic
    var update = function( )
    {
        //cube.rotation.x += 0.01;
        //cube.rotation.y += 0.005;
        var time = Date.now( ) * 0.0005;
        light1.position.x = Math.sin( time * 0.7 ) * 30;
        light1.position.y = Math.cos( time * 0.5 ) * 40;
        light1.position.z = Math.cos( time * 0.3 ) * 30;
        light2.position.x = Math.cos( time * 0.3 ) * 30;
        light2.position.y = Math.sin( time * 0.5 ) * 40;
        light2.position.z = Math.sin( time * 0.7 ) * 30;
        light3.position.x = Math.sin( time * 0.7 ) * 30;
        light3.position.y = Math.cos( time * 0.3 ) * 40;
        light3.position.z = Math.sin( time * 0.5 ) * 30;
    };
    // draw scene
    var render = function( )
    {
        renderer.render( scene, camera );
    };
    // run game loop (update, render, repeat)
    var GameLoop = function( )
    {
        requestAnimationFrame( GameLoop );
        update( );
        render( );
    };
    GameLoop( );
</script>
I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan.
three.js
 
 
 
 
 
 
 
 you need a- controls.update()in your- GameLoop
 
 – gaitat
 Jan 19 at 0:08
 
 
 
 
 
 
 
 
 
 
 1. Please provide a Minimal, Complete, and Verifiable example, including a- THREE.Sceneand- THREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?
 
 – Rabbid76
 Jan 19 at 9:22
 
 
 
add a comment |
I finally found how to zoom with the mousescroll, but the camera only updates the zoom level when I move the camera by clicking and dragging.
I tried copy pasting code from three.js examples, I tried different browers, I tried adding controls.update(); to both the render and the gameloop function and I tried Googling my issue.
    var renderer = new THREE.WebGLRenderer( );
    renderer.setSize( window.innerWidth, window.innerHeight );
    document.body.appendChild( renderer.domElement );
    // check when the browser size has changed and adjust the camera accordingly
    window.addEventListener( 'resize', function( )
    {
        var WIDTH = window.innerWidth;
        var HEIGHT = window.innerHeight;
        renderer.setSize( WIDTH, HEIGHT );
        camera.aspect = WIDTH / HEIGHT;
        camera.updateProjectionMatrix( );
    } );
    scene.add( new THREE.AmbientLight( 0x00020 ) );
            var controls = new THREE.OrbitControls( camera, renderer.domElement );
            controls.addEventListener( 'change', render ); // use only if there is no animation loop
            controls.minDistance = 10;
            controls.maxDistance = 200;
            controls.enableZoom = true;
    camera.position.z = 7;
    // CUBE
    var geometry = new THREE.CubeGeometry( 2, 2, 2 );
    var cubeMaterials =
    [
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/1.png' ), side: THREE.DoubleSide } ), // Right side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/2.png' ), side: THREE.DoubleSide } ), // Left side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/3.png' ), side: THREE.DoubleSide } ), // Top side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/4.png' ), side: THREE.DoubleSide } ), // Bottom side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/5.png' ), side: THREE.DoubleSide } ), // Front side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/6.png' ), side: THREE.DoubleSide } ) // Back side
    ];
    // Create a MeshFaceMaterial, which allows the cube to have different materials on each face
    var cubeMaterial = new THREE.MeshFaceMaterial( cubeMaterials );
    var cube = new THREE.Mesh( geometry, cubeMaterial );
    scene.add( cube );
    // Floor
    var floorGeometry = new THREE.CubeGeometry( 496, 1, 350 );
    var floorMaterial = new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'images/ctr.png' ), side: THREE.DoubleSide } );
    var floorCube = new THREE.Mesh( floorGeometry, floorMaterial );
    floorCube.position.y = -5;
    scene.add( floorCube );
    var ambientLight = new THREE.AmbientLight( 0xFFFFFF, 5.0 );
    scene.add(ambientLight);
    var light1 = new THREE.PointLight( 0xff0040, 4, 50 );
    //scene.add( light1 );
    var light2 = new THREE.PointLight( 0x0040ff, 3, 50 );
    //scene.add( light2 );
    var light3 = new THREE.PointLight( 0x80ff80, 4, 50 );
    //scene.add( light3 );
    var directionalLight = new THREE.DirectionalLight( 0xFFFFFF, 1 );
    directionalLight.position.set( 0, 1, 0 );
    //scene.add( directionalLight );
    var spotLight = new THREE.SpotLight( 0xFF45F6, 25 );
    spotLight.position.set( 0, 3, 0 );
    scene.add( spotLight );
    // game logic
    var update = function( )
    {
        //cube.rotation.x += 0.01;
        //cube.rotation.y += 0.005;
        var time = Date.now( ) * 0.0005;
        light1.position.x = Math.sin( time * 0.7 ) * 30;
        light1.position.y = Math.cos( time * 0.5 ) * 40;
        light1.position.z = Math.cos( time * 0.3 ) * 30;
        light2.position.x = Math.cos( time * 0.3 ) * 30;
        light2.position.y = Math.sin( time * 0.5 ) * 40;
        light2.position.z = Math.sin( time * 0.7 ) * 30;
        light3.position.x = Math.sin( time * 0.7 ) * 30;
        light3.position.y = Math.cos( time * 0.3 ) * 40;
        light3.position.z = Math.sin( time * 0.5 ) * 30;
    };
    // draw scene
    var render = function( )
    {
        renderer.render( scene, camera );
    };
    // run game loop (update, render, repeat)
    var GameLoop = function( )
    {
        requestAnimationFrame( GameLoop );
        update( );
        render( );
    };
    GameLoop( );
</script>
I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan.
three.js
I finally found how to zoom with the mousescroll, but the camera only updates the zoom level when I move the camera by clicking and dragging.
I tried copy pasting code from three.js examples, I tried different browers, I tried adding controls.update(); to both the render and the gameloop function and I tried Googling my issue.
    var renderer = new THREE.WebGLRenderer( );
    renderer.setSize( window.innerWidth, window.innerHeight );
    document.body.appendChild( renderer.domElement );
    // check when the browser size has changed and adjust the camera accordingly
    window.addEventListener( 'resize', function( )
    {
        var WIDTH = window.innerWidth;
        var HEIGHT = window.innerHeight;
        renderer.setSize( WIDTH, HEIGHT );
        camera.aspect = WIDTH / HEIGHT;
        camera.updateProjectionMatrix( );
    } );
    scene.add( new THREE.AmbientLight( 0x00020 ) );
            var controls = new THREE.OrbitControls( camera, renderer.domElement );
            controls.addEventListener( 'change', render ); // use only if there is no animation loop
            controls.minDistance = 10;
            controls.maxDistance = 200;
            controls.enableZoom = true;
    camera.position.z = 7;
    // CUBE
    var geometry = new THREE.CubeGeometry( 2, 2, 2 );
    var cubeMaterials =
    [
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/1.png' ), side: THREE.DoubleSide } ), // Right side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/2.png' ), side: THREE.DoubleSide } ), // Left side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/3.png' ), side: THREE.DoubleSide } ), // Top side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/4.png' ), side: THREE.DoubleSide } ), // Bottom side
        new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'img/5.png' ), side: THREE.DoubleSide } ), // Front side
        new THREE.MeshPhongMaterial( { map: new THREE.TextureLoader( ).load( 'img/6.png' ), side: THREE.DoubleSide } ) // Back side
    ];
    // Create a MeshFaceMaterial, which allows the cube to have different materials on each face
    var cubeMaterial = new THREE.MeshFaceMaterial( cubeMaterials );
    var cube = new THREE.Mesh( geometry, cubeMaterial );
    scene.add( cube );
    // Floor
    var floorGeometry = new THREE.CubeGeometry( 496, 1, 350 );
    var floorMaterial = new THREE.MeshLambertMaterial( { map: new THREE.TextureLoader( ).load( 'images/ctr.png' ), side: THREE.DoubleSide } );
    var floorCube = new THREE.Mesh( floorGeometry, floorMaterial );
    floorCube.position.y = -5;
    scene.add( floorCube );
    var ambientLight = new THREE.AmbientLight( 0xFFFFFF, 5.0 );
    scene.add(ambientLight);
    var light1 = new THREE.PointLight( 0xff0040, 4, 50 );
    //scene.add( light1 );
    var light2 = new THREE.PointLight( 0x0040ff, 3, 50 );
    //scene.add( light2 );
    var light3 = new THREE.PointLight( 0x80ff80, 4, 50 );
    //scene.add( light3 );
    var directionalLight = new THREE.DirectionalLight( 0xFFFFFF, 1 );
    directionalLight.position.set( 0, 1, 0 );
    //scene.add( directionalLight );
    var spotLight = new THREE.SpotLight( 0xFF45F6, 25 );
    spotLight.position.set( 0, 3, 0 );
    scene.add( spotLight );
    // game logic
    var update = function( )
    {
        //cube.rotation.x += 0.01;
        //cube.rotation.y += 0.005;
        var time = Date.now( ) * 0.0005;
        light1.position.x = Math.sin( time * 0.7 ) * 30;
        light1.position.y = Math.cos( time * 0.5 ) * 40;
        light1.position.z = Math.cos( time * 0.3 ) * 30;
        light2.position.x = Math.cos( time * 0.3 ) * 30;
        light2.position.y = Math.sin( time * 0.5 ) * 40;
        light2.position.z = Math.sin( time * 0.7 ) * 30;
        light3.position.x = Math.sin( time * 0.7 ) * 30;
        light3.position.y = Math.cos( time * 0.3 ) * 40;
        light3.position.z = Math.sin( time * 0.5 ) * 30;
    };
    // draw scene
    var render = function( )
    {
        renderer.render( scene, camera );
    };
    // run game loop (update, render, repeat)
    var GameLoop = function( )
    {
        requestAnimationFrame( GameLoop );
        update( );
        render( );
    };
    GameLoop( );
</script>
I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan.
three.js
three.js
asked Jan 18 at 23:32
Thibault MarrannesThibault Marrannes
11
11
 
 
 
 
 
 
 
 you need a- controls.update()in your- GameLoop
 
 – gaitat
 Jan 19 at 0:08
 
 
 
 
 
 
 
 
 
 
 1. Please provide a Minimal, Complete, and Verifiable example, including a- THREE.Sceneand- THREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?
 
 – Rabbid76
 Jan 19 at 9:22
 
 
 
add a comment |
 
 
 
 
 
 
 
 you need a- controls.update()in your- GameLoop
 
 – gaitat
 Jan 19 at 0:08
 
 
 
 
 
 
 
 
 
 
 1. Please provide a Minimal, Complete, and Verifiable example, including a- THREE.Sceneand- THREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?
 
 – Rabbid76
 Jan 19 at 9:22
 
 
 
you need a
controls.update() in your GameLoop– gaitat
Jan 19 at 0:08
you need a
controls.update() in your GameLoop– gaitat
Jan 19 at 0:08
1. Please provide a Minimal, Complete, and Verifiable example, including a
THREE.Scene and THREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?– Rabbid76
Jan 19 at 9:22
1. Please provide a Minimal, Complete, and Verifiable example, including a
THREE.Scene and THREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?– Rabbid76
Jan 19 at 9:22
add a comment |
                            0
                        
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54262722%2fhow-to-make-camera-update-on-zoom%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
                            0
                        
active
oldest
votes
                            0
                        
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54262722%2fhow-to-make-camera-update-on-zoom%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
 
you need a
controls.update()in yourGameLoop– gaitat
Jan 19 at 0:08
1. Please provide a Minimal, Complete, and Verifiable example, including a
THREE.SceneandTHREE.PerspectiveCamera, The textures are not necessary to reproduce the issue. 2. Zoom works fine, you have to be more specific. What does "I would really love to be able to zoom in instantly when I scroll and not have it update only when I perform a pan." mean?– Rabbid76
Jan 19 at 9:22