【3D】ポストプロセス【Unity6】

unity技術

ポストプロセスを使用して、ゲーム画面に特殊エフェクトをかけていきます。
※「Package Manager」から「Post Processing」をインストールしておきましょう。

簡易版

  • メインカメラ」に「Post-process Layer」を追加。
  • Post-process Layer内のLayerタブを「Default」に変更。
  • 新規「Post-processing Profile」を作成。
  • 空オブジェクトに「Post-process Volume」を追加。
  • ProfileフィールドにPost-processing Profileを登録。
  • Is Global」項目にチェック。
  • Add effect…」から適用したいエフェクトを選択。

カメラ設定

まずは「メインカメラ」オブジェクトにコンポーネントを追加します。

メインカメラ」選択 「Add Component」>「Post-process Layer

追加した「Post-process Layer」内の「Layer」タブを「Default」にしておきます。

ポストプロセス設定

Assets」フォルダ内に新規で「Post-processing Profile」を作成します。
ファイル名は任意で大丈夫です。

Hierarchy」に「空オブジェクト」を作成します。
そしてそのままコンポーネントを追加します。

空オブジェクト」を選択 「Add Component」>「Post-process Volume

追加した「Post Process Volume」コンポーネントの「Profile」フィールドに
先ほど新規作成した「Post-processing Profile」ファイルをドラッグして登録します。

そして「Is Global」項目にチェックを入れます。

これでポストプロセスを使用する設定は完了です。
Add effect…」から適用したいエフェクトを選択しましょう。

効果一覧

Depth of Field (被写界深度)

被写界深度効果は、カメラの焦点が合っている範囲を制御し、前景と背景のぼけをシミュレートするエフェクトです。
これにより、シーンに立体感や焦点の意図的なシフトを追加できます。

  • Focus Distance
    ・効果:カメラの焦点が合う距離を設定します。この距離にあるオブジェクトが最もシャープに見えます。
    ・使用例:主題のオブジェクトやキャラクターに焦点を合わせるために、この値を調整します。
     たとえば、カメラから5メートルの位置にあるキャラクターに焦点を合わせる場合、この値を5に設定します。
  • Aperture
    ・効果:絞りの開口を調整します。値が大きいほど、ぼけが強くなり、被写界深度が浅くなります。
     値が小さいと、ぼけが少なくなり、被写界深度が深くなります。
    ・使用例:ポートレート撮影で背景をぼかしたい場合、絞りを大きくします。
     風景撮影で全体をシャープにしたい場合、絞りを小さくします。
  • Focal Length
    ・効果:レンズの焦点距離を設定します。
     値が大きいほど、望遠効果が強くなり、値が小さいほど広角効果が強くなります。
    ・使用例:遠くのオブジェクトを大きく見せたい場合、焦点距離を長くします。
     広範囲を撮影したい場合、焦点距離を短くします。
  • Max Blur Size
    ・効果:最大ぼけサイズを設定します。これにより、ぼけの最大量が制限されます。
    ・使用例:非常にぼけた背景を避けたい場合、最大ぼけサイズを小さく設定します。
     強いぼけ効果を求める場合、最大ぼけサイズを大きく設定します。

Lens Distortion (レンズ歪み)

レンズ歪み効果は、カメラのレンズによって生じる歪みをシミュレートするエフェクトです。
これにより、現実のカメラで見られるような歪みやひずみを再現することができます。

  • Intensity
    ・効果:歪みの強度を調整します。値が大きいほど、歪みが強くなります。
    ・使用例:レンズ歪みの強調を希望する場合は、この値を増やします。
     逆にレンズ歪みを減らしたい場合は、この値を減らします。
  • X Multiplier
    ・効果: X軸方向の歪みの倍率を調整します。これにより、歪みの強さを水平方向に独立して制御できます。
    ・使用例:水平方向の歪みを強調したい場合は、この値を増やします。水平方向の歪みを減らしたい場合は、この値を減らします。
  • Y Multiplier
    ・効果:Y軸方向の歪みの倍率を調整します。これにより、歪みの強さを垂直方向に独立して制御できます。
    ・使用例:垂直方向の歪みを強調したい場合は、この値を増やします。垂直方向の歪みを減らしたい場合は、この値を減らします。
  • Center X
    ・効果:X軸方向の歪みの中心点を設定します。通常、画像の中心に設定されます。
    ・使用例:X軸方向の歪みの中心を微調整し、歪みの中心を調整します。
  • Center Y
    ・効果:Y軸方向の歪みの中心点を設定します。通常、画像の中心に設定されます。
    ・使用例:Y軸方向の歪みの中心を微調整し、歪みの中心を調整します。
  • Scale
    ・説明:歪みの尺度を調整します。これにより、歪みの影響がどの程度の範囲に及ぶかが決まります。
    ・使用例:レンズの歪みがシーン全体に及ぶようにする場合は、この値を大きくします。
     特定の領域にのみ歪みを適用したい場合は、この値を小さくします。

