Open jianxiao1754 opened 3 years ago
Cesium for Unreal needs a terrain model - not just the tileset.json, but the tiles as well - in order to hang the raster overlay on something. Without terrain, you effectively have textures but no geometry.
CesiumJS has something called an EllipsoidTerrainProvider
, that effectively provides zero-height geometry over the entire globe. We could bring something like this to Cesium for Unreal, but I'm not sure how useful it is. It makes for a very smooth and unrealistic-looking globe. Is that what you're after in this case?
Thank you very much for your reply, what you said is the result I want. When I use Cesium for Unreal to present the earth, the camera is far away from the earth, It just shows a rough shape of the earth and doesn't care about the details of the terrain, because it does not affect the overall visual effect.
There is another reason, I need to deploy and use it offline. If the terrain data is bundled together, it will not improve the final effect, but will increase the workload. According to some projects I know, there are still many situations where terrain data is not needed, and map imagery is sufficient.
And it would be great if you can add the feature like CesiumJS you mentioned.
Ok, thanks, I've updated the title of this issue to reflect that it's a feature request for an ellipsoidal terrain model option.
是不是建立本地服务器离线加载地图到UE4里?成功了嘛
Is anyone working on the feature? I think it's useful.
This is in progress. Also, just realized that we ended up with a duplicate issue for this, so I'm closing https://github.com/CesiumGS/cesium-unreal/issues/817.
Here's a collection of threads requesting this feature: thread 1, thread 2, thread 3, thread 4, thread 5. Once this is complete, we should update those threads.
Checking on the progress of this since it looks to be 'in progress' 5 months now. I Really need a solution and this is a start to that. I tried the flat DTM 'fix' but the ellipsoid doesn't match and it makes all my Raster Overlays for water, clipping, etc, fail. I see being able to force a flat world as the first step to avoid issues like in the photos below. fixing the errors in the topology after the fact is a hard problem. Would the team consider it a good enhancement to support a sort of "Poly reduction raster overlay" using the same design pattern as the other raster overlays? In this material blend, vertices inside the polygon would be ranked by tangent angle delta. Then delete those above a threshold value. The advantage is the result would blend in to the surrounding area and there is some control for driving it all the way flat or leaving some undulation.
Which road / parking lot would you rather be on?
It's still in progress...
Hi, is there an update on this enhancement please? It would be very valuable to have. Thank you
Following up in Feb 2023, 3 months later to keep this alive. I can imagine a flat elevation model only works in flat areas. In San Franscisco it would not be desireable. Looking at my example above (and others) I can say that a more general solution would solve many issues if the elevation model calculator algorithm is enhanced. I can see that the urban jungle in city areas presents a use case where these humps are generated in large numbers. In the image above along a beach front there is no urban jungle so an algorithm that simply prevents elevation change along a shoreline might be a rule that fixes a lot. Also excessive UV stretching is evident and therefore potentially detectable. Mentioning these ideas because the underlying request for a flat earth is really a fall-back to really desiring a better elevation model. The flat world might be the best alternative for a lot of use cases until the real world accuracy achieves a threshold of "good enough" by each user.
In in-progress work that @argallegos mentioned above was a refactoring of cesium-native to make it easy to plug in providers for different sources of terrain / 3D Tiles data. That has been completed. The remaining - and much simpler! - work is to actually write the smooth (not flat!) Earth content loader. We'd welcome a community contribution for this. The interface that needs to be implemented is this one: https://github.com/CesiumGS/cesium-native/blob/f5f1baece2daa168b03fba10c68a4a6ca8348523/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetContentLoader.h#L107
I add a Cesium3DTileset with "Cesium World Terrain + Bing Maps Aerial imagery", then I replace the Cesium ion Raster Overlay component of the newly added Cesium3DTileset Actor with CesiumTileMapServiceRasterOverlay component, and set the CesiumTileMapServiceRasterOverlay component's url point to my local tms server, so far it woks as expected. But when I disconnect the network( I need to work offline), it can't load any tile maps. The Output Log panel shows an error as
"LogCesium: Error: [2021-05-09 10:52:10.619] [error] [Tileset.cpp:142] Received status code 401 for asset response https://api.cesium.com/v1/assets/0/endpoint",
I guess that the Cesium3DTileset need to load the tileset.json, then the CesiumTileMapServiceRasterOverlay will work. But how can I just use the CesiumTileMapServiceRasterOverlay offline without the need to load any tileset.json, because I don't need any tilesets like terrain or 3D models.