夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

UnityXRHandsでPCVRでハンドトラッキングを使う

本日はUnity調査枠です。

Questをはじめ近年のスタンドアローンxRデバイスでは標準でユーザーの手を認識して操作することができるハンドトラッキングによるインプットがサポートされています。

しかしQuestをPCに接続してPCVRとして使用する場合などではハンドトラッキングがサポートされていません。

今回はXRHandsを使用してPCVRでハンドトラッキングを行っていきます。

〇XRHandsとは?

XRHandsはUnity Technologesが開発、提供するUnityのパッケージです。

docs.unity3d.com

ハンドトラッキングをサポートするデバイスからハンドトラッキングデータにアクセスできるようにするためのAPIを定義します。

このパッケージを使用することでPCVRでもハンドトラッキングを使用することができます。

〇XRHandsの使い方

①導入したいPCVR向けのプロジェクトでPackageManagerを開きます。

②上部[+]アイコンを選択しAdd Package form git urlを選択します。

③以下のパッケージ名を入力しAddを選択します。

com.unity.xr.hands

以上でパッケージの導入が完了します。

また必要に応じてサンプルを導入します。

〇ハンドトラッキングの使い方

ハンドトラッキングはHand VisualizerコンポーネントをCameraオブジェクトと同階層にアタッチすることで使用可能になります。

OpenXRの場合CameraOffsetオブジェクトの子オブジェクトとしてHandVisualizerコンポーネントが適応されたオブジェクトを配置します。

HandVisualizerコンポーネントはMeshおよび適応するマテリアルを設定可能です。

最後にハンドトラッキングを使用するためには最低一つ以上のプロバイダーがXR Plug-in Managementで使用されている必要があります。

HandTrackingが使用可能なデバイスを接続しexeとしてアプリケーションを書き出すことでハンドトラッキングがPCVRでも使用可能になります。

本日は以上です。