There are a lot of variations of .ini tweaks going around, so I decided to compile the relevant commands into one place!
Where and What?
As you may have noticed, NMH3 on PC has an extremely short draw distance, both for objects and shadows. Thankfully, mitigating these graphical shortcomings is extremely easy! (NOTE: Don’t be afraid to play around with the values! See what works best for you in terms of quality/performance)
The following commands need to be pasted onto Engine.ini, located under %LOCALAPPDATA%\No More Heroes 3\Saved\Config\WindowsNoEditor:
[SystemSettings]
r.MaxAnisotropy=16
r.DepthOfFieldQuality=4
r.bForceCPUAccessToGPUSkinVerts=1
r.FastVRam.EyeAdaptation=1
r.ViewDistance=5
r.ViewDistanceScale=5
r.LandscapeLODDistributionScale=3
r.LandscapeLOD0DistributionScale=3
r.StaticMeshLODDistanceScale=0.01
grass.CullDistanceScale=4
grass.DisableDynamicShadows=1
foliage.LODDistanceScale=4
foliage.ditheredLOD=0
foliage.MinimumScreenSize=0.00000001
foliage.MaxOcclusionQueriesPerComponent=128
foliage.MinInstancesPerOcclusionQuery=65536
r.HLOD=1
r.HLOD.DistanceScale=3
r.MipMapLODBias=0
r.MaxQualityMode=1
r.DetailMode=2
r.MaterialQualityLevel=1
r.SkeletalMeshLODBias=-2
r.SkeletalMeshLODRadiusScale=0.03
r.LandscapeLODBias=-3
r.TrueSkyQuality=1
r.SkyLightingQuality=1
r.VolumetricCloud=1
r.VolumetricCloud.SkyAO=1
r.VolumetricCloud.SkyAO.Filtering=1
r.VolumetricRenderTarget.Mode=1
r.SkylightIntensityMultiplier=0.4
r.SkyAtmosphere=1
r.SupportSkyAtmosphere=1
r.SkyAtmosphere.LUT32=1
r.SkyAtmosphere.FastSkyLUT=0
r.SkyAtmosphere.MultiScatteringLUT.HighQuality=1
r.SkyAtmosphere.AerialPerspectiveLUT.FastApplyOnOpaque=0
r.SkyAtmosphere.TransmittanceLUT.UseSmallFormat=0
r.SkyAtmosphere.AerialPerspectiveLUT.Depth=96
r.SkyAtmosphere.AerialPerspectiveLUT.DepthResolution=16.0
r.SkyAtmosphere.SampleCountMin=64.0
r.SkyAtmosphere.SampleCountMax=128.0
r.SkyAtmosphere.DistanceToSampleCountMax=128
r.RefractionQuality=3
r.LightFunctionQuality=1
r.AllowLandscapeShadows=1
r.AmbientOcclusionLevels=2
r.AmbientOcclusionMaxQuality=100
r.AmbientOcclusionRadiusScale=0.03
r.HighQualityLightMaps=1
r.LensFlareQuality=4
r.ShadowQuality=5
r.Shadow.DistanceScale=5
r.Shadow.CSM.MaxCascades=10
r.Shadow.MaxResolution=4096
r.Shadow.MinResolution=4096
r.Shadow.MaxCSMResolution=4096
r.Shadow.MinCSMResolution=4096
r.Shadow.RadiusThreshold=0.001
r.Shadow.CSM.TransitionScale=6
r.BloomQuality=4
r.EyeAdaptationQuality=3
OPTIONAL: Super-Sampling (SSAA)
r.ScreenPercentage=###
With it, you can render the game at a different resolution than what your monitor can offer (Base value being 100 percent). For example, if you have a 1080p display and set the “###” to “200”, this would make so that the game renders internally at 4K, then downsamples to 1080p, producing a sharp image with a lot less AA. This, of course, is incredibly taxing on the hardware, so you might want to play around with the percentage, or try TAA instead. (next section)
For low-end users, you can upsample too, by setting “###” to something below “100”!
OPTIONAL: Temporal Anti Aliasing (TAA)
In comes TAA, a more sophisticated solution, although not perfect by any means. If SSAA is too taxing for your hardware and still want a decent form of AA, try these commands:
r.DefaultFeature.AntiAliasing=2
r.PostProcessAAQuality=6
r.TemporalAASamples=8
r.TemporalAACurrentFrameWeight=0.12
r.TemporalAAFilterSize=1.0
r.TemporalAACatmullRom=1
r.TemporalAAPauseCorrect=1
OPTIONAL: Screen Space Reflections (SSR)
r.SSR.Quality=4
r.SSR.MaxRoughness=1
r.RefractionQuality=3
MEGA OPTIONAL: Screen Space Global Illumination (SSGI)
If you are an absolute lunatic and/or have a good enough PC to handle SSGI, try this command:
r.SSGI.Quality=4
OPTIONAL: Texture Streaming Commands
r.Streaming.Boost=4
r.Streaming.HLODStrategy=0
r.Streaming.DefragDynamicBounds=1
r.Streaming.MipBias=0
r.Streaming.FullyLoadUsedTextures=1
Alternatively, you can disable texture streaming outright. Sounds great, don’t it? Well, unfortunately this extends loading times considerably:
r.TextureStreaming=0
Thanks to Somewhat Viable for his great guide, all credit to his effort. you can also read the original guide from Steam Community. enjoy the game.