【问题标题】:tween camera movement around globe three.js and tween.js补间相机在地球上的移动three.js 和 tween.js
【发布时间】:2015-10-01 09:14:18
【问题描述】:

当按下按钮时,试图让相机围绕地球顺利旋转到新位置。我已完成以下位置证明,以检查坐标是否正常

camera.position.set(posX,posY,posZ);
camera.lookAt(new THREE.Vector3(0,0,0));

但是,当我执行以下操作以尝试让它补间时,没有任何动作。似乎 .onupdate 没有被调用,我不知道我做错了什么

var from = {
        x : camera.position.x,
        y : camera.position.y,
        z : camera.position.z
      };

      var to = {
        x : posX,
        y : posY,
        z : posZ
      };
      var tween = new TWEEN.Tween(from)
      .to(to,600)
      .easing(TWEEN.Easing.Linear.None)
      .onUpdate(function () {
        camera.position.set(this.x, this.y, this.z);
        camera.lookAt(new THREE.Vector3(0,0,0));
      })
      .onComplete(function () {
        camera.lookAt(new THREE.Vector3(0,0,0));
      })
      .start();

任何帮助表示赞赏

【问题讨论】:

    标签: three.js tween.js


    【解决方案1】:

    您是否在动画函数中添加了 TWEEN.update()?因为您的代码确实有效。见小提琴。 http://jsfiddle.net/Komsomol/r4nctoxy/

    function animate() {
        TWEEN.update();
        requestAnimationFrame(animate);
        renderer.render(scene, camera);
        controls.update();
    }
    

    【讨论】:

    • 谢谢你的例子。如果在补间开始时相机旋转,相机将在动画结束时跳转。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2014-10-10
    相关资源
    最近更新 更多