Cesium for Unreal - Unlocking 3D Geospatial in Unreal Engine

Hello Unreal Community,

We’re excited to announce the public release of Cesium for Unreal, an open source plugin for Unreal Engine that bridges the gap between the 3D geospatial ecosystem and Unreal Engine. Cesium for Unreal brings together decades of advancements in 3D geospatial and Unreal Engine to allow our users to create amazing real-world based applications, simulations, and experiences.

See Cesium for Unreal in Action

​​​

Cesium for Unreal is:

  • A highly-accurate global-scale WGS84 globe gleaned from our deep experience working alongside rocket scientists in aerospace analysis and visualization.
  • A runtime 3D Tiles engine, complete with level-of-detail selection and caching, to stream massive 3D geospatial datasets, such as terrain, imagery, 3D cities, and photogrammetry, from the cloud, a private network, or the local machine.
  • Integrated with Unreal Engine Editor, Actors and Components, Blueprints, Landscaping and Foliage, Sublevels, and Sequencer to enable, for example, character and vehicle physics and collisions with photogrammetry models; atmosphere, shadows, and volumetric clouds to add a wow factor to terrain and imagery; Unreal’s water engine to add realism to real-world coastal scans; and using Unreal’s landscaping tool to add foliage to real-world terrain.
  • Integrated with Cesium ion cloud services for instant access to curated 3D geospatial content such as global terrain, imagery, and buildings, as well as 3D tiling pipelines to optimize real-world 3D content for streaming.

Cesium for Unreal is licensed under the liberal open source Apache 2.0 license, allowing developers, game designers, and creators to build amazing apps, simulations, and experiences for both commercial and non-commercial use.

Cesium for Unreal development is supported by Cesium ion, an optional subscription-based cloud service for streaming 3D geospatial content. Signing in with your Cesium ion account in Unreal Engine will give you one-click access to global data ready for streaming and building apps. As a celebration of the Cesium for Unreal launch, users evaluating Cesium for Unreal will get unrestricted data streaming as part of your free Cesium ion Community Account until May 31.

We Want To Hear From You

We cannot overstate how excited we are to release this publicly, and can’t wait to see what you build with this. Please sure to share any videos, screenshots, or apps that you build on Twitter using @CesiumJS](https://twitter.com/cesiumjs).

We also want to hear from you about your questions, comments, feature requests, and feedback, as we just start this journey in unlocking the full potential of 3D geospatial for Unreal Engine.

Getting Started

Regards,
The Cesium Team

2 Likes

Hi there, thanks for such an amazing plugin - have had a lot of fun so far in the few hours I’ve played with it - attached a couple of editor pics…

Quick question though - is it possible to texture the landscape using Unreals painting tools? Also, can one turn the output into a terrain to deform it?

Really looking forward to interesting this in future projects.

My best, Johnny

The screenshots look awesome!

Since Cesium’s 3D tiles are a unique format being loaded in dynamically at runtime, it is not yet possible to modify them directly. This is something we are very interested in working on and have been actively discussing. Keep up with our active development and contribute with ideas, suggestions, or code at our GitHub page.

In the meanwhile, you may want to experiment with the “Convert to Static Mesh” option in the menu that pops up when you right-click on a tileset in the world-outliner. Doing this basically captures only the currently loaded tiles, each frozen at their current LOD. You may need to bake the textures, fix the normals, and make other adjustments to get the static mesh to look correct. From there, it may be possible to export the resulting static mesh into other applications like Blender to modify the geometry, paint textures, and if wanted, convert to heightmap. You can bring it back into Unreal either as a heightmap (for landscape) or as a regular static mesh. Note you may still have issues aligning and georeferencing the mesh and it may now conflict with the original tileset. In some use cases though, a process similar to this may be a good workaround until we can implement a more thorough and more direct way to edit and stylize 3D Tiles.

Thanks for your interest in our plugin!

1 Like

The UE Forum migration seems to have broken the images in the opening comment. I’ve attached them here for reference.



Hello, first of all, I am impressed with this plugin.
As a beginner, I found a problem that I couldn’t solve in the course of using it. I don’t know if I can ask you about it.
The problem is: when I use the “Inaccurate Transform Longitude Latitude Height to Unreal” node in the blueprint for the latitude and longitude data, the final converted data will sometimes be correct and sometimes incorrect.
Is there a solution to this problem?
Thanks,Best wishes!

Hello!

It would be great to get a little more information about this issue. Could you make a post on the Cesium Community Forums? If possible, please include some screenshots/logs. It would also be helpful to know just how incorrect the converted data can be. Due to the fact that Unreal 4 doesn’t support double precision, inaccuracy of up to a few meters can be expected, but if the error is much more than that, we’ll have to look into it further.

Thanks for using Cesium for Unreal!

Anybody running with their own tiles/ data and can shed some light how to do it?
Thanks

Does anyone know if there is any way to apply buoyancy in cesium water? I ask because the water system plugin of unreal needs a landscape so as to work and in this way cesium terrain becomes awful. Secondly I would like to know if anybody had applied Physical Water Surface plugin, in cesium terrain, and if yes did he have good results as regards buoyancy;
Thank you!