Motion Blur (モーションブラー)

モーションブラーは、カメラやオブジェクトが動いている際に発生する視覚的なぼかし効果をシミュレートするエフェクトです。映像やゲームによりリアルな動きを付加し、視覚的な一貫性を高めることができます。

  • Shutter Angle
    ・効果:シャッターアングルは、カメラのシャッターが開いている時間を示します。
     値が大きいほど、移動中のオブジェクトがより多くぼやけます。
    ・使用例:通常、180度のシャッターアングルが自然な結果を提供します。
     しかし、より長いシャッターアングルを選択すると、移動中のオブジェクトがよりぼやける効果が得られます。
  • Sample Count
    ・効果:サンプル数は、各ピクセルで計算されるモーションブラーのサンプル数を示します。
     より高いサンプル数は、より滑らかなモーションブラーを提供しますが、計算コストが増加します。
    ・使用例:高速で動くオブジェクトや高速カメラパンの場合、高いサンプル数が必要です。
     しかし、より静的なシーンでは、低いサンプル数でも満足できる結果が得られる場合があります。

Chromatic Aberration (色収差)

色収差は、光の波長による屈折率の違いから生じる現象です。
画像のエッジ部分で色が分離して見え、青、赤、緑などの色ずれが発生します。この効果により、特定の視覚的効果を狙ったり、現実のカメラレンズの特性をシミュレートしたりすることができます。

  • Spectral Lut
    ・効果:スペクトルLUTは、色収差の効果を適用するためのスペクトルテーブルです。
     これにより、異なる波長の光がレンズを通過する際に生じる色収差がシミュレートされます。
    ・使用例:カメラのレンズによる色収差をリアルに再現するために使用されます。
     特定のカメラの特性や光学的な効果をシミュレートしたい場合に役立ちます。
  • Intensity
    ・効果:色収差の強度を調整します。値が大きいほど、色収差の効果が強くなります。
    ・使用例:色収差を目立たせたい場合は、この値を増やします。
     逆に、色収差を軽減したい場合は、この値を減らします。
  • Fast Mode
    ・効果:ファストモードは、色収差をより効率的に計算する方法です。
    高速な演算方法を使用することで、リアルタイムのアプリケーションでのパフォーマンス向上が可能です。
    ・使用例:パフォーマンスを重視する場合に計算コストを削減しつつ色収差の効果を得ることができます。

Auto Exposure (自動露光)

自動露光は、シーンの全体的な明るさを自動的に調整するエフェクトです。
シーンの照明条件が変わる場合でも、適切な露光レベルを維持し、視覚的に心地よい映像を提供することができます。

  • Filtering
    ・効果:自動露光の計算において、フィルタリングを適用するかどうかを設定します。
    フィルタリングを有効にすると、露光値の急激な変化をスムーズにします。
    ・使用例:急激なライティングの変化がある場合でも、露光値が急激に変わらず、より自然な結果が得られます。
  • Minimum
    ・効果:自動露光で許容される最小露光値を設定します。
     これにより、暗いシーンにおいて露光値があまりに低くならないように制御されます。
    ・使用例:暗い部分があるシーンでも適切な露光を保つことができます。
  • Maximum
    ・効果:自動露光で許容される最大露光値を設定します。
     これにより、明るいシーンにおいて露光値があまりに高くならないように制御されます。
    ・使用例:明るすぎる部分があるシーンでも適切な露光を保つことができます。
  • Adaptation Type Progressive
    ・効果:プログレッシブな適応タイプは、露光値をゆっくりと変化させます。
     これにより、シーンの明るさが滑らかに変化し、視覚的な不連続性が軽減されます。
    ・使用例:ゆっくり変化する環境やシーンに適しています。
     明るさの急激な変化がない場合や、シーン間の遷移が滑らかである場合に適しています。
  • Adaptation Type Fixed
    ・効果: 固定された適応タイプは、露光値を一定の速度で変化させます。
     このタイプでは、露光値が直ちに反応することはありません。
    ・使用例:明るさが急激に変化する環境や、シーン間の遷移が急激な場合に適しています。
     露光値の急激な変化を抑制し、安定した露光を維持したい場合に使用します。
  • Speed Up
    ・効果: 露光値を上げる際の速度を調整します。露光が暗くなる場合、この速度で露光値が上昇します。
    ・使用例:環境が急速に暗くなる場合、露光を迅速に調整することが望ましい場合に使用されます。
     例えば、暗いシーンに突入する直前の瞬間などに、急激な露光補正が必要な場合に役立ちます。
  • Speed Down
    ・効果: 露光値を下げる際の速度を調整します。露光が明るくなる場合、この速度で露光値が低下します。
    ・使用例:環境が急速に明るくなる場合、露光を迅速に調整することが望ましくない場合に使用されます。
     例えば、太陽が障害物の後ろから現れる際などに、急激な露光変化を抑制するために使用されます。

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

