2013-02-20 69 views
0

我目前對我的項目使用three.js動畫。我正在使用morphtargets,並想問爲什麼我的框架經常被跳過?我的動畫有7個形態目標,它圍繞着它們。它從0開始到6(輸出:console.log('frame:'+ lastKeyframe)),但有時我的幀從0跳到3或從1跳到4 ..這裏真的會發生什麼?順便說一句,動畫代碼運行良好Three.js和框架動畫跳過

[if (Mesh && playBack) // exists/is loaded 
{ 
    time = new Date().getTime() % duration; //arba Date.now() 
    keyframe = Math.floor(time/interpolation) + animOffset; 
    if (keyframe != currentKeyframe) 
    { 
     Mesh.morphTargetInfluences[ lastKeyframe ] = 0; 
     Mesh.morphTargetInfluences[ currentKeyframe ] = 1; 
     Mesh.morphTargetInfluences[ keyframe ] = 0; 
     //console.log(Mesh.morphTargetInfluences[ 0 ]); 
     lastKeyframe = currentKeyframe; 
     currentKeyframe = keyframe; 

    } 
    //The two lines after the if statement interpolate between frames. 
    //The value at currentKeyFrame starts decreasing from 1, and the value at keyFrame starts increasing. 
    Mesh.morphTargetInfluences[ keyframe ] = (time % interpolation)/interpolation; 
    Mesh.morphTargetInfluences[ lastKeyframe ] = 1 - Mesh.morphTargetInfluences[ keyframe ]; 
    //console.log('current: ' + Mesh.morphTargetInfluences[ keyframe ]); 
    console.log('frame: ' + lastKeyframe); 

}] 
+0

真的嗎?沒有答案? – Cookiez 2013-02-26 09:12:49

回答

0

我認爲,這是因爲你選擇基於閱讀掛鐘新框架..所以它很可能是,如果你的幀速率下降,那麼你就失去了框架