Skip to content

Commit e15b06a

Browse files
committed
Merge branch 'main' into enh-1658_mesh-build-callbacks
2 parents dd2bf54 + 2edaf43 commit e15b06a

24 files changed

+1107
-831
lines changed

CHANGES.md

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

3+
### ? - ?
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+
318
### v2.16.0 - 2025-05-01
419

520
##### Additions :tada:
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
@@ -235,17 +235,20 @@ ACesiumGeoreference* ACesium3DTileset::ResolveGeoreference() {
235235
ACesiumGeoreference::GetDefaultGeoreferenceForActor(this);
236236
}
237237

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

251254
return this->ResolvedGeoreference;
@@ -1565,7 +1568,7 @@ ACesium3DTileset::CreateViewStateFromViewParameters(
15651568
glm::dvec3 tilesetCameraUp = glm::normalize(
15661569
glm::dvec3(unrealWorldToTileset * glm::dvec4(up.X, up.Y, up.Z, 0.0)));
15671570

1568-
return Cesium3DTilesSelection::ViewState::create(
1571+
return Cesium3DTilesSelection::ViewState(
15691572
tilesetCameraLocation,
15701573
tilesetCameraFront,
15711574
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)