とぐちブログ

VRの研究,作品制作をしています.

Unite 2017のPost Processing Stackの講演の映像を見たので自分用メモ【Unity】

先日のUnite 2017の講演映像が公開されていましたので、見始めました。

はじめにUnityの高橋氏のPost Processing Stackについての講演を見たので、自分用に要点をメモします。

 

おすすめ設定
Rendering Path = Deferred
HDR = ON
Color Space = Linear

 

Temporal Anti Aliasing
Jitter
Spread ランダムに色を探索する数
 = 1

Blending
Stationary 静止しているピクセルのブレンドする割合
= 0.8 ~ 0.9
Motion 動いているピクセルのブレンドする割合
= 0.8 ~ 0.9

Sharpen 輪郭線強調フィルター
= 0.1 ~ 0.2

 

Ambient Occulusion くぼみ部分を影にする
Intensity 深さ
Radius くぼみのサーチ半径 なるべく小さく
Sample Count 1ピクセルあたりのサンプル数。 高くするほど画質は上がるが負荷も高い
Downsampling 処理を半分の解像度で行う。 軽くなる
AOはなるべく軽く!
Ambient Only AOの影響をアンビエント光のみに限定する。Deffered, HDR使用時のみ使える

 

Screen Space Reflection ... Deffered限定
画面上にないものは映らない
→ごまかす ぼかす、ノーマルマップで散らかす
かなり負荷が高い
Reflectoin Quality(解像度), Iteration Count(最大サンプル数) でパフォーマンスアップ
Step Size 粗さ(サンプル感覚)
Max Distance
Fade Distance サンプル数をフェードする
Width Modifier ないはずのものを消す

 

Depth Of Field ボケのシュミレーション
Focus Distance 焦点をあわせる距離
Aperture 絞り(F値
Focal Length 焦点距離
Field of View 画角
Kernel Size ボケの半径に対するリミッター値 高くするとボケが大きくなるが処理は重い

 

Motion Blur モーションブラー
露光中の動きに寄るブレのシュミレーション
Shutter Angle 大きくするとブラーが大きくなる
Sample Count 何度サンプルを行うか。 負荷が高くなるのでなるべく小さく

 

Eye Adaptation 目の明順応/暗順応
画面の明るさを適切な量に自動調節する(オート露出)
Compute Shader必須
Luminosity range ヒストグラムの最大範囲
Auto exposure 調整する範囲
Histogram filtering ヒストグラムの中で平均値を集計する範囲
Adaptation Type 明るさを補完するスピード

 

Bloom 光の散乱
光ってる感じを表現
物理をシュミレートしてないのでリアルではない。白っぽくなる
Intensity 明るさ
Threshold 反応する明るさ
Soft Knee Thresholdのカーブを滑らかにする
Radius 光の半径 常に最大値、Intensityで範囲調整をおすすめ
Anti Flicker 小さなピクセルがブルームに反応しなくなる(フリッカー防止)
Dirt レンズの汚れを表現

 

Color Blending 明るさ、色調の調整
Tonemapping 明るさの調整、ダイナミックレンジの圧縮
ColorGrading 色の調整、味付け
Tonemapper ダイナミックレンジの圧縮 HDRをなめらかに(白飛びをいいかんじに和らげる)
Neutral ゲームでよく使われる
Filmic コントラストが強い
ColorGranding
ColorWheel Linerがおすすめ
Liner 左がシャドウ、真ん中がミッドゾーン、右がハイライト
各領域の明るさ、色を調整
どれだけ使っても負荷はほぼ同じ!実行中に焼き直すのはきつい

User LUT ユーザーパレット
フォトショのカラコレを入れる

 

Chromatic Abrerration 色収差。レンズの色ズレをシュミレート
レンズの味わいを出す

 

Grain フィルムのザラザラ感を出す
Intensity ザラザラの強さ
Luminance Contribution ザラザラのコントラスト
Size ザラザラのサイズ
Colored 色を付けるかどうか

 

Vignette 画像の周辺を暗く、カメラ感を出す
Intensity 黒ずみの大きさ
Smoothness 黒ずみのぼやかし度
Roundness 四角っぽさ
モバイルでも余裕

 

Dither マッハバンド(しましま)を消す
ノイズを乗せる
パフォーマンスも余裕

 

問題点
Animatorでアニメーションできない
スクリプト経由でアニメーション
(変更が破壊的になる)→解決用のスクリプトがGitにある

シェーダーバリアントが大量に生成される
シェーダーがたくさん作られる(初回のビルドに時間がかかる)
ビルドサイズが数MB程度増える
→事前に組み合わせを決めておけば減らせる

 

 

Gitの新バージョンのv2ではUE4のようなボリューム形式になっているようですね。

気になります!