Unity+Oculus+MMD とりあえず書き留めておく場所

Unity+Oculus+MMD VRでキャラクターと遊ぶ

10. Post-Processing Stackの使い方②

前回に引き続き、Post-Processingのエフェクト説明です。

Depth of Field

おなじみ被写界深度。DOFです。レンズのボケをシミュレートするエフェクト。 

f:id:emifuwa:20171203211510j:plain

Focus Distance:どの距離にフォーカスを置くか。数値が低いと手前、数値を増やすと奥のものにピントがずれていく。

Aperture:カメラの「絞り」。絞りとは、カメラが取り込む光の量。それを数値化したものをF値という。Fの値を下げるとピントの合う範囲が狭まり、ボケる。上げるとピントの合う範囲を広げることができ、ボケなくなる。

Use Camera FOV:カメラに設定されているField of Viewの値から勝手に焦点距離を逆算してくれる。基本的にチェック推奨

Field of Viewが小さいとよくボケる。大きすぎるとボケない。

Kernel Size:ボケの半径に対するリミッター値。高くすると大きなボケを表現できるが処理は重くなる。

Motion Blur

モーションブラーです。シャッタースピードのシミュレーション。

動きの軌跡を表現するもの…ではなく、動きの飛びを散らし、画面に落ち着きと連続性を与えるエフェクト…だそうです。

※VRではブレが酔いにつながり、またフレームレートが高すぎてほとんど反映されないので無意味…なので使わないようにしましょう。

Shutter Angle:大きいほどブラーが深くなる(小さいとくっきりする)

Sample Count:サンプリングを何回やるか。大きくするとスムーズになるが負荷に直結するのでなるべく低くする。

Eye Adaptation

アイアダプテーション、画面の明るさを動的に調整するエフェクトです。

どんな時に使うかというと、明るくなった時の白飛び防止です。カメラのオート露出(AE)機能の使用感に近いです。

これ、実際にやってみようと思ったのですが、動画を見たほうが絶対わかりが早いので…

こちらの動画の29:10あたりからを参照していただければと思います。

www.youtube.com

Bloom

光が散乱している感じを足すエフェクト。明るいピクセルをまわりに足すことによって、うっすらと光っている感じが表現できます。

割と手軽にふわっといい感じになるのですが、何かの物理現象をシミュレートしたものではなく、リアリズムには寄与しません。

個人的に、リアル感よりはファンタジー感を出すのに良いのではないかと思います。雰囲気です。

効果的に使うことで画面を派手に出来ますが、やたら白っぽくなるという欠点もあり、使いすぎに注意。

f:id:emifuwa:20171203221700j:plain

Intensity:どのくらい明るくなるか

Threshold:どの程度の明るさのピクセルが反応するか。数値を下げると反応するピクセルが増えていって、最終的に画面全体が明るくなる。

※Thresholdを厳密に設定しすぎると、どこから明るくなってどこから暗くなるかがキッパリと分かれすぎてしまうので、Soft Kneeの数値を上げると、カーブが滑らかになる。

Radius:光の半径を設定。

低=小さい範囲でしか光が広がらない。高=広い範囲に光が散る。

Radiusが低いと光ってるところと光ってないところがハッキリしてしまうので、Radiusは常に最大値にして、Intensityで調整することを推奨。

Anti Flicker:Bloomはどんな小さなピクセルも散らしてしまうので、チラつきがちになる。アンチフリッカーにチェックを入れると、それを抑えてくれる。

Dirt:レンズに付いている汚れを表現する(リアルっぽくなる)。

Color Grading

 明るさ調整(Tonemap)と色調補正。これがPost-Processingで一番すごい!と思った機能。Photoshopのように自由に色調補正が出来ます。自由すぎて、いつまで経っても調整しきれず困るくらい。

まずはTonemappingから。

トーンマップとは、色々端折って単純に言えば「明るさと暗さをいい感じに補正する」ことです。Sceneにすごく明るいところとすごく暗いところがあって、どっちに合わせてもうまくいかない…っていう時に、なんとか両方いい感じに見えるようにする…白飛びを馴染ませる…のがトーンマップ。

f:id:emifuwa:20171204093659j:plain

Neutral:色んなゲームで広く使われているトーンマップ。やわらかい効果が得られる。

Filmic(ACES):Neutralに比べてだいぶコントラストが強い。

