Gray Dawn

Gray Dawn

评价数不足
BIG Grafik Guide für GREY DAWN
由 ZADOK 666 制作
...für schönere und schärfere Grafik...
...den FPS-Lock beseitigen...
   
奖励
收藏
已收藏
取消收藏
EINLEITUNG
Hallo Leute,
hier mal ein ausführliches Grafik-Guide zu Gray Dawn.
Da mir das Spiel mit seinem Osteuropäische Setting richtig gut gefallen hat, war ich von den minimalistischen Grafikeinstellung umso enttäuschter.
Ich habe den Guide so ausführlich geschrieben, dass ihr sicher die eine oder andere Info auch bei anderen Spielen nutzen könnt.
Die gewählten Einstellungen laufen bei meiner Grafikkarte (eine GTX1080-OC) mit 62FPS sauber durch.

Als ich im Spiel angekommen war, gab es nur folgende Qualitäts-Einstellungen (presets):
Niedrig, Mittel, Hoch und Episch

Ok, ich kann noch die Auflösung ändern, Vollbild und Vsync aktivieren aber mehr gibt es nicht!
Doch selbst auf der Einstellung EPISCH habe ich mit verwaschenen Texturen und noch verwascheneren bewegenden Objekten (z.B. Gras und Bäume) zu kämpfen.

Dies wollte ich ändern. Normalerweise würde ich 4xDSR benutzen. Allerdings unterstützt des Spiel keine Auflösung von 3840x2400 (ich benutze einen 16:10 Businessmonitor mit 1920x1200 bei 4xDSR Pixelanzahl mal4).
Also musste ich anders vorgehen.
GameUserSettings.ini
Das Spiel nutzt die Unreal-Engine 4.22, welche sich mit INI-Einträgen gut anpassen lässt.

Wichtig für uns sind 2 Dateien, die "GameUserSettings.ini" und die "Engine.ini".
Zu finden im ORDNER: C:\Users\...\AppData\Local\GrayDawn\Saved\Config\WindowsNoEditor
(Je nach Betriebssystem kann der Pfad anders sein)

Am besten sollte man die Einstellungen "Ingame", einmal einstellen (z.B. Episch) und danach unberührt lassen. Sonst werden die Einstellungen der INI-Dateien wieder überschrieben.
Es ist natürlich auch möglich die Dateien auf Schreibgeschützt zu setzen. Falls ihr aber Nichts im Spiel selbst ändert, ist dies nicht zwingend nötig.

In der "GameUserSettings.ini" werden die Qualitäts-Presets gespeichert:
bei Einstellung NIEDRIG (Low):
[ScalabilityGroups]
sg.ViewDistanceQuality=0
sg.AntiAliasingQuality=0
sg.ShadowQuality=0
sg.PostProcessQuality=0
sg.TextureQuality=0
sg.EffectsQuality=0
sg.FoliageQuality=0

bei Einstellung MITTEL (Medium):
[ScalabilityGroups]
sg.ViewDistanceQuality=1
sg.AntiAliasingQuality=1
sg.ShadowQuality=1
sg.PostProcessQuality=1
sg.TextureQuality=1
sg.EffectsQuality=1
sg.FoliageQuality=1

bei Einstellung HOCH (High):
[ScalabilityGroups]
sg.ViewDistanceQuality=2
sg.AntiAliasingQuality=2
sg.ShadowQuality=2
sg.PostProcessQuality=2
sg.TextureQuality=2
sg.EffectsQuality=2
sg.FoliageQuality=2

bei Einstellung EPISCH (Epic):
KEIN Eintrag (dies entspricht einer Einstellung sg.Quality=3)

Schon etwas besser, da jede Qualitätseinstellung im Spiel 7(!) [ScalabilityGroups] verändert, welche ich nun einzeln steuern kann. Allerdings steuert eine [ScalabilityGroup] wiederum eine große Anzahl an [SystemSettings], doch dazu später mehr.

Mein einziger verwendeter Eintrag unter:
[ScalabilityGroups]
sg.FoliageQuality=2

Dies ist die Menge an Gras (nicht der Bäume und Büsche) welche vom Spiel generiert wird.
Ein Eintrag von =0 würde bedeuten, es gibt gar kein Gras
Ein Eintrag von =1 würde bedeuten, es gibt etwas Gras
KEIN Eintrag würde bedeuten, die maximale Menge an Gras wird generiert.
Ich denke dies ist soweit klar, also stehen alle anderen Werte auf EPISCH (da kein Eintrag).

