WWDC 2017において、AppleがARKitを発表した。これはiOS向けAR(拡張現実感)アプリケーションを構築するためのフレームワークだ。ARKitは、現実のシーン上にバーチャルコンテンツを正確にリアルに埋め込むことを目指している。
ARKitは基本的に、モーショントラッキング、水平面の検出、スケールと環境光の推定といった基本機能のサポートを提供する。
モーショントラッキングは、CoreMotionフレームワークとAppleのモバイル機器に搭載された専用のコプロセッサで動いている。視覚慣性オドメトリ(visual inertial odometry)を利用し、カメラからやってくるデータに基づいて、デバイスの3D方向および動きを推定する。Appleによると、これは追加のキャリブレーションなしに高い精度を保証するという。床やテーブルといった水平面を検出できるため、オブジェクトを物理シーンに正確に配置し、その動きをトラッキングすることもできる。環境光の推定は、バーチャルオブジェクトのリアルなシャドウイングおよびライトニングにとって重要だ。
ARKit APIは主に2つの設定をサポートする。ARSessionConfiguration
はデバイスの向きだけをトラックする。ARWorldTrackingSessionConfiguration
はデバイスの位置もトラックして、現実のサーフェスを検出する。検出されたサーフェスはARPlaneAnchor
オブジェクトに関連づけられ、カメラからの距離、位置、方向を提供するARHitTestResult
を使って、さらに特徴付けることができる。ARPlaneAnchor
はARAnchor
の特殊ケースで、ARシーンに追加して、バーチャルオブジェクトを配置するのに使うことができる。ARSCView
やARSKView
を使うと、ARKitをSceneKitやSpriteKitと簡単に組み合わせて、3Dや2Dのバーチャルコンテンツを扱うことができる。また、WWDCでversion 2に更新されたMetalを使って、シーンレンダリングを完全にコントロールすることもできる。
Macでは、前述のMetal 2にVRレンダリングと外部GPUのサポートが追加される。開発者がこの新技術をアプリに取り入れるのを助けるため、新しいAPIと最適化も提供される。ただし、カスタマーが外部GPUサポートを利用できるのは、2018年の春になるだろう。
以上はApple ARKitの概要にすぎない。もっと詳しく知りたければ、ARの紹介と公式APIリファレンスを必ず読むようにしよう。
Appleは今後のAR計画を明らかにしなかったが、Apple CEOのTim Cook氏はBloombergのEmily Chang氏とのインタビューで、ARKitは将来のApple製品の基盤をもたらすと述べている。
ARKitはベータ版としてXcode 9に含まれており、開発者登録をしていれば利用できる。ARシーンにオブジェクトを配置する基本的な仕組みを紹介するサンプルプロジェクトも提供されている。
Rate this Article
- Editor Review
- Chief Editor Action