ARKitに対応したVuforiaのExtendedTrackingを使ってみる

VuforiaExtendedTracking

こんにちは。HoloLensチームの酒井(@saka_it)です。

ARマーカーの上に何かを出したいときによくお世話になるVuforiaにはマーカーがカメラから外れてもトラッキングを続けるExtended Tracking という機能があります。
(Extended Tracking自体の説明はテラシュールブログさんの記事がわかりやすいです)
が、今までの Extended Tracking は精度が今一で位置ズレが起こりやすいものでした。上の記事でもモデル下方への回り込みが厳しい点を指摘しています。

しかし、Vuforia 7.2 から、この機能が ARKit に対応し、精度が大幅にアップ。実用性がかなり高まりました。
今回はこの新しくなった Extended Tracking の使い方を説明します。

この記事は NEXTSCAPE クラウドインテグレーション事業本部 Advent Calendar 2018 の15日目の記事です。

今回の検証環境

  • Unity 2018.3.0f2
  • Vuforia 7.5.26

設定方法

設定は簡単ですが、Vuforia 7.2以前とは設定方法が異なります。
大きな違いとして、以前はマーカーごとに設定していましたが、7.2からはプロジェクト全体で設定します。

まずは、通常通り Vuforia の設定を行い、ImageTarget 設置します。今回は UnityChan を表示モデルにしています。
ImageTargetの設定

次に「Vuforia Configuration」を開き、「Device Tracker」の「Track Device Pose」にチェックを入れます。
Checked Track Device Pose

チェックを入れると「Fusion Mode」が出てきますので、「Optimize for Image Targets and VuMarks」に変更します。
Selected Fusion Mode

実行

設定が終わったら、iOSデバイスにデプロイして実行してみます。

マーカーから外れたり、別の場所を見てもほとんど位置ずれしていないのがわかると思います。

※え、結局御神体は見れるのかって?一応、会社のブログなんで勘弁してください。。。

さいごに

Vuforia では Vuforia Fusion と呼ぶマルチプラットフォーム、マルチAR技術対応を進めており、この他にもマーカーレスAR対応を行うためのGround Plane機能なども追加されています。

ということで、ARCoreにも対応しているそうなのですが、手持ちのAndroid端末では動作しませんでした。何かご存知な方は@saka_itまでお知らせいただけると大変助かります。

ユニティちゃんライセンス ロゴ
この記事ではユニティちゃんライセンス条項の元にユニティちゃんモデルを使用しています。