本日はMetaQuestの学習枠です。
MetaHorizonの開発ドキュメントを読みながら実際に開発を行ってみました。
MetaHorizonの開発ドキュメント
MetaHorizonの開発ドキュメントを実際に手を動かしながら実行時のキャプチャをしていきます。
developers.meta.com
本記事は以下の「インタラクションSDKの概要」の記事を試します。
developers.meta.com
インタラクションSDKとは
MetaのUnity用XRインタラクションSDKを使ってVRユーザーによるバーチャル環境での没入感の高いインタラクションを簡単に構築できます。
インタラクションSDKにより、コントローラーや手を使ってオブジェクトをつかむ操作やスケーリング、ボタンのプッシュ操作、テレポート、ユーザーインターフェイスのナビゲートなどが行えます。
インタラクションSDKの仕組み
インタラクションSDKには、没入感あふれるXR体験を実現するための様々な機能があります。
- オブジェクトを近くから掴んだり、遠くから掴んだり、コライダーを動的に掴んだりする
- レイキャストを使用してボタンを押す。
- ポークを使用してボタンを押したり曲面UIや平面UIをスクロールする。
- 環境内のスポットまたは表面にテレポートしてその場で回転して向きを変える。
- 手でオブジェクトを掴む方法をカスタマイズする。
- 掴んでオブジェクトを操作する。オブジェクトのスケーリングや移動が行えます。
- オブジェクトをある場所にスナップする(アイテムをゲーム内のインベントリにスナップするなど)。
- カスタムジェスチャーの作成と検出(親指を立てるなどの静止したジェスチャーや、手を振るなどの動くジェスチャーなど)。
- カスタムハンドモデルのサポート。
- カスタマイズ可能なユーザーインターフェイス(UI)のprefab。
インタラクションSDKを設定する方法
次のいずれかのアプリをダウンロードすると、設定を行うことなくインタラクションSDKのインタラクションを試すことができます。
Interaction SDK Samples
インタラクションSDKの機能に関する公式リファレンスです。
www.meta.com

First Hand
Metaが作成したジェスチャーコントロールの公式デモです。
www.meta.com

Move Fast
高速のフィットネスタイプのアプリで使用されているインタラクションSDKの短いショーケースです。
www.meta.com

パッケージ
Interaction SDK Essentials
Interaction SDK Essentialsは必要なシェーダー、マテリアル、prefabのほか提供されているすべてのインタラクションモデルのコア実装を提供します。
依存関係が利用可能な場合は任意でUnity XRと統合できます。プロジェクトにおいてクロスプラットフォーム開発が重要な場合はUnityのXR Handsとペアリングされたこのパッケージを使用してください。

Interaction SDK Essentialsは標準のUnity UPMレイアウトに従っており、それぞれ独自のアセンブリ定義(.asmdef)を持つ2つのルートフォルダーが含まれています。
エディター(Oculus.Interaction.Editor): インタラクションSDK Essentialsのすべてのエディターコードが含まれています。
ランタイム(Oculus.Interaction): インタラクションSDK Essentialsのコアランタイムコンポーネントが含まれています。

またパッケージマネージャからインポートできるUnity XRサンプルも含まれています。

Interaction SDK
このパッケージによりInteraction SDKはコアSDK"OVRPlugin"とやり取りできるようになります。
Metaデバイスで利用可能な機能をフル活用したい場合はこのパッケージを使用してください。

Interaction SDKは標準のUnity UPMレイアウトに従っており、それぞれ独自のアセンブリ定義(.asmdef)を持つ2つのルートフォルダーが含まれています。
エディター(Oculus.Interaction.OVR.Editor): インタラクションSDKのすべてのエディターコードが含まれています。
ランタイム(Oculus.Interaction.OVR): インタラクションSDKのコアなランタイムコンポーネントが含まれています。

またパッケージマネージャからインポートできるサンプルも含まれています。


