【发布时间】:2017-12-28 09:30:38
【问题描述】:
function moveCameraTo(position, duration) {
var tween = new TWEEN.Tween( camera.position )
.to( position, duration )
.easing(TWEEN.Easing.Linear.None)
.onUpdate(function () {
camera.position = new THREE.Vector3().copy(position)
camera.lookAt({x:0,y:0,z:0})
})
.onComplete(function () {
camera.lookAt({x:0,y:0,z:0})
})
.start()
}
我使用这种方法将相机移动到特定位置,并且在开始时正确移动了相机。然后 TrackballControls 不起作用,并且 控制台出现错误。
TrackballControls.js:318 Uncaught TypeError: _this.object.position.addVectors is not a function
at THREE.TrackballControls.update (TrackballControls.js:318)
at animate ((index):456)
【问题讨论】:
-
免费提示:(1)不要在一个紧密的循环中调用
new。想想你实例化了多少Vector3对象。 (2)lookAt()的 arg 必须是Vector3。 (3)object.position = newValue不是有效的three.js 代码。请改用object.position.copy( value )。
标签: javascript three.js tween trackball