FBX Importer Doesn't Respect Size and Hierarchy #58877
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
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#58877
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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
Operating system: Windows 10
Graphics card: GeForce 1080
Blender Version
Broken:
2.80 Beta
2018-12-03 00:27
Hash: a205493426b
Short description of error
Imported FBX files don't have the size or hierarchy correct. We have FBX files that were authored in 3DS Max. They import into Maya just fine. They import into UE4 just fine. But importing them into Blender results in size issues and parenting issues. See the attached screen shot. The left shows the imported models in Blender. The right shows the exact same FBX files imported into Maya.
If you look at the selected (orange highlighted) objects in Blender, you can see the circular disc and the vertical pistons that are in the Maya file.
Added subscriber: @stevewarner
blender/blender#58876 was marked as duplicate of this issue
Added subscriber: @brecht
We need an example .fbx file to demonstrate the issue, to be able to investigate this.
Sure thing. Check these out. The FBX should load into Blender like it does into Maya, UE4, etc. However it does not, as you can see in the attached screen shot.
I dug into the scene and it looks like several of the meshes aren't parented or scaled properly. In this case, the MT_Anim_ARM_03 mesh should be parented in the following hierarchy:
MT_ROOT_Main_Animation
There's another part, MT_Anim_ARM_02 that's parented to Bone007. It imports fine. But MT_Anim_ARM_03 should be parented to Bone008 and it's not.
Manually parenting MT_Anim_ARM_03 to the MT_Anim_Root_Arm1 mesh, and then choosing the Bone008 as its parent doesn't resolve the issue.
In addition to this, most of the FBX components I've imported from 3DS Max are located in different parts of the scene when they come into Blender. In Maya and UE4, they all come in relative to each other, so it's literally an import and then you're off and running situation. But in Blender, it's requiring a lot of manual correction, which is not ideal.
Thanks for looking into this! We're looking forward to eliminating UE4 from our pipeline and doing all of our scene layout and rendering in Blender.
Pistons.fbx
Here is what the animation should look like. Pistons.mp4
I spent some more time with the FBX importer. I've been unable to get the bones to import and orient as you see in this video. That said, I found that if I cleared the origin for the MT_Anim_ARM_03 mesh, then parented it to Bone007, I was able to get it to snap to the general location that it should be. Unfortunately, this had no effect on the scale. I still had to manually resize the mesh to 0.01 scale on X, Y, and Z to get it to be the right size. And even then, I have been unable to get it to orient properly.
I'm changing the status on this from "Incomplete" because I've supplied the FBX files needed to test this and resolve it. I've changed the Priority to "High" because this issue severely impacts interoperability with other 3D applications. With Blender having adopted LMB as a standard, it's clear that 2.8 is designed to appeal to new Blender users. Those coming from other applications will need a working FBX importer in order to migrate assets and take advantage of Blender's powerful toolset.
We only use High for urgent issues.
Added subscriber: @zabloct
Observing the same behaviour i.e. objects moved around and all of them are at the top level without parenting. This is a total blocker for me. Is there a chance this will be solved soon? Cheers.
@zabloct please read topics, rules, etc. etc. This is certainly not a high prio issue currently, even less given of frustrating FBX and other apps are at handling those scale/units/blabla stuff.
And actually even moving back to incomplete. We require SMALL AND SIMPLE files (in caps and capitals in the faint hope that it will be read this time)!
How am I supposed to investigate a full 6Mb production file? That kind of issue is to be reproduced with two or three cubes and bones, not a full mechanic hierarchy with tens of bones and objects and huge meshes and animations and… Just importing that monster already takes ten minutes on a debug build!
Bastien, I understand the desire for small and simple files, however if you only ever test small and simple files, then you'll never encounter the types of problems that we're reporting here. These problems don't come up in simple cases. They come up in real-world cases where you have layers upon layers of bones in a hierarchy.
The 6MB file I attached is a heavily stripped down version of a file we got from our animation team. Heavilystripped down. The much larger full file is over 1GB and it loads into Maya, 3DS Max, Modo, LightWave, and Unreal Engine without issue. Blender is the only 3D app we've tried that has this issue.
You noted in a comment to Tomasz Zablocki that other apps have frustrating FBX support. We have Maya, 3DS Max, Modo, LightWave, SketchUp, Unreal Engine, and Unity at our studio, and none have this issue. Can you clarify which apps have similar problems with FBX files?
I would have to agree with Tomasz Zabocki that this issue is a huge issue and one that should be elevated to a high priority. Blender has come a long way in 2.8 and much effort has been invested in making the program friendly to new users. These users aren't all going to be 3D newbies. They're going to be studios like ours that are filled with professionals and who are interested in incorporating Blender into their pipeline.
Our studio's pipeline is currently built around Unreal Engine 4. We create content in Maya, Modo, 3DS Max and then port things into UE4 for rendering. As the Creative Director for a major theme park design company, I see the potential to replace UE4 with Blender in our studio. But if we can't get the files from our art team into Blender, then Blender simply cannot be a part of our pipeline, no matter how much I'd like it to be.
Please reconsider elevating this task back up to Normal or even High. Being able to play nicely with the other 3D content creation tools out there is critical for the success of an app in a professional environment.
Thanks for your consideration.
Just something to mention is that actually Blender's FBX exporter is a bigger problem here. It does not keep parent-child relationship at all. Exporting FBX files from 3DS max works like a charm and I can easily put that into Unity and use it straight away. With Blender this is impossible. Blender is great for standalone rendering but when it comes to using the output in some game engine is just a nightmare.
Changed status from 'Open' to: 'Archived'
FBX is a closed format, with no specifications available. Therefore, we have to reverse-engineer everything to get a reasonably OK working code. Therefore we need small files, because 6MB ones are not usable for that, not at all (unless you have hundreds of minions to work on it, job I would not wish to my worst enemy btw). Am tired of explaining this, requested data not provided since weeks, closing.
Since you asked for a smaller file, here you go. It's a 1MB file. It has a mere 4 mesh objects and a paltry 3 bones. That's about as simple as it gets.
Here's what it looks like in Maya. You can see in the outliner on the left. The whole hierarchy has been exposed. There's a few nulls. Three bones and four meshes. Simple.
Here's what it looks like in Blender. You can see the hierarchy on the right. Four meshes. Three bones. Simple.
The .fbx file is attached for your review.
Single Piston.fbx
Changed status from 'Archived' to: 'Open'
Also, for what it's worth, Collada has the same basic problem as FBX. From what I can tell, this issue has less to do with the FBX format in particular and more to do with how Blender interprets and deals with hierarchies.
When exporting the Maya file as a Collada file, you get the following errors.
While reading or writing a file the following notifications have been raised.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_ROOT_Main_Animation' will be saved.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_Anim_Root_Arm_All' will be saved.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_Anim_Root_Arm2' will be saved.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_Root_PistonLowr2_00' will be saved.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_Root_PistonLowr1_01' will be saved.
Warning: 'Null' type not supported by COLLADA. Only the transform data of node: 'MT_ROOT_Piston_Anim' will be saved.
Importing into Blender you get this:
It's worth noting that the Collada file brings in 4 bones, even though there are only 3 bones in the original file.
Here is how Blender FBX importer sees the hierarchy of the FBX file (every increment means 'child of'):
For some (currently) unknown reason,
MT_Anim_ARM_05
does not get properly parented toBone002
in the end, but even with that aside, we get pieces scattered all around the place - most likely similar issue as reported in #53620, #53821, #54071, etc. We currently do not support some cases of complex parent relationships.I’ll try to understand the missing parenting issue, the remaining am afraid is more like old known TODO that might be tackled… some day… Unless CG industry finally decides to show a tiny bit of intelligence, decency and common sense, and ditch that … format … thing … whatever into the deepest pits of Hell. Hint: Gltf ;)
This issue was referenced by
28324e0fb6
Changed status from 'Open' to: 'Resolved'
Changed status from 'Resolved' to: 'Open'
Tssst… scaling issue remains, do not close that task you naughty bot!
Many thanks for your continued endurance in looking into this!
Closed as duplicate of #54071