一覧に戻る

ARKitとARCore、そしてWikitude SDKの次のステップについて

2017.10.04技術系記事

AppleのARKitとGoogleのARCoreは、AR(拡張現実)コミュニティーで多くの期待と悩みを引き起こしています。 AppleとGoogleが独自のAR開発プラットフォームを立ち上げた後、インターネットはAR技術の考察と新しいSDK(ソフトウェアデベロップメントキット)の比較で騒がしいものになりました。

誰もが知る巨大なプラットフォーマーが提供するAR SDKが登場した今、多くの人たちはその流れに乗りたいと思っています。
しかし、プロジェクトが開始する前に、要件となるAR体験が、選択したAR SDKの機能と完全に一致するか確認する必要があります。
また、この記事を通してARKitとARCoreがWikitudeの技術をどのように補完するのかをしっかりと理解してください。

AR機能の種類について

提供するAR体験の特長に応じて、適切なAR機能を選択することで、最良の結果を生み出すことができます。
現在最も一般的に使用されているAR機能は、ロケーションベース、マーカベース(画像認識)、SLAMベースのマーカレスAR(インスタントトラッキング)および、物体認識です。
   - Wikitude SDKの物体認識機能 - Terracotta Warriors exposition -   

ARKit, ARCoreとWikitude SDKの機能

ARKitおよびARCoreは非常に高品質のマーカーレスARを提供します。
これまでのところ、AppleとGoogleは、他の種類のAR機能を提供していません。これは、2017年2月にWikitude SDKで提供が開始されたインスタントトラッキング機能に相当します。
言い換えれば、ARKitまたはARCoreでは、特定の環境だけでトリガされるAR体験の提供に限定されます。
マーカベース(画像認識)でポスター、掲示板、雑誌などを認識してトラッキングすることはできません。 物体認識でおもちゃ、彫像、産業機械などを認識してトラッキングすることも、ロケーションベースでユーザーの位置情報を介してAR体験を提供することもできません。
1つのAR機能しかサポートしていませんが、ARCoreとARKitを使用するとマーカーレスのトラッキング性能が素晴らしく安定していて、堅牢であることを実感できます。
どちらのSDKも、ハードウェア(よりハイエンドな)、ソフトウェア、および研究チームを最大限に活用し、ユーザーに現実空間と一体化したAR体験を提供します。
   - Wikitude SDKを使用して開発されたゲーム -   

デバイスの互換性

ARKitとARCoreは、AR技術をより容易に利用できるようにするために大きく貢献していますが、現在のところ、どちらのSDKでもデバイスの互換性がかなり制限されています。

ARKitは、A9またはA10チップを使用するiPhoneデバイスとのみ互換性があります。大まかに言うと、iPhone 6sおよびiPad Pro 9.7以上のデバイスに制限されます。
ARCoreはAndroid 7.0(Nougat)とAndroid 8(Oreo)でサポートされているGoogle PixelとSamsung Galaxy S8とのみ互換性があります。
これらのデバイスは、現在、世界中の人々が使用しているもののほんの一部です。
世界中で20億以上のアクティブなAndroid端末が使用されているため、1億台のデバイスをカバーするGoogleの計画は、旧世代のデバイスのハードウェア制限のためにARCoreが全体の5%にしか届かないことを意味します。
上記のデバイスだけで動作するARKit対応のアプリにとっても同じようなことが言えます。
さらに、どちらのSDKもスマートグラスをサポートしていないことに注意してください。そのため、スマートグラスでのAR体験は提供できません。

クロスプラットフォーム対応

ARKitとARCoreはクロスプラットフォーム対応のSDKではないことを明確に理解することが重要です。つまり、ARKitはiOS専用に最適化され、ARCoreはAndroid専用に最適化され設計されています。
コンシューマ向けにARアプリを開発する開発者は、各プラットフォームごとに別々のプログラムを開発して管理するか、あるいは「オールインワン」のクロスプラットフォーム対応のSDKを選択して、単一のアプリを作成し、複数のオペレーティングシステムおよびデバイスに展開する必要があります。

開発フレームワーク

現時点では、UnityやUnrealのようなゲーム用3Dエンジンを使用したくない場合、ARKitではObj-C/Swift、ARCoreではJava / Kotlinの経験が必要です。こちらの記事では、AR体験を提供するためのさまざまな手法を紹介しているのでご参照ください。

AndroidおよびiOSのネイティブAPIを超えて、JavaScript、Cordovaなどの開発フレームワークを使用してAR体験を簡単に開発できます。
ARCoreとARKitを使った二重の開発は、クロスプラットフォーム対応の開発フレームワークを使うときほど簡単ではないかもしれません。

Wikitude "オールインワン" SDKの次のステップは?

Wikitude SDKは、ARKitやARCoreの機能範囲を超えたAR体験の提供に関心を持つ人にとっては、さまざまなデバイスと複数のプラットフォーム展開をサポートし、ロケーションベース、マーカーベース、マーカーレス、および物体認識を提供することができます。

wikitude sdk7 feature

さらに、JavaScript開発者にとっては祝福すべきお知らせがあります。
 
Wikitude SDKにAppleとGoogleの技術の統合するための開発をスタートしました。Cordova、Xamarin、Titanium、Unityも同様にサポートされます。つまり、Wikitude SDKがARKitとARCoreを2つの開発フレームワークから6つの開発フレームワークに拡張し、ARを世界中の多くの開発者に利用できるようにすることを意味します。
 
また、Wikitude SDKにARKitとARCoreが統合されることで、先述したハイエンドのデバイスに最適なパフォーマンスがもたらされます。互換性のないデバイスでマーカレスAR(インスタントトラッキング)を実行した場合、Wikitude SDKのSLAM技術が割り込み、残りのユーザーに対して同じマーカーレスAR体験を提供できます。
 
Wikitude SDKへのARKitとARCoreの統合はすでに始まっています。ブログ上での公式リリースを楽しみにしていてください。
 
われわれは賞を受賞したAR技術のプロバイダーであることに誇りを持っており、ARプロジェクトを成功に導くためのお手伝いをいたします。ぜひWikitude SDKを使用して、AR体験を始めてみてください。