2013-02-20 41 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

我认为,这是因为你选择基于阅读挂钟新框架..所以它很可能是,如果你的帧速率下降,那么你就失去了框架