Regarding spatial analysis features of Cesium For Unreal

Hi there,

I should say this plugin is very impressive, my teams have successfully completed several projects for our customers with it and Unreal Engine 5. Also I’m glad to see the Cesium team just released 1.18.0 with new features.

Recently one of our clients mentioned some new requirements regarding some basic GIS analysis functions, such as area measurement, viewshed analysis, custom polygon or sector marker. So I have two questions for Cesium team guys:

(1) Is there any roadmap of spatial analysis features of Cesium For Unreal in the near future?
(2) Any technical instructions if we decide to develop these features ourselves?

Any replies or advices are appreciated, Thank you.

Michael

Hello @michael_cup,

We are happy to hear you folks have found our plugin useful! Regarding the custom polygon markers, we have the CartographicPolygon feature which lets you draw convex shapes in Unreal and project them down into a raster overlay (Editing Tileset Materials – Cesium). I would imagine Unreal has many existing tools for such visualizations though (for instance, Unreal’s decal system might come in useful for markers and 2d shapes in a local area).

Regarding analysis features, again many things like measurements and viewshed visualization can likely be done within Unreal on an application level (I would imagine it would not take much custom code, if any). Unreal line-traces can retrieve raycast results, giving Unreal world positions of hit objects. These line-traces can easily be made into measuring tools, GIS drawing tools, or waypoint-setting mechanisms.

Regarding viewshed, Unreal has custom scene capture components that can capture depth images in a custom render target to mimic sensors. You can later sample this depth image from a custom tileset material, to determine if a given pixel is visible or occluded from the sensor and color it accordingly. This is actually a simplified version of how point-light shadows work, so there are probably tons of tutorials, etc for this type of thing in Unreal. You might even be able to hack Unreal’s lighting to get this to work with an actual Unreal point light. That being said I’ll open an issue for it, because it would be a cool tool in Cesium for Unreal regardless!

Let me know if any of that helps and feel free to elaborate on any specific needs for your use case!

-Nithin

Hi Nithin,

Much appreciate for your detailed reply, we will take several tests with those technical points you mentioned and look forward to sharing some useful results with Cesium team and other guys who care about this feature.

BTW, CartographicPolygon is one of my favorite features, especially for water mask :tada:

Thanks again!

Michael

1 Like

Hello @michael_cup and Nithin,

I am very new to unreal engine (and cesium) but started working on a project in an attempt to create a tool to compute viewsheds. I stumbled into this post, and it seems like you both have a good idea on how to implement this.

I believe you meant something like this? (generating a heightmap of the scene?)

This is where I got confused. There is a way to process the resulting heightmap such that you can tell which area is occluded and which is not? Is there a chance you could explain this a little more ELI5?

I would really appreciate if either of you could reach out to me with some guidance!
My current attempt was to compute line traces and process the results to compute a viewshed, but this seems like a better approach.

Best,
Kacper