カメラエフェクトの決定版 Camera Filter Pack ~ OculusRiftホラーを作る その2 #アセットアドカレ 13本目

 

 この記事は Unity Assets Advent Calendar 2014 13日目の記事になります。

OculusRiftコンテンツ和製ホラー「学校の怪談(仮)」作成2日目は、カメラ表現のキーとなるアセットを組み込んでいきます。

一日目 「放課後の校舎を歩く Japanese School Corridor Set ~ OculusRiftホラーを作る その1 #アセットアドカレ 12本目」

スクリーンショット_121214_094708_PM

Camera Filter Pack by Vetasoft http://u3d.as/7XR
バージョン: 1.8 (Dec 05, 2014)サイズ: 1.5 MB
パブリッシャーサイト

環境

Unity 5.0 beta 17
Oculus SDK Unity 4 Integration 0.4.4 beta

アセット概要

画面に様々な表示効果を与える115種類のカメラフィルターのエフェクト集。
Webデモ から115種類すべてのエフェクトが確認できます。

使用方法

CameraコンポーネントがアタッチされているGameObjectへ、設定したいエフェクトのスクリプトファイルをアタッチします。
※スクリプトは\Assets\Camera Filter Pack\Scripts\ 以下

  1. 未設定の状態
    スクリーンショット_121314_021048_PM
  2. CameraFilterPack_TV_Old_Movie
    スクリーンショット_121314_021148_PM
  3. CameraFilterPack_Color_Chromatic_Aberration
    スクリーンショット_121314_021355_PM
  4. CameraFilterPack_Color_Contrast
    スクリーンショット_121314_021447_PM
  5. CameraFilterPack_Color_Invert
    スクリーンショット_121314_021556_PM
  6. CameraFilterPack_Color_Noise
    スクリーンショット_121314_021640_PM
  7. CameraFilterPack_Colors_Threshold
    スクリーンショット_121314_021742_PM
  8. CameraFilterPack_Distortion_FishEye
    スクリーンショット_121314_021824_PM
  9. CameraFilterPack_Drawing_Crosshatch
    スクリーンショット_121314_021929_PM
  10. CameraFilterPack_Drawing_Laplacian
    スクリーンショット_121314_022048_PM
  11. CameraFilterPack_FX_8bits_gb
    スクリーンショット_121314_022149_PM
  12. CameraFilterPack_FX_Dot_Circle
    スクリーンショット_121314_022306_PM

プレイヤーが所定の位置についたらエフェクト発生

階段付近でカメラにエフェクトをかけるようにしてみます。

イベント発生地点にTriggerとなる不可視のGameObjectを作成して、プレイヤーが接触したらイベントを発生させましょう。

Unityで衝突判定でスクリプトから何かする説明 

スクリーンショット_121314_051450_PM

  1. TriggerにBoxやSphereなどのCollider(Is Trigger: ON)を追加
    Meshの場合は追加でConvex: ONとMeshの設定が必要。
    ただし複雑すぎるMeshの形でのあたり判定は負荷が高いため、その場合はBoxを複数使用して形を作って擬似的に行う。
  2. Triggerに判定を行うEventTriggerスクリプトを作ってアタッチする
    実際にOnTrigger(Enter/Stay/Exit)を使う場合は、最初に
    if (col.gameObject.tag != “Player”) return;
    などとして、何でもかんでも処理が行われないよう、あたり判定を行いたいもの以外をフィルタリングして使用。

触れたらカメラフィルタエフェクトON、離れたらOFF

スクリーンショット_121314_054944_PM

  1. EventTriggerスクリプト: publicなCameraFilter変数を追加
  2. EventTriggerスクリプト: OnTriggerEntryとOnTriggerExitで有効/無効を切り替え
  3. Triggerゲームオブジェクト: Main Cameraゲームオブジェクトにアタッチ済みの無効状態の各種Filterを、EventTriggerスクリプトのCameraFilterへ設定

完成