How to change the scale for box defined tilesets?

1. A concise explanation of the problem you’re experiencing.

I have a tileset which is defined with a box as boundingVolume. The tiles are displayed on the right place.

I want to use Matrix4.setScale() to update the scale of a tileset.

Using the code as shown in section 2 makes the tileset to disapper from the view area completely.

How can I apply a valid vertical exaggeration to the matrix of this tileset?

2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

Matrix4.setScale(

tileset.root.transform,

new Cartesian3(1, 1, scale),

tileset.root.transform

);

The default transform matrix here is:

Matrix4 {0: 1, 1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 0, 7: 0, 8: 0, 9: 0, 10: 1, 11: 0, 12: 0, 13: 0, 14: 0, 15: 1}

Setting the scale value to e.g. 1.9 this will be changed by the code above to:

Matrix4 {0: 1, 1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 0, 7: 0, 8: 0, 9: 0, 10: 1.9, 11: 0, 12: 0, 13: 0, 14: 0, 15: 1}

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

Update the scale of a tileset which contains a geoligical layer to apply vertical exaggeration.

4. The Cesium version you’re using, your operating system and browser.

Cesium 1.67 & current Google Chrome

I believe the reason it disappears when you set the scale is because it scales it relative to the center of the Earth.

Here’s a Sandcastle example that can vertically scale a 3D Tileset by constructing a transform that scales the 3D Tiles first relative to its origin, then transforms it back to its global position.

Thanks for your answer.
In the Sandcastle it works the way we expect it to work. Depending on the scale the higher houses are stretched and the small houses are reduced in height. If the height scale is increased compared to the map scale, the houses are enlarged. Related to normal maps, with a map scale of 1:10.000, all heights would be normally also represented at 1:10.000 - thus, a mountain of 100 m height would be represented with 1 cm. If you increase the height 10 times, the mountain would be 10 cm high at a map scale of 1:10.000.
If the functions shown in the sandcastle are applied to the subsurface layers in our application, however, changing the scale does not behave as expected. The higher regions remain at the original height, while the lower regions decline towards the center of the earth. In the case of a large region, the curvature of the earth is also mapped, so that the entire surface looks bent downwards towards the centre of the earth.
We would be very happy to get further support on how to process the tilesets in an accurate way.

I think this is the same issue pointed out in this forum thread as well: 3D Tiles Exaggeration.

I opened a GitHub issue to log this feature request: https://github.com/CesiumGS/cesium/issues/8809. But I’m not sure when we’ll be able to address this.