我正在嘗試將一個立方體先移到相機,然後左轉,然後向前移動到屏幕的右側。我正在建造一個烏龜,它會向前移動並旋轉,我想使用tweenjs來製作動畫。Three.js和Tween.js,與旋轉鏈接的動畫不起作用
小提琴是這裏https://jsfiddle.net/edapx/o6mvg0d5/1/
正如你看到的,前兩個動畫被執行,但如預期的最後一個不動的立方體。我鏈接動畫這樣的:
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