FRMSKI開発ブログ

AWS、iOS、AR/VRなど開発メモ

HIG - System Capabilities / Augmented Reality③ 和訳

HIGのAugmented Realityの翻訳最後のパートです。主にARアプリ実行中に発生する問題への対処策についてです。

Handling Interruptions

  • 不必要にARエクスペリエンスを中断しないでください
     ARがアクティブでない場合、ARKitはデバイスの位置と向きを追跡できません。中断を避ける1つの方法は、人々が経験の中でオブジェクトと設定を調整できるようにすることです。たとえば、ユーザーが自分のリビングルームに購入しようとしている椅子を置いて、その椅子をさまざまなファブリックで利用できる場合は、ARを終了せずにファブリックを変更できるようにします。

  • relocalizationを使用して、他の中断から回復してください
     ARKitは、ユーザーが一時的に別のアプリに切り替えたり、電話を受けたりするなど、中断中にデバイスの位置や向きを追跡することはできません。中断後、以前に配置された仮想オブジェクトは、間違った現実の位置に現れる可能性が高い。再ローカライズを有効にすると、ARKitは仮想オブジェクトを元の現実の位置に復元するために必要な情報を回復しようとします。このプロセスでは、ユーザーは中断前の場所の近くで自分のデバイスを配置し方向を合わせる必要があります。開発者ガイダンスについては、「ARSessionObserver(ARSessionObserver - ARKit | Apple Developer Documentation)」を参照してください。

  • 再ローカライゼーションが完了するまで、以前に配置された仮想オブジェクトを隠すことを検討してください
     再定位中に、ARKitは以前の状態をユーザー環境の新しい観察と調整しようとします。このプロセスが完了するまで、仮想オブジェクトの位置は間違っている可能性があります。

  • ユーザーが再ローカライズをキャンセルできるようにする
     ユーザが中断前の場所の近くで自分のデバイスの位置を決めたり向きを変えたりできない場合、再ローカリゼーションは無期限に続行され、成功することはありません。ユーザーがセッションを正常に再開するようにガイドするか、再ローカライズが成功しない場合にユーザーがARエクスペリエンスを再開できるようにリセットボタンまたはその他の方法を提供します。

Handling Problems

  • ユーザーが期待を満たしていない場合、ユーザーに体験を再設定させる
     オブジェクトの配置を改善したり苦労したりする条件を人々が待つよう強制しないでください。彼らにもう一度やり直してより良い結果が得られるかどうかを確認する方法を教えてください。

  • 問題が発生した場合は、可能な修正を提案する
     ユーザの環境および表面検出の分析は、不十分な光、不十分な反射表面、十分な詳細のない表面、またはあまりにも多くのカメラの動きなど、さまざまな理由で失敗するか、または長すぎることがあります。アプリにこれらの問題が通知された場合は、解決のための提案をしてください。

問題 可能性のある提案
不十分なフィーチャが検出されました。 より多くのライトをオンにして移動してみてください。
過度の動きが検出されました。 バイスをゆっくり動かしてください。
表面の検出に時間がかかりすぎています。 移動して、より多くのライトをオンにして、十分にテクスチャのついた表面を指していることを確認してください。
  • 可能なデバイスでのみAR機能を提供する
     アプリの主な目的がARの場合は、ARKitをサポートする端末でのみアプリを使用できます。あなたのアプリが製品写真を含む家具カタログのようなARを第2の機能として提供し、ARで表示される製品を許可する場合、サポートされていないデバイスにARを入力しようとするとエラーが表示されません。デバイスがARKitをサポートしていない場合、最初にオプションのAR機能を提示しないでください。開発者向けのガイダンスについては、「Information Property List Key Reference(About Info.plist Keys and Values)」のUIRequiredDeviceCapabilities(iOS Keys)セクションのarkitキーと、ARConfiguration(ARConfiguration - ARKit | Apple Developer Documentation)のisSupported(isSupported - ARConfiguration | Apple Developer Documentation)プロパティを参照してください。

AR Glyph

 アプリケーションは、ARKitベースのエクスペリエンスを起動するコントロールにARグリフを表示できます。このグリフは、「Resources(Apple Design Resources - Apple Developer)」でダウンロードできます。

f:id:frmski:20181102134438p:plain:w400

  • 意図したとおりにARグリフを使用してください
     グリフは、ARKitベースのエクスペリエンスを開始するために厳密に使用する必要があります。グリフを変更したり(サイズや色を変更する以外)、他の用途に使用したり、ARKitを使用して作成されていないARエクスペリエンスと組み合わせて使用​​したりしないでください。

  • 最小クリアスペースを維持する
     ARグリフの周りに必要なクリアスペースの最小量は、グリフの高さの10%です。他の要素がこの領域を侵害したり、グリフを閉塞させたりしないでください。

AR Badges

 製品やその他のオブジェクトのコレクションを含むアプリは、バッジを使用して、ARKitを使用してARで表示できる特定のアイテムを識別できます。たとえば、デパートのアプリでは、バッジを使用して、購入前に家でプレビューできる家具にマークを付けることがあります。

f:id:frmski:20181102134750p:plain:w400

  • ARバッジは意図したとおりに使用し、変更しないでください
     リソースでは、折りたたまれたフォームと拡張されたフォームで利用可能なARバッジをダウンロードできます。 ARKitを使用してARで見ることができる製品または他のオブジェクトを識別するために、これらの画像を排他的に使用してください。バッジを変更したり、色を変更したり、他の用途に使用したり、ARKitで作成されていないARエクスペリエンスと組み合わせて使用​​したりしないでください。

  • グリフのみのバッジよりも、ARバッジが優先されます
     一般に、スペースが制約されていて、ARバッジに対応していない場合、グリフのみのバッジを使用します。どちらのバッジもデフォルトサイズでうまく動作します。

  • バッジは、アプリでARで表示できるオブジェクトと表示できないオブジェクトが混在している場合にのみ使用します
     アプリ内のすべてのオブジェクトをARで表示できる場合、バッジは冗長で不要です。

  • バッジの配置を一貫して明瞭に保ちます
     バッジは、オブジェクトの写真の一角に表示されたときに最もよく見えます。必ず同じ角に置いて、はっきりと見える大きさであることを確認してください(ただし、写真の重要な部分を隠すほど大きくはありません)。

  • 最小クリアスペースを維持する
      ARバッジの周りに必要なクリアスペースの最小量は、バッジの高さの10%です。他の要素は、このスペースを侵害してはいけません。

Learn More

 開発者向けのガイダンスについては、ARKit(ARKit | Apple Developer Documentation)を参照してください。