アカデミーブログ
Oculus Quest2でハンドトラッキングを実装する方法
2021/03/31
目次
◇はじめに
Oculus Quest2でハンドトラッキングを実装する方法をご紹介致します。
ハンドトラッキングとは、コントローラーを使わずに自分の手を使ってVR空間での操作が可能になる機能です。
|開発環境
Unity:2020.2.1f1
XR Plugin Management:3.2.17
Oculus XR Plugin:1.6.1
Oculus Integration:23.1.0
◇ハンドトラッキングの設定(公式)
データ使用の免責事項: ジェスチャーコントロールのサポートを有効にすると、アプリから特定のユーザーデータ(ユーザーの手の推定サイズや手のポーズデータなど)にアクセスできます。このデータは、アプリ内でジェスチャーコントロールを有効にするためにのみ使用でき、他の目的での使用は明示的に禁止されています。
ジェスチャーコントロール機能を使うと、Oculus Questデバイスの入力メソッドとして手を使用できます。手や指の関節の動きを完全にトラッキングすることで、新しいプレゼンス感覚がもたらされ、ソーシャルエンゲージメントが高まり、より自然なインタラクションが実現します。つまむ、放す、つまんだままにするなど、単純な手のジェスチャーにより、手でオブジェクトの操作を実行することができます。
ジェスチャーコントロール機能を使えば、手とコントローラーのどちらでも操作できます。手を使用する場合、標準のコントローラーカーソルのように動作するレーザーカーソルポインターを手のポーズで動かします。カーソルポインターを使用して、アプリレベルのイベントロジックのハイライト、選択、クリック、書き込みが行えます。
ジェスチャーコントロールはTouchコントローラーを補完するものであり、高い精度が求められるゲームやクリエイティブツールなど、あらゆるシナリオでコントローラーに置き換わるものではありません。手のサポートをオプトインする場合、アプリはOculusストアで承認されるよう、ジェスチャーコントロール特有の付加的な技術要件を満たす必要があります。アプリをOculusストアに提出するには、アプリはコントローラーとジェスチャーコントロールを一緒にサポートしなければなりません。アプリをOculusストアに提出するには、アプリはコントローラーとジェスチャーコントロールを一緒にサポートしなければなりません。
◇事前準備
以下の準備を整えておきます。
1.Oculus Quest2本体の「設定 > デバイス > ジェスチャーコントロールとコントローラー」 の「ジェスチャーコントロール」をオンにしてハンドトラッキングを有効にします。
※Oculusアプリから開発者モードに設定しておく必要があります。
※「手とコントローラーの自動切り替え」もオンにしておくと、手とコントローラーが自動で切り替わります。
2.Unityでプロジェクトを作成し、「File > Build Settings」でAndroidにSwitch Platformし、Player Settingsなどビルドに必要な環境を整えておきます。
3.XR Plug-in Managementを有効にします。
Androoidのマークを選択し、Oculusにチェックを入れます。
Oculus Linkを使用する場合はもStandaloneの方のOculusにもチェックを入れます(MacPCの場合はStandaloneのOculusがありません)
4.WebブラウザでUnityのAssetStoreにアクセスし、Oculus Integrationをダウンロードします。
AssetStoreでダウンロードしてMy Assetに追加すると、Unity エディターのPackage Managerからダウンロードが可能になります。
5.Unityエディタで「Window > Package Manager」のMy AssetsからOculus Integrationをインポートします。
PackagesをMyAssetにして探すと見つかります。
途中で「Update Oculus Utilities Plugin」ダイアログが出たら「Yes」をクリックします。
「Restart Unity」ダイアログが出たら「Restart」をクリックします。
「Update Spatializer Plugins」ダイアログが出たら「Upgrade」をクリックします。
再度「Restart Unity」ダイアログが出たら「Restart」をクリックします。
◇ハンドトラッキングの有効化方法
いずれかの方法で行います。
|4.1.OculusProjectConfigで有効化する方法
ProjectのAssets>Oculusにある「OculusProjectConfig」を選択し、Inspectorの「Hand Tracking Support」を、「Controllers Only」から「Controllers And Hands」または「Hands Only」に変更します。
※「Controllers And Hands」の場合は、Oculus Quest2本体の
「手とコントローラーの自動切り替え」をオンにしておく必要があります。
|4.2.OVRCameraRigのOVRManagerで有効化する方法
ProjectのAssets>Oculus>VR>Prefabsにある「OVRCameraRig」を選択し、Inspectorの「OVR Manager」コンポーネントにある「Hand Tracking Support」を、「Controllers Only」から「Controllers And Hands」または「Hands Only」に変更します。
※「Controllers And Hands」の場合は、Oculus Quest2本体の
「手とコントローラーの自動切り替え」をオンにしておく必要があります。
◇ハンドトラッキング用の手の配置手順
ProjectのAssets>Oculus>VR>Prefabsにある「OVRCameraRig」をHierarchyに配置します。
Hierarchyの「Main Camera」を削除します。
※OVRCameraRigにあるCenterEyeAnchorがMainCameraの代わりになります。
Hierarchyの「OVRCameraRig」を展開します。
ProjectのAssets>Oculus>VR>Prefabsにある「OVRHandPrefab」をHierarchyの「LeftHandAnchor」と「RightHandAnchor」の子になるように配置します。
「RightHandAnchor」に配置した「OVRHandPrefab」を選択し、Inspectorの以下3か所を「Hand Left」から「Hand Right」に変更します。
1.「OVR Hand」コンポーネントにある「Hand Type」
2.「OVR Skeleton」コンポーネントにある「Skeleton Type」
3.「OVR Mesh」コンポーネントにある「Hand Mesh」
◇おまけ
Sceneを保存し、ビルドしてOculus Quest2にapkファイルを送り、動作確認しましょう。
手を前方に向けた時に手が表示されていれば成功です。
※Oculus Linkを使うと、ビルドせずに動作確認ができ捗ります。(Windows限定)
詳しくは下記の記事を参照ください。
「Oculus Questで、PC用VRソフトを体験する方法!~Oculus Linkを触ってみよう!(Oculus Linkの設定編)」
■参考Webサイト
公式:Hand Tracking in Unity | Oculus Developers
事前準備系:Unity + Oculus Quest 2 開発メモ – フレームシンセシス (framesynthesis.jp)
◇最後に
ハンドトラッキングといっても、予め用意されているPrefabの設定と配置をするだけで簡単に動作するようになります。
ぜひご自分のプロジェクトに組み込んで、オリジナリティある作品にチャレンジしてみてはいかがでしょうか。
◇アカデミーからのお知らせ
VRプロフェッショナルアカデミーでは受講生を募集しています。
VR開発に興味があるUnity初心者の方はVRアドバンスコース・VRビギナーコースで一からUnityを学習し、VRアプリ開発まで学習できます!
Unityでの開発経験はあるけどVRについては開発したことが無い、けどVR開発してみたい!という方はVRエキスパートコースでより実践的なアプリ開発を学習できます。
また、VR以外にもARアプリ開発の学習ができるARビギナーコース・ARエキスパートコースをご用意しています。
現在注目されているVR・AR技術に興味があり開発を行ってみたい方は是非資料請求やオープンキャンパスにご参加いただければと思います。
お悩みの方はお気軽に個別相談会にお申し込みください。
担当スタッフが丁寧にVRやUnityについてのご説明からさせていただいております。
皆様のご参加を心よりお待ちしております。
New post
-
2021/03/31
Oculus Quest2でハンドトラッキングを実装する方法
-
2021/02/12
Oculus Questで、PC用VRソフトを体験する方法!~Oculus Linkを触ってよう!(基本操作編)
-
2021/02/04
UnityでOcclusion Cullingを使ってCGレンダリングの負荷を軽減する方法
-
2021/01/26
『VR空間のCGオブジェクトを軽くする方法 ~MeshBakerを利用したCGリダクション』
-
2021/01/23
Oculus Questで、PC用VRソフトを体験する方法!~Oculus Linkを触ってみよう!(Oculus Linkの設定編)
Category