WWDC2019でARKit3が発表され、2020年の3月にはARKit3.5が登場しました。
注目の新機能が追加されている一方で、ARKitでデバイスによる機能差異が出てきており、どのデバイスを買えばいいのか悩むケースもあります。
その辺をいい感じにまとめたサイトが見つからなかったため、自分用に一覧にしました。
今後更新していくかは割と気分次第ですが、誤りとかあればコメント等で指摘頂けると幸いです。
ARKitとARCore比較
まず、ARKit3.5とARcore v1.16の主要な機能を比較します。
6DoFトラッキングやHitTest(空間との衝突判定)、Point Cloud(点群データ)の取得といったARの基本機能は除いてます。
ARKit | ARCore | |
---|---|---|
平面検知 | Plane Detection | Detected Plane |
平面分類 | Plane Classification | - |
環境光推定 | Light Estimate | Environmental Light |
画像トラッキング | Image Tracking | Augmented Image |
物体トラッキング | Object Tracking | - |
空間共有 | World Map | Cloud Anchor |
顔認識 | Face Tracking | Augmented Face |
モーションキャプチャ | Body Tracking | - |
オクルージョン | People Occlusion | Depth API |
ARKit/ARCore共通で使える機能は、平面検知、環境光推定、画像トラッキング、空間共有となります。iOSとAndroidで空間共有を行う場合、ARCoreのCloud Anchorで実現が可能です。
ARKit3で追加されたモーションキャプチャ(Body Tracking)、オクルージョン(People Occlusion)は、2019年秋のiOS 13リリース後に一部の機種で使えるようになります。
同じオクルージョンとして記載していますが、ARKitのPeople Occlusionは人と背景の分類なのに対して、ARCoreのDepth APIは深度マップを用いて人以外の背景や物体の重なりも検出できるため、機能には差異があります。
方向性の違い
ARCoreは、より多くのユーザーが体験できることを優先し、多くのデバイスで標準として使える機能を優先して実装しているようです。
そのため、ARKitよりも新機能の実装が遅い傾向にあります。
ARKitは、iOS(iPadOS)を搭載した比較的新しいデバイスを対象にユーザー体験を最適化しており、OSアップデートのタイミングで新機能をリリースする傾向があります。
わかりやすい例が顔認識で、ARKitのFace TrackingはTrue Depthカメラ搭載のデバイスでしか動かないのに対し、ARCoreのAugmented Faceは機能は劣るものの単眼カメラで動作します。
また、最新のアップデートを見比べると、ARKit3はA12プロセッサでしか動作しない新機能を目玉として発表したのに対し、ARCore v1.9では目立った新機能はない代わりにソフトウェア的なアプローチで環境光推定や画像トラッキングの改善をアピールしました。
上記については、Googleは検索やマップといったサービスを多くのユーザーに使ってほしい、AppleはApple製品を一定のサイクルで買い替えて欲しいといった立場の違いがあるため、方針としては明確に思えます。
ARKit
ARKit自体は多くのデバイスで使えますが、デバイスによって使える機能に差異が出てきています。
- ARKitの利用にはA9以降のプロセッサが必要
Face Trackingの利用にはTrue Depthカメラが必要- Face Tracking、Body Tracking、People Occlusionの利用にはA12以降のプロセッサが必要
- True DepthカメラがあるとFace Trackingが3人同時に検出可能
- Depth APIの利用にはLiDARスキャナが必要
2020/10/23 追記
iOS14(ARKit4)にアップデートすることで、A12プロセッサ以上ならTrue DepthカメラなしでもFace Trackingが使えるようになったようです。
また、TrueDepthカメラで同時に最大3人の顔をトラッキングすることが可能となっているため、True Depth付きのFack Trackingを◎表記とします。
ARKit - 拡張現実 - Apple Developer
対応デバイス一覧
まず、ARKitに対応していれば全機種で利用可能な機能を一覧にしています。
機能 | 全デバイス対応 | |
---|---|---|
平面検知 | Plane Detection | ◯ |
環境光推定 | Light Estimate | ◯ |
画像トラッキング | Image Tracking | ◯ |
物体トラッキング | Object Tracking | ◯ |
空間共有 | World Map | ◯ |
iPhone
Face Tracking | Body Tracking | People Occlusion | LiDAR Scanner | |
---|---|---|---|---|
iPhone 6s/6s Plus | - | - | - | - |
iPhone SE(2016) | - | - | - | - |
iPhone 7/7 Plus | - | - | - | - |
iPhone 8/8 Plus | - | - | - | - |
iPhone X | ◎ | - | - | - |
iPhone XS/XS Max | ◎ | ◯ | ◯ | - |
iPhone XR | ◎ | ◯ | ◯ | - |
iPhone 11 | ◎ | ◯ | ◯ | - |
iPhone 11 Pro/Pro Max | ◎ | ◯ | ◯ | - |
iPhone SE(2020) | ◯ | ◯ | ◯ | - |
iPhone 12 | ◎ | ◯ | ◯ | - |
iPhone 12 mini | ◎ | ◯ | ◯ | - |
iPhone 12 Pro/Pro Max | ◎ | ◯ | ◯ | ◯ |
2020/10追記
2020/10時点でiPhone 12 Pro/Pro MaxのみがLiDARスキャナを搭載したDepth API対応のiPhoneになります。
LiDARスキャナがあると平面検知が高速になるほか、スキャン結果から空間を点群やメッシュで構築したり、平面分類(平面が壁なのか、床なのか、机なのかを判別)といった機能が使えるようになります。
LiDARスキャナで何ができるのかは、ARKit3.5の記事を参照ください。
iPhone X以前のデバイスはプロセッサがA12になっていないため、Body Tracking、People Occlusionは利用できません。 ARに使う場合は買い替えを考えてもよいでしょう。
iPhone XS/XS Max以降に発売されたiPhoneであれば、LiDARスキャナが必要な機能以外はすべての機能が使えます。ただし、シェアの高そうなiPhone SE(2020、SE2) はTrue Depthカメラが付いていないため、Face Trackingが使えません。
iPod
Face Tracking | Body Tracking | People Occlusion | LiDAR Scanner | |
---|---|---|---|---|
iPod touch 7(2019) | - | - | - | - |
WWDC2019の直前に発表された第7世代のiPod touchのみがARKitに対応しています。
A10プロセッサかつTrue DepthカメラやLiDARスキャナは非搭載のため、一部機能は使えません。
iPad
Face Tracking | Body Tracking | People Occlusion | LiDAR Scanner | |
---|---|---|---|---|
iPad 5(2017) | - | - | - | - |
iPad 6(2018) | - | - | - | - |
iPad 7(2019) | - | - | - | - |
iPad 8(2020) | ◯ | ◯ | ◯ | - |
iPad mini 5(2019) | ◯ | ◯ | ◯ | - |
iPad Air 2(2016) | - | - | - | - |
iPad Air 3(2019) | ◯ | ◯ | ◯ | - |
iPad Air 4(2020) | ◯ | ◯ | ◯ | - |
iPad Pro(2015-2016) | - | - | - | - |
iPad Pro 2(2017) | - | - | - | - |
iPad Pro 3(2018) | ◎ | ◯ | ◯ | - |
iPad Pro 4(2020) | ◎ | ◯ | ◯ | ◯ |
2020年3月に発売されたiPad Pro 4(2020)は、Apple製品としてはじめてLiDARスキャナが搭載されました。LiDARスキャナによりARの性能が向上したARKit3.5に2020/10時点でiPadとしては唯一対応しています。
無印iPadに関しては、2019年発売のiPad 7でもBody Tracking、People Occlusionに対応していない点が注意事項でしたが、2020モデルのiPad 8は対応しているので最新の機種を購入すれば問題はありません。
Face Trackingに必要なTrue DepthカメラはProにしか搭載されない傾向がありますし、LiDARスキャナも当面はProのみ搭載となる可能性が高そうです。
ARKitまとめ
Body Tracking、People Occlusionは、新しめの機種でしか利用できない点に注意が必要です。
ARKit視点では、True Depthカメラ、LiDARスキャナが付いているかが購入のポイントになります。
特に、LiDARスキャナのあるなしでARの体験の質が大きく異なりますので、最新の機種に買い替えるのであれば、LiDARスキャナが付いたデバイスを検討してみてもよいでしょう。
ARCore
リリース当初は対応デバイスが一部に限られていましたが、発表から約2年で多くの機種が対応しています。
- ARCoreを利用するにはAndroid 7以降の対応デバイスが必要
- 対応デバイスについては公式のSupprted Devicesを参照
- ARCore対応デバイスの中での機能差異はなし
対応デバイス一覧
公式に一覧があるため、そちらを参照ください。
ARCore supported devices | Google Developers
ARCoreまとめ
ARCoreはデバイス間の機能差異がないため、基本的には好きなデバイスを利用できます。
ただ、今後を考えると、最新のAndroid OSにアップデートが可能なデバイスを選んでおいた方がベターかもしれません。
オススメはGoogleブランドかつPlayGroundが使えるPixel 3/3 XL、Pixel 3a/3a XL、Pixel 4/4 XLです。
特にPixel 3aはコスパがよく、私も一台購入して使っています。
まとめ(2020/10)
ARの開発がしたい方へ
なるべく多くの機能が試せるデバイスを買って、色々触ってみましょう。
最良の組み合わせとしてオススメしたいのはARKit3.5が使えるiPad Pro 4(2020)+ Google Pixel 3a(4a/5a)です。
スマホ2台になってしまいますが、iPad Pro 4(2020)の代わりにiPhone 12 Pro/Pro Maxでもよいでしょう。
その他では、ARKit3に対応指しているiPhone SE(2020)、iPhone 11、iPhone 12、iPad Air 4、iPad 8などをオススメします。
ARのサービス利用を考えている方へ
現時点で多数のユーザーにサービスを提供したいのであれば、平面検知、画像トラッキング、空間共有を活かした機能がよいと思います。
ARKit3で発表されたモーションキャプチャ、オクルージョンも対応デバイスが徐々に増えてきましたし、ピープルオクルージョンではないですが、ARCoreのDepth APIも登場しているので、これらの機能も取り込んでいきたいところです。
ARを楽しみたい方へ
開発者向けと重複しますが、iPhoneならiPhone 11、iPhone 12、AndroidならGoogle Pixel 3a(4a/5a)、タブレットならiPad Air 4、iPad 8、iPad Pro 4(2020)といったあたりがオススメです。
iPhone/iPadでは、LiDARスキャナが付いているデバイスを持っているとARの体験が一気にレベルアップしますので、どうせ買うなら、iPhone 12 Pro/Pro Max、iPad Pro 4(2020)を購入してみるのもよいと思います。
宣伝
趣味で作ったARアプリがありまして、なるべく多くの人が楽しめるようiOS/Android両対応を前提に利用機能を選定しています。これは平面検知にフォーカスを当てて作っています。
ちなみに、実装が面倒で広告も課金要素も何も入れていない健全なアプリです。