3D Tiles exported from Reality Capture Not rendering

Hello Community,

Recently we received a 3DTiles data exported from Reality Capture (www.capturingreality.com).
The source file was an OBJ file.

My understanding of 3DTiles is that we should be able to load this data without the ion tiling.
I am using following code snippet to add the data:

const tileset = await Cesium.Cesium3DTileset.fromUrl("./Cesium/tileset_Newport_OLE_highres.json");
viewer.scene.primitives.add(tileset);

When I check the logs during the load process, I observed that none of the tiles are getting loaded.
You can review following image:

When I uploaded the data in my cesium ion and viewed through SandCastle, I could see the data.

Can anyone share any insights into why this might be the case?
Is there any way I can debug the tileset loading in cesium?

Thanks for helping

Looks like something is wrong with the b3dm’s, you can validate the b3dm’s with GitHub - CesiumGS/3d-tiles-validator: Validator for 3D Tiles 🚦 (option --tileContentFile)

Thank you for your reply @bertt

I did a quick check on some of the b3dm files. Indeed there is some issue with the files.
Here are some screenshots of results I found:
This one as some issue

This one doesn’t seem to have an issue

However, the other interesting thing that I observed that the above file also did not get loaded in the
cesium viewer, despite showing no issue in the validator

As per my understanding of 3DTiles, the tiles having no issues should get loaded. Can you correct me if I am wrong?

I am going to run the validation for all the files in the data (including json files) and check what sort of errors I get. Any further inputs would greatly help.

I will also look at CesiumGS/3d-tiles-tools (github.com)
repo to check if I can repair or view the individual files.

From the error message I see there is something wrong with the normals in the glTF (normal vector with length 0 - possibly because degenerate triangles).

With 3d-tiles-tools you can unpack the b3dm to glb (option b3dmToGlb) and check with a glTF validator (like glTF Validator).

It can happen invalid files do get visualized, but better have valid files to be sure.