私は現在、アニメーションを含むプロジェクトに three.js を使用しています。モーフターゲットを使用していますが、フレームが頻繁にスキップされる理由を知りたいですか? 私のアニメーションには 7 つのモーフターゲットがあり、それらの周りを動き回っています。0 から 6 (output:console.log('frame: ' + lastKeyframe) ) で始まりますが、フレームが 0 から 3 または 1 から 4 にジャンプすることがあります。ところで、アニメーション コードはうまく機能しています
[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);
}]