If you use a skeleton that’s different to the UE4 mannequin (bone names alone are too less as the rotation comes from the animation and the boneroll matters in that case as well) then you have to go the “retarget for different skeleton” step. Make a skeleton with a rest pose that’s very close to the UE4 mannequin A-pose. Make sure you apply all scaling and rotation before you export and there is no warning or error at import (which is perfect possible from Blender or Maya). It’s really no big issue as you could still share that anim BP afterwards for your meshes (that share that different to UE4 but same to your other meshes skeleton). If you really would avoid the “retargetting to different” skeleton step and using Blender then probably it’s possible somehow if you get your Blender to boneroll around the Z axis instead of the Y axis somehow (not sure). In my opinion you’ve to put a lot of time into it for an issue that’s workarounded very quickly otherwise. I’ve used my own created meshes from Blender, Makehuman meshes from Blender and Manuel Lab meshes from Blender all work together well with various market-place anims built for the UE4 mannequin. In my opinion this “share one anim BP for everything” is a bit overrated anyway. Even if my male and female character may share the same skeleton it would really suck animating them with the same animations. I’m using animations that looks completely different… but all of them can make use of the marketplace anims if I like with “retargetting for different skeleton”. If the pose matches then this is a task of a few seconds.
I’ve tried both approaches, importing as different skeleton and as the same skeleton. The distortion happens when I set it to be the same skeleton. When I import it as a different skeleton it doesn’t let me share the animations at all, even though it automatically matches the bones (because same name and hierarchy).
You have to setup both skeletons to the humanoid rig (either the mannequin that owns the animations) and your mesh. Afterwards you could right-click on the anim-BP (or a single anim or blendspace) of the mannequin and retarget to your skeleton.
That was correct, I forgot to setup both skeletons to Humanoid rig, thanks! I was able to get most body to work including legs, but hands are still very off. Unfortunately this process is still a pain in Unreal. Too many details for something that nowadays is so simple.
The rest pose of your mesh should be close to the A pose of the UE4 mannequin. All bones below pelvis (and the “IK” bones) should be switched from animation to skeleton in the retargetting options then it usually works well.
This is my setup. Legs are working fine, but the same logic is not working for the hands. I presume is something outside the retargeting options, but still not sure what.
Did you check the rest-pose? It should look really similar like the A-pose of the mannequin - if you are using UE4 anims. Like this: New project released by MakeHuman team leader - General Discussion - Unreal Engine Forums - You can’t use T-pose for A-pose for example. You could either fix this in UE4 or (usually better) in your 3D app (because you could compare 2 meshes in the 3D app where you have to guess in UE4). If the pose looks similar then even make sure you don’t have any remaining scale on your armature. Everything should be scale 1.0 before you export your mesh from your 3D app (and there should be 0 errors or warnings at import). That said. I don’t know a Player_walkFwd anim. Is this a UE4 mannequin animation? If not then you have to put your both meshes to the same pose (probably T-pose in that case). The rest pose is the pose that your mesh would use if you don’t apply any pose to it in your 3D app. Its the pose that you would get if you enter “edit mode” in Blender for example.
I did. I put both the Mannequin and my mesh in T-Pose in Persona. Player_walkFwd is an already retargeted animation copied from Mannequin. I’ll double check my bone scaling and rotation in Maya but I’m pretty sure they’re all default (Rotations 0 Scale 1).
Unreal should have an option to rename the bones on your rig if they are not the right names, Unreal is effective, but its not efficient. But at the moment all we can do is only match up the bone names which is not enough, if the bone name is wrong on our rig you want to beable to rename the bone instead of having to do it in another a 3d modeling program… You should beable to see the effects of this bone distortion bug of Blender when you go into the skeleton editor upon importing the skel mesh. The Armature bone rotation bug I think gets triggered off in Blender when you move or rotate any of the bones when in the Object mode instead of in the edit mode and you won’t notice any change to the bones except if you look at the bone scaling, the bone scaling change will show up in those numbers. But the armature will all look perfectly fine in Blender… But soon as you import it into Unreal, and you didn’t set the scaling back to 1 the scaling change will show up in Unreal, usually when doing the retargetting or or when you look at the bone hierachy in the Skeleton Editor the distortion will then show up and if the bones look all warped and twisted out of place then that’s the rotation bug.
Hey guys!
After a while without touching this problem, it turned out that I found the solution. It had nothing to do with the retarget process, it was working correctly. The issue was that some of my joints had rotation other than 0, it apparently messed up with the retarget. I recreated my skeleton in Maya, adjusted the skin wieghts and retargeted again in UE4. It worked perfectly as a different skeleton.