#LeapMotion標準の手
よく見かけるこの手を替えたい。
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
インポートします。
##インポート結果
Projectタブのフォルダはこんな感じになります。
#動作テスト
Assets\LeapMotion\Scenes
のシーンから適当なものを開いて実行してみましょう。
Leap_Hands_Demo_VR
を開いて見ました。
実行する前に、Edit > ProjectSettings > Player
で開く PlayerSettings
インスペクタのVirtual Reality Supported
を有効にしておきます。
Sceneを実行すると標準のCapsuleHandが表示されました。
右手はAlt+PrtScを押しています。
動作確認が完了しました。
このまま変更しても良いのですが、最初から加える方法を試します。
#新しいSceneでLeapMotionを設定する
##下準備
Assets\LeapMotion\Prefabs
の LMHeadMountedRig
をHierarchyにD&Dします。
この中にCameraは含まれているので、最初から入っているMain Camera
は削除します。
次にLMHeadMountedRig > PhysicsModels
をHandModels
にリネームし、
ここにAssets\LeapMotion\Prefabs\HandModelsPhysical
から「物理の手」となるRigidRoundHand_L
, RigidRoundHand_R
を追加します。
##手モデルの追加
続いて「見た目の手」も追加します。ここで好きなモデルを追加できます。
Assets\LeapMotionModules\Hands\Prefabs\HandModelsHuman
から
リアルな手首モデルとなるPepperBaseCutLeftHand
を選んでみました。
Gameビューにこんな手が表示されますがまだもう一手間必要です。
##手モデルの関連付け
LMHeadMountedRig > CenterEyeAnchor > LeapSpace > LeapHandController
のHand Pool
にHierarchyに入れた手の情報を関連付けします。
項目 | 設定 |
---|---|
Models Parent |
HandModels をD&D |
ModelPool |
Size を2 |
GroupName |
Graphics_HandsとPhysics_Hands |
各LR Model | 見た目のモデルと物理モデルをセット |
Is Enabled |
チェックする |
Can Duplicate |
チェックする |
これで実行してみましょう。
##完了
デフォルトとは異なる手を出すことができました。
左手はAlt+PrtScを押しています。
#質感を替える
Materialを設定すると見た目を替えられます。
手のプレハブを他にあったPolyHand
にしてみたところ、そのままでは適用出来ず、
Poly Hand
コンポーネントにあるHandedness
のプルダウンをLeft/Rightに変更してからHand Pool
に設定すると適用できました。
#キューブを転がして遊ぶ
適当にPlaneで場を作り、CubeなどにRigidbodyを追加すればそれだけで遊び場ができあがります。
手があるとVR空間の楽しさが倍増しますね。
#さらに面白そうなもの
アセットをダウンロードしてきたページに
- UI Input Module v1.1.0
というのがありました…MinimalPanel - Keyboardだと!?