Table of Contents

XR ヘッドセットまたはメガネで EasyAR サンプルを使用する

EasyAR はすべてのヘッドセット向けに統一されたサンプルを提供しています。サンプルにはコードは含まれず、すべてシーン内の設定で実現されています。各機能そのものの使い方は、Android/iOS スマートフォン上の関連機能のサンプル実装を参照してください。

ヘッドセットサンプル名は Combination_BasedOn_* です。たとえば Pico のサンプルは Combination_BasedOn_Pico です。このサンプルは 1 つのシーンで EasyAR のほとんどの機能を示します。これらは動的にオン/オフでき、単独で使用することも、同時に有効にすることもできます。

準備

  • お使いのヘッドセットまたはメガネが現在 EasyAR のサポートリストに含まれていることを確認します。
  • EasyAR Unity パッケージをダウンロードしてインポートします。
  • EasyAR Unity XR デバイス拡張パッケージをダウンロードしてインポートします。
  • XR ヘッドセットまたはメガネに適した EasyAR ライセンスを取得します。ヘッドセットまたはメガネで使用できる License タイプは次のとおりです。
    • EasyAR Sense 4.x XR License 試用版(試用、EasyAR Web サイトで自分で有効化)
    • EasyAR Sense 4.x XR License 正式版(支払い後に使用、購入と有効化については営業にお問い合わせください)
    • EasyAR Sense 4.x XR License エンタープライズ版(エンタープライズ SDK 用)
注意

ヘッドセットとメガネでは、XR License のみ使用できます。通常の License では EasyAR 機能を使用できません。

公式サンプルをインポートする

  1. 組み込みでサポートされるデバイスのサンプルは EasyAR Unity パッケージ内にあります。デバイスに応じて必要なサンプルを個別にインポートします。 xr-samples-location

  2. 拡張によってサポートされるデバイスのサンプルは、対応するヘッドセット拡張と一緒に配布されます。Unity を使用してサンプルをプロジェクトにインポートできます。ここでは Pico を例にします。 xr-pico-extension

サンプルをパッケージ化して実行する

ヘッドセットのプロジェクト設定とサンプルの使用説明をそれぞれ完了します。

  • 対応するヘッドセットの公式ドキュメントと説明に厳密に従って必要な設定を行ってください。EasyAR ドキュメントではこの内容は扱いません。

  • EasyAR ドキュメントの各プラットフォームの説明に従って設定します。

    Android: Android プロジェクト設定を参照してください

    visionOS: visionOS プロジェクト設定を参照してください

    Meta XR/Quest は Android プラットフォーム設定に加えて、Meta XR/Quest プロジェクト設定が必要です

    XREAL は Android プラットフォーム設定に加えて、XREAL プロジェクト設定が必要です

  • サンプルのパッケージ化 Unity でサンプルをパッケージ化し、デバイスにデプロイして実行します。詳細は Unity でサンプルを実行するを参照してください。

使い方

サンプルには複数のボタンが組み込まれています。それぞれの機能は次のとおりです。 xr-sample-usage-7

  • ボタン 1 HUD: UI 表示モードを切り替えます。初期状態では UI は現実世界に固定されます。HUD を有効にすると、UI は常に目の前に表示されます。
  • ボタン 2 Record: EIF 録画をオン/オフします。オンにした後は、正常な EIF ファイルを記録するために必ずオフにする必要があります。そうしないと、記録されたファイルは使用できません。
  • ボタン 3 Image: image tracking をオン/オフします。
  • ボタン 4 Image Fusion: image tracking + motion fusion モードをオン/オフします。
  • ボタン 5 Dense: dense spatial mapping をオン/オフします。
  • ボタン 6 Sparse: sparse spatial mapping をオン/オフします。
  • ボタン 7 Mega: Mega をオン/オフします。

機能の詳細

  • デフォルトの機能スイッチ

    すべての機能は起動時にデフォルトでオフです。これはエディター上で対応するスクリプトを無効化することで実現されています。ボタン操作は対応するスクリプトの有効/無効を切り替えます。実際に実行するサンプルに応じて、デフォルトで有効にする機能を設定できます。

    hmd-default-disable

  • 座標系原点の参照

    サンプルでは、motion tracking の座標系原点に静止したパンダモデルを配置し、motion tracking の状態を確認します。このモデルは問題の切り分けに役立ちます。たとえば Mega の実行中に発生する一部の急速なドリフトは、デバイスの motion tracking(つまりデバイス自身の欠陥)が原因です。この場合、このモデルも一緒にドリフトします。必要に応じて、このパンダモデルを調整または削除できます。

  • 埋め込み image tracking の認識画像を使用する

    • サンプルでは planar image tracking に使用する画像サイズが事前設定されています。namecard.jpg を A4 用紙に印刷してください。画像の比率を保ち、引き伸ばしたり切り取ったりせず、できるだけ用紙いっぱいに印刷します(下図)。 namecard

    • 印刷した用紙上の名刺パターンの長さを測定します。測定結果に基づき、Unity シーン内の Image TargetScale実際の物理サイズと一致するように設定します(単位はメートル)。 set-the-actual-size

    • EasyAR motion fusion がオンの場合、固定位置(移動できない)の画像のみ追跡できます。motion fusion がオフの場合、画像が視野外に出ると追跡できません。

    • メガネの視点ではカメラ画像の大きさをうまく反映できない場合があります。認識できない場合は、メガネのカメラを画像に近づけてみてください。実際の使用では、5 m * 5 m など、より大きな画像を追跡することを推奨します。

注記

ヘッドセットでは、EasyAR motion fusion がオンかオフかにかかわらず、image targetScale パラメーターは実際の物理サイズに設定する必要があります。そうしないと表示位置が誤ります。