问题描述:

I have exported a rigged, animated model to collada using the opencollada exporter from 3ds max. It loads fine and the animation runs, but every time the loop runs I get:

THREE.Animation.update: Warning! Scale out of bound ...

as in:

THREE.Animation.update: Warning! Scale out of bounds:-0.002944999956526251 on bone 0

You can see this problem happening by opening the console on the page I've hosted. I have also put the source in a github repo:

  • model file
  • javascript

It seems to be happening from this line in the three source:

scale = ( currentTime - prevKey.time ) / ( nextKey.time - prevKey.time );

On the last frame of the animation, nextKey will be the first frame, and its time will be 0. And prevKey will be the last frame, and in my case its time is 0.66666. So 0 - 0.6666 is a negative number, and the "scale" it calculates is out of bounds.

Is this a bug in threejs, or a problem with how I've exported my models, or...? I don't see how this could should ever be working for looped keys.

网友答案:

This is an actual threejs bug as it happens with one of the examples. Filed here.

相关阅读:
Top