Die anderen Einträge in der "GameUserSettings.ini" [ShaderPipelineCache.CacheFile] und
[/script/engine.gameusersettings] lassen wir unberührt.
Engine.ini
Jetzt kommen wir zu der für uns wichtigeren "Engine.ini".
Die Einträge unter [Core.System] lassen wir unberührt. Darunter setzen wir den neuen Eintrag:
[SystemSettings]
HINWEIS: Alle jetzt kommenden Settings liegen noch ÜBER den EPISCH Einstellungen des Spiels. Sind damit aber nicht zwingend das Ende der Stellschraube, sondern eher das Ende der sinnvollen Einstellungen.

Die folgenden Settings in die "Engine.ini" kopieren. Danach kann die Datei mit dem Kontextmenü>Einstellungen in den read-only Modus gesetzt werden (Falls nicht, werden meine Anmerkungen in den SystemSettings vom Spiel gelöscht).

[SystemSettings]
;--- Anti-Aliasing-Quality @ ZADOK666
r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6 ; dies ist das Maximum, da TAA mit FXAA Komponente
r.TemporalAA.Upsampling=1
r.TemporalAA.Algorithm=0 ; bei einem Spiel ab UnrealEngine 4.26 hier =1 eintragen :)
r.ScreenPercentage=150 ; WICHTIGE EINSTELLUNG - Erklärung siehe unten
r.TemporalAACurrentFrameWeight=0.05 ; WICHTIGE EINSTELLUNG - Erklärung siehe unten

;--- Post-Process-Quality @ ZADOK666
r.MotionBlurQuality=0 ; DEAKTIVIERT, für MAX-Quality auf =4 setzen
r.AmbientOcclusionMipLevelFactor=0.4
r.AmbientOcclusionMaxQuality=100
r.AmbientOcclusionLevels=3
r.AmbientOcclusionRadiusScale=0.7 ; andere Werte können gesetzt werden (zw. 0.1-1.5)
r.DepthOfFieldQuality=4 ; das ist das Maximum, zum deaktivieren auf =0 setzen
r.RenderTargetPoolMin=1000
r.LensFlareQuality=3 ; das ist das Maximum, zum deaktivieren auf =0 setzen
r.EyeAdaptationQuality=2
r.BloomQuality=0 ; DEAKTIVIERT, für MAX-Quality auf =5 setzen
r.LightShaftQuality=1
r.Filter.SizeScale=1
r.Tonemapper.Quality=0 ; DEAKTIVIERT, für MAX-Quality auf =5 setzen
r.Tonemapper.GrainQuantization=0 ; DEAKTIVIERT, für MAX-Quality auf =1 setzen

;--- Shadow-Quality @ ZADOK666
r.LightFunctionQuality=1
r.ShadowQuality=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=2048 ; für MAX-Quality auf =4096 setzen
r.Shadow.MaxCSMResolution=2048 ; für MAX-Quality auf =4096 setzen
r.Shadow.RadiusThreshold=0.04 ; für MAX-Quality auf =0.03 setzen
r.Shadow.DistanceScale=1.5
r.Shadow.CSM.TransitionScale=1.0
r.DistanceFieldShadowing=1
r.DistanceFieldAO=1
r.VolumetricFog=1
r.VolumetricFog.GridPixelSize=8 ; für MAX-Quality auf =4 setzen
r.VolumetricFog.GridSizeZ=128

;--- Texture-Quality @ ZADOK666
r.Streaming.MipBias=0
r.MaxAnisotropy=8 ; MAX-Quality ist =16 macht aber bei diesem Spiel keinen Sinn
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.PoolSize=3000
r.Streaming.MaxEffectiveScreenSize=0

;--- View-Distance @ ZADOK666
r.SkeletalMeshLODBias=0
r.ViewDistanceScale=1.5 ; MAX-Quality ist =10 macht aber keinen Sinn da DepthOfField aktiv

;--- Effects-Quality @ ZADOK666
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=4
r.SceneColorFormat=4
r.DetailMode=2
r.TranslucencyVolumeBlur=1
r.MaterialQualityLevel=1 ; entspricht High quality
r.SSS.Scale=1
r.SSS.SampleSet=2
r.SSS.Quality=1
r.SSS.HalfRes=0
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
r.SSS.Quality=1
r.SSS.HalfRes=0
r.EmitterSpawnRateScale=1.0
r.ParticleLightQuality=2
;--- ENDE @ ZADOK666


Wie man sieht habe ich 3 Post-Process-Effekte im Spiel DEAKTIVIERT.
Dies ist immer mit Vorsicht zu genießen, da sich Entwickler ja Gedanken machen, welcher Effekt im Spiel sinnvoll ist, um eine gewisse Immersion zu erzeugen.

