Announcement

Collapse
No announcement yet.

Retargeting Mixamo In-Place Animation To Epic Skeleton

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [TUTORIAL] Retargeting Mixamo In-Place Animation To Epic Skeleton

    Introduction
    Since Mixamo has just removed the option for UE4 download, I want to make a quick tutorial on how to get any in-place Mixamo animation working on Epic Skeleton.

    Compiled Project Files
    First off here is a compiled project showing off one of the issue with Mixamo animation and what it look like when you fixed it.
    https://www.dropbox.com/s/uvbxf4r5ub...arget.zip?dl=0

    Epic Skeleton Without Root
    https://www.dropbox.com/s/wsr11a78v2...t_two.fbx?dl=0

    Videos
    Short Intro. Tried making a full tutorial video but took too long to edit.




    General Idea
    The main idea is to remove the root and IK bones from the UE4 Manniquin (Epic Skeleton) then upload the NoRoot Epic skeleton to Mixamo for animation. After you have the animations for the NoRoot Epic skeleton, you add back the root node and everything should be compatible with the original UE4 Manniquin (Epic Skeleton).

    Unreal Steps
    Step 1) Create a Third Person Blueprint project
    Step 2) Export UE4 Manniquin (Epic Skeleton)



    Maya Steps
    Step 3) Open Maya and set World Coordinate to Z-up (Most important step)



    Step 4) Import UE4 Manniquin into Maya
    Step 5) Unparent the 'pelvis' bone from the root (If the mesh get rotate 90 degree after unparenting then your World Coordinate is in Y-up, do step 3)

    Click image for larger version

Name:	step 5_unparent_1.png
Views:	1
Size:	49.4 KB
ID:	1204492

    Click image for larger version

Name:	step 5_unparent_2.png
Views:	1
Size:	37.6 KB
ID:	1204493

    Click image for larger version

Name:	step 5_unparent_3.png
Views:	1
Size:	55.7 KB
ID:	1204494

    Step 6) Export the new skeleton as FBX, call it Manniquin_NoRoot (You can call it any name)

    Mixamo Steps
    Step 7) Upload the Manniquin_NoRoot to Mixamo

    Click image for larger version

Name:	step 7_mixamoupload_1.png
Views:	1
Size:	256.2 KB
ID:	1204495

    Click image for larger version

Name:	step 7_mixamoupload_2.png
Views:	1
Size:	143.4 KB
ID:	1204496

    Step 8) Choose in-place animation for Manniquin_NoRoot. Only in-place animation will work for this method that I am showing you. Root motion animation require manual retargeting inside MotionBuilder

    Click image for larger version

Name:	step 8_inplace.png
Views:	1
Size:	145.5 KB
ID:	1204497

    Step 9) Download animations for Manniquin_NoRoot

    Click image for larger version

Name:	step 9 download.png
Views:	1
Size:	28.2 KB
ID:	1204498

    Maya Steps
    Step 10) Import the original UE4 Manniquin with root

    Click image for larger version

Name:	step 10 original epic skeleton.png
Views:	1
Size:	102.5 KB
ID:	1204499

    Step 11) Import one animation downloaded from Mixamo to original UE4 Manniquin

    Click image for larger version

Name:	step 11_import.png
Views:	1
Size:	91.9 KB
ID:	1204500

    Step 12) Select the entire skeleton, and export animation. The animation should be now compatible with the Epic Skeleton.

    Click image for larger version

Name:	step 12_export.png
Views:	1
Size:	77.7 KB
ID:	1204501

    Step 13) Import animation into Unreal Engine 4

    Click image for larger version

