Mixamo to UE5 : the ULTIMATE Guide

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
if you need characters and animations that are available for free for online engine 5 mixamo.com is what you're looking for so here i'm on the mixamo website on which we are going to download a character as well as some animations that we will be importing into 195 project so since mix ammo is pretty easy to use i won't be explaining to you how it works in details however i'm going to show you the character and the animations that you need to download to follow this tutorial in the best possible conditions so here as soon as you're on the mixamo website you'll need to download the whiteboard character here you go to characters and select the whiteboard you can click on it and click on use this character so here as soon as the character is loaded you can click on download and here you can leave the parameters as is so fbx binary and typos you can click on download and mxmo will create an fbx file that will be downloaded as soon as it's ready okay so now that the character has been downloaded we can search for animations for him by going here on find animations or clicking over there on animations the first animation i'm going to search for is the happy work animation so i'm going to go in the search bar here and type happy work and then i'm going to select the happy work animation here you can leave all the parameters as is over here and click on download and here you can leave everything as is except for the skin option you can click on it and select without skin this will generate a file that contains only the animation and not the character since we already downloaded the character earlier so here i can click on download this will generate another fbx file that will be downloaded as soon as it's ready finally the last animation that we are going to download is the turt hip-hop dance animation so here in the search bar i'm going to type tut hip-hop dance and click enter and i'm going to select the animation that starts with the character having the legs crossed so this one you can see here the legs crossed on the first frame here and you can click on download uh leave the without skin option and click on download again and we will get our last fbx file okay so in the next part of this tutorial i'm going to show you the best way not only to import characters and animations from mixamo to unreal engine 5 but also the best way of retargeting animations from a character to another one so that you can use old mixamo animations on your own character so and to do so first i'm going to show you the problem that we've got with mixamo and characters animations when we import them as is in an unreal engine 5 project here i've imported my happy work animation directly into my unreal engine 5 project and as you can see we have a problem since the character is moving from left to right during his animation which makes him teleport every time the animation restarts to fix this problem we can ask unreal to lock the character in place by going in the asset details panel on the left side of the screen and searching for the enable root motion option here you will see that as soon as i enable this option the character will stay in place but this time we have another problem if you pay close attention you will see that the hips of the character do not move anymore why is that it's because when you enable the root motion option unreal engine search for the highest bone in the skeleton tree and locks it in place this time it's the hips so it's natural that the character do not move his hips anymore so to make things simple the character is missing a major bone which is the root bone and which is placed at the feet of the character if he has a root bone when we enable root motion the root bone will stay in place and we'll keep the natural motion of the hips during the animation to correct this problem we are going to add the root bone to our character and animations from mixamo.com by using blender so please don't panic if you've never used blender you will see that my method is pretty easy to use since you'll only have to make around six clicks and click on a single key on your keyboard so how is it possible it's simple i've prepared a special version of blender for you that you can download by clicking on the link in the video description below and for those of you who would like to know more about this special version it's a portable version of blender 2.81 on which i've added the mixamo converter plugin from nzop which is available for free on github.com i've modified the source code of the plugin a bit so that the default parameters that i need for my method are activated by default once you've downloaded the zip file that is available by clicking on the link in the video description below you will need to unzip it and you will get this blender mixer more folder in which you'll have a shortcut launch blender that will allow you to launch blender without going in the installation folder and you will have two folder anims in and anims out so the first thing that i'm going to do is go and get my three files from mixamo.com the happy work animation the hip-hop dance animation and the whiteboard character i'm going to press ctrl c on my keyboard to copy these files and go into my anims in folder and press on ctrl v to paste them here so once it's done i'm going to double click on my launch blender shortcut to launch blender and as soon as blender is opened you click here go to edit and then preferences and in the new window that opens you just go to add-ons and here you have the animation mixemo converter you have to disable it and then re-enable it so that it takes into account the modifications that i've done to the source code so here you just close the preferences and you can click on the n button on your keyboard this will open the end panel and then you can select the mixamo plugin here and all you just need to do is click on batch convert blender will work in a bit and you will know when it's done because as soon as i click here in the interface you can see that it becomes white okay so for me it took around two minutes to process and now that blender is responding again you can go to your blender mix ammo folder and you can see here that in the anims out folder we have the files that have been converted successfully now that the files have been converted i'm going to show you how to import them into an unreal engine 5 project so here i've created a default third person template and i've created into my content folder a mixamo folder so first i'm going to show you how to import the character y-bot so i'm going to go into my blender mix sumo folder then into the anims out folder and i'm going to get the ybot.fbx file that i'm going to drag into my mixamo folder in my unreal engine 5 project so here you will have a new window that pops up and then you can make sure that skeletal mesh is enabled import mesh is enabled and import animations is disabled once it's done you can click on import and this will import our character so here as you can see the character has been successfully imported into my unreal engine 5 project now i'm going to import my animations by going to my animes out folder and selecting my happy work and third hip-hop dance files that i'm going to import into my mixamo folder here you have a new window that pops up and here you will uncheck import mesh since we have already imported our character and make sure that the whiteboard skeleton is selected you can then click on import all and you will see that our animations have been successfully imported so here if i open my happy work animation you will see that it's working correctly and if i go to my asset details panel and select the enable root motion that i activate you will see that the character stays in place while having his hips that have natural movements so here if i go to the skeleton tree you can see that it's because now our character has a root bone now that you know how to import characters and animations from mixer mode to unreal engine 5 i'm going to show you how to retarget these animations so that you can use them on different characters such as mani the default unreal engine 5 character so first of all we are going to create an ik rig asset by right clicking here going to animation and selecting ik rig here andrea is going to ask us to pick a skeletal mesh i'm going to select our y-bot and i'm going to rename this new asset into ik underscore y-bot i'm going to open this asset and here for those of you who don't know what an ik rig is ikerigs are a specific type of assets that allow us to set up characters for animation retargeting while having the possibility to procedurally adjust animations thanks to what we call goals and solvers okay so since we are going to use every element from the user interface i won't be explaining it to you and first we are going to define the retarget route which is generally the pelvis of the character so here we have the pelvis i'm going to right click on it and click on set retarget route then we are going to create the retarget chains which to make things a simple correspond to identifying the different parts of the character body so i'm going to say for example that this bone this bone and this bone represent the right arm of the character later in this tutorial when we are going to define the same chains on the unreal engine 5 character the engine will be able to copy movements from a chain to the other one easily so if i say that this is the right arm of the y-bot character and in the default 105 character i'm going to say the same thing and re-engine 5 will know that okay the the the arm is moving this way so on the other character i will move the arm the same way okay so before creating my first chain i'm going to select the ik retargeting tab that i'm going to move up so that you can see what is happening right here so first i'm going to select the root bone i'm going to right click on it and click on new retarget chain from selected bones andrew will ask me to give it a name so i'm going to leave it as is root then i'm going to select the spine 1 spine 2 and spine 3 right click and then your target change from selected bone so here the the naming convention that we are going to use is keeping everything lowercase and removing any number however when making the right arm for example i'm going to add the suffix underscore r so here i click on ok and if you want to go even faster you can go to edit references editor preferences and then you can type new chain and you can bind the newer target chain from selected bond to the c key on your keyboard for chain c for chain and then you can select the neck zero one press c on your keyboard and you can rename the next zero one to nick then i'm going to select the head press c i'm going to leave the name as is and you can see here that on the right side of the screen the ik retargeting tab that we populate the tab with all the chains that we've created we have the name of the chain uh the start bone and the end bone so i won't be showing you the whole process i'm going to make a jump in time and show you the final result so that you can copy everything i've done here okay so here i've created all my bones chains and you can put the video on pause to see if you have the same chains as me so i've created chains for the legs for every finger of both hands for the arms as well as the clavicles so make sure that you have the same name as me as well as the same star bone and the same end bone this will be important for the next part of this tutorial okay so now that we've created the ik rig for the y bot character we are going to do the same for the unreal engine 5 character so here i'm going to press ctrl and space on my keyboard to open the content browser i'm going to right click go to animation and select ikerig this time i'm going to select the skm money simple this one you can rename the new asset to ik underscore money and you can open it so here i'm going to set the pelvis as the retarget route set retarget right here and then i'm going to create all the chains so just like the y bot i'm going to make a jump in time and we can see each other on the other side okay so here i've created all my chains you can put the video on pause to check if you have the same chain names stat bones and bones as me and before moving on to the next part of this tutorial i would like to show you something that i think is really cool with the new retargeting process of unreal engine 5 so here if i select the spine chain of my android engine 5 character you can see that it has five bone spine one two spine five and if i go to the y bot and select the spine chain you can see that it only has three bone spine one to spine three what is called with this uh retargeting process in honoring engine 5 is that unreal engine 5 doesn't care if you have three or five bones in a chain all it needs to know is do you have the same name so here we have the spine and here we have the spine and thanks to that unreal engine 5 is able to replicate the animation of a chain to another one more easily okay so now that both of our characters have an ik rig we can create another type of asset that will allow us to retarget animations from a rig to another one and to do so we are going to right click here go to animation and select ik retargeter here android engine asks us to select the ik rig from the source character the character from which we are going to duplicate to retarget the animation so here i'm going to select the y but and i'm going to rename this new asset to rtg underscore y-bot underscore 2 underscore money so here i can open it and you can see that we have our y-bot that appears in the viewport so first we are going to add our target character so here i'm going to go to target i carry asset over here i'm going to select our ik underscore money you can see that our character from under engine 5 appears in the viewport and here what you can do is you can rescale the character here target actor scale over here i can put two for example this is useful for characters that don't have the same proportion for example if you have a giant character you can make it smaller so that you can fit in the viewport and then you can use target actor offset to move the character away from the other one so that they don't collapse with each other so now that everything is done you can go to chain mapping here the chain mapping tab and verify that every chain from the whiteboard character here spine correspond to the correct chain in the unreal engine five characters so here we have spine spine neck neck everything is okay since we've put all the same names from an ik rig to another one okay so now we can see if our animation retargeting works correctly so here i can go to the asset browser tab and then i can double click on the happy work animation you will see that we have a problem here we can see that the arms of the unreal engine 5 character go straight into his body why is that because here if i initialize everything you can see that both the characters do not have the same pose so the y bot is in an uh what we call a t pose and the unreal engine five character is in an apos and what happens is that when we play animations from a tpos the character goes from here to there and place its animations and if you you take the unrealistic character it goes from here to inside the body and play the animation so to correct this problem we can modify the pose the bass pose of the unreal engine 5 character and to modify the pause first i'm going to create a new one for the unreal engine 5 character by going here to new pause and then andrew will ask me to give it a name so i'm going to name it let's say ybot because it's the pose of the whiteboard character and then i'm going to click on edit pause okay so now you can see that the bones are a bit big so you can go to bone draw size here and put it to a value of let's say 1.5 for example and all you have to do now is to select each bone and reposition it so that it can be more uh like the whiteboard character and to be even more precise i'm going to show you a tip you can go here to target actor offset put it to zero so that both the characters overlap each other and here you can go to character bones and click on all hierarchy to see the hierarchy of bones from the y bot then you can click here on perspective put it on right so that you can see the skeleton the skeletons more easily and then you can click here to add offset in word space and click here to be more precise when rotating the bone so here i can take for example the arm up i can get the arm here and then i can reposition it so that it can be just like the whiteboard character i can take this one then i can change the point of view by going to the top and the more you are close to the pose of the whiteboard the more your retargeting will be precise so you can do it by yourself i will leave it to you and i'm going to do it myself and we are going to do a jump in time okay so here i'm done i think that both the character have an almost identical pause and i can separate them by clicking here on target actor offset and putting a value of let's say for example 200. so before checking if everything works correctly i'm just going to select the chain mapping tab here i'm going to select the root and then here i'm going to put the translation mode to globally scaled this will ensure that the root motion is working correctly when we retarget the animations so now if i click on edit pause you can see that the animation plays correctly on both of the characters okay here that's cool that works correctly but unfortunately the pose doesn't correct everything so as you can see here if i launch the tot hip-hop dance animation you will see that you have another problem so here if i go to the first frame of the animation you can see that the legs the right leg of the unreal engine 5 character goes into the other one so we can correct that and be more precise when retargeting by using what we call solvers so first we are going to create a solver for the ik y bot so here i open the ikybot asset and then you are going to make the same thing as me and i'm going to explain to you later how it works so first i'm going here on the left side of screen and select add new solver then i'm going to click on full body ik and while selecting the full body ik i'm going to go to the pelvis right click and select set root bone on selected solver then i'm going to go here on the left hand right click select new ik goal and to go even faster i'm going to go to the edit editor preferences and i'm going to type ik goal and new ik gold i'm going to bind it to the g key on my keyboard so i'm going back to my ybot akybot here i'm going to select the hand r and press g on my keyboard to add an ik goal then i'm going to select the ball r and press g on my keyboard then the ball l and press g on my keyboard so once it's done you can go here on the right side of the screen i'm going to put myself in the middle of the screen here you're going to select the arm l and put the goal hand l on it here you can put hand along here on it you can see here that we have the ik goals and then you can select the arm r select the hand r goal and then the leg r select the ball r goal like l and select the ball l goal here we created our first solver which is the full body ik solver and how it works is that it creates goals that are placed on specific chain for example here we have the left hand goal that is placed on the arm left chain and when you move the goal the chain will try to reach the goal and adapt the body pose so that the chain can reach the specific goal so here we can see that the arm try to reach the goal when we move it and we can take for example the goal from the left leg here and we can put it up so that you can see that the leg will follow the goal wherever it goes if you take the goal that is placed on the left foot of the character and put it right up you will see that the character will have a weird pose and will look like a majestic creature so this is because we didn't set up the full body ik solver correctly and we are going to do that by using what we call bonus settings so the first setting we are going to use is a setting that will allow us to prevent the pelvis from rotating too much so here i'm going to select the full body ik solver then i'm going to right click on the pelvis and select add settings to selected bone so here if you select the setting the bone setting you can see that we have a lot of parameters and just so you know the stiffness allows us to control how much the bone can be affected by goals the limits can be used to limit or completely lock the rotation of bone axes along chains and the preferred angles can be used to prioritize joints rotating along a specific axis to reach the goals so here what i'm going to do is that i'm going to go to the rotation stiffness here and i'm going to put a value of one so that the pelvis is not influenced by the goal's position so here you can see that the pelvis took a natural position here if i put zero you can see that it's rotating too much and if i put one you can see that it's correctly oriented okay it's better but now i'm going to add settings to spine bones and before going any further i'm going to go to my editor preferences and type bone setting and i'm going to bind the s key to the add settings to selected bone so that i can go faster here i'm going back to my ik y bot asset i'm going to select the spine 0 1 press s on my keyboard it doesn't work because i didn't select the full body ik solver so here i can select the spine press s and then on the settings i'm going to put the rotation fit stiffness to a value of 0.85 then i'm going to select the spine 2 press s on my keyboard select the spine settings and put 0.95 then i'm going to select the spine 3 press s select the settings and put a value of 0.95 in the rotation stiffness so now you can see that the character has a better pose another thing that is not easy to demonstrate is that the clavicles are not supposed to rotate so i think you know that if you have a body so you can select the clavicle press s on your keyboard select the clavicle settings and put a rotation stiffness of one and you will see that the clavicle will straighten itself so here i can select the clavicle r press s on my keyboard select the settings and put the value of 1 in the rotation stiffness to create the clavicle rotation now onto the legs of the character if you take the left feet goal and move it back you can see that the knee will have a weird rotation to correct that we are going to use what we call preferred angles so i'm going to select the calf l bone this one and here i'm going to press s select the settings and in the part about use preferred angles here you can enable this option and here you will need to specify what angle is supposed to have the the calf is supposed to have so here you can select the calf l and zoom it and you can see that it's the x-axis i don't know if you will see on youtube but the x-axis is the one responsible for having this wheel rotation so i'm going to select the settings and put here in the x axis a value of 90. you can see that the knee will correct is itself so if you don't know what axis is supposed to be modified here you can try each one for example here if i put 90 in the y-axis it's not corrected i can put 90 in the z-axis z-axis it's not corrected and you can put 90 in the x-axis and you can see that it works correctly so now i'm going to add the same settings to decalf r i'm going to select the calf r press s select the settings enable use preferred angles and put a value of 90 into the x axis finally the last settings that we are going to add to our skeleton are the settings that will allow us to correct the orientation of the fit that you can see right here so i'm going to select the foot l press s on my keyboard select the settings then here i'm going to use the limits which allow us to limit the rotation of a bone on specific axis so here i'm going to select the x-axis and click on the limited option in the limits i'm going to put a value of minus 80 in the mean x and max x i'm going to put a value of 50. you can see here that the fit orientation is corrected when we put these values so now i'm going to do the same with the foot r i'm going to select the food r at the setting and here i'm going to select the limits and put limited on x minus 80 on minus x and max x i'm going to put 50 and here if i take the goal and move it up you can see that the feet has a natural orientation so here you can go even further and be more precise by adding more settings to the character but this will be uh enough for this tutorial okay so now that the full body ik solver is completely set up for the mixamo character i'm going to do the same for the unreal engine 5 character by going to the ik money asset so here i'm going to add the new solver full body ik and while the full body ik solver is selected i'm going to right click on the pelvis and set root bone on selected solver then i'm going to add the ik goal on the hand l by pressing g then on the hand r by pressing g then on the ball r and ball l here on the right side of the screen i'm going to put myself in the middle of the screen for the rl i'm going to add the hand l goal and for the arm r i'm going to add the hand our goal leg r going to add ball our goal and leg l i'll add the ball l goal now i'm going to add the settings to the skeleton of the unreal engine 5 character but since you know how it works i'm just going to show you this table that i've prepared for you which are the settings that i'm going to add to the bones of the unreal engine 5 character you can put the video on pause and i'll meet you right after that so now that the settings have been added correctly to our character you can see that if i select the goal that is placed on the left foot of the character and move it up and down the character keeps an almost natural pause so that's it for the full body ik solver of the unreal engine 5 character and now we are going to move on to the next part of the tutorial in which we are going to adjust the retargeting of the animations okay so here i'm in the ik retargeter asset and if i select the third hip-hop dance i'll put it on the on pause and put it on the first frame we are going to correct the leg that is entering the other one so to do so we are going to go to the chain mapping here and if you select for example a chain that has an ik goal let's say the right leg for example here leg r you can see here that we have options for adjusting the animation you can you have fk adjustments chain mapping and what we are going to focus on is the ik adjustments so here the ik adjustments you have a lot of parameters and i'm going to explain to you each of them so here the blend to source at zero the goal is placed as at the retarget location and at one the goal is placed at the location of the source chains and bonds so here if i move it you can see that it will take the position of the source chain then the blender source weight does the same but on each axis and the static offset has a static global offset to the goal assigned to this chain so for example here if i increase the x offset you can see that the leg will go further along the x-axis and finally the extension brings the goal closer or further from the origin of the chain with which is the pelvis so here i'm going to select the leg air and go to static offset and put a value of 5 on x and a value of 5 on y so here you can see that if i play the animation the leg doesn't enter the other one here the adjustments that we've made don't make a lot of sense since both the characters share the same proportion but let's have a look at steel from paragon you can see here that steel has longer arms than the white boat which makes his hand go below the floor so we are going to correct this with our parameters i'm going to select first the leg and then here i'm going to increase the extension on the leg l here for example i'm going to put 1.2 for example 1.3 and then i'm going to select the leg r and put an extension value of 1.3 so that it lays on the ground here and here i'm going to select the arm r of the character and decrease the extension i'm going to put let's say for example 0.8 point six point seven or point six here you can see that the adjustments that we are making uh make a lot of sense compared to uh the case where we only retarget these animations on two characters that share the same proportions okay back to our characters so now that everything is set up correctly we can export a new animation sequence for the only engine five character so here i'm going to select detect hip hop dance double click on it and then since every adjustments have been made to the ik goals we can just export click on export selected animations this will ask us where we want to save the new animation sequence i'm going to leave it as is click on ok and you will see that we will have our new animation asset so i'm going back to my ik retargeter because i want to export and happy work animation i'm going to double click on it and remove the adjustments that we've made to the leg 4d the hip-hop dance so i'm going here to the chain mapping select the leg r and remove the static offset then i'm going back to my asset browser select the happy work export selected animation and click on ok and now i can place both my my animation assets in the world here and as you can see everything is working perfectly so as you saw in this tutorial the process is a bit tedious but thanks to that you just have to create a single ik rig asset for your character and then you can retarget animations to characters of various proportions various skeletons as long as you have the same chain names so that's it for me if you want to learn more about unreal engine 5 you can click on the video that will appear on the top right corner of the screen have a good day bye you can see that the bones are drawn unreal engine doesn't unreal engine 5 works correctly correctly pine bone so that it can be more better part of the turtle tutorial for
Info
Channel: Evans Bohl
Views: 90,046
Rating: undefined out of 5
Keywords: unreal engine 5, ue5, unreal engine 5 tutorial, mixamo to unreal engine 5, adobe mixamo, free character animations
Id: eYal6taYUfE
Channel Id: undefined
Length: 32min 9sec (1929 seconds)
Published: Tue May 03 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.