目次
1)デザインに関する考慮事項
AR のみの考え方を適用する
AR はかっこよくきらびやかなものを追加するだけのものではありません。機能や価値を追加して、実際の課題を解決する必要があります。
ユーザーを繋ぎ留める方法にフォーカスする
達成度ベースのゲーム内報酬、ソーシャルメディアで共有するオプション、マルチプレイヤー機能、その他の便利なツールを実装できます。
ユーザーに再びプレイしてもらうにはどうすればよいかを考えます。アプリ内の AR 機能を使用することでもらえる達成度ベースのゲーム内報酬を実装してください。友人と共有できるように簡単にスナップショットを撮影できるようにしてください。アプリを 1 から作成するのではなく、既存のアプリに追加機能として AR 機能を追加することも検討する価値があります。
体験を学びやすい単位に分割する
アプリをデザインするときは、ユーザーが時間をかけてその使用方法を見つけ出すことには期待しないでください。体験を学びやすい単位に分割することで、ユーザーがアプリとどのように対話するか学習することに時間を費やしてください。
ユーザーは AR 世界での操作方法を理解する必要があるため、テキストによるヒントを通じて便利なヒントを提供するか、必要な空間(作成した AR は狭い空間でのプレイには適していない場合があります)について説明するチュートリアルを作成することをお勧めします。
2)ユーザーエクスペリエンス
AR の強みを生かす
AR により、カメラを使用してモーショントラッキングを直接コントロールできます。ある程度の時間は手を伸ばすことを心地よいと感じるかもしれませんが、ユーザーにとっても簡単とは限りません。このため、ユーザーがこれを行う必要がある時間について慎重に検討してください。
待ち時間を最小化する
ユーザーに利用を開始してもらうよい方法は、待ち時間を最小化することです。たとえば、エクスペリエンスの開始にモーショントラッキングを要求する必要はありません。また、開始時にオブジェクトが準備されていない場合にユーザーを待たせる代わりに、次に何が発生するかについてヒントを提供するテキストを追加してください。他の方法として、ハンドヘルド端末が平面全体を検索している間に、フィーチャーポイントにアンカーを構築します。たとえば、部屋をスキャンするときはカメラをフォローするオブジェクトから開始できます。

ユーザーに何ができるかを知らせる
オブジェクトを平面に配置する前にオブジェクトの「ゴースト」を表示することで何ができるかをユーザーに知らせます。平面が見つかったら、そのオブジェクトを平面に実際に配置する前にそれがどのように表示されるかを示すことができます。もう 1 つの方法は、テキストの上にグラフィックやアニメーションを使用する方法です。

不測の事態に対処する
AR の専門用語の使用は避け、一般的な言葉を使用してユーザーをうまく誘導してください。たとえば、「surface」(表面、地面)を指して「plane」という言葉を使用しようとしている場合、すべてのユーザーが同じように受け取るとは限らず、airplane(飛行機)のオブジェクトと間違えられる可能性があることを考慮しなければなりません。
トラッキングが失われたときはオブジェクトを非表示にしましょう。オブジェクトが動き回り始めたときに、ユーザーにトラッキングが失われたことを知らせないと、ユーザーは急速に興味を失う可能性があります。
タイムアウト機能を組み込みましょう。ユーザーが状況をつかめずに 10 秒経過している場合、またはアプリを 10 秒間操作していない場合は、ヒントを提供することを検討してください。モバイル環境において、10 秒間はかなり長いと感じられる場合があることにも留意しましょう。
オブジェクトがリアルに見えるようにしましょう。Unity には、オブジェクトが本当にそこにあるように見せられる機能が用意されています。これは、ARCore と ARKit の光源推定パラメーターにアクセスすることで行うことができます。シェーダーは ARKit プラグインに用意されています。
3)パフォーマンスの最適化
AR のレンダリングには大量の処理が要求され、最終的にはバッテリーの使用量が多くなります。さらに、フレームレートが低下するとシーン内でドリフトやぐらつきが発生します。これが発生しないようにするにはどうすればよいでしょうか?
テストを繰り返し実行する
AR を使用可能なすべてのデバイス(特にローエンドのデバイス)、または ARCore や ARKit の機能を実行できるものをすべてテストしてください。これは構築中のすべてのモバイルアプリで実行し、制作スケジュールに QA が組み込まれていることを確認する必要があります。テストを行う際には、あらゆる時点におけるフレームレートを実際にトラッキングしていることを確認します。多くの AR オブジェクトは静的であるため、フレームのドロップが発生していることが明確にはわかりません。
ブロブシャドウを活用する
ブロブシャドウはすぐに使用することをお勧めします。これは、地面に影のテクスチャを投影するテクニックです。これだけで、構築している世界あるオブジェクトがきちんと接地しているように見えるようになります。

光源を推定する
光源推定の設定を調整して、対象の装置がその情報取得をずっと続けないようにします。こうすることで、パフォーマンスが大幅に上昇します。
AR Foundation はパッケージマネージャーからダウンロードできます。また、サンプルリポジトリは Unity GitHub に用意されています。