18
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

【UE4】ぱっと見でわかるポストプロセスの使い方一覧表

【UE4】ポストプロセスの使い方

最初に

どうも、ろっさむです。

今回はUE4でのポストプロセスについて学んだことを自分用にまとめたものとなります。

ポストプロセス(PP)とは

基本的に「プロセス後に適用するもの」を指します。つまりレンダリングプロセスの最終段階で追加でエフェクトのレイヤーを適用することとなります。
これによって、ゲーム等に対して映画のようなセピア調の効果をかけたり、ホラー映画のようなノイズを走らせることが可能となります。
有名なポストプロセスの例としてはブルーム被写界深度(DOF)などがあります。

UE4ではほぼすべてのポストプロセスがデフォルトで有効になっています。
それらのデフォルトで有効となっているポストプロセスをオーバーライドして制御するにはPostProcessVolumesか、コンポーネントが必要となります。

(ちなみに略称は「PP:Post Processing」)

ポストプロセスボリューム(PPV)とは

UE4でのポストプロセスに関する諸々を設定できるボリュームのことを指します。

image.png (40.8 kB)

PostProcess Volumeを使用する方法は2つあります。

  • 普通にサイズを調整して使用する。そうするとボリュームの内側と外側で異なってくる。基本的にはこういったボリュームは1つだけ追加される。
  • 設定からInfinite Extent Unboundを有効にするとボリュームのサイズは関係なくなり、環境全体に影響を与えるようになる。

手法の一つとしては、「全体に影響を及ぼすボリューム一つと別でかけたいポストプロセスボリュームを一つ追加して範囲指定する」などがあるようです。

ボリュームには優先順位を設定できるので、「この位置にいる時はこのPPを適用したい…」等に対応できます。

PPVの設定

image.png (46.7 kB)

ポストプロセス設定のチェックボックスは有効かどうかではなく、「オーバーライドを有効にするかどうか」という意味になります。
パフォーマンス節約のためや、機能をオフにしたい場合はIntensityを上書きして0に設定すると無効になります。これは単にエフェクトを除去するのではなく、レンダリングの一部を無効にすることとなります。

特定のエフェクトをオフにする別の方法としては、Project Settings...で各項目のオンオフを変えたり、Rコマンドを実行したり、コンフィギュレーションファイルに追加することができるようです(が、まだ試したことはない)。

明暗順応(後述)を無効にするには自身でPPVを設定してIntensityを0にする必要があります。

ポストプロセスコンポーネントも同様の機能を持っているが、あまり一般的な機能ではないため、今回の説明からは省きます。

ブルーム

image.png (11.3 kB)

Intensityを大きくすると画面が明るくなります。

  • Thresholdはどのピクセルがブルームを放射するかを制御する。0か-1以下の低い値に設定されている場合は、基本的にほぼすべての画面からブルームを発射する。
  • 畳み込みを用いた別のタイプのブルームもある。ただし負荷が高め。シネマティクスを意図して使うものであり、ゲームとしては負荷が高すぎるため、パフォーマンスが重要な際には使用しない。

Default:

image-20201203234458730.png

Intensity:3.0

image-20201203234440795.png

被写界深度(Depth of Field)

image.png (6.1 kB)

画面にぼやけ効果を適用します。

  • Focal Distance(焦点距離):カメラからの距離100単位くらいがちょうどよく遠景がぼやけます。

Default:

image-20201203234458730.png

Focal Distance:100

image-20201203235907050.png

Color Grading(カラーグレーディング)

image.png (33.6 kB)

Globalの設定から確認するのがわかりやすいです。

White Balance

色温度や色合いを変えることができます。

Temp

Default:

image-20201203234458730.png

3000

image-20201204002037124.png

9000

image-20201204002058855.png

Tint

image-20201203234458730

-0.5
image-20201204002152327.png

0.5
image-20201204002213368.png

Saturation(彩度)

彩度は高いほど、赤、緑、青の原色に近い状態で表示され、低いほど灰色が混じった色落ちした状態のような表示のされ方となります。

Default:

image-20201203234458730.png

0.4

image-20201204000248011.png

1.4

image-20201204000913439.png

Contrast

明るい箇所と暗い箇所の色の調整ができます。値を下げるとハイライトが消えて画面が明るくなりますが、色落ちしたようにも見えます。値を上げると画面が全体的に暗くなります。

default

image-20201203234458730.png

0.4

image-20201204000505238.png

1.4

image-20201204000840839.png

Gamma

画面の黒と白の中間の輝度の色を調整します。

default

image-20201203234458730.png

0.4
image-20201204001115307.png

1.4

image-20201204001218368.png

Gein

画面上の白の輝度を調整します。

default

image-20201203234458730.png

0.4
image-20201204001313640.png

1.4
image-20201204001345470.png

Offset

画像の黒い部分の輝度を調整します。

default

image-20201203234458730.png

-0.1
image-20201204001528037.png

0.1
image-20201204001541199.png

その他

  • Shadow

  • Mid-tone

  • Highlight

これらではGlobalと同じことができる。しかし、最も暗いピクセル(Shadow)、最も明るいピクセル(Highlight)を対象にするか、またはそれ以外の全てのピクセル(Mid-tone)を対象にするかで、ピクセルを分けて効果をかけることができる。
また、細かく設定したい場合は露出制御(次項)が可能。

Exposure

image.png (18.7 kB)

(Lens > Auto Exposure)
ここで最大と最小の明るさが設定可能です。
無効にしたい場合は、Min BrightnessMax Brightnessを1.0にするだけです。
自動露出は表示する内容に応じて画面を明るくしたり暗くしたりできる機能となっています。例えばランプのような非常に明るいものをみると、ランプから受け取った大量の光を補正するために画面が自動的に暗くなります。

逆に非常に暗い場所を見た場合は、暗さを補うため画面が明るくなります。

default

image-20201203234458730.png

露出補正:-1

image-20201204002907453.png

露出補正:2

image-20201204002936092.png

Ambient Occlusion

Rendering Features > Ambient Occlusionから設定可能です。

これはScreen Space Ambient Occlusion(スクリーン空間アンビエントオクルージョン)の項目で、「スクリーン空間~」という名称のエフェクトは多くの場合、既にほぼ完成しレンダリングされた画像に適用するエフェクトを指します。このエフェクトはスクリーン上で計算が行われています。

略称はSSAO、以下の記事がSSAOの概要について参考になりそう。
https://qiita.com/mebiusbox2/items/2a18994a5caa6d584099

Settings > World Settingsのアンビエントオクルージョンは、ライトマップにベイクされたアンビエントオクルージョンとなります。

SkylightにはDistance Field Ambient Occlusionというセクションがあり、これは距離に基づいています。

ポストプロセスの方はスクリーン空間に基づいてアンビエントオクルージョンを生成しています。

尚、上記三つは異なるアンビエントオクルージョンである。

高品質にしたい場合はAdvanced > Qualityで試すことができるようです。

このエフェクトはレンダリングの際に負荷が軽いのでデフォルトで有効になっています。

Lens Flares

image.png (28.9 kB)

レンズフレアは画面の最も明るいピクセルを使用して自動的にレンズフレアをレンダリングする機能です。これはコントロールがきかなくなる可能性があるので、コンテンツや環境内のマテリアルを適切な明るさレベルにして慎重に設定する必要があります。また、この設定はデフォルトでオフになっているので Intensityにチェックを入れることで有効にすることができます。

Lens FlareからIntensityをあげることで調整可能。明るさが十分のマテリアルなどではレンズフレアが発生します。

空のみレンズフレアを発生するようにも可能です。

また、色合いを変更したり別のテクスチャをそれにバインドすることが可能です。

フレア自体の中で個々の形の色調を変えることもできます。

default
image-20201204003402323.png

Intensity:1(チェックを入れた状態)

image-20201204003622621.png

Grain(粒子)

image.png (5.4 kB)

Lens > Image Effects > Grain Jitter(粒子ジッター) or Grain Intensity(粒子強度)の数値を高くすると以下のようにざらついた感じになります。
多少の効果をつけるとゲームやリアルタイムアプリケーションで、過去のような見せ方をすることができます。

default

image-20201203234458730.png

Grain Intensity:1.5

image-20201204003958755.png

Vignette(ビネット)

image.png (3.5 kB)

これはデフォルトで既に有効になっていて、画面の隅が少し暗くなる機能です。値を大きくすると画面の中心部だけが見える状態になっていきます。ホラーの演出などに使用できそうですね。

default
image-20201204004154215.png

1.0

image-20201204004208885.png

Chromatic Aberration(色収差)

image-20201204004338939.png

オブジェクトのRGB値をイメージの外縁に分散させます。フィルムと同じです。
ゲームプレイのエフェクトやプロジェクトタイルに当たった時のエフェクトとして使うとちょうど良さそうです。

必要ない場合はボリュームまどでオフにしましょう。

default

image-20201203234458730.png

Intensity:5.0

image-20201204004440890.png

Dirt Mask(汚れマスク)

テクスチャマップをカメラのレンズに追加して汚れや透かしなどを再現できます(テクスチャを持ってないので例が出せません…)。

アンチエイリアス方法の変更

Edit > Project Settings > Engine >Rendering > Default Settings > Anti-Atlasing Method
  • デフォルトだとTemporalAAFXAAではサーフェス外のものは考慮しないが、TemporalAAでは考慮される。
  • MSAAをサポートしているのはフォワードレンダリングだけ。今回はディファードレンダリングを使用しているので、このオプションは検討しない。
  • FXAAは「高速近似アンチエイリアシング」と呼ばれる。深度アルゴリズムでサーフェスのエッジを検出する。その後、ピクセルブレンドアルゴリズムを割り当てて、そのエッジに沿ってエイリアス処理されたエッジを解決する。オブジェクトのサーフェス外のものは考慮しない。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
18
Help us understand the problem. What are the problem?