Importing an fbx skeletal mesh from Blender into Unreal Engine 4 results in bones being too small to create Unreal physics asset. Requires scaling workaround. #47043
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
19 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#47043
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Windows 10
Nvidia GTX 970
Intel i5 4690k
Blender Version
Broken: 2.76 48f7dd6
Short description of error
When importing a skeletal mesh into Unreal Engine 4 that was exported as an fbx from Blender 2.76 with default settings (or modified, it doesn't matter), Unreal will return an error stating that the bone size is too small to create a physics asset for the skeletal mesh. My work around was to scale the mesh and the rig in Blender to 100x, apply the scale, then scale both down by 0.01x, and apply the scale to only the mesh. Unfortunately, this would break the mesh visually in Blender, although it would import into Unreal Engine 4 perfectly. I would have to undo the scaling after the fxb export in order to work with it again.
Exact steps for others to reproduce the error
AlienChar_selfRig.blend
Changed status to: 'Open'
Added subscriber: @darkpivot
#99075 was marked as duplicate of this issue
#68495 was marked as duplicate of this issue
Added subscriber: @mont29
Hrmfff… Honestly, I’m beyond tired of those scaling issues, and of having to guess FBX crapyness out of a blackbox in general. FBX seems to use a global scaling model at least as complicated as its transform model - that, and/or nobody actually knows how to use it. So I’m horribly tempted to answer "go convince Autodesk to publish clear FBX specs", since this is the real bug from the beginning… :/
I might have an idea about what happens here… Issue is, in Blender, a mesh object deformed by an armature is a children of that armature (i.e. it inherits its scaling), while in FBX mesh and “armature” (chains of bones in fact) remain independent, which means (wild guess) both get scaled by global scaling before being bound. Or something like that…
Anyway, will try to have a look at that, when time and will allows…
Added subscriber: @BrendonMurphy
Changed status from 'Open' to: 'Archived'
No activity here. Archived.
Changed status from 'Archived' to: 'Open'
Please do not archive those, they are known valid issues, though it is unclear where the problem is… I may not be keen on spending time on this PoS of FBX currently, but better keep reports open still!
Added subscriber: @Xazen
Dango.blend
I have the exact same issue with 2.77. Thanks Adam for pointing out the workaround.
Just adding a few more information:
The skeleton looks correct in UE4 after importing even when the fbx was exported without the workaround. The asset can then be exported as in fbx using ue4 an reimported to get the Physics Asset.
Added subscriber: @Positivity
Added subscriber: @jrboddie
Added subscriber: @cl4ws0n
This workaround doesn't work for me. When I reimport after exporting from UE4, the skeleton comes back completely collapsed into the origin. Any ideas??
Added subscriber: @nanami-4
Hi Bastien
I have the same issue with Blender 2.78a and UnrealEngine 4.13.2. I debugged Blender fbx export code and UE4 fbx import code, print out all matrixes and some variables' value, the problem seems to be clear now:
Reproducing Steps:
What happened in Blender:
So all the transform link matrixes in the bind pose will be scaled by 100, and the UnitScaleFactor writed to fbx file is 1.0.
What happened in UE:
UE uses the bind pose in fbx to construct the bone info and calculate the bone size, transform link matrix in bind pose will be converted to local space matrix( the bone position in parent space), this matrix is used to decide the bone size . Due to the 100.0 scale applied to transform link matrix, bone size will be scaled to 0.01 of original size.
For example:
The transform link matrix of the root bone, M1:
The transform link matrix of the pelvis bone, M2:
The Local space matrix of pelvis bone, M3 = M1.inverse * M2:
The Z-axis size of pelvis bone should be 75cm, but it is shrinked to 0.7519cm.
I can upload the code and full log if necessary.
Added subscriber: @semaj-1
Added subscriber: @marcomaryred
Added subscriber: @Max500
Added subscriber: @Bater
@Bastien Montagne,
My issue is when exporting armature assets as .fbx from Unreal Engine to Blender, the bones sizes, orientation and look comes wrong.
Exporting from Blender to Unreal Engine works fine with me 90% of the time unless morph targets are involved
The issue is with all releases of blender 2.8 and 2.7X
@Bater ack sorry, read that one the other way around… Guess your issue is closer to #53620 then.
Added subscriber: @Ghostroots
Added subscriber: @TheBigIvason
Added subscriber: @Gonzi
Hello, I've spent two days trying to fix my physics asset, before I've discovered this culprit. I've spent today trying to fix it from Blender. No matter the configuration (scaling in UE, in Blender, apply, don't apply... ), the error will always be there.
The possible workaround doesn't work for me, since the "apply scaling" breaks my whole rig (that might be something on my part). Even if it would be possible to do so, it's not a comfortable workaround in any way, shape or form.
What can I do for this to have a higher priority? Is there a chance of someone fixing it?
Added subscriber: @dave_sullivan
I am having this problem as well and it is driving me crazy for several days. I have narrowed down some of the issues but not the solution. The re-scaling solution does not seem to work for me.
Am I supposed to scale up the parent rig + the mesh inside? When I scale up the parent rig it's ok. When I then scale up the mesh, it appears waaaay too big because rig is getting 100x scale and then the child within is getting another 100x scale. But supposedly if I import that into UE4 it should be ok? But it's not. Do I need to apply the transforms first? Am I supposed to scale the armature and mesh from edit mode or object mode? Doesn't seem to make a difference. The physics asset is always generated incorrectly and it comes down to this issue of asset scale.
Really should be easier to enable ragdoll effects on a rigged character. Part of the trouble is, I suppose, "is this a ue4 issue or blender issue?"
Really frustrated because I've been over the checklist and over it and nothing seems to work properly, I end up with a ragdoll that just sort of explodes into a mess of polygons. Every tutorial about setting up ragdoll physics uses the UE4 mannequin and not a custom character + rig.
While this may seem to be an edge case, it does seem that "No one on the internet can demonstrate setting up a rigify rigged character and exporting that to UE4 for successful use with ragdoll physics". Would sure be nice if that video existed somewhere on youtube. Maybe it is a UE issue really.
I made a video demonstrating the issue and then outlining things I've tried, including recommendations from this thread: https://www.youtube.com/watch?v=uzDhFRfB-d8
I apologize for the length but the issue is explained in the first 5 minutes and the rest is me troubleshooting in vain. Hoping I can make a follow up video on how to actually do it because I'm really scratching my head on this one.
Added subscribers: @Colin_Knu, @PratikPB2123
This task is 6.5 years old. Maybe fixing the fbx exporter isn't possible with the licensing issues as they are. What about a hack export to Unreal option that very specifically modifies the animation data for Unreal exports so that the armature isn't shrunk?
Not sure if this is related, but way back around 2012 when exporting from Maya to Unity, we had to export in centimeters because meters was bugged. If we exported in meters, the skin would come in at the correct scale, but the joints were 1/100 the size. It didn't express exactly the same way as this, because the skeleton no longer lined up, but similar enough that maybe it hints at some underlying foible of the Fbx format.