【Unity】【OculusQuest】Bloomさせる

f:id:s44511173:20191008113317p:plain

BEAT SABERっぽい雰囲気を目指すんなら、やっぱりBloomさせなきゃですよね!?

開発環境

エフェクト使用について

unity3d.com

上記URLの「VR でのイメージエフェクトの使用」に記載されていますが、イメージエフェクトは非常に負荷が高くVR向けではありません。
よって、使用の有無をよく検討する必要があります。

VRイライラ棒に関して言えば、他に重たい処理もありませんし
何よりBEAT SABERっぽくするのが大目的です。
よって遠慮なく使うことといたしました。

Post Processingをインストールする

f:id:s44511173:20191008114748p:plain

Bloomさせる一番手っ取り早い方法は、PackageManagerにあるPost Processingを使うことだと思います。Post ProcessingはメニューのWindow > Package Managerから表示されるPackageウィンドウからインストールします。
※未インストール時は、上記画面のボタンがInstallになります。

Post Process Layerをアタッチする

エフェクトを適応するカメラにPost Process Layerコンポーネントをアタッチします。
OculusIntegrationを使用している場合、OVRCameraRig > TrackingSpace > CenterEyeAnchor にアタッチしましょう。

f:id:s44511173:20191008115508p:plain

アタッチしたら、エフェクトを適応するLayerの設定を行います。
Anti-aliasingのModeですが、せっかく準備されているのです。遠慮なく使っちゃいましょうw

アンチエイリアスについてはProject SettingsのQualityで2x~4x Multi Samplingを適応するようにOculusで推奨されていますが、Post Processで適応するので今回は外してみました。

HDRを適応する

f:id:s44511173:20191008121848p:plain

Post Processingを使用するにはHDR(High Dynamic Rangeレンダリング)を有効にする必要があります。
VRではカメラの設定からHDRを有効にはできないので、Project SettingsのGraphics Settingsから設定します。

f:id:s44511173:20191008122314p:plain

Use Defaultsをオフにすると各項目が活性になりますので、Use HDRをONにします。
Low・Middle・Highの設定項目がありますので、同様にすべて設定します。

Post Process Volumeオブジェクトを作成する

新規オブジェクトを作成し、レイヤーをPost Process Layerで設定したのと同じものを設定します。そのオブジェクトにPosr Process Volumeスクリプトををアタッチしましょう。

f:id:s44511173:20191008123053p:plain

Is GlobalはONにしておきます。OFFにすると、オブジェクトからの距離でエフェクトをかける範囲を設定できます。
ProfileでNewボタンを押下すると、プロファイルが作成されます。
このプロファイルにエフェクトを追加していく感じになります。

Bloomを追加する

PostProcessStack Profileを開くと、エフェクトを追加する画面が出てきます。
こちらからBloomを追加しましょう。

f:id:s44511173:20191008123424p:plain

IntensityはBloomの強さ、Thresholdは発光の閾値です。
オブジェクトのIntensityが設定値以上のオブジェクトのみが発光します。
VRですので、Fast ModeはぜひONにしておきましょう。

これでBloomの設定は完了です!

発光マテリアルの作成

マテリアルを発光させるには、Standard ShaderのEmissionを使用します。
Emissionについては、下記URLに詳しく記載されています。

docs.unity3d.com

 

VRイライラ棒ではイライラ棒とステージが発光しています。
発光の度合いを変えるために、イライラ棒側のIntensityを強めに設定してあります。

f:id:s44511173:20191008124401p:plain

左がイライラ棒、右がステージのIntensity設定です。

 

f:id:s44511173:20191008125751g:plain

これで発光強度の異なるオブジェクトが配置できました!

結論

  1. Bloomさせるには、Post Processingを使用する
  2. オブジェクトを発光させるには、Standard ShaderのEmissionを設定する
  3. EmissionのIntensityの強さによって、発光強度を変えられる
  4. 発光させたくないオブジェクトは、Intensityを閾値以下に設定する
  5. Bloomすると一気にBEAT SABERっぽくなる!(当社比)

 

 

↑↑↑ ぜひ遊んでみてください!↑↑↑