GLTF loader: animation path "weights" ignores "STEP" interpolation

Look at the animating ring, it will flick between frame 39 & 40.
Because it uses LINEAR interpolation instead of STEP.
Uncomment the code in playground to see the difference.

I found this line ignores the STEP.

So… this is a bug?

BTW, anyone knows how to bake and export STEP interpolation in Blender?

pinging @bghgary

Good one. Thanks for the report. Fix is here: Add missing interpolation to glTF animation key targeting weights by bghgary · Pull Request #12584 · BabylonJS/Babylon.js (github.com)

I don’t know, but maybe you can ask the glTF forums.

3 Likes

baking the step is easy in blender:
In your GLTF export screen ensure you check the box that says “Always Sample Animations” and you will get lots of points instead of just the keyframes.
image

Thanks, but it exports LINEAR?
I used a gltf exported by this way and revised LINEAR to STEP manually.

That’s a good question, I’m not sure. It depends if you were able to open the step file and have blender properly read the animation curve.

I’ve never done this in blender but in 3ds max and maya it should be possible.
Though in my experience it can take 5+ hours to open a large STEP file in those applications.

To be more specific: the GLTF format does not support customized easing functions between keyframes. Which is why you’ll need to bake the animation curve before you export.

Meaning this isn’t really a bug

I think we might be confusing terms: STEP as an interpolation method vs. STEP as the file format. I think we are talking about STEP interpolation (i.e., the values jump from one value to another without interpolation) and not the STEP file format, right?

1 Like