前回環境構築と、サンプルシーンのビルドをしました。
今回は自分のシーンで手を動かしてみます。
ドキュメント・参考
公式ドキュメント
こちらも詳しい
手を表示する
OVRCameraRigを置いてControllerAndHandsなどにする
OVRHandPrefabをLeftHandAnchor、RightHandAnchorの下に置く
デフォルトがLeftの設定になっているのでRightはRightにする。
これで出た!
サンプルのプレハブ
サンプルシーンのプレハブを持ってきます。
To use prefabs in your own scenes, place the following prefabs into your scene:
https://developer.oculus.com/documentation/quest/latest/concepts/unity-sf-handtracking/
- Assets/Core/HandsInteraction/Prefabs/InteractableToolsSDKDriver
- Assets/Usage/HandsTrainExample/Prefabs/NearFieldButton
- Assets/Core/HandsInteraction/Prefabs/Hands
Hand
サンプルの中にあるHandsプレハブを置いたら、OVRHandPrefabを消しても手が表示される。
InteractableToolsSDKDriver
rayとか人差し指の〇が表示される
rayをuGUIを反応させるのはどうしたらいいんだろう
CanvasにOVRraycasterを付けただけでは反応しなかった。
NearFieldButton
ボタンはButtonControllerにuGUIと同じような感じでスクリプト付けたりしたら動きます。
下は押したら球が消えるというもの。
色や音も変えられます。
サンプルのプレハブボタンを押す。 pic.twitter.com/3bnnVtkdkz
— トマシープ (@tomasheep) 2019年12月23日
ちなみにNearFieldItemsは下ぐらいの位置に置いたらいい感じに動く。
スクリプトで指の状態を取る
こちらの記事を参考に、指と指がくっついたかどうかのboolとくっつき具合floatを表示しました。
指と指のくっつき取得 pic.twitter.com/AYpb3BiK5X
— トマシープ (@tomasheep) 2019年12月23日
こんな感じのスクリプト
OVRHandPrefabについているOVRHandを取得したらよさげ
最後に
次は何かをつかんだり、指先で何かを書いたりしたい
やりました。