UE4 SSRの品質をアップさせる方法

シェーダーファイルの設定を変更することでSSRの品質をアップさせることができます。

シェーダーファイルを変更と聞いて、Visual Studioが必要なわけではありません。
LauncherからインストールしたEngineで変更できます。

ファイルはインストールしたディレクトリから
\Unreal Engine\4.x\Engine\Shaders\
にあります。

ファイル名は
ScreenSpaceReflections.usf
です。

開く際は桜エディタとかで開くと綺麗に見えます。

実際に変更する箇所はUE4.12であれば、176行目です。

#if SSR_QUALITY == 1
const int NumSteps = 8;
const int NumRays = 1;
#elif SSR_QUALITY == 2
const int NumSteps = 16;
const int NumRays = 1;
#elif SSR_QUALITY == 3
const int NumSteps = 8;
const int NumRays = 4;
#else // SSR_QUALITY == 4
const int NumSteps = 12;
const int NumRays = 12;
#endif

この箇所の数字を変更していきます。

この時注意することとしては、シェーダーファイルを変更するとシェーダーのリコンパイルが走るので注意してください。

NumStepsは反射の精度を設定する項目です。32まで以降は特に変化を感じられないので32の数値がオススメです。
NumRaysは線の数です。多くすればよりノイズが消えますが、コストが増大するためパフォーマンスに影響します。

では、実際にどれだけ品質が変わるかスクリーンショットを元に見ていきましょう。

NumSteps=8 / NumRays=1
1

NumSteps=16 / NumRays=1
2

NumSteps=16 / NumRays=2
3

NumSteps=8 / NumRays=4
4

NumSteps=16 / NumRays=4
5

NumSteps=16 / NumRays=8
6

NumSteps=32 / NumRays=4
7

NumSteps=32 / NumRays=8
8

NumSteps=32 / NumRays=32
9

NumRaysはあまり上げ過ぎたい方が良さそうです。