Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9312

ついにでたOculusQuestハンドトラッキング×VRMでアバター空間満喫してみた

$
0
0

はじめに

楽しみに待っていたOculusQuest ハンドトラッキング対応版 OculusIntegrationが公開されたので、
早速どんなのか試してみました。
とにかく早くQuest触りたいという欲求に忠実に品質度外視・検証速度重視/QCDのD偏重した記録をまとめたものになります。
それゆえに内容は今後修正・加筆されることがあります。

検証環境

  • Unity 2018.4.14f1
  • macOS Catalina Version 10.15
  • Oculus Quest Version12
  • Oculus Integration Version12.0
  • FinalIK Version19.0

組込手順(概要)

  • OculusDeveloper公式のハンドトラッキングのページにそって組み込みする https://developer.oculus.com/documentation/quest/latest/concepts/unity-handtracking/ (Google翻訳使うとだいたい読める日本語になるので手順に沿って進める)
  • OVRCameraRigのCenterEyeAnchor,LeftHandAnchor,RightHandAnchorをFinalIKのSpine/HeadTarget,Spine/Pelvis,LeftArm/Target,RightArm/Targetにそれぞれ設定
  • OVRLipSyncをVRMのVRM Blend Shape ProxyのAIUEOに接続
  • 不定期に瞬きするスクリプトをVRM Blend Shape ProxyのBLINKに接続
  • OVRHandの指状態を手に反映
    • ここだけズルした。VRMの手boneのスケールを0にして非表示にしつつ、OVRHandの手をそのまま使用。

作例

VRMモデル動かしてみた。


  • OVRHand Behaviourから取得できる各種値をそのままデバッグ表示してみた
    • 各指の閉じ具合、各指のピンチon/off、精度High/Lowが取得できる。
    • 指boneのtransformも使えるので個別の関節状態はそちら参照することなるかと。

  • おまけ: ハンドトラッキングしつつ自前計算Particleやってみたもの, 5000triangles
    • 全指個別で粒子触れるようにしたかったのだけれど、全く速度意識しないと重くて使い物にならなかったので省略。

所感

  • ハンドトラッキングの認識精度わりとよい
  • とはいえ手・指を入力装置として使う場合のUIUXの考えかた自体が未成熟なのでそこを今後詰めていく。
    • ユーザーの意図的操作か・無意識動作かをうまく切り分ける仕組みは必要。
  • 検知できる指の特性
    • 手の認識される範囲が結構広くて、下ろしたつもりの手指でピンチ操作した扱いになることがある。
      • 手の高さと組み合わせて、意図的に手を上げての操作のみ対象にしたほうがよいのかも。
    • 右手指で2進数作ると2,6あたりの認識が苦手っぽい。(普通にやる姿勢ではないだろうから実用充分)
    • 人差し指中指・薬指小指でVの字作るのはできた。

謝辞


Viewing all articles
Browse latest Browse all 9312

Latest Images

Trending Articles