たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

【VR】Oculus Quest2でハンドトラッキングを試そう

Unity:2020.1.10f1
Oculus Integration:Version 20.1.0 - October 09, 2020

を使用しています。



Oculus Quest2買っちゃいました。
ハンドトラッキングも出来るらしいので、試してみましょー。
って言っても前のOculus Questから出来ていたので、今更ですが・・・

やり方は、公式のSDK解説ページを見ればわかります。日本語で丁寧に説明されています!!
んでは、今回は以上です[完]



って思ったんですが、公式ページは細かく書かれているので、手っ取り早く動かしてみるだけの手順をまとめてみました。
Oculus Quest2の画面に表示しつつ、Unity Editorでデバッグが行えるようになる事を目指します。
作ったアプリ(APK)をOculus Quest2にインストールして、PCなしで動かせるようにするには、これまた公式ページを見てください。

事前準備

公式ページを見ながら、以下の準備をします。

1) Oculus Quest2を「開発者モード」にする。また、「ジェスチャーコントロール」を有効にする。
2) Oculus Linkでパソコンと繋げるようにする(ケーブルで繋ぐ)。パソコンと繋ぐのはUSB3がお勧めですが、USB2でも問題ありません。
3) Android Debug Bridgeのデバッグを有効にする。作ったアプリをインストールをしないなら、いらないかも?

Project Settiings

Unityで新規プロジェクトを作成して、「Oculus Integration」をImport。
「Edit」→「Project Settiings」→「Player」で、Androidマークの「Other Settings」→「Minimum API Level」をAPI level 23」以上にします。

同じく「Player」→「XR Plugin Management」の、「Install XR Plugin Management」を押下。

「XR Plugin Management」の、「Plug-in Providers」の「Oculus」をチェックします。

同じくPC側の「Plug-in Providers」の「Oculus」もチェックします。
これをやってないと、UnityでPlayボタンを押して実行しても、Oculus Quest2の画面には表示されません

Build Settings

「File」→「Build Settings」で「Android」を選んで、「Texture Compression」を「ASTC」にし、「Switch Platform」を押下。

シーンの設定

最初からある「Main Camera」は削除。
「Assets」の「Oculus」→「VR」→「Prefabs」→「OVRCameraRig」を配置。

「OVRCameraRig」→「TrackingSpace」の「LeftHandAnchor」と「RightHandAnchor」の下に、「OVRHandPrefab」を配置。
右手はInspectorの「Hand Left」になっている箇所を、「Hand Right」に変更。

実行

Oculus Quest2からOculus Linkを起動し、Oculus Homeの画面に切り替えます。
Unityから実行すると、VRの画面に実行画面が表示され、Unityの画面も動きが確認できると思います。


これで、今回やりたかったこと完了!

ちなみに、「OVRHandPrefab」の代わりに「OVRCustomHandPrefab_L」・「OVRCustomHandPrefab_R」を使うと、メッシュ状の手のモデルから別のモデルに変わります。
こんなの・・・

この時「Should Update Bone Poses」にチェックを入れないと、腕・指が動かず固まります。



そーいえば、「OVRCameraRig」の「OVRManager」→「Hand Tracking Support」は「Controllers Only」のままなんだけど、これでもハンドトラッキングは出来るんですね・・・
ピンチ操作も出来るけど、何が違うんだろう??

んでは、次回はスクリプトを作って、ハンドトラッキングをもうちょっと探って行こうと思います。
またねー。



takoyakiroom.hatenablog.com