Search Unity

  1. Unity 2019.4 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  3. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

Animation Converter - Humanoid ⇆ Generic ⇆ Legacy

Discussion in 'Assets and Asset Store' started by SoxwareInteractive, Jan 20, 2018.

  1. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430

    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. :)

     
    Last edited: Dec 31, 2019
    hawaiian_lasagne, Mark_01 and rubble1 like this.
  2. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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.

    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.
     
  3. AKQJ10

    AKQJ10

    Joined:
    Feb 9, 2012
    Posts:
    33
    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.
     
  4. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    306
    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.
     
  5. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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
     
  6. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    306
    Excllent, I'll investigate those links and see if I can figure it out. Thanks!
     
  7. somosky

    somosky

    Joined:
    Feb 15, 2014
    Posts:
    126
    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?
     
  8. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    Hi @somosky,
    thank you very much for your interest in the Animation Converter.

    Yes this is possible (see
    ).

    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.
     
  9. andenybe

    andenybe

    Joined:
    Sep 16, 2017
    Posts:
    5
    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.
     
  10. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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.
     
  11. noobynobody

    noobynobody

    Joined:
    May 9, 2019
    Posts:
    76
    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.
     
    Last edited: Jul 6, 2019
  12. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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.
     
  13. noobynobody

    noobynobody

    Joined:
    May 9, 2019
    Posts:
    76
    Just making sure -- this tool is not included with UMotion Pro, correct?
     
  14. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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).
     
  15. DragonDark99

    DragonDark99

    Joined:
    Jun 6, 2017
    Posts:
    7
    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 ?
     
  16. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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.
     
  17. DragonDark99

    DragonDark99

    Joined:
    Jun 6, 2017
    Posts:
    7
    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.
     
    SoxwareInteractive likes this.
  18. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    Yes, exactly.
     
  19. Zillus

    Zillus

    Joined:
    May 31, 2017
    Posts:
    8
    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!
     
  20. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    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.
     
    Zillus likes this.
  21. friuns3

    friuns3

    Joined:
    Oct 30, 2009
    Posts:
    290
    Soxware Question&Answer page not found

    does it work runtime? or is only for editor? (if it works runtime does it convert animations fast? humanoid->generic)
     
  22. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    Thanks for letting me know, I've updated the link.

    Unfortunately runtime is not supported (it uses some editor only API).

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

    Moritz5thPlanet

    Joined:
    Feb 5, 2019
    Posts:
    40
    Does this work for Legacy Animations for NON-Characters, i.e. for Mecanim Animations on GameObject hierarchies ("Menu animations", etc.)
     
  24. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    It works for all characters/objects that can be configured as "humanoid" (i.e. they need to have all the required bones for "humanoid"). Any biped character should usually work. Unfortunately menu animations most probably don't full-fill this requirement.
     
  25. Moritz5thPlanet

    Moritz5thPlanet

    Joined:
    Feb 5, 2019
    Posts:
    40
    Thanks, you're right - they don't. It would be super good to convert to and from legacy animations for these motion clips, as well.
     
  26. SoxwareInteractive

    SoxwareInteractive

    Joined:
    Jan 31, 2015
    Posts:
    430
    Unfortunately that would be really complicated to implement. I'm sorry but I'm afraid I can't serve with such a feature.
     
unityunity