Way to remove Armature(parent) but retain the animation

This is very first post and made the account just to look for the solution.

So the thing is I am working on existing Unity Game Projects which contains mixamo rigs/animations, and as I just recently started to work on rigging and animations in blender, I found out that while exporting we dont have hips as root but Armature is the root…
I do understand how the modifier makes this happen.

Working on a new project from scratch where rigging and animations is all done in blender there is no hinderance and it goes on smoothly.
The issue arises when I get to work on existing projects which already had implemented rigs/animations/characters which are indeed used by scripts and various tools. so in that state if I make new things to add, it creates two different workflows which mixes up in the project and requires more time to keep tabs on them.

I love using blender and would like to figure out a solution which wouldn’t make me move to other software just because of this little root.
Was unable to find any solution in the internet, so came here to seek knowledge. :slight_smile:

Hello and welcome to blenderartists,

I’m not sure to understand fully your issue, can you elaborate a bit more ?
Do you try to import a rig / character from unity and try to tweak it in blender then send back to unity ? I have a good knowledge of rigging in blender, but sadly I don’t work with Unity or Unreal, but it’s quite common so hopefully a solution may be laying around somewhere.

You can try also to look here : https://blender.stackexchange.com/

In unity it is a common practice to use the same rig for all the characters.
its a blend of of different things, and yes, as you say the rig used is the same, which i import in blender, tweak or use same bones on different characters or objects for customization purposes.

normal hierarchy is like this
|—character body etc

but with blender, its different

|—character body etc

where armature is parent of hips.

so if a blender exported animation/rig, is being used in Unity, it wouldnt work on first hierarchy unless an empty object with the same name is put there to make it work, but the older animations wont work on it.

hence impossible to run all animations on one set of hierarchy because armature is what runs the animation.
thats what i know and figured out by testing, there might be a way, i havent found it yet anywhere.

Ok thanks for the explanations, it’s much clear !

So , if you start your project from scratch using blender it’s ok, but changing an existing project with blender ends up in a big mess. You have to convert every animation to blender’s hierarchy so it can work smoothy…

What about making a script in unity that can remap the imported animation to an old rig ?

Have you looked at import - export option in blender ? maybe there is a button that can skip the armature in the hierarchy ?

I can’t help you that much, but I guess you are not the first to get this issue…

Good luck !

It sounds to me like you have a problem with what kind of animation exists, in Blender, on the armature object itself, vs what kind of animation exists on the root bone of the armature? For example, IIRC, Mixamo animations animate movement on the armature object, and only rotation of their root bone, right?

You can change how these animations are structured in Blender by using the “bake action” operation. For example, try this:

  1. Load an armature+action with object animation instead of root bone animation.
  2. Duplicate the armature, delete all root bone and object-level animation on the duplicate.
  3. Give the duplicate’s root bone a “copy transforms” bone constraint, targeting the original armature’s root bone, with default settings (world->world).
  4. Select your duplicate armature and use “bake action”, baking visual keyframes and deleting constraints.

Now take a look. The armature object of the duplicate wasn’t animated, so it stays still. The root bone inherited all of this animation by virtue of copying the world space transforms of the original root bone, but in relationship to its own, static armature object.

Can also do it in reverse-- baking root bone animation onto armatures. Here, your armature would copy transforms from a marker parented to the original root bone, before copying transfroms from your original root bone.