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 に答える