Animation error in latest project

animation
3d
maya

(Orihadar) #1

Hey hey people.
here’s my latest model:

as you see, I’ve put a small point animation of a drop going through the pipe,
but when the time come for the drop to go back to its starting point, I can see it going through the whole model.
the project was made in Maya(2018) on 24 fps and then I’ve tried to restart the whole animation again in 60fps - and still got the same result here on Sketchfab.
In the export I’ve checked “back animation” and made sure that it’s exporting only the time-frame of the animation and not more
and also in Maya the drop jumping to its starting point is made in a single frame
I’ve search
please let me know what I’m missing here, and also I’ll be happy if you can give a feedback on the model if you can :slight_smile:


#2

Switching to frame-by-frame view seems to work correctly, so we are probably interpolating in an unexpected way.

@waleguene can you offer any advice?


(Waleguene) #3

Hi @orihadar,

This is due to the difference of animation playback between 3D softwares and Sketchfab.
In softwares it’s common to have a “frame by frame” playback, on which you work to create your animation. The problem is that the real animation is actually a curve, defined by the keyframes and their interpolation/tangents.

On Sketchfab, animations are resampled at 30 fps, and the sampling doesn’t always follow the one you have in the software, for example a keyframe on Sketchfab can easily fall between two original keyframes. This means that it’s the curve that is defining the real animation, not the preview in the software.

Now in 3dsMax, looking at the translation curves of the drop at the moment it returns to it’s original place “blue for Z”, you can see that it’s a progressive transition (linear) and not a sharp one:

image

The solution is to set the keyframe to “Constant/Step” interpolation to make the change sharp, that gives this:

Our FBX processing is able to detect this and take it into account when resampling the animation, in order to give the right result.

I hope it helps :slight_smile: