支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • AR開発用フレームワーク「ARKit

はじめに

本記事では、AR開発用フレームワークのARKit、ARCore、AR Foundationについて主に機能や利点に焦点を当ててまとめています。そのため、これらのフレームワークを使用してできることのイメージをしていただけれると幸いです。 また、記事中には、これからAR開発の学習を始めようとしている方のために、分かりにくい内容などは具体例や用語説明なども交えています。

AR開発フレームワーク

ARKit

ARKitは、iOS用の開発者向けのARフレームワークです。特別なデバイスを使用することなく、iPhoneやiPadのカメラを用いて動作させることができます。以下では、主な機能について紹介します。

シーンジオメトリ

周囲の空間の3Dマップを作成し、床、壁、天井、窓、ドア、座席等を認識してラベルを付けることができます。これにより、現実世界を詳細に認識できるため、オブジェクトオクルージョンや現実世界の物理シミュレーションの適用ができます。

オブジェクトオクルージョン - 現実世界のオブジェクトにARオブジェクトが隠れるといった、奥行きを表現することができる機能です。例えば、ポケモンGOの場合、現実世界の樹木の裏にポケモンが隠れている様子を表現できます。

Instant AR

iPad ProのLiDARスキャナーを使用することで、迅速に平面を検出し、スキャンなしでARオブジェクトを現実世界に素早く配置できます。これは、コードを変更することなく、ARKitで構築された全てのアプリに対して、iPad Pro上で自動的に有効になります。

人物のオクルージョン

前述のオブジェクトオクルージョンのように、ARオブジェクトが現実世界の人の前や後ろを通過する様子を表現できます。これにより、ほとんど全ての環境でグリーンスクリーンのような効果を実現できます。

モーションキャプチャ

1台のカメラだけで人の動きをリアルタイムでキャプチャできます。体の位置と動きを関節と骨による連続体として見なし、動きや姿勢をAR体験のインプットとして使用し、ARの中心に人物を配置することができます。

フロントおよびバックカメラの同時使用

フロントカメラとバックカメラを使用して、顔と空間のトラッキングを同時に行うことができます。これにより、顔だけを使用して、バックカメラビューのARコンテンツを操作できます。

複数のフェイストラッキング

ARKitのフェイストラッキングでは、TrueDepthカメラを使用して同時に最大3人の顔をトラッキングできます。これにより、MemojiやSnapchatといったフロントカメラを利用したエクスペリエンスを向上できます。

共同セッション

複数人による共同セッションによって、同時にAR空間を作成することができます。これにより、AR空間の構築時間の短縮が期待できる一方で、ユーザーはARエクスペリエンスを共有することができます。

Depth API

LiDARスキャナーのシーン認証機能により、周囲の環境の深度情報をピクセル単位で利用できます。これにより、より臨場感のあるオブジェクトオクルージョンの実現だけでなく、精密な測定をすることもできます。

ロケーションアンカー

ロケーションアンカーを使用すると、緯度や経度、高度といった地理座標を指定してARオブジェクトを配置することができます。これにより、カメラを通してARオブジェクトの周囲を歩いたり、好きな角度から眺めることができます。(※ただし、2020年9月28日時では、日本は未対応です。)

ARCore

ARCoreは、Android端末向けに提供されているAR開発フレームワークです。ARKitと同様に、こちらも特別なデバイスを使用することなく、スマホのカメラやモーションセンサーだけでARコンテンツを構築することができます。以下では、主な機能について紹介します。

モーショントラッキング

カメラの画像を分析して凹凸などを推定し、物体の表面とする場所にマーク付けを行い、座標を基に3D空間上に立体的な像を検出します。

水平面の検出

カメラの映像とIMUセンサーを使用して水平面を検出し、ARオブジェクトなどを自由に配置することができます。また、垂直面の認識はできませんが、段差のような平面の高さの違いは認識できます。

IMU - IMU(Inertial Measurement Unit、慣性計測装置)とは、加速度センサーによって並進運動を、ジャイロセンサーによって回転運動を検知して、3次元上の運動を検出する装置です。

Light estimation

カメラによって全体の明るさを数値で検知することができます。

Environmental HDR

機械学習によって、陰影や反射をARオブジェクトに反映する機能です。これにより、前述のLight estimationでは出来なかった、光源の位置などの推定や、太陽の位置に合わせた影の向きの自動的な反映が可能です。

Augmented Images

現実世界のオブジェクトに合わせて、ARオブジェクトを動かすことができます。例えば、カメラを現実世界のポスターなどの2D画像に向けると、ARオブジェクトが出現し、その2D画像の動きに合わせて、ARオブジェクトを動かすことができます。

Augmented Faces API

凹凸を基に顔を読み取ることができます。例えば、「SNOW スノー」のように読み取った顔に、動物の耳などをARエフェクトとして重ねることができます。

Scene Viewer

ARCore 対応のAndroid端末上のブラウザから、簡単にARで現実世界に3Dオブジェクトを表示できます。これは、iOS端末のSafariブラウザのみで動作可能なAR Quick Lookと類似する機能です。

Sceneform

アニメーション機能によって、ARオブジェクトをジャンプやスピン、移動させるといったことができる機能です。

AR Foundation

先述した2つのAR開発のフレームワークでは、特にARKitの場合、iOS固有といったようなハードウェアの制約を受けます。しかし、Unityが開発するAR Foundationは、ARKitとARCoreのクロスプラットフォームARを簡単に開発できます。

AR Foundation の主な利点は以下のとおりです。

効率的な開発

AR Foundationを利用して開発したアプリは、iOSにビルドするとARKitで動作し、AndroidにビルドするとARCoreで動作するようになります。つまり、個々に実装する必要がなくなり、工数を削減できます。

迅速な機能対応

Unityに標準搭載されるクロスプラットフォームのVuforiaよりも素早く、ARKitやARCoreの最新機能への対応が行われます。

まとめ

本記事では、主に機能や利点に焦点を当てて、3つのAR開発用フレームワークを紹介しました。IDC Japanは、AR市場規模が2023年に17兆円を超えると予想しており、今後も成長が見込める技術です。そのためAR技術に関心がある方は、学習を始めてみてはいかがでしょうか。