【UnityでOculus Quest向けのアプリを作る】ハンドトラッキングの実装

#◆ はじめに
今回はOculus Questのハンドトラッキング機能の実装の説明です。
Unityプロジェクトの作成、ビルド方法などは
[【UnityでOculus Quest向けのアプリを作る】APPをビルドして、動作確認する](https://qiita.com/Kujirai_sakananosuke/items/7874318d3f5ce24e9c63)
[【UnityでOculus Quest向けのアプリを作る】物を掴む為には](https://qiita.com/Kujirai_sakananosuke/items/8dabe6bbeb4658efb426)
参照してください。
#◆ 開発環境
macOS Mojave バージョン 10.14.6
Unity 2018.4.12f1
Android SDK

ハンドトラッキング機能を使用する為、
Oculusのバージョンは（Ver12）にアップデートする必要があります。
#◆ 手順
- 準備すべき物
- ハンドトラッキング作成
- 手を表示するためには
- 補充説明
- 動作確認

## 準備すべき物
まず、メニューバーの「Window」→「Asset Store」
Oculus Integrationを検索し、（最新バージョンを）Importします。
Download が終わるとImportボタン出るので、Importボタンをチェックします。<img width="448" alt="01のコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/da190db8-5563-70ab-ff50-ce76671bddb9.png">
##  ハンドトラッキング作成
ここでは、前回作成した「前回のリンク」SCENEを使います。

前回「Hierarchy」に残した「LocalAvatarWithGrab」を削除し、
先程、Importした中にある「OVRCameraRig」を「Hierarchy」に入れます。
<img width="757" alt="03のコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/eb41fc36-c696-afdf-50ad-675b8dbc23ab.png">
追加した「OVRCameraRig」を選択し、「Inspector」にある、
「Hand Tracking Support」を「Hands Only」に変更すれば。
準備完了です。
<img width="438" alt="04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/35573ad9-4d56-cf7d-cd0f-44294f5a9d7a.png">
## 手を表示するためには

先程追加した「OVRCameraRig」>「TrackingSpace」下階層の
「LeftHandAnchor」と「RightHandAnchor」中に「OVRHandPrefab」を追加する必要があります。

「OVRHandPrefab」は「Oculus Integration」の中にあります。
<img width="500" alt="05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/0dd7bf1e-b38f-e187-d2d2-e10b5ff25dae.png">
ドラッグして追加する。
<img width="214" alt="06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/8f93c9d2-c042-43b6-1297-f1146ffbab21.png">
「RightHandAnchor」の中にある「OVRHandPrefab」を選択し、
「OVR Skeleton」→「Skeleton Type」を「Hand Right」設定します。

「OVR Mesh」→「Mesh Type」も同じく「Hand Right」に設定します。
（初期値は「Hand Left」なので、左手は設定する必要がないです。）
<img width="593" alt="スクリーンショット 2020-01-24 20.26.35.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/2195d3fd-bf04-53fb-d858-898c185ee896.png">
## 補充説明
手のスケルトンを表示したい場合
「OVR Skeleton Renderer」にチェックを入れればOKです。
（今回は分かりやすいように、右手にチェックを入れます。Materialsの削除も忘れに）<img width="599" alt="スクリーンショット 2020-01-24 20.28.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/9e497bf2-5041-111f-75f4-6eada329eed4.png">
手カスタマイズしたい場合は「Skinned Mesh Renderer」で調整可能です。
左手を調整しました。
<img width="599" alt="スクリーンショット 2020-01-24 20.29.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/303dc94d-c458-c6a3-5ee1-8614e03bd9fc.png">
最後に
「OVR Skeleton」中の「Enable Physics Capsules」にチェックを入れると、手に当たり判定が追加出来ます。
今回は右手に追加します。
<img width="593" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3534313338302f32313935643366642d626630342d353366622d643835382d3839386331383565653839362e706e67.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/faf52ab9-6f6b-f209-ea54-bba8adafe37f.png">


## 動作確認
最後はビルドして、動作確認します。
![com.oculus.vrshell-20200124-204654_1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/541380/3a470230-0bca-b2a4-bcc9-053b453896be.gif)