Platform: Win & Mac
When you launch a game with 3 players in split screen, it will show a black screen. 1, 2, or 4 works fine.
- Open this repro project
- It should open Start map, but if not open it
- Hit play, notice how it loads a game with 4 players
- Stop it, and open the Start level blueprint
- Change the numPlayers variable to 3, compile
- Hit play, notice how it loads a black screen
- Stop, and change the number of players to 2 or 4 and it will work normally, only 3 is broken.
You can’t really notice there, but when launching the game in 3 player split screen only the UMG widgets will show up, the game is running in the background, just nothing is being shown.
I have the same problem. Kinda strange that nobody else is reporting this because there even is a “Three Player Splitscreen Layout” option in the project preferences.
This has already been reported and a ticket has been submitted for this with UE-9825. I’ve added your post here to the ticket.
Once there is an update we will post any updates.
Is there an update on this issue? I noticed that when this black screen happened I could, running in standalone, re-size the window and for some sizes the window would render properly. More specifically, I tested re-sizing the screen width and height independently and found that re-sizing the width would effect the rendering while re-sizing the height did not. I thought maybe this information would help isolate the problem.
That issue is still backlogged. Unfortunately, there is no time frame for when this will be addressed. I have added your interest in seeing this resolved to the ticket.
I found a work-around in GameViewportClient.cpp that avoids the blackscreen problem.
This is not a proper fix of course, but I think it should help Epic in identifying
and fixing the real problem.
It appears that when the screen goes black, the calculated value for TotalArea is never
equal to (MaxX-MinX)(MaxY-MinY). When the screen does render properly then TotalArea
is always equal to (MaxX-MinX)(MaxY-MinY). This is around line 1191 in the 4.10 engine source.
When I took out the condition from the “if” statement below, then the window would
always render properly (no more black screen) regardless of the resolution used.
I’m guessing there is a problem with rounding or truncation during the calculation
of TotalArea which only shows for some resolutions.
Here is my change (around line 1191 of GameViewportClient.cpp):
// If the views don't cover the entire bounding rectangle, clear the entire buffer.
//if ( ViewFamily.Views.Num() == 0 || TotalArea != (MaxX-MinX)*(MaxY-MinY) || bDisableWorldRendering )
if (ViewFamily.Views.Num() == 0 || bDisableWorldRendering)
I hope this information proves useful.
Your awesome wjhcc!
You should make a pull request.
ran across this bug in 4.10.4, however works ok when game is played in new window. when a 3 player local game is played in selected viewport, the bug described above persists. i didn’t try recompiling the source, as my engine download is from the launcher, so not sure if that code change fixes things.
Hopefully this helps anyone, 3 player splitscreen is black in PIE, but works fine when the game is built in my version.
I can’t run with 3 player,but I delected the ReflectPlane,it’s ok.Any bug with local multiplayer and ReflectPlane?