この記事はUnity アセット真夏のアドベントカレンダー 2018 Summer! 25日目の記事です。
みなさん、Post Processing Stack(以下PPS) v2使ってますか!
PPS v1時代から比べてアニメーションへの対応やエフェクトのブラッシュアップなど色々と便利になりました。 今回はその便利になったPPSv2を拡張するAssetの話をしていきたいと思います。
拡張の話がメインなのでPPSv2を導入する部分は割愛します。導入部分に関しては夏コミ新刊で書いたので是非よろしくお願いいたします!(ダイレクトマーケティング)
今回の環境は以下の通りです。
名前 | バージョン番号 |
---|---|
Unity | 2018.2.4f1 |
Post Processing Stack | 2.0.11 |
SC Post Effects Pack | 0.5.1 |
SC Post Effects Pack
PPSv2で使える28種類のエフェクトが入ったパックです。まだbeta版という扱いで定価30ドルの所を25ドルで販売されています。
インストール方法はPPSをPackageManagerで入れた後にAssetをImportするだけで使えます。
昔、こういうPackageManagerで入れるPackageの拡張系Assetは参照が通らなくてErrorになっていた記憶なんですが知らない間にちゃんと参照通るようになったんですね(当時の環境がおかしかっただけの可能性もアリ)。Githubからわざわざ落とさなくてすむようになってとても便利です。
AssetをImportすれば「Post Processing Volume」の「Add effect…」にSC Post Effectsが追加されます。
このSC Post Effectsにはちょっとした便利ツールが入っていて、Help → SC Post Effectsから起動するEditor拡張でMain CameraにPost Process Layerを追加したり、GlobalのPost Processing Volumeを追加したりできます。また2017系ではPPS用のLayerが用意されていないのでそれを一発で作る機能もあります。
これからPPSv2を設定していくぞっていう時には結構便利な機能だと思います。
エフェクト
ここからはSC Post Effects Packに含まれているエフェクトの紹介をしていきます。ただしDocumentに全てのエフェクトの説明が記載されているわけではないため実際に使ってみて感じた感想がメインとなっております。そのため間違った事を言っているかもしれません。
基本的にScreenshotは上画像が使用前、下画像が使用後となっています。
Rendering
Ambient Occlusion 2D
PPS本家にもあるAOのエフェクトです。名前の通り2Dゲームでも使えるようになっており、輝度差を基準としてAOが計算されています。雰囲気としては画像編集ソフトで輪郭線を抽出したときに近いでしょうか?
もちろん3Dでも使えます。
また、AO系ではよくあるAOのみの描画も可能です。一般的なSSAOよりも鉛筆画的な温かさがあってこの絵好きですね。この状態で遊ぶゲームとか面白そうです。カラー情報はこれに水彩画的な感じで乗せてみたいですね。
Lens Flares
画面内の輝度が高い場所にレンズフレアを出してくれるエフェクトです。本来作例は屋外で作った方が良かったのですが、手元に直ぐ使える良い感じの屋外シーンがなかったので教室内の窓枠にDirectional Light思いっきり焚きました。
UnityのLightに入れるレンズフレアはときたま室内貫通して表示されたりなどするのでこれで代用とかできそうです。(UnityのLightほどの自由度は無さそうですが)
Asset含めてあまりレンズフレアを良い感じに出してくれる物が少ないので結構使う機会多そうです。
Light Strokes
名前的に入射光とか天使の階段的なヤツ出せるエフェクトのようです。さっきのLens Flaresと組み合わせるとより良さそうな感じなのですが何故か描画されない……
TODO:要調査です。
Screen
Black Bars
RPGとかのムービーシーンが始まると出てくるヤツですね!
エフェクトで実装されているとわざわざuGUIで描画したり、Spriteで描画したりしなくて楽です。
Danger
FPSとかで死にかけると出てくるヤツです。PPS標準のVignetteでも似たようなものが描画できるのですが、こちらは歪ませたりもできてより「ダメージ」という感じが出ます。
テクスチャも入れられるので血しぶきのテクスチャとかを入れるとより良い感じになりそうです。
Gradient
任意のテクスチャや2色のグラデーションを指定のカラーモードで合成できます。
ゲームのPVとかで可愛い女の子が一杯でてくる映像でよく2色とか4色とかの明るめグラデーションがScreenで乗ってたりしますが、そういう感じに使ったりMultipleで赤黒のグラデーションを乗せてホラー感を演出とかに使えそうです。
Rotationのパラメータでテクスチャやグラデーションを回転させることができます。
Overlay
こちらもGradientと似たようなエフェクトで任意のテクスチャを指定のカラーモードで合成できます。
Gradientよりも設定項目は少なめですが、Overlayエフェクトのみの機能としてテクスチャのタイリングに対応しています。
Reflection
赤緑の2色でゆがみを指定したテクスチャを使って、割れたガラスごしや凍り付いたヘルメットごし的な見た目にするエフェクトです。
_Samplesフォルダの中に手本用のテクスチャが入っています。
画面の外周部が凍ってる演出を見るとFrostpunkを彷彿とさせる……
Ripples
画面が波状にゆがみます。アニメーションに対応してて初期設定で再生させるとウネウネと画面がゆがむ感じになります。
Tube Distortion
ブラウン管テレビのような歪みを出せます。
Blurring
Blur
PPSには無い画面全体のブラーエフェクトです。よく使うヤツ。
Double Vision
右目と左目で二重に見える、的なエフェクト。主人公に薬が盛られたり、気絶の後起き上がったりするときに一瞬でるようなヤツですね。
Radial Blur
放射状ブラー。高速で移動してる時とかに出すヤツ。
Environment
Cloud Shadow
白黒のマップを使って雲の影を表現するエフェクトです。(これも屋内じゃないく屋外シーンで使う物ですが)自然な感じで雲の影が落ちます。
ただ自由に空を見上げられるようなシーンだと雲の形と影があってなくて少し違和感がでるかもしれません。
再生すると影が動くので快晴の外の雰囲気がよく出ます。
Fog
名前の通りFogを出すエフェクトです。個人的な話ですがGlobal Fogが無くなってからFog出してないな……
Sunshafts
強い光に対して放射状に光の筋を出すエフェクト。最近だとボリュームレンダリングで表現することもできますが、やっぱりポスプロの方が軽くて良いです。
記憶が間違ってなければStandard Assetにこれあったような気がする。
Retro
Color Split
色収差を出すエフェクトです。PPSにも色収差エフェクトはありましたが、あちらは三色任意の色を設定できるのに対して一般的な赤緑青のみです。その代わり表現方法が数種類選べます。
Dithering
16色カラーとかで画像を作る時に黒や白のドットを配置して濃淡を表現する古の技術。レトロゲー的な雰囲気のゲームを作る時は使うと雰囲気がでるかもしれない。
Pixelize
ピクセル化エフェクト(モザイクエフェクト)。子供に見せられないようなシーンから敵とのエンカウント時まで結構いろいろと活躍してるやつ。
Posterize
色階調を減らすエフェクト。レトロ感を出す時とかに使えると思う。映像演出とかだと使う事が希にあったり。
昔の同人ノベルゲーとかだと実写の背景を階調減らして、輪郭抽出して背景画像にしてるものとかありましたね。
Scanlines
走査線エフェクト。監視カメラといえばやっぱコレ!(最近の監視カメラはこんな走査線はでないが、そこは演出的なアレ)
Stylized
EdgeDirection
こちらが真の輪郭線抽出エフェクト。もちろん輪郭線のみ表示も(デバッグモードで)可能。
Kuwahara
油絵風に変換するエフェクトです。もちろん1番打者とは関係無く、フィルターの名前です。 Kuwahara Filter
Mosaic
モザイク模様の変換するエフェクトです。
Image
Hue Shift 3D
玉虫色、油膜的なエフェクトを画面全体に適用するエフェクトです。モンスターとかアイテムとかモデル単体で油膜エフェクトShaderを適用することはあっても画面全体に適用する機会ってあまりないですよね……
ヤバイ魔術が発動してる時とかSAN値が減るような状態の時に使えるでしょうか。
Sharpen
シャープエフェクトです。(この画像だとちょっと解りづらいかも……窓枠の部分とか見ていただければ)
Misc
Invert
色反転エフェクトです。
Kaleidoscope
万華鏡エフェクトです。これを画面全体適用する状況は絶対にヤバイ魔術をかけられてますね(
以上がこのAssetに含まれる全てのエフェクトです。
アニメーションがあるものはスクショだと解りづらいと思うので最後に公式の動画を貼っておきます。
まとめ
PPSv2になってからサードパーティーのポストエフェクトを簡単に使用管理できるようになりました。今後はポストエフェクトはPPSv2用が主流になっていきそうです。
こうなってくるとPPSv2用のポストエフェクトを作りたい!となってきますね。そこでこんなAssetがありました。
Post Processing UltimateというノードベースでPPSv2用のエフェクトを作成できるAssetです。
Shader GraphなどノードベースでShaderを作る事も増えてきましたが、ポストエフェクトもノードベースの波がきたようです。(Shader Forgeで既に作れてたりはしていましたが)
まだ触っていないので触り次第記事にしたいと思います!
Unity アセット真夏のアドベントカレンダー 2018 Summer! 明日は、
SASEさんの「【Unity】エディタ上で簡単に汚れなどのデカールを表現するアセットShader Painter」です。