Unity Pro Tips

DEVELOPER詳細

AR Foundationと Unity MARS

<このページで学べる内容>

Unity は、あらゆる環境にインテリジェントに適応し、デバイスをまたいで動作する、深くインタラクティブな拡張現実(AR)体験を構築できるようにするツールをクリエイターに提供しています。AR Foundation と Unity MARS がどのように連携して、デジタルと現実世界の境界線をあいまいにする AR 体験の作成を可能にするかをご紹介します。

モバイル AR 開発の基本コンセプト

拡張現実(AR)コンテンツを本当に現実世界の一部であるかのように感じさせるには、3 つの基本的なコンセプトを理解する必要があります。

  • モーショントラッキングにより、デバイスは 6 つの自由度を持つことができます。これは、モバイルデバイスが空間内を移動する際に、位置と回転の両方がトラッキングされることを意味します。
  • 環境認識により、デバイスが垂直面と水平面上の平面を検出できるようになります。これにより、現実世界を認識し、それらの表面上に AR オブジェクトやコンテンツを配置することが可能になります。
  • 光推定により、開発者は現実世界の環境内のライティングと現在の状態を理解し、その情報を AR 体験に取り入れることができます。これを出発点にして、現実世界のライティング条件により正確に適合するように、AR コンテンツの明るさや陰影を調整できます。

プラットフォームプロバイダーは、これらの基本的な機能をネイティブ SDK に統合することで、開発者がプラットフォーム上でリッチな AR 体験を簡単に構築できるようにしています。

Unity の AR Foundation

Unity パッケージによってデータが AR Foundation にフィードされる

Unity は、複数のモバイルおよび装着型 AR プラットフォームにまたがるデプロイを容易にするために AR Foundation を構築しました。AR Foundation は、マルチプラットフォームの AR 体験を実現するために特別に設計された Unity のコア AR フレームワークです。

データは、各プラットフォーム SDK の上に構築されたパッケージを介して AR Foundation にフィードされます。そのため、ターゲットとするデバイスに関係なく、AR Foundation を使用して一度アプリを構築すれば、各プラットフォームでサポートされているすべての機能を利用できるようになります。

ある機能があるプラットフォームでは使えるのに、別のプラットフォームでは使えないという場合でも、裏でフックを用意して、後から使えるようにしてあります。特定の機能が新しいプラットフォームで有効になった場合は、パッケージを更新することで簡単に統合できます。アプリを完全に一から再構築する必要はありません。

Unity MARS

Unity MARS は、柔軟性がありカスタマイズが可能で、どんな場所でも、どんな種類のデータでも動作する AR 体験をより迅速に作成することを可能にする、Unity の新しいオーサリング環境です。 Unity MARS は、今日の AR 開発者にとって最も困難な課題を解決するために設計されました。

複雑なデータ指向のアプリを視覚的に作成する

AR アプリを使用する人が、環境内のどこでどのような物理的なオブジェクトを使用するかをあらかじめ正確に知ることは不可能です。特定の環境や管理された環境(例えば博物館など)向けに構築したとしても、フロアプランや設置場所は変わる可能性があり、AR 体験を見る人は様々な角度から見たり、様々な高さから見たりします。考えられる変数とその組み合わせはほとんど無限で、アプリを作成する際に手動で定義することはほぼ不可能です。手作業で寸法をコーディングするという作業は面倒なうえ、コーディングに一生を費やしても、考えられるすべての変数を考慮することはできないでしょう。

苦痛のない効率的な方法で体験をテストする

アプリを開発している物理的な空間が、アプリを実行しているときにユーザーがいる空間と同じであることはまずないでしょう。東京の空港で使うロケーションベース環境(LBE)の体験を構築している場合に、開発者が東京に瞬間移動することはできません。ジオロケーションゲームの場合、アプリが使われる可能性がある、世界中のあらゆる屋外環境でアプリをテストすることは到底不可能です。これは、モバイル体験を構築する際の開発サイクル全体に共通するペインポイントです。また、ビルドを待ってから、動作させたい各デバイスでテストを行うのは時間がかかります。

現実の世界にレスポンシブに適応し、プラットフォームをまたいで動作するランタイムロジックを備えたアプリを提供する

ユーザーが AR コンテンツを実行しているとき、そのコンテンツは現実世界の環境内にあるオブジェクトに反応する必要がありますが、これを実行するのは困難です。ユーザー体験の出来が良くなければ、開発者はユーザーを失う危険性があり、離れたユーザーは二度と体験に戻ってこないかもしれません。 Unity MARS は、環境とセンサーのデータを AR オーサリングワークフローに取り込むことで、AR 開発者が直面するこれらの重要なペインポイントをすべて緩和し、最終的には、より複雑で堅牢な AR アプリケーションを構築できるようにします。

AR Foundation と Unity MARS を連携させる方法

Unity MARS は Unity で AR アプリケーションを構築するための推奨されるソリューションとなる Unity MARS は、Unity Editor をベースに構築され、AR Foundation と連携して動作します。AR Foundation や他のカスタムデータプロバイダーからのデータを利用する追加レイヤーとして存在し、クリエイターがより合理化された直感的な方法で複数のプラットフォーム向けにビルドできるようにします。

基本的に、Unity MARS は AR アプリを効率的に作成、テスト、および配信するためのツールを提供し、AR Foundation は AR アプリが様々なプラットフォームにまたがって動作できるようにします。AR Foundation と Unity MARS の連携により、AR 開発者は現実世界の環境とインテリジェントにインタラクトする、よりインタラクティブなアプリを迅速かつ簡単に作成してデプロイできるようになります。

さらに詳しく知りたい方へ

Unity MARS と AR Foundation についてさらに知りたい方は、好評を博した Unite Now セッション「How to Creative Captivating, Deeply Interactive Mobile AR Games in Unity」で、ゲームスタジオが最新のモバイル AR ゲームを作成するためにこの 2 つのツールをどのように使用しているかをご覧ください。

この記事はいかがでしたか?