I came upon this issue in my own project, and this was my solution.
First, the “standard background” here can be hidden by disabling the “Atmosphere” [ShowFlag][2] on your scene capture component. This can be found in the details pane for your scene capture component, hidden under “General Show Flags” in the Advanced section, or in C++ using SceneCaptureComponent->ShowFlags.Atmosphere = 0;
However, this leaves you with a simple black background instead of the atmosphere, which is more reasonable but still not where we want to be. To solve this I created a new material that looks like this,
Note that the leftmost “Texture” node has been converted to a parameter. Finally, in my drawing code, I am creating a dynamic instance of my material, passing the capture component’s texture target to the Texture parameter that I defined, and at last calling DrawMaterial:
UMaterialInstanceDynamic* matInst = UMaterialInstanceDynamic::Create(MyCustomMaterial, this);
matInst->SetTextureParameterValue("Texture", SceneCaptureComponent->TextureTarget);
DrawMaterial(matInst, 20, 20, 256, 256, 0, 0, 1, 1);
And presto:
Still needs some cleanup but we’ve done what we wanted!