我正在使用这段代码来旋转一个带有三个js的平面,但是补间总是从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();
答案 0 :(得分: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();
创建补间时,初始值为radiants,目标设置为度......