自分のブログ記事への流入が少なそうなので、内容を短くしたものをこちらに投稿。
詳細を読みたい方は上のリンクからどうぞ。
つまづき: AR機能を利用しないレベルのカメラが、意図しない位置に移動してしまう
対象プラットフォーム: iOS & Android
AR機能を利用するレベルAと、そうでないレベルB間を遷移するアプリを制作していて、Bに配置しているカメラが想定外の位置へ移動してしまった。
対処: AR機能を利用しないレベル上のカメラの設定を変更
カメラコンポーネントの ”Lock to HMD” を False
に変更する。
AR Start関数が呼ばれ、ARトラッキングがアプリ内で開始された後は、”Lock to HMD”がTrue
になってるカメラはぜんぶトラッキング情報の位置・角度に固定される仕様になっている。
つまづき: ARKit関連のコードを理由にAppStore審査でリジェクトされる
対象プラットフォーム: iOS
(Unreal Engine 4.20以降では解決されているはず。)
空間にオブジェクトを配置するだけのような、ARKitのフェイストラッキング機能を使わないアプリの場合、Epic Games Launcherから落とせる、Unreal Engine 4.19.2を使ってアプリをビルドするとストア審査で止められる。
「TrueDepth APIを利用しないアプリのはずなのにAPIにアクセスしているので、修正してね」(意訳)といったメッセージを受け取るはず。
対処: ARKitプラグイン周りをカスタムしたエンジンでビルドしなおす
Unreal Engine自体のソースコードから、TrueDepth API関連のコードを消す必要あり。アプリをビルドしなおせば審査通る。
UE4 ANSWERHUBのこのスレッドに、修正したコードをアップしてくれているユーザーがいるのでチェックしてみてください。
ARKit app rejected because of TrueDepth APIs usage - UE4 AnswerHub
(一番上で引用した元のブログ記事に、修正した4.19.2バージョンのGitHubリポジトリへのリンクあるので、カスタム済みソースが欲しい方はそちらを参照ください)