Javascript 如何使用three.js在相机动画到达某个位置后停止它

Javascript 如何使用three.js在相机动画到达某个位置后停止它,javascript,three.js,Javascript,Three.js,我有一小段代码,可以让相机在点击时放大地球模型。如何在摄影机动画到达某个位置后停止它 单击球体模型时,将调用渲染函数,该函数将启动摄影机动画循环。摄像机位置从20开始,并继续减小。当摄影机位置达到5时,如何停止动画 此时,摄影机将不停地继续设置动画。我想在相机到达位置5后停止相机。将controls.mindDistance设置为4.11球体半径+相机近平面距离+一点软糖或任何你想要的最小距离 然后在移动摄影机后,确保调用controls.update,以便轨道控件有机会在摄影机上强制执行其约束

我有一小段代码,可以让相机在点击时放大地球模型。如何在摄影机动画到达某个位置后停止它

单击球体模型时,将调用渲染函数,该函数将启动摄影机动画循环。摄像机位置从20开始,并继续减小。当摄影机位置达到5时,如何停止动画


此时,摄影机将不停地继续设置动画。我想在相机到达位置5后停止相机。

将controls.mindDistance设置为4.11球体半径+相机近平面距离+一点软糖或任何你想要的最小距离

然后在移动摄影机后,确保调用controls.update,以便轨道控件有机会在摄影机上强制执行其约束


堆栈溢出在发布要求方面变得非常愚蠢

检查ifcamera.position.z>=5 camera.position.z-=0.1;使用tween.js或GSAP。非常感谢我所需要的
var domEvents = new THREEx.DomEvents(camera, renderer.domElement);

domEvents.addEventListener(earth, 'click', function(event){
    console.log('you clicked on the earth');

    alert("test");


var render = function (actions) {

        renderer.render(scene, camera);

        console.log(camera.position.z); // starts at 20 and reduces with every call

        camera.position.z -= 0.1;

        requestAnimationFrame( render );

    };

    render();

    // cameraloop();


}, false)