Earth」の実機プレイだろう。Earthゲームプレイ初公開。3のオクルージョン実演あの背景にある技術は、間違いなくARを次のレベルに押し上げるものだ。3の価値はそういう「先端」だけにとどまらない。全体戦略の面白さ・巧みさこそ、ARKitの特徴でもある。3」の全容を解説してみたい。ARKitの歴史をおさらいARKitは、iOS11から搭載された「ARのためのフレームワーク」だ。最初はシンプルな水平面を認識してそこに物体を「置いたように見せる」だけだったが、すぐに垂直面も認識するようになった。昨年のiOS12では、周囲に置かれた物体や床の色を認識し、CGの物体に反映する「環境マッピング」などが実装され、リアリティが高められている。机の上のバナナ(本物)がCGの器に映り込んでいるところに注目ARというと「リアカメラから見える風景にCGを重ねる」もの、というイメージを持つ人が多いだろうが、実際には「なにかにCGを重ねる」ならすべてAR。IDを使って顔の表情を取り込み、CGアニメーションに変える「アニ文字」も、ARKitによって実現されている。手や顔の動きを取り込むことはCGをリアルにするためのコア技術だ。ARKitが登場以降、「CGを体や顔に重ねる」アプリがたくさん出てきたのは、基盤としてこの技術が定着してきた証拠だろう。追いかけるようにAndroidの「ARCore」も似た要素が追加されている。2を超えた部分も出てきた。両者が存在し、競い合うことで、スマホのアプリ自体の機能が変わりつつあるのは間違いない。Occlusion」だ。人とCGを重ねる時、人とCGの物体の前後関係を判断し、「CGで人の一部が隠れる」ようになる機能である。Earth」のデモプレイの中でも、CGの中に人が入り込んでいたり、CGが人の前に自然に重なる様子が確認できるはずだ。Strike」のプレイ映像を分析すると、そのあたりの効果がわかりやすくなる。このゲームは、巨大なボウリングの球を2人で押し合って、相手の後ろにあるボウリングのピンを倒す......というシンプルなもの。プレイヤーがiPadで球を押している珍妙な姿に目を奪われてしまい、そのままだと見逃してしまいがちだが、「CGの球と人の位置関係が自然に描写されている」のは地味にスゴイ。この自然な描画を行うためには人のシルエットと前後の位置関係をすべてリアルタイムに認識している必要がある。Strike」のプレイ動画から。ボウリングのピンやボールが人物とうまく前後関係を持って重なっているのに注目。髪の毛の周囲などで不自然な点もあるが......よく見ると、頭の輪郭の認識が不自然になっていたり、前後位置の判定に失敗したりしている時はあるが、その範囲は小さい。少なくともプレイ中は、こうした矛盾を「感じられない」くらいちゃんと動いていた。この技術のスゴイところは、「すでにある」iPhoneやiPadのリアカメラでちゃんと実現できている、ということだ。した判定には、物体の奥行きを判定する「距離センサー」が搭載されている方がいい。IDで顔の形をちゃんと認識できているのは、距離センサーなどの仕組みが搭載されているためである。今のiPhone・iPadのリアカメラには距離センサーはない。カメラからの画像で奥行き推定をしていることになる。いままでのARKitでも、物体を正しく置けるのは「画像センサー=カメラの情報による奥行き推定」ができていたためだが、人のように複雑な形のものを認識しつつ、リアルタイムかつ自然に重ねられるのはすばらしいことと言える。ここで、カンのいい人は気付くことだろう。iPhoneのカメラには「ポートレートモード」がある。ポートレートモードでは、人のシルエットと奥行きとを「機械学習を使った認識」で理解し、背景をぼかす。この仕組みを転用すれば、ARの中で人とCGを自然に重ねることも可能なのである。Appleによれば、人の形の認識には機械学習が使われているという。逆に言えば、この機能は「人のシルエット」に特化したもの、ということだ。3でのアプローチの限界は「人に限られる」ということになる。機械学習を使って人に特化した認識を行っている以上、他のものではオクルージョンができない。家具やペットなどは不可ということになる。同じようなオクルージョンを実現している例としては、ナイアンティックが開発中の次世代技術がある。こちらは人に限らない形でのオクルージョンを目指している。こちらの方が自然な絵になるし制限も少ない。▲ナイアンティックが開発中の技術。ポケモンが人々の足の間を動きまわり、風景の中で自然に振る舞う。これもまた「オクルージョン」のひとつだしかし、人間は「人の周囲」の目を奪われる。Appleのアプローチは非常に「コスパがいい」やり方と言えるだろう。3の機能の中で、筆者が「地味に有用だしスゴイ」と思っているものが2つある。ひとつめは「全身モーションキャプチャ」。サードパーティーの中には、独自の実装でモーションキャプチャーを実現しているところもあるのだが、Appleはその要素をOSの一部に取り込んでしまった。iOSのデベロッパーであれば無料かつ、簡単に利用できるのはとても重要だ。3でのモーションキャプチャは、手足や腰の動きなどを認識するに留まっている。指先の細かい動きなどは認識できない。これは、カメラを画像センサーに用いている弱みでもある。細かな部分の前後関係や分離を把握できるほどの精度が出しづらいのだ。「前と後ろのカメラを同時に使ったAR」である。今のスマホARでは、フロントカメラとリアカメラは「それぞれ別々」にしか使われていない。それらが両方同時に使えるとどうなるのか?例えばこんなことができる。スマホの画面にはCGキャラクターが表示されている。そのキャラに自分の気持ちを「表情で」伝えることが可能になる。自分が笑えば相手も笑う、といった風に。同じように、自分の表情を画面に映っているキャラクターに「転写」することもできるようになる。自分の姿をCGキャラにして、その姿を自分が見ている......なんてこともできるわけだ。これはVTuberアプリなどで使うと面白いことになるかもしれない。3に付随する技術基盤として注目されるのが「RealityKit」だ。これは、物体の物理的法則に則った動きなどを簡単に再現するための仕組みだ。「指でつついて積木を崩し、それに合わせて効果音を出す」というようなことをするために必要なものがみな揃っている。言えばわかりやすいだろうか。従来、こうした部分は別途ゲームエンジンなどを用意して開発するのが常だったが、Appleはそこまでも自社でカバーしたため、アプリ開発のハードルがかなり低くなる。この種の仕組み自体は珍しくないが、RealityKitの特徴は「ARに特化している」ことだ。そのため、Appleによれば、ARに必要な「実景と重ねた時にどういう形がリアルなのか」という部分がカバーされているとのこと。Composer」というアプリ。これは簡単にいえば、「プレゼンソフト程度の作業で、プログラムを一切使わずにARで動くデモを作れるもの」だ。用意されたモデルを組み合わせて配置し、動きを付ければ、「実際の風景の中でCGが動く」ARデモが誰にでも作れる。QuickLook」を通じて見られるので、メッセージアプリなどでシェアすれば誰とでも共有できるのだ。プレゼンソフトくらいの難易度で、誰もがプログラミングなしでARを作れる。Mac用とiOS/iPadOSが用意されるしかもこのアプリは、Appleにデベロッパー契約をしていない人にも提供される予定。個人がちょっとしたデモを作ったり、教師が理科などの学習用デモ(太陽系の説明や分子の説明など)を作ったりして、自由に見せることができるわけだ。ComposerはRealityKitをベース技術として使っており、できることはシンプルだが、誰もが使えるのがポイントだ。そこにプログラムを組み合わせて、本格的なアプリ開発の省力化が行える。これまでこうしたことを行うには、Unityのようなゲームエンジンが必要だった。Unityは一からプログラミングを組むよりはずっと簡単だが、それでも、プログラミングの経験が一切ない人には難しい。アーティストや教師などがARを使う場合、エンジニアと組んで作るか、自分がプログラミングを習得するか、という選択肢を迫られていた。Composerはそうした状況に一石を投じるもの。