はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】魚眼レンズをPostProcessingStack V2で実現する

はじめに

今回はPostProcessingStack Version2を用いて魚眼レンズを実現する記事になります!

まず魚眼レンズと聞いて、なんだそれ?と思うかもしれません。

魚眼レンズというのは、画面の四隅をねじったような画面のことを表します。

f:id:hanaaaaaachiru:20190419183533p:plain

ただここまで偉そうに言っていてなんですが、正直これが魚眼レンズなのか広角レンズなのかはたまたどっちでもないのかよく分かっていません。

もし正しい呼び方を知っている方はこっそり教えてくれると嬉しいです。しれっと正しい表記に直しておきます。

魚眼レンズを実現する方法として私だったらこの3つの方法を思いつきます。

・Unityの昔の機能であったImageEffectを用いる

・シェーダーでポストエフェクトを自作(どこかから入手)

PostProcessingStackを用いる

今回は一番下の方法で魚眼レンズにしてみたいと思います。

PostProcessingの導入

上のメニューからwindow -> Package Managerでパッケージマネージャーを開く。

f:id:hanaaaaaachiru:20190419184722p:plain

それができたら、Post Processingを一覧から探し、右上のImportをクリック。

f:id:hanaaaaaachiru:20190419184943p:plain

PostProcessingの下準備

カメラにエフェクトをかけるには、いくつか下準備が必要です。今回はなるべく最短でやるので、細かい設定をしたいからは自分で調べてみてください。

まずはカメラにPost-process Layerコンポーネントをアタッチします。

f:id:hanaaaaaachiru:20190419185453p:plain

Post-process LayerコンポーネントのLayerEverythingに変更。

f:id:hanaaaaaachiru:20190419185725p:plain

空のGameObjectを作成し、Pöst-process Volumeコンポーネントをアタッチしてください。

f:id:hanaaaaaachiru:20190419190109p:plain

最後にIs Globalにチェックを入れ、ProfileNewをクリックすれば下準備は終わりです。

f:id:hanaaaaaachiru:20190419190335p:plain

Lens Distortionでカメラを歪ませる

Lens Distortionという機能を使うことで画面を歪ませて、魚眼レンズを作り出します。

Pöst-process Volumeコンポーネントの一番下にあるAdd effect...をクリックし、Lens Distortionを選択。

f:id:hanaaaaaachiru:20190419190708p:plain

Lens Distortionの左のチェックボックスにチェックを入れ、Intensityの値を色々と変更してみましょう。

f:id:hanaaaaaachiru:20190419191147p:plain

f:id:hanaaaaaachiru:20190419191218p:plain

Lens Distortionのプロパティについて

Lens Distortionにはたくさんのパラメーターがあります。

ひとつひとつ紹介してこの記事を終わりたいと思います。

名前 どのような効果があるか
Intensity 歪みの強度
X Multiplier x軸上の歪みの強度
Y Multiplier y軸上の歪みの強度
Center X 歪みのx軸の中心点
Center Y 歪みのy軸の中心点
Scale スケールの調整

さいごに

個人的に少し画面を歪ませるだけでもゲームの高級感を増せることがあると思います。
上手く活用をして、華やかな画面にしちゃいましょう!