2024-08-26 16-56-42.mkv (12.1 MB)
I’m getting further along in development of my first game and I’ve been feeling really good about working in unreal although I am having some issues with this strange motion blur type effect on everything. I’ve been trying to figure it out on my own for a month or so now and I think it’s finally time to reach out for some help. If anyone could help me figure this out, that would be awesome! =]
Here’s a list of everything I’ve done so far:
Problem: Experiencing screen tearing and motion blur-like artifacts when moving in a 2D project in Unreal Engine. The issue manifests as translucent diagonal lines or blur around the edges of objects, especially during movement.
Testing Observations: The problem persists even in different Unreal projects (including a marketplace demo) and across multiple PCs. It seems independent of frame rate, V-Sync settings, and occurs even in spectator mode.
List of Everything I’ve Tried:
Rendering Settings in Project Settings:
-
Anti-Aliasing:
Disabled all anti-aliasing (including FXAA, TAA, and MSAA).
Tested different anti-aliasing methods (None, FXAA, MSAA). -
Motion Blur:
Disabled motion blur globally in Project Settings, Camera settings, and Post-Processing Volumes. -
Screen Percentage:
Verified that screen percentage is set to 100%.
Tested with different screen percentage values to rule out scaling issues. -
V-Sync:
Enabled/disabled V-Sync in Project Settings and Nvidia Control Panel.
Tested V-Sync using console commands (r.VSync 1
andr.VSync 0
).
Tested with various V-Sync settings (On, Off, Adaptive) in the Nvidia Control Panel. -
Fixed Frame Rate:
Enabled/disabled “Use Fixed Frame Rate” in Project Settings (set to 60 FPS).
Tested different frame rate settings and ensured they match the monitor’s refresh rate. -
Temporal AA Jitter:
Disabled Temporal AA Jitter and related settings.
Used console commands liker.TemporalAACurrentFrameWeight 0.1
to minimize potential ghosting. -
Separate Translucency:
Disabled “Separate Translucency” to prevent unnecessary sorting overhead. -
Nanite:
Disabled Nanite, even though it’s typically for 3D geometry. -
Texture Streaming and Mip Maps:
Disabled texture streaming to force high-resolution textures.
Increased texture streaming pool size withr.Streaming.PoolSize
console command.
Verified that mip maps are set to a bias of 0 to avoid unexpected blurring.
Camera Settings:
-
Camera Lag:
Disabled camera lag entirely to rule out smoothing artifacts. -
Tick Group Settings:
Experimented with different tick groups (Pre-Physics, Post-Physics).
Aligned the camera and character tick groups to ensure consistency. -
Orthographic vs. Perspective Mode:
Tested the camera in both orthographic and perspective modes.
Hardware and System Settings:
-
Nvidia Control Panel Settings:
Set Power Management Mode to “Prefer Maximum Performance”.
Set Low Latency Mode to “On” and tested with “Ultra”.
Forced V-Sync settings and tested with G-Sync on/off.
Adjusted settings like Maximum Pre-Rendered Frames to 1. -
Monitor Refresh Rate:
Verified that the monitor is running at 60Hz and consistent across testing. -
Tested on Different PCs:
The issue persists on multiple PCs with different hardware but similar Nvidia settings. -
Checked for Conflicting Background Applications:
Ensured no overlays, recording software, or other background processes could be interfering.
Engine-Specific Settings:
-
World Settings and Level Settings:
Reviewed settings like Occlusion Culling, World Bounds Check, and Level Streaming to ensure they aren’t causing unexpected behavior. -
Velocity Pass and Output Velocity Settings:
Disabled settings like velocity pass and output velocity for vertex deformation to reduce motion blur artifacts. -
Rendering Features:
Disabled advanced features like Ray Traced Translucent Refractions, Forward Shading, and Mesh Distance Fields.
Additional Testing Approaches:
-
Standalone Sprites vs. Tilemap:
Tested placing a sprite directly in the level, bypassing the tilemap, to see if the issue is tilemap-specific. -
Testing with a Fresh Project:
Created a brand-new 2D project with minimal setup (just a sprite and camera) to see if the issue persists without any complex settings. -
Different Resolutions and Window Modes:
Tested in fullscreen, windowed, and borderless windowed modes.
Ran the game in different resolutions (e.g., 1920x1080, 1280x720) using ther.SetRes
command. -
Tried Disabling Post-Processing Volumes:
Made sure no hidden or residual post-processing effects were active in the level or camera.
Other Suggestions from Forums/Research:
-
Reviewing Global Settings Mentioned as “Best for 2D Games”:
Searched through Project Settings, Camera settings, and World Settings for any settings tagged as optimized for 2D games but didn’t find anything that resolved the issue. -
Testing Different Versions of Unreal Engine:
Considered testing in older or newer versions of the engine to see if the issue is tied to a specific build.