I have a function to enlarge the scene. Please, try.
function zoom_all(center,size) { // get the current lookAt vector of OrthographicCamera camera var vectorLookAt = new THREE.Vector3(0, 0, -1); vectorLookAt.applyQuaternion(camera.quaternion); vectorLookAt.normalize(); // move back along lookat vector to set new position of camera vectorLookAt.multiplyScalar(-size); camera.position = new THREE.Vector3().addVectors(center, vectorLookAt); // get current size of camera var viewSize = 2 * camera.top; var aspectRatio = 2 * camera.right / viewSize; // get aspectRatio of camera // camera = new THREE.OrthographicCamera( // -aspectRatio * viewSize / 2, aspectRatio * viewSize / 2, // viewSize / 2, -viewSize / 2, // 0.1, 1000); // update new size for camera viewSize = size; // now update camera size camera.left = -aspectRatio * viewSize / 2; camera.right = aspectRatio * viewSize / 2; camera.top = viewSize / 2; camera.bottom = -viewSize / 2; camera.near = 0.1; camera.far = 2 * size; camera.updateProjectionMatrix(); // you can set light to camera position spotLight.position.set(camera.position.x, camera.position.y, camera.position.z); // set center point for orbit control orbitControls.center.set(center.x, center.y, center.z); orbitControls.target.set(center.x, center.y, center.z); }
source share