たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

【ハンドトラッキング】指の動きを見てみる

Unity:2020.1.10f1
Oculus Integration:Version 20.1.0 - October 09, 2020

を使用しています。



前回で「手」が表示されるところまで出来たので、今度は指の状態を取得してみます。

takoyakiroom.hatenablog.com

指を動かしながら、VR上で状態を確認したできた方が楽なので、手の上に状態がTextMeshで表示されるようにしてみます。

「HandText.cs」を作って、左右の手にアタッチします。
f:id:takoyakiroom:20201030014718j:plain

▼「HandText.cs」はこれ

f:id:takoyakiroom:20201030014727g:plain

▼「OVRHand」で状態が取れる
「手」や「指」の状態は「OVRHand」から取得できます。

GetFingerIsPinching(OVRHand.HandFinger.Thumb) 親指と他の指がくっついた時に「true」
GetFingerIsPinching(OVRHand.HandFinger.Index) 人差し指と親指がくっついた時に「true」
GetFingerIsPinching(OVRHand.HandFinger.Middle) 中指と親指がくっついた時に「true」
GetFingerIsPinching(OVRHand.HandFinger.Ring) 薬指と親指がくっついた時に「true」
GetFingerIsPinching(OVRHand.HandFinger.Pinky) 小指と親指がくっついた時に「true」
GetFingerPinchStrength 指のくっつき具合
IsTracked 「手」がトラッキングされているか
HandConfidence ラッキングの信頼性
両手を合わせたり、組んだりした時等、指の状態が分かりにくい場合「Low」
IsPointerPoseValid 指と指をくっつけた、ポインターポーズになっているか
IsSystemGestureInProgress 上方向に手を上げた後、人差し指でピンチのポーズをしているか

尚、「ピンチ」は、親指と他の指の組み合わせじゃないとダメです。人差し指と薬指とかじゃピンチになりません。
まー、実際動かして試してみるのが一番わかり易いです。

今回は短いけど、ここまでーー!
次回はこれらを実際に使用してみましょう。