Name:	step 13_importUE4.png
Views:	1
Size:	110.2 KB
ID:	1204502

    Result

    Last edited by kelfire; 12-29-2016, 10:18 PM.

    #2
    Transfering Root Motion from Mixamo Animation to Epic Skeleton

    Update 5/27/2017: Add a video (not mine) on how to transfer root motion using Blender



    General Idea:

    The root motion data in Mixamo animation are stored in the Hip bone Y-translation. Using Maya Graph Editor, you can copy the hip-bone Y-Translation into the Root-bone Y-translation. This should result in a working root motion animation for Unreal Engine.

    Result:
    Here is an example of a hitreact root motion animation. The root motion is controlling the character backward movement.



    Here is an example of a crawl root motion animation. The animation cause the character to move across the entire room.

    Last edited by kelfire; 05-27-2017, 05:04 PM.

    Comment


      #3
      Very nice approach! I used to use Motionbuilder instead and creating control rigs for the models but your approach is much cleaner

      Comment


        #4
        "Step 7) Upload the Manniquin_NoRoot to Mixamo"

        On import to mixamo, my skeleton looks wrong: http://imgur.com/a/Fjua4
        i.e. the skeleton seems to be flat on the ground. Any idea what can cause that?
        Everything else seems normal, e.g. when I add animations, they work correctly.

        Also,

        I notice that the imported Mixamo animations seem to have a slightly different alignment / foot placement, than the original mannequin ones, i.e. when placed as a mesh into the level at 0,0,0 the old animations make the mannequin go 2-3cm below the surface. Mixamo ones look fine. I guess the fault lies with the original mannequin animations?
        [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
        [Free][Script] Automate Download of Mixamo Animations
        [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

        Comment


          #5
          Thanks for the tutorial [MENTION=47360]kelfire[/MENTION]. I've tried similar approach in past with Modo but I couldn't get the modified skeleton to work properly when I get the animations back to ue4. I now tried to replicate what you did by removing Root and IKs but when I do that, I don't even get the "in place" option on Mixamo and animations looked like they were root motion anims without the actual roots moving.

          Would it be possible for you to upload the modified SK_Mannequin_NoRoot.fbx here? According to UE4 EULA, it seems that sharing modified mannequin is allowed as it is located in Template folder within the engine installation directory (it's in <ue4 installation folder>\Templates\TemplateResources\High\Mannequin\Content\Character\Mesh\*). I'll quote the relevant parts from https://www.unrealengine.com/eula:

          25. Definitions

          “Examples” means the Engine Code and Content made available by Epic in the Samples and Templates folders in the install directory or in the Content Examples projects available through the Marketplace.
          Allowed forms of Distribution and Sublicensing

          You may only Distribute the Licensed Technology as follows:

          e. Distribution and sublicensing of Examples - You may Distribute or sublicense Examples (including as modified by you under the License) in Source Code or object code format to any third party. However, the rights in this Section 1(e) do not expand or modify your limited Distribution and sublicensing rights for Engine Code and Content (including as modified by you under the License) that are not Examples.
          https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

          Comment


            #6
            [MENTION=61456]Hoaxx[/MENTION] Are you sure you have the World Space set up to Z-up before importing the Manniquin.fbx? Having it on Y-up before importing the Epic skeleton will cause a bunch of weird error like bone rotated 90 degree and floating animation. Changing World Space doesn't work once the mesh+skeleton has been imported.
            I also have Advance Option->Axis Conversion->Up Axis = Y in the FBX export, not sure if that would affect anything.

            Comment


              #7
              [MENTION=179867]0lento[/MENTION] Yeah I uploaded the SK_Mannequin_NoRoot.fbx to Dropbox and added a link in the first post. Some old Mixamo animations doesn't have the "Inplace" option, but the newer stuff like the magic, bow, sword+shield, and rifle pack should have the in place option.

              Comment


                #8
                Thanks for the tutorial and the FBX Kelfire.

                I havent used Mixamo animations in a few months so this may be the way to do it now.

                Here is the way I did it last time:

                1. Create character in Fuse and upload to Mixamo
                2. Target all animations to this character
                3. Download animations "in place" and "for Unreal" or "FBX"
                4. Import animations and character to project
                5. Use Unreal retarget manager to retarget all animations to UE Mannequin (Mixamo character is in T-pose, Unreal is in "A" pose)

                If this still works, there is no need to modify rigs, or use any other package.

                -J
                [WIP] Procedural Park | Procedural City Generator
                [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool
                [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds
                Join our Discord

                Comment


                  #9
                  Originally posted by CoquiGames View Post
                  If this still works, there is no need to modify rigs, or use any other package.

                  The main benefit of this method here is, you don't have to worry any more about differences in the poses (A vs T or slight differences in fingers etc).
                  Also it fixes the dreadful floating problem - for me the old method always resulted in the character being 5-7cm above ground, which I had to fix by hand.

                  Also, Mixamo dropped the "for Unreal" format, so only generic FBX is available (which of course works fine - except you can't export characters from fuse with the UE4 skeleton anymore).

                  Originally posted by kelfire View Post
                  I also have Advance Option->Axis Conversion->Up Axis = Y in the FBX export, not sure if that would affect anything.
                  Yes, that was it!
                  [Marketplace] Loading Screen System (ᴘʀᴏᴘᴇʀ ʟᴏᴀᴅɪɴɢ sᴄʀᴇᴇɴs, ɴᴏᴡ ᴡɪᴛʜ ᴘʀᴏɢʀᴇss ʙᴀʀs)
                  [Free][Script] Automate Download of Mixamo Animations
                  [VłĐɆØ] Performance: BP vs C++ vs Blueprint Nativization

                  Comment


                    #10
                    Originally posted by kelfire View Post
                    Yeah I uploaded the SK_Mannequin_NoRoot.fbx to Dropbox and added a link in the first post. Some old Mixamo animations doesn't have the "Inplace" option, but the newer stuff like the magic, bow, sword+shield, and rifle pack should have the in place option.
                    Thank you!
                    https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

                    Comment


                      #11
                      I just tested the NoRoot mannequin OP posted. You can actually get the animations to unreal without using Maya etc.

                      If you just upload the provided mannequin to Mixamo and export with the animation with skinned option/character, you can import the skeletal mesh + anim to UE4, then you can retarget the new animation to UE4 skeleton by right clicking the new anim sequence. Since bones and proportions match, you don't have to manually setup anything and retargeted anim seem to work fine. I just tested this with one anim though but seems to work fine so far.

                      I tried to get the NoRootMannequin anims to stock UE4 mannequin with Modo but it didn't give me the correct results (could be just my inexperience with animations on Modo), there's few more clicks when you do it on ue4 side but it's still fairly quick operation.
                      https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

                      Comment


                        #12
                        I did some further testing with approach mentioned on my previous post. It seems to work and it's actually faster too as I can just mass select all animations and retarget them automatically inside UE4 for stock skeleton.
                        https://github.com/0lento/UnrealEngine (GameWorks tech merges & upgrades, UE4 physics modifications)

                        Comment


                          #13
                          Yep, that method is faster. Can retarget a whole pack of animation at once.

                          Comment


                            #14
                            Thanks for making this video!
                            Marketplace Assets
                            [RELEASED] InventorySystem - Advanced Drag 'n Drop Inventory With Crafting | [RELEASED] ConfigBP - Blueprint .ini Configuration Files Made Easy | [RELEASED] SubsystemConfigurator - Steam Subsystem Setup Made Easy | [SUBMITTED] NetShield - SSL & Crypto Using Blueprints | [SUBMITTED] NetDB - PostgreSQL For Unreal Engine 4!

                            Comment


                              #15
                              I am trying to use animations from the unreal engine marketplace. Any solution for that?

                              http://indiannoob.in/vision-worlds-f...exclusive-now/
                              https://www.youtube.com/watch?v=UzmZFcsALeg

                              Comment

                              Working...
                              X