LoginSignup
9
10

More than 3 years have passed since last update.

Oculus QuestハンドトラッキングのUnity導入の備忘録

Last updated at Posted at 2019-12-27

*2019/12/29 追記

はじめに

最近のOculus Questのアップデートによりハンドトラッキングが可能になりましたが,個人的にUnityで実装する際に引っかかった点を備忘録としてまとめました.
Oculus側でのアップデートは済んでいる前提で以下記載します.

Oculus Integrationのアップデートの問題点

環境

今回使用したUnityのバージョンは2018.4.0f1です.

AssetStoreでのアップデート

今回,既存のプロジェクトにOculus Integrationのアップデートを行おうとしましたが
まず最初に引っかかったのはAsset Storeから最新バージョンをアップデートできない点でした.

通常,最新バージョンをアップデートするときには,[import]のボタンが[update]との表示に変化しているはずですが,最新の(2019年12月29日時点)Oculus Integration(ver1.20)のダウンロード画面に行くとimportの状態のままです.

ここで,こちらの
無題.png
旧版のAssetStoreにアクセスし,Oculus Integrationを検索すると無事Updateの画面になります.

これでプロジェクトに最新のOculus Integrationを統合できるようになりました.

NameSpaceの競合によるエラー

これは,以前のOculus Integrationのバージョンによるのかもしれませんが,統合した後に複数のNameSpaceの競合エラーが発生しました.
同名のスクリプトのパスが変更されていたようです.
筆者の場合,Oculus/SampleFramework/Core/Video
の中にある同名スクリプト群を削除することで,Buildに成功しました.

Unityでのハンドトラッキング実装の方法

1.Oculus/VR/scens/HandTestのシーンを既存プロジェクトへコピー
無題5.png

2.HandTest内のOVRCameraRigをコピー
3.OVRCameraRigのインスペクタを表示し,OVRManagerのInputをHandOnlyに
無題3.png

これで,VR空間での手による入力が可能になります.
手のマテリアルを変更する場合はOVRCameraRigの子オブジェクトである
LeftHandAnchor,RightHandAnchor直下にあるOVRHandPrefabのMaterialを変更します.
無題4.png

*追記箇所
また,以下をシーンに持ってくることで,応用先が広がります..
・Oculus/SampleFramework/Core/HandsInteraction/Prefabs/InteractableToolsSDKDriver
   →人差し指からのrayや人差し指の指先位置が表示される

・Oculus/SampleFramework/Core/HandsInteraction/Prefabs/Hands
   →InteractableToolsSDKDriverを使用する場合に必要な手を生成

Handsを使用する場合は先述したOVRHandPrefabを使用する必要はなくなります.
ただし,Handsの座標が(x,y,z)=(0,0,0)でないと,Handsはうまく動きません
カメラ位置を初期位置から変更している場合は注意してください.

以下,colliderの生成方法など今後実装していき次第,追記していきます.
(それらに関してはこちらのサイトを参考にさせていただく予定です)

9
10
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
9
10