EA SPORTS™ WRC

EA SPORTS™ WRC

40 人が評価
Fix Triplewide/Ultrawide Stretching w/Panini Projection
作者: bohoa
Ultrawide and triplewide setups will suffer from stretching at the edges of the full display. With a few additions to the Engine.ini config, we can leverage Unreal Engine's built-in Panini Projection algorithm and eliminate all of that stretching. UE's Panini projection implementation is based off a well known thesis of human/artistic perception versus rectilinear projection that is commonly used to display 3D worlds in video games.

More accurately predict distances, get a better and more accurate sense of speed, have clearer visuals through corners and bends, immerse yourself more, and ultimately, hopefully have more fun and set better times.

This in-engine feature uses a post-process to manipulate and upscale the rendered scene based on 3 variables and then displays the altered render.

Guide contains before and after screenshots, some explanation on the variables and their values, and the benefits and potential downsides.

*UPDATED VARS:* Dec 8th 2023: Using HeadCam (the one that you can move). My in-game FOV is 12. Using DLSS Quality - Sharpness 80. Panini.S adjusts the projection angle of your side monitor. Values close to 0 will be helpful for flat ultrawides. Values closer to -1 will be for enclosed rigs with monitors that go past your natural irl FOV. I use 5820x1080p res Triples. Eyes are 26" away from center monitor. Side monitors are 60º.

[/script/engine.renderersettings]
niagara.CreateShadersOnLoad=1
r.NGX.DLAA.Enable=false
r.NGX.DLSS.AutoExposure=0
r.NGX.DLSS.Reflections.TemporalAA=0
r.NGX.DLSS.DilateMotionVectors=1

[SystemSettings]
r.Upscale.Panini.D=1.0
r.Upscale.Panini.S=-0.24
r.Upscale.Panini.ScreenFit=1.0
r.ScreenPercentage=60
r.PostProcessAAQuality=0
r.TemporalAA.Upsampling=0
r.TemporalAA.Algorithm=0
r.TemporalAA.R11G11B10History=1
r.Tonemapper.MergeWithUpscale.Mode=0
r.TemporalAACatmullRom=0
r.SecondaryScreenPercentage.GameViewport=110
r.HLOD.DistanceOverride=40000, 100000, 200000, 400000
4
2
2
3
2
2
   
アワード
お気に入り
お気に入り
お気に入りから削除
Quick Comparisons
Fixed Position Cockpit Cam

Far Chase Cam

Stretching at the edges can be fixed, providing proper distance estimation and better visuals.

Check out this awesome video by Boosted Media to see for yourself!
Default Projection vs Panini Projection
Default Linear Projection on Triple-wide 5760x1080


Panini Projection Projection on Triple-wide 5760x1080
%APPDATA%\Local\WRC\Saved\Config\WindowsNoEditor --> Engine.ini
[SystemSettings]
r.Upscale.Panini.D=.67
r.Upscale.Panini.S=0
r.Upscale.Panini.ScreenFit=0
r.Upscale.Quality=4


Panini Projection Projection on Triple-wide (Horizontal Fit to Display Res) 5760x1080
%APPDATA%\Local\WRC\Saved\Config\WindowsNoEditor --> Engine.ini
[SystemSettings]
r.Upscale.Panini.D=.67
r.Upscale.Panini.S=0
r.Upscale.Panini.ScreenFit=1
r.Upscale.Quality=4

Quick Explanation of Variables
r.Upscale.Panini.D=0.00 through 1.00
Responsible for lerping rectilinear projection with cylindrical Panini projection.
The higher the value, the more horizontally "squeezed" the final result will be. 1.50 Will result in a fully compressed orthogonal cylindrical mapped result.
  • r.Upscale.Panini.D=0.00
  • r.Upscale.Panini.D=0.67
  • r.Upscale.Panini.D=1.00

Recommended starting value r.Upscale.Panini.D=1

r.Upscale.Panini.S=-1.00 through 1.00
Responsible for reducing the curvature of horizontal lines. Should be considered an added tweak only if the above parameter doesn't satisfy your needs.
  • If r.Upscale.Panini.S= (> 0) the horizontal lines will be hard "squeezed" resulting in fully straightened horizontals. Ideal for FoVs less than Hor160º
    r.Upscale.Panini.S=0.2
  • If r.Upscale.Panini.S= (< 0) the horizontal lines will be soft "squeezed" resulting in less complete straightened horizontals. Ideal for FoVs more than Hor160º
    r.Upscale.Panini.S=-0.2

