0

我正在使用这段代码用threejs旋转一个平面,但是补间总是从0开始,当我在控制台中打印它时,它似乎忽略了初始值(a)。

例如

我想要一个从 40 到 60 的补间,但这段代码总是从 0 到 60。

a = {rotationY:plane.rotation.y};
b = json["rooms"][currentRoom]["camera"]; //{"rotationY":60}
var tween = new TWEEN.Tween(a)
        .to(b, 500)
        .easing( TWEEN.Easing.Quartic.Out )
        .onUpdate(function(){
            plane.rotation.y = (this.rotationY*2*Math.PI)/360;
        });

tween.start();
4

1 回答 1

1

这对我来说是一个非常愚蠢的错误......

var position = {rotationY:(plane.rotation.y*360/(2*Math.PI))};
var target = json["rooms"][currentRoom]["camera"];
var tween = new TWEEN.Tween(position)
            .to(target, 500)
            .easing( TWEEN.Easing.Quartic.Out )
            .onUpdate(function(){
                plane.rotation.y = (this.rotationY*2*Math.PI)/360;
});
tween.start();

补间是使用辐射值的初始值和度数设置的目标创建的...

于 2013-01-11T10:17:14.667 回答