Post-Processing Stackについて勉強しました

0 件のコメント :

前々から気になっていた「Post-Processing Stack」について勉強しました。
Unityでの絵作りが苦手なので、これを機にグラフィックのレベルを上げていきたいです。

下記の動画がすごく分かりやすかったです。



以下で簡単にまとめます。

○Post-Processing Stackの使い方
1.「Post-Processing Behaviour」をカメラに追加。
2.「Post-Processing Profile」を作成して、「Post-Processing Behaviour」に追加する。

Anti-aliasing
FXAA(Fast Approximate Anti-aliasing)
・品質は低いが気軽に使える。
・Presetはそんなに変わるもんじゃないので、好みで選んでよし。

TAA(Temporal Anti-aliasing)
・使い方は難しいが品質は高い。
・ジラジラ感が消える。
・Blending:0.8-0.9、Sharpen:0.1-0.2あたりで設定する。

Ambient Occlusion
・Radius:小さくする。
・Sample Count:低くする。
・DownSampling:ONにする。大幅に負荷が下がるため。
・Ambient Only:Onにする。(Deferred + HDR使用時のみ)

Screen Space Reflection(Deferred Rendering専用)
・Reflection Quality:Lowにする。
・Iteration Countを少なくして、Step Sizeを大きくする

Depth Of Field
・Use Camera FoV:常にONにする
・Kernel Size:モバイルの場合はSmallに設定する。
・FoVが小さいほどよくボケる。FoV = 10, f = 1.0とかにする。

Motion Blur
・Sample Count:なるべく小さい値にする(PS4で8-10)

Eye Adaptation(Compute Shaderが必須)
・画面の明るさを自動調整する機能

Bloom
・Radiusは常に最大値で使うことがおすすめ。Intensityで光の範囲を変える。
・Anti Flicker:ONにする。
・Dirt:カメラの汚れを再現する。(LensDirtXXというTextureを使う)

Color Grading
・トーンマッピングは白飛びをいい感じに和らげてくれるフィルター。デフォルト値のままで使ったほうがよいかも。
・Clor Gradingはフォトショと同じ。

User Lut
・フォトショのカラコレを適用する機能

Chromatic Aberration
・レンズの色ズレをシミュレートする
・Intensityに比例してちょっとだけ重くなる
・DoFと組み合わせるとやや重くなる
・モバイルでは特に注意。

Grain
・フィルムのザラザラ感を出す
・モバイルでも使える

Vignette
・画面の周辺を暗くしてカメラ感を出す
・モバイルでも使える

Dithering
・ノイズを使ってマッハバンドを消す
・微妙がグラデーションを使うシーンでは積極的に使っていくべき
・モバイルでも使える

○弱点
・Animationでアニメーションできない。
・多くのシェーダーバリアントが生成させる。(初回のビルドに時間がかかる、ビルドのサイズが増える)
対策として、事前に組み合わせを決めてしまえばバリアントの生成を制限できる
PostProcessing/Resources/Shaders/Uber.shaderで使用するものだけ定義するようにする。

元々は「#pragma multi_compile __ BLOOM BLOOM_LENS_DIRT」になっているが、使うものは「#define BLOOM 1」に変更して使わないものは消す。

以上です。
後は使って覚えます。

作業環境

MacOS Sierra
Unity 2017.1.0f3

0 件のコメント :

コメントを投稿