Description

Floating point error from UGameViewportClient::SplitscreenInfo causes this issue.

FMath::TruncToInt( 3240 /*ViewportSize*/ * 0.333f/*Ratio in SplitScreenInfo*/ ) = 1079

I suggested a following temporary fix to the licensee.

#if 1 // temporary fix takashi.suzuki@epicgames.com
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.3334f, 1.0f, 0.0f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.3334f, 1.0f, 0.3334f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.3334f, 1.0f, 0.6668f, 0.0f));

	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.3334f, 0.0f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.3334f, 0.0f, 0.3334f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.3334f, 0.0f, 0.6668f));
#else
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.333f, 1.0f, 0.0f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.333f, 1.0f, 0.333f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Vertical].PlayerData.Add(FPerPlayerSplitscreenData(0.333f, 1.0f, 0.666f, 0.0f));

	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.333f, 0.0f, 0.0f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.333f, 0.0f, 0.333f));
	SplitscreenInfo[ESplitScreenType::ThreePlayer_Horizontal].PlayerData.Add(FPerPlayerSplitscreenData(1.0f, 0.333f, 0.0f, 0.666f));
#endif

Result

[Image Removed]

 

Steps to Reproduce
  1. Create a project with third person template
  2. Set "three players split-screen layout" vertical in project setting
  3. Put two "Create Player" Nodes in the GameMode blueprint to add players
  4. Set a "Level-Editor Play > GameViewportSetting > NewWindowSize" 3240x1080
  5. Play standalone game
  6. The boundary is displayed.

[Image Removed]

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-85227 in the post.

0
Login to Vote

Unresolved
ComponentGameplay
Affects Versions4.22
Target Fix4.25
CreatedDec 2, 2019
UpdatedDec 5, 2019