Relative Animation jumps to Rest Position

Hello everyone,

I am triying to animate a storage system for a web view (Export to gltf model file, with exported Actions), but i am not able to get relative animations to work properly.

So far I have a rack with storage positions in a 12x6 grid. The Rest-Position ist somewhere beside this rack.

My idea was to animate the movement to and from a few grid positions in single animations. Then combine them with a single store and pickup animation, so that i don’t have to copy the redundant data. In the end the frontend developer can choose the actions and combine them as he wants.

To achive this, I made a Skeleton with 4 Bones. The first two bones move in Y and Z direction and position the robot in front of the rack. The second two bones are used to do the store/pickup Animation and move in X and Z direction. I have only keyframes the bones’ Axes that move in these directions, so that the keyframes don’t interfere with the other Animations.

My problem is, that after I move the robot to a grid position it jumps back to the Rest-Position then performs the store/pickup and then jumps back to the grid position and moves back.

So, is this the correct way of doing this? Are there any constraints missing or do I have a wrong parenting?

I have a sample blend File with my Armature (Objekt excluded), maybe this helps.
I have also made a NLA Track to show a possible Sequence.

problem_rack.blend (689.7 KB)

Thanks for any idea

In the NLA, I have found that you must layer your strips or you get the gotcha that you have. For some reason it has always been one frame off in interpretation. Add four tracks and then layer your animation.problem_rackfixed.blend (673.7 KB)

Thank you for your help. Adding more NLA tracks is quite an easy solution. I didn’t know that it should be solved like this.

I just have 2 more questions.
What do you mean by one frame off in interpretation?

So I think that this solution will not only work in Blender, but also in other graphic engines like threeJS where others just assemble my Actions as they want?

When you put your strips together as you had them, they are one frame off so that the lead strip on the left dominates the next one and so on (but not every time). That’s why you need to stagger them. The NLA is designed to read from top to bottom. When you stagger them it fixes it because the interpretation of the code knows which one is dominate. Unfortunately there is not a lot of resources on the coding of this section. But I know it get looks at every once in awhile. Good luck to you.