Недавний релиз Silent Hill f на движке Unreal Engine 5 вызвал неоднозначную реакцию из-за скромной графики по умолчанию. Однако, как выяснили энтузиасты, проблема не в возможностях движка, а в искусственно ограниченных настройках. Разработчики из Konami скрыли от игроков продвинутые опции, включая Hardware Lumen, которые кардинально меняют визуальную составляющую.
Основная часть:
Почему графика Silent Hill f разочаровала?
В отличие от многих других проектов на UE5, графика Silent Hill f в стандартном меню выглядит не на полную мощность. Игра не позволяет активировать ключевые технологии, такие как аппаратный глобальный свет (Lumen), через стандартный интерфейс. Все эти «эпические» настройки спрятаны и требуют ручного вмешательства в конфигурационные файлы. Важно помнить: их активация закономерно повышает нагрузку на систему и может снизить производительность.
Инструкция: Как разблокировать скрытую графику в Silent Hill f
Чтобы значительно улучшить визуал игры, выполните следующие шаги:
Перейдите в папку с конфигурацией игры: AppData\Local\SHf\Saved\Config\Windows.
Создайте в этой папке текстовый файл с названием Engine.ini (если его нет).
Откройте файл Engine.ini с помощью Блокнота и скопируйте в него следующий код:
ini
[SystemSettings]
r.Lumen.DiffuseIndirect.Allow=1
r.Lumen.SpecularIndirect.Allow=1
r.Lumen.Reflections.Allow=1
r.Shadow.Virtual.Enable=1
r.VolumetricRenderTarget=1
Сохраните файл и установите для него атрибут «Только для чтения» (щелкните правой кнопкой мыши -> Свойства -> Поставить галочку). Это предотвратит сброс настроек игрой.
Заключение:
После применения этих настроек Silent Hill f начинает выглядеть так, как и должна была — в полную силу современных возможностей Unreal Engine 5. Это наглядный пример того, как скрытый потенциал игры можно раскрыть всего несколькими строками кода.
[SystemSettings]
r.Lumen.HardwareRayTracing=1r.Lumen.Reflections.HardwareRayTracing=1r.Lumen.ScreenProbeGather.HardwareRayTracing=1r.LumenScene.DirectLighting.HardwareRayTracing=1r.ContactShadows.OverrideLengthInWS=1r.ContactShadows.OverrideLength=25r.ContactShadows.OverrideShadowCastingIntensity=1r.ContactShadows.OverrideNonShadowCastingIntensity=1r.SkylightIntensityMultiplier=0.65r.ShadowQuality=5r.Shadow.Virtual.ForceOnlyVirtualShadowMaps=0r.Shadow.Virtual.ResolutionLodBiasLocal=-2.0r.Shadow.Virtual.ResolutionLodBiasLocalMoving=-2.0r.Shadow.Virtual.ResolutionLodBiasDirectional=-1.0r.Shadow.Virtual.smrt.samplesperraylocal=2r.Shadow.Virtual.smrt.samplesperrayhair=2r.Shadow.Virtual.smrt.samplesperraydirectional=2r.Shadow.Virtual.smrt.texelditherscalelocal=4r.Shadow.Virtual.SMRT.TexelDitherScaleDirectional=6r.Shadow.Virtual.ScreenRayLength=0.02r.Shadow.InsetDownscaleFactor=0r.Shadow.PerObjectDirectionalDepthBias=0.5r.Shadow.PerObjectDirectionalSlopeDepthBias=3r.Shadow.PerObjectSpotLightDepthBias=0.5r.Shadow.PerObjectSpotLightSlopeDepthBias=3r.Shadow.ShadowMaxSlopeScaleDepthBias=3r.Shadow.SpotLightDepthBias=0.5r.lumen.tracemeshsdfs=1r.Lumen.TraceMeshSDFs.TraceDistance=240r.Lumen.ScreenTracingSource=1r.Lumen.DiffuseIndirect.SurfaceBias=8r.LumenScene.DirectLighting.UpdateFactor=8r.LumenScene.Radiosity.UpdateFactor=4r.LumenScene.Radiosity.MaxRayIntensity=99r.Lumen.ScreenProbeGather.TraceMeshSDFs=0r.Lumen.ScreenProbeGather.DownsampleFactor=12r.Lumen.ScreenProbeGather.MaxRayIntensity=1r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecular=2r.Lumen.ScreenProbeGather.MaxRoughnessToEvaluateRoughSpecularForFoliage=1r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.SkipHairHits=0r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.SkipFoliageHits=0r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth=1r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.MaxIterations=30r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.RelativeDepthThickness=0.2r.Lumen.ScreenProbeGather.ShortRangeAO.ScreenSpace.SlopeCompareToleranceScale=4.0r.Lumen.ScreenProbeGather.ShortRangeAO.ScreenSpace.FoliageOcclusionStrength=1.0r.Lumen.ScreenProbeGather.ShortRangeAO.MaxMultibounceAlbedo=0.8r.Lumen.ScreenProbeGather.ShortRangeAO.ApplyDuringIntegration=0r.Lumen.ScreenProbeGather.RadianceCache.ProbeResolution=64r.Lumen.ScreenProbeGather.RoughSpecularSamplingMode=1r.Lumen.ScreenProbeGather.DiffuseIntegralMethod=0r.Lumen.ScreenProbeGather.Temporal.MaxFramesAccumulated=4r.Lumen.Reflections.RadianceCache=1r.Lumen.Reflections.GGXSamplingBias=0.7r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations=96r.Lumen.Reflections.SmoothBias=0.76r.Lumen.Reflections.MaxRoughnessToTrace=0.63r.Lumen.Reflections.Temporal.MaxFramesAccumulated=0r.Lumen.Reflections.DownsampleFactor=0r.Lumen.Reflections.HiResSurface=1r.Lumen.Reflections.SampleSceneColorAtHit=1r.Lumen.Reflections.SpecularScale=0.8r.Lumen.TranslucencyVolume.MaxRayIntensity=0.62r.Lumen.TranslucencyReflections.FrontLayer.Enable=1r.Lumen.TranslucencyReflections.FrontLayer.Allow=1r.SSR.Quality=4r.SSR.MaxRoughness=1r.SSR.Stencil=1r.VolumetricFog.GridPixelSize=7r.VolumetricFog.GridSizeZ=192r.VolumetricFog.UpsampleJitterMultiplier=0.55r.VolumetricCloud.EnableLocalLightsSampling=1r.VolumetricRenderTarget.Mode=3r.SSS.Scale=3.5r.SSS.SampleSet=2r.SSS.Quality=1r.SSS.HalfRes=0r.SSS.Filter=1r.Water.SingleLayerWater.SupportCloudShadow=1r.ParallelShadowsNonWholeScene=1