Hello,
I have Unreal Engine 5.7.1 and i use Cesium for unreal.
I am using Cesium World Terrain (Cesium World Terrain + Bing Maps RRoad) and Cesium OSM Buildings
Also using on few areas Cesium Cartographic Polygon.
And along side of them i am using EasyBiomes
Easy Biomes spawns also on Cesium map and also on Cesium OSM buildings.
Problems i am facing is this.
- Biomes is also spawned on roads, lakes and on other water areas
- Biomes is also spawned on top pf buildings and under the OSM buildings
My go al is to spawn biomes only on areas where there is no roads, buildings or water.
Is there a method with cesium top filter out roads and buildings?
Here is video
Hi @ISUther, welcome to the community!
Cesium World Terrain has a “water mask” that can be used to determine which parts are land and which are water. Water in this case primarily means oceans and big lakes, though, not things like rivers. If you take a look at the default material used to render (MI_CesiumThreeOverlaysAndClippingAndWater) you can see how this mask is made available in a texture. I’m not sure if and how it would be possible to connect this to Easy Biomes, though, since I’ve never used it.
For buildings, you’re getting those from an entirely separate Actor (Cesium OSM Buildings), so perhaps there’s an option there. For example, maybe Easy Biomes has an option to avoid generating in areas covered by certain Actors?
Roads are likely to be the hardest case, because we simply don’t have any data about where they are. They’re just part of the picture draped over the surface. The best idea I have - even if it’s not straightforward - is to get data about road locations from somewhere else, like OpenStreetMap, and use that to manually create a mask.