Skip to content

Commit b0538bf

Browse files
committed
Merge from main
2 parents e33520d + ed38004 commit b0538bf

26 files changed

+1126
-842
lines changed

CHANGES.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Change Log {#changes}
22

3+
### v2.16.1 - 2025-06-02
4+
5+
##### Additions :tada:
6+
7+
- Added support for `TRIANGLE_FAN` primitives in tile meshes.
8+
9+
##### Fixes :wrench:
10+
11+
- Worked around an Unreal Engine limitation that prevented collisions and line traces from working correctly for tilesets with a very small scale factor.
12+
- Add a missing include for `GEngine` when packaging from source, introduced in `v2.16.0`.
13+
- Fixed a bug in `UCesiumFeaturesMetadataComponent` where multiple references to same feature ID set would cause improper encoding of its feature IDs.
14+
- Fixed a crash that would occur when duplicating an `ACesiumGeoreference`.
15+
- Fixed a bug that caused tilesets to render incorrectly when Dynamic Material Instances were used for their material settings.
16+
- Removed an unnecessary copy operation that happened while constructing tile meshes.
17+
18+
In addition to the above, this release updates [cesium-native](https://github.com/CesiumGS/cesium-native) from v0.47.0 to v0.48.0. See the [changelog](https://github.com/CesiumGS/cesium-native/blob/main/CHANGES.md) for a complete list of changes in cesium-native.
19+
320
### v2.16.0 - 2025-05-01
421

522
##### Additions :tada:

CesiumForUnreal.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
3-
"Version": 75,
4-
"VersionName": "2.16.0",
3+
"Version": 76,
4+
"VersionName": "2.16.1",
55
"FriendlyName": "Cesium for Unreal",
66
"Description": "Unlock the 3D geospatial ecosystem in Unreal Engine with real-world 3D content and a high accuracy full-scale WGS84 globe.",
77
"Category": "Geospatial",
2.64 KB
Binary file not shown.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"asset": { "version": "1.0" },
3+
"root": {
4+
"boundingVolume": {
5+
"sphere": [
6+
0,0,0,200000
7+
]
8+
},
9+
"children": [],
10+
"content": { "uri": "BigCube.glb" },
11+
"geometricError": 0.0,
12+
"refine": "REPLACE"
13+
}
14+
}

Documentation/performance-profiling-with-unreal-insights.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Unreal Insights can display the scope of timing events as well as activity acros
77

88
# Set up a repeatable test
99

10-
In this example, we will use our Cesium performance tests. Follow the steps outlined [here](https://github.com/CesiumGS/cesium-unreal/blob/profiling-documentation/Documentation/performance-profiling-setup-test.md).
10+
In this example, we will use our Cesium performance tests. Follow the steps outlined [here](performance-profiling-setup-test.md).
1111

1212
# Prepare for capture
1313

Source/CesiumRuntime/Private/Cesium3DTileset.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -236,17 +236,20 @@ ACesiumGeoreference* ACesium3DTileset::ResolveGeoreference() {
236236
ACesiumGeoreference::GetDefaultGeoreferenceForActor(this);
237237
}
238238

239-
UCesium3DTilesetRoot* pRoot = Cast<UCesium3DTilesetRoot>(this->RootComponent);
240-
if (pRoot) {
241-
this->ResolvedGeoreference->OnGeoreferenceUpdated.AddUniqueDynamic(
242-
pRoot,
243-
&UCesium3DTilesetRoot::HandleGeoreferenceUpdated);
244-
this->ResolvedGeoreference->OnEllipsoidChanged.AddUniqueDynamic(
245-
this,
246-
&ACesium3DTileset::HandleOnGeoreferenceEllipsoidChanged);
247-
248-
// Update existing tile positions, if any.
249-
pRoot->HandleGeoreferenceUpdated();
239+
if (this->ResolvedGeoreference) {
240+
UCesium3DTilesetRoot* pRoot =
241+
Cast<UCesium3DTilesetRoot>(this->RootComponent);
242+
if (pRoot) {
243+
this->ResolvedGeoreference->OnGeoreferenceUpdated.AddUniqueDynamic(
244+
pRoot,
245+
&UCesium3DTilesetRoot::HandleGeoreferenceUpdated);
246+
this->ResolvedGeoreference->OnEllipsoidChanged.AddUniqueDynamic(
247+
this,
248+
&ACesium3DTileset::HandleOnGeoreferenceEllipsoidChanged);
249+
250+
// Update existing tile positions, if any.
251+
pRoot->HandleGeoreferenceUpdated();
252+
}
250253
}
251254

252255
return this->ResolvedGeoreference;
@@ -1753,7 +1756,7 @@ ACesium3DTileset::CreateViewStateFromViewParameters(
17531756
glm::dvec3 tilesetCameraUp = glm::normalize(
17541757
glm::dvec3(unrealWorldToTileset * glm::dvec4(up.X, up.Y, up.Z, 0.0)));
17551758

1756-
return Cesium3DTilesSelection::ViewState::create(
1759+
return Cesium3DTilesSelection::ViewState(
17571760
tilesetCameraLocation,
17581761
tilesetCameraFront,
17591762
tilesetCameraUp,

Source/CesiumRuntime/Private/Cesium3DTilesetRoot.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ void UCesium3DTilesetRoot::_updateAbsoluteLocation() {
6262

6363
void UCesium3DTilesetRoot::_updateTilesetToUnrealRelativeWorldTransform() {
6464
ACesium3DTileset* pTileset = this->GetOwner<ACesium3DTileset>();
65+
ACesiumGeoreference* pGeoreference = pTileset->ResolveGeoreference();
6566

66-
this->_tilesetToUnrealRelativeWorld = VecMath::createMatrix4D(
67-
pTileset->ResolveGeoreference()
68-
->ComputeEarthCenteredEarthFixedToUnrealTransformation());
67+
if (pGeoreference) {
68+
this->_tilesetToUnrealRelativeWorld = VecMath::createMatrix4D(
69+
pGeoreference->ComputeEarthCenteredEarthFixedToUnrealTransformation());
6970

70-
pTileset->UpdateTransformFromCesium();
71+
pTileset->UpdateTransformFromCesium();
72+
}
7173
}

Source/CesiumRuntime/Private/CesiumCreditSystem.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "CesiumCreditSystemBPLoader.h"
66
#include "CesiumRuntime.h"
77
#include "CesiumUtility/CreditSystem.h"
8+
#include "Engine/Engine.h"
89
#include "Engine/World.h"
910
#include "EngineUtils.h"
1011
#include "ScreenCreditsWidget.h"

0 commit comments

Comments
 (0)