Dies ist die Bewegungsunschärfe:
r.MotionBlurQuality=0 ; DEAKTIVIERT
Das Film-grain (Körnung):
r.Tonemapper.Quality=0 ; DEAKTIVIERT
r.Tonemapper.GrainQuantization=0 ; DEAKTIVIERT
Der Bloom-Effekt:
r.BloomQuality=0 ; DEAKTIVIERT
Bloom wird zwar auch im Spiel benutzt, senkt aber eher den Kontrast des Bildes und ist meines Erachtens unnötig. Die wichtige Bildaufhellung im Spiel ist nicht Bloom sondern Fog und sollte nicht deaktiviert werden. Ihr könnt es ja mal testen und schauen was passiert :)
r.Fog=0

Allgemein: Ein setzen von =0 hinter einen Effekt DEAKTIVIERT ihn, z.B. für ChromaticAberration
r.SceneColorFringeQuality=0
Da dieser Effekt nicht im Spiel vorkommt, müssen wir diese Zeile auch nicht in die [SystemSettings] setzen.

Auf 2 wichtige Einstellungen gehe ich noch gesondert ein:
1.
Dies ist die interne Renderauflösung für das Temporale-Anti-Aliasing. Dies ist quasi die schwere Keule mit der wir arbeiten. GrayDawn verwendet temporal AA upsampling (TAAU) der 4. Generation. Normal wird eher eine Percentage=60 oder =75 verwendet, logisch da upsampling.
Jetzt machen wir was ganz verrücktes, wir machen daraus downsampling :)
r.ScreenPercentage=100 ; gutes Bild, auch für langsame PCs geeignet
r.ScreenPercentage=150 ; meine Einstellung, sehr gutes Bild
r.ScreenPercentage=200 ; noch schärferes Bild, gelegentlich Artefakte, sehr Leistungshungrig

2.
r.TemporalAACurrentFrameWeight=0.05 ; meine Einstellung (Range möglich von =0.0 bis =0.45)
Dies ist eine Einstellung um Ghosting- und Jitter-Effekte bei TAA zu beseitigen.
Ein kleinerer Wert macht das Bild ruhiger aber weniger scharf, ein höherer Wert macht das Bild knackiger aber das Bild flimmert mehr. Besonders bei harten Kanten und Spiegelungseffekten.
Testet selbst aus was für euch passt.

Und nur zum Verständnis, TAA führt immer zu einer gewissen Unschärfe bei Bild-Teilen welche sich bewegen (sich wiegenden Bäumen, Gras usw.) Und natürlich im ganzen Bild bei eigener Bewegung!!! Mit unseren TAA Einstellungen holen wir schon aller raus.
Aber eine Stellschraube haben wir noch: Das FPS-Look im Spiel.
FPS-Lock beseitigen und Screenshots
Gray Dawn hat ein 62 FPS cap, also mehr geht nicht.
Wer mehr Frames möchte, muss noch folgenden Wert in die "Engine.ini" eintragen:

[/script/engine.engine]
bSmoothFrameRate=false
MinSmoothedFrameRate=5
MaxSmoothedFrameRate=144

Bei „MaxSmoothedFrameRate“ könnt ihr den Wert eintragen, den ihr benötigt.
Da mein Business-Monitor eh auf 62Hz eingestellt/übertaktet ist (ja das geht), habe ich den Script nicht gebraucht.
HINWEIS: Eine hohe Frame-Rate würde den negativen Effekt von TAA (Bildunschärfe bei bewegenden Bildteilen) weiter reduzieren!

Hm, was gibt es noch...
Wer mag kann noch das Field of viev (FOV) mit einem Script-Eintrag in die "Engine.ini" anpassen. Habe ich aber selbst nicht benutzt, war mit der spiel-eigenen FOV-Einstellung zufrieden.

[/script/engine.localplayer]
AspectRatioAxisConstraint=AspectRatio_MaintainYFOV

HINWEIS: Wenn ihr Scripte in die "Engine.ini" schreibt, müsst ihr die Datei danach zwingend auf read-only stellen. Sonst überschreibt des Spiel die Einträge wieder.


Nachfolgend seht ihr ein paar Screenshots.
Zuerst in der spieleeigenen EPIC Einstellung. Danach mit meinen verbesserten Settings.















Ich hoffe ihr seid mit dem Ergebnis genauso zufrieden wie ich :)

LG ZADOK666
2 条留言
grimmute 2023 年 6 月 21 日 上午 10:58 
Thanks for this! Exactly what I needed.
ollersack 2023 年 4 月 16 日 下午 2:49 
Supi Danke:steamhappy: