見出し画像

Oculus Questでハンドトラッキングアプリの開発 準備編(Unity)

コンにちは!しめいずと申します!
12/20(金)に配布が開始された、Oculus Questのハンドトラッキングに対応したSDKを簡単に触ってみたので、セットアップ方法をまとめます!

開発経験がある人のためのTL;DR

バージョン12以上のOculus Integrationをインポートし、OVRCameraRig -> OVR Manager -> Input -> Hand Tracking SupportControllers And HandsHands Onlyに変更しましょう。

手を表示したり手の情報を取得するためには、LeftHandAnchorRightHandAnchorOVRHandPrefabを追加し、右手側の各スクリプトのHand LeftHand Rightに変更する必要があります。
(手の情報はOVRHandPrefabOVR Handコンポーネントに入っています。詳細は公式サイトへ)
※12/26追記
ボーンの情報などはOVR Skeletonコンポーネントに入っています。

Unityプロジェクトの作成

Unityをインストールしていない人は公式サイトからダウンロードしてください。(バージョン管理のためにUnity Hubをインストールするのがオススメです)

今回使用するUnityのバージョンは2018.4.13f1で、Android Build Supportモジュールを追加しています。

一通りインストール出来たらプロジェクトを作ります。
Unity Hubを起動し、新規作成をクリックします。
(バージョンを選択する場合は横の▼をクリック)

画像1

テンプレートは3Dを選択し、適当なプロジェクト名を入力し、作成をクリックします。

画像2

以上でプロジェクトの作成は終了です。

Oculus Quest向けに開発をするための準備

File -> Build Settingをクリックします。

画像3

Add Open Scenesをクリックし、Scenes In BuildScenes/SampleSceneを追加しておきましょう。
PlatformAndroidを選択し、Switch Platformをクリックします。
(Android向けのコンパイルが始まります)
最後にPlayer Settings...をクリックします。

画像19

右側のInspectorPlayerSettingsが表示されるので、Other Settingsを選択ます。
Identification -> Package Nameに適当な名前を入力します。
(他のアプリと被ると厄介なので、ユニークなものにしましょう)
Identification -> Minimam API Level19以上のものにします。
(今回は23のAndroid 6.0にしました)

画像5

次に、下の方にあるXR Settingsを選択します。
Virtual Reality Supportedチェックを入れるVirtual Reality SDKsが選択可能になるので、をクリックし、Oculusを選択しましょう。

画像6

これでOculus Quest向けに開発をする準備が整いました。

Oculus Integrationのインポート

Asset Storeタブを開き、Oculus Integrationインポートします。
(初めて使う場合は、下部のSearchからOculus Integrationを検索し、ダウンロードしましょう)

画像7

下のようなダイアログが出てきたらImportをクリックします。

画像8

インポートが終了した後、いくつかダイアログが表示されますが、すべて一番左側のボタンをクリックで大丈夫です。

画像9

画像10

画像11

画像12

これでOculus Integrationのインポートが完了しました。

ハンドトラッキングの準備

Main Cameraは不要なので削除します。

画像13

Assets -> Oculus -> VR -> PrefabsにあるOVRCameraRigHierarchyにD&Dで追加します。
追加したOVRCameraRigを選択し、Input -> Hand Tracking SupportHand Onlyに変更します。

画像14

これでOculus Questでハンドトラッキングを使う準備ができました!

手を表示

前節でハンドトラッキングを使う準備ができましたが、現段階では何も表示されないので、手を表示できるようにします。

LeftHandAnchorRightHandAnchorOVRHandPrefabを追加します。
(画像ではLeft/RightControllerAnchorに追加していますが、公式ではLeft/RightHandAnchorの方に追加していました)

画像15

RightHandAnchorに追加したOVRHandPrefabを選択し、OVR Hand, OVR Skeleton, OVR MeshHand Leftとなっている部分をHand Rightに変更します。

画像18

これでハンドトラッキング結果に合わせて手が表示されるようになりました。

ビルド・インストール

実際にOculus Questで動くか試してみましょう。

まず、こちらのサイトなどを参考にOculus Questを開発者モードにします。
それができたらOculus QuestPCに接続しておきましょう。

File -> Build And Runをクリックします。

画像17

.apkファイルの保存場所を選択するダイアログが表示されるので、適当な場所を選択します。

しばらく放置し、ビルドとインストールが終了するのを待ちましょう。

インストールが終了すると、Oculus Questで勝手にアプリが立ち上がるので、Oculus Questを被って試してみましょう。

画像18

このように手が表示されれば成功です!お疲れ様でした!

補足

OVRHandPrefabOVR Skeleton -> Enable Physics Capsuleチェックを入れると、手に当たり判定が追加されます。

最後に

今回、ハンドトラッキングを使用する方法を紹介しましたが、実際のアプリに落とし込む場合はスクリプトで色々と処理をする必要があります。

その場合、OVR Handを使うことになるのですが、それに関してはまた後日書こうと思います。
公式の解説ページがあるので、待てない方はそちらをどうぞ)

※2019/12/26追記
OVR Skeletonも使うことになります。

※2020/3/8追記
続き書きました!


この記事が気に入ったらサポートをしてみませんか?