本日はMetaQuestの学習枠です。
MetaHorizonの開発ドキュメントを読みながら実際に開発を行ってみました。
MetaHorizonの開発ドキュメント
MetaHorizonの開発ドキュメントを実際に手を動かしながら実行時のキャプチャをしていきます。
developers.meta.com
本記事は以下の「サンプルシーン」の記事を試します。
developers.meta.com
サンプルシーン
サンプルシーンには特定のInteraction SDK機能のバリエーションが示されています。また複数のサンプルシーンを切り替えるためのシーンメニューもあります。
サンプルシーンは全てMeta XR Interaction SDKのサンプルとして提供されています。

インポートした後、Unityの[Project]ウィンドウの[Assets -> Samples -> Meta XR Interaction SDK -> VERSION -> Example Scenes]から利用できます。

ComprehensiveRigExample
ComprehensiveRigExampleシーンは1つのシーンの中でたくさんのインタラクションが適切に動作する様子を示すデモシーンです。
このシーンにはインタラクションとしてポーク、レイ、グラブ、ハンドグラブ、ハンドグラブの使用、グラブとレイ、遠隔グラブ、スローが含まれており、それら全てを手とコントローラーで操作します。

HandGrabExamples
HandGrabExamplesシーンはHandGrabInteractorのデモシーンです。

TransformerExamples
TransformerExamplesシーンはGrabInteractor (コントローラーの場合)とHandGrabInteractable (手の場合)のデモシーンです。
Grabbablesによるオブジェクトの物理計算、トランスフォーマー、制約の機能が追加されています。

RayExamples
RayExamplesシーンはCanvasCylinderコンポーネントを使って、RayInteractorが曲面のUnityキャンバスに対してアクションを実行する方法を示します。

PokeExamples
PokeExampleシーンはタッチ制限のあるさまざまなサーフェス上のPokeInteractorのデモシーンです。

PoseExamples
PoseExamplesシーンはポーズ認識の視覚シグナルを使った6種類のハンドポーズのデモシーンです。

GestureExamples
GestureExamplesシーンはSequenceコンポーネントをアクティブ状態ロジックと組み合わせて使うことにより、シンプルなスワイプジェスチャーを生み出す方法を示すデモシーンです。

DistanceGrabExamples
DistanceGrabExamplesシーンは遠くのオブジェクトにシグナルを送り、引き寄せたりつかんだりする方法を示すデモシーンです。

TouchGrabExamples
TouchGrabExamplesシーンはプロシージャルポーズによるグラブインタラクションを示すデモシーンです。

LocomotionExamples
LocomotionExamplesシーンはテレポートしたりその場で向きを変えたりして空間を動き回る方法を示すデモシーンです。

BodyPoseDetectionExamples
BodyPoseDetectionExamplesシーンはボディスケルトンのポーズ認識のデモシーンです。

SnapExamples
SnapExampleシーンは手やボード上のスロットなど、あらかじめ定義された場所にオブジェクトをスナップさせる方法を示すデモシーンです。

ConcurrentHandsControllersExamples
ConcurrentHandsControllersExamplesシーンはコントローラーと手を同時に使用して、コントローラーを持っている場合でも手でポークを行う機能を維持する方法を示すデモシーンです。
新しいOVRControllerInHandActiveStateを使用すると、手がコントローラーを持っているかどうかを検出できるため、データソースや個々のインタラクターを切り替えることが可能になります。

スライダーとレバーのサンプル
スライダーとレバーのサンプルはハンドルをつかんだり、スライドさせたり、回転させたりすることによってやり取りできるアイテムを作成する様々なタイプと方法を示します。
サンプルはGitHubのUnity Interaction SDk Samplesプロジェクトにあります。
github.com
