This issue occurs when streaming levels including reflection captures are displayed with delay.
When it finishes loading assets, reflection capture textures are uploaded to the GPU.
Then the level is displayed and it checks texture source again in FReflectionCaptureProxy constructor and displays this error message , even though the textures has already been loaded.
The following code fixes this issue.
FReflectionCaptureMapBuildData* UReflectionCaptureComponent::GetMapBuildData() const { AActor* Owner = GetOwner(); if (Owner) { ULevel* OwnerLevel = Owner->GetLevel(); if (OwnerLevel && OwnerLevel->OwningWorld) { ULevel* ActiveLightingScenario = OwnerLevel->OwningWorld->GetActiveLightingScenario(); UMapBuildDataRegistry* MapBuildData = NULL; if (ActiveLightingScenario && ActiveLightingScenario->MapBuildData) { MapBuildData = ActiveLightingScenario->MapBuildData; } else if (OwnerLevel->MapBuildData) { MapBuildData = OwnerLevel->MapBuildData; } if (MapBuildData) { FReflectionCaptureMapBuildData* ReflectionBuildData = MapBuildData->GetReflectionCaptureBuildData(MapBuildDataId); #if 1 if (ReflectionBuildData && ( ReflectionBuildData->CubemapSize == UReflectionCaptureComponent::GetReflectionCaptureSize() || ReflectionBuildData->HasBeenUploadedFinal() ) ) #else if (ReflectionBuildData && ReflectionBuildData->CubemapSize == UReflectionCaptureComponent::GetReflectionCaptureSize() ) #endif { return ReflectionBuildData; } } } } return NULL; }
Result
The level becomes visible after a few seconds and displays "REFLECTION CAPTURES NEEDED TO BE REBUILT".
[Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-96068 in the post.
1 |
Component | UE - Graphics Features - Lumen |
---|---|
Affects Versions | 4.25 |
Target Fix | 4.26 |
Created | Jul 29, 2020 |
---|---|
Resolved | Nov 3, 2020 |
Updated | Sep 19, 2021 |