Appleは世界開発者会議「WWDC 2018」で、iPhone・iPad向けに秋から配信する「iOS 12」を披露した。その機能について詳しく掘り下げていこう。まずはARKit 2だ。
ARKitは、iOS 11に用意された拡張現実アプリを作るための開発者キットだ。これまでもAR向けのキットは存在していたが、開発者が完全に無料で利用できる範囲は少なく、またデバイスに求められる要件もまちまちだった。
ARKitはアプリ開発者に対して無料で提供されるため、開発者は別途ライセンス料を支払わなくても良い。また、明確に「A9プロセッサ以上のプロセッサを搭載するモデル」での対応とした。つまりiPhone 6s、iPhone SE、iPhone 7シリーズ、iPhone 8シリーズ、iPhone X、iPad Proシリーズ、2017年以降のiPadシリーズで動作する。
ARKitは当初、水平面の認識、顔認識、画像認識などの最も基本的な機能を備えたものだったが、2018年4月に配信されたiOS 11.3ではARKitがバージョン1.5となり、垂直面の認識が可能になったほか、プレビューする際の解像度の向上などの機能強化が図られた。
前述の通り、Apple以外のAR開発者キットが存在するように、開発者側が機能を自前すればARKitを利用しなくても、新機能に類するものは対応可能だ。しかし、Appleが開発者キットを提供することで、開発者は短いコードで機能が呼び出せるようになるので、ARアプリの拡大に寄与できるという状況を生むことになる。
ARKit 2の各種機能追加で最大のポイントとなるのは、環境データの取り扱いが柔軟になったことだ。WWDC 2018の基調講演では、LEGOと積み木のシューティングゲームのデモが披露されたが、そこでは「体験の共有」という説明が加えられていた。まずは、この話から解説しよう。
ARKitを用いた拡張現実体験は、多かれ少なかれ、アプリを立ち上げた際の空間認識から始まる。前述のように初期ARKitは水平面の認識から対応が始まっていたため、まずは平面を見つけてそこにオブジェクトを配置することになる。試してみた方なら分かるだろうが、同じオブジェクトを置く場合でも、アプリを立ち上げるごとに毎回、それぞれの人が平面認識を行わなければならなかった。
それがARKit 2では、一人の人が認識した空間を、他の人と共有できるようになった。そのため、複数の人がそれぞれ空間認識をする必要がなく、またオブジェクトそのものや配置された向きなどもあわせて共有されることになる。簡単に言えば、同じ場所で、同じものを見られるようになった、ということなのだ。
現在ARKit 2を用いた空間の共有は現在最大4人までで、BluetoothやWi-Fiを使ってその場で情報を共有する仕組みだ。サーバを介した共有を行わない理由は、表示される内容の遅延を最小限に防ぐためである。
LEGOの例では、1人が認識させたブロックとその周辺に配置した道路などのデジタルオブジェクトの空間に、もう1人が入ってきて、一緒にその建物や街を探索できるようになる。片方でヘリを飛ばして操作すれば、もう一方の画面の中でもヘリが動き、陰が落ちる。
また積み木のシューティングゲーム「SwiftShot」では、2:2のチーム戦を楽しめる。WWDC 2018の会場内では、そのデモが行われていた。外から見ていると、何もないテーブルを挟んでiPadを掲げた人たちが興奮してゲームに興じている風景が拡がっていた。スタッフがホストとなり、来場者はその空間に参加してゲームを楽しんだ。