I simply change the Engine Source codes.
(
In
void FScene::UpdateSceneCaptureContents(USceneCaptureComponentCube* CaptureComponent)
Only change
FSceneRenderer* SceneRenderer = CreateSceneRenderer(CaptureComponent, CaptureComponent->TextureTarget, ViewRotationMatrix, Location, FOV, CaptureComponent->MaxViewDistanceOverride);
to
FSceneRenderer* SceneRenderer = CreateSceneRenderer(CaptureComponent, CaptureComponent->TextureTarget, ViewRotationMatrix, Location, FOV, CaptureComponent->MaxViewDistanceOverride, false);
(add false so not rendering the SceneColor but the FinalSceneColor)
and
UpdateSceneCaptureContent_RenderThread(RHICmdList, SceneRenderer, TextureRenderTarget, OwnerName, FResolveParams(FResolveRect(), TargetFace), true);
to
UpdateSceneCaptureContent_RenderThread(RHICmdList, SceneRenderer, TextureRenderTarget, OwnerName, FResolveParams(FResolveRect(), TargetFace), false);
(change last parameter from true to false)
)
It works fine for me. SceneCaptureComponentCube can correctly capture the final scene color(LDR).
So makes full changes likes SceneCaptureComponent2D.
So I think it can be easily work similar likes SceneCaptureComponent2D.