Animation Converter - Humanoid ⇆ Generic ⇆ Legacy

Animation Converter

The Animation Converter helps you convert Unity animation clips between all 3 animation types:
Humanoid, Generic and Legacy

Important: Please don’t use this forum for technical support. Instead, use Soxware Question&Answer (no account required, all questions are answered by myself and the community).

Video Tutorials

Check it out on the Asset Store: Animation Converter

Features
Humanoid ⇆ Generic ⇆ Legacy
Convert between all 3 animation types in every possible combination.

Convert Unity Animation Clips (*.anim)
Natively Unity can only convert animations when importing them from a 3D modeling format (*.fbx, *.blend,…).

Motion Capture to Generic/Legacy
Convert (free) motion captured animations to make them useable for your Generic/Legacy characters.

Reuse Animations
Convert Generic/Legacy animations created for one character to a Generic/Legacy animation useable by a different character.

*.anim to Humanoid
Convert animations created using Unity’s Animation Window to Humanoid.

Extensible
Comes with an easy to use C# API and with the full source code of the editor window.

Detailed Manual
Detailed HTML based manual in a similar style as the official Unity® manual.
► …

I’m social
Your feedback and feature requests are highly appreciated whether in this forum thread or on any of my social channels. :slight_smile:

Twitter - Facebook - Youtube - Homepage

4 Likes

Animation Converter V1.01 has been released

This update requires a “Clean Install”. So please remove the previous installation by deleting the “AnimationConverter” folder in your Unity project before updating.

Complete Release Notes

UMotion V1.01

New or Changed Features

  • Models that are used for the conversion are now instantiated without any custom components thus avoiding conflicts with those components.
  • Added AnimationConverter.CloneWithoutComponents() to the Scripting API.

Bug Fixes

  • Fixed that installing the Animation Converter when the UMotion - Animation Editor is already installed doesn’t work.
  • Fixed compile errors when the Animation Converter is inside a project that uses Beebyte’s Obfuscator.
  • Fixed that converting animations for GameObjects with “Optimize GameObjects” enabled doesn’t work.

Manual Changes

  • Added the AnimationConverter.CloneWithoutComponents() method description.

If you discover any problems, please issue a bug report in the official Support Forum.

Hi, @SoxwareInteractive

We have bought your tool “Animation Converter” to convert humanoid->generic animations.
During the process, we had encountered some issues and are wondering if buying “UMotion Pro” can fix it.

After the humanoid->generic animation conversion, the rotation curves on some bone transforms are broken into segments instead of a continuous curve. The yellow curve has several segments that jump from -180 to +180.

The original humanoid clip and the converted generic clip both played fine inside unity, but we exported the generic animation to FBX (using the official FBX exporter by Unity). And later opened them in MAX, and MAYA, that particular bone is flickering like crazy.
Is there anyway to fix it? Maybe some filters to auto fix -180 to +180 wrapping issue?
I have already tried AnimationCurve.SmoothTangents(), AnimationClip.EnsureQuaternionContinuity(); but that didn’t fix the problem.
Thanks a lot in advance.

I’ve had UMotion for some time, but was having trouble with a generic animation skating around (feet out of sync with the ground) when I converted to humanoid (using Unity import settings) and loading it into UMotion. Thinking that this tool was what I needed, I bought it this morning and found that it didn’t do anything to resolve the skating issue. If anything, it made the issue worse.

Hi @trilobyteme ,
thank you very much for reaching out.

The “skating” issue is something that is either introduced by the re-targeting done by Unity’s humanoid animation system or is already present in your source animation (that often can be the case when recording an animation with a mocap suite; the mocap software may have settings to avoid this).

If the issue is introduced by the humanoid animation system, try playing with the Animator Foot IK switch (in UMotion in the clip import settings, in the Animation Converter settings or when previewing the humanoid animation in the Unity inspector by toggling the “IK” button).

Here is some further information about what Unity’s humanoid animation system is doing in the background and why “skating” can be introduced (and how Animator Foot IK tries to address this): https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

