Closed xtassin closed 1 year ago
Yes, it seems like COLLADA2GLTF is producing invalid tangents. They should be VEC4 instead of VEC3. That said, the test model doesn't have a normal texture so you don't need tangents. Is there an option to export DAE without tangents?
OBJ2GLTF is better maintained but OBJ is a more limited format - no node hierarchy, no animations, no tangents, etc.
I haven't tried the Babylon 3DS Max plugin before, but it looks good: https://doc.babylonjs.com/features/featuresDeepDive/Exporters/3DSMax_to_glTF
Test model was just for testing ;) I do need tangents in my shaders. (but yes, you can export DAE without tangents if needed)
Babylon plugin is interesting but gave mixed results so far, for me. File weight is very high (not sure why), I could not manage to enable draco compression, etc.
Once thing you might be able to consider is exporting the model as DAE and then importing it to blender and using the built in GLTF 2.0 exporter there. I've had no issues with that exporter so far, but I can't be certain if it would work correctly with models made in a separate program.
@lilleyse, I keep experimenting with various options to generate GLTF2.0 models and I was wondering if you would share some advice, best practices or if you had some roadmap for new tools for artists working with GLTF and Cesium?
Here is so far what I found out:
I am still stuck with the problem of either using native exported PBR shaders or find a way to apply multiple materials while using Cesium's customShader API (as described here https://community.cesium.com/t/dropping-support-for-gltf-1-0/19969/20?u=xavier_tassin)
Closing this issue as it appears to be a data problem rather than a CesiumJS bug.
Loading a model that was converted from DAE using COLLADA2GLTF and with exported tangents/binormals leads to Cesium crashing with a shader exception.
I also documented this issue on the COLLADA2GLTF repo and waiting for feedback on this issue. https://github.com/KhronosGroup/COLLADA2GLTF/issues/294
As a note, when working from 3DS max, is it better to use COLLADA2GLTF or OBJ2GLTF (which one is better maintained?). Any other converter/exporter recommended?