Три JS: увеличение объекта, сфокусированного в центре сцены, с помощью колеса мыши. - PullRequest
0 голосов
/ 25 мая 2020

Здесь я добился увеличения / уменьшения масштаба указателя мыши, и теперь я хочу увеличить объект до центра сцены. Когда я прокручиваю колесо мыши (увеличиваю масштаб) на объекте, он должен перемещаться в центр экрана. Есть ли способ добиться этого. Заранее спасибо.

        window.addEventListener("wheel", event => {
            const delta = event.deltaY;

            let boundingBox = new THREE.Box3();
            // get bounding box of object - this will be used to setup controls and camera
            boundingBox.setFromObject(object);
            let center = boundingBox.getCenter();


            let x = 2 * event.clientX / window.innerWidth - 1;
            let y = 1 - 2 * event.clientY / window.innerHeight;
            let cursorpos = new THREE.Vector3(x, y, 1);
            cursorpos.unproject(camera);
            let dir = new THREE.Vector3().copy(cursorpos).sub(camera.position).normalize();
            let shift = new THREE.Vector3().copy(dir).multiplyScalar(delta * 0.1);

            camera.position.add(shift);
            controls.position0.add(shift);
            controls.target.add(shift);
            // camera.lookAt(shift)
        });
...