トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

Vroidアバターの指をQuestのハンドトラッキング経由で動かす

前回コントローラー入力経由での指動かしはやった。

bibinbaleo.hatenablog.com

 

移動操作とかあるアプリだからコントローラーはどうせ必須かなと思ったけど、Quest公式のデモでは移動もハンドジェスチャーでやってたし、AppleVisionProもコントローラーないし、せっかくだしハンドだけで、移動やUI入力移動までできるようにしてもいいかも

まずはキャラクターの指を動かす。

HandPoseTransferForOculusQuest

こちらを使わせていただく

github.com

エラー

MetaXRSDKv60では_LeftHandOVRSkelton.ShouldUpdateBonePosesがエラーになる

最新のOVRSkeltonにはShouldUpdateBonePosesというフラグがない。

とりあえずコメントアウトした。

動かす

サンプルシーンを見る限りOculusWristControllerとOculusHandPoseTransferを適当なオブジェクトにに貼って、手の位置やOculusのHandプレハブ、キャラのプレハブを付けるといい

MetaのOVRHandプレハブをRight(Left)ControllerAnchorの下に置いて、HandTypeの左右を設定する

Oculusの手を表示するならデフォルトの黒色は邪魔なのでマテリアルを変える。

OVRHandPrefabのSkinnedMeshRendereのマテリアルを変えたらいい

あとは同じようにセットアップしたらとりあえずは動いた。

修正

自分の目に見えるOculusの手と、鏡に映るOculusの手の向きが違う。ホラー映画みたいで面白い

これはOculusWristControllerを変えると変わる。全部0にしたら正しくなった。

 

あとこのアセットを使う前から、コントローラーを置いてハンドトラッキングモードにすると手の角度が変になる。

これはVRIKで参照しているGameObjectの角度を変えるといい感じになった。

左手

親指

でも右手の親指だけ、動きと逆向きに曲がる;;

と思ったけど、ブログ用のモデルだと起こらず正常だった。

同じVroidhub製なはずなんだけど微妙に作りが違うのかな?

と思ったが、もう一度やったらやっぱりこのモデルでも逆に曲がった。

👍の指をしている