Is there a decent fbx loader and exporter to be used with babylon.js?

On this topic I’ve started working on an FBX loader plugin using @jeremy-coleman 's reference

I just created the repo so it’s still in draft mode

1 Like

Good beginning!
You definitely need more FBX test files, to check how it works.

1 Like

Thanks,
It definitely is a good beginning

It can definitely be improved, the one issue I’m struggling with is making sure the behaviors are the same as for GLTFLoader or OBJloader…

2 Likes

I can only be admirative of your efforts to try revive one of the most cumbersome historical exchange format in the history of 3D :stuck_out_tongue_winking_eye:May be one day we’ll open a museum and we’ll feature your art :grin:

By the way, the link which I’ve mentioned a year ago, works again (it changed the name and URL) - Character Animation Combiner

@Benjythebee this is super coool !!! @PirateJC will like this :slight_smile:

1 Like

This is all what I’ve got after npm run start. Seems the Object (the model) is there but it is not visible.

There is some additional fbx related stuff here that may be helpful babylonjs-editor-quixel-plugin/src/fbx at master · julien-moreau/babylonjs-editor-quixel-plugin · GitHub

Fwiw, There is also a wasm version of assimp that works pretty well. I tested it a while ago and it worked perfectly for fully contained files, but it had issues with rebasing texture paths if they were separated out into their own files.

Also, i think its worth exploring using three’s loaders then reexport as gltf and import that into babylon. Getting that working would give us importers for usdz and many other formats

1 Like

yeah I’ve had this issue before, should make an issue on the github;
@jeremy-coleman oh that’s pretty insightful! thanks! I’ll look into it!

EDIT: I’ve just looked at Moreau’s code and it’s true that it’s a bit glitchy (see image for example). It seems to me that it also only outputs geometries ?
image

EDIT 2: I’m tempted to try out the threejs + babylonjs combo but I’ll have to watch out for package weight

EDIT 3: Spent the day trying the threejs + babylonjs option and it didn’t go so well. THREE.GLTFExporter would crash on ‘parseTexture’ (A classic property of undefined error). I tried different FBX files and always had the same result. I then tried OBJExporter before importing in babylon and while it didn’t crash it didn’t really give me the desired result (and scraped all materials and textures)

So it seems to me that continuing to work with the BABYLON.Editor’s code is something to pursue

2 Likes

Oh man @Benjythebee! This is AWESOME! I can’t wait to see how this develops! .FBX support is definitely going to interest a LOT of folks!

Keep us updated on your progress! Super pumped about this!

This deserves a big round of applause.

Way to dive into the depts of fbx.

1 Like