Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.70
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: rBf6cb5f54494e
Short description of error
Blender's FBX exporter and importer consistently exports and imports objects with wrong scale transform:
- Whenever Blender imports any FBX from any non-Blender FBX supporting software, many objects have the scale transforms imported at 0.01
- Whenever Blender exports FBX to any non-Blender FBX supporting software, the objects come in scaled at 100.0 parented under a root node scaled at 0.01.
This is despite the fact that all the objects had scale at 1.0 when imported or exported. The experimental apply transform checkbox does solve the issue to some extends, but will always break any hierarchy that's deeper than one level, and will break any skeletal skinning. The experimental apply transform checkbox is also wrong, and misleading, implying that the option will apply/collapse any irregular transformations. This is not the case when exporting scene where all the scale transformations are at 1.0, so it makes no sense that the checkbox has actually any effect, if the scale transformations are uniform and already applied at 1.0 prior to export.
The scale parameter slider (defaulting at 1.0) is also not helpful, as modifying it in any way changes the actual physical scale of the imported objects to be non matching of the original scene scale. Any value other than 1.0 will results in imported scene being either larger or smaller than they should be.
This issue makes it very difficult for Blender to interoperate with Unreal Engine 4.
Exact steps for others to reproduce the error
- Import any FBX file exported from any standard non-Blender 3D app, which had scale transforms at 1.0 (100%) when exported
- Notice most objects have transforms imported at 0.01
- Export FBX from Blender to any standard non-Blender 3D app, and make sure all the objects have uniform default scale of 1.0
- Observe that the imported objects in target application have non-default scale, usually 100.0 or 10000%, depending on how the destination application displays scale
Result: Blender's FBX I/O consistently both imports and exports wrongly scaled objects
Expected Blender's FBX I/O consistently imports and exports correctly scaled objects, without necessity to anyhow "apply transforms", breaking rigs and hierarchies in the process.