カラーグレーディングは、シーン全体の色調やコントラストを調整するエフェクトです。
映画のような色調を作り出すために使用されます。

  • Mode Low Definition Range (LDR)
    ・効果:通常の輝度範囲を持つシーンのカラーグレーディングを行います。
     標準的なディスプレイに最適化されたカラーグレーディングを提供し、一般的な映像制作に適しています。
    ・使用例:通常のテレビやモニターで表示される映像や、オンラインビデオコンテンツの制作に適しています。
     特別なHDRディスプレイが不要な場合に使用されます。
  • Mode High Definition Range (HDR)
    ・効果:広い輝度範囲を持つシーンのカラーグレーディングを行います。
     明るい部分と暗い部分の両方が適切に表現され、豊かなコントラストとディテールを持つ映像が得られます。
    ・使用例:高ダイナミックレンジのシーンを扱う際に、自然光やハイライトの強いシーンで使用されます。
     例えば、太陽光の直射や暗い影が同時に存在するシーンで効果的です。
  • Mode External
    ・効果:外部モードは、ユーザーが作成したプロファイルなどを使用してカラーグレーディングを行います。
    ・使用例:特定のスタイルやフィルムルックを再現したい場合などに使用されます。
  • Tonemapping Mode
    ・効果:高ダイナミックレンジ画像を低ダイナミックレンジディスプレイで表示する際に使用する変換プロセスです。
    ・使用例:トーンマッピングモードには、None, ACES, Neutralなどのオプションがあります。
     ACESは映画品質のトーンマッピングを提供し、Neutralは自然な色調を保つように設計されています。
  • White Balance Temperature
    ・効果:色温度を調整します。
     数値を増やすと画像が暖かく(オレンジ色に)、減らすと画像が冷たく(青色に)なります。
  • White Balance Tint
    ・効果:緑とマゼンタの色調を調整します。
     数値を増やすと画像がマゼンタ寄りに、減らすと画像が緑寄りになります。
  • Tone Post-exposure (EV)
    ・効果:全体の露出を調整します。露出補正を行い、シーンを明るくしたり暗くしたりできます。
  • Tone Color Filter
    ・効果:シーン全体にカラー フィルターを適用します。特定の色を追加することで、シーンの色調を変更します。
  • Tone Hue Shift
    ・効果:色相をシフトさせます。数値を調整することで、シーンの色相を全体的に変更できます。
  • Tone Saturation
    ・効果:彩度を調整します。数値を増やすと色が鮮やかになり、減らすと色が淡くなります。
  • Tone Contrast
    ・効果:コントラストを調整します。数値を増やすと明暗の差が大きくなり、減らすと差が小さくなります。
  • Channel Mixer
    ・効果:各色チャネル(赤、緑、青)のミキシングを調整します。
     これにより、特定の色の出力を他の色のチャネルからの入力でカスタマイズできます。
    ・使用例:赤チャネルの出力に緑や青の成分を追加することで、特殊な色補正やエフェクトを作成できます。
  • Trackballs
    ・効果:シャドウ、ミッドトーン、ハイライトの色調整を行います。
     トラックボールのインターフェースを使用して、各範囲の色相と明度を微調整します。
    ・使用例:シャドウの色を冷たく、ハイライトの色を暖かく設定することで、特定のムードを加えることができます。
  • Grading Curves
    ・効果:カラーグレーディング用のカーブを使用して、色調、彩度、露出などを詳細に調整します。
     RGBカーブ、Hue vs Hue、Hue vs Sat、Sat vs Sat、Lum vs Satなどのカーブが含まれます。
    ・使用例:特定の色域の調整を細かく行い、より複雑なカラーグレーディング効果を達成します。

Bloom (ブルーム)

