【Unity】【OculusQuest】Bloomさせる
BEAT SABERっぽい雰囲気を目指すんなら、やっぱりBloomさせなきゃですよね!?
- 開発環境
- エフェクト使用について
- Post Processingをインストールする
- Post Process Layerをアタッチする
- HDRを適応する
- Post Process Volumeオブジェクトを作成する
- Bloomを追加する
- 発光マテリアルの作成
- 結論
開発環境
- Unity 2019.1.2
- Oculus Integration 1.39
- Visual Studio 2017
エフェクト使用について
上記URLの「VR でのイメージエフェクトの使用」に記載されていますが、イメージエフェクトは非常に負荷が高くVR向けではありません。
よって、使用の有無をよく検討する必要があります。
VRイライラ棒に関して言えば、他に重たい処理もありませんし
何よりBEAT SABERっぽくするのが大目的です。
よって遠慮なく使うことといたしました。
Post Processingをインストールする
Bloomさせる一番手っ取り早い方法は、PackageManagerにあるPost Processingを使うことだと思います。Post ProcessingはメニューのWindow > Package Managerから表示されるPackageウィンドウからインストールします。
※未インストール時は、上記画面のボタンがInstallになります。
Post Process Layerをアタッチする
エフェクトを適応するカメラにPost Process Layerコンポーネントをアタッチします。
OculusIntegrationを使用している場合、OVRCameraRig > TrackingSpace > CenterEyeAnchor にアタッチしましょう。
アタッチしたら、エフェクトを適応するLayerの設定を行います。
Anti-aliasingのModeですが、せっかく準備されているのです。遠慮なく使っちゃいましょうw
アンチエイリアスについてはProject SettingsのQualityで2x~4x Multi Samplingを適応するようにOculusで推奨されていますが、Post Processで適応するので今回は外してみました。
HDRを適応する
Post Processingを使用するにはHDR(High Dynamic Rangeレンダリング)を有効にする必要があります。
VRではカメラの設定からHDRを有効にはできないので、Project SettingsのGraphics Settingsから設定します。
Use Defaultsをオフにすると各項目が活性になりますので、Use HDRをONにします。
Low・Middle・Highの設定項目がありますので、同様にすべて設定します。
Post Process Volumeオブジェクトを作成する
新規オブジェクトを作成し、レイヤーをPost Process Layerで設定したのと同じものを設定します。そのオブジェクトにPosr Process Volumeスクリプトををアタッチしましょう。
Is GlobalはONにしておきます。OFFにすると、オブジェクトからの距離でエフェクトをかける範囲を設定できます。
ProfileでNewボタンを押下すると、プロファイルが作成されます。
このプロファイルにエフェクトを追加していく感じになります。
Bloomを追加する
PostProcessStack Profileを開くと、エフェクトを追加する画面が出てきます。
こちらからBloomを追加しましょう。
IntensityはBloomの強さ、Thresholdは発光の閾値です。
オブジェクトのIntensityが設定値以上のオブジェクトのみが発光します。
VRですので、Fast ModeはぜひONにしておきましょう。
これでBloomの設定は完了です!
発光マテリアルの作成
マテリアルを発光させるには、Standard ShaderのEmissionを使用します。
Emissionについては、下記URLに詳しく記載されています。
VRイライラ棒ではイライラ棒とステージが発光しています。
発光の度合いを変えるために、イライラ棒側のIntensityを強めに設定してあります。
左がイライラ棒、右がステージのIntensity設定です。
これで発光強度の異なるオブジェクトが配置できました!
結論
- Bloomさせるには、Post Processingを使用する
- オブジェクトを発光させるには、Standard ShaderのEmissionを設定する
- EmissionのIntensityの強さによって、発光強度を変えられる
- 発光させたくないオブジェクトは、Intensityを閾値以下に設定する
- Bloomすると一気にBEAT SABERっぽくなる!(当社比)
↑↑↑ ぜひ遊んでみてください!↑↑↑