※下のBlack Inやらなんやらの項目、細かく調整できるようになっているのですが「ぶっちゃけ使いにくい、下のカラーグレーディングで明るさはいくらでも調整出来るからいじらずデフォルト値推奨」とのことでした…

次からがカラーグレーディング(色調補正)の項目になります。

f:id:emifuwa:20171204095642j:plain

Post Exposure(EV):明るさの調整。

Temperature色温度の調整。

Tint:色彩調整。左が緑・右が紫。

Hue Sift:色相をずらす。

Saturation:彩度調整。左が彩度落ちる・右が鮮やか。

Contrastコントラスト調整。

Channel Mixer:チャンネルミキサー。RGB・特定の色だけ補正することが出来る。

次はTruck Balls

3つのカラーホイールが並んでます。LinearとLogとありますが、Linear推奨

左がShadow、真ん中がMidZone(中間帯)、右がハイライトです。

f:id:emifuwa:20171204100611j:plain

使い方

①左のシャドウのホイールの下のスライダを動かすことによって、影の部分の明るさを変えることができます。

真ん中のホイールは中間帯の明るさ調整、右のホイールはハイライトの明るさ調整。

②ホイール真ん中の白い○を掴んでドラッグすると、色合いを調整できます。

ホイールの中は色合い調整、ホイール下のスライダは明るさ調整。

 ※もし「変な風になっちゃった!」と思ったら、ホイール真ん中の○を右クリックすると、デフォルト値に戻ります。

その下のGrading Curvesは、これまたPhotoshopトーンカーブ的に色々補正が出来ますが、詳しい説明は割愛します。

あまりに使いやす過ぎ・便利すぎて、逆にいじり過ぎて時間を使ってしまうことがありますが…普通のムービーの絵作りではなくVRコンテンツ用の際は、実際にHMDかぶって眺めてみて、違和感がないかどうかに気をつけましょう。

色々いじくりまわしたけど結局デフォルトの方が良かった~とならないように…

User Lut

UnityのSceneをスクショして、Photoshop上で調整したカラーコレクションをそのまま適用できます。Photoshopの方が慣れてるよ~な人にはいいのかな…?割愛。

Chromatic Aberration

色収差(色ズレ)です。

ムービーでは良く見かけますが、VRでは避けた方がいい気がします…

今試してみたけど、あるのと無いのとでほとんど差を感じなかった。割愛。

Grain

フィルム粒子のザラザラ感を足します。

VRで見てみると…うーん、不思議感とかおどろおどろしい感を出すにはいいかも。「単に画質が悪いのか?」に見えないこともなく。ホラー系向き?

Intensity:ザラザラ度の調整。

Luminance Contributions:明るい部分はザラザラ小さく、暗い部分はザラザラ大きく。上げた方がリアル。

Size:ザラザラというかブツブツのサイズ調整。

Coloredのチェックを外すとモノクロのザラザラになる。

Vignette

これもおなじみ。画像の周辺を暗くして、カメラっぽい効果を付加するエフェクト。

f:id:emifuwa:20171204111916j:plain

Colorで色を好きに変えることが出来ます。

Intensity:黒ずみのかかり具合を調整。

Smoothness:なめらかさ。

Roundness:下げると四角になります。

Roundedアスペクト比を無視するか考慮するか。

ModeClassicではなくMaskedにすると、テクスチャを使用することが出来ます。

 Dithering

グラデーションでマッハバンドが出た時(グラデーションをなめらかに表現できず、シマシマのようになってしまった場合)、ノイズをかぶせて目立たなくするエフェクト。

割愛します。

 

とりあえずVRコンテンツで使わないかもしれないものも一応「こういうものだよ」という説明のみさせていただきました。

実際に一番がっつり使うのはたぶん「Color Grading」「Bloom」あたり。

AOなんかはMMDステージなんかを使う場合、シェーダをスタンダードに変えて使用するのがいいかと思います(とにかく重いのであまり推奨しないけど…)。

何度も言うようですが、VRコンテンツを作る場合は2Dのムービーを作るのとはかなり違った画面作りになってきます。画質を落とすようなエフェクトが酔いにつながることもあるので、実際に自分でHMDかぶって試してみるのが大事です。

また、Post-Processingの現時点での弱点は、アニメーション出来ない(最初は暗くしておいてあと明るくするとか、タイムライン的な調整が出来ない)ところです。

しかし今後この辺はスムーズに出来るようにしたい…とのことですので、アップデートを待ちましょう…