按下按钮时,尝试让相机在地球仪周围平滑旋转到新位置。我用以下方法做了位置证明,检查坐标是否正常
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();
任何帮助表示赞赏
答案 0 :(得分:9)
你在动画函数中添加了TWEEN.update()吗?因为你的代码确实有效。看小提琴。 http://jsfiddle.net/Komsomol/r4nctoxy/
function animate() {
TWEEN.update();
requestAnimationFrame(animate);
renderer.render(scene, camera);
controls.update();
}