2017-10-13 94 views
1

使用舊的three.js(r72-)動畫系統,可以在指定的時間開始動畫。Three.js皮膚動畫(r74 +)功能

我做線沿線的東西:

// anim being an instance of THREE.Animation 

var duration = anim.data.length; 

anim.currentTime = Math.floor(Math.random() * (Math.floor(duration) - 0 + 1)) + 0; 

anim.play(); 

我已經比成功地與新的動畫系統,實現這個少。有誰碰巧知道如何做到這一點?

回答

0

明白了。您需要用所需的開始時間更新調音臺,而不是直接更新剪輯時間。所以:

// mixer being an instance of THREE.AnimationMixer 
// clip being an instance of THREE.AnimationClip 

var duration = clip.duration; 

var start = (Math.random() * (duration - 0) + 0).toFixed(4); 

clip.play(); 

mixer.update(start); 

我發現在致電mixer.update(start);之前,您必須首先播放剪輯。