jMonkeyEngine / jmonkeyengine

A complete 3-D game development suite written in Java.
http://jmonkeyengine.org
BSD 3-Clause "New" or "Revised" License
3.74k stars 1.12k forks source link

FBX loader should use the new jME animation classes #2227

Closed tonihele closed 1 month ago

tonihele commented 3 months ago

FBX loader should use the new jME animation classes. I tested with this https://sketchfab.com/3d-models/silver-dragonkin-mir4-89ead4e87cdc4b70840f748383f0998f.

stephengold commented 3 months ago

or perhaps we should simply remove the FBX loader, similar to how we removed the Blender loader at 221acaad ...

tonihele commented 2 months ago

or perhaps we should simply remove the FBX loader, similar to how we removed the Blender loader at 221acaa ...

Oh noes :D https://github.com/jMonkeyEngine/sdk/issues/584. We just hooked it up. After we removed it too. I think at some point the SDK used the bundled Blender to load FBX. Through some conversion etc.

stephengold commented 2 months ago

Similar to .blend format, FBX has changed dramatically over time. But FBX is even tougher to import IMO, since the format is proprietary. I imagine one must reverse-engineer it, which I assume invalidates any Autodesk software licenses one owns. I've no idea what Unity and Unreal do. Perhaps they pay $$ to Autodesk for proprietary info.

I did some work on JME's FbxLoader back in January 2023, but quickly gave up. I think it's telling that there aren't any FBX models in jme3-testdata. It's also telling that Assimp's support for FBX ended at FBX version 7.4 (aka version 7400), which is 10 years old at this point.

In the past, I've used FBX2glTF, which was recommended to me by capdevon. He told me the Godot engine was using a fork of this project.

I haven't tried importing FBX into Blender, so I'm unsure how reliable its importer is. Capdevon told me there were issues.

stephengold commented 2 months ago

Even if we keep FbxLoader, this is a low-priority issue, in my opinion. Not only do JME and Minie still fully support the old animation system, but if one successfully imports an FBX model using FbxLoader, it can trivially be converted to the new animation system using AnimMigrationUtils.

tonihele commented 2 months ago

Yeah, I agree it is a low priority issue. Just general housekeeping...

stephengold commented 2 months ago

Also, this appears to be a duplicate of issue #1415.

stephengold commented 1 month ago

closing this issue as a duplicate of #1415