夜風のMixedReality

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

MetaQuestで手に追従するオブジェクトを実装する

本日はQuest枠です。

Questでは近年OculusIntegrationから派生したMeta XR SDKが最新のSDKとして使用されます。

これにはクリック一つで簡単に環境を構築できる機能など様々な開発を便利に加速する機能が提供されています。

〇環境

Windows 11PC

・Unity

・Meta XR All in One SDK 66.0

〇手の取得

HandTrackingを使用するにはBuildingBlockからHandTrackingを選択するだけです。

これによってシーン内のCameraRig内にHandTrackingオブジェクトが作成されます。

これだけでHandTrackingの実装はできますが今回はHandTrackingで取得した際の指や関節の座標を取得します。

いくつか方法はありますが、1つはOculusHandオブジェクト内のボーンのオブジェクトのトランスフォームを取得することです。

これはGameObject.Find("b_l_index3")などのように取得できます。

もう一つの手段としてはHandJointコンポーネントを使用することです。

HandJointコンポーネントは外部のからのオブジェクトなどにアタッチし、HandにHandTrackingのオブジェクト(右手or左手)、HandJointIDに追跡したい部位を設定することでそのオブジェクトが、Offsetのバイアスで追従するというコンポーネントになります。

HandJointコンポーネントを持つオブジェクトの子オブジェクトに武器などのアイテムを持たせることで常に手に追従するようなアイテムが作成できます。

本日は以上です。