キューブを最初にカメラに向かって動かし、次に左に曲げ、次に画面の右側に移動しようとしています。私は、カメが前進し回転する迷路を作っています。私は、アニメーションにtweenjを使用したいと考えています。Three.jsとTween.js、回転した連鎖アニメーションが機能しない
フィドルがここhttps://jsfiddle.net/edapx/o6mvg0d5/1/
でご覧のように、最初の2つのアニメーションが実行されますが、予想通り、最後の一つは、キューブを移動しません。私はこのようなアニメーションを連鎖しています:
function testChained(){
var radians = 90 * THREE.Math.DEG2RAD;
var pos_copy_a = new THREE.Vector3().copy(mesh.position);
var target_a = pos_copy_a.add(new THREE.Vector3(0.0, 0.0, 50.0));
var rotationMatrix_a = new THREE.Matrix4().makeRotationY(mesh.rotation.y);
target_a.applyMatrix4(rotationMatrix_a);
var a = new TWEEN.Tween(mesh.position).to(target_a, 900);
var target_b = {y:mesh.rotation.y + radians};
var b = new TWEEN.Tween(mesh.rotation).to(target_b, 900);
var pos_copy_c = new THREE.Vector3().copy(mesh.position);
var target_c = pos_copy_c.add(new THREE.Vector3(0.0, 0.0, 50.0));
var rotationMatrix_c = new THREE.Matrix4().makeRotationY(mesh.rotation.y);
target_c.applyMatrix4(rotationMatrix_c);
var c = new TWEEN.Tween(mesh.position).to(target_c, 900);
a.chain(b);
b.chain(c);
a.start();
};
私はtween.jsを間違って使用していますか?
フィヨルドでは、 'animate()'に 'TWEEN.update()'を追加するのを忘れました。 – prisoner849
申し訳ありません、私はフィドルを保存するのを忘れました。今そこにあり、あなたは問題を見ることができます – edap