はじめに
Unity2019.3になってOculus QuestでVulkanがサポートされました。
更にURP 7.2.0からXR周りが改善されたりXR Interaction Toolkitだけでクロスプラットフォームにカメラリグやコントローラーを扱えるようになっています。
- Vulkan Support for Oculus Quest in Unity (Experimental)
- 2019.3 Release - XR Updates
- XR Interaction Toolkit Preview Package is here
- XR Interaction Toolkit Preview Release
そこでUnityとPackage Managerの機能だけで外部アセットを使わずにOculus QuestでVisual Effect Graphを使ってみます。
できあがったもの
-
スクリーンショットと動画
-
ソース
-
ビルドしたapk
開発環境
- Unity2019.3.1f1
- Android Build Support
- Android SDK & NDK Tools
- OpenJDK
- Oculus Quest v13以上
Unityインストール時にAndroid Build Supportを展開してAndroid SDK & NDK ToolsとOpenJDKもチェックします。
手順概要
- 新規プロジェクト作成
- Oculus Quest向けにProject Settingsを変更
- Package Managerから必要なパッケージを追加
- VisualEffectGraph Additionsをインポート
- シーン構築
- ビルドと実行
- クオリティ調整
新規プロジェクト作成
UnityHubで新規作成してUniversal Template Projectから作成します。
Oculus Quest向けにProject Settingsを変更
-
Androidプラットフォームに変更
- メニューの
ファイル > ビルド設定
を開き、プラットフォームからAndroidを選択してSwitch Platformボタン
を押します。
- メニューの
-
Oculus Quest向けにProject Settingsを変更
- Build Settingsの
プレイヤー設定ボタン
を押してProject Settingsを開きます。 -
Player > Androidアイコン > その他の設定を開きます。
- Graphics APIsをVulkanのみに変更
- 最低APIレベルを4.4から6.0に変更
-
XR Plugin Managementを開きます。
- Install XR Plugin Managementボタン、Oculus XR PluginのInstallボタンの順に押します。
- AndroidアイコンのPlugin ProvidersにOculus Loadersを追加します。
-
Oculusを開きます。
- 作成ボタンを押してOculus Quest用の設定を作ります。
- Build Settingsの
Package Managerから必要なパッケージを追加
- メニューの
ウインドウ > Package Manager
を開き、Advanced
からShow preview packages
をチェックしてプレビューバージョンを見えるようにします。 -
プロジェクト内をすべてのパッケージに変更して以下のパッケージをインストールします。
- XR Integration Toolkit
- Visual Effect Graphの7.2以上
- Universal RPの7.2以上
- Android Logcat
VisualEffectGraph Additionsをインポート
-
Package ManagerのVisual Effect GraphからVisualEffectGraph Additionsの
Import into Projectボタン
を押します。 -
Assets/Samples/Visual Effect Graph/7.2.1/VisualEffectGraph Additions/VFX/
にアセットが作られますがそのままでは動かないのでメニューの編集 > Visual Effects > Rebuild All Visual Effect Graphs
から再コンパイルします。
シーン構築
-
メニューの
ゲームオブジェクト > XR > Room-Scale XR Rig
を選択するとMain CameraがVR用のXR Rigに変換されます。 -
Assets/Samples/Visual Effect Graph/7.2.1/VisualEffectGraph Additions/Prefabs/
にあるVFXのプレハブをヒエラルキーに追加します。 追加したVFXをカメラから見やすい位置に調整します。
ビルドと実行
- メニューの
ファイル > ビルド設定
を開きます。 - デバイスを実行しますからOculus Questを選択します。
- ビルドして実行ボタンを押します。
-
アプリを起動してメニューの
ウインドウ > 分析 > Android Logcat
を開くとVulkanが使われているのが分かります。
クオリティ調整
このままでもVisual Effect Graphは動きますがBloomが弱いのでPCと比べると貧弱です。以下の設定を行うとBloomの違いが分かります。
ただしHDRとPostProcessingはOculusの開発者ブログでパフォーマンス低下させると指摘されているようにFPSが更に下がってしまいます。
Getting Started with Unity’s Lightweight Render Pipeline (LWRP)
-
クオリティ調整後のスクリーンショットと動画
-
ビルドしたapk
-
Assets/Settings/UniversalRP-MediumQuality.assets
をAssets/Settings/UniversalRP-OculusQuest.assets
に複製して以下の項目を変更します。- HDRを有効にする
- Anti Aliasing (MSAA)を
4x
にする - Grading Modeを
High Dynamic Range
にする
-
Player Settings > 品質
にOculusQuestを追加して以下の項目を変更します。- AndroidのDefaultに設定する
- Renderingに
UniversalRP-OculusQuest
を設定する - それ以外は
Medium
と同じ
-
Player Settings > グラフィックス
のスクリプタブルレンダーパイプライン設定にUniversalRP-OculusQuest
を設定します。
Top comments (0)