Apple の ARKit は戦略よりも技術がすごい
元ネタ
特別なハードウエアを使って高精度 AR を実現
まず、Apple A シリーズの動作が化け物で、他の ARM の SoC が周回遅れな感があり。
センサー類の動作も素晴らしく、ARKit の可能にしているのは Metal 2 のおかげだと思われる。
WWDC 2017 の ARKit のセッションでも語られているが、CPU と センサー類で空間認識をほぼ行い、GPU のリソースは画面の描画に回している。
参照元: Introducing ARKit: Augmented Reality for iOS - WWDC 2017 - Videos - Apple Developer
Metal セッションを観たがこのような進化があり、この結果 CPU 周りの能力を使い ARKit が動いている。
例:OpenGL/Metal/Meta2 リソースの占有度合い
参照元:Platforms State of the Union - WWDC 2017 - Videos - Apple Developer
Keynote やハンズオンの動画のように結構 3DCG が表示され現実世界に追従し素晴らしい。
よって、正直、現状最良の体験をさせるためにはこのハードとソフトが必要であったことが先で、戦略は後付けな感はある。
ARKit のヒューマンインターフェイスガイドラインもなく、普及に関しては Apple も手探りなのではないかと思っている。
一応、ウィークポイントもあり、開発者の NDA の問題でなんとも言えないが、パブリックベータやリリース後試してもらえればわかるかと。
「机よりも大きな物体は、当然机の上に置くことはできない」は嘘
平面を認識する ARPlaneAnchor は現状、位置、大きさ、Y軸上の傾き(Yaw)を取得するだけ。
正確には中心位置と座標の行列が取得でき、アラインメントは水平のパラーメータしか取れない。
そのため、その上に置くオブジェクトは開発者側で机の大きさを超えることができる。
ARKit は Apple A9 以降ではないと使えないわけではない
Apple のドキュメントでは 6DOF トラッキングと呼ばれているものが、Apple A9 以降の Metal Feature Set で言う iOS_GPUFamily3_v3 でしか動かないだけで、3DOF トラッキングでの動作はする。
3DOF はオブジェクトの位置固定ができないので使えないのもの同然だが。
ひとまず、Apple のドキュメントが画像がわかりやすい。
6DOF
参照元: ARWorldTrackingSessionConfiguration - ARKit | Apple Developer Documentation
3DOF
参照元: ARSessionConfiguration - ARKit | Apple Developer Documentation
Swift Playgrounds for iPad で ARKit を動かすのはキツイ可能性がある
これは自分も試していないが、現状 の 1.5 の Swift Playgrounds for iPad でゼロからコーディングする blank テンプレートの場合、ARKit 以前に 3D (SceneKit) の動作に制限がかかっているように見受けられる。
配信されているものは、そこそこ厳しめでも動くが、かなり重い。
今後
記事で書かれているように Android と比べて動作する端末も多いし、 Google の VR Daydream のように国による縛りもない。
正直、HMD を被らなくても良く手軽に試せるのが、一番の普及させるための要因だと思っている。
また、iOS で現状動いている機能で、iSight Duo からの深度情報がうまく組み込まれれば、障害物判定ができるようになるだろうし、
Vision framework の物体認識も使えるようになれば、さらに面白くなるだろう。
WWDC 2018 ではさらなる飛躍がありそうで楽しみではある。