ヘッドマウントディスプレイ拡張パッケージテンプレートの紹介
com.easyar.sense.ext.hmdtemplate パッケージは、ヘッドマウントディスプレイ拡張開発のためのサンプルとテンプレートを提供します。これは SDK の実装であり、アプリ開発者向けのサンプルを含んでいます。
テンプレートの内容
このパッケージの構造は Unity 推奨のファイルレイアウト に従っています:
.
├── CHANGELOG.md
├── Documentation~
├── Editor
├── LICENSE.md
├── package.json
├── Runtime
└── Samples~
└── Combination_BasedOn_HMD
主な内容は以下の通りです:
- Runtime:ランタイムプラットフォームアセットを格納するフォルダ。テンプレートで最も重要なフォルダです。
- Samples~:パッケージ内のすべてのサンプルを格納するフォルダ。下流で使用するサンプルを含み、拡張機能をテストするデモとして使用できます。このサンプルをその場で開発するには、フォルダ名を
Samplesに変更する必要があります。Client.Pack メソッドを使用すると、新しいリリースをパッケージ化する際に自動的にSamples~に名前が変更されます。 - Editor:編集時プラットフォームアセットを格納するフォルダ。このフォルダのスクリプトは主にメニュー項目の作成に使用されます。
- package.json:パッケージのマニフェストファイル。
テンプレートサンプルの作成手順
-
Hierarchyビューで:- 空白 を右クリックし、メニュー
EasyAR Sense>Mega>AR Session (Mega Block Default Preset)から ARSession を追加します。 - AR Session (EasyAR) を選択して右クリックし、メニュー
EasyAR Sense>Image Tracking>Frame Filter : Image Trackerから ImageTrackerFrameFilter をセッションに追加します。 - AR Session (EasyAR) を選択して右クリックし、メニュー
EasyAR Sense>SpatialMap>Frame Filter : Dense SpatialMap Builderから DenseSpatialMapBuilderFrameFilter をセッションに追加します。 - AR Session (EasyAR) を選択して右クリックし、メニュー
EasyAR Sense>SpatialMap>Frame Filter : Sparse SpatialMap Builderから SparseSpatialMapBuilderFrameFilter をセッションに追加します。 - AR Session (EasyAR) を選択して右クリックし、メニュー
EasyAR Sense>Extensions>Frame Source : HMD Template (keep it only)から HMD Template の FrameSource を追加し、これのみを保持します。

- 空白 を右クリックし、メニュー
-
Hierarchyビューで、空白 を右クリックし、メニューEasyAR Sense>Image Tracking>Target : Image Targetから ImageTargetController をセッションに追加します。
上記の設定後、
Sceneビューに表示される画像は gizmo です。このサンプルでは、同じ画像を表示するために quad を使用しています。ターゲット上に表示する仮想オブジェクトの追加:

モーショントラッキングの原点参照としてモデルを追加
このモデルは、デバイスのモーショントラッキングと EasyAR アルゴリズムを分離するために、開発者および下流ユーザーにとって重要です。

機能選択用 UI の追加

起動時に有効化される EasyAR 機能を無効にし、UI スイッチで有効化
例えば、イメージトラッキング機能は起動時に無効にできます。対応するコンポーネントの enable を false に設定するだけです:

次に UI スイッチ処理を追加します:

関連トピック
- ヘッドマウントディスプレイで EasyAR をサポート では、このテンプレートを使用して新しいヘッドマウントディスプレイ拡張パッケージを作成する方法を説明します
- 動作検証(bring-up) では、このテンプレートが提供するサンプルを利用して入力拡張の正しさを検証する方法を説明します
- 拡張パッケージの公開 では、このテンプレートに基づいて最終的なパッケージングと配布を完了する方法を説明します