spectator problems in 4.17

Any one know how to get the old view back for the spectator window? In 4.17 it uses a cropped version of the old view or several options that are distorted or have black “eye” outlines which are all pretty useless for recording video. Especially if you started recording vids using the earlier window. any way to fix this issue would be appreciated. :slight_smile:

I’ve investigated the source code changes and it looks like it’s not possible to not use Spectator Mode anymore unless you modify the engine code yourself. Look at the difference between FSteamVRHMD::RenderTexture_RenderThread in 4.16 and 4.17, 4.16 switches on the vr mirror mode and while 4.17 just calls the SpectatorController render mode delegate (and all modes just copy the render from the HMD output in different ways). If you’re building from source you could probably just switch back to the 4.16 code but that’s the only fix I can imagine right now.

RenderTexture_RenderThread() needs to do something like this I think:

if (bUseSpectatorMode) {
    // this is currently all that is done in 4.17
    check(SpectatorScreenController);
    SpectatorScreenController->RenderSpectatorScreen_RenderThread(RHICmdList, BackBuffer, SrcTexture);
}
else {
    // do the old vr preview render from 4.16 that does a regular old camera render instead of using the HMD's output
}

in which file of source store this info tell, please.

Thank you!

It’s in SteamVRHMD.cpp. It looks like this will be mostly resolved in 4.18 (at least the new spectator looks less zoomed in to me in 4.18) so it might not be worth the effort.

I found workaround with SceneCaptureComponent2D
may be it help.

Couldn’t make it work. Can you explain some more? Maybe I missed something.

  1. create new render target (right click in content browser - material section). settings inside I place for demonstrate monitor 1920x1080
  2. in your pawn create scenecapturecomponent2D below your camera in the hierarchy (it will be rotation and move with camera)
  3. in this component (details tab) select render target from p.1
  4. now need to change spectator screen mode and texture size - at the begin play (level or pawn no matter who will be shoot this):
    texture size - set spectator screen mode texture plus eye layout node - check settings in the screenshot above
    spectator screen mode - set spectator screen mode - here you change mode to texture, which size set early, and rendering by render target from scenecapture2dcomponent

Thanks, but unfortunately the screen stays black.