Btw. you can use IK pinning to pin your feet in UMotion. Here is a video where I correct foot sliding on an animation: UMotion “In Practice” - Editing an existing animation (pinning is done at ~06:50)

In case you have further questions, feel free to post on the official support forum (no login required): https://support.soxware.com

1 Like

Excllent, I’ll investigate those links and see if I can figure it out. Thanks!

Hi I have some generic animations (FPS ARMS with gun animations) would this be able to covert those animations to Humanoid animations? Or convert a humanoid character to generic so the clips could be used on other models?

Hi @somosky ,
thank you very much for your interest in the Animation Converter.

Yes this is possible (see
https://www.youtube.com/watch?v=0dw_Cx8johg
).

The Animation Converter can only convert your animation to humanoid if you can provide your fps arms + gun configured as generic and a duplicated version of it configured as humanoid. This later is usually not possible though because the FPS arms are missing some required bones for a functional humanoid avatar setup.

Please let me know if you have any follow-up questions.

Still a little unclear exactly what you can do with this. If I have character A with generic animations, can they be converted to character B as humanoid animations? Even though they have a different rig/number of bones? Somehow that seems too good to be true.

Hi @andenybe ,
thanks for your interest in the Animation Converter.

Can you configure character A as humanoid? If so, then yes this is possible. If your generic animation is a *.anim file you can use the Animation Converter to convert it into a humanoid animation (by passing character A configured as generic and a duplication of character A configured as humanoid to the converter).

If your animation is a .fbx/.blend/… file, you can configure it to humanoid directly in Unity (no need to use the Animation Converter in that case).

If character A can’t be configured to humanoid at all, then it is unfortunately not possible to convert your generic animation to humanoid.

Please let me know if you have any follow-up questions.

So if character A and character B both have humanoid rigs, but maybe character B has extra bones, this would work flawlessly? For example, Synty Studio’s characters only have two fingers.

Honestly I’m not 100% sure how Unity’s humanoid animation system behaves when re-targeting an animation that has only 2 fingers to a character that has 5 fingers (I never had such a situation). It would probably just use the default pose for the other fingers for the whole animation.

Just making sure – this tool is not included with UMotion Pro, correct?

1 Like

Correct, this tool is not included in UMotion Pro. But to some extend (though not that convenient) you can also use UMotion Pro to convert animations (see “Conversion between humanoid/generic” headline in the “Clip Editor → Import / Export” chapter in the UMotion manual).

Hi man!, with this asset can I make animation retargeting ? I mean, transform an animation from a Skeleton to other similar Skeleton but with different bone names and scale ? similar to the Unity’s Humanoid rigg system but for Generic rigg ?

Hi,
thank you very much for your interest in the Animation Converter.

The Animation Converter still uses the humanoid re-targeting system in the background. So if your characters/models are compatible with humanoid you can use the Animation Converter to turn your generic animation to humanoid in a first step. And in a second step turn the humanoid animation to generic (compatible with the second model) again.

If your character/model is not compatible with humanoid, then the Animation Converter is not able to do any re-targeting.

Let me know if you have any follow-up questions.

So, basically, if the models are compatible with humanoid rigg I can transform any animations from any model compatible with humanoid rigg to any another model compatible with humanoid rigg.

1 Like

Yes, exactly.

Hey,

If I record a humanoid rig/model using Unity’s GameObjectRecorder (say, while using an IK system to move it around), can I use your asset to convert it to a normal skeletal animation? I’m not quite sure after watching the tutorials.

Thanks!

If the recorded animation is a humanoid *.anim file, then you can use the Animation Converter to convert the animation to another character that is of type generic or legacy. But please note that for the conversion process, you need to provide the converter that target character in two configurations: Once configured as generic and a duplicated version configured as humanoid.

If the recorded animation is a generic *.anim file, you can use the Animation Converter to turn the animation into a humanoid animation. Therefore you need to provide the converter two versions of the character that has been used for recording: Once configured as generic and a duplicated version configured as humanoid.

Please let me know if you have any follow-up questions.

1 Like