Download

Best way to have different models share the same skeletons?

I’m getting into games develop with UE4 and I’ve already rigged up a character animated one, so I can do all the importing and animating stuff. The thing is though, in the project she will have more than one outfit, but it is the exact same character. So, the same character with different clothes.

This means the skin weighting and skeleton is 99% the same, and I want to use the same skeleton and transfer the skin weights to the new model. I want it to be the same skeleton so the animations can be transferred between them. I seen there was a tool to output skin weights in Maya, however, when I tested it and re-imported them, they were worse than the default weighting.

What process do game developers normally follow? Does 2 meshes having the same skeleton literally mean you make the skeleton and weight it to both models separately in Maya? And when I have the same skeleton for both outfits, whats the best way to transfer the skin weights over?

I’m using Unreal Engine 4 and Maya to model/animate. Basically, what is the process I should follow for having 2 skeletal meshes share the exact same animations? I don’t want to do animation re-targeting. Its too difficult to get the poses matching.

If I’m understanding you correctly, then it’s the 1st option - make the desired skeleton and import it as a skeleton asset to the engine, then it’s a matter of weighting both models separately in Maya. “Copy smooth skin weights” is the most basic way to get your skin weights from one mesh to another, but it’s just about guaranteed you’ll need to do some cleanup on the transferred weights unless the models match very closely.

If your models do happen to share the same vertex order or UV mapping, there are options in the tool to transfer in UV space which would give more consistent results. Works best for things like heads or arms where the maps can be shared.

Sorry, just realized my message wasn’t very clear, haha, but yes I believe you understand me correctly. I was in a hurry.

So yeah, I just need to create the skeleton, import it to UE4, and then when I’m exporting my weighted models, should they just be exported as usual i.e. export it as a skeletal mesh the way you normally would with both the skeleton and mesh in the file?

Also, how does UE4/any program know its the same skeleton? That probably sounds stupid, but if you make a skeleton with the same bone names, it still sees it as a different skeleton.

make first(most common) model with skeleton and bind skin, export mesh and joint hierarchy, import in UE as usual (create skeleton for it if needed first), then with same skeleton bind skin for other mesh and export only joint hierarchy and freshly binded mesh, when import choose already existing skeleton.
now when time comes for animation, you just animate using your rig, then export only joint hierarchy without meshes selected, import it as animation for previous skeleton. easy.

UE4 skeleton cares only about joint hierarchy and names, as long you don’t move/rename joints it is same skeleton(though you could make another instance when importing).

Sorry when you say to export the joint hierarchy, you mean the actual skeleton? Sorry, I’m new to the specificity of these terms.

yes, that skeleton(joints/bones) on which you bind mesh(model).

to clarify, you can export in 3 steps:

  1. export skeleton only
  2. skeleton and mesh A
  3. skeleton and mesh B
    …) skeleton and mesh N

for convinience i would recommend making rig and base mesh in one file, then make references to that original file for each new mesh in separate files, make each animation using same base reference for each animation separatedly too, this way all characters will be able to share this animations. well, at least that’s how i’m doing it…

Ah okay, so I think I’m with you now.

If I have any more problems I’ll get back, but thanks! :slight_smile: