Correct way to merge animations from multiple copies of the same skeleton

Hello all, sorry if this is an amateurish question. What is the correct workflow when you have 2 or 3 copies of the same skeleton/mesh each with different animations attached to it, and want to merge the animations to one skeletal mesh?

For example, if you add the Animation Starter Pack to an existing third person starter project, you will have two copies of the UE4 Mannequin and all of its associated assets. But what if I want my character to have access to all the animations? Is this is a situation where I am supposed to retarget the animations? If so what is the easiest way to do that? Should I use the Retarget Manager and set both of them to the ‘Humanoid’ rig? Not sure if I am on the right track, any info appreciated.

2 Likes

Well fist the word retargeting in a lot of cases is used incorrectly. Retargeting generally means taking one set of animations that uses a totally different naming convention and retargeting to a different skeleton.

Targeting animations is the process of which a skeleton has the same naming convention as the animations and you want to consolidate all of them so they can all be applied to a single skeleton as you described.

The brute force way of doing it is to select all of the animations you want to target to the preferred skeleton and batch export to FBX.

Once all are exported then you can reimport all of the animations back onto your preferred skeleton.

This is my preferred way as it also gives me an FBX copy of the animation sets that I can modify inside of Motion Builder.

Thank you for the info! So theres no good way to do this without exporting and reimporting?

Usually you can retarget, target, or reassign the object by right clicking. In the case of animations assigned to a matched set of skeletons you can select the skeleton of the animations that you want to move, right click on it, and select “Retarget to Another Skeleton.”

An alternate way to do this is by deleting one of the duplicate skeletons (the one with the least amount of associated animations) then, when prompted by the pop up window, you can choose to replace the deleted asset with one of the remaining skeletons (one with the most associated animations.) Repeat as necessary. The animations will remain in the content browser. You will then need to right click on the remaining animations (one by one, unfortunately) and link them to the remaining skeleton.

This is just an alternate method you can use if you have a couple of skeletons and just a few animations. FrankieV’s method of exporting and importing may be more efficient in most cases.

Very good info, thank you both of you. I have one more question: How come when I right click a skeleton and do “Retarget to Another Skeleton” I do not see the other identical skeleton unless I uncheck “Show only compatible skeletons”. Why would the two skeletons not be compatible? They are both the UE4_Mannequin, and I even checked and they have identical bones. Should I just uncheck that box? Or how do I make them compatible?

Good question and I assume a bug as at the moment it is a know issue that the current templates and free animation package has a bug as to it’s translation root.

https://.unrealengine.com/showthread.php?78885-Animation-Blend-Per-Bool-Issue-Weird-Pop-or-Jump-or-something

Even though the two are identical as to naming convention the bind pose is so far off that the targeting of the animations from one skeleton to another is not compatible.

To put it out there the statement on the issue from Epic is it is minor, which is true if you know what needs to be done to quickly fix it, but as a dependency that “must” work is becoming a major issue and it’s a given you will be back here tomorrow asking why your player model is diving below world space.

I see, thanks again for the info. I don’t think I agree with Epic that this is a minor issue - it makes using the asset store for animations quite awkward which is not a good first impression on novice users! Hopefully its fixed in 4.9

While there is already a report concerning the incompatability of between the Third Person template animation assets and those from the Animation Starter Pack, the issue of unchecking “Show Only Compatible Skeletons” to show compatible skeletons had not been entered yet. Hence, I have submitted this as JIRA [UE-20164]. When this issue has been addressed, we will post an update to let you know. -Thanks for the feedback!

@mattmillus, additionally, if you select one skeleton with one set of animations and retarget it to an identical skeleton with a different set of animations, the result will be that the original skeletal mesh associated with the first skeleton will be able to access BOTH sets of animations. I think this is what you were originally trying to do and may be the easiest way to accomplish this.

(I tested this in 4.8 by retargetting the Third Person character’s skeleton to the skeleton of the Animation Starter Pack. The end result was the Third person character had access to all the animations from the ASP plus the original ThirdPerson animations.)

Thank you I will try that (with show only compatible skeletons unchecked, so I can select the skeleton)

Hello, sorry for pushing this old thread, but it was the best answer I found.

I have exactly the same situation:

  • Imported Anims from different sources, as example Epic Thirst Person default Project, Epics Marketplace Anim Starter Pack, and some more. All have the default Epic Mannequin as Mesh and Skeleton. But every import brings up its own instance of skeleton and Mesh.
  • I tried the advice of , but every Skeleton still shows me its own animation. Not the one of the identical Skeleton, even after setup retargeting.(only set up, not doing it.)

-> Is this solution still possible? How?
-> And If not, the best way to bring all Animation to the same Skeleton, is still to Export to FBX and then Import everything to one existing skeleton?

thanks a lot

Well the rule of Epic is all animations needs to conform to their base as far as Epic supported assets goes. Even works with the animations used in the Paragon packages. The problem you are having though is the animations you import are referencing the Epic rig as part of the package you imported and not the rig that you have already imported as what needs to become the reference.

To put it into context lets say you installed the third person project which in turn references the Epic Mannequin. Now you follow that up by installing the free animations or even animation packages you purchase they don’t by default reference the Epic Mannequin as to the 3rd person template but rather the support mannequin included as part of the package.

The down and dirty way is to brute force a reference change of the animations you imported after the template as suggested by deleting the Epic Mannequin rig reference which in turn forces UE4 to search for all references relating to that rig. Once completed you will have a list generated as to all of the references and at the bottom have the option to change the reference to the object being deleted. In this case point to the template version, which should have the same name as the object you are deleting, and once you hit the go button all references will now be targeted to the template rig.

Thank you. So I used the “dirty brute force way”. Seemed most easiest way for me :slight_smile:
It worked, except the “Animation” Tab on its window “Asset Browser” is not showing up all animations after replace the Skeleton references. Also Editor restart was not helping. From time to time more Animations come to the “Asset Browser” window on Animation tab. Perhaps have to open every animation now after the brute force way.

What you see in the browser is a thumb nail image of the asset and when you change the reference the thumb nail does not get updated until the change is recognized. Some times just giving the icon a jiggle.

Be sure to save the updated animations first and if UE4 refuses to save the updated animations make sure that you do not have a second instance of the project open as doing so will prevent the current focus to not save.

In my case, that was not the problem.

I don’t talk about the “content browser” and the thumb nail image in there.
I mean the “Animation” Tab (In AnimBP) on its window/menu “Asset Browser”. There the new converted (reference changed) animations were not listed. Every new start of the editor, I saw only the old animation in the animations tab. By open some converted animations and some seconds later, also some opened animations were shown in the animations tab. But only until editor restart.

Solution for me: Go the the old folder, where the “deleted Sekeleton” was before. Then do a “Fix Redirects” from the Right-Click context menu. This will again show you all affected animations, and only after you accept this, all animations are converted fine. In my case, thix Fix up redirects was mandatory to have all converted animation properly converted and shown in the Animations tab.

Look like this got really confusing: Just right click an animation and choose retarget to another skeleten. It even puts the anims in the targets animation blueprint (unlike exporting and reimporting, which did not.) by the way, as of version 4.24 the ‘display incompatible skeletons’ bug still hasn’t been fixed (of course) so to see compatible skeletons, uncheck show incompatiblecskeletons. :slight_smile: