Thank you for the file. It imported just fine on my end to UE5. I did look at the NLA editor on the file and it looks like the animations are all under the Armature. Is that important? I tried putting all NLA’s under the armature, but I still got the same result. Do you see anything new or wrong with this? Thank you!
I would try getting rid of the bone groups. Maybe, on import, it’s including them as another set of bones? That might be the cause of the duplication issue? I’m guessing you are using bone groups to select different groups of controllers? Maybe you could group them by parenting to a bone and then the parent bone to the root? I have never used a skeleton that big. I would worry about the animation going under the model also. What are you controlling with the plane to produce a separate set of animations? Bone groups and that plane, is where I would look.
I’ll add bone groups to my model and see if I get that duplication error and get back to you.
Yeah, it’s not the bone groups. I would check that plane. I’ll try to reproduce that and get back. If the plane is the direction/root motion control, unparent it from the model and parent it to the skeleton. if not, what is it and what for?
Actually, scratch that, I see why. You did a retopo of the model using a plane, and there are vertex animations. If you parented and unparent the skeleton to the model, it makes new vert groups. Every time you unparent a skeleton to a model, you have to go into the vert groups and delete the prior groups made by the skeleton. Do not delete any vert groups you made on your own, just the ones made by skinning the skeleton to the model.
It has to be something you are doing in the rig, or there is something stored somewhere in the history. Maya has a setting named Clear all history/“”"by type, that’s what I would say for you to try, but I don’t know if there is such a thing in Blender.
I reproduced the same hierarchy, and I was able to import with animations (Check the Jpeg. I box modeled the mesh, real quick, so it says “cube” because that’s what I started with. It would say “plane” if the mesh would have been a retopo). I parented and unparented the skeleton a couple of times and left the extra vert groups also, and it still imported.
The only other thing I can think of is the obvious. Maybe you clicked on something, and it duplicated the control bones. Go to edit mode and select your bones and see if they are doubled. It’s usually something simple in the end, sometimes, just overlooked it. Blender bones might not “flicker” like its competing for the draw call like a mesh does. You really can’t tell at a glance. I know I’ve duplicated bones and meshes and didn’t realize it till the end. Seeing that it worked earlier, and it looks like you know what you are doing.
Looking at your bone hierarchy, “root” is at the top; that’s right. The controller bones underneath are your duplicate errors, I think. Those control bones should be in the hierarchy under the root, they shouldn’t be visible unless you clicked on the “root”. That should be your answer.
Unreal does support bone animations that scale, I was talking about Maya. When making the skeleton in maya, you want to avoid scaling/rotating. I just keep to the same rules when using Blender.
Scaling bones in blender still introduces wierd rotations on the parent bone.
So avoid scaling bones in animations.
Re blender NLA tracks.
I much prefer working without and having a single file for each animation to edit.
The idea behind the system is the opposite. Having one file where you can access and export any stored animation. Oneslty, its confusing on the best of days. When you are 5 hours deep on animating it only gets worse, so i avoid it alltogether.
Generally speaking people are oftent told:
Do not animate IK bones.
This is BS. They are supposed to directly follow their parent bone, so they can be peogrammatically moved/adjusted as the code calls for.
However, its looking like your NLA track has some issues with IKstuff that has been removed or similar.
Best suggestion is to create a new file and copy the armature over - you’d think.
But the paste process can actually bring in the nla tracks, so you have to be aware of it / delete them manually after pasting.
For simplyfying exports you can probably use my plugin.
Default functionality is to use a mannequin rig, but if you name the armature Root you can export any armature with the correct pre-set settings without having to remeber what is what…
Hello. Thank you for your attempt at resolving this issue. If my armature was to have several animations, I would definitely have a blank default armature file ready to animate for a new scene. Since this is the only animation for this model in particular, I just started animating. Also, I am exporting from Blender into UE5, not the other way around.
I also tried to export and reimport my animation within Blender, one, to check if it is exporting at all, and two, to see if I cant export the reimported animation (which also did not work). I also tried baking the animation to make it all ONE animation on the NLA and deleted the other tracks, but this also failed.
Thank you again for your attempt. if you have any other potential solutions in mind, please add it here. Thank you!
Hello. I just noticed something, your bones are under the “Pose”, while mine is under the “Armature” in the outliner. Is this a clue or something that wouldn’t effect this issue? I cant really see anything online. Thank you!
Yep, that would do it too.
For sure.
I’ve done it. lol. Like I said, I over-look the obvious.
Hold up, wrong thing. I was thinking you were talking about the Rest Postion/Pose Position options above layers in the armature options. That would stop the animations from importing.
Nope, for some reason Blender does that depending on the “Mode” you’re in. Bones are listed under pose when you are in pose mode. Bones are listed under armature if you’re in object mode.
Ok, if you look below, I have produced the exact hierarchy. It won’t import because of the multiple root. The bone thats right below root is the issue because its not in the root hierarchy. To fix it, I just parented it to the root and it imported in fine. That said, I did the same thing earlier, and it imported in, lol, a couple of times. Thats the thing sometimes, the engine is doing so much, it missed. It engine hick-up’d and let it in. I then parented it to the root using the child of bone constraint, it still wouldn’t import. The error was the same, multiple roots. I dont even know how you got it in to the engine, Ive got the same thing and it wont go. I did get it to import into the engine at first though. That has to be part of, or “the” issue.
The other thing is the blend shape animations. You want to have them in a seperate animation alone. I did get an error on the animation when I added it to another animation. It gave me animation sequence, like you have, but nothing moves. So, the blend shape animation is your other issue. You want to layer those animations inside the engine. Only do blend shape animations with blend shapes, don’t combine them with bones animations. For instance, the character is breathing if it’s a blend shape anim, you want breathing alone as an additive or an override animation. Like I said, I added the blend shape anim to a bone animation and it gave me a sequence, but nothing moved in the sequence. The blend shape anim inside the bone animation, and copying your hierarchy(with the bones outside the root) were the only ways I could get it to break. I even duplicated bones and it still imported with animations and no errors.
Last thing you could check is, go into pose mode, select the root bone, and try to try to move it. Every bone should move with the root. If every bone doesn’t move with the root, that’s your other issue. The solution for that is to go into edit mode and parent all those bones for the controllers, that aren’t under the root hierarchy, to the root. Remember, the child of constraint isn’t recognized in the engine.
Hope this finally leads to your fix. I can’t find any other issue to make it break. Otherwise, the only other thing is to re-rig. I think we have picked this all the way apart.
Ok. So should I just give you the Blend file? Its just under 130,000kb. I cant seem to find what it could possibly be. Maybe you could notice something?
Edit: I just saw you post right when I sent this. Ill try to look at it a bit. I still don’t know how this exact same armature worked earlier. Thank you!
Edit_2: I don’t think I can have a root bone as you describe as then the animation IK’s wont “stick” to the ground as I want them to as I want this creature to look like its “pulling” itself. I also don’t get an error message that tells me why the animation failed to import at all. It does sound like you might have found the overall problem. Ill have to mess around with this a bit before I mark it as a solution. Thank you again! Lets hope it works this time.
The root bone is just the very first bone that you make for the skeleton. You normally want it at the ground on a biped character (it doesn’t have to be on the ground, it just makes sense to place it there) so the character stays along the ground. Depending on what engine or tool you are using (Unreal 5, they added control rig so there are other ways now) you do a line trace from the leg Ik pos to the ground (Or socket to the ground) to check for ground. The hit position/rotation “if valid” is used to determine foot placement/rotation on the ground/surface.
The bone you named “root” is your root bone. Just parent those bones outside your root bone, your “Ik targets” for all your legs, to the “root” bone.
Hello again. I tried making all the bones under a root bone, but I still get the same exact problem. I also get the same errors saying that the bone controls already exist. Is there any other possible issue that is causing this? I occasionally think of something that I could do but none of them have worked or changed the outcome. I really hope there is a solution to this as this took a long time to build and animate. Thank you again for sticking with me on this.
It’s all g, I like solving problems. You have to remember, the ground plane isn’t a perfect thing. Feet are never going to be perfectly aligned; with movies there’s some editing that goes along with it. As long as you can get it as close as you can. I even got it to import with duplicate bones, on the animations, bone groups with same controllers, a pos library, etc… I can’t reproduce those same errors. I can just get the error for multiple roots.
What Bone constraints are you using on your legs?
If you check the file I sent, you can see how I have it parented in edit mode. Like I said, the “child of” constraint doesn’t work for the hierarchy check that unreal is doing.
A lot of games, especial new ones, hide the feet. There might just be arms and a camera. I know you know this, feet aren’t no joke.
If you have blend animations, you only need to duplicate the mesh, deform the mesh; then
“Join as Shapekey”. You don’t need the skeleton in that process.
Hello. I dont see much difference with our rigs, but maybe I’m missing something? All legs at the front have this IK setup. The reason I had them be their own root was it still worked in UE5 at the time, and it allowed for near perfect leg “Pulling”. I dont have the smaller side legs do this as they are small and it was much easier to just give them an animation cycle (Which actually looked more decent than I was expecting when viewing it). Thank you again!
Blender does have a clean up utility, but I have never used it. I just figured out it was in the file menu at the bottom today. It could possibly still be the naming conventions. With how man bones you have, maybe it triggered something by seeing so many repeat Ik.
The worst case, if the model imports without the animations, the animations are the issue. Somewhere in the animations there’s an issue, delete the animations and re-animate the model. I know that hurts, but atleast you don’t have to go back and re-bone and name all the bones. This time when you animate, do the legs in their own animation. If you did that from the start, good. I would do the whole rig like that. You have to have the blend shapes anims separate, anyways.
Sorry I couldn’t be more help. Save that file, then save as that file, then delete the animations if the model imports and not the animations. That, or check “file/clean up”, it’s at the bottom of the file menu. Thats all I can think of.
Hello. I am still looking around my file to see what I can do, but I think using an Alembic (.abc) file type might have to do me as it actually worked. If you know of another file type that would better suit this, please tell me. Alternatively, if you know anyone else who is crazy enough to try and figure this out, I would appreciate it if you could send them here. Thank you again for staying with me on this problem. If I find out what the issue was, or find the solution, Ill let you, and anyone else, know here. Thank you again!
No problem, you’re welcome. There is supposed to be a new file type that they are going to try to introduce, from what I hear (I can’t think of the name, I was watching some Nvidia videos, I think its Usd, I might be wrong). Unreal use to have Actor X and you had to break bipeds into chunks.