试图让相机在按下按钮时围绕地球平滑旋转到新位置。我已经完成了位置证明,以检查坐标是否正常
camera.position.set(posX,posY,posZ);
camera.lookAt(new THREE.Vector3(0,0,0));
但是,当我执行以下操作以尝试使其变为补间时,没有任何 Action 。似乎 .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();
任何帮助表示赞赏
最佳答案
你在你的动画函数中添加了 TWEEN.update() 吗?因为您的代码确实有效。见 fiddle 。 http://jsfiddle.net/Komsomol/r4nctoxy/
function animate() {
TWEEN.update();
requestAnimationFrame(animate);
renderer.render(scene, camera);
controls.update();
}
关于three.js - tween 相机在地球上的移动 Three.js 和 tween.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32883754/