I imported the ‘scale_issue_kv.fbx’ file first. Then I imported ‘scale_issue_anim_kv.fbx’ which contains only the animation. For this animation I chose the armature imported first.
I’m not sure what do you mean by ‘create the skeleton’. I imported the mesh as skeletal.
We have been looking more into this and have found that this seems to be an error on Blender’s side. We recreated the skeletal mesh you have set up and exported it to an fbx, then imported it to maya. The same errors you were seeing when it is imported to UE4 occurred when imported to Maya.
Since this topic is marked as resolved I was wondering if you ever found a solution to this issue through the Blender channels. I am having a similar issue with scale only mine is to do with a squash and stretch rig.
If you found anything on this issue I would really appreciate some help.
Unfortunately I didn’t find any real solution yet. I reported the problem to the blender guys as well, an they said:
‘OK, see the issue… But I think you
are trying to do something that’s
simply not supported by FBX - FBX
assumes a simple parent/children
relationship in transformations, those
Blender’s advanced options cannot be
represented (afaik) in FBX, and simple
transform (and binding) matrices are
not powerful enough to ‘bake’ it
properly. So in a single: this is not
and cannot be supported with FBX
currently. Thanks for the report
anyway.’
Pffff… anyway I am pretty sure FBX could handle the matter so I wanted to test it with Maya. I haven’t done that yet, but it would worth a try.
There is one thing how you can cheat this issue: it only occurs if you have parent-child relationship in your armature. I had a ball character which has legs and I scale the body (ball) part quite often (I only export the deform bones). Since I only scale the body bone I simple made the shoulder bones child of the root instead of the body. Now the scaled bone has no child so the issue does not happen. If you don’t need parent-bone child relationship in UE4 then you can parent all your bones to the root (for me all the deform bones copies the loc/rot/scale of some other bone so the animation remains the same). This is however a really poor solution because this way you can’t use parent-child relationship inside the engine.
PS.: my English is far from perfect so if something is not clear then tell me.
Darn, that sucks that it seems to be unsolvable from the perspective of the program.
I understand what you mean. I have been trying to build a custom squash and stretch rig, and i experimented with a leg, here:
The foot inherits the scale of the parent. However if I remove the parent child relationship it all works fine. But it’s like you said you then cant use the parent-child relationship in the game engine.
This becomes a problem for me when it comes to using a character rig with Unreal montages.
I actually posted another question to see if there is any kind of solution again because I made a simpler rig which behaves correctly in Unreal:
So i get the feeling there is some way to solve this.
Here’s a link to the other question if you are interested: [https://answers.unrealengine./questions/474908/blender-to-ue4-squash-and-stretch-bone-heirarchy-s.html][3]
Thank you for the link, I will keep an eye on this issue. However I’m pretty sure why your second example works correctly: the issue only occurs if you scale AND rotate the parent bone. As long as you only scale it the animation will be played correctly.
And just one other note on the first one: it doesn’t only inherit the scale it does some rotation as well.
This issue caused many pain for me even with a simple human rig. I scaled some of the bones to change proportions and then I used it as a rest pose. That actually means that even my single poses couldn’t be exported correctly (if I rotated scaled bones). .D It took me some time while I figured out what’s the matter.
And one last other thing: since the problem is on blender’s side I don’t think the UE4 guys will be able to do something with it. It would be cool if the Blender guys could be convinced that this is something which needs to be solved.
Anyway, this is where I reported the problem to them: https://developer.blender.org/T48586
I thank God for showing me the solution! All you have to do is add a “false foot” bone that is NOT a deform bone to each leg. I named this bone FootParent.
Connect this bone to the Lower_Leg bone (which has an IK constraint). Set FootParent’s Inherit Rotation and Inherit Scale to off, and add a Copy Rotation constraint which copies your Foot_IK bone (X + Y invert, Target: Local With Parent, Owner: Local).
Now duplicate this FootParent bone (or add a new one in the exact same location and orientation) and name it Foot. This will be your deform bone, and is NOT connected to anything.
Finally add 3 constraints to your Foot bone: Copy Location of the FootParent bone (Target: Local With Parent, Owner: Local); Copy Rotation of your Foot_IK bone (X + Y invert, Target: Local With Parent, Owner: Local), and optionally Copy Scale of your Foot_IK bone (Target: Local, Owner: Local). Now all your animations will export to FBX the way you created them in Blender!
(NOTE: Even though FootParent is not an actual deform bone, you can set “Deform” to on {just don’t assign any vertices to it} if you want the bone to export to UE4 when exporting “Deform Bones Only” {this may be useful for creating IK setups later on in Unreal, but has not been tested yet. You would likely need to find a way to have each disconnected Foot bone copy the transforms of the FootParent bone, which would be influenced by the IK solver. Again this has not been tested yet; if further information becomes available I will update this.})
Since the problem only occures in parent-child relationship, if your exported bones are parented to another bone you won’t have the scale/rotate bug. However it’s not really a solution becouse this way you loose your parent-child setup which will couse you problems if you want to do something with the rig/animation inside UE4.
That’s true if you are trying to alter your pre-made animations in UE4, however, the main point is exporting your animations to FBX and importing them without transform errors. This achieves that, so for me it’s a great solution. There are other limitations that exist when exporting to FBX, like it not respecting dual quaternion skinning. We have to work with those limitations at present. Whether other animation packages can export a squash and stretch rig with the full hierarchy preserved is unknown.
I’ve been using the same solution for more than a year now. I still wonder if the problem is with the blender fbx export though. I planned to try the same stuff with maya but I was too lazy to install a trial version of a program I won’t be able to use anyway. In most cases when I had trouble exporting animations and the structure of the rig didn’t matter I simply created a new set of deform bones parented them to root, constrained them to copy the transforms of the previous deform bones and only exported the new deform bones from the rig (turn off deform for all the other bones and export with only deform bones option.)
Well, if it is a Blender-related thing, it’s a small price to pay (pun intended!) for not having to use Maya. I remember how appalled I was when they switched to a subscription model… that makes it even harder for an individual to learn at their own pace (ie. every month you don’t use it will cost you!).
You are right! .D It’s really awsome that we can use a professional app like Blender for free. Btw exporting from other 3D apps can also have issues and Blender is getting better and better really fast. ATM I’m waiting for Eevee. .D UE4 style real-time rendering inside Blender could be really awsome.
I tried that and it does not work - either I did something wrong or my problem has nothing to do with this bug.
May I ask you - could you provide two blender files with some very simple object and skeleton, one showing that problem and without those additional bones and second file with same object and skeleton, but with added bones that works properly?
I am sure I would learn something looking at those two files and comparing them.
Hi Mader_Levap, what version of Blender are you using? I’m using 2.79.4, but I can possibly send you a file from 2.79a if that would be better. For now, here is an alternate solution someone found recently: https://answers.unrealengine./questions/474908/blender-to-ue4-squash-and-stretch-bone-heirarchy-s.html?childToView=708553#answer-708553
There is also one other very simple workaround if you do not need to scale bone at all (presence of glitch in these circumstance is probably something like rescaling from 1 to 0.999999) - just apply scale constraint 1.0 everywhere. At least it worked in my case, but I realize sometimes you need both rotation and rescaling at once.