Atlaslog / Field Notes / 3D & Cesium
Field note · 3D & Cesium
3D Tiles render as a flat white mass with no edges
Quick answer
tileset.json and all tiles return 200 and zoomTo shows the building volumes, but every face is nearly pure white. Untextured b3dm blocks without vertex normals receive the default up-facing normal, so all faces get near-1.0 lighting and merge with a white basemap.
Symptom
- Every face is almost #ffffff, with barely any brightness difference between side and top faces.
- No window frames or floor lines are visible even at street level.
- The scene looks identical whether globe lighting is on or off, which hides the real cause.
Checklist
- Set tileset.enableLighting to false and see whether the white darkens and edges appear.
- Hide all imagery and set scene.globe.baseColor to dark grey to confirm the model is not lost against the basemap.
- Log the tileset.properties keys to see which batch table fields exist, such as height, floors or use.
- Toggle viewer.scene.globe.show to false to separate a contrast problem from a placement problem.
Fix
Pass enableLighting: false with maximumScreenSpaceError: 8 to Cesium3DTileset.fromUrl, or colour by a batch table field through Cesium3DTileStyle conditions on the height property. Set colorBlendMode to Cesium3DTilesetColorBlendMode.REPLACE when ambient light washes the colour out again.
Code
var tileset = await Cesium.Cesium3DTileset.fromUrl('/data/buildings/tileset.json');
viewer.scene.primitives.add(tileset);
tileset.readyPromise.then(function () {
var names = tileset.properties && Object.keys(tileset.properties);
console.log('batch table 字段:', names);
});var tileset = await Cesium.Cesium3DTileset.fromUrl('/data/buildings/tileset.json', {
enableLighting: false,
maximumScreenSpaceError: 8
});
Watch out
- Referencing a batch table field that does not exist: the style silently keeps the default colour and reports nothing.
- Leaving globe.show true and blaming the tileset when the model was merely invisible against a white background.
English edition written for Atlaslog from the original Chinese field note. Code is unchanged and runs as-is.
Atlaslog (2026). 3D Tiles render as a flat white mass with no edges. https://www.jingweizhi.com/en/cookbook/cesium-3dtiles-white-model.html (accessed 2026-11-03).