👌

visionOSに搭載されたAccessibility機能を試してみる

2024/02/09に公開

概要

Vision Proの体験における大きなポイントの一つに、視線でのポインタ操作とハンドジェスチャー操作があります。
Apple製品はアクセシビリティ機能が充実している印象ですが、Vision Proにおいても操作について多数の選択肢が用意されています。
今回はポインタ操作とジェスチャー操作を中心に、用意されているアクセシビリティ機能を試してみます。

参照資料

vision OSにおけるアクセシビリティ機能についてはこちらにまとめられています。
Get started with accessibility features on Apple Vision Pro
今回はこちらから抜粋して、以下の機能を試します。

  • Physical and motor
    • AssistiveTouch
    • Sound Actions
    • Dwell Control
    • Pointer control
    • Voice Control
  • Hearing
    • Sound Recognition

検証環境:visionOS 1.0

アクセシビリティ機能

Physical and motor

AssistiveTouch

  • AssistiveTouch menu
    AssistiveTouchをOnにすることで、AssistiveTouch menuを表示させることができます。
    機能としては、iPhoneやiPadに搭載されている同名の機能と同様です。(デザインも似ていますね)
    assistiveTouch_menu.png
    AssistiveTouch menuをタップすることでメニュが開き、設定されたアクションを実行できます。
    デフォルトではホームビューやコントロールセンターへの移動や後述するCustomGestureの実行などが設定されています。
    assistiveTouch_menu_open.png
    AssistiveTouch menu自体をタップ、ダブルタップ、ロングタップした際の挙動も設定することができます。
    またAssistiveTouch menuは自由に移動させ配置することができるため、使いやすい位置に配置しておくことができます。

  • Custom Gesture
    タップ操作やドラッグ操作を録画し、それを再生することができる機能です。
    設定画面では以下のようなキャンバス上で操作を録画し保存することができます。
    今回は"O"という名前で円をドラッグ操作で描くジェスチャを登録してみました。
    assistiveTouch_custom_gesture.jpeg
    assistiveTouch_custom_gesture_setting.png
    前述のAssistiveTouch menuからCustom → "O"をタップすると、視線を合わせている場所を基準に録画したジェスチャーが再生されることを確認しました。
    例えば特定のアプリにおける一連の操作の自動化などに活かせる可能性があリます。

Sound Actions

想定された音を鳴らすことで、音ごとに割り当てたアクションが実行できる機能です。
今回はCluck(コッと舌を鳴らす)にスクリーンショットを割り当ててみます。
sound_actions_menu.png
またPracticeから、音の名前と想定される音について実際に聞いて確認と発音練習ができます。
sound_actions_practice.png
舌を鳴らすと、実際にスクリーンショットの撮影ができました。
デフォルトではトップボタンとデジタルクラウン(Vision Proの上面左右にそれぞれ搭載されているボタン)を同時押しすることでスクリーンショットの撮影ができるのですが、両手を使わずに任意のタイミングで撮影ができるのは便利ですね。
当記事のスクリーンショットもこの機能を使用して撮影しています。

Dwell Control

タップしたいコンテンツに対して、視線を合わせ続けるだけでタップできる機能です。
Dwell ControlをOnにすることで、AssistiveTouch menuのようなDwell Controlの挙動制御ができるウィンドウが表示されます。
dwell_control.png
このウィンドウから、Gesturesを選択すると「タップ」「スクロール」「ロングプレス」「ドラッグ」の中からどの操作を行うのか選択ができます。
dwell_control_menu_open.png
設定後Startを押すとDwell Controlによる操作が可能になります
また視線を合わせ続ける時間や、視線のブレへの許容範囲についての設定も可能です。
dwell_control_settings.png
瞬きをすると視線を合わせた時間がリセットされてしまうので、誤動作のない程よい時間を探して設定しないと少々扱いづらいかもしれません。
可能な操作にタップだけでなくドラッグ操作などまで含まれているため、完全に目のみで一連の操作が実現できます。

Pointer control

Vision Proの操作において重要になるポインター操作について、各種設定ができます
pointer_control_settings.png

  • Pointer Control
    Pointer ControlをOnにすると今どこにポインターがあるのか(どこに視線を向けているのか)グレーのドットで常に表示されるようになります。
  • Control
    ポインター操作を、視線(デフォルト設定)・頭・手首・人差し指どれで実施するのか変更することができます。
    • Head : 頭
      画面中央にポインターが固定され、頭を動かすことで操作します。
      ポインターの固定位置が少々画面上寄りでちょっと操作に違和感がありました。
    • Wrist : 手首(左右どちらの腕を使用するか選択式)
      手先の動きは関係なく、手首の付け根からポインターが伸びているイメージで操作できます。肘から動かして操作する感覚です。
      pointer_control_wrist.png
    • Index finger : 人差し指(左右どちらの指を使用するか選択式)
      人差し指の指先からポインターが伸びているイメージで操作できます。
      pointer_control_index.png
      かなり繊細に指先の向いている方向を取得してくれるので柔軟な操作が可能です。ただし以下の問題がありました。
      • 人差し指と親指を合わせる動作を行うと、自ずと人差し指も動いてしまうためポインター操作をしている手で正確なタップができません。したがってもう片方の手をタップに使用する形になり両手を用いた操作を行う形になります。
      • 手のひらを上に向ける形で操作するとあまり正確にポインター操作ができませんでした。

