LoginSignup
1
0

More than 1 year has passed since last update.

Oculus Interaction SDKを使ってみました ~ Grab・Poke改善編 ~

Posted at

前回「Oculus Interaction SDKを使ってみました ~ Poke編 ~」、前々回「 Oculus Interaction SDKを使ってみました」で、Oculus Interaction SDKを利用して「ものを掴む」「ものをつつく」の基本的な動作を実現しました。

しかしながら、このままだといくつか不都合な点があります。
Oculus Interaction SDKのHandGrabPoseコンポーネントでは、指の可動範囲を制限して、ものを握った見た目を維持することができるのですが、このままの設定だと以下のように指が握っているものを貫通します。
Grab_before.PNG

また、Poke機能でものをつついた時に以下のように指が貫通してしまいます。
Poke_before.PNG

これをうまく解決してくれるのが LeftHandSynthetic と RightHandSynthetic です。
今回は、この導入方法についてまとめます。

前回の設定が行われている前提の手順となります。
これらの設定は、OculusIntegrationのサンプルシーン(Oculus > Interaction > Samples > Scenes > Example)を参考にさせて頂きました

LeftHandSynthetic と RightHandSynthetic の導入

  1. OVRHands の下にLeftHandSyntheticとRightHandSyntheticを配置します
    Common1.png
  2. OVRHandsのLeftHandSyntheticとRightHandSyntheticにそれぞれ、LeftHand、RightHandを設定します
    Common2.png
  3. OVRHandsのLeftHand、RightHand配下にあるLeftHandVisual、RightHandVisualをそれぞれ無効化します
    Common3.png

掴む(Grab)設定編

  1. OVRHandsのLeftHand、RightHandの配下にあるHandGrabInteractorのさらに配下、HandGrabVisualを有効化して、それぞれLeftHandSyntheticとRightHandSyntheticを設定します
    Grab1.png
  2. これで、HandGrabPoseコンポーネントの制限が効くようになります(握りしめていますが、HandGrabPoseで指定した制限により、握った形が維持されています)
    1. Fingers Freedom の「Locked」は指定した形で動かない設定です
    2. Fingers Freedom の「Constrained」は指定した形以上に指がめりこまない設定です
      Grab2.png

つつく(Poke)設定編

  1. OVRHandsのLeftHand、RightHandの配下にあるHandPokeInteractorのさらに配下、HandPokeLimiterを有効化して、それぞれLeftHandSyntheticとRightHandSyntheticを設定します
    Pork1.png
  2. これで、つついた時に指が貫通しなくなります
    Pork2.png

Oculus Interaction SDKは、まだまだいろいろできそうなので、検証していきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0