FBX exporter can't scale mesh with armature correctly. #44424

Closed
opened 2015-04-17 10:07:05 +02:00 by Blendy · 10 comments

System Information
Windows 7 and AMD HD6770

Blender Version
Broken: (2.74 or previous versions)
Worked: (not sure)

Short description of error
When exporting animated mesh with an armature as FBX file, the scales of mesh and armature will be different (differed by 100 times ), even if set export scale to 1.0.
And import the FBX exported from blender into Maya, you can see the mesh scale is actually 100, but the bones scale is still 1. It's supposed to be bug of blender FBX exporter.

Exact steps for others to reproduce the error
Simply export an animated mesh with an armature as an FBX file, then import the FBX file into Maya or Blender itself, and check the scale channels of both mesh and bones. You can easily see the issue.

**System Information** Windows 7 and AMD HD6770 **Blender Version** Broken: (2.74 or previous versions) Worked: (not sure) **Short description of error** When exporting animated mesh with an armature as FBX file, the scales of mesh and armature will be different (differed by 100 times ), even if set export scale to 1.0. And import the FBX exported from blender into Maya, you can see the mesh scale is actually 100, but the bones scale is still 1. It's supposed to be bug of blender FBX exporter. **Exact steps for others to reproduce the error** Simply export an animated mesh with an armature as an FBX file, then import the FBX file into Maya or Blender itself, and check the scale channels of both mesh and bones. You can easily see the issue.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Bastien Montagne was assigned by Blendy 2015-04-17 10:07:05 +02:00
Author

Added subscriber: @Rays-Lv

Added subscriber: @Rays-Lv

Please attach a .blend file with mesh+armature reproducing that issue, with exact settings used in FBX exporter.

Please attach a .blend file with mesh+armature reproducing that issue, with exact settings used in FBX exporter.
Author

@mont29
Thanks for reply. I meant exporting FBX at scale 1.0 from blender into Maya at scale 1.0 will get mesh scale at 100 and bone scale at 1.0 in Maya. I did some more tests playing with different import scales to Maya, although some import scale setting can keep scales of mesh and bone exactly the same, but it's not the crucial point on this thread. The problem is working with UE4.
To explain why I care about this problem so much, I have to make this thread a bit longer.
blender_scene.png
Let's begin with this simple animated mesh scene. blender file: FBX_scale_bug.blend

blender_export_scale_1.png
At first, export an FBX file with default scale at 1.0 for testing with Maya. FBX file: blender_scale_1.fbx

maya_sytem_setting.png
System setting in Maya should be set like this, it's supposed to be the same unit scale as the unit in blender.

maya_import_scale.png
Then, import the FBX file blender_scale_1.fbx to Maya with scale 1.0.

mesh_scale_100.png bones_scale_1.png
The mesh size looks the same as it was previously in blender. But the scale channel is 100 now, whereas, the bones scale is still 1.0.

But that's not the crucial point. Let's switch to UE4.

blender_export_scale_10.png
To get a decent mesh size in UE4 world, I have to export another FBX file with scale at 10. This FBX is only for UE4, no need to import it to Maya again.
FBX file: blender_scale_10.fbx

{F163910}
Also export an FBX with scale 10 from Maya (just using the previous imported scale 1.0 mesh from blender).
FBX file: maya_scale_10.fbx

UE4_compare.png
Then, import both of the scale 10 FBX files into UE4 just with default options. We'll easily notice the different sizes of meshes with animation from Blender and Maya. The Blender one got too small to be see at all, although the size of mesh without animation is correct. I did look into the mesh with animation and found it was exactly 10 times smaller than it was supposed to be. Whereas, the Maya one worked properly. So this is the real problem.

PS: If I create the mesh with large enough size in Blender in order to export it just using scale at 1.0 to UE4, then, the size of mesh and animated mesh in UE4 will be correct. However, the problem is that can easily reach the "100 units bone length limitation" in blender I just knew few days ago, when creating some large monster characters.

I can hardly find a perfect solution on it so far. Maybe you could test around Blender, Maya and UE4 to get some other clues for final solution. Thanks.

