So I’ve been wracking my brain for the last two days over this. I’m using Blender 2.8 and UE 4.24.2.
I’ve built a biped Squash and stretch rig in Blender. I have a deform skeleton constrained to a control rig and all works beautifully in Blender.
Here’s my Blender Rig:Blender NonParentBoneStructure - YouTube
HERE’S MY PROBLEM.
My first iteration of the rig in Blender had a bone structure that had a non parent relationship. Like this:
All of my animations worked perfectly with squash and stretch when imported to UE4 as you can see here:UE4 NonParentedBoneStructure - YouTube
But after discussion with the team we realized this bone structure isn’t really ideal for our game. More specifically IK limbs wont work in Unreal without adequate bone chains for arms and legs. And also retargeting any animations we may get from the Market Place will be impossible to retarget and slows down our ability to prototype having to wait on our custom anims.
So I decided to try and restructure my deformation skeleton to match the UE mannequin skeleton and I did so successfully in Blender. It didn’t hurt any of my animations and everything still worked as you can see here:Blender ParentedBoneStructure - YouTube
But when I reexported all of the animations with the new skeletal structure everything went nuts when I brought them into UE.
Here’s the animation result:UE4 ParentedBoneStructure - YouTube
I’ve literally tried everything. It appears to me that there’s an issue somewhere after the Blender FBX export. I can’t think of a logical reason why the same animation with two different skeletal structures that both work in Blender wouldn’t export out of Blender the same way.
If anyone out there can hear me PLEASE HELP. I’m losing my freaking mind.
Try in a blank project first. It could be related to retargeting or similar even if you did not re-target anything yet.
With a fresh skeleton.
also, try to import into any other 3d program that supports FBX to see if the issue is present in the FBX or not.
I have been noticing strange things that shouldn’t happen myself. Things like, bend spine 03, get the head to turn.
so if you have time and are currently on .24.2 I would suggest hopping back to .23 or well, maybe even .21 since that’s where I remember having no issues at all with odd things during import.
I had a brief look at the source for the fbx import / compared to .16 (where the blender armature change was made). The code is vastly different from then, and I haven’t really seen anything being mentioned in most releases.
Ofcourse, this could be a localized problem for me as well, but importing the “supposedly” clean animation that makes the head turn, and re-expoeting it, shows that Unreal actually thinks the head bones are keyed to turn.
The last time I had something similar occur, this was related to the skeleton setup for retargeting having some bones set to something other then “animation”.
The dead giveaway on those cases is usually that selecting no skeleton during import will load a new skeleton and a working animation, whereas using the old skeleton you get issues.
Either way, even blender and rigify are behaving terribly at the moment.
Rigify was recently patched and they changed the way the pole functions work (nearly breaking custom plugins).
Blender’s fbx export seems to be currently getting an update - may show up for download in the next official release. Not really sure what they are changing exactly, but it should address some scaling issues for unity info read that right (read as we don’t care anyway).
As a side note:
it looks like You have one leg not parented to the hip. This would probably cause some issues with stretching…
I appreciate the response [USER=“3140864”]MostHost LA[/USER] . I’ll give all of your suggestions a shot. Also thanks for pointing out my leg parenting haha. Don’t know how I missed that. That could help with the leg flipping around issue.
And yeah. Sadly I have a feeling this is a bug in either UE4 or Blender currently. I saw a video Epic put out about a new addon they’re building for Blender specifically because of Blender to UE4 export issues. They couldn’t stop raving about how amazing and wonderful and happy they all were to finally have a fix to their Blender -> UE4 woes. Which got me all excited. Only to find out they will be releasing it oh so conveniently “this year.”
So I’m hoping I can hack the system in the mean time and find a work around to whatever this is. Ill report back.
So I reimported my FBX to Blender and realized it’s Blender that’s exporting the animations incorrectly not with UE4. Sorry Epic. So it has something to do with the way Blender is exporting the animations with parented bones…
You can try my Curves plugin.
it’s based on a now old version of the FBX plugin.
I use it, but I’m still getting issues, so it may literally do nothing for ya. (Other then allow you to export anim curves)
Really appreciate the help, my friend!
In general, getting the correct bone orientations for the UE mannequin out of blender is…not easy to do.
There are a few plugins that can help:
I highly recommend looking into them if you need to export UE Mannequin from Blender.
Sounds like someday Epic might release their own Blender add-on to export Blender to Unreal tools, Part 1 | Live from HQ | Inside Unreal - YouTube
Don’t count on epic.
What they are doing so far is just using the existing FBX export.
The problem in everything is the poor conversion of the FBX export compared to it’s native Autodesk version.
If they ever decide to read the .blend file and import from that - then maybe, they’ll be able to offer a more robust solution.
Otherwise complications and limitations will be much the same. What’s more, if you watched the announcement video and how they get things to work, the current setup will destroy 90% of all prior work by requiring you to manually split things into different collections.
You can add BoneBreaker (Bone Breaker: Unreal to Blender) to that list of add-ons.
Working on releasing a quick update to address the Pole change issues as well.
With your own custom rig bone orientation usually won’t matter.
The OP’s issue isn’t really related to that. Though in general, Primary is Y axis, Secondary is X axis. (blender’s armature tab in export). while the orientation of the axis on Main is Y forward Z up.
Again, nothing to do with the OP’s issue really.
You could even try to import the mannequin, delete the armature. create/scale a human meta-rig, and automatically parent the thing - then export.
The imported FBX skeleton will work - just won’t have epic’s nomenclature or hierarchy anymore. Since most of us create stuff that is marketplace compatible we look to solutions that allow to keep that bone structure the same as much as possible…
I posted this in the Blender forum also and someone shared this.
Explains why I’m getting the issues I’m getting. If anyone is interested.
But or doesn’t. Your parenting looks to be mostly ok in the info you shared above…
I was able to solve the issue by changing all of my copy transform constraints to just location and rotation constraints. It turns out the way Blender exports FBXs is in a very specific order. So the scale of the bone was being added by it’s parent’s scale. In the unparented skeleton this wasn’t happening due to the fact that it had no parent that was scaling. So taking out the scale part of the constraint removes the added scale to the bone in the FBX export.