Human Interface Guidelines(通称HIG)は、Appleが開発者向けに公開しているデザインガイドラインです。
UI/UXを考える上で重要な概念や考え方がまとまっており、読むだけでも参考になります。
そんなHIGに昨年秋、ARKitの項目が追加されました。
まだまだ地盤が固まっていないARについて理解するには必読かと思われます。
Google翻訳に頼ると分かりづらい部分も多く、内容もボリュームがあるので、
ここではざっくりと要点を日本語でまとめてみたいと思います。
※この記事は2月20日現在のガイドラインを参考にしています。
最新の情報については、リンク先のガイドラインを必ず確認するようにお願いします
Designing an Engaging Experience ~ 魅力ある体験のために
ディスプレイ全体を使いましょう
操作UIや情報で画面が散らかっていると、没入感のある体験が損なわれてしまいます。
リアルなオブジェクトを配置する場合はしっかり作り込もう
AR体験には必ずしもリアルなオブジェクトが必要というわけではないですが、
必要に応じてテクスチャは作り込み、位置や大きさ・ライティングはARKitからの情報を基に更新しましょう。
ARに最適な環境で利用されるとは限らないことを念頭に置きましょう
あまり身動きが取れない場所や、十分な平面がない場所でアプリが使われるかもしれません。
状況に応じて適切な指示や機能をユーザに提示しましょう。
ユーザが快適に利用できるよう心がけましょう
長時間デバイスを保持することは負担になります。オブジェクトへの距離や体験時間を工夫しましょう。
動きを要求する場合、ユーザがAR環境に慣れてからにしましょう
ゲームを始めてすぐ、ARで表示された銃弾を避ける、なんてことがあってはなりません。
ユーザが安全に利用できるよう心がけましょう
たとえば近くに他の人や物がある場合、急で大きな動きを要求することは危険です。
音や触覚フィードバックを与えましょう
SEやぶつかった時の感覚は、より没入感のある体験をもたらします。BGMも同様です。
可能な限り、文脈でヒントは与えましょう
たとえばテキストベースの説明を表示するより、オブジェクトの周囲に矢印や3次元のインジケータを示した方が直感的です。
画面外にオブジェクトが存在することを、ガイドで示しましょう
視覚的・聴覚的な手がかりを使って、画面外にあるオブジェクトにユーザを誘導しましょう。
たとえば画面端にインジケータを表示すれば、その方向にカメラを移動するのだとわかります。
説明テキストを表示する場合には、親しみのある単語を使いましょう
○ 「周囲を明るくして、もう少し動いてみてください。」
× 「十分な特徴が得られていません。」
Entering Argumented Reality ~ AR体験への導入
シーンの初期化・平面の検出がいつ行われるのか、また現在行われているのか、ユーザに示しましょう
混乱を防ぐためです。
Placing Virtual Objects ~ オブジェクトの配置
いつ平面が検知され、オブジェクトが置かれるか理解しやすくしましょう
たとえば視覚的なインジケータは平面検出が行われていることを示すのに便利です。また平面検出が完了した際にインジケータの見た目を変えることで、ユーザにオブジェクトの配置を促すことができます。
オブジェクトが置かれた時、適切な場所に配置されるよう調整しましょう
平面検出の精度は短時間のうちに更新され、徐々に良くなっていきます。それに合わせ、オブジェクトの位置も適切に配置されるよう調整しましょう。
平面の端にオブジェクトをきっちり並べるようなことはやめましょう
端は近似的なものであるので、そこにオブジェクトが並ばないようにしてください。
更新の際に変化してしまう可能性があります。
User Interaction with Virtual Objects ~ オブジェクトとのインタラクション
画面上のコントロールを使うのではなく、オブジェクトを直接操作できるようにした方が良いです
その方がより直感的です。ただしユーザの移動中は直接操作が困難になる場合もあります。
より一般的で馴染みのあるジェスチャで操作できるようにしましょう
1本指でのドラッグや、2本指での回転などです。
また一般的に回転は、平面に対して垂直な軸に対して行われるはずです。
原則、インタラクションはシンプルにしてください
タッチは2次元ですが、現実世界は3次元です。
移動や回転の軸を制限することで、操作がシンプルになるよう検討してください。
インタラクション可能な範囲は、オブジェクトの周囲にある程度幅を持たせて設定しましょう
小さいオブジェクトはタッチするのが難しいかもしれません。
タッチ可能な範囲にはある程度の幅をもたせておきましょう。
オブジェクトの大きさを可変にする必要があるのか検討しましょう
たとえばおもちゃなどに固有のサイズがない場合、オブジェクトはスケーリング可能にすることが適切です。
しかし家具などは大きさが決まっているため、大きさを可変にすることは不適切です。
複数のジェスチャが競合する可能性があることに十分気をつけてください
2本指でのピンチと回転はジェスチャが非常によく似ています。実装の際は十分にテストを重ねてください。
オブジェクト操作中は、それを妨げる動きはさせないようにしましょう
たとえば操作中にオブジェクトが飛び跳ねることがないようにしましょう。
ジェスチャ以外の、より魅力的なインタラクション方法を追求しましょう
ユーザの動きやオブジェクトへの接近など、ジェスチャ以外にもインタラクションの方法はあります。
Reacting to Imaginary in the User’s Environment ~ マーカー画像について
既知の画像をトリガにすることで、ARの体験を強化できます。
SF映画のポスターを認識して、そこから宇宙船が飛び出し周囲を飛行する、といったことができます。
マーカー画像の設計と表示は、検知に最適化させましょう
実際のサイズと同じ大きさをARKitに指定しましょう。また曲がった面上での検出は避けましょう。
マーカー画像は仮想コンテンツを参照するためだけに利用しましょう
ARKitは、検出された画像の位置や向きの変化は追跡しません。
一度に利用するマーカー画像の数を制限しましょう
25個以下の場合に最適化されています。
25個以上必要な場合、シーンに応じてアクティブなマーカーを変更できるため、それを利用します。
Handling Interruptions ~ 中断について
不必要な中断は避けましょう
ARがアクティブでなくなると、ARKitはデバイスの位置と向きを追跡できなくなります。
他アプリによる中断から復帰する際には、デバイス位置の再推定が必要です
中断によりデバイスの追跡ができなくなると、オブジェクトが間違った位置に表示されてしまう可能性が高いです。そのため復帰時には、中断前の位置付近でデバイス位置の再推定が必要になります。
位置の再推定が完了するまでは、中断以前に描画されたオブジェクトを隠すことも検討しましょう
オブジェクトが間違った位置に表示されている可能性があるためです。
位置の再推定をしない選択肢もユーザに与えてください
動くことが難しい環境下では、再推定が延々と失敗し続け、ユーザがAR体験に戻れなくなってしまいます。
セッションをリセットできる選択肢も提示しましょう。
Handling Problems ~ 問題が起こった時には
期待通りの結果が得られないとき、ユーザ自身で設定をリセットできるようにしましょう
延々とユーザを待たせることはやめ、体験をやり直せる方法を与えてください。
問題の解決策を提示するようにしましょう
特徴点が不十分 → 「周囲を明るくしてから動き回ってみてください」
デバイスの動きが速すぎる → 「ゆっくりスマートフォンを動かしてみてください」
利用可能なデバイスでのみAR機能は提供しましょう
メイン機能がAR体験の場合、ARKitがサポートされたデバイスでのみ利用可能なアプリとしましょう。一方で商品カタログにARを利用するような、サブ機能としてARを利用する場合、サポートされていないデバイスではAR表示がデフォルトではなく、オプションとなるように設定してください。
AR Glyph ~ ARピクトグラムについて
AR体験を起動するコントロールには “AR Glyph” を表示できます。
AR Badges ~ ARバッジを使いましょう
アプリ内に、AR表示可能なオブジェクトと不可能なオブジェクトが混在している場合、ARバッジを使ってユーザにどのオブジェクトがAR対応しているかを示すことができます。
※ ARグリフとARバッジは、Apple公式のResourcesページからダウンロード可能です。
いかがだったでしょうか。
通読すると、Appleがユーザの体験を第一に考えていることがわかります。
・ARへの没入、直感的なインタラクション
・周辺環境への対応
・平面検出処理が与える影響
などでしょうか。
参考になる一方で、AR技術はまだ黎明期です。
現在はスマートフォンでの利用にほぼ限定されていますが、今後はグラスやコンタクト型の機器が普及する可能性もあります。そうなってくると、スマホでふさがっていた手がフリーとなり、当然そこに生じる体験も変わってくるはずです。
ユーザが何を求めていて、新たなサービスを提供した際にどんな変化が起こるのか、
常に考えていくことが必要だと感じます。
※ ちなみにGoogleはMaterial Designというガイドラインを公表していますが、そこにはまだARの記述はありません(2018年2月現在)。ですが公式のブログにおいて、「モバイルARデザインのベストプラクティス」という記事を発表しています。