ARKit 4では、TrueDepthカメラを搭載していないデバイスでもFace Tracking(フェイストラッキング)が利用可能になった。つまり、今まではiPhone X系、iPad Pro系のフラッグシップモデル(わかりやすく言うと、「ホームボタンのないモデル」)でしか利用できなかった同機能が、より幅広いiOSデバイスで利用できるようになった。
なぜ嬉しいのか
Face Trackingはなかなか実用途が見えづらいスマホARの中でも「顔に合わせてアバターを動かす」というわかりやすい用途があり、
昨今の諸事情によるリモートワーク/テレワークの急速な普及、VRChatの流行といった状況を鑑みると、地味ながらもかなり意味のある改善だと思う。
デバイスの制限
しかし、ARKitが利用可能なすべてのデバイスでFace Trackingが利用可能になったかというとそういうわけではなく、
A12 bionicプロセッサ以降を搭載
というわりと厳しい条件がある。bionicが初搭載されたiPhone 8を持っていたのでこれをiOS 14にアップデートしてFace Trackingを試そう、と思って充電はしたものの、よく考えたらiPhone 8はA11で、つまり手持ちの端末で試せるものがなかった...
- iPhone SE(第2世代)
- iPad mini(第5世代)
- iPad Air (第3世代)
ぐらいしか今のところ(2020年6月現在)はなさそう。まぁ、iPhone SE(第2世代)ユーザーが目下の本機能のターゲットユーザーだと思われる。
TrueDepthカメラ搭載端末との違いはあるのか
顔のジオメトリの頂点数が少ない、みたいな差異があるのかと思ったが、WWDC 2020のセッションによると、「デプスがとれない」以外の差異はないようだ。
ちなみにここでいうデプスはARFrameのcapturedDepthDataプロパティから取得できるデプス。ARKitで取得可能なデプスについては以下の記事で比較している。
ARKit 4のLiDAR Depth API - Qiita
アドベントカレンダー
本記事はiOSアドベントカレンダー21日目の記事です。2020年12月24日現在、エントリーされていた方が記事をアップされていなかったので、代理投稿させていただきました。
関連
ARKitの本、iOSデプスの本を書いています。