Bigdra.Log

備忘録

Chapter1: Post Processing ~Unity2018 Shaders and Effects Cookbook~

はじめに

Unityのシェーダーをメインに扱っている唯一の書籍である「Unity 2018 Shaders and Effects Cookbook」の自分用のメモです. また, Unity公式リファレンスなどの情報も参考にしています.
シェーダー自体難しそうだし, 初めて読む英語の技術書なのでペースは遅いし間違えもあるかもしれません.

環境

  • Unity2018.4.0
    • この本ではUnity2018.1.0を使っているようですが, Unity2018.4.0を使って進めます. もし何か問題があって2018.1.0やその他のバージョンを使った場合はその部分に注意書きとして書いておきます.
  • サンプルファイル

Chapter1: Post Processing Stack

Post Processの概要

画面に表示する前に画像へフィルターやエフェクトを適用する処理. 視覚効果を手軽にいい感じにできる.

準備

  1. サンプルファイルのAsset | Chapter01 | Scenes | Chapter 1 - Starting Point シーンを開く. このシーンはPost Processingの効果を確認しやすいシンプルな環境のシーンです.
  2. Package Managerを開いて(ctrl + 9), Post-processingをインストールする.
  3. HeararchyからCameraコンポーネントがアタッチされたオブジェクト(今回はFPSController | FirstPersonCharacter)を選択.
  4. 3で選択したオブジェクトにコンポーネントComponent | Rendering | Post-process Layerをアタッチ.
  5. 4.でアタッチしたPost Process Layer(script)コンポーネントLayerのドロップダウンからPostProcessing を選択.
  6. HeararchyPost Process Volumeを作成. inspectorLayerPostProcessingに設定. 最後にpositionを(0, 0, 0), Post Process VolumeコンポーネントIs Globalにチェック.

Post Process VolumeProfileプロパティにはどのようなスクリーンへのエフェクトかの情報が含まれます.
また, Is Globalにチェックを入れることで常にエフェクトをかけることができ, チェックを外すとvolumeと一定範囲内にいる間のみにエフェクトがかかります.

サンプルProfile

Post Processingでエフェクトをかけるには, 上で用意したPost Process VolumeコンポーネントAdd effectsで任意のエフェクトを追加し, 各プロパティを調整すればいい.
Assets | Chapter01にあるProfileを順に見てみる.

Filmic

  • Grain
    • 写真のフィルムのようなランダムなノイズ. ホラーゲームなどで誇張されて利用される.

公式マニュアル

  • Vignette
    • 画面中心からエッジにかけて暗くしたり彩度を下げる表現.
    • 画像の中心にフォーカスを引きつけるような効果によく使われる.

公式マニュアル

Bloom

  • Bloom
    • 実カメラのような, 光源から広がる光を再現するためのエフェクト.
    • 光があふれるような効果

公式マニュアル

  • Anti-aliasing
    • エイリアシング(解像度の低さによって生じる階段状のギザギザ)を防中間色で囲むことで防ぐ.
    • Post Process Layer(Script)のプロパティで選択.

公式マニュアル

Color grading

  • Color Grading
    • 完成した画像のカラーや輝度を変更修正するもの
    • instagramのフィルターみたいなもの

公式マニュアル

Horror

  • Fog
    • カメラからの距離に応じてオブジェクトにカラーを重ねるエフェクト.
    • 霧やもやをシミュレート.
    • Lightingother settingで設定.

公式マニュアル

  • Ambient Occulusion
    • 折り目, 穴, 交差, 表面など環境光を遮断する傾向がある領域をより暗く見せる.
    • リアルタイムに近似していて処理時間のコストが高い.

公式マニュアル

その他

本書で扱っていたPostProcessingの機能は以上ですが, 他にもいくつかのエフェクトがあるようなのでそちらも

  • Chromatic Aberration(色収差)
    • カメラのレンズがすべての色を同じ点に収束しないために生じる効果
    • 画像の暗い部分と明るい部分を分ける境界に沿って色の「フリンジ」として現れる.

公式マニュアル

  • Depth of Field(被写体深度)
    • カメラレンズの焦点特性のシミュレート
    • レンズと焦点があっていない被写体がボケるやつ

公式マニュアル

  • Eye Adaptation(目の適応)
    • 暗いところから明るいところに行ったときに暫くの間眩しくて, だんだん慣れてくるやつ

公式マニュアル)

  • Motion Blur
    • 被写体が高速に動いたときにぼけるやつ.
    • レースゲームなどでは誇張して使用される.

公式マニュアル

  • Screen Space Reflection
    • 反射を計算するためにスクリーンスペースのデータを再利用する技術.
    • 濡れた床の表面や水たまりなどの微妙な反射を作成するの使用される.
    • 重い.

公式マニュアル

次はChapter2: Creating Your First Shader
まだです.