FBX to DRACO - Mesh Children

Hey guys!

For performance reasons, we want to switch from a FBX based loading to DRACO.
I already converted my FBX files to .drc files and loading was fine. However, when we loaded the FBX file, we had one child in the children array property. When loading the DRACO file, this array is empty.
I am a bit inexperienced and would appreciate any help!

I attached two screenshots, one is the loaded FBX and one the draco.

Old Code:

fbxLoader.load('./webgl/models/019_NodesExp_haus.fbx', function (object) { 
_self.model = object
}

New Code:

dracoLoader.load('./webgl/models/019_NodesExp_haus.drc', function (object) {
      var material = new THREE.MeshStandardMaterial({ color: 0x606060 })
      var mesh = new THREE.Mesh(object, material)
      _self.boxModel = mesh
}

A Draco (.drc) file can contain only a single geometry, as far as I know. It’s a very basic format compared to something like FBX or glTF — no animation, no materials, not much else.

I would suggest converting your FBX to glTF (using FBX2glTF or Blender) and then adding Draco compression to the glTF file using glTF-Pipeline. That way you get all the features of glTF, but still have Draco compression on the individual geometries. You could also use https://github.com/zeux/meshoptimizer/tree/master/gltf for a different compression option, depending on what you need.

Thanks @donmccurdy
It works now fine but it seems that some issues arise with the quality. I uploaded my fbx files to the three.js online editor and downloaded them as gltf. Then I converted them with the pipeline you suggested. All good so far, but something breaks the quality. Is there something I should watch out for?

Thanks so much!

First — do the files look ok after the first step, just converting to glTF? Or are they broken before you compress them? It’s hard to say what “breaks the quality” means, you may need to be more specific or share screenshots.

There are a number of quality settings, but if you still see an issue even on the highest quality settings it may be a bug in the software, and I’d recommend reporting an issue.

Thanks a lot!
I figured out that the three.js online editor adds the files when importing a new one, this is why all my models got messed up.

2 Likes

Hello my name is Ovidiu, i am FX Artist in Houdini FX, i have a issue with one glb . I export the fbx from Houdini and have size 509kb. I converted in glb with Cinema4D and when i export it the size increase until 20 MB. The file have animation, and i wish to decrease the size of glb How i proceed to export it with draco? Can you explain to me step by step? Becouse i dont have interactions until now with codes or scripts. Can you help me with that issue? Tanks.