LeapMotionの手を標準のものから変更する方法

#LeapMotion標準の手
![LeapMotion_07-CapsuleHands.png](https://qiita-image-store.s3.amazonaws.com/0/71326/4b53a1f2-6311-b55a-25ca-bef910145891.png)
よく見かけるこの手を替えたい。
VR前提で書きますが、デスクトップでLeapMotionやるときも使えるかと思います。

#環境
- Unityのバージョンは5.4.2f1
- LeapMotion Orion 3.1.3+41910, Firmware Revision:1.7.0

#Assetsの準備
Unity | Leap Motion Developers
https://developer.leapmotion.com/unity?id=unity5-core-assets&platform=windows&version=4.0.2#archived
から落としてくるのはこの二つ。

- Unity Core Assets v4.1.4
- Hands Module v2.0.0

![LeapMotion_01-unityfiles.png](https://qiita-image-store.s3.amazonaws.com/0/71326/7a2409be-7b1a-f739-f115-234cca0d35f7.png)

インポートします。

![Unity Core Assets v4.1.4 LeapMotion_02-unityfiles-import.png](https://qiita-image-store.s3.amazonaws.com/0/71326/f05266e1-e0a7-2533-f8ae-8ad4bba581db.png)

![Hands Module v2.0.0 LeapMotion_04-unityfiles-import2.png](https://qiita-image-store.s3.amazonaws.com/0/71326/53bcff2a-45ec-466b-fa37-fa0d10848ff3.png)

##インポート結果
Projectタブのフォルダはこんな感じになります。
![LeapMotion_03-unityfiles-imported.png](https://qiita-image-store.s3.amazonaws.com/0/71326/cd02f02f-ed93-cab8-bef6-80683d173ede.png)


#動作テスト

　```Assets\LeapMotion\Scenes``` のシーンから適当なものを開いて実行してみましょう。
```Leap_Hands_Demo_VR``` を開いて見ました。

![LeapMotion_05-scenes-open.png](https://qiita-image-store.s3.amazonaws.com/0/71326/4c0d47b4-d9b7-9d36-ddf8-1b512f3b6551.png)

　実行する前に、```Edit > ProjectSettings > Player``` で開く ```PlayerSettings``` インスペクタの```Virtual Reality Supported``` を有効にしておきます。

![LeapMotion_06-player-vr.png](https://qiita-image-store.s3.amazonaws.com/0/71326/8358a2fe-b079-2b22-a832-8f858816739b.png)

Sceneを実行すると標準のCapsuleHandが表示されました。
右手はAlt+PrtScを押しています。

![LeapMotion_07-CapsuleHands.png](https://qiita-image-store.s3.amazonaws.com/0/71326/4b53a1f2-6311-b55a-25ca-bef910145891.png)

動作確認が完了しました。
このまま変更しても良いのですが、最初から加える方法を試します。

#新しいSceneでLeapMotionを設定する
##下準備

　```Assets\LeapMotion\Prefabs``` の ```LMHeadMountedRig``` をHierarchyにD&Dします。
この中にCameraは含まれているので、最初から入っている```Main Camera```は削除します。

![LeapMotion_08-new-LMHeadMountedRig.png](https://qiita-image-store.s3.amazonaws.com/0/71326/7196c14a-2732-3d71-161d-ef37c8e2619f.png)

　次に```LMHeadMountedRig > PhysicsModels``` を```HandModels``` にリネームし、
ここに```Assets\LeapMotion\Prefabs\HandModelsPhysical``` から「物理の手」となる```RigidRoundHand_L```, ```RigidRoundHand_R``` を追加します。
![LeapMotion_09-new-RigidRoundHands.png](https://qiita-image-store.s3.amazonaws.com/0/71326/1c4d36e4-c875-ab48-e013-63c2d65e3044.png)

##手モデルの追加
続いて「見た目の手」も追加します。ここで好きなモデルを追加できます。
```Assets\LeapMotionModules\Hands\Prefabs\HandModelsHuman``` から
リアルな手首モデルとなる```PepperBaseCutLeftHand``` を選んでみました。

![LeapMotion_10-new-PepperBaseCutLeftHands.png](https://qiita-image-store.s3.amazonaws.com/0/71326/5fa6f605-7c7f-0f21-3018-6c7ae4543016.png)


![LeapMotion_12-new-PepperBaseCutHandView.png](https://qiita-image-store.s3.amazonaws.com/0/71326/e3b399ae-e558-4ddb-ea53-a38842372b3f.png)
Gameビューにこんな手が表示されますがまだもう一手間必要です。


##手モデルの関連付け
　```LMHeadMountedRig > CenterEyeAnchor > LeapSpace > LeapHandController``` の```Hand Pool``` にHierarchyに入れた手の情報を関連付けします。

![LeapMotion_13-new-HandPoolCustom.png](https://qiita-image-store.s3.amazonaws.com/0/71326/6dc97ed1-2ab0-b8ca-1e0d-0b54d5e858cf.png)

| 項目 | 設定 |
|:-:|:-:|
|  ```Models Parent``` |  ```HandModels``` をD&D  |
| ```ModelPool```  | ```Size```を2  |
|  ```GroupName``` |  Graphics_HandsとPhysics_Hands |
| 各LR Model  |  見た目のモデルと物理モデルをセット |
|  ```Is Enabled``` |  チェックする |
| ```Can Duplicate``` |  チェックする |

これで実行してみましょう。

##完了
![LeapMotion_14-new-CustomHandSuccess.png](https://qiita-image-store.s3.amazonaws.com/0/71326/c13c0f88-5a4a-488b-c0bd-8c86c0d08705.png)
デフォルトとは異なる手を出すことができました。
左手はAlt+PrtScを押しています。

#質感を替える
　Materialを設定すると見た目を替えられます。
![LeapMotion_15-new-CustomHandSuccess.png](https://qiita-image-store.s3.amazonaws.com/0/71326/89b82af7-ff2d-707c-1d85-4dda38e1344a.png)

手のプレハブを他にあった```PolyHand```にしてみたところ、そのままでは適用出来ず、
```Poly Hand```コンポーネントにある```Handedness```のプルダウンをLeft/Rightに変更してから```Hand Pool```に設定すると適用できました。

#キューブを転がして遊ぶ
適当にPlaneで場を作り、CubeなどにRigidbodyを追加すればそれだけで遊び場ができあがります。
手があるとVR空間の楽しさが倍増しますね。
![LeapMotion_16-PlayGround.png](https://qiita-image-store.s3.amazonaws.com/0/71326/3ee99d49-ec47-d8d2-4fd0-cc482fba623c.png)

#さらに面白そうなもの
アセットをダウンロードしてきたページに

- UI Input Module v1.1.0

というのがありました…MinimalPanel - Keyboardだと！？