代表技術通信~Unityで点群表示、Oculus Questで表示⑩ VFXをOculus Questに取り込み(2)
こんばんは。代表の草場です。
Oculus QuestにVisual Effect Graphを取り込めました。やったー。
Oculus Questで撮った写真。Visual Effect Graphで作った炎が出ています。
@shienaさんの「VulkanをサポートしたOculus QuestでVisual Effect Graphを使う」をもとにしています。記事をもとに、UnityとPackage Managerの機能だけで外部アセットを使わずにOculus QuestでVisual Effect Graphを使います。
目次
環境
OS:Windows 10
Unity:2019.4.10f1
やり方は@shienaさんの記事の通り、以下です。
やり方
- プロジェクト作成
- Oculus Quest向けにProject Settingsを調整
- Package Managerから必要なパッケージを追加
- VisualEffectGraph Additionsをインポート
- シーン構築
- ビルドと実行
プロジェクト作成
UnityHubでUniversal Template Piplineからプロジェクトを作成します。@shienaさんの記事ではUniversal Template Projectから作成されていました。
Universal Template Piplineに関してはそれだけで何本も記事が書けます。後で勉強。日本語記事は、楽しむスタジオの飛田さんの「手を動かして学ぶUnity Universal Render Pipeline – part 1」がわかりやすいです。
作成して少し待つと、以下の画面が出ます。
Oculus Quest向けにProject Settingsを調整
Oculus Questではapkファイルを作成するので、前の記事でもやったように、Androidプラットフォームに変換します。UnityのメニューのFile > Build Settingsを開き、プラットフォームからAndroidを選択、Switch Platformクリック。
Build SettingsのPlayer Settingをクリック。Player > Ohter Settingsにて、
Graphics APIsをVulkanのみに変更します。おそらくデフォルトでOpenGLES3も入ってるので、選択してーボタンで消します。
Minimum API Levelを4.4から6.0(Marshmall)に変更します。
Project SettingのXR Plugin Managementを開きます。Install XR Plugin Managementボタンクリック。インストール後、Plug-in ProvidersのOculusにチェック。
XR Plugin ManagementのOculusを開きます。デフォルトでFocus Aware、V2 Signing(Quest)にチェックあります。そのままで進めます。
Package Managerから必要なパッケージを追加
UnityのメニューのWindows > Package Managerを開き、Advancedをクリック、Show preview packagesにチェックしてプレビューバージョンを見えるようにします(不安定ですよ、ほんといいですか?というエラー出る)。
以下のパッケージをインストールします。
XR Interaction Toolkit
Visual Effect Graphの7.2以上。今回は7.3をインストールしました。
Universal RPの7.2以上。7.3.1がすでにインストール済でした。
Android Logcat。2019 Verifiedになっている1.1.1を入れました。
VisualEffectGraph Additionsをインポート
Package ManagerのVisual Effect GraphからVisualEffectGraph AdditionsのImport into Projectボタンクリック
記事通り、Assets/Samples/Visual Effect Graph/7.3.1/VisualEffectGraph Additions/VFX/にアセットが作られますがそのままでは動かないのでUnityメニューのEdit > Visual Effects > Rebuild All Visual Effect Graphsから再コンパイルします。
シーン構築
UnityメニューのGameObject> XR > Room-Scale XR Rigを選択するとMain CameraがVR用のXR Rigに変換されます。
カメラの使い方、よく勉強しないと。。
・Main CameraのInspectorのProjection開くと、Cliping planeにNearがあります。デフォルトの0.3では遠いので0.01に変更します。なぜかはよくわからず。カメラの見え方が変わります。以下、Cameraからの視点です。
Assets/Samples/Visual Effect Graph/7.2.1/VisualEffectGraph Additions/Prefabs/にあるVFXのプレハブをヒエラルキーに追加します。Bonfireは再生マークが出ていないのでアクティベートされていない可能性があり、今回はヒエラルキーに追加しませんでした。VFXで作ったオブジェクトが出てきました。
追加したVFXをカメラから見やすい位置に調整します。こんな感じか?
ビルドと実行
UnityメニューのFile > Build Settingsを開きます。Oculus QuestとPCを接続、Build and Run クリック。
できた!
完了すると、以下のように、Vulkanが使われている画面が出ました。
このままOculus Questで見ようと思いきや、、画面が真っ黒。Oculus Questを再起動したら、動く炎が出ました!うーん、カメラの位置微妙。
DMM.make AKIBAも試しにやりました。一応表示されました!が、重い。
おそらくVFXはGPU使っているのでそれをOculus Questでは重くて読めてないのか?「Getting Started w/ The Unity GPU Profiler for Oculus Quest and Go」で勉強します。
EVENTS