MRが楽しい

MRやVRについて学習したことを書き残す

MetaHorizonの開発ドキュメントを読む その47(ハンドセットアップ3)

本日はMetaQuestの学習枠です。
MetaHorizonの開発ドキュメントを読みながら実際に開発を行ってみました。

MetaHorizonの開発ドキュメント

MetaHorizonの開発ドキュメントを実際に手を動かしながら実行時のキャプチャをしていきます。
developers.meta.com

本記事は以下の「ハンドセットアップ」の記事の後半を試します。
developers.meta.com

ハンドスケルトンのバージョンについて

バージョン71よりCore SDKは新しいタイプのハンドスケルトンである「OpenXR Hand Skeleton」をサポートしています。
このスケルトンはハンドスケルトンに関するOpenXR規格に準拠しており、従来の「OVR Hand Skeleton」とはボーン構成や配置が異なります。
OpenXRスケルトンは業界標準であるため、これに切り替えることでプラットフォーム間での互換性が向上します。

なお従来のOVR Hand Skeletonも引き続きサポートされています。
HierarchyタブでOVRCameraRigを選択し、InspectorタブのOVR Manager内にある[Hand Skeleton Version]を[OVR Hand Skeleton]に設定することで使用可能です。

手のスケルトンはOVRManagerの[Hand Skeleton Version]ドロップダウンから変更できます。
ハンドバージョンの違いはMeta Core SDKの関数内で自動的に処理されますが、特定のボーンやその配置を直接参照している場合ハンドスケルトンのバージョンによって挙動が変わる可能性があります。
OVRハンドスケルトンとOpenXRスケルトンの具体的な違いについては以下の通りです。

OpenXR Hand Skeleton OVR Hand Skeleton
前腕 含まれない 含まれる
手のひら 含まれる 含まれない
親指 中手骨、基節骨、末節骨、指先 大菱形骨、中手骨、基節骨、末節骨、指先
人差し指 中手骨、基節骨、中節骨、末節骨、指先 基節骨、中節骨、末節骨、指先
中指 中手骨、基節骨、中節骨、末節骨、指先 基節骨、中節骨、末節骨、指先
薬指 中手骨、基節骨、中節骨、末節骨、指先 基節骨、中節骨、末節骨、指先
小指 中手骨、基節骨、中節骨、末節骨、指先 中手骨、基節骨、中節骨、末節骨、指先
合計 26関節 24関節
OpenXR Hand Skeletonの配置

両手とも関節はZ軸が前方、Y軸が上方を向くように配置されます。

OVR Hand Skeletonの配置

右手はX軸が前方、Y軸が上方を向くように配置され、左手はそれを鏡像反転させた配置になります。