WWDC21でAppleは、ARKitとRealityKitのフレームワークの新しいメジャーバージョンを発表した。これはiOS用に拡張現実ベースのアプリを作成するためのものである。最も重要なことは、RealityKit 2を使うと、開発者は写真のコレクションから3Dモデルを簡単に作成できようになり、また、ARKit 5は顔の追跡と位置アンカーのサポートを拡張している。
新しいObject Capture APIは、RealityKit 2の一部であり、macOS 12Montereyにバンドルされている。これを使うと、開発者はiPhoneやiPadを含むあらゆる高解像度カメラで撮影した写真から3Dモデルを作成できる。ここでは、写真測量と呼ばれるプロセスが使われる。このプロセスでは、さまざまな角度から撮影された一連の写真を提供することで、1次元で薄すぎるオブジェクトや反射率の高いオブジェクトを確実に避ける。
正確な3D表現を作成するためにRealityKitが必要とする画像の数は、オブジェクトの複雑さとサイズによって異なります。しかし、隣接する写真の場合、かなりのオーバーラップが必要です。
Appleによれば、連続する写真の間で少なくとも70%のオーバーラップを目指し、50%を下回らないようにする必要がある。Object Captureは、出力モデルを改善するために利用できる場合、深度情報を利用できる。
オブジェクトの十分な数の写真ができたら、それらから3Dモデルを作成することは、ニーズに合わせてカスタマイズするボイラープレートコードを実行するだけの問題となる。明らかに、プロセス全体の重要な部分は、高品質の画像をキャプチャすることである。物事を単純化するために、Appleは2つのサンプルアプリを示した。1つは深度と重力のデータを測定できるデュアルリアカメラを搭載したiOSデバイスで写真を撮るためのものである。もう1つは画像から3Dモデルを作成するプロセスを合理化するmacOS用のコマンドラインツールである。
RealityKit 2の新機能は、オブジェクトキャプチャだけではない。Appleは、開発者がレンダリングパイプラインをより細かく制御できるカスタムシェーダーのサポートも導入した。これにより、ARオブジェクトやシーンのルックアンドフィールを微調整することが可能になる。さらに、RealityKit 2は手続き型メッシュを生成できるようになった。これは、RealityKit 1でサポートされていたボックス、球、テキスト、または平面を超えた新しい可能性を解き放つ大きな改善である。もう1つの有望な新機能は、カスタムエンティティコンポーネントシステムを構築する機能である。これによってARアセットを整理し、複雑なARアプリをシンプルに作成できる。
成熟しているため、ARKit 5はRealityKitほど新しい機能が豊富ではない。実際、ARKit 5は、顔追跡のサポートを含む既存の機能を拡張しており、ロケーションアンカーをサポートする。
顔の追跡は、A12 Bionicチップ以降を搭載した任意のデバイスの前面カメラを使うと利用でき、一度に最大3つの顔を検出できる。
一方、ロケーションアンカーを使うと、ARシーンを都市や有名なランドマークなどの物理的な場所にアンカーすることができる。これにより、ユーザが通りや記念碑などに近づいたときに仮想標識を表示することができる。