ブルーム効果は、明るい部分が光り輝くエフェクトです。
輝きや光の拡散をシミュレートし、シーンに華やかさを追加します。

  • Intensity
    ・効果:ブルームの強度を調整します。値が大きいほど、ブルーム効果が強くなります。
    ・使用例:低い値だと控えめな輝きに、高い値だと非常に明るい輝きを持つ効果になります。
  • Threshold
    ・効果:ブルーム効果が適用される明るさの閾値を設定します。
     この値よりも明るいピクセルにのみブルームが適用されます。
    ・使用例:高い値だと非常に明るい部分だけが輝き、低い値だと広範囲にブルームが適用されます。
  • SoftKnee
    ・効果:閾値周辺のソフトな遷移を制御します。これにより、ブルームの適用が滑らかになります。
    ・使用例:高い値に設定すると、ブルーム効果がより滑らかに適用されます。
  • Clamp
    ・効果:ブルームの最大輝度を制限します。これにより、ブルーム効果が過剰にならないようにします。
    ・使用例:高輝度シーンでブルームが過剰に広がるのを防ぐために使用します。
  • Diffusion
    ・効果:ブルームの拡散度を調整します。これにより、ブルームの広がり方が変わります。
    ・使用例:高い値だとブルームが広範囲に広がり、低い値だと集中したブルームになります。
  • Anamorphic Ratio
    ・効果:ブルーム効果のアスペクト比を調整します。正の値で横方向、負の値で縦方向に引き伸ばされます。
    ・使用例:映画のようなアナモルフィックレンズ効果をシミュレートする際に使用します。
  • Color
    ・効果:ブルームの色を設定します。特定の色合いをブルーム効果に追加できます。
    ・使用例:特定の雰囲気を強調するために、ブルームの色を調整します。
  • FastMode
    ・効果:パフォーマンスを優先する高速モードを有効にし、ブルーム効果の計算が簡略化されます。
    ・使用例:リアルタイムパフォーマンスが重要な場合に使用します。
  • Dirtiness Texture
    ・効果:レンズの汚れを表現するためのテクスチャを指定します。
     これにより、ブルーム効果に汚れたレンズの効果が加わります。
  • Dirtiness Intensity
    ・効果:レンズの汚れ効果の強度を調整します。値が大きいほど、汚れの効果が強くなります。
    ・使用例:特定の雰囲気やリアリズムを強調するために、レンズ汚れの効果を追加します。

Vignette (ビネット)

ビネット効果は、画面の周囲を暗くすることで、視線を中央に集中させるエフェクトです。
映画や写真でよく使用され、特定のムードを強調します。

  • Mode
    ・効果:ビネット効果のモードを選択します。
     通常は標準的な「Classic」モードと、高度な「Masked」モードがあります。
    ・使用例:「Classic」はシンプルな周囲の暗化を行い、
     「Masked」は特定のマスクテクスチャを使用して複雑なビネット効果を作成します。
  • Color
    ・効果:ビネットの色を設定します。
     通常は黒や暗い色が選ばれますが、シーンの雰囲気に合わせて他の色も使用できます。
    ・使用例:ホラーシーンでは暗い赤や紫を使用して、緊張感を高めることができます。
  • Center
    ・効果:ビネット効果の中心点を設定します。画面のどの位置を中心にするかを指定できます。
    ・使用例:中心点をずらして、視覚的な焦点を特定のキャラクターやオブジェクトに合わせることができます。
  • Intensity
    ・効果:ビネットの強度を調整します。値が大きいほど、画面の周囲が暗くなります。
    ・使用例:ドラマチックな効果を強調したい場合は、高い強度を設定します。
  • Smoothness
    ・効果:ビネットのぼかし具合を調整します。値が大きいほど、中心から周囲への遷移が滑らかになります。
    ・使用例:滑らかな効果を得たい場合は高い値を、シャープな境界効果を得たい場合は低い値を設定します。
  • Roundness
    ・効果:ビネットの形状の丸みを調整します。値を増やすと円形に、減らすと楕円形になります。
    ・使用例:円形は高い値を、広がった楕円形は低い値を設定します。
  • Rounded
    ・効果:ビネットの形状を完全な円形にするかどうかを決定します。
     この設定を有効にすると、ビネットは常に円形になります。
    ・使用例:常に均一な円形のビネットを保持したい場合に使用します。

Grain (フィルムグレイン)