WristとIndex fingerでは"Show Depth Ray"という設定が選択できるようになっており、Onにすることで手首・指先から伸びるポインターの線を表示させることができます。
pointer_control_ray.png

ある意味ブレインマシンインターフェイスに近しいとも言える視線操作の体験からは離れることにはなりますが、Controlから選択できる頭・手首・人差し指による操作も問題なく使用することができ、場合によってはこれらの操作を使用することも考えられるなと感じました。

Voice Control

ここではSiriとは別にVision Proでカバーしている音声操作機能について設定ができます。
voice_control.png
Onにすることで画面上部に青い丸形のマイクインジケータが出現し、音声での操作を受け付けてくれます。
voice_control_commands.png
受け付ける操作内容にはいくつかパターンがあり、Open <アプリ名>Close <アプリ名>などがあります。
加えて、screen overlayと呼ばれる機能が存在しており、こちらも使用することで音声のみでの詳細な操作を実現します。

  • Screen overlay
    Screen overlayは"names", "numbers", "grid"の3種が存在し、それぞれShow **(呼び出したいオーバーレイの名前)と話すことで表示をすることができます。
    • names, numbers
      表示されているすべてのアイテム(操作できる部分)に対して、数字あるいはその名称がオーバーレイ表示されます。
      この状態で、Tap <表示されているnameあるいはnumber>と話すと、オーバーレイ表示にしたがって操作ができます。
      voice_control_names.png
      nameの表示
      voice_control_numbers.png
      numberの表示
    • grid
      表示されているすべてのアイテム(操作できる部分)をカバーする形でグリッド状のオーバーレイが表示されます。
      voice_control_grid.png
      各グリッドの中には数字が表示されておりTap <表示されているnumber>と話すとそのグリッドの位置でタップ操作が実行されます。
      また数字のみを話すことで、そのグリッドにフォーカスしより細かく範囲を分解することができ、詳細な操作が可能です。
      voice_control_grid_focus.png
      ただし上記機能においてTap <表示されているnumber>という操作についてはほとんど聞き取ってもらえませんでした。弊社別メンバーが試した際も、うまく操作できなかったため、英語の発音の問題か不具合の可能性が考えられます。

Hearing

Sound Recognition

Vision Pro使用者の周囲で鳴っている音を収集し、特定の音が聞こえた際に音や通知で使用者に通知を行う機能になります。
具体的には、火災などの災害や、ドアベルの音、犬の鳴き声までデフォルトの設定候補として存在しています。
さらに、ユーザーが独自に通知して欲しい音の登録を行うこともできます。今回は"iPhone sound"という設定名にし、手元のiPhoneのアラーム音を設定してみました。
sound_recognition.png
画面の表示に従って名前を設定し、5回アラーム音を鳴らしてsaveする動作を行うと登録が完了します。
設定後実際にアラームを鳴らしたところ、音での通知が出ることもあれば出ないこともある状態でした。
検知が不安定なのが、起動しているアプリの問題なのか、音識別の問題なのかは不明です。

備考

今回試した機能ですが、その一部はSiriを使用した指示や、Digital CrownをトリプルクリックすることでOn/Offするように設定することができます。
AssistiveTouchやPointerなど、その見た目や操作感が場合によって体験の妨げになりうる機能をこちらのショートカットを使って手軽にOn/Offできるのはありがたいですね。

まとめ

アクセシビリティ機能にはユーザーがより快適に使用するための項目が多く用意されており、自身のユースケースに合わせて設定をすることでより没入感の高い使用体験が得られると思います。
特に音声周りは潤沢に項目が用意されており、音声のみでほぼ全ての操作ができるような作りになっていました。

一方これは意図しない用途でしょうが、弊社で所有しているVision Proのように複数人での開発時には、Pointer Controlを「Eye」以外のControlに変えておくと、目の頻繁なキャリブレーションが不要になり利用者交代にかかる手間が短縮できます。
多少操作には慣れが必要なのと、どうしてもEye trackingには操作体験は劣りますが、Guest modeがあるとはいえちょっとしたコンテンツの確認の際などにいちいちキャリブレーションするのが手間だったので、アリな選択肢かもしれません。

また少し今回のテーマから外れますが、Dwell Controlの設定画面で"seconds"の項目を"+, -"ボタンで設定できる(直接数字をキーボードから入力することもできる)ようになっていました。
dwell_control_seconds.png
こちらの項目を操作する際、視線を"+, -"ボタンに合わせて操作をしている間は左側の秒数表示に視線を移動できないため、今何秒に設定されているのかボタンを押しながら確認ができず不便でした。
このようなVision Proの操作体系に基づいたUI設計のポイントはアプリケーション開発において丁寧にチェックすべき観点になりそうです。

書いた人

ttt-tkmr

髙村 哲太

5年間ロボティクスと機械学習を活用した研究開発やサービス・プロダクト開発を中心に従事。
AI技術とXR領域の融合による未来を具現化するためMESONへ入社。

X

MESON Works

MESONの制作実績一覧はこちら。ご興味ある方はぜひ見てみてください。

MESON Works

Discussion