CZML in Unreal (Not for vector data, using QGIS Billboard 3D Models)

Hi Folks.
Can you clear my doubts? I saw that Cesium for Unreal does not accept vector data.

Is there a way to just export 3D elements from QGIS, using the CZML BillBoard Maker? Not vector data.


There is not yet any support for CZML in Cesium for Unreal. Depending on the type of data you’re trying to visualize, you may be able to convert it to 3D Tiles. Or perhaps 2D images that can be drapped on another surface. Or export as CSV and use Unreal’s built-in CSV tools to load the CSV and then create Unreal elements (e.g. Actors) directly.

Thanks Kevin
It’s the actors’ position.
Since I already have everything in QGIS, I thought it was a possibility.

Do you have any reference material for placing actors based on coordinates but on top of the terrain’s z in Unreal’s Cesium?

If you just need to place your objects “on terrain” once, and they don’t move, you might consider using CesiumJS to sample the terrain heights and then import the 3D positions into Unreal. Take a look at this Sandcastle example and specifically the “Sample Most Detailed Everest Terrain” button:

If you need to do the whole thing in Unreal, such as because your objects move and need to remain on terrain as they do so, your best bet is to use Unreal’s LineTrace functionality.

1 Like

Thanks Kevin

Can you give me some more guidance, just to give a direction.

I have many static (not moving) objects/actors deployed via KML. I converted to QGIS and was trying the CZML possibility.

I’m studying the “unreal-placing-objects” page to insert via data table. I’m going to use the “Cesium World Terrain”.

Is there a better way to do this?

As I mentioned above, since your objects are static, I’d recommend writing some code against CesiumJS and its sampleTerrainMostDetailed function. You can do this in a Node.js app. Once you have a height for each longitude/latitude pair, you can save that as a CSV file, import it into Unreal using its DataTable, and create an Actor with a CesiumGlobeAnchor for each. It’s not quite the same problem, but the “Building a Flight Tracker” tutorial uses a DataTable and may be helpful to take a look at:

1 Like

Thanks Kevin
I had only used Cesium more in Unreal, just for context.
My knowledge of CesiumJS is practically zero, I’ll start studying now.