I have setup a Cesium environment with a flyable aircraft (pawn) using a rudimentary flight model. I would like to understand where to start accessing the location coordinates via blueprints. I have trawled through loads of the tutorials, and unreal forums but haven’t found anything that explains how to do this. Can anyone help please?
I intend to display the lat long as text on a UI widget blueprint.
As I am using cesium, I think it is not compatible to make use of any of the unreal built in georeferencing plugin.
The aircraft blueprint has a CesiumGlobeAnchor attached to it.
Thanks for any suggestions in advance
Use this blueprint on the CesiumGlobeAnchor.
Note that the longitude is returned in the X-component, and latitude is returned in the Y-component.
Thanks for your reply janine,
I’m on UE 4.27 - I think i am limited to use inaccurate get long lat height, aren’t I?
I’m new to blueprints, and UE, so the wider context would be helpful. i have problems finding the right kind of target for ‘globe anchor’ in this context. i’m just trying this out in the event graph of my pawn (aircraft) blueprint, and see if I can print string the output to begin with.
Any suggestions about what the target should be connected to>?
Yes, you’ll have to use the “Inaccurate” functions in Blueprints for UE 4.27.
If you drag and drop an actor with a Cesium Globe Anchor into the Blueprint, it will create a reference to it. Then, use the “Get Component By Class” Blueprint to retrieved the Cesium Globe Anchor component.
Thanks for the feedback, still hoping to get a result with this. I have a flyable pawn - this has a CesiumGlobeAnchor attached to it in the world outliner. in the blueprint i have used ‘get actor of class’ and selected the blueprint (sort of referencing itself) as the target - then set the lat long output as a variable. This output data reports the static position of the Cesium Georeference origin on this level. So it seems like i’m getting something- but not quite… i wonder why the location is not updating, (just spitting the georef origin). I wonder if anyone can please suggest what i am not doing correctly so far. thanks
Just as a sanity check, can you see the latitude / longitude / height values updating in the actor editor?
For example, I can see the values changing on the Dynamic Pawn’s component whenever I move around in Play Mode.
No the Dynamic Pawn georeference section lat long fields are static - The dropdown box within this section titled georeference has ‘none’ by default. I have selected ‘Cesium Georeference’ but this seems to make no difference.
The actors static mesh transform location updates constantly (not georeferenced coords)
The Dynamic Pawn’s transform location updates every 2 seconds.
Hi just wondering if anyone can offer any suggestions to help me setup a blueprint that reports the actor’s current Lat Long… not getting very far with this, so would appreciate some assistance, thanks!
I just tried setting up a level Blueprint like this, which seems to work well:
However, I notice from your screenshot that you’re using UE4. We are no longer releasing new versions of Cesium for Unreal for UE4, so you’re running a very old version of the plugin. I don’t know what bugs might be lurking that version (you can check the changelog against your version to get a sense), but I definitely recommend you upgrade to UE5 as soon as possible.
Did you figure this out? I’m having the same exact issue. I’ve noticed that if its not the original Dynamic Pawn, then the anchor wont update no matter what.
I’ve replicated this error by putting the globe anchor component on an original blueprint for what could be an aircraft pawn(or whatever). I also duplicated the Dynamic Pawn to get Dynamic Pawn 1, made no changes, and referencing the lat/long/height does not update. I went back and forth between these pawns and the default Dynamic Pawn and it would only work on that pawn.
No not solved, abandoned this as last post from Cesium suggested it’s because I’m using ue4. Reason is my hardware is limited so can’t use ue5.
Understood, thanks for the reply. However, I’m using 5.1.1 and I’m having that same issue.
EDIT: I got the custom pawn to work, widget updating by invoking the pawn on a PlayerStart rather than from calling it in the level. It takes a few seconds for the Lat/Long readout to update since it has to cover some ground before it updates (3 decimal points on my readout).
Tested and verified spawning in the level without PlayerStart was the culprit.