モーションブラーのような残像が出てしまう

UE5で操作キャラやオブジェクトを動かすとモーションブラーのような残像が映ってしまいます。

試したこと:
-Motion Blur の設定を無効/有効
-Virtual Shadow Maps の設定
-Post Process の調整

それでも残像が消えませんでした。
最初はポストプロセスが原因だと思ったのですが、調整しても改善が見られません。
この現象の正式な名前が分からないため検索しても解決方法が見つけられず困っています。
この残像は何という名前の現象でどうすれば消すことができるのでしょうか?

Could be a ghosting issue caused by anti aliasing

Try this command to switch to FXAA instead of using TSR

r.AntiAliasingMethod 1

If that fixes it, then the issue is from TSR. You can use these commands to configure it

r.TemporalAAFilterSize    -> the size of the TAA brush used to blend old frames. Higher values means a bigger brush which can cause bigger ghosting patches

r.TemporalAACurrentFrameWeight  -> priority which frames to keep. It's only about 2 frames, the current one and the old one.  Higher values favors the current frame, but it can cause flickering, while lower values favors the previous frame but can cause ghosting

r.TemporalAASamples     ->  This can cause excessive blurrines if using too high values such as 32. A value between 4-8 can work. Default is 2 i think. This is about how many times the TAA is gonna kick for each 2 frames (current and previous)

r.TemporalAA.Upsampling     ->  This can be 1 or 0, telling if you do the sampling on the full native resolution or use an upscaled one. If I am not wrong the scaling can be controlled via `r.ScreenPercentage=50`

You can also read about it on this pdf. It covers some nice console commands
Temporal Super Resolution 5.4 draft v4 1-18.pdf (24.3 MB)

1 Like

I was able to fix the issue by tweaking the anti-aliasing settings in the project.
At first, switching to FXAA removed the ghosting, but the image quality was terrible.
Then I installed the AMD FidelityFX Super Resolution plugin, and it allowed me to keep the FPS while also maintaining a clean look.

Thanks for the help!

Glad you found a solution. For more completeness you can actually customize the FXAA to achieve good quality.

There is a useless command called r.FXAA.Quality which only changes the sampling.
But you can actually create a custom FXAA Pass where you can modify the parameters of FXAA such as FXAA_QUALITY__SUBPIX and many more.
You can find these params explained in

  • unrealengine5\Engine\Shaders\Private\Fxaa3_11.ush
  • unrealengine5\Engine\Shaders\Private\FXAAShader.usf

And you can tune these params by making your custom FXAA Pass (basically copy pasting the C++ code from FScreenPassTexture AddFXAAPass( function . And if you go that route, you’ll realize you can have your custom FXAA .usf shader and make your own custom AA implementation based on FXAA