facebookincubator / FBX2glTF

A command-line tool for the conversion of 3D model assets on the FBX file format to the glTF file format.
Other
2.09k stars 330 forks source link

Small drag-and-drop browser interface in the NPM package #20

Open zellski opened 7 years ago

zellski commented 7 years ago

It would be immensely useful for artist workflows to be able to drag an FBX into a browser window and have it immediately available as a glTF file & a live preview. The NPM package already has a little API for executing the binaries in a cross-platform way. Adding the rest of the functionality should be relatively simple. We may be able to usefully harness the power of https://github.com/donmccurdy/three-gltf-viewer for effort-saving purposes.,

FreakTheMighty commented 5 years ago

I realize this is an old issue, but FWIW, I've switched from that three.js viewer to this babylon.js viewer. It is a pretty full featured 3D viewer that has many debug options.

zellski commented 5 years ago

It's an old issue, but the urge remain (mostly) undimmed. I do wish we could get the FBX SDK source so we could compile it into a completely in-browser experience (though it might be too slow, not sure). Until then it will rely on a local binary install (although that can be automated with NPM.)

And you're right, Babylon is an excellent glTF loader & general engine, and I often prefer the look of its PBR implementation (and/or its default lighting setup.)

FreakTheMighty commented 5 years ago

Have you seen the debug window, it's sort of hidden away? That's been the killer feature for me. image

zellski commented 5 years ago

Yeah, agreed. The only "problem" with great debug tooling in the viewer is that it makes it even more clear how nice it would be if such an interface was looped back to FBX2glTF conversion parameters -- convert, eyeball result, tweak setting, reconvert, ...

... but that's a pretty sad argument to have to make. :-)

FreakTheMighty commented 5 years ago

@zellski rather than attempting to run it entirely client side, perhaps the project can be building a minimal dockerized client + server. I think its very reasonable then to provide a UI that allows the user to tweak setting and reconvert.

zellski commented 5 years ago

This is an aside from the Docker question, but if you haven't yet, please take a look at the ./npm subdirectory. There's already a installable NPM module that contains the three binaries and executes the right one, behind the scenes, behind a JavaScript interface. So little new work needs doing there.

FreakTheMighty commented 5 years ago

I saw the npm directory, but for some reason I thought those were old binaries from the last github release. Are those in sync with the source code?