Hello played around with cesium for unreal few weeks back. I now saw that there is an update suggested in the launcher for the cesium for unreal plugin. I updated the plugin and now I can not open my project anymore. Can you please advice ?
Thanks in advance
Do you know which version you updated from? Additionally, are you using custom C++ in your project, or have you modified any of the Cesium classes/blueprints?
That method has been renamed; it’s listed as a breaking change in the changelog. A runtime error like that is very strange, though. I would expect to either see a transparent upgrade to the new name (if the function is being used from Blueprints), or a compiler error (if the function is used from C++).
I think the first thing to try is to delete your Binaries directory, to force Unreal to recompile your project with the new version of the plugin. Hopefully that will help!
Hello @agallegos and @Kevin_Ring,
so I wasnt able to launch the project after deleting the binary folder because the rebuild did fail. So I invested the project in my IDE and it seems like I found the problem. My project contains various of your tutorials from your documentation. It also contains this one Build a Flight Tracker with Cesium for Unreal – Cesium. A little bit into the tutorial you provide the following snipped.
if (this->AircraftsRawDataTable != nullptr && this->CesiumGeoreference != nullptr)
int32 PointIndex = 0;
for (auto& row : this->AircraftsRawDataTable->GetRowMap())
FAircraftRawData* Point = (FAircraftRawData*)row.Value;
// Get row data point in lat/long/alt and transform it into UE4 points
double PointLatitude = Point->Latitude;
double PointLongitude = Point->Longitude;
double PointHeight = Point->Height;
// Compute the position in UE coordinates
glm::dvec3 UECoords = this->CesiumGeoreference->TransformLongitudeLatitudeHeightToUnreal(glm::dvec3(PointLongitude, PointLatitude, PointHeight));
FVector SplinePointPosition = FVector(UECoords.x, UECoords.y, UECoords.z);
this->SplineTrack->AddSplinePointAtIndex(SplinePointPosition, PointIndex, ESplineCoordinateSpace::World, false);
// Get the up vector at the position to orient the aircraft
const CesiumGeospatial::Ellipsoid& Ellipsoid = CesiumGeospatial::Ellipsoid::WGS84;
glm::dvec3 upVector = Ellipsoid.geodeticSurfaceNormal(CesiumGeospatial::Cartographic(FMath::DegreesToRadians(PointLongitude), FMath::DegreesToRadians(PointLatitude), FMath::DegreesToRadians(PointHeight)));
// Compute the up vector at each point to correctly orient the plane
glm::dvec4 ecefUp(upVector, 0.0);
const glm::dmat4& ecefToUnreal = this->CesiumGeoreference->GetEllipsoidCenteredToUnrealWorldTransform();
glm::dvec4 unrealUp = ecefToUnreal * ecefUp;
this->SplineTrack->SetUpVectorAtSplinePoint(PointIndex, FVector(unrealUp.x, unrealUp.y, unrealUp.z), ESplineCoordinateSpace::World, false);
After Updating the plugin it seems like some things have changed because CesiumGeoreference seems to not have the function TransformLongitudeLatitudeHeightToUe anymore and so is GetEllipsoidCenteredToUnrealWorldTransform.
Could you tell me where those methods went to or if you introduced other methods ?
Fixed my problem with the help provided in the comments of https://community.cesium.com/t/cesium-for-unreal-v1-7-0-has-been-released-here-s-a-guide-to-upgrading. Documentation should be updated asap since the airplane tutorial wont work with the current version of the plugin.