请参阅此链接www.naamdesigns.com/arv
我想在每次点击任何链接时将球体旋转回原始位置。 我正在尝试重置摄像机位置及其工作状态。但我无法补间重置旋转。怎么做?
function camreset(){
//var object = new THREE.Object3D();
new TWEEN.Tween( camera.position )
.to( controls.reset() ,5000)
.easing( TWEEN.Easing.Exponential.InOut )
.onUpdate( render )
.start();
}
答案 0 :(得分:2)
我首先看一下轨迹球控制重置功能的作用。该功能通过设置当前"目标"和"对象"职位和"对象"向上导向。
_this.target.copy( _this.target0 );
_this.object.position.copy( _this.position0 );
_this.object.up.copy( _this.up0 );
上面摘录自r70 Three.js TrackballControls.js。所以忘记使用重置功能,你可以在补间完成后我想。
因此,假设您的轨迹球控件被调用controls
,我只需将controls.target
和controls.object.position
以及controls.object.up
补间回到其定义的默认值,如上所示controls.target0
1}},controls.position0
和controls.up0
。例如:
var tweenPositionToReset = new TWEEN.Tween( controls.object.position )
.to( { x: controls.position0.x, y: controls.position0.y, z: controls.position0.z }, 500 )
.easing( TWEEN.Easing.Quadratic.In )
.start();
当然,您也需要为其他两个向量执行此操作。希望有所帮助!祝你好运