ARフレームワークとは
まずはじめに、「フレームワーク」について簡単に説明します。
「フレームワーク」とは、アプリケーションの開発において使用頻度の高い共通の機能の動作や処理をパッケージ化したもののことを指します。「枠組み」「骨組み」「構造」などといった意味があり、フレームワークをベースにさらに必要な機能を追加するなどしてアプリケーションの開発を進めていくのが一般的です。
ARフレームワークとは、ARアプリの開発に特化したフレームワークのことです。ARフレームワークが登場したことにより、従来のAR技術では実現が難しかった3次元空間を認識するARアプリ開発を簡単に開発できるようになりました。
代表的なARフレームワーク紹介
ARフレームワークは数多くの種類がありますが、ここでは開発するデバイスの違いによっていくつか紹介したいと思います。
iOS向けのARフレームワーク「AR Kit」

まず、Apple社が2017年6月に発表したiOS向けのARフレームワーク「AR Kit」についてです。ARKitを活用することで、特殊なハードウェアを使わずにiPhoneに搭載されているセンサーと画像解析データを元に空間構造を認識し、AR体験を実現することができます。具体的には、画像(マーカー)認識や平面認識、距離認識などの機能が実装できます。その後バージョンアップを重ね、現在では「ARKit 4」となっています。
Apple A9以降のプロセッサを搭載している機種(iPhone6S以降)のデバイスであればARKitを利用することができるため、ARKitの潜在ユーザ数は数億人にまで広がっています。
Android向けARフレームワーク「AR Core」

続いて、2017年8月にGoogle社が提供を開始したAndroid向けARフレームワーク「ARCore」です。ライセンスを取得しなくてもアプリを開発でき、無料でARフレームワークを使用できます。ARCoreを使用することで、ARKit同様スマホのカメラやモーションセンサーだけでARコンテンツを構築することができます。
GoogleやHuawei、Samsungなどさまざまなメーカーのスマートフォン、タブレットなどがARCoreに対応しています。詳細はこちらの公式サイトからご確認ください。
MagicLeapの開発フレームワーク「MagicLeap Toolkit」
「MagicLeap Toolkit」は、MagicLeap社が提供している公式のツールキットです。MagicLeapをご存知ない方に簡単に説明すると、Magic Leap Oneは、メガネ型のヘッドセットとプロセッサとバッテリーを内蔵したユニット、スティック型コントローラー の3つから構成されたMRグラスです。

▼AR/MRグラスに関する詳細はこちら
MagicLeap Toolkitでは、アプリ開発時に便利な機能を拡張できたり、特定の問題を解決するためのアセットが提供されています。これを活用することでMagicLeapの開発を簡素化し、工数の削減を測ることができます。
HoloLensの開発フレームワーク「Mixed Reality Toolkit(MRTK)」
「Mixed Reality Toolkit (MRTK) 」は、Microsoftが提供しているVR及びARの開発を行うためのクロスプラットフォームのツールキットです。HoloLensでアプリケーションを作る際には、MRTKが必須と言っても過言ではありません。
HoloLensは、パソコンやスマートフォンなどのデバイスへの接続なしで専用のヘッドマウントディスプレイ(HMD)を装着するだけで利用ができるMRグラスです。

▼HoloLensに関する記事はこちら
クロスプラットフォームとは、MacOSとWindows、Linuxなどの仕様が全く異なるプラットフォーム上で、同じ仕様のものを動かすことが出来るソフトウェアのことを指します。
HoloLensのアプリはDirextXもしくはUnityを使用して開発を行いますが、その際に開発を効率的に行うことができるようにMixed Reality Toolkit (MRTK)が提供されています。
XR開発には欠かせない「Unity」について
AR開発を簡単にするARフレームワークについて紹介させていただきましたが、もう一つ、AR開発を行う上で避けては通れないソフトウェア「Unity」があります。
Unityは3D開発プラットフォームであり、XRの開発をする場合は基本的に仕様することになります。Unityからは「AR Foundation」というUnityを使ってARアプリを作成するためのパッケージが提供されています。AR Foundationは上記で紹介した4つのARフレームワークをUnityで使うためのインターフェイスとなります。
まとめ
今回は少し専門的な内容となりました。まとめると、ARアプリの開発にはUnityと、開発するデバイスに合わせたARフレームワークを準備する必要があるということです。
これらのフレームワークがない時代はAR開発には高度な技術が必要でしたが、紹介したようなフレームワークを活用することで開発は簡単になり、工数を大幅に削減することができます。手元にあるスマートフォンでも手軽にARを体感できるので、気になる方はぜひ挑戦してみてください。また、わからないことがあればお気軽にご連絡くださいね。
▼お問い合わせはこちら
ーーーーーーーーーーーーーーーーーーーーーーーー
【株式会社RAKUDO】
下記の事業を中心に行なっている名古屋の企業です。
●エンタメ系や製造業の方に向けたVR/AR/MR開発
●モーショントラッキングのデータ作成サービス
●AI開発が楽になるプラットフォーム「AI interface」
お困りのことがあれば些細なことでもお気軽にご連絡ください。
一緒にアイディアを形にしましょう!
ーーーーーーーーーーーーーーーーーーーーーーーー