Primer 05 — Post Processing
絵ができた「あと」に、絵全体へかける / Screen-space effects after lighting

ポストプロセス

ライティングまで終わって1枚の絵ができたあと、その絵全体に後処理として掛けるのがポストプロセス(post process)です。写真の現像に近く、明るい所を滲ませる(Bloom)ピント外をぼかす(DOF)輪郭のジャギーを消す(TAA)など。3D計算ではなく、完成画像を「画像処理」する段だと捉えると分かりやすい。実際に効果を掛けて確かめましょう。

Bloom Depth of Field TAA Screen Space
まず用語だけ — 読む前の30秒
ポストプロセス post process
完成した画面全体に後から掛ける画像処理。写真の現像にあたる段。
スクリーンスペース screen space
3Dではなく「画面のピクセル上」で処理すること。多くのポスト効果の土台。
ブルーム bloom
明るい部分が周囲へ滲む光のあふれ。強い光源やハイライトを演出。
被写界深度 depth of field
ピントの合う奥行き範囲。外れた手前/奥をぼかしてカメラらしさを出す。
TAA temporal AA
前フレームの結果も混ぜて輪郭のギザギザ(ジャギー)をならす手法。
トーンマッピング tone mapping
広い明るさの範囲(HDR)を画面に収まる範囲へ圧縮する変換。最後段の常連。
※ 各語の詳しい定義は、ページ末尾の用語集にもあります。

§1 — Where it sits

ポストプロセスは「最後の一段」

Primer 04 で見たライティングパスが終わると、色のついた1枚の画像ができます。ポストプロセスはその画像(と、必要なら深度チャンネル)を入力に、画面全体を1回なめるように後処理を重ねます。3Dのメッシュはもう関係なく、扱うのは2Dのピクセルだけ。だから「シーンが複雑でもポストの重さは画面解像度でほぼ決まる」という性質があります。

04まで
ライティング
1枚の画像
Scene Color
この章
Bloom → DOF → TAA → Tonemap
出力
画面へ

効果には順番があります。例えば Bloom はトーンマッピング前の明るい値(HDR)を見て滲ませ、TAA はブレを避けるため比較的早い段で掛かります。順番が変わると絵も変わる、というのがポストの勘所です。


§2 — Bloom

ブルーム ── 明るい所だけ滲ませる

Bloom の作り方は素朴です。①しきい値より明るいピクセルだけ抜き出し、②それをぼかし、③元の絵へ足し戻す。下のデモはまさにその3段を実行しています。しきい値を下げると滲む範囲が広がり、強度を上げると光があふれます。

強度を 0 にすると元の絵(ポスト前)です。差を見比べてください。

UEの Bloom はしきい値ではなく物理的な明るさを基準に、複数サイズのぼかしを重ねてより自然な減衰を作ります。ただし骨格は同じ「抜き出す→ぼかす→足す」。かけ過ぎると全体が白っぽく眠くなるので、強度は控えめが定石です。


§3 — Depth of Field

被写界深度 ── 深度でボケ量を変える

DOF は「ピント面から奥行き方向にどれだけ離れているか」でボケ量を決めます。ここで効くのが Primer 04 の深度チャンネルです。各ピクセルの深度と焦点距離の差から錯乱円(CoC)の大きさを求め、その分だけぼかす。下の3つの物体は奥行きが違います。焦点スライダーを動かすと、ピントの合う物体が入れ替わります。

これがUEの DOF が深度バッファを必須とする理由です。焦点の前後で急にボケが立ち上がるとうるさいので、UEでは絞り(Aperture / F-stop)で「どのくらいの範囲をシャープに保つか」を調整します。数値が小さいほど背景が大きくボケる ── 実カメラと同じ感覚です。


§4 — Temporal AA

TAA ── 時間をまたいでジャギーを消す

斜めの輪郭は、ピクセルの格子に対して階段状のギザギザ(ジャギー / aliasing)になります ── Primer 02 のちらつきと同じ根っこです。TAA(Temporal Anti-Aliasing)は、毎フレームカメラをごく僅かに揺らして(ジッタ)少しずつ違う位置を描き、それを前フレームの結果と混ぜることで、実質的に1ピクセルを複数回サンプリングしたのと同じ滑らかさを得ます。下のトグルで、掛ける前後の輪郭を比べてください。

「前フレームと混ぜる」ため、速く動く物ではブレ(ゴースト)や、細部が甘くなる副作用があります。UE5 ではこれを進化させた TSR(Temporal Super Resolution)が既定で、低い内部解像度から高解像度を復元します。動きの速いゲームで「なんか輪郭が滲む」ときは、まずこの時間的AAを疑います。


§5 — In UE

UEでの実際 ── Post Process Volume

UEではレベルに Post Process Volume を置き、その中に入ったカメラへ効果を適用します(範囲を無限にすればシーン全体に常時適用)。露出・Bloom・DOF・カラーグレーディング・Motion Blur などを一括で持ち、複数ボリュームをブレンドすることもできます。

Exposure
露出(自動/手動)
明暗順応。暗所→明所で画面が眩しく飛ぶのはこれ。意図せぬ明滅は手動固定で切り分ける。
Color Grading
カラーグレーディング
色味・コントラスト・彩度の調整。作品の「ルック」を最終決定する段。LUTも使える。
Motion Blur
モーションブラー
動きに沿った流れ。速度ベクトル(Velocity)を使う。競技性の高いゲームでは切ることも多い。

確認のヒント:ShowFlag(ビューポートの Show メニュー)で各ポスト効果を個別にON/OFFして原因を切り分けられます。「なんか画面が眠い/眩しい」の多くは Bloom・露出・トーンマッピングのどれか。次の Primer 06 では、逆にポスト前の“形”をどれだけ細かく描けるか=Naniteを見ます。


Glossary — 用語

よく出る言葉