Values > 0 could be useful for angled triple wide setups.

Recommended starting value r.Upscale.Panini.S=0

r.Upscale.Panini.ScreenFit=0.00 through 1.00
Responsible for adjusting the screen fit of the final result.
  • If r.Upscale.Panini.ScreenFit=0.00 Final result will fully fit into display vertically
  • If r.Upscale.Panini.ScreenFit=1.00 Final result will fully fit into display horizontally

Changes final displayed FoV and may require an in-game FoV slider change (increase slider value) to keep distant objects the same size.

Recommended starting value r.Upscale.Panini.ScreenFit=1.00

r.Upscale.Quality=4
Default in UE4.27 is 3 (bi-cubic). This value of 4(13-tap lanzcos 3) may help with any aliasing or artifacts from screenfit=1.
Benefits and Shortcomings
The Good
  • Fixes horizontal stretching at edge of screen.
  • Helps accurate distance estimation.
  • Closer to natural human perspective.
  • Amplify the sense of speed while having proper HeadCam FoV for your setup.
  • Immersion fixing peripheral vision.


The Bad
  • Horizontal Fit to Screen will result in loss of full vertical picture.
  • Certain game menus and cameras have different projections and final results than expected or desired. Not game breaking, but a slight annoyance.
  • Blurry if upscaling quality is low or while using certain in-game cameras. Dependent on in-game FoV slider value.
  • May affect performance ever so slightly, as this is post-processing.
  • The Service Park Menu camera get really distorted. Does not impact settings, tuning adjustments, or menus.
  • You have to edit a config file or install the one from racedept. under the same title.
43 件のコメント
Sir Trippy 1月28日 6時22分 
how do i make it fit for 7680x1440 resolution
TURN7RACING 1月8日 3時42分 
i also tried this and got nothing but a blurry mess and horrid graphics
Junksick 2024年12月8日 20時52分 
Has this been removed from the game? I've been trying to implement it again since an earlier update and for the life of me I can't seem to get it working again...

Is there any one else who WAS using this able to confirm this for me? Am I just a dumbass? Lmao
Frey 2024年11月21日 15時20分 
dont work
BouchardM 2024年10月24日 10時07分 
Hey very love the idea, but I can't setup it correctly, can you help me? I have a 27-49-27 setup in 1080p, so my UW 49 in center 3840x1080p. and both left and right monitor is 1920x1080p!!
ГОЙДАДЫР 2024年10月19日 2時25分 
how to calcilate correct fov after this fix?
As I understand it, you need to take a screenshot before the changes, and after the change increase the field of view until in the very center at the top and bottom of the image will not match the original position
all of this applies to r.Upscale.Panini.ScreenFit=1 mode

Correct me if I'm wrong.
ruletkataburetka 2024年9月19日 16時14分 
v1.9.0 - Not working. Tnx EA for Anti-Cheat...
Injektilo* 2024年8月19日 17時24分 
Is there a particular display mode I should use? I have tried to apply this fix, and nothing has changed (v1.9.0 of the game).
bohoa  [作成者] 2024年8月2日 8時19分 
Fixing blur (for advanced users only):
This takes a bit of time as monitors and graphics card make the adjustments... be warned

-Open nvidia control panel
-Disable nvidia surround
-Select 'Manage 3d Settings'
-Enable DSR factors, DLDSR or just DSR
-Select the appropriate scaling. 1.25x or 2.0x or whatever
-Go to 'Change Resolution' Tab
-Select a monitor and make a new custom resolution that matches the res of the DSR factor you chose
-Test it. Apply.
-Repeat 6-7 for each monitor
-Again make sure all monitors have the new DSR res set and the maximum frame rate
-Go back to 'Configure Surround,PhysX'
-Enable Surround
-The default surround resolution will be a combination of the custom resolutions
-Adjust bezels
-This will have the benefit/downside of scaling your desktop if you want to use this with rbr, as you need to make it your base resolution.
-For other games, you can leave desktop at your native triple res and then choose the upscaled res in game settings.
Fliimsy 2024年8月1日 12時15分 
After trying my own trial and error, when I implement the fix, the game is horribly blurry, is that just an unavoidable side effect? I restored my backup engine file to see the difference, and pre-fix it is not blurry at all. :deadweight: