iOS 11からAR(Augmented Reality、拡張現実)分野に参戦したApple。前編に続き後編では、同社のARフレームワーク「ARKit」は何ができて、何ができないのかを検証しつつ、ARKitがもたらすARの将来について考察する。
AppleとGoogleがスマホ向けARでガチンコ勝負
ARKitが主題なのにいきなりGoogleの話で恐縮だが、Googleは2017年8月29日、アップルに先駆けてAndroid向けのARフレームワーク「ARCore」を発表した。ARCoreとARKitはガチンコ勝負のライバル関係にある。スマートフォン(スマホ)の両巨頭がARを標準でサポートしたことで、スマホ向けARビジネスが一気に拡大する。ただ、現状のARCoreはまだ発展途上のようだ。AR開発ユニット「AR三兄弟」の川田十夢氏は「普及台数と動作の滑らかさは、いまのところARKitが一歩リード」(AR三兄弟の川田十夢氏)と評価する。
ただ、視野角の狭いスマホの画面内で展開するARで、どの程度「拡張した現実」を体感できるのだろうか。そのためには、ARKitにできることを検証する必要がある。
リアルとバーチャルを重ねるARKitの仕組み
ARKitは現状、机や床、地面などの平面をiPhoneのカメラで検出し、その面を3D空間の水平面と定義、それを基準にオブジェクトを配置する。ただ、物体の水平面が真っ白だったり光を反射していたりすると、認識してくれない。水平面に何らかのテクスチャー(模様や色の差異など)がないと正確に判断できないようだ。
次の動画は、前編で紹介したスマホアプリ「Standland」のARモードを利用している様子を撮影したものだ。ARモードを起動し、反射の多い海水面にカメラを向けるも、うまく平面として認識できない。そこでカメラをパンして地面(木製のデッキ)を写すことで無事認識できた。この場合、カメラに映った平面のテクスチャー(木目や溝など)やモーションセンサーの情報から「ここは確かに平面だ」と判断している。
ちなみに、水平面の認識が不十分な場合でもオブジェクトを配置できるが、アンカーポイントが不確かなものになる可能性が高く、オブジェクトの位置関係がおかしくなる場合もある。