3d tiles shown floating

Hi all

I’m testing with 3d tiles and all the ones I have show floating on the ground.

Is there a flag to solve that? clamptoground flag?Or is my data wrong?

my viewer is so simple:

var viewer = new Cesium.Viewer(‘cesiumContainer’);

//Test load Cesium3DTileset

var scene = viewer.scene;

scene.globe.depthTestAgainstTerrain = true;

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({

url : ‘http://localhost:8887/tilesets/4757_55509_0000/4757_55509_0000.json’,

debugShowBoundingVolume: true

}));

viewer.zoomTo(tileset, new Cesium.HeadingPitchRange(0, 0, 0));

And for example this 3d tiles is:

{

“asset”: {

“version”: “1.0”,

“gltfUpAxis”: “Z”

},

“geometricError”: 26.7611332,

“root”: {

“content”: {

“uri”: “4757_55509_0000_lv3_0.b3dm”

},

“children”: [

{

“content”: {

“uri”: “4757_55509_0000_lv2_0.b3dm”

},

“children”: [

{

“content”: {

“uri”: “4757_55509_0000_lv1_0.b3dm”

},

“children”: [

{

“content”: {

“uri”: “4757_55509_0000_lv0_0.b3dm”

},

“boundingVolume”: {

“box”: [

-24.220615, 96.503339, 26.240479, -0.313666, 2.011980, 0.005908, -1.800704, -0.285204, 1.523819, 0.096309, 0.014672, 0.116554

]

},

“geometricError”: 1.39380896

}

],

“boundingVolume”: {

“box”: [

-23.580030, 94.232117, 25.947311, -0.777615, 4.987930, 0.014648, -2.104488, -0.333318, 1.780892, 0.120515, 0.018360, 0.145849

]

},

“geometricError”: 2.62384534

},

{

“content”: {

“uri”: “4757_55509_0000_lv1_1.b3dm”

},

“children”: [

{

“content”: {

“uri”: “4757_55509_0000_lv0_1.b3dm”

},

“boundingVolume”: {

“box”: [

-29.801922, 124.593832, 48.277701, -4.494865, 28.831036, 0.084518, -14.532295, -2.301689, 12.297648, 10.414623, 1.586692, 12.604034

]

},

“geometricError”: 1.39380896

},

{

“content”: {

“uri”: “4757_55509_0000_lv0_2.b3dm”

},

“boundingVolume”: {

“box”: [

-43.865711, 178.120308, 58.655123, -4.564639, 29.277512, 0.085631, -22.996188, -3.642238, 19.459936, 13.005377, 1.981578, 15.739517

]

},

“geometricError”: 1.39380896

},

{

“content”: {

“uri”: “4757_55509_0000_lv0_5.b3dm”

},

“boundingVolume”: {

“box”: [

-80.542803, 189.495944, 70.035401, -2.483967, 15.932013, 0.046578, -6.613267, -1.047439, 5.596267, 4.487568, 0.683772, 5.431059

]

},

“geometricError”: 1.39380896

}

],

“boundingVolume”: {

“box”: [

-44.736236, 148.567122, 63.010361, -9.566425, 61.359390, 0.179559, -28.301128, -4.482458, 23.949026, 13.046562, 1.987758, 15.789378

]

},

“geometricError”: 2.62384534

}

],

“boundingVolume”: {

“box”: [

-49.352769, 147.835935, 66.916990, -9.566425, 61.359390, 0.179559, -32.917711, -5.213653, 27.855596, 13.046547, 1.987756, 15.789391

]

},

“geometricError”: 4.26505518

}

],

“boundingVolume”: {

“box”: [

-49.352769, 147.835935, 66.916990, -9.566425, 61.359390, 0.179559, -32.917711, -5.213653, 27.855596, 13.046547, 1.987756, 15.789391

]

},

“refine”: “REPLACE”,

“transform”: [

1.000000, 0.000000, 0.000000, 0.000000,

0.000000, 1.000000, 0.000000, 0.000000,

0.000000, 0.000000, 1.000000, 0.000000,

4051815.689602, 617174.233021, 4870697.468260, 1.000000

],

“geometricError”: 5.25465965

}

}

And the result is:

thanks for all suggestions

How did you create your 3D Tiles? With Cesium ion for KML/COLLADA or CityGML data you can configure it to clamp to ground when creating the 3D Tileset. You can also reposition your data after it has been tiled:

https://cesium.com/docs/tutorials/integrating-with-webodm/#geolocating-your-data

I also see you’re not using Cesium World Terrain. Adding that would give you more accurate ground height at your location. Here’s a Sandcastle example for adding Cesium World Terrain:

https://sandcastle.cesium.com/index.html?src=Cesium%20World%20Terrain.html

Honestly, I don’t know how these 3d tiles were created.
Finally I’m going to raise them to cesium ion and adjust the height

If I add the terrain, 3d tile go to underground.