Oculus Quest + Unity 2019.3 Hand Tracking Test
ハンドトラッキングをためしてみるよ
てことでまずは公式の注意点から
開発者プレビューの免責事項:ハンドトラッキングは、このリリースでは開発者プレビュー機能として提供されています。今後のリリースでこの機能の開発者プレビュー段階が終了するまでは、この機能を使用するアプリをOculusリリースチャネルに提出しても承認されません。
データ使用の免責事項:ハンドトラッキングのサポートを有効にすると、アプリから特定のユーザーデータ(ユーザーの手の推定サイズや手のポーズデータなど)にアクセスできます。このデータは、アプリ内でハンドトラッキングを有効にするためにのみ使用でき、他の目的での使用は明示的に禁止されています。
まだプレビューらしいですね。
また現状ハンドトラッキングでは、簡単なジェスチャー操作、カーソルポインタとしての使用程度で、
ハンドトラッキングはTouchコントローラーを補完するものであり、高い精度が求められるゲームやクリエイティブツールなど、あらゆるシナリオでコントローラーに置き換わるものではありません
設定
1.まずいつもどおり「OculusInte」をインポート
2.そしていつもどおりビルド設定、Graphics APIは今回もValukan
をつかいます(なにが違いあるかはわからんが、、、
3.「OVRCameraRig」を追加する
Oculus/VR/Prefabs/OVRCameraRig prefabを HierarchyウィンドウにDD
4.アクセス許可
AndroidManifest.xmlファイルの中でアクセス許可を有効にする必要があるが、それをUnity上で行うことができる。
公式を読むに、
[OVR Manager (script)(OVR マネージャ(スクリプト))]の[Input(入力)]セクションで、[Hand Tracking Support(ハンドトラッキングサポート)]のリストから[Controllers and Hands(コントローラーと手)]を選択します。
とあったが実際みてみると「Quest Features」項目にいた
これをデフォルト(Controllers Only)から、今回は「Controllers and Hands」を使用する。
Controllers Only(コントローラーのみ)
アプリでコントローラーのみ使用します。これを選択した場合、マニフェストファイルに追加されるハンドトラッキングアクセス許可はありません。Controllers and Hands(コントローラーと手)
アプリで入力デバイスとしてコントローラーと手の両方がサポートされます。これを選択した場合、マニフェストファイルには"oculus.software.handtracking"の項目が含まれ、アクセス許可がandroid:required=”false”に設定されます。手のサポートをオプトインする場合、アプリはOculusストアで承認されるよう、ハンドトラッキング特有の付加的な技術要件を満たす必要があります。Hands Only(手のみ)
アプリで手を使用する必要があります。これを選択した場合、マニフェストファイルには"oculus.software.handtracking"の項目が含まれ、アクセス許可がandroid:required=”true”に設定されます。現在このオプションは開発者実験には使用できますが、Oculusストアで提出しても受け入れられません。
ここまでで、HandTrackingを使う準備は整ったが、現状なにも表示はされないので今度は手のモデルを追加する。
5.手を追加する
5-1.Oculus/VR/Prefabs/OVRHandPrefabをLeftHandAnchorとRightHandAnchorの各ハンドアンカーに追加
5-2.ハンドタイプを設定する
デフォルトが左手なので、RightHandAnchorのOVRHandPrefabの[OVRHand]、[OVRSkeleton]、[OVRMesh]のハンドタイプを右手に変更しておく
これでひととおりの設定はおわったっぽいので、ビルドして実際に動かしてみる。
静止画しかないのであんまりつたわらないが、思ってた以上に手の動きをおってくれるしサクサクうごく。
今度はもうちょっと突っ込んでハンドトラッキングで遊んでみよう