轨迹球的tween control.reset()控制js不起作用

时间:2015-02-21 17:52:28

标签: javascript jquery three.js tween

请参阅此链接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();


    }

1 个答案:

答案 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.targetcontrols.object.position以及controls.object.up补间回到其定义的默认值,如上所示controls.target0 1}},controls.position0controls.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();

当然,您也需要为其他两个向量执行此操作。希望有所帮助!祝你好运