【发布时间】:2019-09-26 01:43:06
【问题描述】:
当我点击一个按钮时,我希望 OrbitControls(camera) 使用 tween.js 平滑地位于对象(face side)的前面。
我用这段代码,但是发现改controls.target后平移远离目标对象,只能放大一点,放大后就不能平移了。
还有其他方法可以查看对象吗?谢谢!
var from = {
x: controls.target.x,
y: controls.target.y,
z: controls.target.z
};
var to = {
x: object.getWorldPosition().x,
y: object.getWorldPosition().y,
z: object.getWorldPosition().z
};
var tween = new TWEEN.Tween(from)
.to(to, 1000)
.easing(TWEEN.Easing.Quadratic.InOut) // | TWEEN.Easing.Linear.None
.onUpdate(function () {
controls.target.set( this.x, this.y, this.z )
})
.onComplete(function () {
controls.target.set( this.x, this.y, this.z )
})
.start();
【问题讨论】:
-
你说相机应该在一个物体的前面。为什么不对相机的位置设置动画呢?更改
OrbitControls.target时,摄像头不会改变位置。
标签: javascript animation three.js tween.js