画面にノイズエフェクトを走らせ、
所謂「不明なユニットが接続されました」ごっこをします。
これは自分の中では結構お気に入りのエフェクトなのですが、どうやらGlitchFXと言うらしいです。これをゲームのシーンに入れてみます。
GlitchFXの導入
導入は簡単でパッケージを入れるだけでOKです。
- まずはGlitchFX for Unity を導入します。
- keijiro/GlitchFx · GitHubよりGlitchFx.unitypackageを入手します。ココ
- 入手したパッケージをプロジェクトにインポートします。
- 下の画面のようになります。
GlitchFX の 使い方
使い方は他のイメージエフェクトと同様にカメラにGlitchFxをアタッチするだけです。
- Glitchを使いたいシーンを用意します。
- MainCamera(or Glitchしたいカメラ)を選択します。
- Add Component で GlitchFX と入力、GlitchFXを選択します。
これでカメラにGlitchFXの機能が追加されます。
但しアタッチ直後はグリッチの値が高すぎて画面が紫色になります。intensity(激しさ)の値を小さくして、Glitchの強さを画面が見える程度の量まで下げましょう。大体0.5くらいで超絶邪魔ってくらいです。不要ならenableをfalseにしてOFFにします。
uGUIのUIにImageEffectをかけて表示する
イメージエフェクトはカメラに描画するため、uGUIのUIは初期状態のようにCanvasがOverlap(最前面)モードの状態でUIを描画してもエフェクトはかかりません。
もしUIも巻き込んでエフェクトを走らせたい場合は、ちょっとしたトリックを必要とします。
要するにCameraにUIを描画させれば良いので、以下の手順でUIの描画先をMain Cameraに変更し、MainCameraのImageEffectをUIにも反映するよう設定します。
- Canvas のRenderModeをScreen Space - Camera に変更します。
- RenderCameraにMainCameraを設定します。
Unity3D - Unity5 Canvasの中に対してブラーとか使うとき(修正版) - Qiita
もう一つ、UICameraを用意する方法もあります。
こちらの方法は確実にUIがキャラクターの手前に来るので便利ですが、モバイル(特にUnity4系で)パフォーマンスに対しかなり高いペナルティが発生する事があるので注意が必要です(Unity 5でこのペナルティは無くなったかもしれません。軽く触った限り負荷が確認出来ず)
Unity3D - Unity5 Canvasの中に対してブラーとか使うとき - Qiita
普通のノイズ
Noize and grainでは入ります。StandardAssetsのEffectsに入ってます。導入方法はGlitchFXとだいたい同じです。
あとNoise and Scratchesとかも。
その他
ちなみにこのGlitchFX、去年のOculus Game Jam(沖縄)でダメージエフェクトとして使ってからずっと個人的なお気に入りエフェクトです。
かけすぎると(復帰が不可能な程度に)邪魔なので程々に。
今回の Oculus Game Jamで作ったゲーム pic.twitter.com/2IGF2N3oHL
— 椿 (@tsubaki_t1) 2014, 11月 30
今回使ってるモデルはRobot Warrior 2で結構前に惚れてからちょくちょく使ってるお気に入りの一品です。ロボのモデルも以前は10体しかありませんでしたが、現在は94体にもなったので、かなりホクホクです。
むしろ、もっと増えても良いんじゃよ? ダイガードとかヴォーダンとかビックオーみたいな「手足が妙に太くてズングリムックリなロボット」とか。(チラッ チラッ チラッ
後は物理挙動を伴ってゆっくり歩行するロボットのシステムとかも欲しいなー(チラッ チラッ