Hi, for a minimal case ( 1 GLB cube) I’m trying to override the geometric error defined in tileset.json (value = 500) by a much smaller value defined in the 0.0.0.subtree file (value = 1). Expected behaviour in Cesium is that the box is only visible when zooming in (because it uses Geometric Error = 1 from the subtree file and not 500 from the tileset.json file) .
For getting this working I’ve created tileset.json, subtree file 0.0.0.json and file metadata.bin:
- tileset.json (https://bertt.github.io/cesium_3dtiles_samples/samples/1.1/implicit_semantics/geometric_error_issue/tileset.json) contains schema with ‘tile’ class for the TILE_GEOMETRIC_ERROR semantic :
"schema": {
"id":"first",
"classes": {
"tile": {
"properties": {
"geometricError": {
"semantic": "TILE_GEOMETRIC_ERROR",
"type": "SCALAR",
"componentType": "FLOAT64"
}
}
}
}
},
- Subtree file 0.0.0.json (https://bertt.github.io/cesium_3dtiles_samples/samples/1.1/implicit_semantics/geometric_error_issue/subtrees/0.0.0.json) contains a reference to metadata.bin file (containing value double ‘1’), a buffer tag and BufferView, property table and tileMetadata:
"buffers": [
{
"uri": "metadata.bin",
"byteLength": 8
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 8
}
],
"propertyTables": [
{
"count": 1,
"class": "tile",
"properties": {
"geometricError": {
"values": 0
}
}
}
],
"tileMetadata": 0
- File metadata.bin contains double binary value of ‘1’.
The tileset is validated with 3d-tiles-validator, no errors are found.
Demo see https://bertt.github.io/cesium_3dtiles_samples/samples/1.1/implicit_semantics/geometric_error_issue/
Some observations:
-
Cesium viewer still uses geometric error = 500 :-(, box is still visible after zoom out;
-
The debugShowGeometricError label shows both geometric error values (500 and 1) overlapping;
-
Tile metadata popup shows semantics ‘geometricError = 1’ on mouse move over.
Question how to fix this so Cesium uses only geometricError = 1 (so the box is only visible on zoomin?). Or maybe this overriding of the automatically calculated geometric error by implicit tiling does not work with only root level (so at least 2 levels are needed)?