0
$\begingroup$

I created animation with 2 armatures. In the screenshot below it is visible that animations (and armatures) are: pistol, hands. Pistol root is parent of wrist bones (so pistol root can control hands for easier animation).

enter image description here

To export my animation to game engine I need to combine both armatures. After doing Object -> Join I'm having this problem (first I selected Pistol armature, then Hands armature, then Object -> Join): enter image description here

All animations after joining are off in some peculiar way. Basically offset for them is broken for some reason. If I try to manually move hands down (with Pistol root bone) - all hands animation is just turned off.

This video shows the process of joining:

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ My guess is it has to do with rest poses. When you join two meshes, for example, all selected objects are joined to the active object. The verts are converted from global into the local space of acitve object. Same with an armature. Depending on how this is keyframed and parenting etc it may be the case that moving the gun object to identity (global 0 no transform), then joining may do the trick. Hard to tell based on info given. $\endgroup$
    – batFINGER
    Commented Sep 14, 2021 at 10:59
  • $\begingroup$ Just to get the question better answered, I recommend you remove the second screenshot or repair it. You can’t tell what the problem is in the picture, because it has to do with animation, and the picture seems to depict another problem. $\endgroup$
    – TheLabCat
    Commented Sep 14, 2021 at 17:01
  • 1
    $\begingroup$ @TheLabCat fixed! $\endgroup$
    – idchlife
    Commented Sep 14, 2021 at 18:52
  • $\begingroup$ @batFINGER what information do you need for better understanding? Basically my mistake was (I'm new at animation for gamedev) - I made 2 armatures and completed all needed animations and then I tried to figure out how to export them to Unity, learning that in Unity I basically need ONE armature for animation to work nicely. $\endgroup$
    – idchlife
    Commented Sep 14, 2021 at 19:10

1 Answer 1

1
$\begingroup$

That was a tough one.

Basically what I have - root bone of pistol armature is parent of wrist bones of hands armature.

Because Pistol armature was not in 0 0 0 location transform, after joining - pistol armature parts moved to their 0 0 0 location.

What I did. First I duplicated MESH parts of pistol and removed all the armature modifiers for them. This would be mine example how to position mesh in proper place.

After that I did Object -> Clear -> Location on my pistol armature. It now has 0 0 0 location BUT mesh is off for some reason. I move all the moved mesh parts so they align with my earlier duplicate. Basically pixel to pixel so they overlap. After that I hide the example pistol mesh.

Now I have properly positioned pistol armature with it's mesh.

I selected Pistol armature, then Hands armature and did Object -> Join (in Object mode). Voila! Now 2 armatures are joined (Pistol mesh was off after that because modifier armature lost it's pistol armature so I had to select new combined armature for every pistol mesh part).

After that I have 1 armature with proper intact animation and everything works flawlessly!

I really hope this solution helps someone like me who did not think about joining armatures in the first place (for game engine export sake, later on) and did all the needed animations.

$\endgroup$
1
  • 1
    $\begingroup$ Congrats, Got there in the end. $\endgroup$
    – batFINGER
    Commented Sep 15, 2021 at 21:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .