Unity での Vuforia Engine の使用

Vuforia Engine を使用すると、AR エクスペリエンスを環境内の特定の画像やオブジェクトに接続するための重要な機能が HoloLens に提供されます。 この機能を使用すると、産業企業向け機械の上にガイド付きステップバイステップの手順をオーバーレイしたり、物理的な製品やゲームにデジタル機能やエクスペリエンスを追加したりできます。

Vuforia Engine には、AR 開発プロセスの柔軟性を高めるためのさまざまな機能とターゲットが用意されています。 最新機能の 1 つである Vuforia Model Targets は、商用と産業用のどちらの用途にとっても重要な機能です。 Model Targets を使用すると、アプリケーションがマシン、自動車、おもちゃなどの物理オブジェクトを認識し、CAD またはデジタル 3D モデルに基づいてそれらを追跡できるようになります。 産業用途の場合、この機能を使用すると、工場内や現場で作業を行うときに、組立作業員とサービス技術者に、AR で作業指示と手順ガイダンスを提供できます。

スマートフォンとタブレット用に構築された既存の Vuforia Engine アプリは、HoloLens で実行するように Unity で簡単に構成できます。 Vuforia Engine を使用して、新しい HoloLens アプリを Surface Pro や Surface Book などの Windows 10 タブレットに移行することもできます。

ツールの入手

Visual Studio と Unity の推奨されるバージョンをインストールし、Visual Studio を使用するように Unity を構成し、優先 IDE とコンパイラーを構成します。

Unity をインストールする場合は、必ず "Windows Store IL2CPP Scripting Backend" をインストールしてください。

こちらで説明されているように、Vuforia Engine パッケージを追加します。

Vuforia Engine の使用を開始する

Vuforia Engine と HoloLens について学習する最適な出発点は、Vuforia Engine HoloLens Sample (Unity Asset Store で入手可能) です。 このサンプルを使用すると、HoloLens に展開できる事前構成済みのシーンを含む完全な HoloLens プロジェクトが提供されます。

これらのシーンは、Vuforia Image Targets を使用して画像を認識し、HoloLens エクスペリエンスでそれをデジタル コンテンツで拡張する方法を示します。 Vuforia Engine HoloLens Sample には、HoloLens での Model Targets と VuMarks の使用方法を示すシーンも含まれています。 シーン内の独自のコンテンツを簡単に置き換えて、Vuforia Engine を使用する HoloLens アプリの作成を試すことができます。

HoloLens 用に Vuforia アプリを構成する

HoloLens 用の Vuforia Engine アプリの開発は、他のデバイス用の Vuforia Engine アプリの開発と基本的に同じです。 その後、以下のセクションで説明するビルド設定と構成を適用できます。 Vuforia Engine を HoloLens の空間マッピングと位置追跡システムと連携できるようにするために必要なのはこれだけです。

Vuforia Engine Sample for HoloLens をビルドして実行する

  1. Unity Asset Store から Vuforia Engine Sample for HoloLens をダウンロードします
  2. 電力とパフォーマンスのために推奨される Unity エンジン オプションを適用します
  3. サンプル シーンを [ビルド][シーン] に追加します。
  4. [ビルド設定] で、[開いているシーンを追加] ボタンをクリックして、ビルド プラットフォームを [UWP] に切り替えます。 image
  5. [Player Settings](プレーヤー設定) ボタンを選びます。
  • [UWP] アイコンを選び、[XR Settings](XR 設定) セクションを展開します。
  • [仮想現実のサポート] が有効になっていることを確認します。
  • [Virtual Reality SDKs] の下で次を確認します。
    • Window Mixed Reality が一覧に含まれていて、[深度バッファーの共有を有効にする] が有効になっていること。
    • [Depth Format](深度形式)16 ビット深度に設定されていること。
  • [Stereo Rendering Mode](ステレオ レンダリング モード)[Single Pass Instanced](シングル パス インスタンス) に設定されていることを確認します。
  1. [公開の設定] セクションを展開します。
  • [機能] セクションで、[インターネット クライアント]、[Web カメラ]、[マイク] および [SpatialPerception] が選択されていることを確認します。
  • 注: SpatialPerception は、Surface Observer API を使用する場合にのみ選択する必要があります。
  • [Supported Device Families](サポートされるデバイス ファミリ) で、[Holographic] がオンになっていることを確認します。
  1. [Resolution and Presentation](解像度とプレゼンテーション) セクションを展開します。
  • [バックグラウンドで実行] を無効にして、アプリがバックグラウンドに置かれたら Vuforia Engine を一時停止し、アプリが再開されたらカメラに再びアクセスできるようにします。
  • [Default Orientation](既定の向き) ドロップダウンで、[横 (左)] が選択されていることを確認します。
  1. [ビルド設定] ウィンドウに戻り、[ビルド] を選択して Visual Studio プロジェクトを生成します。
  2. Visual Studio から実行可能ファイルをビルドし、お使いの HoloLens にインストールします。

Vuforia 開発者ポータル

Vuforia Engine と HoloLens を使用して独自の AR エクスペリエンスを作成しようとしている開発者は、developer.vuforia.com の Vuforia 開発者ポータルにサインアップする必要があります。 開発者はポータルで、コミュニティ ディスカッションに参加できる Vuforia Engine フォーラム、Vuforia Engine のすべての機能に関する詳細なドキュメントを含むライブラリ、ユーザーが独自のカスタム ターゲットを作成できる Vuforia Target Manager にアクセスできます。 開発者は、Vuforia License Manager を使用して無料の開発者ライセンスにサインアップすることもできます。

Vuforia を使用したデバイス追跡

Device Tracking を使用すると、ターゲットが表示されなくなった場合でも追跡が維持されます。 これは、Positional Device Tracker が有効になっている場合、すべてのターゲットに対して自動的に有効になります。 HoloLens アプリケーションの場合、Positional Device Tracker は Unity で自動的に開始されます。

Vuforia Engine は、カメラ追跡と HoloLens の空間追跡からの姿勢を自動的に融合して、ターゲットがカメラに表示されているかどうかに関係なく、安定したターゲット姿勢を提供します。

プロセスは自動的に処理されるため、開発者によるプログラミングは必要ありません。

プロセスの概要を次に示します。

  1. Vuforia のターゲット トラッカーがターゲットを認識します
  2. その後、ターゲット追跡が初期化されます
  3. ターゲットの位置と回転が分析され、HoloLens の信頼性の高い姿勢の推定値が提供されます
  4. Vuforia Engine により、ターゲットの姿勢が HoloLens の空間マッピング座標空間に変換されます
  5. ターゲットが表示されなくなった場合は、HoloLens によって追跡が引き継がれます。 ターゲットがまた見えるようになると、Vuforia によって引き続き画像とオブジェクトが正確に追跡されます。

検出されたが、表示されなくなったターゲットは、EXTENDED_TRACKED として報告されます。 このような場合、すべてのターゲットで使用される DefaultTrackableEventHandler スクリプトにより、引き続き拡張コンテンツがレンダリングされます。 開発者は、カスタム追跡可能なイベント ハンドラー スクリプトを実装して、この動作を制御できます。

Vuforia Engine でのパフォーマンス モード

Vuforia Engine を通じて、HoloLens のパフォーマンスを管理し、AR エクスペリエンスを拡張し、CPU のワークロードを削減することができます。 Vuforia Engine には、選択できる 3 つのモード (既定値、速度の最適化、品質の最適化) が用意されています。

  • MODE_OPTIMIZE_SPEED を使用すると、HoloLens デバイスのワークロードを最小限に抑えることができ、AR エクスペリエンスを拡張するのに最適です。 アプリが静的オブジェクトまたはターゲットを追跡している場合にお勧めします。
  • MODE_DEFAULT は通常モードで、ほとんどのシナリオで使用できます。
  • MODE_OPTIMIZE_QUALITY は、取得されると予想される可動ターゲットまたはモデル ターゲットを追跡するのに適しています。

モードを設定する

Unity のパフォーマンス モードを変更するには、ARCamera GameObject のコンポーネントとして配置されている Vuforia Configuration に移動します (Ctrl+Shift+V / Cmd+Shift+V)。

  • [Camera Device Mode](カメラ デバイス モード) のドロップダウン メニューを選び、3 つのオプションのいずれかを選択します。

関連項目