@mont29 Thanks for reply. I meant exporting FBX at scale 1.0 from blender into Maya at scale 1.0 will get mesh scale at 100 and bone scale at 1.0 in Maya. I did some more tests playing with different import scales to Maya, although some import scale setting can keep scales of mesh and bone exactly the same, but it's not the crucial point on this thread. The problem is working with UE4. To explain why I care about this problem so much, I have to make this thread a bit longer. ![blender_scene.png](https://archive.blender.org/developer/F163869/blender_scene.png) Let's begin with this simple animated mesh scene. blender file: [FBX_scale_bug.blend](https://archive.blender.org/developer/F163874/FBX_scale_bug.blend) ![blender_export_scale_1.png](https://archive.blender.org/developer/F163877/blender_export_scale_1.png) At first, export an FBX file with default scale at 1.0 for testing with Maya. FBX file: [blender_scale_1.fbx](https://archive.blender.org/developer/F163880/blender_scale_1.fbx) ![maya_sytem_setting.png](https://archive.blender.org/developer/F163883/maya_sytem_setting.png) System setting in Maya should be set like this, it's supposed to be the same unit scale as the unit in blender. ![maya_import_scale.png](https://archive.blender.org/developer/F163889/maya_import_scale.png) Then, import the FBX file blender_scale_1.fbx to Maya with scale 1.0. ![mesh_scale_100.png](https://archive.blender.org/developer/F163891/mesh_scale_100.png) ![bones_scale_1.png](https://archive.blender.org/developer/F163893/bones_scale_1.png) The mesh size looks the same as it was previously in blender. But the scale channel is 100 now, whereas, the bones scale is still 1.0. But that's not the crucial point. Let's switch to UE4. ![blender_export_scale_10.png](https://archive.blender.org/developer/F163898/blender_export_scale_10.png) To get a decent mesh size in UE4 world, I have to export another FBX file with scale at 10. This FBX is only for UE4, no need to import it to Maya again. FBX file: [blender_scale_10.fbx](https://archive.blender.org/developer/F163900/blender_scale_10.fbx) {F163910} Also export an FBX with scale 10 from Maya (just using the previous imported scale 1.0 mesh from blender). FBX file: [maya_scale_10.fbx](https://archive.blender.org/developer/F163909/maya_scale_10.fbx) ![UE4_compare.png](https://archive.blender.org/developer/F163912/UE4_compare.png) Then, import both of the scale 10 FBX files into UE4 just with default options. We'll easily notice the different sizes of meshes with animation from Blender and Maya. The Blender one got too small to be see at all, although the size of mesh without animation is correct. I did look into the mesh with animation and found it was exactly 10 times smaller than it was supposed to be. Whereas, the Maya one worked properly. So this is the real problem. PS: If I create the mesh with large enough size in Blender in order to export it just using scale at 1.0 to UE4, then, the size of mesh and animated mesh in UE4 will be correct. However, the problem is that can easily reach the "100 units bone length limitation" in blender I just knew few days ago, when creating some large monster characters. I can hardly find a perfect solution on it so far. Maybe you could test around Blender, Maya and UE4 to get some other clues for final solution. Thanks.

Eeeeeeeeeek! You are using 'apply transform' option!!!!

I should write a big red flashing warning this is EXPERIMENTAL, looks like people do not read tooltips :(

Do not use that option, especially never when armatures or animations are involved!

Maybe I should completely remove it… But then, it can be useful in some cases, when exporting static meshes.

Eeeeeeeeeek! You are using 'apply transform' option!!!! I should write a big red flashing warning this is **EXPERIMENTAL**, looks like people do not read tooltips :( **Do not use that option**, especially **never** when armatures or animations are involved! Maybe I should completely remove it… But then, it can be useful in some cases, when exporting static meshes.
Author

Added subscriber: @mont29

Added subscriber: @mont29
Author

In #44424#303804, @mont29 wrote:
Eeeeeeeeeek! You are using 'apply transform' option!!!!

I should write a big red flashing warning this is EXPERIMENTAL, looks like people do not read tooltips :(

Do not use that option, especially never when armatures or animations are involved!

Maybe I should completely remove it… But then, it can be useful in some cases, when exporting static meshes.

@mont29
Hi, mout29. I'd also tried not applying transform, but it makes no difference with the result in UE4. In fact, usually I don't use this option for animated mesh exporting. But also get no luck.

You may also give it a try with UE4.

And I think you dev team may need consider to remove that "100 units bone length limitation" (that limitation actually doesn't make good sense) from Blender. Then, at least, I can stick with scale 1.0 exporting workflow to produce a proper result in UE4.

> In #44424#303804, @mont29 wrote: > Eeeeeeeeeek! You are using 'apply transform' option!!!! > > I should write a big red flashing warning this is **EXPERIMENTAL**, looks like people do not read tooltips :( > > **Do not use that option**, especially **never** when armatures or animations are involved! > > Maybe I should completely remove it… But then, it can be useful in some cases, when exporting static meshes. @mont29 Hi, mout29. I'd also tried not applying transform, but it makes no difference with the result in UE4. In fact, usually I don't use this option for animated mesh exporting. But also get no luck. You may also give it a try with UE4. And I think you dev team may need consider to remove that "100 units bone length limitation" (that limitation actually doesn't make good sense) from Blender. Then, at least, I can stick with scale 1.0 exporting workflow to produce a proper result in UE4.
Author

Added subscriber: @JoshuaLeung

Added subscriber: @JoshuaLeung
Author
@JoshuaLeung

Closed as duplicate of #41605

Closed as duplicate of #41605
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#44424
No description provided.