フィルムグレイン効果は、映像にフィルムのような粒状のノイズを追加するエフェクトです。
これにより、シーンに古い映画やアナログフィルムの質感を与えます。

  • Colored
    ・効果:グレインの色をカラーにするか、モノクロにするかを選択します。
    ・使用例:カラーを有効にすると、粒子は元の映像の色に従います。無効にすると、粒子はモノクロになります。
  • Intensity
    ・効果:グレインの強度を調整します。値が大きいほど、グレイン効果が強くなり、粒子が目立つようになります。
    ・使用例:映像に強いフィルムグレインの効果を持たせたい場合、高い値を設定します。
  • Size
    ・効果:グレインの粒子の大きさを調整します。値が大きいほど、粒子が大きくなります。
    ・使用例:古いフィルムやビデオの質感を再現するために粒子のサイズを大きくすることができます。
  • Luminance Contribution
    ・効果:グレインが輝度に基づいてどの程度影響するかを調整します。
     値を調整することで、グレインの見え方を明るい部分と暗い部分で変えることができます。
    ・使用例:明るい部分でのグレイン効果を強調したい場合、この値を増やします。
     暗い部分でのグレイン効果を強調したい場合は、この値を減らします。

Screen Space Reflections (スクリーンスペースリフレクション)

スクリーンスペースリフレクションは、シーン内の反射をリアルタイムにシミュレートするポストプロセスエフェクトです。これにより、水面や光沢のある表面などにリアルな反射効果を追加できます。

  • Preset
    ・効果:SSRの品質をプリセットで設定します。これにより、簡単に複数のパラメーターを一度に調整できます。
    ・使用例:一般的には、Low、Medium、High、Ultraなどのプリセットがあります。
     より高品質の設定ほど詳細な反射が得られますが、その分計算コストが高くなります。
  • Maximum March Distance
    ・効果:反射を追跡する最大距離を設定します。これにより、SSRが反射を計算する範囲が決まります。
    ・使用例:高い値は遠くのオブジェクトも反射に含まれるようになりますが、パフォーマンスが高くなります。
     低い値に設定すると、近くのオブジェクトのみが反射され、パフォーマンスが向上します。
  • Distance Fade
    ・効果:反射のフェード距離を設定します。
    ・使用例:この値を調整することで、遠くの反射が徐々に消えるようにし、反射が自然に見えるようにします。
     高い値に設定すると、反射がゆっくりとフェードアウトし、低い値に設定すると急速にフェードアウトします。
  • Vignette
    ・効果:SSR効果にビネットを追加します。
     これにより、反射の周囲が暗くなり、中心部に視覚的なフォーカスを作り出します。
    ・使用例:高い値に設定すると、反射の周囲がより暗くなり、中心の反射が強調されます。
     ビネット効果を加えることで、反射が画面全体に広がるのを防ぎ、視覚的な集中を促します。

Ambient Occlusion (環境オクルージョン)

環境オクルージョンは、シーン内のオブジェクトが遮蔽される部分の陰影をシミュレートする効果です。
これにより、リアルな陰影と奥行きを追加して、シーンの立体感を強調します。

  • Mode Scalable Ambient Obscurance (SAO)
    ・効果:SAOは、高品質の環境オクルージョンを提供する手法です。
     リアルな陰影効果を実現しつつ、スケーラブルなパフォーマンスを提供することを目指しています。
    ・使用例:高品質なビジュアルが求められるゲームやアプリケーションで使用されます。
     品質とパフォーマンスのバランスが取りやすいため、幅広いシステムでの使用が可能です。
  • Mode Multi Scale Volumetric Obscurance (MSVO)
    ・効果:MSVOは、ボリュメトリックなアプローチで環境オクルージョンを計算します。
     異なるスケールの陰影を効果的に組み合わせることで、リアルで詳細な陰影を生成します。
    ・使用例:高性能なハードウェアで動作するアプリケーションや、リアリズムが非常に重要なシーンで使用されます。
     映画品質のレンダリングや、詳細な陰影効果が必要なプロジェクトに適しています。

高負荷エフェクト順

ポストプロセスエフェクトは、その複雑さや計算量によって、CPUやGPUへの負荷が異なります。
一般的なガイドラインでの、CPUやGPUに対する負荷が高い順になります。

高負荷エフェクト

  • 1. Screen-space Reflections (スクリーンスペースリフレクション)
  • 2. Ambient Occlusion (環境オクルージョン)
  • 3. Depth of Field (被写界深度)
  • 4. Motion Blur (モーションブラー)

中負荷エフェクト

  • 5. Bloom (ブルーム)
  • 6. Chromatic Aberration (色収差)
  • 7. Auto Exposure (自動露出)
  • 8. Color Grading (カラーグレーディング)

低負荷エフェクト

  • 9. Vignette (ビネット)
  • 10. Lens Distortion (レンズ歪み)
  • 11. Grain (フィルムグレイン)

コメント