iOS 12 Programming の ARKit の章をレビュー(査読)をさせていただきました
前作の iOS 11 Programming で堤修一さんが執筆担当されている Metal の章のレビューをさせていただきましたが、iOS 12 Programming では ARKit の章のレビューをさせていただいております。
iOS 11 Programming の Metal の章では、あまり貢献できませんでしたが、今回はそこそこお役に立てたのではと思っております。
iOS 12 Programming の紹介
iOS 12 Programming では網羅的に新機能が紹介されており、iOS の新機能から Swift、Xcode、Mojave、tvOS の更新まで幅広く紹介されています。
iOS で新規に追加されたフレームワークに関しては今回は追加が少なく、CarPlay、Network、Natural Language、と Web ページ向けの MapKit JS、MusicKit JS 以外は書かれておりお得な一冊だと思われます。
ARKit では新機能が紹介されておりますので iOS 11 Programming を合わせて読んでいただければ、ARKit の全容がほぼほぼ理解できます。
他の章も貴重な内容が多く、多分 tvOS 12 の TVUIKit や UIKit、SpriteKit、SceneKit で先行実装されていたフォーカスのアップデートはこの本以外で語られることはないでしょう。
第 I 部 Delightful Experience
- 第1章 Siri Shortcuts
- 第2章 Notifications
- 第3章 Password AutoFill と Authentication Services
第 II 部 Augmented Reality and Machine Learning
- 第4章 ARKit
- 第5章 デプス
- 第6章 Core ML 2, Create ML
第 III 部 Swift, Xcode, Mojave, tvOS
- 第7章 Swift 4.0 から Swift 4.2 へのアップデート
- 第8章 Xcode 10 の新機能
- 第9章 Mojave の新機能
- 第10章 tvOS 12 の新機能
レビューについて
昨今の技術系書籍で行われているプロセスだと思われますが、プライベートの Github のリポジトリに記事やコードが上がり、それに対して Issue を立てるかたちとなっています。
SceneKit や ARKit の API に関しては過去に大体翻訳しており、ある程度覚えているため、文章のレビューに関しては iPhone だけで行なって行なっています。
初期インストールされているノートアプリに書き込んでから Github のサイトのインプットフィールドにペーストする形をとっており、大体作業していた時間は連休3日の中の数時間と平日帰宅後少しだったはず。
iPhone のみで行なっていて困る点は Apple Developer Documentation のリンクを引っ張ってくるのが若干面倒で、iPad を使用していればスプリットできるので楽だったと思います。
また、Github のサイトのインプットフィールドがスマートフォン表示で機能が異なるため、状況によっては Desktop 表示にする必要があります。
レビューで得たこと
仕事では主にゲーム関連のデザインや Web のフロントエンドの作業を行なっていることもあり、
日常的に ARKit のアプリをつくってはおらず、曖昧に覚えていた機能が明確になりました。
また、ARKit や iOS SDK に関してはブラックボックスな部分が多く、Metal や SIMD に関しては解説が少ないため、この点をあーでもない、こーでもないと語らうのは面白かったです。
まとめ
技術系の本執筆や Blog 記事を書いたり、レビューなど、多分作業時間に対して金銭的に得られるものはあまり多くはないと思われますが、そこで得られるものはわりと大きく、思考の整理と新たな発見、知的好奇心を満たす貴重な機会になると思われます。
iOS 12 Programming で紹介されていない ARKit 2.0 機能
AREnvironmentProbeAnchor
使用するにしても Automatic で行うと思われるので、あまり知識として必要はないです。
ARKit 2 の環境マッピング AREnvironmentProbeAnchor を試してみる - Apple Engine
ARKit 2 の AREnvironmentProbeAnchor をマニュアル設定で配置する - Apple Engine
オブジェクトトラッキング時の参照データのマージとアンカーの複製
API の説明のみ