CesiumGS / cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
https://cesium.com/cesiumjs/
Apache License 2.0
13.02k stars 3.51k forks source link

Scene.PickPosition And Scene.SampleHeight get incorrect coordinates #10721

Closed 627496967 closed 1 year ago

627496967 commented 2 years ago

I recently upgraded the Cesium version of my project, use Scene.pickPosition And Scene.sampleHeight functions do not accurately get the position of the 3Dtiles layer And the Model surface. When I pick a position on the 3DTiles layer and call this method with the screen coordinates obtained from the event, the resulting world coordinates appear to go directly through the 3DTiles layer. The elevation altitude of the final coordinate is always less than or equal to zero. A similar problem occurs when using the sampleHeight function. The final elevation altitude is be 8000+ or less than 0. This didn't happen when I was using version 1.87, nor did my 3DTiles layer change. This problem occurs frequently, but not for every pick. This reduces the chance of this happening when I'm looking close to the 3DTiles layer. I don't know where the problem is right now.

Cesium Version: 1.94.3 or 1.96.0 browser: Google Chrome 104.0.5112.102

627496967 commented 2 years ago

I found the same problem in Sandcastle. Incorrect height collected when right - click pick. https://sandcastle.cesium.com/?src=3D%20Tiles%20Interactivity.html

gaurav8y785675474 commented 1 year ago

hello i am a beginner in open source world can you please tell me exact location of code[related to this issue] in files so that i can work on that

ggetz commented 1 year ago

The issue with pickPosition is documented in https://github.com/CesiumGS/cesium/issues/4368. The issue with Scene.SampleHeight is likely related. In some cases, some refactoring of model classes in 1.97 made this existing bug more obvious.

I'm going to close this report in favor of https://github.com/CesiumGS/cesium/issues/4368 to keep discussion in one place. Thanks!