Duplicate Armatures

I am working on a set of arms to use for a FPS my friends and I are making in Unity 3D. What I did was make the mesh and armature for the left hand, then duplicated it, and scaled it by -1 across the X-Axis. I started to make animations, and noticed the the actions were being created for both armatures. Also, something seems to be wrong with the normals of the right arm. I need to flip them inside out in order for the texture to not appear all black and distorted. We were able to export the left arm and most of its actions into Unity just fine. The right arm, not so much. It imports with flipped normals, and no actions. Did I do something wrong? Was I not supposed to simply flip the arm mesh and armature to create the right arm? Why is the texture so destroyed? I know that it is not duplicate faces, I used remove doubles and no vertices were removed. How do I sever all ties between the two armatures? It is really annoying that they share actions, I have to label them all L_Shoot, R_Shoot. Thanks in advance for any response.

I’ve not used a game engine, but I do use armatures for animation. You post is lacking a bit of info, but here’s my thoughts. You mention 2 armatures, so you must have duplicated the armature in object mode, and not the bones in edit mode, giving you 2 armatures. Generally you want to duplicated the bones in edit mode and scale them to flip them, giving you one armature with 2 arms. If the mesh is black in appearence, here again the same problem. Duplicating the mesh in object mode and scaling it -1 basically flips it inside out. Duplicate the mesh in edit mode and scale in edit mode. Check the transform panel of the mesh in object mode, if the scale is -1, that is your problem.


I totally understand what you are saying. Except, I don’t want to have two arms as the same armature. So far I haven’t figured out how to separate armatures. Whenever I duplicate the arm in edit mode and scale it over the x axis by -1, it flips great in edit mode. Once I take it back to object mode, it freaks out as if it is a child of an armature, which it is apparently not. It follows all the actions of my left arm armature, but backwards. The fingers get all stretched apart and it looks like something out of a Tim Burton movie. Also, what is the difference between the data block in the Object Panel (The Orange Cube), and the data block in the Object Data Panel (The Triangle)? My .blend file is turning into a huge mess being filled with all kinds of data blocks when I only want one for the armature of my one arm and the mesh for the one arm. I may end up uploading my .blend so I can let you help me out.

Based on Blender 2.49b & assuming you want separate Armatures for the R & L arms (though I don’t understand why-- doesn’t matter, though):

When you duplicated the initial Armature, that process does not automatically break the link between the existing Action datablock & the duplicate Armature – a new Action is not created by default. So the dupe Armature will continue using the Action of its original until you break the link and create a new Action for it. If you want to just modify the existing Action you can use the “Single User” button – this creates a new Action with the same IPOs/Fcurves. Or use Add New to make an entirely new “blank” Action.

The -1 scaling probably flipped all your duped mesh normals inside out as well as mirroring the mesh – use the Mesh Edit tools to recalculate all your normals to the outside & see if that helps.

If you’re using 2.5x, you may have to figure out how to do the adjustments (compared to 2.49b) – I haven’t used the beta enough yet to give exact directions, but all the functions should still be in the beta to one degree or another.

Can’t say if this will solve all your import problems with Unity, but it should help with the Blender end of things.

I can’t believe I forgot to say I did all this in 2.53, and now 2.54. The reason I want to have my armatures separate is because the character in my game has psychic powers. It functions a lot like BioShock where the left hand acts almost separately from the right hand. I’m going to wait until I get back home to try working on it some more, or even post the blend.

Not sure about the details of Unity but this doesn’t seem to require separate armatures – the arms can be animated separately while still being part of the same armature. In the old Unreal engine this would be handled as separate animation sequences that are blended by the engine in game. In Blender it could be done with the NLA editor. Maybe Unity has a similar capabilty?

I am doing some more work. I tried duplicating the arm across in edit mode, and duplicating the bones across in edit mode. I parent the mesh (made up of both arms) to the armature (made up of both arms). I expected the arms to have the same automatic weights, but they are completely different. Am I doing something wrong?

Figured it out. Normals were flipped.