本開示は、いくつかの実施形態による、コンピュータ生成現実(CGR)体験をユーザに提供するユーザインタフェースに関する。
本明細書に記載するシステム、方法、及びGUIは、複数の方法で仮想/拡張現実環境とのユーザインタフェース相互作用を改善する。
いくつかの実施形態では、コンピュータシステムは、ユーザが同じ手の他の指又は部分に対する指の小さな移動で実行されるマイクロジェスチャを使用して、三次元環境(例えば、仮想又は複合現実環境)と相互作用することを可能にする。マイクロジェスチャは、例えば、タッチ感知面又は他の物理的コントローラとは対照的に、カメラ(例えば、ヘッドマウントデバイスと統合された、又はユーザから離れて(例えば、CGR室に)設置されたカメラ)を使用して検出される。マイクロジェスチャ及び様々な移動パラメータの異なる移動及び位置を使用して、三次元環境で実行される動作を判定する。カメラを使用してマイクロジェスチャをキャプチャし、三次元環境と相互作用することにより、ユーザが物理的入力機器によって妨げられることなく物理的環境を自由に動き回ることができ、これにより、ユーザは、より自然かつ効率的に三次元環境を探索することができる。更に、マイクロジェスチャは、個別であり、目障りではなく、公の場で行うことができる及び/又は礼儀正しさを要する相互作用に適している。
いくつかの実施形態では、手の準備完了状態構成が定義される。手が表示された三次元環境の一部に対応する位置で検出されるという追加要件は、手の準備完了状態構成がコンピュータシステムによって誤って認識されないことを確実にする。手の準備完了状態構成は、ユーザが現在表示されている動作コンテキストとは異なる所定の動作コンテキストでコンピュータシステムと相互作用することを意図するインジケーションとしてコンピュータシステムによって使用される。例えば、所定の動作コンテキストは、現在表示されているアプリケーションの外側にあるデバイスとの1つ以上の相互作用(例えば、ゲーム、通信セッション、メディア再生セッション、ナビゲーションなど)である。所定の動作コンテキストは、任意選択的に、例えば、他の体験及び/又はアプリケーションを開始することができるホーム又は開始ユーザインタフェース、最近表示された体験及び/又はアプリケーションを選択及び再開することができるマルチタスキングユーザインタフェース、コンピュータシステムの1つ以上のデバイスパラメータ(例えば、ディスプレイの輝度、オーディオボリューム、ネットワーク接続など)を調節するための制御ユーザインタフェースを表示することなどのシステム相互作用である。特別な手ジェスチャを使用して、現在表示されている動作コンテキストとは異なるジェスチャ入力のための所定の動作コンテキストの視覚的インジケーションの表示をトリガすることにより、視覚的制御で三次元環境を乱雑にすることなく、かつ所定の動作コンテキストで相互作用を誤ってトリガすることなく、ユーザが所定の動作コンテキストに容易にアクセスすることができる。
いくつかの実施形態では、物理的オブジェクト又はその一部(例えば、ユーザの手又はハードウェアデバイス)は、三次元環境(例えば、複合現実環境)に現在表示されていないシステムユーザインタフェース(例えば、デバイス用の制御ユーザインタフェース)に関連付けられるように、ユーザ又はコンピュータシステムによって選択される。ユーザの視線が、所定の物理的オブジェクト又はその一部に対応する位置以外の三次元環境内の位置に向けられると、ユーザの手によって実行されるジェスチャは、システムユーザインタフェースを表示させることなく、現在表示されているコンテキストで動作を実行させ、ユーザの視線が、所定の物理的オブジェクト又はそのオプションに対応する三次元環境内の位置に向けられると、ユーザの手によって実行されるジェスチャは、システムユーザインタフェースを表示させる。ユーザの視線が所定の物理的オブジェクト(例えば、ジェスチャを実行するユーザの手、又はユーザがジェスチャを使用して制御しようとしている物理的オブジェクト)に向けられているかどうかに基づいて、現在表示されている動作コンテキストで動作を選択的に実行する、又は入力ジェスチャに応答してシステムユーザインタフェースを表示することにより、ユーザは、複数のコントロールによって三次元環境を視覚的に雑然とさせることなく、2つ以上のコンテキストで三次元環境と効率的に相互作用することができ、ユーザインタフェースの相互作用効率が改善される(例えば、所望の結果を達成するために必要な入力の数が低減される)。
いくつかの実施形態では、ジェスチャ入力に応答する三次元環境内の仮想オブジェクトに向けられたユーザの視線は、ユーザの手がジェスチャ入力を提供するために所定の準備完了状態にあることが見出された場合にのみ、仮想オブジェクトに対して利用可能な1つ以上の相互作用オプションの視覚的インジケーションを表示させる。ユーザの手がジェスチャ入力を提供するための準備完了状態で見出されない場合、仮想オブジェクトに向けられているユーザの視線は、視覚的インジケーションの表示をトリガしない。ユーザの視線とユーザの手の準備完了状態との組み合わせを使用して、仮想オブジェクトがジェスチャ入力のための関連付けられた相互作用オプションを有するかどうかの視覚的インジケーションを表示するか否かを判定することにより、ユーザが視線を三次元環境のあちこちでシフトさせるときの絶え間ない変化にユーザが不要にさらされることなく、ユーザが自身の目で三次元環境を探索する際の有益なフィードバックをユーザに提供して、三次元環境の探索時のユーザの混乱を低減する。
いくつかの実施形態では、ユーザが、ユーザに対して所定の位置にコンピュータシステムの表示生成コンポーネントを配置する(例えば、目の前にディスプレイを置く、又はヘッドマウントデバイスを自分の頭部に置く)とき、現実世界のユーザのビューは、表示生成コンポーネントによって遮断され、表示生成コンポーネントによって提示されるコンテンツがユーザのビューを支配する。時にユーザは、現実世界からコンピュータ生成体験に移行するためのより緩やかで制御されたプロセスから恩恵を得る。したがって、表示生成コンポーネントを介してユーザにコンテンツを表示するとき、コンピュータシステムは、ユーザを取り囲む現実世界の少なくとも一部の表現を含むパススルー部分を表示し、表示生成コンポーネントのハウジング上のユーザの手の握りの変化を検出したことに応答してのみパススルー部分の少なくとも一部を仮想コンテンツに置き換えて表示する。ユーザの手の握りの変化は、ユーザが表示生成コンポーネントを通じて現在提示されているよりも、更に没入型体験に移行する準備が整っているというインジケーションとして使用される。表示生成コンポーネントのハウジング上のユーザの手の握りの変化によって制御されるような没入型環境の段階的移行は、ユーザに直感的でかつ自然であり、コンピュータ生成没入型体験のためのコンピュータシステムを使用するときのユーザの体験及び快適性を向上させる。
いくつかの実施形態では、コンピュータシステムが仮想三次元環境を表示するとき、コンピュータシステムは、ユーザの閾値距離内に入る物理的オブジェクトの部分の位置に対応し、仮想環境に対するユーザの視野内にあり得る位置で、仮想環境の一部に視覚的変化を適用する(例えば、物理的オブジェクトのその部分は、ユーザにとって可視となるが、表示生成コンポーネントの存在が、ユーザの周囲の現実世界のユーザのビューを遮断する)。更に、視野内にあり得る物理的オブジェクトの全ての部分を単に提示する代わりに、ユーザの閾値距離内にない物理的オブジェクトの部分は、(例えば、ユーザの閾値距離内にない物理的オブジェクトのこれらの部分に対応する位置で仮想環境の部分の外観を変化させることによって)ユーザに対して視覚的に提示されない。いくつかの実施形態では、仮想環境の部分に適用される視覚的変化によると、ユーザの閾値距離内にある物理的オブジェクトの部分の1つ以上の物理的特性が、仮想環境のそれらの部分の表示を完全に停止する、又はユーザへの没入型仮想体験の提供を完全に停止することなく、仮想環境内で提示される。この技術は、ユーザの没入型仮想体験を過度に侵害及び妨害することなく、ユーザが没入型仮想環境を探索している間に物理的環境内を動き回るときにユーザに近づく物理的障害物について、ユーザに警告を発することを可能にする。したがって、より安全でスムーズな没入型仮想体験をユーザに提供することができる。
図1~6は、CGR体験をユーザに提供するための例示的なコンピュータシステムを説明する。図7A~7Gは、いくつかの実施形態による、ジェスチャ入力及び/又は視線入力を使用した三次元環境との例示的な相互作用を示す。図7K~7Mは、いくつかの実施形態による、ユーザが三次元環境との相互作用を移行したときに表示される例示的なユーザインタフェースを示す。図7N~図7Pは、いくつかの実施形態による、ユーザが仮想環境と相互作用しながら、物理的環境を移動するときに表示される例示的なユーザインタフェースを示す。図8~11は、様々な実施形態による、三次元環境と相互作用する方法のフローチャートである。図7A~図7Gのユーザインタフェースは、図8~11のプロセスを説明するために使用される。図12は、様々な実施形態による、三次元環境と相互作用するためのコンピュータシステムのユーザの使用を容易にする方法のフローチャートである。図7K~図7Mのユーザインタフェースは、図12~13のプロセスを説明するために使用される。
いくつかの実施形態では、図1に示されるように、CGR体験は、コンピュータシステム101を含む動作環境100を介してユーザに提供される。コンピュータシステム101は、コントローラ110(例えば、ポータブル電子デバイス又はリモートサーバのプロセッサ)と、表示生成コンポーネント120(例えば、ヘッドマウントデバイス(HMD)、ディスプレイ、プロジェクタ、タッチスクリーンなど)と、1つ以上の入力デバイス125(例えば、アイトラッキングデバイス130、ハンドトラッキングデバイス140、他の入力デバイス150)と、1つ以上の出力デバイス155(例えば、スピーカ160、触知出力ジェネレータ170、及び他の出力デバイス180)と、1つ以上のセンサ190(例えば、画像センサ、光センサ、深度センサ、触覚センサ、配向センサ、近接センサ、温度センサ、位置センサ、運動センサ、速度センサなど)と、任意選択的に1つ以上の周辺デバイス195(例えば、家電製品、ウェアラブルデバイスなど)と、を含む。いくつかの実施形態では、入力デバイス125、出力デバイス155、センサ190、及び周辺デバイス195のうちの1つ以上は、(例えば、ヘッドマウントデバイス又はハンドヘルドデバイス内で)表示生成コンポーネント120と統合される。
CGR体験を説明するとき、ユーザが感知する、及び/又は(例えば、CGR体験を生成するコンピュータシステムに、CGR体験を生成するコンピュータシステム101に提供される様々な入力に対応するオーディオ、視覚、及び/又は触覚フィードバックを生成させる、コンピュータシステム101によって検出された入力を用いて)ユーザが相互作用することができる、いくつかの関連するが、別個の環境に個別的に言及するために様々な用語が使用される。以下は、これらの用語のサブセットである。
物理的環境:物理的環境とは、人々が電子システムの助け無しに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
コンピュータ生成現実:対照的に、コンピュータ生成現実(CGR)環境とは、人々が電子システムを介して感知及び/又は相互作用する、全体的又は部分的に模倣された環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応答して、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調節される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応答して、そのようなビュー及び音が物理的環境においてどのように変化するかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調節することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調節は、身体運動の表現(例えば、音声コマンド)に応答して行われてもよい。人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知し、かつ/又はCGRオブジェクトと相互作用してもよい。例えば、人は、3D空間において点音源の知覚を提供する、3D又は空間的広がりを有するオーディオ環境を作り出す音声オブジェクトを感知し、かつ/又はそれと相互作用することができる。別の例では、オーディオオブジェクトによって、コンピュータ生成オーディオを含めて、又は含めずに、物理的環境から周囲音を選択的に組み込むオーディオ透過性が可能になり得る。いくつかのCGR環境では、人は、音声オブジェクトのみを感知し、かつ/又はそれと相互作用してもよい。
CGRの例としては、仮想現実及び複合現実が挙げられる。
仮想現実:仮想現実(VR)環境とは、1つ以上の感覚について、コンピュータ生成感覚入力に全面的に基づくように設計された模倣環境を指す。VR環境は、人が感知かつ/又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人は、コンピュータ生成環境内に人が存在することのシミュレーションを通じて、かつ/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、かつ/又はそれと相互作用することができる。
複合現実:複合現実(MR)環境とは、コンピュータ生成感覚入力に全面的に基づくように設計されたVR環境とは対照的に、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計された模倣環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。いくつかのMR環境では、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(即ち、物理的環境からの物理的物品又はその表現)と相互作用することを可能にするために、物理的環境に対する位置及び/又は配向を追跡してもよい。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮することができる。
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
拡張現実:拡張現実(AR)環境とは、1つ以上の仮想オブジェクトが物理的環境上又はその表現上に重ねられた模倣環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイに仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又は動画をキャプチャする1つ以上の撮像センサとを有してもよい。システムは、画像又は動画を仮想オブジェクトと合成し、その合成物を不透明ディスプレイ上に提示する。人はこのシステムを使用して、物理的環境を、物理的環境の画像又は動画によって間接的に見て、物理的環境に重ね合わされた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境の動画は、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムが仮想オブジェクトを、例えば、ホログラムとして物理的環境の中に、又は物理的表面に投影するプロジェクションシステムを有してもよく、それによって、人はシステムを使用して、物理的環境に重ね合わされた仮想オブジェクトを知覚する。拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を、イメージセンサがキャプチャした透視図とは別の選択された透視図(例えば、視点)を面付けするように変形してもよい。別の例として、物理的環境の表現を、その一部分をグラフィカルに変更(例えば、拡大)することによって変形してもよく、それにより、変更された部分を、元のキャプチャ画像を表すが非写実的な、改変版にすることもできる。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は不明瞭化することによって変形されてもよい。
拡張仮想:拡張仮想(AV)環境とは、仮想環境又はコンピュータ生成環境が物理的環境から1つ以上の感覚入力を組み込んだ模倣環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVの公園には仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の撮像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
ハードウェア:人が様々なCGR環境を感知し、及び/又はそれと相互作用することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(heads-up displays、HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、装着型コントローラ又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受容するように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくは動画をキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境のオーディオをキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィカル画像を人の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、仮想オブジェクトを、例えば、ホログラムとして、又は物理的表面として物理的環境に投影するように構成されてもよい。いくつかの実施形態では、コントローラ110は、ユーザのCGR体験を管理及び調整するように構成される。いくつかの実施形態では、コントローラ110は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。コントローラ110については、図2を参照して以下より詳細に記載する。いくつかの実施形態では、コントローラ110は、シーン105(例えば、物理的設定/環境)に対してローカル又はリモートであるコンピューティングデバイスである。例えば、コントローラ110は、シーン105内に位置するローカルサーバである。別の例では、コントローラ110は、シーン105の外側に位置するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実施形態では、コントローラ110は、1つ以上の有線又は無線通信チャネル144(例えば、BLUETOOTH、IEEE802.11x、IEEE802.16x、IEEE802.3xなど)を介して、表示生成コンポーネント120(例えば、HMD、ディスプレイ、プロジェクタ、タッチスクリーンなど)と通信可能に結合される。別の例では、コントローラ110は、表示生成コンポーネント120(例えば、HMD、又はディスプレイ及び1つ以上のプロセッサなどを含むポータブル電子デバイス)、入力デバイス125のうちの1つ以上、出力デバイス155のうちの1つ以上、センサ190のうちの1つ以上、及び/又は周辺デバイス195のうちの1つ以上の筐体(例えば、物理的ハウジング)内に含まれる、又は上記のうちの1つ以上と同じ物理的筐体又は支持構造を共有する。
いくつかの実施形態では、表示生成コンポーネント120は、CGR体験(例えば、CGR体験の少なくとも視覚的コンポーネント)をユーザに提供するように構成される。いくつかの実施形態では、表示生成コンポーネント120は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。表示生成コンポーネント120について、図3を参照して以下より詳細に説明する。いくつかの実施形態では、コントローラ110の機能は、表示生成コンポーネント120によって提供される、及び/又は表示生成コンポーネント120と組み合わされる。
いくつかの実施形態によれば、表示生成コンポーネント120は、ユーザがシーン105内に仮想的及び/又は物理的に存在している間に、CGR体験をユーザに提供する。
いくつかの実施形態では、表示生成コンポーネントは、ユーザの身体の一部(例えば、頭部や手など)に装着される。したがって、表示生成コンポーネント120は、CGRコンテンツを表示するために提供された1つ以上のCGRディスプレイを含む。例えば、表示生成コンポーネント120は、ユーザの視野を包囲する。いくつかの実施形態では、表示生成コンポーネント120は、CGRコンテンツを提示するように構成されたハンドヘルドデバイス(スマートフォン又はタブレットなど)であり、ユーザは、ユーザの視野に向けられるディスプレイ及びシーン105に向けられるカメラを備えたデバイスを保持する。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの頭部に装着された筐体内に配置される。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの前の支持体(例えば、三脚)上に配置される。いくつかの実施形態では、表示生成コンポーネント120は、ユーザが表示生成コンポーネント120を着用又は保持しない状態でCGRコンテンツを提示するように構成されたCGRチャンバ、筐体、又は部屋である。CGRコンテンツ(例えば、ハンドヘルドデバイス又は三脚上のデバイス)を表示するための1つのタイプのハードウェアを参照して説明される多くのユーザインタフェースは、CGRコンテンツ(例えば、HMD又は他のウェアラブルコンピューティングデバイス)を表示するための別のタイプのハードウェア上に実装され得る。例えば、ハンドヘルド又は三脚実装デバイスの前の空間内で起こる相互作用に基づいてトリガされるCGRコンテンツとの相互作用を示すユーザインタフェースは、相互作用がHMDの前の空間で発生し、CGRコンテンツの応答がHMDを介して表示されるHMDと同様に実装され得る。同様に、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するハンドヘルド又は三脚実装デバイスの移動に基づいてトリガされたCRGコンテンツとの相互作用を示すユーザインタフェースは、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するHMDの移動によって引き起こされるHMDと同様に実装され得る。
動作環境100の関連する特徴が図1に示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないように、簡潔化のための様々な他の特徴が示されていないことを、本開示から理解されよう。
図2は、いくつかの実施形態による、コントローラ110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実施形態では、コントローラ110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH、ZIGBEE、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス204を含む。
いくつかの実施形態では、1つ以上の通信バス204は、システムコンポーネントを相互接続し、システムコンポーネント間の通信を制御する回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
メモリ220は、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)、スタティックランダムアクセスメモリ(static random-access memory、SRAM)、ダブルデータレートランダムアクセスメモリ(double-data-rate random-access memory、DDRRAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ220は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性記憶デバイスなどの不揮発性メモリを含む。メモリ220は、1つ以上の処理ユニット202からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ220、又はメモリ220の非一時的コンピュータ可読記憶媒体は、任意選択的なオペレーティングシステム230及びCGR体験モジュール240を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム230は、様々な基本システムサービスを処理するための命令、及びハードウェア依存タスクを実行するための命令を含む。いくつかの実施形態では、CGR体験モジュール240は、1人以上のユーザに対する1つ以上のCGR体験(例えば、1人以上のユーザに対する単一のCGR体験、又は1人以上のユーザの各グループに対する複数のCGR体験)を管理及び調整するように構成されている。その目的で、様々な実施形態では、CGR体験モジュール240は、データ取得ユニット242、トラッキングユニット244、調整ユニット246、及びデータ送信ユニット248を含む。
いくつかの実施形態では、データ取得ユニット242は、図1の少なくとも表示生成コンポーネント120、及び任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上からデータ(例えば、提示データ、相互作用データ、センサデータ、位置データなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット242は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、トラッキングユニット244は、シーン105をマッピングし、図1のシーン105に対する少なくとも表示生成コンポーネント120し、任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上の位置を追跡するように構成される。その目的で、様々な実施形態において、トラッキングユニット244は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実施形態では、処理ユニット244は、ハンドトラッキングユニット243及び/又はアイトラッキングユニット245を含む。いくつかの実施形態では、ハンドトラッキングユニット243は、図1のシーン105に対する、表示生成コンポーネント120に対する、及び/又はユーザの手に対して定義された座標系に対する、ユーザの手の1つ以上の部分の位置、及び/又はユーザの手の1つ以上の部分の運動を追跡するように構成される。ハンドトラッキングユニット243について、図4を参照して以下でより詳細に説明する。いくつかの実施形態では、アイトラッキングユニット245は、シーン105に対する(例えば、物理的環境及び/又はユーザ(例えば、ユーザの手)に対する)、又は表示生成コンポーネント120を介して表示されるCGRコンテンツに対する、ユーザの視線(又は、より広範にはユーザの目、顔、又は頭部)の位置及び移動を追跡するように構成される。アイトラッキングユニット245について、図5を参照して以下でより詳細に説明する。
いくつかの実施形態では、調整ユニット246は、表示生成コンポーネント120によって、及び任意選択的に、出力デバイス155及び/又は周辺デバイス195のうちの1つ以上によって、ユーザに提示されるCGR体験を管理及び調整するように構成される。その目的で、様々な実施形態において、調整ユニット246は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、データ送信ユニット248は、データ(例えば、提示データ、位置データなど)を少なくとも表示生成コンポーネント120、及び任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に送信するように構成される。その目的で、様々な実施形態では、データ送信ユニット248は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
データ取得ユニット242、トラッキングユニット244(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248が、単一のデバイス(例えば、コントローラ110)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット242、トラッキングユニット244(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図2は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図2に別々に示すいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実施形態において1つ以上の機能ブロックによって実装することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実施形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
図3は、いくつかの実施形態による、表示生成コンポーネント120の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実施形態では、HMD120には、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)機器及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のCGRディスプレイ312、1つ以上の任意の内向き及び/又は外向き画像センサ314、メモリ320、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス304、が含まれる。
いくつかの実施形態では、1つ以上の通信バス304は、システムコンポーネントを相互接続し、システムコンポーネント間の通信を制御する回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定装置(IMU)、加速度計、磁力計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などのうちの少なくとも1つを含む。
いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ユーザにCGR体験を提供するように構成される。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、液晶オンシリコン(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放射素子ディスプレイ(SED)、電界放射ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、MEMS、及び/又は同様のディスプレイタイプに相当する。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。例えば、HMD120は、単一のCGRディスプレイを含む。別の実施例では、HMD120は、ユーザの各目用のCGRディスプレイを含む。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。
いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの目を含むユーザの顔の少なくとも一部に対応する画像データを取得するように構成される(及び、アイトラッキングカメラと称する場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの手(単数又は複数)及び任意選択的にユーザの腕(単数又は複数)の少なくとも一部に対応する画像データを取得するように構成される(及び、ハンドトラッキングカメラと称される場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、HMD120が存在しない場合に、ユーザが視認するシーンに対応する画像データを取得するように前方を向くように構成される(及び、シーンカメラと称される場合がある)。1つ以上の任意選択的な画像センサ314は、(例えば、相補型金属酸化膜半導体(CMOS)画像センサ若しくは電荷結合デバイス(CCD)画像センサを備えた)1つ以上のRGBカメラ、1つ以上の赤外線(IR)カメラ、1つ以上のイベントベースのカメラ、及び/又は同様のもの、を含むことができる。
メモリ320は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性記憶デバイスなどの不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302から遠隔に位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及びCGR提示モジュール340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム330は、様々な基本システムサービスを処理するための手順、及びハードウェア依存タスクを実行するための手順を含む。いくつかの実施形態では、CGR提示モジュール340は、1つ以上のCGRディスプレイ312を介してCGRコンテンツをユーザに提示するように構成される。そのため、様々な実施形態では、CGR提示モジュール340は、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348を含む。
いくつかの実施形態では、データ取得ユニット342は、少なくとも図1のコントローラ110からデータ(例えば、提示データ、相互作用データ、センサデータ、位置データなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット342は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、CGR提示ユニット344は、1つ以上のCGRディスプレイ312を介してCGRコンテンツを提示するように構成される。その目的で、様々な実施形態では、CGR提示ユニット344は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、CGRマップ生成ユニット346は、メディアコンテンツデータに基づいて、CGRマップ(例えば、複合現実シーンの3Dマップ又はコンピュータ生成オブジェクトを配置することができる物理的環境のマップ)を生成するように構成される。その目的で、様々な実施形態では、CGRマップ生成ユニット346は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、データ送信ユニット348は、少なくともコントローラ110、及び任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上にデータ(例えば、提示データ、位置データなど)を伝送するように構成される。その目的で、様々な実施形態では、データ送信ユニット348は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
データ取得ユニット342は、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348は、単一のデバイス(例えば、図1の表示生成コンポーネント120)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図3は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図3に別々に示すいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実施形態において1つ以上の機能ブロックによって実装することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実施形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
図4は、ハンドトラッキングデバイス140の例示的な実施形態の概略図である。いくつかの実施形態では、ハンドトラッキングデバイス140(図1)は、ハンドトラッキングユニット243(図2)によって制御されて、ユーザの手の1つ以上の部分の位置、及び/又は図1のシーン105に対する(例えば、ユーザを取り囲む物理的環境の一部に対する、表示生成コンポーネント120に対する、又はユーザの一部(例えば、ユーザの顔、目、若しくは頭部)に対する、及び/又はユーザの手に対して定義された座標系に対する)ユーザの手の1つ以上の部分の移動を追跡する。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120の一部である(例えば、ヘッドマウントデバイスに埋め込まれる、又はヘッドマウントデバイスに取り付けられる)。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120とは別個である(例えば、別個のハウジング内に位置する、又は別個の物理的支持構造に取り付けられる)。
いくつかの実施形態では、ハンドトラッキングデバイス140は、人間のユーザの少なくとも手406を含む三次元シーン情報をキャプチャする画像センサ404(例えば、1つ以上のIRカメラ、3Dカメラ、深度カメラ、及び/又はカラーカメラなど)を含む。画像センサ404は、指及びそれらのそれぞれの位置を区別するのを可能にするのに十分な解像度で手画像をキャプチャする。画像センサ404は、典型的には、ユーザの身体の他の部分の画像、又は身体の全ての画像をキャプチャし、ズーム機能又は高倍率を有する専用センサのいずれかを有して、所望の解像度で手の画像をキャプチャすることができる。いくつかの実施形態では、画像センサ404はまた、手406の2Dカラービデオ画像及びシーンの他の要素をキャプチャする。いくつかの実施形態では、画像センサ404は、シーン105の物理的環境をキャプチャする他の画像センサと併せて使用される、又はシーン105の物理的環境をキャプチャする画像センサとして機能する。いくつかの実施形態では、画像センサ404は、画像センサ又はその一部の視野が使用されて、画像センサによってキャプチャされた手の移動がコントローラ110への入力として処理される相互作用空間を定義するように、ユーザ又はユーザの環境に対して位置決めされる。
いくつかの実施形態では、画像センサ404は、3Dマップデータ(及び場合によってはカラー画像データ)を含むフレームのシーケンスをコントローラ110に出力し、これにより、マップデータから高レベル情報を抽出する。この高レベル情報は、典型的には、アプリケーションプログラムインタフェース(API)を介して、コントローラ上で実行されるアプリケーションに提供され、それに応じて表示生成コンポーネント120を駆動する。例えば、ユーザは、手408を移動させ、手の姿勢を変化させることによって、コントローラ110上で動作するソフトウェアと相互作用することができる。
いくつかの実施形態では、画像センサ404は、手406を含むシーン上にスポットパターンを投射し、投射されたパターンの画像をキャプチャする。いくつかの実施形態では、コントローラ110は、パターンのスポットの横方向シフトに基づいて、三角測量によって(ユーザの手の表面上の点を含む)シーン内の点の3D座標を計算する。このアプローチは、ユーザが任意の種類のビーコン、センサ、又は他のマーカを保持又は着用する必要がないという点で有利である。これは、画像センサ404からの特定の距離で、所定の基準面に対するシーン内の点の深度座標を与える。本開示では、画像センサ404は、シーン内の点の深度座標が画像センサによって測定されたz成分に対応するように、x、y、z軸の直交セットを定義すると想定される。あるいは、ハンドトラッキングデバイス440は、単一又は複数のカメラ又は他のタイプのセンサに基づいて、立体撮像又は飛行時間測定などの他の3Dマッピング方法を使用することができる。
いくつかの実施形態では、ハンドトラッキングデバイス140は、ユーザが手(例えば、手全体又は1つ以上の指)を移動させている間、ユーザの手を含む深度マップの時間シーケンスをキャプチャし処理する。画像センサ404及び/又はコントローラ110内のプロセッサ上で動作するソフトウェアは、3Dマップデータを処理して、これらの深度マップ内の手のパッチ記述子を抽出する。ソフトウェアは、各フレームにおける手の姿勢を推定するために、以前の学習プロセスに基づいて、これらの記述子をデータベース408に記憶されたパッチ記述子と照合する。姿勢は、典型的には、ユーザの手関節及び指先の3D位置を含む。
ソフトウェアはまた、ジェスチャを識別するために、シーケンス内の複数のフレームにわたって手及び/又は指の軌道を解析することができる。本明細書に記載される姿勢推定機能は、運動追跡機能とインターリーブされてもよく、それにより、パッチベースの姿勢推定が2つ(又はそれ以上)のフレーム毎に1回のみ実行される一方、追跡は残りのフレームにわたって発生する姿勢の変化を発見するために使用される。姿勢、運動、及びジェスチャ情報は、上述のAPIを介して、コントローラ110上で実行されるアプリケーションプログラムに提供される。このプログラムは、例えば、姿勢及び/又はジェスチャ情報に応答して、表示生成コンポーネント120上に提示された画像を移動させ修正する、又は他の機能を実行することができる。
いくつかの実施形態では、ソフトウェアは、例えばネットワーク上で、コントローラ110に電子形態でダウンロードされてもよい、又はその代わりに、光学、磁気、若しくは電子メモリ媒体などの、実体的非一時的媒体に提供されてもよい。いくつかの実施形態では、データベース408は、同様に、コントローラ110に関連付けられたメモリに記憶される。代替的又は追加的に、コンピュータの記載された機能の一部又は全ては、カスタム又は半カスタム集積回路又はプログラム可能なデジタル信号プロセッサ(DSP)などの専用のハードウェアに実装されてもよい。コントローラ110は、例として、画像センサ440からの別個のユニットとして図4に示されているが、コントローラの処理機能の一部又は全部は、好適なマイクロプロセッサ及びソフトウェアによって、又はハンドトラッキングデバイス402のハウジング内の専用回路によって、又は他の方法で画像センサ404に関連付けることができる。いくつかの実施形態では、これらの処理機能のうちの少なくともいくつかは、(例えば、テレビセット、ハンドヘルドデバイス、又はヘッドマウントデバイスにおいて)表示生成コンポーネント120と統合された好適なプロセッサによって、又はゲームコンソール又はメディアプレーヤなどの任意の他の適切なコンピュータ化されたデバイスを用いて実行されてもよい。画像センサ404の感知機能は、同様に、センサ出力によって制御されるコンピュータ又は他のコンピュータ化された装置に統合することができる。
図4は、いくつかの実施形態による、画像センサ404によってキャプチャされた深度マップ410の概略図を更に含む。深度マップは、上述したように、それぞれの深度値を有するピクセルのマトリックスを含む。手406に対応するピクセル412は、このマップで背景及び手首からセグメント化されている。深度マップ410内の各ピクセルの輝度は、深度値、即ち、画像センサ404からの測定されたz距離に反比例し、深度が上昇するにつれて階調が濃くなる。コントローラ110は、人間の手の特徴を有する画像の成分(即ち、隣接ピクセル群)を識別及びセグメント化するために、これらの深度値を処理する。これらの特性は、例えば、深度マップのシーケンスの全体サイズ、形状、フレームからフレームへの運動を含むことができる。
図4はまた、いくつかの実施形態による、コントローラ110が手406の深度マップ410から最終的に抽出する手骨格414を概略的に示す。図4では、骨格414は、元の深度マップからセグメント化された手の背景416に重畳される。いくつかの実施形態では、手(例えば、指関節、指先、掌の中心、手首に接続する手の終端など)、及び任意選択的に手に接続された手首又は腕上の主要な特徴点が、手の骨格414上で識別され配置される。いくつかの実施形態では、複数の画像フレーム上にわたるこれらの主要な特徴点の位置及び移動がコントローラ110によって使用されて、いくつかの実施形態により、手によって実行される手ジェスチャ又は手の現在の状態を判定する。
図5は、アイトラッキングデバイス130の例示的な実施形態を示す(図1)。いくつかの実施形態では、アイトラッキングデバイス130は、アイトラッキングユニット245によって制御されて(図2)、シーン105に対する、又は表示生成コンポーネント120を介して表示されるCGRコンテンツに対するユーザの視線の位置及び移動を追跡する。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120と統合される。例えば、いくつかの実施形態では、表示生成コンポーネント120がヘッドセット、ヘルメット、ゴーグル、又は眼鏡などのヘッドマウントデバイス、又はウェアラブルフレームに配置されたハンドヘルドデバイスである場合、ヘッドマウントデバイスは、ユーザによる視聴のためのCGRコンテンツを生成するコンポーネント及びCGRコンテンツに対するユーザの視線を追跡するためのコンポーネントの両方を含む。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120とは別個である。例えば、表示生成コンポーネントがハンドヘルドデバイス又はCGRチャンバである場合、アイトラッキングデバイス130は、任意選択的に、ハンドヘルドデバイス又はCGRチャンバとは別個のデバイスである。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイス又はヘッドマウントデバイスの一部である。いくつかの実施形態では、ヘッドマウントアイトラッキングデバイス130は、任意選択的に、頭部に装着されている表示生成コンポーネント又は頭部に装着されていない表示生成コンポーネントと共に使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、ヘッドマウント表示生成コンポーネントと組み合わせて使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、非ヘッドマウント表示生成コンポーネントの一部である。
いくつかの実施形態では、表示生成コンポーネント120は、ユーザの目の前に左及び右の画像を含むフレームを表示して、3D仮想ビューをユーザに提供するディスプレイ機構(例えば、左右の目近傍ディスプレイパネル)を使用する。例えば、ヘッドマウント表示生成コンポーネントは、ディスプレイとユーザの目との間に位置する左右の光学レンズ(本明細書では接眼レンズと称される)を含んでもよい。いくつかの実施形態では、表示生成コンポーネントは、表示のためにユーザの環境のビデオをキャプチャする1つ以上の外部ビデオカメラを含んでもよい、又はそれに結合されてもよい。いくつかの実施形態では、ヘッドマウント表示生成コンポーネントは、ユーザが物理的環境を直接視認し、透明又は半透明ディスプレイ上に仮想オブジェクトを表示することができる透明又は半透明のディスプレイを有してもよい。いくつかの実施形態では、表示生成コンポーネントは、仮想オブジェクトを物理的環境に投影する。仮想オブジェクトは、例えば、物理的表面上に、又はホログラフとして投影され、それによって、個人は、システムを使用して、物理的環境の上に重ねられた仮想オブジェクトを観察することができる。そのような場合、左右の目のための別個のディスプレイパネル及び画像フレームが必要とされない場合がある。
図5に示すように、いくつかの実施形態では、視線トラッキングデバイス130は、少なくとも1つのアイトラッキングカメラ(例えば、赤外線(IR)又は近IR(NIR)カメラ)、並びに光(例えば、IR又はNIR光)をユーザの目に向けて発する照明源(例えば、LEDのアレイ若しくはリングなどのIR又はNIR光源)を含む。アイトラッキングカメラは、ユーザの目に向けられて、光源からの反射IR又はNIR光を目から直接受信してもよく、又は代替的に、ユーザの目と、視覚的光が通過することを可能にしながら目からアイトラッキングカメラにIR又はNIR光を反射させるディスプレイパネルとの間に配置される「ホット」ミラーに向けられてもよい。視線トラッキングデバイス130は、任意選択的に、ユーザの目の画像を(例えば、1秒当たり60~120フレーム(fps)でキャプチャされるビデオストリームとして)キャプチャし、画像を解析して、視線追跡情報を生成し、視線追跡情報をコントローラ110に通信する。いくつかの実施形態では、ユーザの両目は、それぞれのアイトラッキングカメラ及び照明源によって別々に追跡される。いくつかの実施形態では、ユーザの片目のみが、対応するアイトラッキングカメラ及び照明源によって追跡される。
いくつかの実施形態では、アイトラッキングデバイス130は、デバイス固有の較正プロセスを使用して較正されて、特定の動作環境100用のアイトラッキングデバイスのパラメータ、例えば、LED、カメラ、ホットミラー(存在する場合)、接眼レンズ、及びディスプレイスクリーンの3D幾何学的関係及びパラメータを判定する。デバイス固有の較正プロセスは、AR/VR機器のエンドユーザへの配送前に、工場又は別の施設で実行されてもよい。デバイス固有の較正プロセスは、自動較正プロセスであってもよく、又は手動較正プロセスであってもよい。ユーザ固有の較正プロセスは、特定のユーザの目パラメータ、例えば、瞳孔位置、中心視覚位置、光軸、視軸、目間隔などの推定を含んでもよい。いくつかの実施形態によれば、いったんアイトラッキングデバイス130についてデバイス固有及びユーザ固有のパラメータが判定されると、アイトラッキングカメラによってキャプチャされた画像は、グリント支援方法を使用して処理され、ディスプレイに対するユーザの現在の視覚軸及び視点を判定することができる。
図5に示すように、アイトラッキングデバイス130(例えば、130A又は130B)は、接眼レンズ(単数又は複数)520と、アイトラッキングが行われるユーザの顔の側に配置された少なくとも1つのアイトラッキングカメラ540(例えば、赤外線(IR)又は近IR(NIR)カメラ)と光(例えば、IR又はNIR光)をユーザの目(単数又は複数)592に向かって発する照明源530(例えば、NIR発光ダイオード(LED)のアレイ若しくはリングなどのIR又はNIR光源)とを含む視線追跡システムと、を含む。アイトラッキングカメラ540は、ユーザの目(単数又は複数)592とディスプレイ510(例えば、ヘッドマウントディスプレイの左若しくは右側のディスプレイパネル、又はハンドヘルドデバイスのディスプレイ、プロジェクタなど)との間に位置し、(例えば、図5の上部に示されるように)可視光を透過させながら、目(単数又は複数)592からのIR又はNIR光を反射するミラー550に向けられてもよく、あるいは、(例えば、図5の下部に示されるように)反射されたユーザの目592(単数又は複数)からのIR又はNIR光を受け取るようにユーザの目(単数又は複数)592に向けられてもよい。
いくつかの実施形態では、コントローラ110は、AR又はVRフレーム562(例えば、左及び右のディスプレイパネルの左及び右のフレーム)をレンダリングし、フレーム562をディスプレイ510に提供する。コントローラ110は、様々な目的のために、例えば、表示のためにフレーム562を処理する際に、アイトラッキングカメラ540からの視線追跡入力542を使用する。コントローラ110は、任意選択的に、グリント支援方法又は他の適切な方法を使用して、アイトラッキングカメラ540から得られた視線追跡入力542に基づいて、ディスプレイ510上のユーザの視点を推定する。視線追跡入力542から推定された視点は、任意選択的に、ユーザが現在見ている方向を判定するために使用される。
以下、ユーザの現在の視線方向のいくつかの可能な使用事例について説明するが、これは限定することを意図するものではない。例示的な使用例として、コントローラ110は、判定されたユーザの視線方向に基づいて、仮想コンテンツを異なってレンダリングすることができる。例えば、コントローラ110は、周辺領域よりもユーザの現在の視線方向から判定された中心視覚領域において、より高い解像度で仮想コンテンツを生成してもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内の仮想コンテンツを位置決め又は移動させてもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内に特定の仮想コンテンツを表示してもよい。ARアプリケーションにおける別の例示的な使用事例として、コントローラ110は、CGR体験の物理的環境をキャプチャして、判定された方向に焦点を合わせるように外部カメラを方向付けることができる。次いで、外部カメラの自動焦点機構は、ユーザが現在ディスプレイ510上で見ている環境内のオブジェクト又は表面に焦点を合わせることができる。別の例示的な使用事例として、接眼レンズ520は集束可能なレンズであってもよく、視線追跡情報がコントローラによって使用されて、ユーザが現在見ている仮想オブジェクトが、ユーザの目592の収束に一致するために適切な両目連動を有するように接眼レンズ520の焦点を調整する。コントローラ110は、視線追跡情報を活用して、ユーザが見ている近接オブジェクトが正しい距離で現れるように接眼レンズ520を方向付けて焦点を調整することができる。
いくつかの実施形態では、アイトラッキングデバイスは、ディスプレイ(例えば、ディスプレイ510)、2つの接眼レンズ(例えば、接眼レンズ(単数又は複数)520)、アイトラッキングカメラ(例えば、アイトラッキングカメラ(単数又は複数)540)、及びウェアラブルハウジングに取り付けられた光源(例えば、光源530(例えば、IR又はNIRLED))を含むヘッドマウントデバイスの一部である。光源は、ユーザの目(単数又は複数)592に向かって光(例えば、IR又はNIR光)を発する。いくつかの実施形態では、光源は、図5に示されるように、各レンズの周りにリング又は円状に配置されてもよい。いくつかの実施形態では、8つの光源530(例えば、LED)が、一例として各レンズ520の周りに配置される。しかしながら、より多くの又はより少ない光源530が使用されてもよく、光源530の他の配置及び位置が用いられてもよい。
いくつかの実施形態では、ディスプレイ510は、可視光範囲内の光を発し、IR又はNIR範囲内の光を発さないため、視線追跡システムにノイズを導入しない。アイトラッキングカメラ(単数又は複数)540の位置及び角度は、例として与えられ、限定することを意図するものではないことに留意されたい。いくつかの実施形態では、単一のアイトラッキングカメラ540がユーザの顔の各側に位置する。いくつかの実施形態では、2つ以上のNIRカメラ540をユーザの顔の各側に使用することができる。いくつかの実施形態では、広い視野(FOV)を有するカメラ540と狭いFOVを有するカメラ540が、ユーザの顔の各側に使用されてもよい。いくつかの実施形態では、1つの波長(例えば、850nm)で動作するカメラ540と異なる波長(例えば、940nm)で動作するカメラ540とが、ユーザの顔の各側に使用されてもよい。
図5に示すような視線追跡システムの実施形態は、例えば、コンピュータ生成現実(例えば、仮想現実、及び/又は複合現実を含む)アプリケーションに使用されて、コンピュータ生成現実(例えば、仮想現実、拡張現実、及び/又は拡張仮想を含む)の体験をユーザに提供することができる。
図6は、いくつかの実施形態による、グリント支援視線追跡パイプラインを示す。いくつかの実施形態では、視線追跡パイプラインは、グリント支援視線追跡システム(例えば、図1及び図5に示されるようなアイトラッキングデバイス130)によって実現される。グリント支援視線追跡システムは、追跡状態を維持することができる。当初、追跡状態はオフ又は「いいえ」である。追跡状態にあるとき、グリント支援視線追跡システムは、現フレームを解析する際に前のフレームからの先行情報を使用して、現フレーム内の瞳孔輪郭及びグリントを追跡する。追跡状態にない場合、グリント支援視線追跡システムは、現フレーム内の瞳孔及びグリントを検出しようとし、それに成功した場合、追跡状態を「はい」に初期化し、追跡状態で次のフレームに続く。
図6に示すように、視線追跡カメラは、ユーザの左目及び右目の左右の画像をキャプチャすることができる。次いで、キャプチャされた画像は、610で開始される処理のために視線追跡パイプラインに入力される。要素600に戻る矢印によって示されるように、視線追跡システムは、例えば、毎秒60~120フレームの速度で、ユーザの目の画像をキャプチャし続けることができる。いくつかの実施形態では、キャプチャされた画像の各セットが、処理のためにパイプラインに入力されてもよい。しかしながら、いくつかの実施形態、又はいくつかの条件下では、全てのキャプチャされたフレームがパイプラインによって処理されるわけではない。
610で、現在のキャプチャされた画像について、追跡状態がはいである場合、この方法は要素640に進む。610で、追跡状態がいいえである場合、620に示されるように、画像が解析されて、画像内のユーザの瞳孔及びグリントを検出する。630で、瞳孔とグリントが正常に検出される場合、方法は要素640に進む。正常に検出されない場合、方法は要素610に戻り、ユーザの目の次の画像を処理する。
640で、要素410から進む場合、前のフレームからの先行情報に部分的に基づいて、現フレームが解析されて、瞳孔及びグリントを追跡する。640で、要素630から進む場合、現フレーム内の検出された瞳孔及びグリントに基づいて、追跡状態が初期化される。要素640での処理の結果は、追跡又は検出の結果が信頼できることを確認するためにチェックされる。例えば、結果は、瞳孔及び視線推定を実行するための十分な数のグリントが現フレームで正常に追跡又は検出されるかどうかを判定するためにチェックすることができる。650で、結果が信頼できない場合、追跡状態はいいえに設定され、方法は要素610に戻り、ユーザの目の次の画像を処理する。650で、結果が信頼できる場合、方法は要素670に進む。670で、追跡状態ははいに設定され(まだはいではない場合)、瞳孔及びグリント情報が要素680に渡されて、ユーザの視点を推定する。
図6は、特定の実装で使用され得るアイトラッキング技術の一例として機能することを意図している。当業者によって認識されるように、現在存在するか、又は将来開発される他のアイトラッキング技術は、様々な実施形態によるCGR体験をユーザに提供するためにコンピュータシステム101において、本明細書に記載されるグリント支援視線追跡技術の代わりに、又はそれと組み合わせて使用することができる。
本開示では、コンピュータシステムとの相互作用に関して、様々な入力方法が説明される。一例が1つの入力デバイス又は入力方法を使用して提供され、別の例が別の入力デバイス又は入力方法を使用して提供される場合、各例は、別の例に関して記載された入力デバイス又は入力方法と互換性があり、任意選択的に利用され得ることを理解されたい。同様に、様々な出力方法が、コンピュータシステムとの相互作用に関して説明される。一例が1つの出力デバイス又は出力方法を使用して提供され、別の例が別の出力デバイス又は出力方法を使用して提供される場合、各例は、別の例に関して記載された出力デバイス又は出力方法と互換性があり、任意選択的に利用され得ることを理解されたい。同様に、様々な方法が、コンピュータシステムを介した仮想環境又は複合現実環境との相互作用に関して説明される。実施例が仮想環境との相互作用を使用して提供され、別の例が複合現実環境を使用して提供される場合、各例は、別の例に関して説明された方法と互換性があり、任意選択的に利用され得ることを理解されたい。したがって、本開示は、各実施形態の説明における実施形態の全ての特徴を網羅的に列挙することなく、複数の例の特徴の組み合わせである実施形態を開示する。
ユーザインタフェース及び関連するプロセス
ここで、ユーザインタフェース(「UI」)の実施形態、及び、表示生成コンポーネント、1つ以上の入力デバイス、及び(任意選択的に)1つ又は複数のカメラを備えた、ポータブル多機能デバイス又はヘッドマウントデバイスなどのコンピュータシステムにおいて実行され得る関連プロセスに注目する。
図7A~図7Cは、いくつかの実施形態による、仮想又は複合現実環境と相互作用するための入力ジェスチャ(例えば、任意選択的に、ジェスチャの直前又は最中に動作を実行するためにユーザの手全体又は腕をそれらの自然な位置(単数又は複数)及び姿勢(単数又は複数)から離れるように大きく移動させることを必要とせずに、ユーザの指(単数又は複数)を他の指(単数又は複数)又はユーザの手の一部(単数又は複数)に対して移動させることによって実行される個別の小さな運動ジェスチャ)の例を示す。図7A~7Cを参照して説明される入力ジェスチャは、図8におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
いくつかの実施形態では、図7A~図7Cを参照して説明される入力ジェスチャは、センサシステム(例えば、図1のセンサ190、図3の画像センサ314)によってキャプチャされるデータ及び信号を解析することによって検出される。いくつかの実施形態では、センサシステムは、1つ以上の撮像センサ(例えば、モーションRGBカメラ、赤外線カメラ、深度カメラなどの1つ以上のカメラ)を含む。例えば、1つ以上の撮像センサは、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120(例えば、ディスプレイ及びタッチ感知面として機能するタッチスクリーンディスプレイ、立体ディスプレイ、パススルー部分を有するディスプレイなど))を含むコンピュータシステム(例えば、図1のコンピュータシステム101(例えば、図7Cに示すようなポータブル電子デバイス7100又はHMD))のコンポーネントである、又は上記コンピュータシステムにデータを提供する。いくつかの実施形態では、1つ以上の撮像センサは、デバイスのディスプレイとは反対側のデバイスの側に1つ以上の後面カメラを含む。いくつかの実施形態では、入力ジェスチャは、ヘッドマウントシステムのセンサシステム(例えば、ユーザの左目の左画像及びユーザの右目の右画像を提供する立体ディスプレイを含むVRヘッドセット)によって検出される。例えば、ヘッドマウントシステムのコンポーネントである1つ以上のカメラは、ヘッドマウントシステムの前側及び/又は下側に取り付けられている。いくつかの実施形態では、1つ以上の撮像センサは、撮像センサがヘッドマウントシステム及び/又はヘッドマウントシステムのユーザの画像をキャプチャするように、ヘッドマウントシステムが使用される空間に配置される(例えば、部屋内の様々な位置でヘッドマウントシステムの周りに配列される)。いくつかの実施形態では、入力ジェスチャは、ヘッドアップデバイス(例えば、ヘッドアップディスプレイ、グラフィックを表示する能力を有する自動車フロントガラス、グラフィックを表示する能力を有する窓、グラフィックを表示する能力を有するレンズ)のセンサシステムによって検出される。例えば、1つ以上の撮像センサは、自動車の内面に取り付けられる。いくつかの実施形態では、センサシステムは、1つ以上の深度センサ(例えば、センサアレイ)を含む。例えば、1つ以上の深度センサは、1つ以上の光ベースの(例えば、赤外線)センサ及び/又は1つ以上の音響ベースの(例えば、超音波)センサを含む。いくつかの実施形態では、センサシステムは、光エミッタ(例えば、赤外線エミッタ)及び/又は音声エミッタ(例えば、超音波エミッタ)などの1つ以上の信号エミッタを含む。例えば、光(例えば、所定パターンを有する赤外光エミッタアレイからの光)が手(例えば、図71Cに関して説明されるような手7200)に投射されている間、光の照明下の手の画像が1つ以上のカメラによってキャプチャされ、キャプチャされた画像が手の位置及び/又は構成を判定するために解析される。タッチ感知面又は他の直接接触機構又は近接ベースの機構の信号を使用することと対照的に、手に向けられた画像センサからの信号を使用して入力ジェスチャを判定することで、ユーザは、特定の入力デバイス又は入力領域によって課せられる制約を経験せずに、手で入力ジェスチャを提供するときに、大きな運動を実行するか、又は相対的に静止状態を保つかを自由に選択することができる。
図7Aの部分(A)は、ユーザの手の人差し指7108上の(例えば、親指7106に隣接する人差し指7108の側部上の)親指7106のタップ入力を示す。親指7106は、矢印7110によって示される軸に沿って移動し、この移動は、上昇位置7102からタッチダウン位置7104に移動する(例えば、親指7106が人差し指7110と接触し、人差し指7110上に置かれたままである)ことと、任意選択的に、親指7106が人差し指7110と接触した後、閾値時間(例えば、タップ時間閾値)内で、タッチダウン位置7104から上昇位置7102に移動することとを含む。いくつかの実施形態では、人差し指の側部から親指を持ち上げる必要なく、タップ入力が検出される。いくつかの実施形態では、タップ入力は、親指の下方移動の後に親指の上方移動が続き、親指が閾値時間未満、人差し指の側部と接触しているという判定に従って検出される。いくつかの実施形態では、タップホールド入力は、親指が上昇位置7102からタッチダウン位置7104まで移動し、少なくとも第1の閾値時間(例えば、タップ時間閾値又はタップ時間閾値よりも長い別の時間閾値)、タッチダウン位置7104にとどまるという判定に従って検出される。いくつかの実施形態では、コンピュータシステムは、人差し指上の親指によるタップホールド入力を検出するために、手全体が、少なくとも第1の閾値時間、ある位置で実質的に静止したままであることを必要とする。いくつかの実施形態では、タッチホールド入力は、手が実質的に静止したままであることを必要とせずに検出される(例えば、親指が人差し指の側部に置かれている間、手全体が移動することができる)。いくつかの実施形態では、タップホールドラッグ入力は、親指が人差し指の側部にタッチし、親指が人差し指の側部に静止している間に手全体が移動するときに検出される。
図71Aの部分(B)は、人差し指7118を横切る親指7116の移動(例えば、人差し指の掌側から背面への)プッシュ又はフリック入力を示す。親指7116は、人差し指7118を横切って(例えば、人差し指7118の中節骨を横切って)、矢印7120によって示される軸に沿って後退位置7112から伸長位置7114まで移動する。いくつかの実施形態では、親指の伸長移動は、例えば、親指による上方フリック入力のように、人差し指の側部から離れる上方移動を伴う。いくつかの実施形態では、人差し指は、親指が前方及び上方に移動する間、親指の方向と反対方向に移動する。いくつかの実施形態では、逆フリック入力は、伸長位置7114から後退位置7112に移動する親指によって実行される。いくつかの実施形態では、人差し指は、親指が後方及び下方に移動する間、親指の方向と反対方向に移動する。
図7Aの部分(C)は、人差し指7128に沿った(例えば、親指7126に隣接する人差し指7128の側部又は掌の側部に沿った)親指7126の移動によるスワイプ入力を示す。親指7126は、人差し指7128の近位位置7122から(例えば、人差し指7118の基節骨又はその近傍)遠位位置7124(例えば、人差し指7118の末節骨の又はその近傍)まで、及び/又は遠位位置7124から近位位置7122まで、矢印7130によって示される軸に沿って人差し指7128の長さに沿って移動する。いくつかの実施形態では、人差し指は、任意選択的に、伸長状態(例えば、実質的に直線)又は屈曲状態である。いくつかの実施形態では、人差し指は、スワイプ入力ジェスチャで親指が移動する間、伸張状態と屈曲状態との間を移動する。
図7Aの部分(D)は、様々な指(例えば、人差し指、中指、薬指、及び任意選択的に小指)の様々な指骨上での親指7106のタップ入力を示す。例えば、部分(A)に示されるような親指7106は、上昇位置7102から部分(D)に示される7130~7148のいずれかに示されるようなタッチダウン位置まで移動する。タッチダウン位置7130では、親指7106は、人差し指7108の基節骨上の位置7150に接触して示されている。タッチダウン位置7134では、親指7106は、人差し指7108の中節骨上の位置7152に接触している。タッチダウン位置7136では、親指7106は、人差し指7108の末節骨上の位置7154に接触している。
7138、7140、及び7142に示されるタッチダウン位置では、親指7106は、中指の基節骨、中指の中節骨、及び中指の末節骨に対応する位置7156、7158、及び7160にそれぞれ接触する。
7144、7146、及び7150に示されるタッチダウン位置では、親指7106は、薬指の基節骨、薬指の中節骨、及び薬指の末節骨に対応する位置7162、7164、及び7166にそれぞれ接触する。
様々な実施形態では、別の指の異なる部分又は2つの並列する指の異なる部分上での親指7106によるタップ入力は、異なる入力に対応し、それぞれのユーザインタフェースコンテキストで異なる動作をトリガする。同様に、いくつかの実施形態では、異なるプッシュ又はクリック入力が、異なる指及び/又は指の異なる部分を横切る親指によって実行されて、それぞれのユーザインタフェース接触で異なる動作をトリガすることができる。同様に、いくつかの実施形態では、異なる指に沿って、及び/又は異なる方向に(例えば、指の遠位端又は近位端に向かって)親指によって実行される異なるスワイプ入力が、それぞれのユーザインタフェースコンテキストで異なる動作をトリガする。
いくつかの実施形態では、コンピュータシステムは、タップ入力、フリック入力、及びスワイプ入力を、親指の移動のタイプに基づいて異なるタイプの入力として処理する。いくつかの実施形態では、コンピュータシステムは、所与の入力タイプ(例えば、タップ入力タイプ、フリック入力タイプ、スワイプ入力タイプなど)の異なるサブ入力タイプ(例えば、近位、中間、遠位サブタイプ、又は人差し指、中指、薬指、若しくは小指サブタイプ)として親指によってタップ、タッチ、又はスワイプされる異なる指位置を有する入力を処理する。いくつかの実施形態では、移動する指(例えば、親指)によって実行される移動量、及び/又は指の移動に関連付けられる他の移動の尺度(例えば、速度、初期速度、終了速度、持続時間、方向、移動パターンなど)が使用されて、指入力によってトリガされる動作に定量的に影響を与える。
いくつかの実施形態では、コンピュータシステムは、タップスワイプ入力(例えば、親指が他の指へのタッチダウン後に、指の側部に沿ってスワイプする)、タップフリック入力(例えば、親指が他の指へのタッチダウン後に、掌の側部から指の後部まで指を横切ってフリックする)、ダブルタップ入力(例えば、ほぼ同じ位置での指の側部上の2連続タップ)などの、親指による一連の移動を組み合わせた組み合わせ入力タイプを認識する。
いくつかの実施形態では、ジェスチャ入力は、親指の代わりに人差し指によって実行される(例えば、人差し指が親指上でタップ又はスワイプを実行するか、又は親指及び人差し指が互いに向かって動いてピンチジェスチャを実行する)。いくつかの実施形態では、手首の移動(例えば、水平方向又は垂直方向での手首のフリック)は、指の移動入力の直前、直後(例えば、閾値時間内)、又は同時に実行されて、手首の移動による修正入力のない指の移動入力と比較して、現在のユーザインタフェースコンテキストで追加の動作、異なる動作、又は修正された動作をトリガする。いくつかの実施形態では、ユーザの顔に面するユーザの掌で実行される指入力ジェスチャは、ユーザの顔と反対に面するユーザの掌で実行される指入力ジェスチャとは異なるタイプのジェスチャとして処理される。例えば、ユーザに面するユーザの掌で実行されるタップジェスチャは、ユーザの顔と反対に面するユーザの掌で実行されるタップジェスチャに応答して実行される動作(例えば、同じ動作)と比較して、プライバシー保護が追加(又は低減)された動作を実行する。
1つのタイプの指入力を使用して、本開示で提供される実施例において動作タイプをトリガすることができるが、他の実施形態では、同じタイプの動作をトリガするために、他のタイプの指入力が任意選択的に使用される。
図7Bは、いくつかの実施形態では、ユーザインタフェースオブジェクト7172~7194を含むメニュー7170を示す例示的なユーザインタフェースコンテキストを示す。
いくつかの実施形態では、メニュー7170は、複合現実環境(例えば、空中に浮遊し、又は三次元環境内の物理的オブジェクトに重なり、複合現実環境に関連付けられた動作又は物理的オブジェクトに関連付けられた動作に対応する)に表示される。例えば、メニュー7170は、デバイス7100の1つ以上の後面カメラによってキャプチャされた物理的環境のビューの少なくとも一部と共に(例えば、重ねて)デバイス(例えば、デバイス7100(図7C)又はHMD)のディスプレイの表示によって表示される。いくつかの実施形態では、メニュー7170は、デバイス(例えば、ヘッドアップディスプレイ、又はHMD)の透明又は半透明ディスプレイ上に表示され、このディスプレイを通じて物理的環境が可視である。いくつかの実施形態では、メニュー7170は、仮想コンテンツによって囲まれたパススルー部分(例えば、物理的周囲が可視である透明又は半透明の部分、又は周囲の物理的環境のカメラビューを表示する部分)を含むユーザインタフェースに表示される。いくつかの実施形態では、複合現実環境において動作を実行させるジェスチャ入力を実行するユーザの手が、デバイスのディスプレイ上でユーザにとって可視である。いくつかの実施形態では、複合現実環境において動作を実行させるジェスチャ入力を実行するユーザの手は、デバイスのディスプレイ上でユーザにとって不可視である(例えば、ユーザに物理的世界のビューを提供するカメラは、ユーザの指入力をキャプチャするカメラとは異なる視野を有する)。
いくつかの実施形態では、メニュー7170は、仮想現実環境に表示される(例えば、仮想空間内に浮かぶ、又は仮想面に重なる)。いくつかの実施形態では、手7200は、仮想現実環境において可視である(例えば、1つ以上のカメラによってキャプチャされた手7200の画像が仮想現実設定にレンダリングされる)。いくつかの実施形態では、手7200の表現(例えば、手7200の漫画版)が、仮想現実設定においてレンダリングされる。いくつかの実施形態では、手7200は、仮想現実環境において不可視である(例えば、省略される)。いくつかの実施形態では、デバイス7100(図7C)は、(例えば、デバイス7100がHMDであるとき)仮想現実環境において不可視である。いくつかの実施形態では、デバイス7100の画像又はデバイス7100の表現は、仮想現実環境において可視である。
いくつかの実施形態では、ユーザインタフェースオブジェクト7172~7194のうちの1つ以上は、(例えば、対応するアプリケーションを起動する動作を実行するための)アプリケーション起動アイコンである。いくつかの実施形態では、ユーザインタフェースオブジェクト7172~7194のうちの1つ以上は、アプリケーション内でそれぞれの動作を実行する(例えば、ボリュームを上げる、ボリュームを下げる、再生する、一時停止する、早送りする、巻き戻す、リモートデバイスとの通信を開始する、リモートデバイスとの通信を終了する、リモートデバイスとの通信を伝達する、ゲームを開始するなど)ためのコントロールである。いくつかの実施形態では、ユーザインタフェースオブジェクト7172~7194のうちの1つ以上は、(例えば、リモートデバイスのそれぞれのユーザとの通信を開始する動作を実行するための)リモートデバイスのユーザのそれぞれの表現(例えば、アバター)である。いくつかの実施形態では、ユーザインタフェースオブジェクト7172~7194のうちの1つ以上は、メディア(例えば、画像、仮想オブジェクト、オーディオファイル、及び/又はビデオファイル)の表現(例えば、サムネイル、二次元画像、又はアルバムカバー)である。例えば、画像の表現であるユーザインタフェースオブジェクトをアクティブ化することにより、画像は、(例えば、1つ以上のカメラによって検出され、コンピュータ生成現実ビューに表示された表面に対応する位置(例えば、物理的環境内の表面に対応する位置、又は仮想空間に表示される表面に対応する位置に)表示される。
手7200の親指が、図7Aに関して説明された入力ジェスチャを実行する際、メニュー7170に対応する動作が、検出される入力ジェスチャの位置及び/又はタイプに応じて実行される。例えば、y軸に沿った親指の移動(例えば、図7Aの部分(C)に関して説明されるように、人差し指上の近位位置から人差し指上の遠位位置までの移動)を含む入力に応答して、現在の選択インジケータ7198(例えば、輪郭によるオブジェクトの強調表示又はオブジェクトの外観の変化などの、セレクタオブジェクト又は可動視覚的効果)は、アイテム7190から後続のユーザインタフェースオブジェクト7192へ右方に反復される。いくつかの実施形態では、人差し指上の遠位位置から人差し指上の近位位置までy軸に沿った親指の移動を含む入力に応答して、現在の選択インジケータ7198は、アイテム7190から前のユーザインタフェースオブジェクト7188へ左方に反復される。いくつかの実施形態では、人差し指上での親指のタップ入力(例えば、図7Aの部分(A)に関して説明されるようなz軸に沿った親指の移動)を含む入力に応答して、現在選択されているユーザインタフェースオブジェクト7190がアクティブ化され、現在選択されているユーザインタフェースオブジェクト7190に対応する動作が実行される。例えば、ユーザインタフェースオブジェクト7190は、アプリケーション起動アイコンであり、ユーザインタフェースオブジェクト7190が選択されている間にタップ入力に応答して、ユーザインタフェースオブジェクト7190に対応するアプリケーションが起動され、ディスプレイ上に表示される。いくつかの実施形態では、後退位置から伸長位置へのx軸に沿った親指の移動を含む入力に応答して、現在の選択インジケータ7198は、アイテム7190から上方のユーザインタフェースオブジェクト7182へ上方に移動する。ユーザインタフェースオブジェクト7172~7194のうちの1つ以上に関して提供される他のタイプの指入力が可能であり、任意選択的に、入力に従ってユーザインタフェースオブジェクト(単数又は複数)に対応する他のタイプの動作を実行させる。
図7Cは、コンピュータシステム(例えば、デバイス7100又はHMD)によって表示される、複合現実ビュー(例えば、物理的環境の拡張現実ビュー)において可視であるメニュー7170の視覚的インジケーションを示す。いくつかの実施形態では、物理的環境内の手7200は、7200’に例示されるように、表示された拡張現実ビュー内で(例えば、カメラによってキャプチャされた物理的環境のビューの一部として)可視である。いくつかの実施形態では、手7200は、メニュー7170が表示される透明又は半透明のディスプレイ面を通して可視である(例えば、デバイス7100は、パススルー部分を備えたヘッドアップディスプレイ又はHMDである)。
いくつかの実施形態では、図7Cに示されるように、メニュー7170は、ユーザの手の所定部分(例えば、親指の先端)に対応し、ユーザの手の配向に対応する配向を有する、複合現実環境内の位置に表示される。いくつかの実施形態では、ユーザの手が物理的環境(例えば、ユーザの手、又はユーザの目、又はユーザを取り囲む物理的オブジェクト若しくは壁をキャプチャするカメラ)に対して移動する(例えば、横方向に移動する又は回転する)とき、メニュー7170は、ユーザの手で複合現実環境において移動するように示されている。いくつかの実施形態では、メニュー7170は、複合現実環境に向けられたユーザの視線の移動に従って移動する。いくつかの実施形態では、メニュー7170は、ディスプレイ上に示される物理的環境のビューに関係なく、ディスプレイ上の固定位置に表示される。
いくつかの実施形態では、メニュー7170は、ユーザの手の準備完了姿勢(例えば、人差し指の側部に置かれた親指)を検出したことに応答して、ディスプレイ上に表示される。いくつかの実施形態では、準備完了姿勢の手を検出したことに応答して表示されるユーザインタフェースオブジェクトは、現在のユーザインタフェースコンテキスト及び/又は複合現実環境内のユーザの視線の位置に応じて異なる。
図7D~7Eは、いくつかの実施形態による、例示的な非準備完了状態構成(例えば、休止構成)(図7D)及び例示的な準備完了状態構成(図7E)における手7200を示す。図7D~7Eを参照して説明される入力ジェスチャは、図9におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
図7Dでは、手7200は、例示的な非準備完了状態構成(例えば、休止構成(例えば、手が弛緩した又は任意の状態にあり、親指7202は人差し指7204上に置かれていない))で示されている。例示的なユーザインタフェースコンテキストでは、ユーザインタフェースオブジェクト7208、7210、及び7212(例えば、アプリケーションアイコン、メディアオブジェクト、コントロール、メニュー項目など)を含むコンテナオブジェクト7206(例えば、アプリケーションドック、フォルダ、コントロールパネル、メニュー、プラッタ、プレビューなど)は、コンピュータシステム(例えば、図1のコンピュータシステム101(例えば、デバイス7100、HMD、又は他のデバイスの中でも上記を含むシステム))の表示生成コンポーネント(例えば、図1、図2、及び図4の表示生成コンポーネント120(例えば、タッチスクリーンディスプレイ、立体プロジェクタ、ヘッドアップディスプレイ、HMDなど))によって三次元環境(例えば、仮想環境又は複合現実環境)に表示される。いくつかの実施形態では、手の休止構成は、準備完了状態構成ではない手構成の一例である。例えば、必ずしも弛緩し静止しておらず、準備完了状態のジェスチャを検出するための基準(例えば、親指が人差し指(例えば、人差し指の中節骨)に置かれている)を満たさない他の手構成も、非準備完了状態構成として分類される。例えば、ユーザが空中で手を振っている、又は対象物を保持する、又は拳を握っているなどの場合、いくつかの実施形態では、コンピュータシステムは、ユーザの手が手の準備完了状態を検出するための基準を満たしていないと判定し、ユーザの手が非準備完了状態構成にあると判定する。いくつかの実施形態では、手の準備完了状態構成を検出するための基準は、ユーザが自分の手構成を変化させたことを検出し、その変化の結果、ユーザの親指がユーザの人差し指の所定の部分(例えば、人差し指の中節骨)に置かれたことを含む。いくつかの実施形態では、準備完了状態構成を検出するための基準は、手が準備完了状態構成にあることをコンピュータシステムが認識するために、手ジェスチャの変化の結果、少なくとも第1の閾値時間、ユーザの親指がユーザの人差し指の所定の部分上に置かれることを要件とする。いくつかの実施形態では、ユーザが自分の手構成を変化させず、準備完了状態構成に入った後に、少なくとも第2の閾値時間、有効な入力ジェスチャを提供しなかった場合、コンピュータシステムは、現在の手構成を非準備完了状態構成として処理する。コンピュータシステムでは、ユーザが自分の現在の手構成を変化させ、次いで準備完了状態構成を再認識するために準備完了状態構成に戻る必要がある。いくつかの実施形態では、準備完了状態構成は、例えば、ユーザが、手の意図される準備完了状態構成、及び任意選択的に、準備完了状態構成の許容可能な変動範囲を、コンピュータシステムによって提供されるジェスチャ設定環境内のコンピュータシステムに対して示すことによってユーザ構成可能かつユーザ自己定義可能である。
いくつかの実施形態では、コンテナ7206が、(例えば、図7D及び7Eに示されるように)複合現実環境に表示される。例えば、コンテナ7206は、デバイス7100の1つ以上の後面カメラによってキャプチャされる物理的環境のビューの少なくとも一部を有するデバイス7100のディスプレイによって表示される。いくつかの実施形態では、物理的環境内の手7200はまた、7200bに示されるように、例えば、手と、複合現実環境の表示されたビューで表される物理的環境との間の実際の空間関係を有して、表示された複合現実環境において可視である。いくつかの実施形態では、コンテナ7206及び手7200は、ユーザから遠隔に配置され、遠隔物理的環境と結合されたカメラのライブフィードを介して表示される物理的環境に関連して表示される。いくつかの実施形態では、コンテナ7206は、ユーザを取り囲む物理的環境(例えば、7200bに示されるような手7200を含む)が可視であるデバイスの透明又は半透明ディスプレイ上に表示される。
いくつかの実施形態では、コンテナ7206は、仮想現実環境に表示される(例えば、仮想空間内に浮いている)。いくつかの実施形態では、手7200は、仮想現実設定において可視である(例えば、1つ以上のカメラによってキャプチャされた手7200の画像が仮想現実環境にレンダリングされる)。いくつかの実施形態では、手7200の表現は、仮想現実環境において可視である。いくつかの実施形態では、手7200は、仮想現実環境において不可視である(例えば、省略される)。いくつかの実施形態では、デバイス7100は、仮想現実環境において不可視である。いくつかの実施形態では、デバイス7100の画像又はデバイス7100の表現は、仮想現実環境において可視である。
いくつかの実施形態では、手7200が、(例えば、手の姿勢が変化する、又は準備完了状態構成に入る閾値時間内に有効な入力ジェスチャを提供することができないために)準備完了状態構成にない(例えば、任意の非準備完了状態構成にある、又は準備完了状態構成にとどまることを中止する)間、コンピュータシステムは、現在のユーザインタフェースコンテキストで動作を実行するための(手が準備完了状態構成に入ったかどうかについての認識以外の)入力ジェスチャ認識を実行せず、その結果、手7200によって実行される入力ジェスチャ(例えば、図7Aの部分(A)に関して説明されるような、矢印7110によって示される軸に沿った親指の移動を含む、人差し指上での親指のタップ、図7Aの部分(B)に関して説明されるような、矢印7120によって示される軸に沿った、人差し指を横切る親指の移動、及び/又は図7Aの部分(C)に関して説明されるような、矢印7130によって示される軸に沿った、人差し指上での親指の移動)に応答して、どのような動作も実行されない。言い換えれば、コンピュータシステムは、入力ジェスチャを有効と認識し、現在のユーザインタフェースコンテキストで対応する動作を実行するために、ユーザを準備完了状態構成とし(例えば、非準備完了状態構成から準備完了状態構成に変化させ)、その後、(例えば、手が準備完了状態構成に入る閾値時間内に)現在のユーザインタフェースコンテキストのための有効な入力ジェスチャを提供する必要がある。いくつかの実施形態では、有効な入力ジェスチャが、準備完了状態構成の手を最初に検出することなく検出される場合、コンピュータシステムは、一定のタイプの動作を実行し(例えば、現在表示されているユーザインタフェースオブジェクトと相互作用し(例えば、スクロール又はアクティブ化し)、他のタイプの動作(例えば、新たなユーザインタフェースを呼び出す、システムレベル動作をトリガする(例えば、マルチタスキングユーザインタフェース又はアプリケーション起動ユーザインタフェースまでナビゲートする、デバイス機能制御パネルをアクティブ化するなど))を禁止する。これらの保護は、ユーザが現在のユーザインタフェースコンテキスト内で動作又は特定のタイプの動作を実行することを望まない場合、不注意かつ意図しない動作のトリガを防止及び低減し、ユーザの自由な手の移動の不必要な制約を回避するのに役立つ。加えて、準備完了状態構成に小さい個別の運動要件を課すことは、ユーザに(例えば、ユーザの腕又は手を過度に移動させることによる)過度の身体的負担を与えず、社会的環境下でユーザインタフェースと相互作用するときに、ユーザにとっての違和感を減らす傾向がある。
コンテナ7206のユーザインタフェースオブジェクト7208~7212は、例えば、1つ以上のアプリケーション起動アイコン、アプリケーション内の動作を実行するための1つ以上の制御部、リモートデバイスのユーザの1つ以上の表現、及び/又は(例えば、ユーザインタフェースオブジェクト7172~7194に関して上述したような)メディアの1つ以上の表現を含む。いくつかの実施形態では、ユーザインタフェースオブジェクトが選択され、コンピュータシステムによって手が最初に準備完了状態構成で発見されることなく入力ジェスチャが検出されると、コンピュータシステムは、入力ジェスチャに従って、選択されたユーザインタフェースオブジェクトに関して第1の動作を実行する(例えば、選択されたアプリケーションアイコンに対応するアプリケーションを起動する、選択された制御部の制御値を変更する、選択されたユーザの表現についてユーザとの通信を開始する、選択されたメディアアイテムの表現に対応するメディアアイテムの再生を開始する)。ユーザインタフェースオブジェクトが選択され、コンピュータシステムによって手が最初に準備完了状態構成で発見された状態で同じ入力ジェスチャが検出されると、コンピュータシステムは、第1の動作とは異なる第2の動作を実行する(例えば、第2の動作は、現在選択されているユーザインタフェースオブジェクトに固有ではないシステム動作である(例えば、システム動作は、手が準備完了状態構成で発見されたことに応答してシステムアフォーダンスを表示することと、入力ジェスチャに応答してシステムメニューを起動することと、を含む))。いくつかの実施形態では、手を準備完了状態構成に置くことにより、現在のユーザインタフェースコンテキスト内の任意の機能とペアリングされていない特定の入力ジェスチャ(例えば、親指フリックジェスチャ)が有効化され、手が準備完了状態構成で発見された後に、新たに有効化された入力ジェスチャが検出されると、新たに有効化された入力ジェスチャに関連付けられた追加の機能を、コンピュータシステムに実行させる。いくつかの実施形態では、コンピュータシステムは、任意選択的に、準備完了状態構成の手を検出したことに応答して、ユーザインタフェースインジケーション(例えば、追加のオプション、システムアフォーダンス、又はシステムメニュー)を表示し、ユーザに、新たに有効化された入力ジェスチャを用いてユーザインタフェースインジケーションと相互作用させる、又は追加機能をトリガさせる(例えば、システムアフォーダンスが表示されるときに検出される親指フリックジェスチャは、システムメニューを表示させる、システムメニューが表示されるときに検出される親指フリックジェスチャは、システムメニューによるナビゲーション又はシステムメニューの拡張を生じさせる)。
図7Eでは、手7200が準備完了状態構成で示されている(例えば、親指7202が人差し指7204上に置かれている)。手7200が準備完了状態構成に移動したという判定に従って、コンピュータシステムは、システムアフォーダンスアイコン7214を(例えば、親指の先端に対応する複合現実環境の領域内に)表示する。システムアフォーダンスアイコン7214は、(例えば、親指フリックジェスチャ又は他の所定の入力ジェスチャに応答して)1つ以上のユーザインタフェースオブジェクト(例えば、異なるアプリケーションに対応するアプリケーションアイコンのメニュー、現在開放されているアプリケーションのメニュー、デバイス制御ユーザインタフェースなど)を表示及び/又はアクセスすることができる領域を示す。いくつかの実施形態では、システムアフォーダンスアイコン7214が表示されている間、コンピュータシステムは、(例えば、図7Fに関して以下に説明されるように)手7200によって実行される入力ジェスチャに応答して動作を実行する。
いくつかの実施形態では、非準備完了状態構成から準備完了状態構成への手7200の移動は、図7A~図7Cに関して上述したように、センサシステム(例えば、画像センサ、又は他のセンサ(例えば、運動センサ、タッチセンサ、振動センサなど))によってキャプチャされたデータを解析することによって検出される。いくつかの実施形態では、センサシステムは、1つ以上の撮像センサ(例えば、ポータブルデバイス又はヘッドマウントシステムに関連付けられた1つ以上のカメラ)、1つ以上の深度センサ、及び/又は1つ以上の光エミッタを含む。
いくつかの実施形態では、システムアフォーダンスアイコン7214は、複合現実環境に表示される。例えば、システムアフォーダンスアイコン7214は、表示生成コンポーネント(例えば、デバイス7100又はHMDのディスプレイ)によって、コンピュータシステムの1つ以上のカメラ(例えば、デバイス7100の1つ以上の後面カメラ、又はHMDの前面若しくは下面カメラ)によってキャプチャされた物理的環境のビューの少なくとも一部と共に表示される。いくつかの実施形態では、システムアフォーダンスアイコン7214は、デバイス(例えば、ヘッドアップディスプレイ、又はパススルー部分を備えたHMD)の透明又は半透明ディスプレイ上に表示され、このディスプレイを通じて物理的環境が可視である。いくつかの実施形態では、システムアフォーダンスアイコン7214は、仮想現実環境に表示される(例えば、仮想空間内に浮く)。
いくつかの実施形態では、コンピュータシステムは、現在のユーザインタフェースコンテキストの有効な入力ジェスチャを提供することなく、手の姿勢が変化し、もはや準備完了状態構成にないと検出したことに応答して、システムアフォーダンスアイコン7214の表示を停止する。いくつかの実施形態では、コンピュータシステムは、システムアフォーダンスアイコン7214の表示を停止し、閾値時間を超えて有効な入力ジェスチャを提供することなく、手が準備完了状態姿勢にとどまっていることを検出したことに応答して、準備完了状態構成を検出するための基準がもはや満たされていないと判定する。いくつかの実施形態では、システムアフォーダンスアイコン7214の表示を停止した後、ユーザの手の姿勢の変化により、準備完了状態構成を検出するための基準が再度満たされているという判定に従って、コンピュータシステムは、(例えば、新しい手の位置において親指の先端で)システムアフォーダンスアイコンを再表示する。
いくつかの実施形態では、手の2つ以上の準備完了状態構成が、任意選択的に、コンピュータシステムによって定義及び認識され、手の各準備完了状態構成が、コンピュータシステムに異なる種類のアフォーダンスを表示させ、異なるセットの入力ジェスチャ及び/又は動作が現在のユーザインタフェースコンテキストで実行されることを可能にする。例えば、第2の準備完了状態構成は、任意選択的に、親指が人差し指以外の指に置かれるように、全ての指を拳状に協働させる。コンピュータシステムがこの第2の準備完了状態構成を検出すると、コンピュータシステムは、アイコン7214から異なるシステムアフォーダンスアイコンを表示し、後続の入力ジェスチャ(例えば、人差し指を横切る親指スワイプ)は、コンピュータシステムにシステムシャットダウン動作を開始させる、又は電力オプション(例えば、シャットダウン、スリープ、一時停止など)のメニューを表示させる。
いくつかの実施形態では、コンピュータが準備完了状態構成にある手を検出したことに応答して表示されるシステムアフォーダンスアイコンは、複数の現在インストールされているアプリケーションを含む選択ユーザインタフェースを示すホームアフォーダンスであり、所定の入力ジェスチャ(例えば、図7A~図7Cに関して説明されるような親指フリック入力、親指プッシュ入力、又は他の入力)の検出に応答して表示される。いくつかの実施形態では、それぞれのアプリケーションを起動するための複数のアプリケーションアイコンを含むアプリケーションドックが、コンピュータが準備完了状態構成の手を検出したことに応答して表示され、後続のアクティブ化又は手による選択入力ジェスチャが、コンピュータシステムに対応するアプリケーションを起動させる。
図7F~図7Gは、様々な実施形態による、手が準備完了状態構成で発見された状態で検出された入力ジェスチャに応答して実行される動作の様々な例を提供する。図7F~図7Gは、ユーザの視線に応じて実行される異なる動作を説明するが、いくつかの実施形態では、視線は、準備完了状態ジェスチャ及び/又は入力ジェスチャの検出において、それらの各種機能の実行をトリガするのに必要な要素ではないと理解されたい。いくつかの実施形態では、ユーザの視線と手の構成との組み合わせは、コンピュータシステムによって現在のユーザインタフェースコンテキストと併せて使用され、どの動作が実行されるかを判定する。
図7Fは、いくつかの実施形態による、準備完了状態構成の手で実行される例示的な入力ジェスチャと、表示された三次元環境(例えば、仮想現実環境又は複合現実環境)の例示的な応答とを示す。いくつかの実施形態では、コンピュータシステム(例えば、デバイス7100又はHMD)は、親指の先端にシステムアフォーダンス(例えば、システムアフォーダンスアイコン7214)を表示して、手の準備完了状態構成が検出されていることと、システムジェスチャ(例えば、ドック又はシステムメニューを表示するための親指フリックジェスチャ、音声ベースアシスタントをアクティブ化する親指タップジェスチャ)が、例えば、現在のユーザインタフェースコンテキストで既に利用可能な他の入力ジェスチャ(例えば、ユーザインタフェースオブジェクトをスクロールするための親指スワイプ入力など)に加えて、所定のシステム動作をトリガすることが可能になっていることと、を示す。いくつかの実施形態では、システムアフォーダンスは、ジェスチャ入力を提供する際、空間内の手全体の移動及び/又は親指の移動に従って移動し、その結果、システムアフォーダンスの位置は、手の所定の部分(例えば、手7200の親指の先端)に対して固定されたままである。
いくつかの実施形態によれば、図7Fの部分(A)~(C)は、コンピュータシステムの表示生成コンポーネント(例えば、デバイス7100のタッチスクリーンディスプレイ又は立体プロジェクタ又はHMDのディスプレイ)によって表示される三次元環境7300(例えば、仮想現実環境又は複合現実環境)を示す。いくつかの実施形態では、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイ、ヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表す。
いくつかの実施形態では、三次元環境7300は、仮想オブジェクト(例えば、ユーザインタフェースオブジェクト7208、7210、及び7212)を含む仮想現実環境である。いくつかの実施形態では、仮想現実環境は、デバイス7100が位置する物理的環境に対応しない。いくつかの実施形態では、仮想現実環境は、物理的環境に対応する(例えば、仮想オブジェクトの少なくともいくつかは、デバイス7100の1つ以上のカメラを使用して判定された物理的環境内の物理的オブジェクトの位置に基づいて、対応する物理的環境内の物理的オブジェクトの位置に対応する仮想現実環境内の位置に表示される)。いくつかの実施形態では、三次元環境7300は、複合現実環境である。いくつかの実施形態では、デバイス7100は1つ以上のカメラを含み、1つ以上のカメラは、デバイス7100の1つ以上のカメラの視野内にある周囲の物理的環境の少なくとも一部のライブビューを連続的に提供するように構成されており、複合現実環境は、デバイス7100の1つ以上のカメラの視野内にある周囲の物理的環境の部分に対応する。いくつかの実施形態では、複合現実環境は、デバイス7100の1つ以上のカメラのライブビューを少なくとも部分的に含む。いくつかの実施形態では、複合現実環境は、(例えば、1つ以上のカメラを使用して判定された物理的環境内の物理的オブジェクトの位置に基づいて、又はデバイス7100の1つ以上のカメラのライブビューを使用して、物理的環境内の物理的オブジェクトの位置に対応する三次元環境7300の位置で)、ライブカメラビューの代わりに表示される(例えば、重畳される、重ねられる、又は置き換えられる1つ以上の仮想オブジェクトを含む。いくつかの実施形態では、デバイス7100のディスプレイは、ユーザがディスプレイの少なくとも部分的に透明な領域を通じて周囲の物理的環境の少なくとも一部を見ることができるように、少なくとも部分的に透明である(例えば、25%、20%、15%、10%、若しくは5%未満などの閾値透明度未満、又はパススルー部分を有する)ヘッドアップディスプレイを含む。いくつかの実施形態では、三次元環境7300は、ディスプレイ上に表示される1つ以上の仮想オブジェクト(例えば、ユーザインタフェースオブジェクト7208、7210、及び7212を含むコンテナ7206)を含む。いくつかの実施形態では、三次元環境7300は、ディスプレイの透明領域を通じて可視である周囲の物理的環境の一部に重畳されて現れるように、ディスプレイの透明領域上に表示される1つ以上の仮想オブジェクトを含む。いくつかの実施形態では、1つ以上のそれぞれの仮想オブジェクトは、(例えば、ディスプレイの透明領域を通じて可視である物理的環境の一部を監視するデバイス7100の1つ以上のカメラを用いて判定されるような、物理的環境内の物理的オブジェクトの位置に基づいて)それぞれの仮想オブジェクトがそれぞれの物理的オブジェクトの代わりに表示されるように(例えば、それぞれの物理的オブジェクトのビューを不明瞭にし置き換えるように)、物理的環境内の物理的オブジェクトの位置に対応する三次元環境7300内の位置に表示される。
いくつかの実施形態では、コンピュータシステムのセンサシステム(例えば、デバイス7100又はHMDの1つ以上のカメラ)は、ユーザの手などのユーザの1つ以上の特徴の位置及び/又は移動を追跡する。いくつかの実施形態では、ユーザの手(単数又は複数)(例えば、指)の位置及び/又は移動は、コンピュータシステム(例えば、デバイス7100又はHMD)への入力として機能する。いくつかの実施形態では、ユーザの手は、コンピュータシステム(例えば、デバイス7100又はHMD)の1つ以上のカメラの視野内にあり、ユーザの手の位置及び/又は移動は、コンピュータシステム(例えば、デバイス7100又はHMD)への入力としてコンピュータシステム(例えば、デバイス7100又はHMDの制御ユニット)のセンサシステムによって追跡されるが、ユーザの手は、三次元環境7300には示されない(例えば、三次元環境7300は、1つ以上のカメラからのライブビューを含まず、手は1つ以上のカメラのライブビューの外で編集される、又はユーザの手は、三次元環境7300のライブビューに表示される視野の一部の外側の1つ以上のカメラの視野内にある)。いくつかの実施形態では、図7Fに示される例と同様に、手7200(例えば、ユーザの手の表現、又はデバイス7100の1つ以上のカメラの視野内にある手の一部の表現)が、三次元環境7100において可視である(例えば、レンダリングされた表現として表示される、ライブカメラビューの一部として表示される、又はディスプレイのパススルー部分を通じて可視である)。図7Fでは、手7200は、ジェスチャ入力(例えば、手ジェスチャ入力)を提供するための準備完了状態構成(例えば、人差し指の中央にある親指)にあることが検出される。いくつかの実施形態では、コンピュータシステム(例えば、デバイス7100又はHMD)は、1つ以上のカメラのライブビュー上で画像解析を行うことによって、手7200が準備完了状態構成にあると判定する。手の準備完了状態構成及び入力ジェスチャに関する更なる詳細は、少なくとも図7A~7E及び付随する説明で提供され、簡潔にするためにここでは繰り返さない。
いくつかの実施形態によれば、図7Fの部分(A)は、(例えば、図7FのA(1)~A(2)の手構成の移行によって示されるように)矢印7120によって示される軸に沿った手7200の人差し指の一部を横切る(例えば、人差し指の掌側から後側へ中節骨を横切る)手7200の親指の移動を含む第1のタイプの入力ジェスチャ(例えば、親指フリックジェスチャ又は親指プッシュジェスチャ)を示す。上記のように、いくつかの実施形態では、図7Fに示されるようなジェスチャを実行しながらの手7200の移動(例えば、ジェスチャ中の手全体の移動及び個々の指の相対移動を含む)、及びジェスチャ中の手7200の位置(例えば、手全体の位置及び個々の指の相対位置を含む)が、デバイス7100の1つ以上のカメラによって追跡される。いくつかの実施形態では、デバイス7100は、1つ以上のカメラのライブビュー上で画像解析を行うことによって、手7200によって実行されるジェスチャを検出する。いくつかの実施形態では、手の準備完了状態構成から始まる親指フリックジェスチャが手によって提供されているという判定に従って、コンピュータシステムは、親指フリックジェスチャに対応する第1の動作(例えば、複数のアプリケーション起動アイコンを含むメニュー7170の表示などのシステム動作、又は手が最初に準備完了状態構成で発見されなかった場合には有効にされない現在のユーザインタフェースコンテキストに対応する動作)を実行する。いくつかの実施形態では、手7200によって追加のジェスチャが提供されて、メニューと相互作用する。例えば、メニュー7170の表示後の後続の親指フリックジェスチャは、メニュー7170を三次元環境に追い込み、仮想空間において強化状態で(例えば、メニュー項目のより大きくアニメーション化された表現を用いて)表示させる。いくつかの実施形態では、後続の親指スワイプジェスチャは、メニューの現在選択されている行内で選択インジケータを水平にスクロールし、その後の親指プッシュ又は親指プルジェスチャは、メニューの異なる行にわたって選択インジケータを上下にスクロールする。いくつかの実施形態では、後続の親指タップジェスチャは、三次元環境で起動される現在選択されているメニュー項目(例えば、アプリケーションアイコン)のアクティブ化を停止する。
いくつかの実施形態によれば、図7Fの部分(B)は、(例えば、図7FのB(1)~B(2)への手構成の移行によって示されるように)矢印7130によって示される軸に沿った手7200の人差し指の長さに沿った手7200の親指の移動を含む第2のタイプのジェスチャ(例えば、親指スワイプジェスチャ)を示す。いくつかの実施形態では、ジェスチャは、手が最初に準備完了状態構成で発見されたかどうかに関係なく、現在のユーザインタフェースコンテキストで仮想オブジェクト(例えば、コンテナオブジェクト7206内の仮想オブジェクト7208、7210、及び7212)との相互作用を有効化する。いくつかの実施形態では、親指スワイプジェスチャが準備完了状態構成から開始されたかどうかに応じて、コンテナオブジェクト7206に対する異なるタイプの相互作用が有効化される。いくつかの実施形態では、親指スワイプジェスチャが準備完了状態構成から始まる手によって提供されたという判定に従って、コンピュータシステムは、親指スワイプジェスチャに対応する第2の動作を実行する(例えば、コンテナオブジェクト7206のビューをスクロールして、最初はユーザに不可視であったコンテナオブジェクト7206内の1つ以上の仮想オブジェクトを表示する、又は手が最初に準備完了状態構成で発見されなかった場合には有効化されない現在のユーザインタフェースコンテキストに対応する別の動作)。いくつかの実施形態では、手7200によって追加のジェスチャが提供されて、コンテナオブジェクトと相互作用する、又はシステム動作を実行する。例えば、後続の親指フリックジェスチャは、(例えば、図7F、部分(A)に示すように)メニュー7170を表示させる。いくつかの実施形態では、異なる方向の後続の親指スワイプジェスチャは、コンテナオブジェクト7206のビューを反対方向にスクロールする。いくつかの実施形態では、後続の親指タップジェスチャは、コンテナ7206内の現在選択されている仮想オブジェクトをアクティブ化する。いくつかの実施形態では、親指スワイプジェスチャが準備完了状態構成から開始されなかった場合、親指スワイプジェスチャに応答して、選択インジケータが、手7200の親指の移動の方向に、コンテナ7206内の仮想オブジェクトを通じてシフトされる。
いくつかの実施形態によれば、図7Fの部分(C)は、第3のタイプのジェスチャ入力(例えば、親指タップジェスチャ)(例えば、図7FのC(1)からC(2)への手構成の移行によって示されるように)(例えば、矢印7110によって示される軸に沿って上昇位置から下方に親指を移動させることによって)(例えば、手7200の人差し指の所定の部分(例えば、中節骨)上での手7200の親指のタップ)を示す。いくつかの実施形態では、親指タップジェスチャを完了させるには、人差し指から親指を離すことが必要である。いくつかの実施形態では、ジェスチャは、手が最初に準備完了状態構成で発見されたかどうかに関係なく、現在のユーザインタフェースコンテキストで仮想オブジェクト(例えば、コンテナオブジェクト7206内の仮想オブジェクト7208、7210、及び7212)との相互作用を有効化する。いくつかの実施形態では、親指タップジェスチャが準備完了状態構成から開始されたかどうかに応じて、コンテナオブジェクト7206に対する異なるタイプの相互作用が有効化される。いくつかの実施形態では、手の準備完了状態構成から開始される親指タップジェスチャが手によって提供されたという判定に従って(例えば、ジェスチャは、人差し指上での親指のタップ前に、人差し指から離れて親指を上方に移動させることを含む)、コンピュータシステムは、親指タップジェスチャに対応する第3の動作(例えば、音声ベースアシスタント7302又は通信チャネル(例えば、音声通信アプリケーション)のアクティブ化)、又は手が最初に準備完了状態構成で発見されなかった場合には有効化されない現在のユーザインタフェースコンテキストに対応する別の動作)を実行する。いくつかの実施形態では、手7200によって追加のジェスチャが提供されて、音声ベースのアシスタント又は通信チャネルと相互作用する。例えば、後続の親指フリックジェスチャは、音声ベースのアシスタント又は音声通信ユーザインタフェースを、ユーザの手の隣接位置から三次元環境内の空間内のより遠い位置へと追い込む。いくつかの実施形態では、後続の親指スワイプジェスチャは、音声ベースのアシスタントの異なる事前設定された機能をスクロールする、又は音声通信チャネルの潜在的受信者のリストをスクロールする。いくつかの実施形態では、後続の親指タップジェスチャは、音声ベースのアシスタント又は音声通信チャネルを解除させる。いくつかの実施形態では、親指タップジェスチャが準備完了状態構成から開始されなかった場合、図7Eの部分(C)における親指タップジェスチャに応答して、現在のユーザインタフェースコンテキストで利用可能な動作がアクティブ化される(例えば、現在選択されている仮想オブジェクトがアクティブ化される)。
図7Fに示される例は、単なる例示である。手の準備完了状態構成から開始される入力ジェスチャの検出に応答して追加の及び/又は異なる動作を提供することにより、ユーザは、制御部でユーザインタフェースを乱雑にすることなく追加機能を実行し、それらの機能を実行するためのユーザ入力の数を低減することによって、ユーザインタフェースを更に効率化し、ユーザとデバイスとの間の相互作用中にかかる時間を節約することができる。
図7A~7Fに示されるユーザインタフェース相互作用は、ユーザの視線の位置とは無関係に説明する。いくつかの実施形態では、相互作用は、ユーザの視線の位置又は三次元環境の部分内のユーザの視線の正確な位置に依存しない。しかしながら、いくつかの実施形態では、視線は、システムの応答挙動を修正するために利用され、動作及びユーザインタフェースフィードバックは、ユーザ入力が検出されたときに、ユーザの異なる位置に応じて変更される。図7Gは、いくつかの実施形態による、準備完了状態の手で実行される例示的なジェスチャ、及びユーザの視線に応じて表示された三次元環境の例示的な応答を示す。例えば、図の左側の列(例えば、部分A-0、A-1、A-2、及びA-3)は、1つ以上のジェスチャ入力(例えば、親指フリックジェスチャ、親指スワイプジェスチャ、親指タップジェスチャ、又は上記のうちの2つ以上のシーケンス)が、(例えば、図7G、部分A-0に示すように)ユーザの視線がユーザの手に焦点が合っている間、準備完了状態構成(例えば、親指が人差し指上に置かれている)(例えば、図7E及び図7Fに関連して説明される準備完了状態構成)から開始される手によって提供される例示的なシナリオを示す。図の右側の列(例えば、部分B-0、B-1、B-2、及びB-3)は、1つ以上のジェスチャ入力(例えば、親指フリックジェスチャ、親指スワイプジェスチャ、親指タップジェスチャ、又はそれらのうちの2つ以上のシーケンス)が、ユーザの視線が(例えば、図7G、部分A-0に示されるような)準備完了状態構成のユーザの手以外のユーザインタフェース環境(例えば、三次元環境内のユーザインタフェースオブジェクト又は物理的オブジェクト)に焦点が合っている間、任意選択的に、準備完了状態構成(例えば、親指が人差し指上に置かれている)(例えば、図7E及び図7Fに関連して説明された準備完了状態構成)から開始される手によって提供される例示的なシナリオを示す。いくつかの実施形態では、図7Gに関して説明されるユーザインタフェース応答及び相互作用は、他の物理的オブジェクト又はその所定の部分(例えば、入力ジェスチャを提供するユーザの手とは対照的に、物理的メディアプレーヤデバイスのハウジングの上面又は前面、部屋の壁の物理的窓、物理的コントローラデバイスなど)に関して実行され、それにより、ユーザの視線が上記の他の物理的オブジェクト又はその所定の部分に焦点が合っている間、準備完了状態構成から開始される手によって提供される入力ジェスチャに対して特別な相互作用が有効化される。図7Gの同じ行の左側の列及び右側の列の図(例えば、A-1及びB-1、A-2及びB-2、A-3、及びB-3)は、いくつかの実施形態による、ユーザの視線がユーザの手(又はコンピュータシステムによって制御中の又は制御された物理的オブジェクトとして定義される他の物理的オブジェクト)に焦点が合っているかどうかに応じて、同じユーザインタフェースコンテキストに提供される同じ入力ジェスチャに対する異なるユーザインタフェース応答を示す。図7Gを参照して説明される入力ジェスチャは、図10におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
いくつかの実施形態では、図7Gに示されるように、システムアフォーダンス(例えば、アフォーダンス7214)は任意選択的に、準備完了状態構成における手に対応する三次元の所定の位置に表示される。いくつかの実施形態では、システムアフォーダンスは、手が定常状態構成にあると判定されるときはいつでも、所定の位置(例えば、静的位置又は動的に判定された位置)に常に表示される。いくつかの実施形態では、システムアフォーダンスの動的に判定された位置は、例えば、準備完了状態構成にとどまっている間にユーザの手全体が移動するとき、準備完了状態構成のユーザの手に対して固定される。いくつかの実施形態では、システムアフォーダンスは、ユーザの手が準備完了状態構成に保たれている間に、ユーザの視線が所定の物理的オブジェクト(例えば、準備完了状態構成にあるユーザの手、又は環境内の他の所定の物理的オブジェクト)に向けられていることに応答して(例えば、親指の先端又はその近傍の静的位置)表示され、ユーザの手が準備完了状態構成から離れる、及び/又はユーザの視線が所定の物理的オブジェクトから離れるように移動することに応答して表示が停止される。いくつかの実施形態では、コンピュータシステムは、ユーザの手が準備完了状態構成に保たれている間に、ユーザの視線が所定の物理的オブジェクト(例えば、準備完了状態構成にあるユーザの手、又は環境内の他の所定の物理的オブジェクト)に向けられていることに応答して、第1の外観(例えば、拡大された目立つ外観)を有するシステムアフォーダンスを表示し、ユーザの手が準備完了状態構成から離れる、及び/又はユーザの視線が所定の物理的オブジェクトから離れるように移動することに応答して、第2の外観(例えば、縮小された目立たない外観)を有するシステムアフォーダンスを表示する。いくつかの実施形態では、システムアフォーダンスは、ユーザが入力を提供する準備が整っているというインジケーション(例えば、ユーザの手が準備完了状態構成に保たれている間に、ユーザの手が身体に対する以前の高度から上昇している)に応答して(例えば、ユーザの視線がユーザの手に向けられているかどうかに関係なく)(例えば、親指の先端又はその近傍の静的位置に)表示され、ユーザの手が上昇状態から下降していることに応答して表示を停止される。いくつかの実施形態では、システムアフォーダンスは、ユーザが入力を提供する準備が整っているというインジケーション(例えば、ユーザの手が準備完了状態構成にある、及び/又はユーザの視線が準備完了状態構成にあるユーザの手若しくは所定の物理的オブジェクトに焦点が合っている間に、ユーザの手が身体に対して先の高度から上昇している)に応答して(例えば、単純なインジケータからオブジェクトメニューまで)システムアフォーダンスの外観を変化させ、ユーザが入力を提供する準備ができているというインジケーション(例えば、ユーザの手が上昇状態から下降している、及び/又はユーザの視線がユーザの手若しくは所定の物理的オブジェクトから離れるように移動する)の停止に応答して(例えば、単純なインジケータに)システムアフォーダンスの外観を元に戻す。いくつかの実施形態では、ユーザが入力を提供する準備が整っているというインジケーションは、ユーザの指の1つ以上が物理的コントローラ又はユーザの手にタッチしている(例えば、人差し指がコントローラ上にある、又は親指が人差し指上にある)こと、ユーザの手がユーザの身体に対して低位から高位へ上昇している(例えば、準備完了状態構成の手の上方への手首の回転、又は準備完了状態構成の手の肘の屈曲が存在する)こと、準備完了状態構成へ手構成を変化させることなどを含む。いくつかの実施形態では、これらの実施形態におけるユーザの視線の位置と比較される所定の物理的オブジェクトの物理的位置は、三次元環境に対して静的である(例えば、「世界に固定される」とも言及される)。例えば、システムアフォーダンスは、三次元環境内の壁に表示される。いくつかの実施形態では、これらの実施形態におけるユーザの視線の位置と比較される所定の物理的オブジェクトの物理的位置は、ディスプレイ(例えば、表示生成コンポーネント)に対して静的である(例えば、「ユーザに固定される」とも言及される)。例えば、システムアフォーダンスは、ディスプレイ又はユーザの視野の底部に表示される。いくつかの実施形態では、これらの実施形態におけるユーザの視線の位置と比較される所定の物理的オブジェクトの物理的位置は、ユーザの移動部分(例えば、ユーザの手)又は物理的環境の移動部分(例えば、ハイウェイ上を移動する自動車)に対して静的である。
いくつかの実施形態によれば、図7Gの部分A-0は、三次元環境内の物理的環境内の所定の物理的オブジェクト(例えば、準備完了状態構成の手)に視線を向けているユーザ7320を示す(例えば、ユーザの手7200又はその表現がデバイス7100の1つ以上のカメラの視野内、又はHMD若しくはヘッドアップディスプレイのパススルー部分又は透明部分を通じて可視である)。いくつかの実施形態では、デバイス7100は、ユーザの視線の方向及び/又は対象を判定するために、ユーザに向けられてユーザの目の移動を追跡する(又はユーザの両目の移動を追跡する)1つ以上のカメラ(例えば、前面カメラ)を使用する。例示的な視線追跡技術の更なる詳細は、いくつかの実施形態により、図1~図6に関して、特に図5及び図6に関して提供される。図7Gの部分A-0では、手7200が準備完了状態にある間、ユーザの視線は手7200に向けられているため、(例えば、ユーザの眼球7512をユーザ7200又はユーザの手7200’の表現(例えば、実際の手又は表示生成コンポーネントを介して提示される手の表現)に関連付ける点線によって示される)、システムユーザインタフェース動作(例えば、ユーザインタフェースの他の領域若しくは要素に関連付けられた、又はデバイス7100上で実行する個々のソフトウェアアプリケーションに関連付けられたユーザインタフェース動作ではなく、システムアフォーダンス7214又はシステムアフォーダンスに関連付けられたシステムメニュー(例えば、メニュー7170)に関連付けられたユーザインタフェース動作)が、手7200を用いて実行されるジェスチャに応答して実行される。図7Gの部分B-0は、ユーザの手が準備完了状態構成にある間に、視線が三次元環境内の所定の物理的オブジェクト(例えば、準備完了状態にある手又は他の所定の物理的オブジェクト)(例えば、ユーザの手7200又は他の所定の物理的オブジェクト、又はデバイス7100の1つ以上のカメラの視野内で、又はHMD若しくはヘッドアップディスプレイのパススルー部分若しくは透明部分を通じて可視であるその表現)から離れているユーザを示す。いくつかの実施形態では、コンピュータシステムは、入力ジェスチャに対応するシステム応答を提供するために、手の入力ジェスチャが処理されている間、ユーザの視線が所定の物理的オブジェクト(例えば、ユーザの手又は別の所定の物理的オブジェクト)上にとどまることを必要とする。いくつかの実施形態では、コンピュータシステムは、入力ジェスチャに対応するシステム応答を提供するため、ユーザの視線が所定の物理的オブジェクト上に閾値時間を超えて、所定の安定度でとどまる(例えば、実質的に静止し続けている、又は閾値移動量未満を閾値時間維持している)ことを必要とし、例えば、任意選択的に、時間及び安定度要件が満たされた後、かつ入力ジェスチャが完了する前に、視線は所定の入力ジェスチャから離れて移動することができる。
一例では、図7Gの部分A-1は、手の準備完了状態構成から始まり、矢印7120によって示される軸に沿って手7200の人差し指を横切る親指の前方移動を含む、親指フリックジェスチャを示す。図7Gの部分A-1の準備完了状態構成から開始される親指フリックジェスチャに応答して、ユーザの視線が所定の物理的オブジェクト(例えば、現実世界において、又はコンピュータシステムの表示生成コンポーネントを介して見られる手7200)に向けられているという判定に従って、コンピュータシステムは、三次元環境内にシステムメニュー7170(例えば、アプリケーションアイコンのメニュー)を表示する(例えば、ユーザの親指の先端でシステムアフォーダンス7214を置き換える)。
別の例では、図7Gの部分A-2は、準備完了状態構成から開始され、矢印7130によって示される軸に沿った手7200の人差し指の長さに沿った手7200の親指の移動を含む、親指スワイプジェスチャを示す。本例では、図7Gの部分A-2の手ジェスチャは、コンピュータシステムがシステムメニュー(例えば、メニュー7170)を表示している間に実行される(例えば、システムメニュー7170は、図7Gの部分A-1を参照して本明細書に記載される親指フリックジェスチャに応答して表示される)。図7Gの部分A-2の親指スワイプジェスチャに応答して、準備完了状態構成から開始され、ユーザの視線が所定の物理的オブジェクト(例えば、手7200)に向けられているという判定に従って(例えば、視線が所定の位置、持続時間、及び安定度要件を満たす)、コンピュータシステムは、システムメニュー(例えば、メニュー7170)上の現在の選択インジケータ7198を、手7200の親指の移動方向(例えば、メニュー7170上の隣接するユーザインタフェースオブジェクトへ)移動させる。いくつかの実施形態では、親指スワイプジェスチャは、準備完了状態構成の手から開始され、システムユーザインタフェース要素(例えば、システムメニュー又はシステム制御オブジェクトなど)との連続的な一連のユーザ相互作用を表す、2つ以上の入力ジェスチャのシーケンスのうちの1つである。したがって、いくつかの実施形態では、視線が所定の物理的オブジェクト(例えば、ユーザの手)にとどまるための要件は、任意選択的に、第1の入力ジェスチャ(例えば、図7Gの部分A-1の親指フリックジェスチャ)の開始にのみ適用され、後続の入力ジェスチャ中、ユーザの視線がシステムユーザインタフェース要素に向けられる限り、後続の入力ジェスチャには課せられない。例えば、ユーザの視線がユーザの手に向けられているという判定に従って、又はユーザの視線がユーザの手(例えば、親指の先端)に対して固定された位置に配置されたシステムメニューに向けられているという判定に従って、コンピュータシステムは、親指スワイプジェスチャに応答してシステム動作を実行する(例えば、システムメニュー内をナビゲートする)。
更に別の例では、図7Gの部分A-3は、準備完了状態構成の手から開始され、(例えば、親指が人差し指から上昇位置に移動し、次いで、矢印7110によって示される軸に沿って上昇位置から下方に、親指が人差し指と再度接触する手の位置まで移動することによって)手7200の人差し指上でタッピングする手7200の親指の移動を含む親指タップジェスチャを示す。本例では、図7Gの部分A-3の親指タップジェスチャは、コンピュータシステムがシステムメニュー(例えば、メニュー7170)を表示している間に実行され、現在の選択インジケータが、(例えば、図7Gの部分A-2を参照して本明細書に記載される親指スワイプジェスチャに応答して)対応するユーザインタフェースオブジェクト上に表示されている。図7Gの部分A-3の親指タップジェスチャに応答して、ユーザの視線が所定の物理的オブジェクト(例えば、手7200)に向けられていることに応答して、現在選択されているユーザインタフェースオブジェクト7190がアクティブ化され、ユーザインタフェースオブジェクト7190に対応する動作が実行される(例えば、メニュー7170の表示が停止される、ユーザインタフェースオブジェクト7190に関連付けられたユーザインタフェースオブジェクト7306(例えば、プレビュー若しくは制御パネルなど)が表示される、及び/又はユーザインタフェースオブジェクト7190に対応するアプリケーションが起動される)。いくつかの実施形態では、ユーザインタフェースオブジェクト7306は、手7200の位置に対応する三次元環境内の位置に表示される。いくつかの実施形態では、親指タップジェスチャは、準備完了状態構成の手から開始され、システムユーザインタフェース要素(例えば、システムメニュー又はシステム制御オブジェクトなど)との連続的な一連のユーザ相互作用を表す、2つ以上の入力ジェスチャのシーケンスのうちの1つである。したがって、いくつかの実施形態では、視線が所定の物理的オブジェクト(例えば、ユーザの手)にとどまるための要件は、任意選択的に、第1の入力ジェスチャ(例えば、図7Gの部分A-1の親指フリックジェスチャ)の開始にのみ適用され、後続の入力ジェスチャ中にユーザの視線がシステムユーザインタフェース要素に向けられている限り、後続の入力ジェスチャ(例えば、図7Gの部分A-2の親指スワイプジェスチャ及び部分A-3の親指タップジェスチャ)には課せられない。例えば、ユーザの視線がユーザの手に向けられているという判定、又はユーザの視線がユーザの手(例えば、親指の先端)に対して固定された位置に配置されたシステムメニューに向けられているという判定に従って、コンピュータシステムは、親指タップジェスチャに応答してシステム動作を実行する(例えば、システムメニュー内の現在選択されているユーザインタフェースオブジェクトをアクティブ化する)。
図7Gの部分A-0とは対照的に、図7Gの部分B-0は、三次元環境内の所定の物理的オブジェクト(例えば、準備完了状態構成の手)から視線が離れているユーザを示す(例えば、ユーザの手7200又はその表現がデバイス7100の1つ以上のカメラの視野内にあるが、ユーザの視線が(例えば、直接でも、又はHMD若しくはヘッドアップディスプレイのパススルー部分又は透明部分を介しても、又はカメラビューを介しても)手7100上にない)。その代わりに、ユーザの視線は、ユーザインタフェースオブジェクト(例えば、図7D~7Eのコンテナ7206を参照して本明細書に記載されるように)のコンテナ7206(例えば、メニューの行)又は表示されたユーザインタフェース全般に向けられている(例えば、ユーザの視線は、三次元環境内の特定の位置又はオブジェクトの安定度及び持続時間要件を満たさない)。ユーザの視線が所定の物理的オブジェクト(例えば、手7200)から離れているとの判定に従って、コンピュータシステムは、手7200を使用して実行された親指フリックジェスチャに応答して、システムユーザインタフェース動作(例えば、システムアフォーダンス7214又は(例えば、図7Gの部分A-1に示されるような)システムアフォーダンスに関連付けられたシステムメニュー(例えば、アプリケーションアイコンのメニュー)を表示する機能に関連付けられたユーザインタフェース動作)の実行を行わない。任意選択的に、システムユーザインタフェース動作の代わりに、ユーザインタフェースの他の領域又は要素に関連付けられた、又はコンピュータシステム(例えば、デバイス100又はHMD)上で実行される個々のソフトウェアアプリケーションに関連付けられたユーザインタフェース動作が、ユーザの視線が所定の物理的オブジェクト(例えば、準備完了状態の手7200)から離れて向けられている間に、手7200を使用して実行される親指フリックジェスチャに応答して実行される。一例では、図7Gに示されるように、コンテナ7206を含むユーザインタフェース全体は、上方親指フリックジェスチャに従って上方にスクロールされる。別の例では、コンテナ7206に関連付けられたユーザインタフェース動作は、ユーザの視線が手7200からコンテナ7206に向けられている間に、システムユーザインタフェース動作(例えば、システムメニューの表示)の代わりに、手7200を使用して実行されるジェスチャに応答して実行される。
図7Gの部分A-1と同様に、図7Gの部分B-1も、準備完了状態構成から開始される手7200による親指フリックジェスチャを示す。図7Gの部分A-1に示される挙動とは対照的に、図7Gの部分B-1では、ユーザの視線が所定の物理的オブジェクト(例えば、準備完了状態構成のユーザの手)に向けられていないという判定に従って、コンピュータシステムは、親指フリックジェスチャに応答してシステムメニューの表示を行わない。その代わりに、ユーザインタフェースは、親指フリックジェスチャに従って上方にスクロールされ、例えば、コンテナ7206は、手7200の人差し指を横切る手7200の親指の移動に従って、及びユーザの視線が手7200からコンテナ7206に向けられていることに従って、三次元環境内で上方に移動させられる。本例では、システム動作は実行されないが、(例えば、ユーザの手が準備完了状態構成にあるために)システム動作が利用可能であることを示すシステムアフォーダンス7214は、ユーザの親指の隣に表示されたままであり、システムアフォーダンス7214は、入力ジェスチャ中、ユーザインタフェースが入力ジェスチャに応答して上方にスクロールされる間、ユーザの親指と共に移動する。
図7Gの部分A-2と同様に、図7Gの部分B-2も、準備完了状態構成から開始される手7200による親指スワイプジェスチャを示す。図7Gの部分A-2とは対照的に、図7Gの部分B-2の親指スワイプジェスチャは、(例えば、メニュー7170が、7Gの部分B-1を参照して本明細書に記載されるフリックジェスチャに応答して表示されなかったためにシステムメニュー(例えば、メニュー7170)が表示されておらず、かつユーザの視線が所定の物理的オブジェクト(例えば、ユーザの手)に焦点が合っていない間に実行される。図7Gの部分B-2の親指スワイプジェスチャに応答して、ユーザの視線が所定の物理的オブジェクト(例えば、手7200)から離れてコンテナ7206に向かって向けられているとの判定に従って、コンテナ7206内の現在の選択インジケータが、手7200の親指の移動方向にスクロールされる。
図7Gの部分A-3と同様に、図7Gの部分B-3も、準備完了状態構成から開始される手7200による親指タップジェスチャを示す。図7Gの部分A-3とは対照的に、図7Gの部分B-3の親指タップジェスチャは、(例えば、メニュー7170が、7Gの部分B-1を参照して本明細書に記載されるフリックジェスチャに応答して表示されなかったためにシステムメニュー(例えば、メニュー7170)が表示されておらず、かつユーザの視線が所定の物理的オブジェクト(例えば、ユーザの手)に焦点が合っていない間に実行される。図7Gの部分A-3の親指タップジェスチャに応答して、ユーザの視線が所定の物理的オブジェクト(例えば、手7200、先に受信した入力ジェスチャに応答したシステムユーザインタフェース要素がない場合)から離れて向けられていることに従って、コンピュータシステムは、システム動作の実行を行わない。ユーザの視線がコンテナ7206に向けられているという判定に従って、コンテナ7206内の現在選択されているユーザインタフェースオブジェクトがアクティブ化され、現在選択されているユーザインタフェースオブジェクトに対応する動作が実行される(例えば、コンテナ7206の表示が停止される、アクティブ化されたユーザインタフェースオブジェクトに対応するユーザインタフェース7308が表示される)。本例では、システム動作は実行されないが、(例えば、ユーザの手が準備完了状態構成にあるために)システム動作が利用可能であることを示すシステムアフォーダンス7214は、ユーザの親指の隣に表示されたままであり、システムアフォーダンス7214は、入力ジェスチャ中、ユーザインタフェースが入力ジェスチャに応答して上方にスクロールされる間、ユーザの親指と共に移動する。いくつかの実施形態では、ユーザインタフェースオブジェクト7308がコンテナ7206からアクティブ化されたため、図7G部分A-3のユーザインタフェースオブジェクト7306とは対照的に、ユーザインタフェースオブジェクト7308は、手7200の位置に対応しない三次元環境内の位置に表示される。
図7Gに示される例では、コンピュータシステムは、システム動作が所定のジェスチャ入力に応答して実行されるべきかどうかを判定するために、ユーザの手7200を(例えば、ユーザの視線と比較して)、その位置を使用する所定の物理的オブジェクトとして扱うことを理解されたい。手7200の位置は、図7Gの左右の列に示される例ではディスプレイ上で異なるように見えるが、これは、ユーザの視線の位置が三次元環境に対して変化したことを示すものであり、必ずしも三次元環境に対するユーザの手の位置に制限を課すわけではない。実際、ほとんどの状況では、ユーザの手全体は、入力ジェスチャ中に位置が固定されないことが多く、視線がユーザの手に焦点が合っているかどうかを判定するために、視線がユーザの手の移動する物理的位置と比較される。いくつかの実施形態では、ユーザの手以外のユーザの環境内の別の物理的オブジェクトが、所定のジェスチャ入力に応答してシステム動作を実行するべきかどうかを判定するための所定の物理的オブジェクトとして使用される場合、物理的オブジェクトが環境又はユーザに対して移動している、及び/又はユーザが物理的オブジェクトに対して移動している場合であっても、視線が物理的オブジェクトの物理的位置と比較される。
図7Gに示す例では、いくつかの実施形態によれば、ユーザの視線が所定の物理的位置に向けられている(例えば、物理的オブジェクト(例えば、準備完了状態構成にあるユーザの手、又は所定の物理的オブジェクトに対して固定位置に表示されたシステムユーザインタフェースオブジェクト)に焦点が合っている)かどうかが、入力ジェスチャが準備完了状態構成の手から開始されているかどうかと併せて使用されて、システム動作を実行するか(例えば、システムユーザインタフェース又はシステムユーザインタフェースオブジェクトを表示する)、あるいはシステム動作を実行せずに三次元環境の現在のコンテキスト内で動作を実行するかを判定する。図7H~7Jは、いくつかの実施形態による、ユーザの視線が所定の要件を満たしている(例えば、視線がアクティブ可能な仮想オブジェクトに焦点が合っており、安定度及び持続時間要件を満たしている)ことと併せて、ユーザがジェスチャ入力を提供する準備が整っているかどうか(例えば、ユーザの手が所定の要件を満たしている(例えば、所定の高度まで上昇し、少なくとも閾値時間、準備完了状態構成に置かれている)かどうかに依存する、表示された三次元環境(例えば、仮想現実又は複合現実環境)の例示的な挙動を示す。図7H~7Jを参照して説明される入力ジェスチャは、図11におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
図7Hは、物理的環境に対応する例示的なコンピュータ生成環境を示す。図7Hを参照して本明細書に記載されるように、コンピュータ生成環境は、仮想現実環境、拡張現実環境、又はディスプレイ上に表示されるコンピュータ生成環境であり得、コンピュータ生成環境は、ディスプレイの透明部分を通じて可視である物理的環境のビュー上に重ね合わされるようにディスプレイ上に表示される。図7Hに示すように、ユーザ7502は、コンピュータシステム(例えば、コンピュータシステム101)を動作させる物理的環境(例えば、シーン105)に立っている(例えば、デバイス7100を保持している又はHMDを着用している。いくつかの実施形態では、図7Hに示される例のように、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイやヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表し、任意選択的に置き換えられる。いくつかの実施形態では、物理的環境は、ユーザ7502を取り囲む1つ以上の物理的表面及び物理的オブジェクト(例えば、部屋の壁、(例えば、影付きの3Dボックス7504によって表される))を含む。
図7Hの部分(B)に示される例では、物理的環境(例えば、デバイス7100の1つ以上のカメラの視野内にある、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的環境の部分)に対応するコンピュータ生成三次元環境が、デバイス7100に表示される。物理的環境は、ディスプレイ上に示されるコンピュータ生成環境内のオブジェクト7504’によって表される物理的オブジェクト7504を含み(例えば、コンピュータ生成環境は、物理的オブジェクト7504の仮想表現を含む仮想現実環境であり、コンピュータ生成環境は、デバイス7100の1つ以上のカメラのライブビューの一部として物理的オブジェクト7504の表現7504’を含む拡張現実環境である、又は物理的オブジェクト7504は、デバイス7100のディスプレイの透明部分を通じて視認可能である)。更に、ディスプレイ上に示されるコンピュータ生成環境は、仮想オブジェクト7506、7508、及び7510を含む。仮想オブジェクト7508は、オブジェクト7504’に取り付けられてみえる(例えば、物理的オブジェクト7504の平坦前面に重なる)ように表示される。仮想オブジェクト7506は、コンピュータ生成環境の壁に取り付けられてみえる(例えば、物理的環境の壁又は壁の表現の一部に重なる)ように表示される。仮想オブジェクト7510は、コンピュータ生成環境の床に取り付けられてみえる(例えば、物理的環境の床又は床の表現の一部に重なる)ように表示される。いくつかの実施形態では、仮想オブジェクト7506、7508、及び7510は、ユーザ入力によってアクティブ化されたときにオブジェクト固有の動作を実行させるアクティブ化可能なユーザインタフェースオブジェクトである。いくつかの実施形態では、コンピュータ生成環境はまた、ユーザ入力によってアクティブ化可能ではなく、コンピュータ生成環境の美的品質を改善するように表示される仮想オブジェクトを含み、ユーザに情報を提供する。図7Hの部分(C)は、いくつかの実施形態によると、デバイス7100上に示されるコンピュータ生成環境が三次元環境であることを示し、デバイス7100の物理的環境に対する視点が変化するにつれ(例えば、デバイス7100又はデバイス7100の1つ以上のカメラの物理的環境に対する視野角が、物理的環境内のデバイス7100の移動及び/又は回転に応答して変化するにつれ)、それに応じて、デバイス7100上に表示されるコンピュータ生成環境の視点が変化する(例えば、物理的な表面及びオブジェクト(例えば、壁、床、物理的オブジェクト7504)並びに仮想オブジェクト7506、7508、及び7510の変化を含む)。
図7Iは、ユーザ7502がジェスチャ入力を提供する準備が整っていない(例えば、ユーザの手が準備完了状態構成にない)間に、ユーザがコンピュータ生成環境内のそれぞれの仮想オブジェクトに視線を向けたことに応答した、コンピュータ生成環境の例示的な挙動を示す。図7Iの部品(A)~(C)に示されるように、ジェスチャ入力を提供するために、ユーザは自分の左手7200を準備完了状態以外の状態(例えば、第1の所定の準備完了状態構成以外の位置)に保っている。いくつかの実施形態では、コンピュータシステムは、ユーザの指の所定の部分が物理的制御要素にタッチしている(例えば、親指が人差し指の中央にタッチしている、又は人差し指が物理的コントローラにタッチしている)ことを検出したことに従って、ユーザの手がジェスチャ入力を提供するための所定の準備完了状態にあると判定する。いくつかの実施形態では、コンピュータシステムは、ユーザの手がユーザに対して所定の高度の上方に上昇している(例えば、手が、肘関節を中心とした腕の回転、又は手首を中心とした手首の回転、又は手に対して上昇した指などに応答して上昇している)ことを検出したことに従って、ユーザの手がジェスチャ入力を提供するための所定の準備完了状態にあると判定する。いくつかの実施形態では、コンピュータシステムは、ユーザの手の姿勢が所定の構成(例えば、親指が人差し指の中間に置かれている、指が閉じて拳を成しているなど)に変化したことを検出したことに従って、にユーザの手がジェスチャ入力を提供するための所定の準備完了状態にあると判定する。いくつかの実施形態では、上記の要件の複数が組み合わされて、ユーザの手がジェスチャ入力を提供するための準備完了状態にあるかどうかを判定する。いくつかの実施形態では、コンピュータシステムはまた、手がジェスチャ入力を提供する準備が整っていると判定するために、ユーザの手全体が静止している(例えば、閾値時間無しで閾値移動量未満)ことを必要とする。いくつかの実施形態によると、ユーザの手が、ジェスチャ入力を提供するための準備完了状態にあることが見出されず、ユーザの視線がアクティブ化可能な仮想オブジェクトに焦点が合っている場合、ユーザの手の後続の移動(例えば、自由な移動又は所定のジェスチャを真似る移動)は、ユーザの視線の焦点である仮想オブジェクトに向けられたユーザ入力として認識されない及び/又は扱われない。
本例では、手7200の表現は、コンピュータ生成環境に表示される。コンピュータ生成環境は、(例えば、右手がデバイス7100の1つ以上のカメラの視野内にないため)ユーザの右手の表現を含まない。更に、いくつかの実施形態では、例えば、デバイス7100がハンドヘルドデバイスである図7Iに示される例では、ユーザは、デバイス7100に表示される物理的環境の任意の表現とは別に、周囲の物理的環境の部分を見ることができる。例えば、ユーザの手の部分は、デバイス7100のディスプレイの外側でユーザに可視である。いくつかの実施形態では、これらの例におけるデバイス7100は、周囲の物理的環境のユーザのビューを完全に遮断するディスプレイ(例えば、ヘッドマウントディスプレイ)を有するヘッドセットを表し、それに置き換えることができる。いくつかのそのような実施形態では、物理的環境はいかなる部分もユーザにとって直接視認可能ではく、その代わりに、物理的環境は、デバイスによって表示される物理的環境の部分の表現を介してユーザに可視となる。いくつかの実施形態では、ユーザの手の現在の状態がデバイスによって連続的又は定期的に監視されて、ユーザの手(単数又は複数)がジェスチャ入力を提供するための準備完了状態に入ったかどうかを判定する間、ユーザの手(単数又は複数)は、直接又はデバイス7100のディスプレイを介してユーザに不可視である。いくつかの実施形態では、デバイスは、ユーザの手が入力ジェスチャを提供するための準備完了状態にあるかどうかのインジケータを表示し、ユーザにフィードバックを提供し、ユーザに入力ジェスチャを提供することを望む場合に手の位置を調節するようにユーザに警告する。
図7Iの部分(A)では、ユーザの視線は、(例えば、ユーザの眼球7512と仮想オブジェクト7506の表現を連結する点線によって示されるように)仮想オブジェクト7506に向けられている。いくつかの実施形態では、デバイス7100は、ユーザの視線の方向及び/又は対象を判定するために、ユーザに向けられて、ユーザの目の移動を追跡する(又はユーザの両目の移動を追跡する)1つ以上のカメラ(例えば、前面カメラ)を使用する。アイトラッキング又は視線追跡技術の更なる詳細は、図1~6、特に図5~6、及び添付の説明で提供する。図7Iの部分(A)では、ユーザの手がジェスチャ入力を提供する準備が整っていないという判定に従って(例えば、左手が静止しておらず、閾値時間を超えて第1の所定の準備完了状態構成に保たれていない)、ユーザが仮想オブジェクト7506に視線を向けていることに応答して、仮想オブジェクト7506に対する動作は実行されない。同様に、図7Iの部分(B)では、ユーザの視線は左仮想オブジェクト7506を有し、現在は(例えば、ユーザの眼球7512の表現と仮想オブジェクト7508を連結する点線によって示されるように)仮想オブジェクト7508に向けられている。ユーザの手がジェスチャ入力を提供する準備が整っていないという判定に従って、ユーザが仮想オブジェクト7508に視線を向けていることに応答して、仮想オブジェクト7508に対する動作は実行されない。同様に、図7Iの部分(C)では、ユーザの視線は、(例えば、ユーザの眼球7512の表現と仮想オブジェクト7510を連結する点線によって示されるように)仮想オブジェクト7510に向けられている。ユーザの手がジェスチャ入力を提供する準備が整っていないという判定に従って、ユーザが仮想オブジェクト7510に視線を向けていることに応答して、仮想オブジェクト7510に対する動作は実行されない。いくつかの実施形態では、ユーザの視線下の仮想オブジェクトがジェスチャ入力によってアクティブ化可能であることを示す視覚的変化をトリガするために、ユーザの手がジェスチャ入力を提供するための準備完了状態にあることを必要とすることは、ユーザが環境内の特定の仮想オブジェクトと相互作用するのではなく、単に環境を確かめることを望んでいる(例えば、様々な仮想オブジェクトを短時間又は意図的に一定期間見つめている)場合に、表示環境の不必要な視覚的変化を防止する傾向があるために有利である。これにより、コンピュータシステムを使用してコンピュータで生成された三次元環境を体験するときに、ユーザの視覚的疲労及び混乱、ひいてはユーザの間違いが低減される。
図7Iに示される例示的なシナリオとは対照的に、図7Jは、ユーザが、いくつかの実施形態による、ユーザがジェスチャ入力を提供する準備が整っている間に、ユーザがコンピュータ生成環境内のそれぞれの仮想オブジェクトに視線を向けていることに応答した、コンピュータ生成環境の例示的な挙動を示す。図7Jの部分(A)~(C)に示されるように、仮想オブジェクト7506、7608、及び7510が三次元環境に表示されている間、ユーザは、ジェスチャ入力を提供するための第1の準備完了状態構成に手を保持している(例えば、親指が人差し指に置かれている、手がユーザの身体に対して所定の高度の上方に上昇している)。
図7Jの部分(A)では、ユーザの視線は、(例えば、ユーザの眼球7512の表現と仮想オブジェクト7506を連結する点線によって示されるように)仮想オブジェクト7506に向けられている。ユーザの左手がジェスチャ入力を提供する準備完了状態にあるという判定に従って、ユーザが仮想オブジェクト7506に視線を向けていることに応答して(例えば、視線は、仮想オブジェクト7506において持続時間及び安定性の要件を満たしている)、コンピュータシステムは、仮想オブジェクト7506がジェスチャ入力によってアクティブ化可能であることを示す視覚的フィードバックを提供する(例えば、仮想オブジェクト7506が、追加情報又はユーザインタフェースの詳細によって強調表示、拡大、又は拡張されて、仮想オブジェクト7506が相互作用可能であることを示す(例えば、仮想オブジェクト7506に関連付けられた1つ以上の動作が、ユーザのジェスチャ入力に応答して実行され得る))。同様に、図7Jの部分(B)では、ユーザの視線は、仮想オブジェクト7506から離れて移動し、(例えば、ユーザの眼球7512の表現と仮想オブジェクト7508を連結する点線によって示されるように)現在は仮想オブジェクト7508に向けられている。ユーザの手がジェスチャ入力を提供する準備完了状態にあるという判定に従って、ユーザが仮想オブジェクト7508に視線を向けていることに応答して(例えば、視線は、仮想オブジェクト7508において持続時間及び安定性の要件を満たしている)、コンピュータシステムは、仮想オブジェクト7506がジェスチャ入力によってアクティブ化可能であることを示す視覚的フィードバックを提供する(例えば、仮想オブジェクト7508が、追加情報又はユーザインタフェースの詳細によって強調表示、拡大、又は拡張されて、仮想オブジェクト7508が相互作用可能であることを示す(例えば、仮想オブジェクト7508に関連付けられた1つ以上の動作が、ユーザのジェスチャ入力に応答して実行され得る))。同様に、図7Jの部分(C)では、ユーザの視線は、仮想オブジェクト7508から離れて移動し、(例えば、ユーザの眼球7512の表現と仮想オブジェクト7510を連結する点線によって示されるように)現在は仮想オブジェクト7510に向けられている。ユーザの手がジェスチャ入力を提供する準備完了状態にあるという判定に従って、コンピュータシステムは、ユーザが視線を仮想オブジェクト7510に向けていることを検出したことに応答して、仮想オブジェクト7506がジェスチャ入力によってアクティブ化可能であることを示す視覚的フィードバックを提供する(例えば、仮想オブジェクト7510が、追加情報又はユーザインタフェースの詳細によって強調表示、拡大、又は拡張されており、仮想オブジェクト7510が相互作用可能であることを示す(例えば、仮想オブジェクト7510に関連付けられた1つ以上の動作が、ジェスチャ入力に応答して実行可能であることを示す))。
いくつかの実施形態では、仮想オブジェクトがジェスチャ入力によってアクティブ化可能であることを示す視覚的フィードバックが表示されている間、かつ準備完了状態のユーザの手から開始されるジェスチャ入力を検出したことに応答して、コンピュータシステムは、ユーザのジェスチャ入力に従ってユーザの視線の対象である仮想オブジェクトに対応する動作を実行する。いくつかの実施形態では、それぞれの仮想オブジェクトがジェスチャ入力によってアクティブ化可能であることを示す視覚フィードバックは、ユーザの視線がそれぞれの仮想オブジェクトから離れて移動すること、及び/又はユーザの手が有効なジェスチャ入力を提供することなくジェスチャ入力を提供するための準備完了状態になるのを停止することに応答して、表示を停止する。
いくつかの実施形態では、それぞれの仮想オブジェクト(例えば、仮想オブジェクト7506、7508、又は7510)はアプリケーションに対応し(例えば、それぞれの仮想オブジェクトはアプリケーションアイコンである)、実行されるように利用可能であるそれぞれの仮想オブジェクトに関連付けられた動作は、対応するアプリケーションを起動すること、アプリケーション内で1つ以上の動作を実行すること、又はアプリケーションに関して、若しくはアプリケーション内で実行される動作のメニューを表示することを含む。例えば、それぞれの仮想オブジェクトがメディアプレーヤアプリケーションに対応する場合、1つ以上の動作は、(例えば、第1の方向への親指スワイプジェスチャ又はピンチアンドツイストジェスチャに応答して)メディアの出力ボリュームを増加させること、(例えば、第1の方向とは反対の第2の方向への親指スワイプジェスチャ又はピンチアンドツイストジェスチャに応答して)出力ボリュームを減少させること、(例えば、親指タップジェスチャに応答して)メディアの再生を切り替えること(例えば、再生又は一時停止)、(例えば、同じ方向の複数の連続した親指スワイプジェスチャに応答して)再生のためにメディアを早送り、巻き戻し、ブラウジングすること、又は他の様態でメディア再生を制御すること(例えば、親指フリックジェスチャと続いて親指スワイプジェスチャに応答したメニューナビゲーション)を含む。いくつかの実施形態では、それぞれの仮想オブジェクトは、対応する仮想オブジェクトの下にある物理的オブジェクト(例えば、電子機器、スマートスピーカ、スマートランプなど)を制御するための単純化されたユーザインタフェースであり、それぞれの仮想オブジェクトが相互作用可能であるという視覚的インジケーションが表示されている間に検出された手首フリックジェスチャ又は親指フリックジェスチャにより、コンピュータシステムは、(例えば、オン/オフボタン、現在再生されているメディアアルバム、並びに追加の再生コントロール及び出力調整コントロールなどを示す)物理的オブジェクトを制御するための拡張ユーザインタフェースの表示を停止する。
いくつかの実施形態では、仮想オブジェクトが、(例えば、ジェスチャ入力及びオーディオ入力及びタッチ入力などの他のタイプの入力を含むユーザ入力に応答して)相互作用可能であることを示す視覚的フィードバックは、ユーザの視線が仮想オブジェクト上に向けられる前に表示されていなかった1つ以上のユーザインタフェースオブジェクト又は情報、プロンプトを表示することを含む。一例では、それぞれの仮想オブジェクトが三次元環境に表される物理的壁上に重ねられた仮想窓であり、ユーザの手がジェスチャ入力を提供する準備完了状態にある間にユーザが視線を仮想窓に向けることに応答して、コンピュータシステムは、仮想窓を通じて可視である仮想風景に関連付けられた位置及び/又は日時を表示して、風景が(例えば、ユーザによる後続のジェスチャ入力に従って行われる位置、日時、季節などの変化を通じて)変更され得ることを示す。別の例では、それぞれの仮想オブジェクトが表示された静止写真を含み(例えば、それぞれの仮想オブジェクトがピクチャフレームである)、ユーザの手がジェスチャ入力を提供する準備完了状態にある間にユーザが視線を表示された写真に向けることに応答して、コンピュータシステムは、表示された静止写真に関連付けられた多フレーム写真又はビデオクリップを表示して、写真が相互作用可能であることを示し、任意選択的に、写真が(例えば、ユーザによる後続のジェスチャ入力に従って写真アルバムをブラウジングすることを通じて)変更され得ることを示す。
図7K~7Mは、コンピュータシステムの表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)が、デバイスのユーザに対する所定の位置に置かれている間(例えば、ユーザが最初にコンピュータ生成現実体験に入るとき(例えば、ユーザがデバイスを自分の目の前で保持するとき、又はユーザがヘッドにHMDを頭部に装着するとき))、コンピュータシステム(例えば、図1のコンピュータシステム101(例えば、ハンドヘルドデバイス又はHMD))の表示生成コンポーネントのハウジング上のユーザの手の握りの検出に応答して変化する三次元環境(例えば、仮想現実環境又は複合現実環境)の検出に応答して変化する例示的なビューを示す。三次元環境のビューの変化は、ユーザ入力無しでコンピュータシステムによって完全に判定されるのではなく、ユーザによって(例えば、デバイス又は表示生成コンポーネントのハウジング上の自分の握りを変化させることによって)コンピュータ生成現実体験への最初の移行を形成する。図7Gを参照して説明される入力ジェスチャは、図12におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
図7Kの部分(A)は、ユーザ(例えば、ユーザ7802)がコンピュータシステムを使用している物理的環境7800を示す。物理的環境7800は、1つ以上の物理的表面(例えば、物理的オブジェクトの壁、床、表面など)及び物理的オブジェクト(例えば、物理的オブジェクト7504、ユーザの手、身体など)を含む。図7Kの部分(B)は、コンピュータシステム(例えば、デバイス7100又はHMD)の表示生成コンポーネントによって表示される三次元環境(三次元環境の「第1のビュー7820」又は「第1のビュー7820」とも呼ばれる)の例示的なビュー7820を示す。いくつかの実施形態では、第1のビュー7820は、表示生成コンポーネント(例えば、デバイス7100又はHMDのディスプレイ)がユーザ7802に対して所定の位置に配置されるときに表示される。例えば、図7Kでは、デバイス7100のディスプレイは、ユーザの目の前に配置される。別の例では、コンピュータシステムは、ユーザが表示生成コンポーネントを通じてのみ物理的環境を視認できるように、表示生成コンポーネント(例えば、HMD)がユーザの頭部に配置されているという判定に従って、表示生成コンポーネントがユーザに対して所定の位置に配置されていると判定する。いくつかの実施形態では、コンピュータシステムは、ユーザがコンピュータシステムのヘッドアップディスプレイの前に着座したという判定に従って、表示生成コンポーネントがユーザに対して所定の位置に配置されていると判定する。いくつかの実施形態では、ユーザに対して表示生成コンポーネントを所定の位置に配置すること、又は表示生成コンポーネントに対してユーザを所定の位置に配置することにより、ユーザは、表示生成コンポーネントを通じてコンテンツ(例えば、現実又は仮想コンテンツ)を見ることができる。いくつかの実施形態では、表示生成コンポーネント及びユーザが所定の相対位置にあると、物理的環境のユーザのビューは、表示生成コンポーネントによって少なくとも部分的に(又は完全に)遮断され得る。
いくつかの実施形態では、コンピュータシステムの表示生成コンポーネントの配置は、センサシステムによってキャプチャされたデータの解析に基づいて判定される。いくつかの実施形態では、センサシステムは、コンピュータシステムのコンポーネント(例えば、デバイス7100又はHMDの表示生成コンポーネントと同じハウジング内に封入された内部コンポーネント)である1つ以上のセンサを含む。いくつかの実施形態では、センサシステムは、外部システムであり、コンピュータシステムの表示生成コンポーネントと同じハウジングに囲まれていない(例えば、センサは、データ解析のためにキャプチャされた画像データをコンピュータシステムに提供する外部カメラである)。
いくつかの実施形態では、センサシステムは、コンピュータシステムのユーザ及び/又は表示生成コンポーネントの移動を追跡する1つ以上の撮像センサ(例えば、1つ以上のカメラ)を含む。いくつかの実施形態では、1つ以上の撮像センサは、ユーザの手(単数又は複数)及び/又はユーザの頭部などのユーザの1つ以上の特徴の位置及び/又は移動を追跡して、ユーザ又はユーザの所定の部分(例えば、頭部、目など)に対する表示生成コンポーネントの配置を検出する。例えば、画像データが、ユーザがユーザの目の前にデバイス7100のディスプレイを保持しているかどうか、又はユーザがヘッドマウントディスプレイをユーザの頭部に装着しているかどうかを判定するために、リアルタイムで解析される。いくつかの実施形態では、1つ以上の撮像センサが、ユーザの目の視線を追跡して、ユーザがどこを見ているか(例えば、ユーザがディスプレイを見ているかどうか)を判定する。いくつかの実施形態では、センサシステムは、デバイス7100を片手又は両手で、及び/又はデバイスの縁部上で保持すること、又は両手でヘッドマウントディスプレイを保持してユーザの頭部にヘッドマウントデバイスを置くことなど、ディスプレイに対するユーザの手の握りを検出する1つ以上のタッチベースのセンサ(例えば、ディスプレイに取り付ける)を含む。いくつかの実施形態では、センサシステムは、電子デバイスのディスプレイの移動及び/又は位置情報(例えば、位置、高さ、及び/又は配向)を検出して、ユーザに対するディスプレイの配置を判定する1つ以上の運動センサ(例えば、加速度計)及び/又は位置センサ(例えば、ジャイロスコープ、GPSセンサ、及び/又は近接センサ)を含む。例えば、移動及び/又は位置データを解析して、モバイルデバイスが上昇されてユーザの目に向いているかどうか、又はヘッドマウントディスプレイが持ち上げられてユーザの頭部に置かれているかどうかを判定する。いくつかの実施形態では、センサシステムは、ユーザの頭部上のヘッドマウントディスプレイの位置付けを検出する1つ以上の赤外線センサを含む。いくつかの実施形態では、センサシステムは、ユーザに対する表示生成コンポーネントの配置を判定するためのデータを提供する異なるタイプのセンサの組み合わせを含む。例えば、表示生成コンポーネントのハウジング上のユーザの手の握り、表示生成コンポーネントの運動及び/又は配向情報、及びユーザの視線情報が組み合わせて解析されて、ユーザに対する表示生成コンポーネントの配置を判定する。
いくつかの実施形態では、センサシステムによってキャプチャされたデータの解析に基づいて、電子デバイスのディスプレイがユーザに対して所定の位置に配置されていると判定される。いくつかの実施形態では、ユーザに対するディスプレイの所定の位置は、ユーザが、コンピュータシステムを使用して仮想及び没入体験を開始しようとしている(例えば、三次元映画を開始する、三次元仮想世界に入る、など)ことを示す。例えば、センサデータは、ユーザの視線がディスプレイスクリーンに向けられている間、又はユーザが両手をユーザの頭部においてヘッドマウントデバイスを保持し上昇させている間に、ユーザの両掌内でユーザがモバイルデバイスを保持していることを示す(例えば、図7Kに示される手構成)。いくつかの実施形態では、コンピュータシステムは、ユーザがユーザに対する表示生成コンポーネントの位置を調節する(例えば、快適にフィットし、ディスプレイが両目と適切に揃うようにHMDを移動させる)ことを可能にし、この期間中の手の握り及び位置の変化は、表示される第1のビューのいかなる変化もトリガしない。いくつかの実施形態では、変化について監視される最初の手の握りは、表示生成コンポーネントを保持するための握りではなく、表示生成コンポーネントの特定の部分(例えば、HMDをオンにする、又は仮想コンテンツの表示を開始するためのスイッチ又はコントロール)上の手又は指のタッチである。いくつかの実施形態では、手の握りでHMDをユーザの頭部に配置することと、没入型体験を開始するコントロールをアクティブ化することとの組み合わせは、変化について監視される最初の手の握りである。
図7Kの部分(B)に示されるようないくつかの実施形態では、ディスプレイがユーザに対して所定の位置にあると検出したことに応答して、三次元環境の第1のビュー7820は、コンピュータシステムの表示生成コンポーネントによって表示される。いくつかの実施形態では、三次元環境の第1のビュー7820は、ウェルカム/導入ユーザインタフェースである。いくつかの実施形態では、第1のビュー7820は、ユーザ7802を取り囲む物理的環境7800の少なくとも一部の表現を含むパススルー部分を含む。
いくつかの実施形態では、パススルー部分は、ユーザ7802視野を取り囲み、視野内の物理的環境7800の少なくとも一部を明らかにする表示生成コンポーネントの透明又は半透明(例えば、シースルー)部分である。例えば、パススルー部分は、半透明(例えば、50%、40%、30%、20%、15%、10%、又は5%未満の不透明度)又は透明であるヘッドマウントディスプレイの一部であり、ユーザは、表示生成コンポーネントを除去することなく、それを通してユーザを取り囲む現実世界を視認することができる。いくつかの実施形態では、パススルー部分は、例えば、ユーザが完全に没入型環境に進行する準備ができていることを示すその後のユーザの手の握りの変化に応答して、溶接/導入ユーザインタフェースが没入型仮想又は複合現実環境に変化するにつれて半透明又は透明から完全に不透明に徐々に移行する。
いくつかの実施形態では、第1のビュー7820のパススルー部分は、1つ以上のカメラ(例えば、モバイルデバイスの若しくはヘッドマウントディスプレイに関連付けられた後面カメラ(単数又は複数)、又は画像データを電子デバイスに供給する他のカメラ)によってキャプチャされた物理的環境7800の少なくとも一部の画像又はビデオのライブフィードを表示する。例えば、パススルー部分は、物理的環境7800のライブ画像又はビデオを表示するディスプレイスクリーンの全て又は一部を含む。いくつかの実施形態では、1つ以上のカメラは、直接ユーザの目の前に(例えば、表示生成コンポーネントの後ろに)ある物理的環境の一部に向けられる。いくつかの実施形態では、1つ以上のカメラは、直接ユーザの目の前にない(例えば、異なる物理的環境にある、又はユーザの側方又は後方にある)物理的環境の一部に向けられる。
いくつかの実施形態では、三次元環境の第1のビュー7820は、三次元仮想現実(VR)コンテンツを含む。いくつかの実施形態では、VRコンテンツは、物理的環境7800内の1つ以上の物理的オブジェクト(例えば、棚及び/又は壁)に対応する1つ以上の仮想オブジェクトを含む。例えば、仮想オブジェクトの少なくともいくつかは、対応する物理的環境7800内の物理的オブジェクトの位置に対応する仮想現実環境内の位置に表示される(例えば、物理的環境内の物理的オブジェクトの位置は、1つ以上のカメラを使用して判定される)。いくつかの実施形態では、VRコンテンツは、パススルー部分を通して見られる物理的環境7800に対応しない、及び/又はパススルー部分内の物理的オブジェクトから独立して表示される。例えば、VRコンテンツは、仮想ユーザインタフェース要素(例えば、ユーザインタフェースオブジェクトを含む仮想ドック、又は仮想メニュー)、又は物理的環境7800とは無関係である他の仮想オブジェクトを含む。
いくつかの実施形態では、三次元環境の第1のビュー7820は、三次元拡張現実(AR)コンテンツを含む。いくつかの実施形態では、1つ以上のカメラ(例えば、モバイルデバイスの、又はヘッドマウントディスプレイに関連付けられた背面カメラ(単数又は複数)、又は画像データをコンピュータシステムに供給する他のカメラ)は、1つ以上のカメラの視野内にある周囲の物理的環境7800の少なくとも一部のライブビューを連続的に提供し、ARコンテンツは、1つ以上のカメラの視野内にある周囲の物理的環境7800の当該一部に対応する。いくつかの実施形態では、ARコンテンツは、1つ以上のカメラのライブビューを少なくとも部分的に含む。いくつかの実施形態では、ARコンテンツは、ライブビューの一部に配置された(例えば、ライブビューの一部上に重ねられた、又は、ライブビューの一部を遮断しているように見える)1つ以上の仮想オブジェクトを含む。いくつかの実施形態では、仮想オブジェクトは、物理的環境7800内の対応するオブジェクトの位置に対応する仮想環境7820内の位置に表示される。例えば、それぞれの仮想オブジェクトは、物理的環境7800内の対応する物理的オブジェクトの代わりに表示される(例えば、物理的オブジェクトのビューに重ねられる、そのビューを不明瞭にする、及び/又はそのビューを置き換える)。
いくつかの実施形態では、三次元環境の第1のビュー7820において、(例えば、物理的環境7800の少なくとも一部を表す)パススルー部分は、仮想コンテンツ(例えば、VR及び/又はARコンテンツ)によって囲まれる。例えば、パススルー部分は、ディスプレイ上の仮想コンテンツと重複しない。いくつかの実施形態では、三次元仮想環境の第1のビュー7820において、VR及び/又はAR仮想コンテンツは、パススルー部分の代わりに表示される(例えば、表示されたコンテンツの上に重ねられる、又はそれに置き換わる)。例えば、仮想コンテンツ(例えば、複数の仮想ユーザインタフェース要素を列挙する仮想ドック又は仮想開始メニュー)は、半透明又は透明のパススルー部分を通じて表示される物理的環境7800の一部に重ねられる又は遮断される。いくつかの実施形態では、三次元環境の第1のビュー7820は最初、任意の仮想コンテンツ無しのパススルー部分のみを含む。例えば、ユーザが最初にユーザの掌にデバイスを保持するとき(例えば、図7Lに示すように)、又はユーザが最初にヘッドマウントディスプレイをユーザの頭部に置くとき、ユーザは、ユーザの目の視野内又はシースルー部分を介したライブフィードカメラの視野内の物理的環境の部分を視認する。次いで、仮想コンテンツ(例えば、仮想メニュー/アイコンを有するウェルカム/導入ユーザインタフェース)は、ユーザの手の握りが変化せずにとどまる間、一定期間にわたってパススルー部分に重畳する又はパススルー部分を遮断するように徐々にフェードインする。いくつかの実施形態では、ウェルカム/導入ユーザインタフェースは、ユーザの手の握りが変化しない限り、(例えば、仮想コンテンツと物理的世界を示す及びパススルー部分との両方を有する安定状態で)表示されたままである。
いくつかの実施形態では、ユーザの仮想没入型体験を有効化することにより、周囲の現実世界のユーザの現在のビューを、表示生成コンポーネントによって(例えば、ユーザの目の前のディスプレイの存在及びヘッドマウントディスプレイの消音機能によって)一時的に遮断する。これは、ユーザの仮想没入体験の開始前の時点で行われる。ウェルカム/導入ユーザインタフェース内にパススルー部分を有することにより、ユーザを取り囲む物理的環境の視認からユーザの仮想没入型体験への移行は、より良好に制御されたよりスムーズな移行(例えば、認知的に穏やかな移行)から恩恵を得る。これにより、コンピュータシステム又はコンテンツプロバイダに、全てのユーザに対する完全没入型体験に移行するタイミングを指示させることとは対照的に、ユーザ自身が、ウェルカム/導入ユーザインタフェースを見た後に、完全に没入型体験の準備を整えるのに必要な時間がどのくらいかかるかに関して一層制御することができる。
図7Mは、コンピュータシステムの表示生成コンポーネントによって(例えば、デバイス7100のディスプレイ上に)表示される三次元環境の別の例示的なビュー7920(「三次元環境の第2のビュー7920」又は「第2のビュー7920」とも呼ばれる)を示す。いくつかの実施形態では、三次元環境の第2のビュー7920は、第1の所定の基準(例えば、ユーザの制御又は保護の十分な減少の検出に対応する基準)を満たしているコンピュータシステムの表示生成コンポーネントのハウジング上でのユーザの手の握りの変化(例えば、図7Kの部分(B)の手構成(例えば、両手の握り)から図7Lの部分(B)の手構成(例えば、片手の握り)への変化)の検出に応答して、三次元環境の第1のビュー7820を置き換える。
いくつかの実施形態では、ユーザの手(単数又は複数)の握りの変化は、図7Kを参照して上述したようにセンサシステムによって検出される。例えば、1つ以上の撮像センサが、ユーザの手の握りの変化を検出するために、ユーザの手の移動及び/又は位置を追跡する。別の例では、ディスプレイ上の1つ以上のタッチベースのセンサが、ユーザの手の握りの変化を検出する。
いくつかの実施形態では、ユーザの手の握りの変化の第1の所定の基準は、ディスプレイ上で検出された手の総数の変化(例えば、両手から片手、片手から手無し、又は両手から手無し)、表示生成コンポーネントと接触している指の総数の変化(例えば、8本の指から6本の指、4本の指から2本の指、2本の指から指無し)、表示生成コンポーネント上の手の接触から手の接触無しへの変化、接触位置の変化(例えば、掌から指まで)、及び/又はディスプレイ上の接触強度の変化(例えば、手の姿勢、配向、表示生成コンポーネント上の異なる指の相対的な把持力の変化などから生じる)を必要とする。いくつかの実施形態では、ディスプレイ上の手の握りの変化は、ユーザに対するディスプレイの所定の位置の変化を引き起こさない(例えば、ヘッドマウントディスプレイは、依然としてユーザの頭部にあり、ユーザの目を覆う)。いくつかの実施形態では、手の握りの変化は、ユーザが(例えば、徐々に又は意図的に)ディスプレイから手を放しており、仮想没入型体験に没頭する準備が整っていることを表す。
いくつかの実施形態では、変化に関して監視される最初の手の握りは、表示生成コンポーネントを保持するための握りではなく、表示生成コンポーネントの特定部分(例えば、HMDをオンにする、又は仮想コンテンツの表示を開始するためのスイッチ又はコントロール)への手又は指のタッチであり、ユーザの手の握りの変化の第1の所定の基準は、表示生成コンポーネントの特定の部分(例えば、HMDをオンにする、又は仮想コンテンツの表示を開始するためのスイッチ又はコントロールを始動する指)にタッチした指が、表示生成コンポーネントの特定の部分へのタッチをやめることを必要とする。
いくつかの実施形態では、三次元環境の第2のビュー7920は、第1のビュー7820内のパススルー部分の少なくとも一部を仮想コンテンツに置き換える。いくつかの実施形態では、三次元環境の第2のビュー7920の仮想コンテンツは、VRコンテンツ(例えば、仮想オブジェクト7510(例えば、仮想ユーザインタフェース要素又はシステムアフォーダンス))、ARコンテンツ(例えば、仮想オブジェクト7506(例えば、1つ以上のカメラによってキャプチャされた壁のライブビュー上に重ねられた仮想窓))、及び/又は仮想オブジェクト7508(例えば、物理的環境内の物理的オブジェクト7504の表現7504’の一部又は全体の代わりに表示された、又はその上に重ね合わされた写真又は仮想コントロール)を含む。
いくつかの実施形態では、第1のビュー7820を第2のビュー7920に置き換えることは、パススルー部分の不透明度を上昇させて(例えば、パススルー部分がディスプレイの半透明又は透明状態で実装されるとき)、ディスプレイの半透明又は透明部分上に重ね合わされた仮想コンテンツがより見えやすくなり、色飽和度が高くなることを含む。いくつかの実施形態では、第2のビュー7920の仮想コンテンツは、第1のビュー7820内の仮想コンテンツよりもユーザにより没入型の体験を提供する。例えば、第1のビュー7820の仮想コンテンツは、ユーザの前に表示されているが、第2のビュー7920の仮想コンテンツは、ユーザが頭部の向きを変える及び/又は歩き回っているときにユーザにとって可視であるパノラマ又は360度ビューで表される三次元世界を含む。いくつかの実施形態では、第2のビュー7920は、第1のビュー7820よりも、ユーザを取り囲む物理的環境7800の少ない部分又は小さい部分を表示する小さなパススルー部分を含む。例えば、第1のビュー7820のパススルー部分は、ユーザが位置する部屋の壁のうちの1つの実際の窓を示し、第2のビュー7920のパススルー部分は、仮想窓に置き換えられた壁のうちの1つの窓を示し、その結果、第2のビュー7920でパススルー部分の面積が低減される。
図7Mは、更に別の例示的な第3のビュー7821(例えば、三次元環境の第1のビュー7820又はその修正バージョン、又は異なるビュー)は、表示生成コンポーネントのハウジング上の最初の手の握り構成を再び検出したことに応答して(例えば、図7Lに示されるように、手の握りの必要な変化を検出したことに応答して第2のビュー7920が表示された後)、コンピュータシステムの表示生成コンポーネントによって表示される。いくつかの実施形態では、第3のビュー7821は、コンピュータシステムの表示生成コンポーネント上のユーザの手の握りの別の変化(例えば、図7Lの手構成からの変化、又は手の握り無しから図7Mの手構成への変化)の検出に応答して、パススルー部分を再確立する。いくつかの実施形態では、ユーザの手の握りの変化は、表示生成コンポーネントのハウジング上のユーザの手の握りの再確立を表し、ユーザが仮想没入型体験を(例えば、部分的又は完全に、徐々に、又は直ちに)去ることを望むことを示す。
いくつかの実施形態では、センサシステムは、表示生成コンポーネントのハウジング上で検出された手の総数の変化(例えば、片手から両手へ、又は手無しから両手へ)、表示生成コンポーネントのハウジングに接触する指の総数の増加、手の接触無しから表示生成コンポーネントのハウジング上の手の接触への変化、接触位置の変化(例えば、指(単数又は複数)から掌)、及び/又は表示生成コンポーネントのハウジング上の接触強度の変化を検出する。いくつかの実施形態では、ユーザの手の握りの再確立は、表示生成コンポーネントの位置及び/又は配向を変化させる(例えば、図7Lの部分(A)の角度と比較して、図7Mのパート(A)の環境に対するデバイス7100の位置及び角度を変化させる)。いくつかの実施形態では、ユーザの手の握りの変化は、物理的環境7800に対するユーザの視点の変化を引き起こす(例えば、物理的環境7800に対するデバイス7100又はデバイス7100の1つ以上のカメラの視野角が変化する)。結果として、表示される第3のビュー7821の視点は、それに応じて変化する(例えば、パススルー部分及び/又はディスプレイ上の仮想オブジェクトの視点を変化させることを含む)。
いくつかの実施形態では、第3のビュー7821のパススルー部分は、第1のビュー7820のパススルー部分と同一である、又は少なくとも、第2のビュー7920内のパススルー部分(もしあれば)に対して増加している。いくつかの実施形態では、第3のビュー7821のパススルー部分は、第1のビュー7820のパススルー部分と比較して、物理的環境7800内の物理的オブジェクト7504の異なる視点を示す。いくつかの実施形態では、第3のビュー7821のパススルー部分は、透明又は半透明である表示生成コンポーネントのシースルー部分である。いくつかの実施形態では、第3のビュー7821のパススルー部分は、物理的環境7800の少なくとも一部の画像データをキャプチャするように構成された1つ以上のカメラからのライブフィードを表示する。いくつかの実施形態では、第3のビュー7821内のパススルー部分と共に表示される仮想コンテンツが存在しない。いくつかの実施形態では、仮想コンテンツは、一時停止される、又は第3のビュー7821内で半透明にされ又は色飽和度を低減され、第3のビュー7821内のパススルー部分と同時に表示される。第3のビューが表示されると、ユーザは、図7K~7Lに関して説明したように、手の握りを再度変化させることによって、完全没入型体験を再開することができる。
図7N~図7Pは、いくつかの実施形態による、ユーザを取り囲む物理的環境内のオブジェクト(例えば、障害物又は標的)に対するユーザの位置の変化の検出に応答して変化する三次元仮想環境の例示的なビューを示す。図7N~図7Pを参照して説明される入力ジェスチャは、図13におけるプロセスを含め、以下において説明されるプロセスを例示するために用いられる。
図7Nの部分(A)では、ユーザ7802は、物理的環境7800内にデバイス7100を保持する。物理的環境は、1つ以上の物理的表面及び物理的オブジェクト(例えば、壁、床、物理的オブジェクト7602)を含む。デバイス7100は、ユーザを取り囲む物理的環境を示すパススルー部分を表示することなく、仮想三次元環境7610を表示する。いくつかの実施形態では、デバイス7100は、仮想環境7610を表示するときに、物理的環境のユーザのビューを遮断する表示生成コンポーネントを含むHMD又は他のコンピュータシステムによって置き換えることができる。いくつかの実施形態では、コンピュータシステムのHMD又は表示生成コンポーネントは、少なくともユーザの目を包囲し、物理的環境のユーザのビューは、表示生成コンポーネント及び表示生成コンポーネント又はそのハウジングで形成された他の物理的障壁によって表示される仮想コンテンツによって部分的又は完全に遮断される。
図7Nの部分(B)は、コンピュータシステム(例えば、デバイス7100又はHMD)の表示生成コンポーネント(「ディスプレイ」とも称される)によって表示される三次元環境の第1のビュー7610を示す。
いくつかの実施形態では、第1のビュー7610は、没入型仮想体験(例えば、三次元映画又はゲーム)を提供する三次元仮想環境である。いくつかの実施形態では、第1のビュー7610は、三次元仮想現実(VR)コンテンツを含む。いくつかの実施形態では、VRコンテンツは、ユーザを取り囲む物理的環境7800に対応しない物理的環境内の1つ以上の物理的オブジェクトに対応する1つ以上の仮想オブジェクトを含む。例えば、仮想オブジェクトの少なくともいくつかは、物理的環境7800から離れた物理的環境内の物理的オブジェクトの位置に対応する仮想現実環境内の位置に表示される。いくつかの実施形態では、第1のビューは、仮想ユーザインタフェース要素(例えば、ユーザインタフェースオブジェクトを含む仮想ドック又は仮想メニュー)、又は物理的環境7800とは無関係である他の仮想オブジェクトを含む。
いくつかの実施形態では、第1のビュー7610は、ユーザ7802を取り囲む物理的環境7800の任意の表現を含まず、かつそれとは異なる、100%仮想コンテンツ(例えば、仮想オブジェクト7612及び仮想面7614(例えば、仮想壁及び床))を含む。いくつかの実施形態では、第1のビュー7610内の仮想コンテンツ(例えば、仮想オブジェクト7612及び仮想面7614)は、物理的環境7800内の任意の物理的オブジェクトの存在、位置、及び/又は物理的構造に対応しないか、又は視覚的に伝達しない。いくつかの実施形態では、第1のビュー7610は、任意選択的に、物理的環境7800内の第1の物理的オブジェクトの存在及び位置を示すが、物理的環境7800内の第2の物理的オブジェクトの存在、位置、及び/又は物理的構造を視覚的に伝達しない仮想表現を含み、ユーザのビューが表示生成コンポーネントによってブロックされていない場合には両者ともユーザの視野内にある。言い換えれば、第1のビュー7610は、ユーザの通常の視野(例えば、ユーザの目の前に表示生成コンポーネントが配置されていない状態のユーザの視野)において存在するであろう少なくともいくつかの物理的オブジェクト又はその一部の表示を置き換える仮想コンテンツを含む。
図7Oは、コンピュータシステムの表示生成コンポーネントによって表示される三次元仮想環境(「三次元環境の第2のビュー7620」、「仮想環境の第2のビュー7620」、又は「第2のビュー7620」とも称される)の別の例示的なビュー7620を示す。いくつかの実施形態では、センサシステムは、ユーザ7802が物理的環境7800内の物理的オブジェクト7602に向かって移動することを検出し、センサシステムによって取得されたセンサデータが解析されて、ユーザ7802と物理的オブジェクト7602との間の距離が所定の閾値距離(例えば、腕の長さ、又はユーザの通常の歩行の長さ)内にあるかどうかを判定する。いくつかの実施形態では、物理的オブジェクト7602の一部がユーザ7602に対して閾値距離内にあると判定されると、仮想環境のビューの外観は、物理的オブジェクト7602の一部の物理的特性を示すように変化させられる(例えば、ユーザ7802からの閾値距離内にある図7Oの部分(B)の第2のビュー7620内の物理的オブジェクト7602の部分7604を示し、部分7604と同じユーザの視野内にあるが、ユーザの閾値距離内にはない物理的オブジェクト7602の他の部分を示さない)。いくつかの実施形態では、仮想コンテンツの一部を物理的オブジェクトの部分7604の直接ビュー又はカメラビューに置き換える代わりに、物理的オブジェクトの部分7604に対応する位置での仮想コンテンツの一部の視覚的特性(例えば、不透明度、色、テクスチャ、仮想材料など)は、物理的オブジェクトの部分7604の物理的特性(例えば、サイズ、色、パターン、構造、輪郭、形状、表面など)を示すように変更される。物理的オブジェクト7602の部分7604に対応する位置での仮想コンテンツの変化は、部分7604の外側にある物理的オブジェクト7602の部分に対応する位置での仮想コンテンツの部分を含む、仮想コンテンツの他の部分に適用されない。いくつかの実施形態では、コンピュータシステムは、物理的オブジェクトの部分7604に対応する位置での仮想コンテンツの部分と、物理的オブジェクトの部分7604に対応する位置のすぐ外側の仮想コンテンツの部分との間の融合を提供する(例えば、視覚的移行をスムーズにする)。
いくつかの実施形態では、物理的オブジェクト7602は、壁、椅子、又はテーブルなどの物理的環境7800内の静的オブジェクトである。いくつかの実施形態では、物理的オブジェクト7602が物理的環境7800内で移動するオブジェクト、例えば、ユーザ7802が物理的環境7800に対して静止している間に、ユーザ7802に対して移動する物理的環境7800内の別の人又は犬などである(例えば、ユーザが映画を見ながらソファに座っている間に、ユーザのペットが動き回る)。
いくつかの実施形態では、ユーザ7802が、三次元没入型仮想体験(例えば、サラウンド音響効果や他の仮想知覚などを有するパノラマ三次元ディスプレイを含む)を享受している間、コンピュータシステムと結合されたセンサシステムからのセンサデータのリアルタイム解析が、(例えば、物理的オブジェクトに向かうユーザの移動、又はユーザに向かう物理的オブジェクトの移動のいずれかによって)ユーザ7802が物理的オブジェクト7602に十分近づいていることを示す場合、ユーザ7802は、スムーズで邪魔の少ない形で仮想環境と融合する警告を受信することから恩恵を得ることができる。これにより、ユーザは、体験の没入型品質を失うことなく、自分の移動を変化させる、及び/又は没入型体験を中止/継続するかについて、より多くの情報に基づいた判定を下すことができる。
いくつかの実施形態では、第2のビュー7620は、センサデータの解析が、ユーザ7802が物理的環境7800内の物理的オブジェクト7602の少なくとも一部の閾値距離内にいることを示すときに表示される(例えば、物理的オブジェクト7602は、仮想環境に対するユーザの視野に基づいてユーザに潜在的に可視となり得る範囲を有する)。いくつかの実施形態では、コンピュータシステムは、物理的環境7800内のユーザに対する物理的オブジェクトの一部の位置を前提とすると、物理的オブジェクトのその部分は、ディスプレイがパススルー部分を有していた場合、又は表示生成コンポーネントがユーザの目の前に存在しなかった場合、ユーザの視野内で見えることになる。
いくつかの実施形態では、仮想環境の第2のビュー7620内の部分7604は、物理的オブジェクト7602の対応する部分の半透明視覚的表現を含む。例えば、半透明の表現は仮想コンテンツに重なる。いくつかの実施形態では、仮想環境の第2のビュー7620の部分7604は、物理的オブジェクト7602の対応する部分のガラス状の外観を含む。例えば、ユーザ7802が、没入型仮想体験を享受している間に部屋に配置されたテーブルに近づくと、ユーザに最も近いテーブルの部分は、仮想コンテンツ(例えば、仮想ビュー内の仮想ボール又は仮想草地)に重なるガラス状の半透明なシースルーの外観で示され、テーブルのその部分の後ろの仮想コンテンツは、ガラス状テーブルのその部分を通じて可視である。いくつかの実施形態では、仮想環境の第2のビュー7620は、ユーザ7802に最も近い物理的オブジェクト7602の部分に対応する部分7604に適用される所定の歪み又は他の視覚的効果(例えば、揺らめき、波動、輝き、暗化、ぼかし、渦巻などの視覚的効果、又は異なるテキスト効果)を示す。
いくつかの実施形態では、ユーザが物理的オブジェクト7602の対応する部分に向かって移動し閾値距離内に入ると、仮想環境の第2のビュー7620は、ユーザに適時な警告を提供するように瞬時に第1のビュー7610に取って代わる。いくつかの実施形態では、仮想環境の第2のビュー7620は、例えば、フェードイン/フェードアウト効果を用いて徐々に表示され、移行がより滑らかで、混乱/邪魔がより少ないユーザ体験を提供する。いくつかの実施形態では、コンピュータシステムは、物理的環境内で移動することによって、ユーザが三次元環境内でナビゲートすることを可能にし、三次元環境内のコンピュータ生成運動を反映するように、ユーザに提示される三次元環境のビューを変化させる。例えば、図7N及び図7Oに示されるように、ユーザが物理的オブジェクト7602に向かって歩いているとき、ユーザは、三次元仮想環境内で仮想オブジェクト7612に向かって同じ方向に移動するものとして自分の移動を知覚する(例えば、仮想オブジェクト7612がより近くかつ大きくなる)。いくつかの実施形態では、ユーザに提示された仮想コンテンツは、物理的環境内のユーザの移動とは無関係であり、ユーザが物理的環境内の物理的オブジェクトの閾値距離内に到達した場合を除いて、物理的環境内のユーザの移動に従って変更されない。
図7Pは、コンピュータシステムの表示生成コンポーネント(例えば、デバイス7100又はHMD)によって表示される三次元環境の更に別の例示的なビュー7630(「三次元環境の「第3のビュー7630」、「仮想環境の第3のビュー7630」、又は「第3のビュー7630」とも称される)を示す。いくつかの実施形態では、図7Oを参照して説明したように仮想三次元環境の第2のビュー7620を表示した後、ユーザ7802が物理的環境7800内の物理的オブジェクト7602に向かって移動し続けると、センサデータの解析は、ユーザ7802と物理的オブジェクト7602の部分7606との間の距離が所定の閾値距離未満であることを示す。それに応答して、ディスプレイは、第2のビュー7620から第3のビュー7630に移行する。いくつかの実施形態では、構造(例えば、サイズ、形状、長さ、幅、幅など)及びユーザと物理的オブジェクト7602の相対位置に応じて、ユーザが物理的環境7800内の様々な位置にあるときにユーザの所定の閾値距離内にあった物理的オブジェクト7602の部分7606及び部分7604は、任意選択的に物理的オブジェクトの完全に別個の非重複部分であり、部分7606は任意選択的に部分7604を完全に包囲し、部分7606及び部分7604は任意選択的に部分的に重複し、又は部分7604は、任意選択的に部分7606を完全に包囲する。いくつかの実施形態では、1つ以上の他の物理的オブジェクトの部分又は全体は、それらの物理的オブジェクトがユーザの所定の閾値距離の内側又は外側にあるかに応じて、ユーザがそれらの物理的オブジェクトに対して部屋を動き回るときに、仮想三次元環境の現在表示されているビュー内に視覚的に表す、又は表すことを停止することができる。
いくつかの実施形態では、コンピュータシステムは、任意選択的に、ユーザが、ユーザと所定の物理的オブジェクトとの間の距離が監視され、視覚的変化が仮想環境に適用される物理的環境7800内の物理的オブジェクトのサブセットを予め選択することを可能にする。例えば、ユーザは、物理的オブジェクトのサブセットとして家具及びペットを予め選択し、物理的オブジェクトのサブセットとして衣服やカーテンなどを選択しないことを望むことができ、ユーザが歩行している場合であっても、衣服やカーテンの存在についてユーザに警告するように視覚的変化を仮想環境に適用しない。いくつかの実施形態では、コンピュータシステムは、ユーザが物理的オブジェクトの閾値距離内にいるかどうかに関係なく、ユーザが物理的オブジェクトのそれぞれの位置に対応する仮想環境の一部に視覚的効果(例えば、透明度、不透明度、輝き、屈折率など)を適用することによって、常に仮想環境に視覚的に表される1つ以上の物理的オブジェクトを事前に指定することを可能にする。これらの視覚的インジケーションにより、ユーザが仮想世界に没入している場合でも、ユーザは現実世界に対して自身を配向し、仮想世界を探索するときにより安全で安定した感覚を覚えることができる。
いくつかの実施形態では、図7Pに示されるように、第3のビュー7630は、ユーザが物理的オブジェクトに近づいたときに、ユーザから閾値距離内にある物理的オブジェクト7602の部分7606のレンダリングを含む。いくつかの実施形態では、コンピュータシステムは、任意選択的に、ユーザと物理的オブジェクトの一部との間の低減された距離に従って、物理的オブジェクト7602の対応部分の物理的特性を示す仮想環境の部分に適用される視覚的効果の表示特性の値を更に増加させる。例えば、コンピュータシステムは、任意選択的に、第3のビュー7630の物理的オブジェクトの部分に対応する仮想環境の一部の屈折率、色飽和度、視覚的効果、不透明度、及び/又は透明度を、ユーザが徐々に物理的オブジェクトのその部分に近づくにつれて増加させる。いくつかの実施形態では、ユーザ7802が物理的オブジェクト7602に近づくにつれて、視覚的効果の空間的範囲が増加し、物理的オブジェクト7602の対応する部分が、仮想環境に対するユーザの視野においてより大きく見える。例えば、ユーザ7802が物理的環境7800の物理的オブジェクト7602に近づくにつれて、第3のビュー7630の部分7606は、少なくとも以下の2つの理由、(1)物理的オブジェクト7602のより多くの部分が、ユーザの所定の距離内に入る、(2)物理的オブジェクト7602の同じ部分(例えば、部分7604)が、ユーザの目に近づくために仮想環境のユーザの視野のより大きな部分を占める、ために、第2のビュー7620の部分7604と比較して、仮想オブジェクト7612からそのサイズを徐々に増加させ、ユーザの方向に向かって延長しているように見える。
いくつかの実施形態では、コンピュータシステムは、ユーザの閾値距離内に部分的に位置する物理的オブジェクトの部分(例えば、仮想環境のユーザの視野内で潜在的に可視である全ての部分)、又は仮想環境のユーザの視野内で潜在的に可視である全ての物理的オブジェクトを、物理的オブジェクトのそれらの部分又は全ての物理的オブジェクトに対応する位置で仮想環境の表示特性を修正することによって、仮想環境内に視覚的に表示させるジェスチャ入力(例えば、ユーザは、閾値時間内にユーザの身体に対して一方又は両方の腕を所定の高度まで上げる(例えば、落下したり何かに衝突したりすることを防ぐための筋反射である急で突然の移動))を定義する。この特徴は、ユーザが物理的環境内で自分の身体の位置を確信するときに、ユーザが没入型体験から完全に去ることなく、自身を迅速に再配向することを可能にするのに役立つ。
図7A~図7Pに関する追加の説明は、以下の図8~13に関して記載された方法8000、9000、10000、11000、12000、及び13000を参照して以下に提供される。
図8は、いくつかの実施形態による、所定の入力ジェスチャを使用して三次元環境と相互作用するための例示的な方法8000のフローチャートである。いくつかの実施形態では、方法8000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手元で下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))又はユーザの頭部から前方に向くカメラ)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法8000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法8000の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
方法8000において、コンピュータシステムは、三次元環境(例えば、仮想又は複合現実環境)のビューを表示する(8002)。三次元環境のビューを表示する間、コンピュータシステムは、1つ以上のカメラを使用して(例えば、タッチ感知グローブ、又は手で制御される入力デバイス上のタッチ感知面、又はその他の非画像ベース手段(例えば、音波など)の使用とは対照的に、HMDの下縁に位置付けられた1つ以上のカメラを使用して)、ユーザの第1の手(例えば、グローブをはめていない、又は入力デバイス/表面に覆われていない若しくは添えられていない左手又は右手)のユーザの人差し指上でのユーザの親指の移動を検出する(8004)。これは、例えば、図7A及び付随する説明(例えば、親指タップ、親指スワイプ、及び親指フリックジェスチャ)に示されている。いくつかの実施形態では、ユーザの手又はそのグラフィック表現は、三次元環境のビューに(例えば、表示生成コンポーネントのパススルー部分で、又はユーザを取り囲む物理的環境の拡張現実ビューの一部として)表示される。いくつかの実施形態では、ユーザの手又はそのグラフィック表現は、三次元環境のビューには示されないか、又は三次元環境のビューの外側にあるディスプレイの一部(例えば、別個の又は浮遊する窓)に表示される。1つ以上のカメラ、特にHMDの一部であるカメラを使用する恩恵は、ユーザの手の空間位置及びサイズが、ユーザが相互作用している物理的環境又は仮想環境内で自然に存在するかのようにユーザによって視認されることを含み、入力デバイスの空間を三次元環境に一致させる、及び/又は表示された三次元環境に配置する前にユーザの手の表現を拡大縮小、回転、及び並進させるための追加の計算を必要とすることなく、ディスプレイ上の三次元環境を知覚するためのスケール、配向、及び固定位置の直感的感覚をユーザに与える。図8に戻って参照すると、1つ以上のカメラを使用してユーザの人差し指上でのユーザの親指の移動(例えば、指又は手を空中で振る又はタッチ感知面上でスライドさせる、より大げさなジェスチャとは対照的に)を検出したことに応答して(8006)、かつ移動が第1の方向への第1の手の人差し指上の親指のスワイプ(例えば、x軸及びy軸の第1の軸(例えば、x軸)に沿った移動、x軸に沿った移動は人差し指の長さに沿った移動であり、y軸に沿った移動は人差し指を横切る方向の移動(人差し指の長さに沿った移動に実質的に垂直である)であるという判定に従って、コンピュータシステムは、第1の動作を実行する(例えば、表示されたユーザインタフェース内の選択されたユーザインタフェースオブジェクトを変化させる(例えば、(アイテムの左右列で)第1の方向に対応するアイテムのリストを通じて第1の方向にアイテムの選択を繰り返す)、表示されたユーザインタフェース内のユーザインタフェースオブジェクトの位置を調節する(例えば、ユーザインタフェース内の第1の方向に対応する方向(例えば、左右)にオブジェクトを移動させる)、及び又はデバイスのシステム設定を調節する(例えば、ボリュームを調節する、次のリストアイテムに移動する、前のリストアイテムに移動する、前方にスキップする(例えば、次のチャプタ、オーディオトラック、及び/又はコンテンツアイテムに早送りする及び/又は進む)、後方にスキップする(例えば、前のチャプタ、オーディオトラック、及び/又はコンテンツアイテムに巻き戻しする及び/又は移動する))。いくつかの実施形態では、(例えば、人差し指の長さに沿った)第1の方向の(例えば、人差し指の先端に向かう)第1のサブ方向のスワイプは、ある方法で第1の動作を実行することに対応し、第1の方向の(例えば、人差し指の基部に向かう)第2のサブ方向のスワイプは、別の方法で第1の動作を実行することに対応する。このことは、例えば、図7B、7C、及び7F、並びに付随の説明に示される。図8に戻って参照すると、1つ以上のカメラを使用してユーザの人差し指でのユーザの親指の移動(例えば、指又は手を空中で振る又はタッチ感知面上でスライドさせる、より大げさなジェスチャとは対照的な移動)を検出したことに応答して(8006)、かつ移動が、第1の手の人差し指の(例えば、末節骨、中節骨、及び/又は基節骨などの人差し指の第1の部分における)第1の位置での人差し指上の親指のタップ(閾値時間内の人差し指上の親指のタッチダウン及びリフトオフを含む)であるという判定に従って、コンピュータシステムは、第1の動作とは異なる第2の動作を実行する(例えば、現在選択されているユーザインタフェースオブジェクトに対応する動作を実行する、及び/又は、表示されたユーザインタフェース内の選択されたユーザインタフェースオブジェクトを変更する)。いくつかの実施形態では、第1/第2の動作を実行することは、三次元ユーザインタフェースのビューを変化させることを含み、この変化は、現在の動作コンテキストに依存する。言い換えれば、各ジェスチャは、現在の動作コンテキスト(例えば、ユーザが見ているオブジェクト、ユーザが向いている方向、現在のジェスチャの直前に実行される最後の機能、及び/又は現在選択されているオブジェクト)に応じて、異なる動作をトリガし、それに応じてそれぞれの方法で三次元環境のビュー内で変化する。このことは、例えば、図7B、7C、及び7F、並びに付随の説明に示される。
いくつかの実施形態では、1つ以上のカメラを使用してユーザの人差し指上のユーザの親指の移動を検出したことに応答して、移動が第1の方向に実質的に垂直な第2の方向への第1の手の人差し指上の親指のスワイプ(例えば、y軸)であるという判定に従って(例えば、x軸及びy軸の第2の軸(例えば、y軸)に沿った移動、x軸に沿った移動は人差し指の長に沿った移動であり、y軸に沿った移動は人差し指を横切る(人差し指の長さに沿った移動に実質上直交する)方向の移動である)、コンピュータシステムは、第1の動作及び第2の動作とは異なる第3の動作を実行する(例えば、表示されたユーザインタフェース内の選択されたユーザインタフェースオブジェクトを変化させる(例えば、第2の方向に対応する項目のリスト内で第2の方向で(例えば、2Dメニュー内の複数行のアイテムを上下に、又は垂直に配置されたリストを上下に)選択を反復する、表示されたユーザインタフェース内のユーザインタフェースオブジェクトの位置を調節する(ユーザインタフェース内で第2の方向に対応する方向に(例えば、上下に)オブジェクトを移動させる、及び/又は、デバイスのシステム設定(例えば、ボリューム)を調節する)。いくつかの実施形態では、第3の動作は、第1の動作及び/又は第2の動作とは異なる。いくつかの実施形態では、(例えば、人差し指の周りに沿った)第2の方向の(例えば、人差し指の周りに沿って掌から離れる)第1のサブ方向のスワイプは、ある方法で第3の動作を実行することに対応し、第2の方向の(例えば、人差し指の周りに沿って掌に近づく)第2のサブ方向のスパイプは、別の方法で第3の動作を実行することに対応する。
いくつかの実施形態では、1つ以上のカメラを使用してユーザの人差し指上でのユーザの親指の移動を検出したことに応答して、移動が第1の方向(及び第2の方向)とは異なる第3の方向での人差し指上での親指の移動(人差し指上での親指のタップではない)であるという判定に従って、コンピュータシステムは、第1の動作とは異なり、第2の動作とは異なり、(及び、第3の動作とは異なる)第4の動作を実行する。いくつかの実施形態では、第3の方向は、人差し指から離れる(例えば、人差し指の側部でのタッピングとは反対の)人差し指からの上向き方向であり、そのジェスチャは、人差し指及び掌から離れる、人差し指の側部からの親指のフリックである。いくつかの実施形態では、親指を使用した人差し指の中間を横切るこの上方フリックジェスチャは、現在選択されているユーザインタフェースオブジェクトを三次元環境に押し込み、現在選択されているユーザインタフェースオブジェクト(例えば、動画アイコン、アプリアイコン、画像など)に対応する没入型体験(例えば、3D動画又は3D仮想体験、パノラマ表示モードなど)を開始させる。いくつかの実施形態では、没入型体験が継続している間、人差し指の中間を横切って掌に向かって下方にスワイプすると(例えば、人差し指の中間でタッピングするのとは対照的に、第2の方向のサブ方向のうちの1つの移動)、没入型体験が一時停止される、停止される、及び/又は低減された没入状態(例えば、非フルスクリーン、2Dモードなど)に変えられる。
いくつかの実施形態では、第1の動作を実行することは、第1の動作に対応する値(例えば、システム設定の値、ユーザインタフェースの少なくとも一部(例えば、ユーザインタフェースオブジェクト)の位置及び/又はその選択を示す値、及び/又は選択されたコンテンツ又はコンテンツの一部に対応する値)を増加させることを含む。例えば、値を増加させることは、第1の方向(例えば、人差し指の長さに沿った方向、又は人差し指の周りに沿った方向)の人差し指上の親指のスワイプが、人差し指の第1の所定の部分に向かって(例えば、人差し指の先端に向かって、又は人差し指の後側に向かって)移動するという判定に従って、ボリュームを増加させること、オブジェクトを増加方向(例えば、上方及び/又は右方向)に移動させること、及び/又は次の又は別の前進位置まで(例えば、リスト及び/又はコンテンツアイテム内の)位置を調節すること、を含む。いくつかの実施形態では、第1の動作を実行することは、第1の方向(例えば、人差し指の長さに沿った方向、又は人差し指の周りに沿った方向)の人差し指上の親指のスワイプが、人差し指の第1の所定の部分から離れて(例えば、人差し指の先端から離れて、又は人差し指の(手の後側の)後側から離れて)人差し指の第2の所定の部分に向かって(例えば、人差し指の基部に向かって、又は人差し指の(手の掌側の)前側に向かって移動するという判定に従って、第1の動作に対応する値を減少させることを更に含む(例えば、値を減少させることは、ボリュームを減少させること、減少方向(例えば、下方及び/又は左方向)にオブジェクトを移動させること、及び/又は、前の又は別の先行位置まで(例えば、リスト及び/又はコンテンツアイテム内の)位置を調節することを含む)。いくつかの実施形態では、第2の方向の人差し指上で親指をスワイプする方向はまた、第1の方向のスワイプ方向が第1の動作の方向を判定する方法と同様に、第3の動作の方向を判定する。
いくつかの実施形態では、第1の動作を実行することは、第1の動作に対応する値(例えば、システム設定の値、ユーザインタフェースの少なくとも一部(例えば、ユーザインタフェースオブジェクト)の位置及び/又はその選択を示す値、及び/又は選択されたコンテンツ又はコンテンツの一部に対応する値)を、人差し指上での親指の移動量に対応する量だけ調節することを含む。いくつかの実施形態では、親指の移動は、人差し指上の閾値位置に対して測定され、第1の動作に対応する値は、どの閾値位置に達したかに従って複数の個別の高度間で調節される。いくつかの実施形態では、親指の移動は連続的に測定され、第1の動作に対応する値は、人差し指上の(例えば、人差し指に沿った又はその周りの)親指の現在の位置に基づいて連続的かつ動的に調節される。いくつかの実施形態では、親指の移動速度は、動作の大きさ、及び/又は動作の異なる離散値がいつトリガされるかを判定するために使用される閾値を判定するために使用される。
いくつかの実施形態では、1つ以上のカメラを使用してユーザの人差し指上でのユーザの親指の移動を検出したことに応答して、移動が、人差し指上の第1の位置とは異なる第2の位置(例えば、人差し指の一部及び/又は指倍)における人差し指上での親指のタップであるという判定に従って、コンピュータシステムは、第2の動作とは異なる第5の動作を実行する(例えば、現在選択されているユーザインタフェースオブジェクトに対応する動作を実行する、及び/又は表示されたユーザインタフェース内で選択されたユーザインタフェースオブジェクトを変化させる)。いくつかの実施形態では、第5の動作は、第1の動作、第3の動作、及び/又は第4の動作とは異なる。いくつかの実施形態では、人差し指の中間部分をタップすることは、現在選択されているオブジェクトをアクティブ化させ、人差し指の先端をタップすることは、現在アクティブなアプリケーション又は体験を最小限に抑える/停止する/閉じる。いくつかの実施形態では、人差し指上での親指のタップを検出することは、人差し指からの親指のリフトオフを検出する必要はなく、親指が人差し指上にとどまっている間、親指又は手全体の移動は、例えば、オブジェクトをドラッグするために、親指のタップホールド入力と組み合わせた移動として扱うことができる。
いくつかの実施形態では、コンピュータシステムは、1つ以上のカメラを使用して(例えば、中指から離れて伸長したユーザの人差し指を検出しながら)ユーザの中指を介したユーザの親指のスワイプを検出する。ユーザの中指上でのユーザの親指のスワイプを検出したことに応答して、コンピュータシステムは、第6の動作を実行する。いくつかの実施形態では、第6の動作は、第1の動作、第2の動作、第3の動作、第4の動作、及び/又は第5の動作とは異なる。いくつかの実施形態では、中指上でのユーザの親指のスワイプは、中指の長さに沿った親指の移動(例えば、基部から中指の先端に向かう移動、又はその逆)を含み、中指上でのユーザの親指のスワイプが、中指の長さに沿った中指の先端から中指の基部に向かう親指の移動、及び/又は中指を横切る中指の掌側から中指の上部までの親指の移動を含むという判定に従って、1つ以上の異なる動作が実行される。
いくつかの実施形態では、コンピュータシステムは、1つ以上のカメラを使用して(例えば、中指から離れて伸長したユーザの人差し指を検出しながら)ユーザの中指上でのユーザの親指のタップを検出する。ユーザの中指上でのユーザの親指のタップを検出したことに応答して、コンピュータシステムは、第7の動作を実行する。いくつかの実施形態では、第7の動作は、第1の動作、第2の動作、第3の動作、第4の動作、第5の動作、及び/又は第6の動作とは異なる。いくつかの実施形態では、中指上でのユーザの親指のタップは、中指上の第1の位置にあり、中指上でのユーザの親指のタップが、中指上の第1の位置とは異なる第2の位置にあるという判定に従って、異なる動作が実行される。いくつかの実施形態では、中指上の第1及び/又は第2の位置からの上方フリックは、第1、第2、...及び/又は第7の動作とは異なる他の動作をデバイスに実行させる。
いくつかの実施形態では、コンピュータシステムは、三次元環境内の親指ジェスチャ(例えば、親指の手の他の指上でのスワイプ/タップ/フリック)の動作コンテキストの視覚的インジケーション(例えば、選択可能なオプションのメニュー、値を調節するためのダイヤル、デジタルアシスタントのアバター、現在選択されているオブジェクトの選択インジケータの表示、相互作用オブジェクトの強調表示など)を表示する(例えば、デバイスが、1つ以上のカメラを用いて、ユーザの手が所定の準備完了状態にある、又は所定の準備完了状態に入った(例えば、親指が人差し指の側部に置かれている、又は人差し指の側部の上方に浮かんでいる、及び/又は親指の後部が上方を向いている/人差し指の側部に置かれている状態で手首をフリックする)ことを検出するとき、及び/又は手の親指側がカメラの向かって上方を向いているとき、三次元環境内に複数のユーザインタフェースオブジェクトを表示し、ユーザインタフェースオブジェクトは、親指の手の他の指上でのスワイプ及びタップジェスチャに反応する)。第1の動作(又は第2、第3などの動作)を実行することは、第1の動作(又は第2、第3などの動作)の実行に対応する三次元環境の視覚的変化を表示することを含む(例えば、視覚的変化を表示することは、複数のユーザインタフェースオブジェクトのうちのそれぞれのユーザインタフェースオブジェクトを起動し、それぞれのユーザインタフェースオブジェクトに関連付けられた動作を実行させることを含む)。
いくつかの実施形態では、親指ジェスチャの動作コンテキストの視覚的インジケーションを表示している間(例えば、ユーザの手が所定の準備完了状態にあると検出したことに応答して三次元環境内の複数のユーザインタフェースオブジェクトを表示している間)、コンピュータシステムは、1つ以上のカメラを使用して、ユーザの第1の手の移動(例えば、指の相対的な内部の移動とは対照的に、カメラに対する物理的環境内の手全体の移動)を検出する(例えば、手が準備完了状態にとどまる間の手の移動を検出する)(例えば、三次元環境内の手/手首の移動及び/又は回転を検出する)。第1の手の移動を検出したことに応答して、コンピュータシステムは、手の位置の検出された変化に従って、三次元環境内の親指ジェスチャの動作コンテキストの視覚的インジケーション(例えば、複数のユーザインタフェースオブジェクト)の表示された位置を変化させる(例えば、手の所定の距離内にある複数のユーザインタフェースオブジェクトの表示を維持する)(例えば、手の移動中、オブジェクトのメニューは親指の先端にくっついている)。いくつかの実施形態では、視覚的インジケーションは、システムアフォーダンス(例えば、アプリケーション起動ユーザインタフェース又はドックに関するインジケータ)である。いくつかの実施形態では、視覚的インジケーションは、複数のアプリケーション起動アイコンを含むドックである。いくつかの実施形態では、ドックは、手の構成(例えば、親指の位置、人差し指/中指の位置)の変化として変化する。いくつかの実施形態では、視覚的インジケーションは、手がマイクロジェスチャ配向から外へ移動する(例えば、肩の下方で親指を上げる)と消失する。いくつかの実施形態では、手がマイクロジェスチャ配向内へ移動すると、視覚的インジケーションが再び現れる。いくつかの実施形態では、視覚的インジケーションは、ジェスチャ(例えば、ユーザが手を見ている間に人差し指上で親指をスワイプする)に応答して現れる。いくつかの実施形態では、視覚的インジケーションは、手の非アクティブ時間閾値(例えば、8秒)後にリセットされる(例えば、消失する)。更なる詳細は、例えば、図7D~7F及び9、並びに添付の説明に関して説明する。
いくつかの実施形態では、コンピュータシステムは、1つ以上のカメラを使用して(例えば、第1の手とは異なる)ユーザの第2の手のユーザの人差し指上でのユーザの親指の移動を、(例えば、両手ジェスチャシナリオでは)(例えば、第1の手のユーザの人差し指上でのユーザの親指の移動を検出しながら)、又は(例えば、片手のジェスチャシナリオでは)第1の手のユーザの人差し指上でのユーザの親指の移動を検出せずに)検出する。1つ以上のカメラを使用して、第2の手のユーザの人差し指上でのユーザの親指の移動を検出したことに応答して、移動が、第1の方向(例えば、人差し指の長さに沿った、又は人差し指の周りに沿った、又は人差し指の側部から上方に離れる)の第2の手の人差し指上での親指のスワイプであるという判定に従って、コンピュータシステムは、第1の動作とは異なる第8の動作を実行し、移動が、(末節骨、中節骨、及び/又は近節骨などの人差し指の第1の部分における)第1の位置での第2の手の人差し指上の親指のタップであるという判定に従って、第2の手の人差し指上で、コンピュータシステムは、第2の動作(及び第8の動作)とは異なる第9の動作を実行する。いくつかの実施形態では、第8及び/又は第9の動作は、第1の動作、第2の動作、第3の動作、第4の動作、第5の動作、第6の動作、及び/又は第7の動作とは異なる。いくつかの実施形態では、両手ジェスチャを行うために両手が使用される場合、両手の親指の移動は同時入力として処理され、一緒に使用されて、どの機能がトリガされるかを判定する。例えば、親指が両手(手は互いに対向している)の人差し指の先端から人差し指の基部に向かって移動する場合、デバイスは、現在選択されているオブジェクトを拡張し、親指が両手(手は互いに対向している)の人差し指の基部から人差し指の先端に向かって移動する場合、デバイスは、現在選択されているオブジェクトを最小化する。いくつかの実施形態では、親指が両手の人差し指を同時にタップする場合、デバイスは、現在選択されているオブジェクトを第1の方法でアクティブ化し(例えば、カメラアプリを使用してビデオ記録を開始する)、親指が左手の人差し指をタップする場合、デバイスは、現在選択されているオブジェクトを第2の方法でアクティブ化し(例えば、カメラアプリを使用してオートフォーカスを実行する)、親指が右手の人差し指をタップする場合、デバイスは、現在選択されているオブジェクトを第3の方法でアクティブ化する(例えば、カメラアプリを使用して、スナップショットを撮る)。
いくつかの実施形態では、1つ以上のカメラを使用して、ユーザの人差し指上でのユーザの親指の移動(例えば、指又は手を空中で振るか又はタッチ感知面上でスライドさせるような、より大げさなジェスチャとは対照的)を検出したことに応答して、移動が第1の手の人差し指への親指のタッチダウンと続いて第1の手の手首フリックジェスチャ(例えば、第1の手の手首に対する第1の手の上方への移動)を含むという判定に従って、コンピュータシステムは、第1の動作とは異なる(例えば、ユーザの指の他の種類の移動パターンに対応する第1~第9の動作のそれぞれ又はサブセットとは異なる)第10の動作を実行する(例えば、選択されたユーザインタフェースオブジェクトを動作させるための入力を提供する、オブジェクト(例えば、ユーザによって選択及び/又は保持される仮想オブジェクト)を選択するための入力を提供する、及び/又はオブジェクトを破棄するための入力を提供する)。いくつかの実施形態では、デバイスが、ユーザの視線が三次元環境内の選択可能なオブジェクト(例えば、写真ファイルアイコン、動画ファイルアイコン、通知バナーなど)に向けられていることを検出している間、デバイスは、人差し指上のユーザの親指のタッチダウンと続いて上方手首フリックジェスチャを検出し、デバイスはオブジェクトに対応する体験を起動する(例えば、空中で写真を開く、3D映画を開始する、拡大された通知を開くなど)。
いくつかの実施形態では、1つ以上のカメラを使用して、ユーザの人差し指上でのユーザの親指の移動(例えば、指又は手を空中で振るか又はタッチ感知面上でスライドさせるような、より大げさなジェスチャとは対照的)を検出したことに応答して、移動が第1の手の人差し指への親指のタッチダウンと続いて第1の手の手回転ジェスチャ(例えば、第1の手の手首に対する第1の手の少なくとも一部の回転)を含むという判定に従って、コンピュータシステムは、第1の動作とは異なる(例えば、ユーザの指の他の種類の移動パターンに対応する第1~第10の動作のそれぞれ又はサブセットとは異なる)第11の動作を実行する(例えば、手の回転量に対応する量、値を調節する)。例えば、第11の動作は、(例えば、(例えば、視線を使用して)ユーザによって選択及び/又は保持される)仮想オブジェクト、又はユーザインタフェースオブジェクト(例えば、仮想ダイヤル制御)を、手回転ジェスチャに従って回転させる。
いくつかの実施形態では、三次元環境のビューを表示しながら、コンピュータシステムは、ユーザの第1の手の掌のユーザの顔に向かう移動を検出する。ユーザの第1の手の掌のユーザの顔に向かう移動が呼び出し基準を満たしているという判定に従って、コンピュータシステムは、第1の動作とは異なる(例えば、ユーザの指の他の種類の移動パターンに対応する第1~第11の動作のそれぞれ又はサブセットとは異なる)第12の動作を実行する(例えば、仮想アシスタントに関連付けられたユーザインタフェースオブジェクトを表示する、及び/又は第1の手の掌に対応する位置に画像(例えば、ユーザの仮想表現、ユーザのカメラビュー、三次元環境の拡大ビュー、及び/又はオブジェクト(例えば、三次元環境内の仮想オブジェクト及び/又は現実オブジェクト)の拡大ビュー)を表示する)。いくつかの実施形態では、呼び出し基準は、ユーザの掌とユーザの顔との間の距離が閾値距離未満に減少したという判定に従って満たされる基準を含む。いくつかの実施形態では、呼び出し基準は、手の指が伸長されているという判定に従って満たされる基準を含む。
図8における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法9000、10000、11000、12000、及び13000)に関して本明細書で記載された他のプロセスの詳細はまた、図8に関連して上述された方法8000に類似の方法で適用可能であることも留意されたい。例えば、方法8000を参照して上述した接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法9000、10000、11000、12000、及び13000)を参照して本明細書に記述した、接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションの1つ以上の特性を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図9は、いくつかの実施形態による、所定の入力ジェスチャを使用して三次元環境と相互作用するための例示的な方法9000のフローチャートである。いくつかの実施形態では、方法9000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手元で下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))又はユーザの頭部から前方に向くカメラ)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法9000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法9000の一部の動作が任意選択的に組み合わされ、及び/又は一部の動作の順序が任意選択的に変更される。
方法9000において、コンピュータシステムは、三次元環境(例えば、仮想環境、又は拡張現実環境)のビューを表示する(9002)。三次元環境を表示している間、コンピュータシステムは、三次元環境の一部に対応する第1の位置で手を検出する(例えば、三次元環境のユーザの現在の視野に従って、手をユーザに可視にする物理的環境の位置で手を検出する(例えば、ユーザの手が、ユーザの視線と交差する位置又はその近傍に移動している))。いくつかの実施形態では、ユーザの手の表現又は画像は、物理的環境内の第1の位置で手を検出したことに応答して、三次元環境の一部に表示される。三次元環境の一部に対応する第1の位置で手を検出したことに応答して(9004)、かつ手が第1の所定の構成に保たれているという判定に従って(例えば、カメラ又はタッチ感知グローブ又はタッチ感知指アタッチメントを使用して、親指が人差し指に置かれているなど所定の準備完了状態を検出するなど)、三次元環境内の手ジェスチャ(例えば、システムアフォーダンス(例えば、図7E、図7F、及び、図7Gにおけるシステムアフォーダンス7214)、ドック、メニュー、音声ベースの仮想アシスタント用のアバターなどの視覚的インジケーション、手ジェスチャ入力に応答して操作できる三次元環境内のユーザインタフェース要素に関する追加情報の表示などである)を使用したジェスチャ入力のための第1の動作コンテキストの視覚的インジケーションを(例えば、三次元環境の一部に表示される手の表現に近接して)表示し、手が第1の所定の構成に保たれていないという判定に従って、三次元環境内の手ジェスチャを使用するジェスチャ入力のための第1の動作コンテキストの視覚的インジケーションの表示を行わない(例えば、図7Dに示すように、手の表現に近接して視覚的インジケーションを表示することなく、三次元環境の一部に手の表現を表示する)。
いくつかの実施形態では、手ジェスチャを使用したジェスチャ入力のための第1の動作コンテキストの視覚的インジケーションは、第1の位置(例えば、検出された手の位置)に対応する三次元環境の一部の位置に表示される。例えば、視覚的インジケーション(例えば、ホームアフォーダンス又はドックなど)は、検出された手の位置の所定の距離にある及び/又はその距離内の位置に表示される。いくつかの実施形態では、視覚的インジケーションは、手の特定の部分に対応する位置に(例えば、検出された手の上部の上方に、検出された手の下部の下方に、及び/又は手に重ねて)表示される。
いくつかの実施形態では、三次元環境の部分に視覚的インジケーションを表示している間、コンピュータシステムは、第1の位置から第2の位置への手の位置の変化を検出する(例えば、三次元環境内の(例えば、手が第1の所定の構成、又は手の準備完了状態を示す何らかの他の所定の構成にある間の)手の移動及び/又は回転を検出する)。第1の位置から第2の位置への手の位置の変化を検出したことに応答して、コンピュータシステムは、手の位置の検出された変化に従って視覚的インジケーションの表示された位置を変化させる(例えば、三次元環境内の手の所定の距離内の視覚的インジケーションの表示を維持する)。
いくつかの実施形態では、視覚的インジケーションは、1つ以上のユーザインタフェースオブジェクトのセットを含む。いくつかの実施形態では、視覚的インジケータは、1つ以上のユーザインタフェースオブジェクトを表示及び/又はアクセスすることができる領域を示すシステムアフォーダンスアイコン(例えば、図7Eのシステムアフォーダンス7120)である。例えば、図7Fの部分(A)に示されるように、手7200の親指が人差し指を横切って方向7120に移動すると、視覚的インジケータ7214の表示は、ユーザインタフェースオブジェクト7170のセットの表示に置き換えられる。いくつかの実施形態では、ユーザの手近傍のシステムアフォーダンスアイコンの存在は、手によって提供される次のジェスチャがシステムレベルの動作(例えば、非オブジェクト又はアプリケーション固有動作、アプリケーションとは無関係に動作システムによって実行される動作)を引き起こすことを示し、ユーザの手近傍のシステムアフォーダンスアイコンの不在は、手によって提供される次のジェスチャがアプリケーション又はオブジェクト固有の動作(例えば、現在選択されているオブジェクト又はアプリケーションに固有である又はそこでの動作、例えばアプリケーションによって実行される動作)を引き起こすことを示す。いくつかの実施形態では、デバイスは、ユーザの視線が準備完了状態の手に向けられているという判定に従って、手の近くにシステムアフォーダンスを表示する。
いくつかの実施形態では、1つ以上のユーザインタフェースオブジェクトは、複数のアプリケーション起動アイコンを含み(例えば、1つ以上のユーザインタフェースオブジェクトが、複数の頻繁に使用されるアプリケーション又は体験のためのアプリケーション起動アイコン列を含むドックである)、アプリケーション起動アイコンのそれぞれのアクティブ化は、対応するアプリケーションに関連付けられた動作を実行させる(例えば、対応するアプリケーションを起動させる)。
いくつかの実施形態では、視覚的インジケーションを表示している間、コンピュータシステムは、第1の所定の構成から第2の所定の構成への手の構成の変化を検出する(例えば、別の指を横切る移動などの、別の指に対する親指の位置の変化を検出する)。第1の所定の構成から第2の所定の構成への検出された手の構成の変化を検出したことに応答して、コンピュータシステムは、(例えば、視覚的インジケーションに加えて、及び/又は視覚的インジケーションの表示に交換して)ユーザインタフェースオブジェクトの第1の集合(例えば、ホーム領域又はアプリケーション起動ユーザインタフェース)を表示し、ユーザインタフェースオブジェクトの第1の集合のそれぞれのユーザインタフェースオブジェクトのアクティブ化は、それぞれのユーザインタフェースオブジェクトに関連付けられた動作を実行させる。いくつかの実施形態では、視覚的インジケータは、ホーム領域又はアプリケーション起動ユーザインタフェースを表示及び/又はアクセスすることができる領域を示すシステムアフォーダンスアイコン(例えば、図7E及び7Fのシステムアフォーダンス7214)である。例えば、図7Fの部分(A)に示されるように、手7200の親指が人差し指を横切って方向7120に移動すると、視覚的インジケータ7214の表示は、ユーザインタフェースオブジェクト7170のセットの表示に置き換えられる。いくつかの実施形態では、ユーザインタフェースオブジェクトの第1の集合のうちのユーザインタフェースオブジェクトの少なくともいくつかは、アプリケーション起動アイコンであり、アプリケーション起動アイコンのアクティブ化は、対応するアプリケーションを起動させる。
いくつかの実施形態では、視覚的インジケーションを表示している間、コンピュータシステムは、時間窓(例えば、第1の位置で準備完了状態の手を検出したことに応答して視覚的インジケーションが表示された時間から5秒、8秒、15秒などの時間窓)間に、手の移動が相互作用基準を満たしているかどうか(例えば、相互作用基準は、手の少なくとも1つの指及び/又は親指が閾値距離を超える距離移動する、及び/又は所定のジェスチャに従って移動するという判定に従って満たされる)を判定する。手の移動が時間窓中に相互作用基準を満たしていないという判定に従って、コンピュータシステムは、視覚的インジケーションの表示を停止する。いくつかの実施形態では、デバイスは、ユーザの手がユーザの視野を出た、又はユーザの手が手の準備完了状態に対応する第1又は他の所定の構成ではない別の構成に変化した後に、ユーザの視野内の第1の所定の構成で手が再び検出されたときに、視覚的インジケーションを再表示する。
いくつかの実施形態では、視覚的インジケーションを表示している間、コンピュータシステムは、第1の所定の構成から、入力基準を満たしている第2の所定の構成への手構成の変化を検出する(例えば、手構成が変化したが、手は、依然としてユーザの視野内にある)。例えば、検出された変化は、親指の位置の変化(例えば、別の指との接触、及び/又は別の指からの接触の解放、別の指の長さに沿った移動、及び/又は別の指を横切る移動、などの別の指に対する変化)、及び/又は手の人差し指及び/若しくは中指の位置の変化(例えば、手に対する指の伸長及び/又は指の他の移動)である。第1の所定の構成から入力基準を満たしている第2の構成への手の構成の変化を検出したことに応答して(例えば、ユーザの手が第1の受け入れられたジェスチャの開始状態である構成から第2の受け入れられたジェスチャの開始状態に変化したという判定に従って)、コンピュータシステムは、視覚的インジケーションを調節する(例えば、1つ以上のユーザインタフェースオブジェクトのセットのうちの選択されたそれぞれのユーザインタフェースオブジェクトを、第1のそれぞれのユーザインタフェースオブジェクトから第2のそれぞれのユーザインタフェースオブジェクトに調節する、1つ以上のユーザインタフェースオブジェクトの表示された位置を変化させる、及び/又は、1つ以上のユーザインタフェースオブジェクトのそれぞれのユーザインタフェースオブジェクトを表示する及び/又は表示を停止する)。
いくつかの実施形態では、視覚的インジケーションを表示している間、コンピュータシステムは、第1の所定の構成から、入力基準を満たしていない(例えば、手の少なくとも一部がユーザの視野の外側にあるという判定に従って、構成は入力基準を満たしていない)第3の構成への手構成の変化を検出する。いくつかの実施形態では、デバイスは、ユーザの手が、第1の受け入れられたジェスチャの開始状態である構成から任意の受け入れられたジェスチャの開始状態に対応しない状態に変化したという判定に従って、第3の構成が入力基準を満たしていないと判定する。第1の所定の構成から入力基準を満たしていない第3の構成への検出された手の構成の変化を検出したことに応答して、コンピュータシステムは、視覚的インジケーションの表示を停止する。
いくつかの実施形態では、視覚的インジケーションの表示を停止した後、コンピュータシステムは、第1の所定の構成への手構成の変化(及び手がユーザの視野内にあること)を検出する。検出された手の構成の第1の所定の構成への変化を検出したことに応答して、コンピュータシステムは、視覚的インジケーションを再表示する。
いくつかの実施形態では、三次元環境の部分に対応する第1の位置で手を検出したことに応答して、手が第1の所定の構成に保たれていないという判定に従って、コンピュータシステムは、手ジェスチャを使用するジェスチャ入力のための第1の動作コンテキストの視覚的インジケーションを表示することとは異なる動作を実行する(例えば、視覚的インジケーション無しで手の表現を表示する、及び/又は手が第1の所定の構成に保持されていないことを示すプロンプトを提供する)。
図9における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、10000、11000、12000、及び13000)に関して本明細書で記載された他のプロセスの詳細はまた、図9に関連して上述された方法9000に類似の方法で適用可能であることも留意されたい。例えば、方法9000を参照して上述した接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法8000、10000、11000、12000、及び13000)を参照して本明細書に記述した、接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションの1つ以上の特性を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図10は、いくつかの実施形態による、所定の入力ジェスチャを使用して三次元環境と相互作用するための例示的な方法10000のフローチャートである。いくつかの実施形態では、方法10000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手元で下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))又はユーザの頭部から前方に向くカメラ)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法10000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法10000の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
方法10000において、コンピュータシステムは、物理的環境の表現を表示すること(例えば、ユーザを取り巻く物理的環境のカメラビューを表示する、又は表示されたユーザインタフェース又は仮想環境内にユーザを取り囲む物理的環境を表示させるパススルー部分を含む)を含む、三次元環境(例えば、拡張現実環境)を表示する(10002)。物理的環境の表現を表示している間、コンピュータシステムは、(例えば、カメラ又は1つ以上の運動センサを使用して)ジェスチャ(例えば、ユーザの手、指、手首、又は腕の所定の移動、又は手の自然な休止姿勢とは異なる手の所定の静止姿勢を含むジェスチャ)を検出する(10004)。ジェスチャを検出したことに応答して(10006)、かつユーザの視線が物理的環境内の所定の物理的位置(例えば、ユーザの手)に対応する位置(例えば、三次元環境内)に向けられているという判定に従って(例えば、視線がジェスチャが開始され完了するまでの間、その位置に向けられ、とどまっているという判定に従って、又は手がジェスチャの最終状態(例えば、手の準備完了状態(例えば、手の所定の静止姿勢))にある間に視線が手に向けられているという判定に従って)、コンピュータシステムは、三次元環境内にシステムユーザインタフェースを表示する(例えば、三次元環境に利用可能な相互作用オプションの視覚的インジケーション及び/又は選択可能なオプションを含むユーザインタフェース、ユーザインタフェースは、ジェスチャに応答して表示され、ジェスチャの検出前(例えば、視線が向けられていたとき)には表示されていなかった)。これは、例えば、手7200による入力ジェスチャが、システムアフォーダンス7214、システムメニュー7170、及びアプリケーションアイコン7190などのシステムユーザインタフェース要素との相互作用を引き起こす図7Gの部分A-1、A-2、及びA-3に示される。いくつかの実施形態では、所定の物理的位置に対応する位置は、三次元環境内の所定の物理的位置(物理的環境内で可動であるユーザの手、又は物理的環境内で静止している物理的オブジェクト)の表現(例えば、ビデオ画像又はグラフィカル抽象化)である。いくつかの実施形態では、システムユーザインタフェースは、1つ以上のアプリケーションアイコンを含む(例えば、アクティブ化されると、それぞれのアプリケーションアイコンは、対応するアプリケーションを起動する)。ジェスチャを検出したことに応答して(10006)、かつユーザの視線が物理的環境内の所定の物理的位置に対応する(例えば、三次元環境内の)位置に向けられていないという判定に従って(例えば、視線が別の位置に向けられる、及び/又は別の位置にとどまる、又はジェスチャが開始され完了するまでの間に視線が検出されないという判定に従って、又は手がジェスチャの最終状態(例えば、手の準備完了状態(例えば、手の所定の静止姿勢))にある間、視線が手に向けられていないという判定に従って)、システムユーザインタフェースを表示することなく、三次元環境の現在のコンテキスト内の動作を実行する。これは例えば、図7G、図B-1、B-2、及び図B-3に示されている。いくつかの実施形態では、動作は、三次元環境の視覚的変化を生成しない、電子デバイスの状態を変化させる第1の動作(例えば、デバイスの出力ボリュームを変化させる)を含む。いくつかの実施形態では、動作は、ジェスチャを作製する手を表示し、三次元環境との更なる相互作用を引き起こさない第2の動作を含む。いくつかの実施形態では、動作は、視線が現在向けられていることを仮想オブジェクトの状態を変化させるための動作を含む。いくつかの実施形態では、動作は、ユーザが最後に三次元環境で相互作用した仮想オブジェクトの状態を変化させる動作を含む。いくつかの実施形態では、動作は、現在選択されている仮想オブジェクトの状態を変化させ、入力焦点を有する動作を含む。
いくつかの実施形態では、コンピュータシステムは、所定の物理的位置に対応する位置に対する所定の位置で、システムアフォーダンス(例えば、(アプリケーションレベルとは対照的な)システムレベルの動作のためのユーザインタフェースを表示させる1つ以上のシステムジェスチャを検出する準備が整っていることを示すホームアフォーダンス)を表示する。いくつかの実施形態では、所定の物理的位置に対応する位置は、三次元環境内の位置である。いくつかの実施形態では、所定の物理的位置に対応する位置は、ディスプレイ上の位置である。いくつかの実施形態では、システムアフォーダンスの所定の位置が表示された三次元環境内の位置である限り、システムアフォーダンスは、所定の物理的位置に対応する位置が、三次元環境の表示された部分でもはや不可視であったとしても表示されたままである(例えば、システムアフォーダンスは、所定の物理的位置が電子デバイスの1つ以上のカメラの視野から外に出ても表示され続ける)。いくつかの実施形態では、システムアフォーダンスは、三次元環境内のユーザの手、手首、若しくは指の表現に対するユーザの手、手首、又は指の所定の固定位置に表示される(例えば、ユーザの手、手首、若しくは指の一部の表示上に、又はユーザの手、手首、若しくは指からオフセットされた固定位置で、重ね合わされる又は置き換わる)。いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が三次元環境内の位置に向けられたままであるかどうかにかかわらず、所定の物理的位置に対応する位置に対して所定の位置に表示される(例えば、システムアフォーダンスは、ユーザの視線が準備完了状態のユーザの手から離れた後、又はジェスチャが完了した後でも、所定のタイムアウト期間内は表示されたままである)。
いくつかの実施形態では、所定の物理的位置に対応する位置に対する所定の位置にシステムアフォーダンスを表示することは、三次元環境内の所定の物理的位置に対応する位置での移動を検出すること(例えば、三次元環境に示されるユーザの手の位置が、ユーザの頭部又は手の移動として変化したことを検出すること)と、三次元環境内の所定の物理的位置に対応する位置の移動を検出したことに応答して、システムアフォーダンスの相対位置及び所定の物理的位置に対応する位置が、三次元環境において変化しないままであるように、三次元環境内でシステムアフォーダンスを移動させること(例えば、ユーザの手の位置が三次元環境内で変化すると、システムアフォーダンスはユーザの手の位置に従う(例えば、システムアフォーダンスは、三次元環境の表示されたビュー内のユーザの親指の上部に対応する位置に表示される))。
いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が所定の物理的位置に対応する位置に向けられているという判定に従って、所定の物理的位置(例えば、「所定の相対位置」と呼ばれることもある)に対応する位置に対して所定の位置に表示される。いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が所定の物理的位置の近傍位置(例えば、所定の物理的位置の所定の閾値距離内)に向けられているという判定に従って、所定の相対位置に表示される。いくつかの実施形態では、ユーザの視線が所定の物理的位置に向けられていない場合(例えば、ユーザの視線が、所定の物理的位置から離れるか、又は所定の物理的位置から少なくとも所定の距離離れているとき)、システムアフォーダンスは表示されない。いくつかの実施形態では、三次元環境内の所定の物理的位置に対応する位置に対して所定の位置にシステムアフォーダンスを表示している間、デバイスは、ユーザの視線が所定の物理的位置に対応する位置から離れて移動することを検出し、ユーザの視線が三次元環境内の所定の物理的位置に対応する位置から離れて移動することを検出したことに応答して、デバイスは、三次元環境内の所定の位置でシステムアフォーダンスを表示することを停止する。
いくつかの実施形態では、三次元環境内の所定の物理的位置に対応する位置に対する所定の位置にシステムアフォーダンスを表示することは、ユーザの視線が、所定の物理的位置に対応する位置に向けられていないという判定に従って、第1の外観(例えば、形状、サイズ、色など)を有するシステムアフォーダンスを表示することと、ユーザの視線が所定の物理的位置に対応する位置に向けられているという判定に従って、第1の外観とは異なる第2の外観を有するシステムアフォーダンスを表示することと、を含む。いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が所定の物理的位置に対応する位置から離れている間、第1の外観を有する。いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が所定の物理的位置に対応する位置に向けられている間、第2の外観を有する。いくつかの実施形態では、システムアフォーダンスは、ユーザの視線が所定の物理的位置に対応する位置へ(例えば、少なくとも閾値距離内で)移動するときに第1の外観から第2の外観へ変化し、ユーザの視線が所定の物理的位置に対応する位置から離れて(例えば、少なくとも閾値距離離れて)移動するときに第2の外観から第1の外観に変化する。
いくつかの実施形態では、システムアフォーダンスは、ユーザがジェスチャを実行する準備が整っているという判定に従って、所定の物理的位置に対応する位置に対して所定の位置に表示される。いくつかの実施形態では、ユーザがジェスチャを実行する準備が整っていると判定することは、例えば、所定の物理的位置(例えば、ユーザの手、手首、又は指(単数又は複数))が所定の構成(例えば、物理的環境内のデバイスに対する所定の姿勢)にあることを検出することによって、ユーザが、ジェスチャを実行する準備が整っているというインジケーションを検出することを含む。一例では、システムアフォーダンスは、デバイスが、準備完了状態の手への視線を検出するのに加えて、ユーザが物理的環境において所定の準備完了状態(例えば、手の特定の位置及び/又は配向)に手を置いたことを検出すると、三次元環境内の表示されたユーザの手の表現に対する所定の位置に表示される。いくつかの実施形態では、所定の構成は、所定の物理的位置(例えば、ユーザの手)が、1つ以上のカメラの視野内にあるなど、電子デバイス又は電子デバイスの1つ以上の入力デバイスに対する特定の位置を有することを必要とする。
いくつかの実施形態では、所定の物理的位置に対応する位置に対する所定の位置にシステムアフォーダンスを表示することは、ユーザがジェスチャを実行する準備が整っていないという判定に従って、第1の外観を有するシステムアフォーダンスを表示することと、を含む。いくつかの実施形態では、ユーザがジェスチャを実行する準備が整っていないと判定することは、ユーザがジェスチャを実行する準備が整っていないというインジケーションを検出することを含む(例えば、ユーザの手が所定の準備完了状態にないことを検出する)。いくつかの実施形態では、ユーザの準備が整っていないと判定することは、ユーザの準備が整っているというインジケーションを検出し損なう(例えば、ユーザの手が電子デバイスの1つ以上のカメラの視野の外側にある場合、ユーザの手が所定の準備完了状態にあることを検出し損なう、又は検出することができない)ことを含む。ジェスチャを実行するためのユーザの準備のインジケーションを検出することは、図7E及び関連する説明を参照して本明細書で更に詳細に説明する。いくつかの実施形態では、所定の物理的位置に対応する位置に対する所定の位置にシステムアフォーダンスを表示することは、ユーザがジェスチャを実行する準備が整っているという判定に従って(例えば、図7E及び関連する説明を参照して本明細書に記載されるように、ユーザがジェスチャを実行する準備が整っているというインジケーションを検出することに従って)、第1の外観とは異なる第2の外観を有するシステムアフォーダンスを表示することを更に含む。当業者は、システムアフォーダンスの有無、及びシステムアフォーダンスの特定の外観が、その特定のコンテキストでユーザにどのような情報が伝達されるように意図されるかに応じて(例えば、ジェスチャに応答してどのような動作(単数又は複数)が実行されるか、及び/又はジェスチャがシステムユーザインタフェースを呼び出すために追加の基準が満たされる必要があるかどうかに応じて)修正され得ることを認識するであろう。いくつかの実施形態では、システムアフォーダンスが、三次元環境内の所定の物理的位置に対応する位置に対して所定の位置に表示されている間、デバイスは、ユーザの手が第1の状態から第2の状態に変化することを検出し、第1の状態から第2の状態への変化を検出したことに応答して、第1の状態が準備完了状態であり、第2の状態が準備完了状態でないという判定に従って、デバイスは、第2の外観を有するシステムアフォーダンスを表示し(第1の外観からの変化)、第1の状態が準備完了状態でなく、第2の状態が準備完了状態であるという判定に従って、デバイスは、第1の外観を有するシステムアフォーダンスを表示する(例えば、第2の外観からの変化)。いくつかの実施形態では、コンピュータシステムがユーザの手上のユーザの視線を検出せず、ユーザの手が準備完了状態構成にない場合、コンピュータシステムは、システムアフォーダンスを表示しない、又は任意選択的に、第1の外観を有するシステムアフォーダンスを表示する。後続の入力ジェスチャが検出される場合(例えば、システムアフォーダンスが表示されない、又は第1の外観で表示される場合)、コンピュータシステムは、入力ジェスチャに対応するシステム動作を実行しない、又は任意選択的に、入力ジェスチャに対応する現在のユーザインタフェースコンテキスト内で動作を実行する。いくつかの実施形態では、コンピュータシステムがユーザの手上のユーザの視線を検出するが、手が準備完了状態構成にない場合、コンピュータシステムは、システムアフォーダンスを表示しない、又は任意選択的に、第1の外観若しくは第2の外観を有するシステムアフォーダンスを表示する。後続のジェスチャ入力が検出される場合(例えば、システムアフォーダンスが表示されない、又は第1の外観又は第2の外観で表示される場合)、コンピュータシステムは、入力ジェスチャに対応するシステム動作を実行しない、又は任意選択的に、システムユーザインタフェース(例えば、ドック又はシステムメニュー)を表示する。いくつかの実施形態では、コンピュータシステムがユーザの手上のユーザの視線を検出しないが、手が準備完了状態構成にある場合、コンピュータシステムは、システムアフォーダンスを表示しない、又は任意選択的に、第1の外観又は第2の外観を有するシステムアフォーダンスを表示する。後続のジェスチャ入力が検出される場合(例えば、システムアフォーダンスが表示されない、又は第1の外観若しくは第2の外観で表示される場合)、コンピュータシステムは、入力ジェスチャに対応するシステム動作を実行しない、又は任意選択的に、現在のユーザインタフェースコンテキスト内で動作を実行する。いくつかの実施形態では、コンピュータシステムがユーザの手上のユーザの視線を検出し、手が準備完了状態構成にある場合、コンピュータシステムは、第2の外観又は第3の外観を有するシステムアフォーダンスを表示する。後続のジェスチャ入力が検出される場合(例えば、システムアフォーダンスが第2の外観又は第3の外観を有する場合)、コンピュータシステムは、システム動作を実行する(例えば、システムユーザインタフェースを表示する)。いくつかの実施形態では、上記のうちの複数は同じ実施態様で組み合わされる。
いくつかの実施形態では、所定の物理的位置はユーザの手であり、ユーザがジェスチャを実行する準備が整っている(例えば、手が現在所定の準備完了状態にある、又は開始ジェスチャが検出された)と判定することは、手の所定の部分(例えば、指定された指)が物理的制御要素と接触していると判定することを含む。いくつかの実施形態では、物理的制御要素は、ユーザとは別個のコントローラ(例えば、それぞれの入力デバイス)である(例えば、準備完了状態は、ユーザの親指がユーザの人差し指に取り付けられたタッチ感知ストリップ又はリングと接触している状態である)。いくつかの実施形態では、物理的制御要素は、ユーザの手の異なる部分である(例えば、準備完了状態は、親指が人差し指の上側(例えば、第2関節の近傍)に接触している状態である)。いくつかの実施形態では、デバイスは、カメラを使用して手が所定の準備完了状態にあるかどうかを検出し、三次元環境のビューで準備完了状態に手を表示する。いくつかの実施形態では、デバイスは、タッチ感知であり、電子デバイスに通信可能に結合されてタッチ入力を電子デバイスに送信する物理的制御要素を使用して、手が所定の準備完了状態にあるかどうかを検出する。
いくつかの実施形態では、所定の物理的位置はユーザの手であり、ユーザがジェスチャを実行する準備が整っていると判定することは、手がユーザに対して所定の高度の上方に上昇していると判定することを含む。いくつかの実施形態では、手が上昇していると判定することは、手がユーザに対して特定の横方向平面の上方(例えば、ユーザの腰の上方、即ちユーザの足よりもユーザの頭部に近い)に位置付けられていると判定することを含む。いくつかの実施形態では、手が上昇していると判定することは、ユーザの手首又は肘が少なくとも特定の量(例えば、90度の角度内で)曲げられていると判定することを含む。いくつかの実施形態では、デバイスは、カメラを使用して手が事前定義された準備完了状態にあるかどうかを検出し、任意選択的に、三次元環境のビューに準備完了状態にある手を表示する。いくつかの実施形態では、デバイスは、ユーザの手、手首、又は腕に取り付けられた1つ以上のセンサ(例えば、運動センサ)を使用して、手が所定の準備完了状態にあるかどうかを検出し、電子デバイスに通信可能に結合されて、電子デバイスに移動入力を伝送する。
いくつかの実施形態では、所定の物理的位置はユーザの手であり、ユーザがジェスチャを実行する準備が整っていると判定することは、手が所定の構成にあると判定することを含む。いくつかの実施形態では、所定の構成は、手の対応する指(例えば、親指)が、ユーザの手の異なる部分(例えば、人差し指などの対向する指、又は対向する人差し指の中節骨や中関節などの所定の部分)と接触している必要がある。いくつかの実施形態では、所定の構成は、上記のように、手が特定の横方向平面の上方(例えば、ユーザの腰の上方)にあることを必要とする。いくつかの実施形態では、所定の構成は、親指側に向かい小指側から離れる手首の屈曲(例えば、径方向の屈曲)(例えば、アームの軸方向回転無しで)を必要とする。いくつかの実施形態では、手が所定の構成にあるとき、1つ以上の指が自然な休止位置にあり(例えば、湾曲している)、手全体が手、手首、又は腕の自然な休止位置から離れて傾斜又は移動されて、ユーザがジェスチャを実行する準備が整っていることを示す。当業者であれば、使用される特定の所定の準備完了状態が、直感的かつ自然なユーザ相互作用を有するように選択され得、前述の基準の任意の組み合わせを必要とし得ることを認識するであろう。いくつかの実施形態では、ユーザが三次元環境への入力を提供し、三次元環境と相互作用するのではなく三次元環境を見ることを単に望む場合、所定の構成は、ユーザの手の自然な休止姿勢(例えば、膝、テーブル面、又は身体の側部に弛緩して置かれた姿勢)とは異なる。自然な休止姿勢から所定の構成への変化は、意図的であり、ユーザの手の所定の構成への意図的な移動を必要とする。
いくつかの実施形態では、所定の物理的位置に対応する位置は、三次元環境内の固定位置である(例えば、対応する所定の物理的位置は、物理的環境内の固定位置である)。いくつかの実施形態では、物理的環境は、ユーザの基準フレームである。即ち、当業者は、物理的環境内の「固定」位置と呼ばれる位置が空間内の絶対位置でなくてもよく、ユーザの基準のフレームに対して固定されていると認識するであろう。いくつかの例では、ユーザが建物の部屋内にいる場合、位置は、部屋内(例えば、部屋の壁、床、又は天井上の)固定位置に対応する(例えば、その表現である)三次元環境内の固定位置である。いくつかの例では、ユーザが移動車両の内側にある場合、その位置は、車両の内部に沿った固定位置に対応する(例えば、固定位置を表す)三次元環境内の固定位置である。いくつかの実施形態では、位置は、三次元環境に表示されるコンテンツに対して固定され、表示されたコンテンツは、物理的環境内の固定された所定の物理的位置に対応する。
いくつかの実施形態では、所定の物理的位置に対応する位置は、(例えば、表示生成コンポーネントに対する)三次元環境のディスプレイに対する固定位置である。いくつかの実施形態では、位置は、一般にユーザの視点が変化すると(例えば、ユーザの視点変化に応答して、又はユーザの視点変化と共に)更新される三次元環境内に表示される特定のコンテンツに関係なく、三次元環境のユーザの視点に対して固定される(例えば、位置が、表示生成コンポーネントによる三次元環境の表示に対して固定される)。いくつかの例では、位置は、三次元環境のディスプレイの縁部に沿った(例えば、縁部の所定の距離内の)固定位置である。いくつかの例では、位置は、三次元環境のディスプレイに対して中心にある(例えば、三次元環境のディスプレイの底部、頂部、左縁、又は右縁に沿った表示領域内の中心にある)。
いくつかの実施形態では、所定の物理的位置は、ユーザ上の固定位置である。いくつかの例では、所定の物理的位置は、ユーザの手又は指である。いくつかのそのような例では、所定の物理的位置に対応する位置は、三次元環境内のユーザの手又は指の表示された表現を含む。
いくつかの実施形態では、三次元環境にシステムユーザインタフェースを表示した後、コンピュータシステムは、(例えば、第1のジェスチャ及び所定の物理的位置に対応する位置に向けられた視線を検出した後、システムユーザインタフェースを表示している間)第2のジェスチャ(例えば、ユーザの手、手首、指(単数又は複数)、又は腕によって実行される第2のジェスチャ)を検出する。第2のジェスチャを検出したことに応答して、システムユーザインタフェース(例えば、アプリケーション起動ユーザインタフェース)を表示する。一部の実施形態では、第2のジェスチャは、第1のジェスチャの続きである。例えば、第1のジェスチャは、(例えば、同じ手でユーザの人差し指上でのユーザの親指の移動による)スワイプジェスチャであり、第2のジェスチャは、スワイプジェスチャの続き(例えば、人差し指上での親指の継続的な移動)である(例えば、第2のジェスチャは、第2のジェスチャの開始位置を第1のジェスチャの開始位置にリセットすることなく、第1のジェスチャの終了位置から始まる)。いくつかの実施形態では、第2のジェスチャは、第1のジェスチャの繰り返しである(例えば、第1のジェスチャを実行した後、第2のジェスチャの開始位置は、第1のジェスチャの開始位置の所定の距離内にリセットされ、第2のジェスチャは、所定の許容範囲内で第1のジェスチャの移動を再度たどる)。いくつかの実施形態では、ホームユーザインタフェースを表示することは、所定の物理的位置に対応する位置に対して、所定の位置からシステムアフォーダンスを拡張して、表示された三次元環境のより大きな部分を占め、追加のユーザインタフェースオブジェクト及びオプションを示すことを含む。いくつかの実施形態では、システムアフォーダンスは、それぞれのコンテンツを含まないインジケータであり、それぞれのコンテンツ(例えば、最近使用された又は頻繁に使用されるアプリケーションのアプリケーションアイコン列を有するドック)は、手による第1のスワイプジェスチャに応答してインジケータを置き換え、インストールされたアプリケーションの全てのアプリケーションアイコンの二次元グリッドは、手による第2のスワイプジェスチャに応答してドックを置き換え、三次元作業環境内の異なる深度及び位置に浮遊された相互作用アプリケーションアイコンを有する三次元作業環境は、手による第3のスワイプジェスチャに応答して、二次元グリッドを置き換える。
いくつかの実施形態では、三次元環境の現在のコンテキストは、受信された通知のインジケーションの表示(例えば、受信された通知に関する情報のサブセットの初期表示)を含み、三次元環境の現在のコンテキスト内で動作を実行することは、受信された通知に関する追加情報を含む拡大された通知を表示することを含む(例えば、最初に表示されたサブセットを超える情報の表示)。いくつかの実施形態では、三次元環境の現在のコンテキストは、視線が現在指向されている位置に基づいて判定される。いくつかの実施形態では、通知が三次元環境に受信及び表示され、ユーザの視線が通知に向けられている(かつ所定の物理的位置(例えば、ユーザの手)に対応する位置にない)と検出されるとき、デバイスは、現在のコンテキストが通知と相互作用していると判定し、ユーザのジェスチャ(例えば、親指又は手首による上方フリックジェスチャ)を検出したことに応答して、三次元環境に拡大された通知コンテンツを表示する。
いくつかの実施形態では、三次元環境の現在のコンテキストは、1つ以上の写真の表示(例えば、1つ以上の写真の1つ以上のそれぞれのサムネイル)を含み、三次元環境の現在のコンテキスト内で動作を実行することは、三次元環境内の1つ以上の写真のうちの少なくとも1つを表示すること(例えば、拡張された様式(例えば、拡大された、アニメーション化された、強調された、3Dなど)で表示すること)を含む。いくつかの実施形態では、三次元環境の現在のコンテキストは、視線が現在指向されている位置に基づいて判定される。いくつかの実施形態では、画像が三次元環境に表示され、ユーザの視線が画像に向けられている(かつ所定の物理的位置(例えば、ユーザの手)に対応する位置にない)と検出されるとき、デバイスは、現在のコンテキストが画像と相互作用していると判定し、ユーザのジェスチャ(例えば、親指又は手首による上方フリックジェスチャ)を検出したことに応答して、三次元環境に拡張された画像を表示する。
図10における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、11000、12000、及び13000)に関して本明細書で記載された他のプロセスの詳細はまた、図10に関連して上述された方法10000に類似の方法で適用可能であることも留意されたい。例えば、方法10000を参照して上述した接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法8000、9000、11000、12000、及び13000)を参照して本明細書に記述した、接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションの1つ以上の特性を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図11は、いくつかの実施形態による、所定の入力ジェスチャを使用して三次元環境と相互作用するための例示的な方法11000のフローチャートである。いくつかの実施形態では、方法11000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手元で下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))又はユーザの頭部から前方に向くカメラ)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法11000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法11000の一部の動作が任意選択的に組み合わされ、及び/又はいくつかの動作の順序が任意選択的に変更される。
方法11000において、コンピュータシステムは、1つ以上の仮想オブジェクト(及び任意選択的に、物理的環境内の1つ以上の物理的表面(例えば、壁、窓、テーブル上面など)の表現に重ねられた仮想オブジェクト(例えば、アイコン、写真、アバターなど)と共に物理的環境の一部に向けられたカメラの視野の表現)を含め、三次元環境(例えば、仮想環境又は拡張現実環境)を表示する(11002)。コンピュータシステムは、三次元環境内の第1のオブジェクト(例えば、電子デバイスを制御するために使用されるハンドヘルドコントローラ以外、及びユーザの手、手首、又は腕若しくはそれらの表現以外の物理的オブジェクト又は仮想オブジェクト)に向けられた(例えば、ユーザの)視線を検出し(11004)(例えば、視線は、カメラの視野の表現に表示された物理的オブジェクト、又は物理的環境若しくは純粋な仮想環境の拡張現実ビューに表示された仮想オブジェクトにて検出される)、視線は第1の基準(例えば、安定性や持続時間の要件など)を満たし、第1のオブジェクトは少なくとも1つのジェスチャ入力に応答する。いくつかの実施形態では、第1のオブジェクトに向かう視線を検出することは、第1のオブジェクトが存在しない第1の位置から第1のオブジェクトが存在する第2の位置への視線の移動を検出することを含む。視線が第2の位置に到達すると、以下に説明するように、三次元環境内の第1のオブジェクトに関連付けられた相互作用オプションのインジケーションを示すかどうかを判定するためのヒューリスティックがトリガされる。いくつかの実施形態では、第1のオブジェクトに向かう視線を検出することは、視線を検出することと、視線が少なくとも閾値時間、第1のオブジェクトの位置で実質的に静止したままであると判定することと、を含む。第1の基準を満たし、少なくとも1つのジェスチャ入力に応答して第1のオブジェクトに向かう視線を検出したことに応答して(11006)、かつ手(例えば、ユーザ)が、ジェスチャ入力を提供するための所定の準備完了状態(例えば、準備完了姿勢の手又はコントローラ上の手)にある(例えば、視線が第1の基準を満たし、第1のオブジェクトに向かっている間、手が準備完了状態に入る、又は手が既に準備完了状態に入りとどまっている間、視線が第1のオブジェクトに向けられながら第1の基準を満たしている)という判定に従って、コンピュータシステムは、三次元環境内の第1のオブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションを表示する(例えば、三次元環境に示される第1のオブジェクトの外観を変化させる、又は三次元環境内の第1のオブジェクト近傍に1つ以上の追加の仮想オブジェクトを表示する)。これは、図7J及び付随する説明に示されており、仮想オブジェクト7506、7508、又は7510は、ユーザの手が準備完了状態構成にある間、第1の基準を満たしている視線に応答して強調表示される。いくつかの実施形態では、相互作用オプションは、ユーザがデバイスを介してそれぞれの仮想又は物理的オブジェクトと相互作用することができる方法である。例えば、相互作用は、三次元環境内の第1のオブジェクトの外観を制御することを含むことができる。別の例では、相互作用は、第1のオブジェクト(例えば、視覚的、聴覚的、及び/又は触覚的出力)に関連付けられたコンテンツの出力を制御することを含むことができる。いくつかの実施形態では、第1のオブジェクトに対して利用可能な1つ以上の相互作用オプションのインジケーションは、(例えば、どんな相互作用オプションかを識別することなく)単に1つ以上の相互作用オプションが利用可能であるというインジケーションである。いくつかの実施形態では、1つ以上の相互作用オプションのインジケーションは、利用可能な相互作用オプションのうちの1つ以上を識別する。いくつかの実施形態では、第1のオブジェクトは、仮想オブジェクト(例えば、ピクチャ、仮想モデル、仮想アシスタント、アバターなど)であり、インジケーションは、仮想オブジェクトに関連付けられた選択可能なオプションのメニュー、又は仮想オブジェクトの視覚的特性の変化(例えば、色、適用された視覚的効果、サイズ、不透明度、飽和度など)の表示である。いくつかの実施形態では、第1のオブジェクトは、物理的オブジェクト(例えば、電球、スピーカ、電気暖炉、ファンなど)であり、インジケーションは、物理的オブジェクトに関連付けられた様々な制御可能な機能のための選択可能なオプション又はジェスチャプロンプトのメニューの表示、又は三次元環境内の物理的オブジェクトの外観の拡張(例えば、マスク又は装飾を重ねた、ズームされた、強調表示された)である。少なくとも1つのジェスチャ入力に応答して、第1の基準を満たし、第1のオブジェクトに向かう視線を検出したことに応答して(11006)、かつ手が、ジェスチャ入力を提供するための所定の準備完了状態にないという判定に従って、第1のオブジェクトに利用可能な1つ以上の相互作用オプションの表示を行わない(例えば、カメラの視野の変化から生じた変化を除いて、第1のオブジェクトの外観を含む三次元環境の外観が少しも変化しない)。これは、図7I及び付随する説明に示されており、仮想オブジェクト7506、7508、又は7510は、ユーザの手が準備完了状態構成にない間、第1の基準を満たしている視線に応答して強調表示されない。いくつかの実施形態では、デバイスは、ユーザの視線を連続的に追跡し、ユーザの視線が三次元環境内の相互作用オブジェクト上で検出され、所定の基準(例えば、安定性、持続時間)を満たすときはいつでも、デバイスは、第1のオブジェクトに対して利用可能な1つ以上の相互作用オプションの視覚的インジケーションが表示されるべきかどうかを判定するために、ユーザの手が準備完了状態にあるかどうかに基づく上記のヒューリスティックを使用する。いくつかの実施形態では、デバイスはユーザの手を連続的に追跡し、デバイスが、ユーザの手が準備完了状態に置かれていることを検出すると、デバイスは、相互作用オプションの視覚的インジケーションを表示するための状態に入り、ユーザの視線が第1の基準を満たし、相互作用オプションを有するオブジェクトに向かうときはいつでも相互作用オプションのインジケーションを表示する。上記のフーマンマシンインタフェース設計により、ユーザが環境と相互作用するのではなく環境を観察することを単に望む場合、視覚的な乱雑さ及び混乱を低減しつつ、ユーザが自由に三次元環境を見ることができる。ユーザが環境との相互作用に関心があり、どのオブジェクトが相互作用しているか、及びどの相互作用オプションが利用可能であるかを確かめたい場合、ユーザは手を準備完了状態に置き、環境を探索するように視線を利用することができる。ユーザはまた、オブジェクトを見つめると同時に、自分の手を準備完了状態に置くことによって、相互作用オプションのインジケーションを見て、次いで、オブジェクトにとって所望の相互作用オプションのためのジェスチャを実行することができる。現在開示されているヒューマンマシンインタフェース設計は、視線(又は他のタイプの入力)のみを使用してオブジェクトを選択し、選択のための視覚的インジケーションをトリガし、次いで、オブジェクトが視線(又は他の入力)によって選択された後に、ユーザに、手ジェスチャを使用して選択されたオブジェクトと相互作用させる設計と異なる。ユーザが手を準備完了状態に置いたかどうかに関係なく、視線(又は他のタイプの入力)のみを使用してオブジェクトを選択し、視覚フィードバックの表示をトリガすると、ユーザが実際に環境内のオブジェクトと相互作用せずに、何気なく環境を視覚的に走査したいときに、ユーザに多くの視覚的な混乱を引き起こす。システムによっては、システムが追加のジェスチャ入力のためにジェスチャ認識手順を開始する前にユーザが準備完了状態に手を配置する必要があるが、これらの従来のシステムは、オブジェクトの相互作用オプションの視覚的インジケーションをトリガするために、視線と準備完了状態が同時に存在することを必要としない。
いくつかの実施形態では、手がジェスチャ入力を提供するための所定の準備完了状態にあると判定することは、手の所定の部分(例えば、指定された指)が物理的制御要素と接触していると判定することを含む。いくつかの実施形態では、物理的制御要素は、ユーザとは別個のコントローラ(例えば、それぞれの入力デバイス)である(例えば、準備完了状態は、ユーザの親指がユーザの人差し指に取り付けられたタッチ感知ストリップ又はリングと接触している状態である)。いくつかの実施形態では、物理的制御要素は、ユーザの手の異なる部分である(例えば、準備完了状態は、親指が人差し指の上側(例えば、第2関節の近傍)に接触している状態である)。いくつかの実施形態では、物理的制御要素は、第1のオブジェクトを識別する、又は相互作用オプションのインジケーションが示されるオブジェクトの位置を指定するために使用されず(例えば、物理的制御要素はポインティングデバイスとして使用されない)、視線がその目的で使用される。いくつかの実施形態では、デバイスは、カメラを使用して手が所定の準備完了状態にあるかどうかを検出し、三次元環境のビューで準備完了状態に手を表示する。いくつかの実施形態では、デバイスは、タッチ感知であり、電子デバイスに通信可能に結合されてタッチ入力を電子デバイスに送信する物理的制御要素を使用して、手が所定の準備完了状態にあるかどうかを検出する。
いくつかの実施形態では、手がジェスチャ入力を提供するための所定の準備完了状態にあると判定することは、手がユーザに対して所定の高度の上方に上昇していると判定することを含む。いくつかの実施形態では、手が上昇していると判定することは、手が特定の横方向平面の上方(例えば、ユーザの腰の上方)に位置付けられていると判定することを含む。いくつかの実施形態では、手が上昇していると判定することは、ユーザの手首又は肘が少なくとも特定の量(例えば、90度の角度内で)曲げられていると判定することを含む。いくつかの実施形態では、デバイスは、カメラを使用して手が所定の準備完了状態にあるかどうかを検出し、三次元環境のビューで準備完了状態に手を表示する。いくつかの実施形態では、デバイスは、ユーザの手、手首、又は腕に取り付けられた1つ以上のセンサ(例えば、運動センサ)を使用して、手が所定の準備完了状態にあるかどうかを検出し、電子デバイスに通信可能に結合されて、電子デバイスに移動入力を伝送する。
いくつかの実施形態では、手がジェスチャ入力を提供するための所定の準備完了状態にあると判定することは、手が所定の構成にあると判定することを含む。いくつかの実施形態では、所定の構成は、手の対応する指(例えば、親指)が、ユーザの手の異なる部分(例えば、人差し指などの対向する指、又は対向する人差し指の中節骨や中関節などの所定の部分)と接触している必要がある。いくつかの実施形態では、所定の構成は、上記のように、手が特定の横方向平面の上方(例えば、ユーザの腰の上方)にあることを必要とする。いくつかの実施形態では、所定の構成は、親指側に向かい小指側から離れる手首の屈曲(例えば、径方向の屈曲)(例えば、アームの軸方向回転無しで)を必要とする。いくつかの実施形態では、手が所定の構成にあるとき、1つ以上の指が自然な休止位置にあり(例えば、湾曲している)、手全体が手、手首、又は腕の自然な休止位置から離れて傾斜又は移動されて、ユーザがジェスチャを実行する準備が整っていることを示す。当業者であれば、使用される特定の所定の準備完了状態が、直感的かつ自然なユーザ相互作用を有するように選択され得、前述の基準の任意の組み合わせを必要とし得ることを認識するであろう。いくつかの実施形態では、ユーザが三次元環境への入力を提供し、三次元環境と相互作用するのではなく三次元環境を見ることを単に望む場合、所定の構成は、ユーザの手の自然な休止姿勢(例えば、膝、テーブル面、又は身体の側部に弛緩して置かれた姿勢)とは異なる。自然な休止姿勢から所定の構成への変化は、意図的であり、ユーザの手の所定の構成への意図的な移動を必要とする。
いくつかの実施形態では、第1のオブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションを表示することは、後続の入力(例えば、音声入力、手ジェスチャなど)に応答して調節可能である第1の仮想オブジェクトに関する情報を表示することを含む。いくつかの実施形態では、(情報が以前に表示されていなかった)第1の仮想オブジェクトに関する情報の表示は、仮想オブジェクトが相互作用することを示し(例えば、オブジェクトが追加のジェスチャ入力を受信する準備ができていることを示すアフォーダンス又は視覚的インジケーション)、後続の入力は、選択可能なオプションのメニューを表示させる。例えば、オブジェクトは3D映画のアイコンであり、インジケーションは映画の概要であり、デバイスは、視線がアイコン上にあり、概要が表示されている間、ジェスチャ入力に応答して映画の再生コントロールを表示する。いくつかの実施形態では、第1の仮想オブジェクトに関する情報の表示は、限定された相互作用オプションのセットを含む。例えば、オブジェクトは物理的スピーカであり、インジケーションは低減された再生コントロールのセットである。視線が物理的スピーカ上にある間、及び低減された再生コントロールのセットが表示されている間のジェスチャ入力に応答して、追加のコンテンツ及びメディアプレーヤのコントロールを有する拡大制御インタフェースが表示される。いくつかの実施形態では、第1の仮想オブジェクトに関する情報は、第1の仮想オブジェクトに関連付けられた(例えば、第1の仮想オブジェクトと共に表示される又は第1の仮想オブジェクトによって表されるコンテンツに関連付けられた)時間及び/又は位置(例えば、写真が撮影されたときの時間及び位置)を含む。第1の仮想オブジェクトが仮想風景(例えば、静的画像又はビデオ)を表示する仮想窓であるいくつかの例では、第1の仮想オブジェクトに関する情報は、表示された仮想風景の位置(例えば、仮想風景の画像が撮影された地理的位置)、及び/又は表示された仮想風景の日時を含み、位置及び/又は時間が表示されている間に受信された後続の入力に応答して、デバイスは、異なる位置及び/又は時刻/時季を表示し、又は風景の時間シーケンス(建設の異なる段階での建物、異なる季節又は時刻での地理的位置)を開始する。
いくつかの実施形態では、第1のオブジェクト(例えば、三次元文字、二次元画像、アイコン、アバターなどの第1の仮想オブジェクト)に利用可能な1つ以上の相互作用オプションのインジケーションを表示することは、第1のオブジェクトのアニメーションを表示することを含む。いくつかの例では、第1の仮想オブジェクトは、写真又は芸術品などの画像であり、第1の仮想オブジェクトのアニメーションを表示することは、画像自体をアニメーションすること、及び/又は画像に表示された1つ以上の要素をアニメーション化することを含む。いくつかの例では、第1の仮想オブジェクトは、ビデオコンテンツ(任意選択的に対応するオーディオコンテンツと共に)又はマルチフレーム写真を含むモーション写真を表す静止画像を含み、アニメーションを表示することは、モーション又はマルチフレーム写真のビデオコンテンツ(及び任意選択的に対応するオーディオコンテンツ)の少なくとも一部を表示することを含む。いくつかの実施形態では、第1のオブジェクトは、映画のアイコンであり、情報は、映画からの短いカットシーンを含む。
いくつかの実施形態では、第1のオブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションを表示することは、第1のオブジェクトの少なくとも一部にわたって選択インジケータを表示する(例えば、強調表示する、アニメーション化する、視覚的効果(例えば、微光、スポット照明、小刻みな揺れなど)を第1のオブジェクトの縁部などの少なくとも一部又は全体に適用する)ことを含む。
いくつかの実施形態では、コンピュータシステムは、三次元環境内の第2のオブジェクト(例えば、電子デバイスを制御するために使用されるハンドヘルドコントローラ以外、及びユーザの手、手首、又は腕若しくはそれらの表現以外の物理的オブジェクト又は仮想オブジェクト)に向けられた(例えば、ユーザの)視線を検出し(例えば、第1のオブジェクトから第1のオブジェクトとは異なる第2のオブジェクトへの視線の移動を検出する)、視線は第1の基準(例えば、安定性、持続時間要件)を満たし、第2の仮想オブジェクトは少なくとも1つのジェスチャ入力に応答する。第1の基準を満たし、少なくとも1つのジェスチャ入力に応答する第2の仮想オブジェクトに向かう視線を検出したことに応答して、手が、ジェスチャ入力を提供するための所定の準備完了状態(例えば、準備完了姿勢の手又はコントローラ上の手)にある(例えば、視線が第1の基準を満たし、第2のオブジェクトに向けられている間、手が準備完了状態に入る、又は手が既に準備完了状態に入りとどまっている間、視線が第2のオブジェクトに向けられながら第1の基準を満たしている)という判定に従って、コンピュータシステムは、第2の仮想オブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションを表示する。いくつかの実施形態では、ユーザの視線が1つのオブジェクトから別のオブジェクトにシフトするにつれて(いくつかの実施形態では、手が所定の準備完了状態にあるという判定に従って)、1つ以上の相互作用オプションが利用可能であるというインジケーションも、1つの仮想オブジェクトから他の仮想オブジェクトにシフトする。言い換えれば、第2のオブジェクトに対して利用可能な1つ以上の相互作用オプションのインジケーションが表示されるとき、デバイスは、第1のオブジェクトの1つ以上の相互作用オプションのインジケーションの表示を停止する。
いくつかの実施形態では、第1の基準を満たし、少なくとも1つのジェスチャ入力に応答する第1のオブジェクトに向かう視線を検出したことに応答して、手が、ジェスチャ入力を提供するための所定の準備完了状態にあるという判定に従って(例えば、視線が第1のオブジェクト上に残り、第1のオブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションが表示されている間)、コンピュータシステムは、手による第1のジェスチャ入力(例えば、対向する指上での親指のタップなどのタップジェスチャ、又は1つ以上の指又は手全体を使用するスワイプジェスチャ)を(例えば、カメラ又は物理的コントローラデバイス上1つ以上のセンサを用いて)検出する。いくつかの実施形態では、手による第1のジェスチャ入力を検出することは、所定の準備完了状態から第1の所定状態への手の移動、所定の準備完了状態からの所定の移動パターン/経路を満たしている手の移動を検出することを含む。手による第1のジェスチャ入力を検出したことに応答して、コンピュータシステムは、第1のオブジェクトとの相互作用(例えば、第1のジェスチャ入力に関連付けられた相互作用)を実行する。例えば、第1のオブジェクトは画像であり、インジケーションは画像のアニメーションであり、第1のジェスチャ入力は、親指による人差し指上又は人差し指を横切るタップ入力又はスワイプ入力であり、第1のオブジェクトとの相互作用を実行することは、画像を拡大することと、画像を三次元環境に配置して、画像に関連付けられた没入型体験(例えば、画像に関連付けられた短い映画の3Dビュー)を提供することとを含む。別の例では、第1のオブジェクトは、仮想窓に示された、又は実際の窓に重ねられた第1の仮想風景であり、インジケーションは、第1の仮想風景に関連付けられた位置及び時間に関するテキスト情報であり、第1のジェスチャ入力は、腕、手、又は指のスワイプジェスチャであり、第1のオブジェクトとの相互作用を実行することは、第1の位置及び/又は第1の時間を有する第1の仮想風景の表示を第1の位置及び/又は第1の時間とは異なる第2の位置及び/又は第2の時間を有する第2の仮想風景の表示に切り替えることを含む。
いくつかの実施形態では、第1のオブジェクトは、第1の画像(例えば、第1の写真又はモーション写真)を含み、第1のオブジェクトとの相互作用を実行することは、第1の画像を第1の画像とは異なる第2の画像(例えば、第2の写真又はモーション写真)に置き換えることを含む。例えば、ユーザが、手を準備完了状態に置いて壁(例えば、物理的壁)に重ねられた写真を見つめると、写真がアニメーション化されて、写真が1つ以上の相互作用オプションに関連付けられていることを示し、次いで、ユーザが写真を見つめながら、自分の手を使用してスワイプジェスチャを行うと、デバイスは、現在の写真を(例えば、写真ライブラリ内の写真のリストから)別の写真に置き換える。
いくつかの実施形態では、第1のオブジェクトは、第1の再生可能なメディアコンテンツ(例えば、第1のビデオコンテンツ、第1のオーディオコンテンツ、又は第1のマルチメディアコンテンツ)を含み、第1のオブジェクトとの相互作用を実行することは、第1の再生可能なメディアコンテンツの再生を切り替えること(例えば、再生と一時停止)(例えば、第1のビデオコンテンツ、第1の音声コンテンツ、又は第1のマルチメディアコンテンツの再生と一時停止とを切り替える)ことを含む。いくつかの例では、第1のオブジェクトは、第1のビデオコンテンツのそれぞれのフレーム(例えば、静止画像)を表示し、相互作用は、表示されたそれぞれのフレームに対応する第1のビデオコンテンツ内の現在の地点からの第1のビデオコンテンツの再生を(例えば、ビデオコンテンツの最初から再生を開始又は再開することによって、又はビデオコンテンツの中間点から再生を再開することによって)開始する。いくつかの例では、第1のオブジェクトは、再生されているビデオコンテンツを表示し、相互作用はビデオコンテンツの再生を一時停止する。いくつかの実施形態では、第1の再生可能なメディアコンテンツのアクティブな再生は、(例えば、ディスプレイのより大きな部分を占めるか、又は2D表示モードから3D表示モードに切り替えるように)第1の再生可能なメディアコンテンツの提示エリアを拡大することを含む。
いくつかの実施形態では、第1のオブジェクトは、第1の仮想風景を表示する仮想窓であり、第1のオブジェクトとの相互作用を実行することは、第1の仮想風景の表示を第1の仮想風景とは異なる第2の仮想風景の表示に置き換えることを含む。いくつかの実施形態では、それぞれの仮想風景は、景観、都市風景、鳥瞰、パノラマなどの画像を含み、任意選択的に、三次元環境内の仮想窓のユーザの視点が変化するとき(例えば、ユーザが電子デバイス又は電子デバイスの1つ以上のカメラを移動させるとき)更新される。
いくつかの実施形態では、第1のジェスチャ入力は、上方フリックジェスチャ(例えば、親指側に向かう手首の上方フリック(例えば、径方向屈曲))であり、任意選択的に、親指が人差し指などの対向する指上に置かれているか、別の形で接触している。第1のオブジェクト(例えば、仮想ステレオ、又は物理的スピーカ)との相互作用を実行することは、第1のオブジェクトの1つ以上の相互作用オプション(又はいくつかの実施形態では、1つ以上の追加の相互作用オプション)でユーザインタフェースを表示することを含む。いくつかの実施形態では、第1のオブジェクトとの相互作用(例えば、1つ以上の追加コントロール及び一連のアルバムで拡大された制御ユーザインタフェースを表示すること)は、ジェスチャが上方フリックジェスチャであるという判定に従って実行され、他のタイプのジェスチャ(例えば、手首が上方にフリックすることなく、親指が人差し指上でタップ又はスワイプする)が、第1のオブジェクトに利用可能な1つ以上の相互作用オプションのインジケーションとして最初に表示される1つ以上の再生制御をアクティブ化するために使用される。
いくつかの実施形態では、第1のジェスチャ入力は、手の回転(例えば、手首及び前腕の軸方向の回転(手首の回内運動又は回外運動とも呼ばれる)、又は掌に向かう又は掌から離れる手首の曲げ(屈曲及び伸長とも呼ばれる)、又は人差し指の指先を中心とした親指の時計回り若しくは反時計回りの円形の移動))を含む。第1のオブジェクト(例えば、仮想ステレオ、アルバムカバー、又は物理的スピーカ)との相互作用の実行は、第1のオブジェクトに関連付けられたコンテンツ(例えば、現在再生されている又は最後に再生されたオーディオコンテンツ)の出力ボリュームを変化させることを含む。いくつかの実施形態では、第1のジェスチャ入力は、第1のオブジェクトに関連付けられたコンテンツを出力しながら検出される。いくつかの実施形態では、掌が下方に回転するように手首を回転させると(例えば、回内運動)コンテンツの出力ボリュームが減少し、掌が上方に回転するように手首を回転させると(例えば、回外運動)コンテンツの出力ボリュームが増大する。いくつかの実施形態では、手首又は指の反時計回りの回転が(左手又は右手のいずれが使用されるかに関係なく)出力ボリュームを減少させる一方、手首又は指の時計回りの回転は、(例えば、まるでユーザが物理的ボリュームノブを調節したかのように)コンテンツの出力ボリュームを増大させる。
いくつかの実施形態では、第1の基準は、視線が少なくとも閾値時間(例えば、第1のオブジェクトからの偏差の閾値量未満)、第1のオブジェクトに向けられたままであるという要件を含む。
図11における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、10000、12000、及び13000)に関して本明細書で記載された他のプロセスの詳細はまた、図11に関連して上述された方法13000に類似の方法で適用可能であることも留意されたい。例えば、方法11000を参照して上述した接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法8000、9000、10000、12000、及び13000)を参照して本明細書に記述した、接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションの1つ以上の特性を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図12は、いくつかの実施形態による、三次元環境に移行するための例示的な方法12000のフローチャートである。いくつかの実施形態では、方法12000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手元で下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))又はユーザの頭部から前方に向くカメラ)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法12000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法12000の一部の動作が任意選択的に組み合わされ、及び/又はいくつかの動作の順序が任意選択的に変更される。
方法12000では、コンピュータシステムは、電子デバイスのユーザに対する所定の位置に表示生成コンポーネントが配置されたことを検出する(12002)((例えば、デバイス配向及び/又は装着状態を検出するHMD上のセンサを介して)ユーザがHMDを頭部に配置していることを検出する、(例えば、表示生成コンポーネントに実装された運動センサ及びアイトラッキング技術を介して)ディスプレイを見るユーザの視線と組み合わせてディスプレイ配向を検出する、(例えば、表示生成コンポーネント上のカメラを使用して)ディスプレイの真正面でユーザの目を検出する、又は(例えば、表示生成コンポーネント上のタッチセンサ及び運動センサを使用して)表示生成コンポーネントの移動と手の握りの組み合わせを検出する)。例えば、デバイスは、(例えば、HMD配向とHMDを装着するユーザの両手の握りの組み合わせを使用して)ユーザがHMDを頭部に置いたこと、又はユーザが両手を用いてユーザの目に直接向かうようにディスプレイを保持し、上昇させ、及び配向させたこと、又は表示生成コンポーネントと物理的に結合されたハウジング上のボタンがユーザによってアクティブ化されたことを検出する。コンピュータシステムのユーザに対する所定の位置への表示生成コンポーネントの配置は、ユーザが電子デバイスを使用して、仮想及び没入体験を開始しようとしている(例えば、三次元映画を開始する、三次元仮想世界に入るなど)ことを示し、ユーザの仮想没入体験を可能にするには、ユーザを取り囲む現実世界のユーザの現在の視野が電子デバイスによって(例えば、ユーザの目の前近傍のディスプレイの存在、及びHMDの音の消音機能によって)一時的に遮断されることを必要とする。これは、ユーザの仮想没入型体験の開始前の時点で発生し、仮想没入型体験への初期移行は、進行中の没入型体験を一時停止して、現実世界の視野を一時的に表示させ、次いで一時停止された没入型体験を再開するという移行よりも、更に制御されたなだらかな移行(例えば、認知的になだらかな移行)の恩恵を得る。図12に戻って参照すると、コンピュータシステムのユーザに対する所定の位置での表示生成コンポーネントの配置を検出したことに応答して、コンピュータシステムは、表示生成コンポーネントを通じて、パススルー部分を含む三次元環境の第1のビューを表示し(12004)、パススルー部分は、ユーザを取り囲む現実世界の少なくとも一部の表現を含む。これは、例えば、図7Kに示されており、デバイス7100は、ユーザがデバイス7100を目の前で両手で保持しているときの物理的環境7800を表示する。例えば、第1のビューは、電子デバイスが最初にオンにされるか、又はユーザの目の前に配置されたときに表示されるウェルカム/導入ユーザインタフェースである。いくつかの実施形態では、パススルー部分は、ユーザを取り囲む物理的環境を見せる半透明又はシースルー部分である。いくつかの実施形態では、パススルー部分は、カメラによってユーザの周りの物理的環境でキャプチャされた画像又はビデオのライブフィードを表示する。いくつかの実施形態では、パススルー部分は、電子デバイスからの制御命令に応答して、透明又は半透明である表示生成コンポーネント(例えば、ディスプレイ又はHMD)の一部である(例えば、ユーザがユーザに対して所定の位置から表示生成コンポーネントを除去することなく、ユーザを取り囲む現実世界を見ることができるように)。いくつかの実施形態では、パススルー部分は、パススルー部分を囲む他の仮想コンテンツ(例えば、二次元及び/又は三次元仮想オブジェクト及びユーザインタフェース要素)と共に導入ユーザインタフェース内に表示される。いくつかの実施形態では、第1のビューにおいて、パススルー部分は、ユーザが最初に表示生成コンポーネントを所定の位置に配置するとき(例えば、ユーザが最初にHMDを自分の頭部に置くとき)、他の仮想コンテンツと共に表示されない。いくつかの実施形態では、第1のビューにおいて、パススルー部分は、ユーザが最初に表示生成コンポーネントを所定の位置に配置するときに、他の仮想コンテンツ(例えば、ユーザのビューに浮かんでいる二次元デスクトップ又はドック又は他のユーザインタフェース要素)と共に表示される。図12に戻って参照すると、パススルー部分を含む三次元環境の第1のビューを表示している間(及び表示生成コンポーネントがコンピュータシステムのユーザに対して所定の位置にある間)、コンピュータシステムは、表示生成コンポーネントと物理的に結合された(例えば、包囲する、部分的に包囲する、直接結合された、又はデバイスの中間部分を介して結合された)ハウジング上の手の握りの変化を検出する(12006)。例えば、手の握りの変化は、表示生成コンポーネントと物理的に結合されたハウジング上で検出された手の総数の変化(例えば、両手から片手、片手から手無し、又は両手から手無し)、表示生成コンポーネントと接触している指の総数の変化(例えば、8本の指から6本の指、4本の指から2本の指、2本の指から指無しなど)、表示生成コンポーネントと物理的に結合されたハウジング上の手の接触から手の接触無しへの変化、及び/又は表示生成コンポーネントと物理的に結合されたハウジング上の接触位置及び/又は接触強度の変化(例えば、手の姿勢、配向、表示生成コンポーネントと物理的に結合されたハウジング上での様々な指の相対的把持力などの変化から生じる)を含む。表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化は、ユーザに対する表示生成コンポーネントの所定の位置の変化を引き起こさず(例えば、HMDはまだユーザの頭上にあってユーザの目を覆っている)、手の握りの変化は、ユーザが(例えば、徐々に又は大胆に)表示生成コンポーネントから手を放し、仮想没入型体験に没入する準備が整っていることを表す。いくつかの実施形態では、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化を検出することは、ユーザの手による表示生成コンポーネントの手動制御の低減を表す、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの状態の2つ以上の移行状態を検出することを含む。図12に戻って参照すると、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化を検出したことに応答して、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化が、第1の基準を満たしているという判定に従って、三次元環境の第1のビューを三次元環境の第2のビューに置き換え、第2のビューが、パススルー部分の少なくとも一部を仮想コンテンツに置き換える(例えば、第1のビュー内の既存の仮想コンテンツの拡大及び変換、及び/又は第1のビューに存在しなかった仮想コンテンツの追加)。これは、例えば、デバイス7100のディスプレイに対面するときのユーザの握りの変化(例えば、両手から片手へ)に応答して、デバイス7100上に示される物理的環境のいくつかの部分が仮想コンテンツ(例えば、仮想オブジェクト7506、7508、及び7510)に置き換えられている図7Lに示される。いくつかの実施形態では、第1の基準は、第1の基準が満たされるために、第1の所定数から第1の所定数よりも小さい第2の所定数まで、表示生成コンポーネントに物理的に結合されたハウジング上で検出される手(又は指)の総数の減少(例えば、2から1、2から0、又は1から0など)を必要とする。例えば、ユーザが両手を使用してHMDをユーザの頭部に置いた後に、ユーザの両手の一方がHMDから離れたとき、又はユーザが両手を使用してディスプレイをユーザの目の真正面に置いた後に、ユーザの手の一方がディスプレイから離れたとき、ユーザが手(単数又は複数)を使用してディスプレイ又はHMDを所定の位置(例えば、ユーザの頭部又はユーザの目の前)に配置した後に、ユーザが手をディスプレイ又はHMDから完全に離したときに、第1の基準が満たされる。いくつかの実施形態では、第1の基準は、第1の数/量から第1の数/量よりも小さい第2の数/量までの接触数(例えば、表示生成コンポーネントと物理的に結合されたハウジング上で検出された指の総数)、又は接触の総量(例えば、ユーザの手との接触の総面積)の減少を必要とする。例えば、第1の基準は、ユーザが表示生成コンポーネントを保持及び配置するために使用される指のいくつか又は全部を、表示生成コンポーネント上の所定の位置/表示生成コンポーネントから外す/離すときに満たされる。第1の基準は、ユーザが自分の周りの物理的世界から遮蔽され、電子デバイスによって提供される仮想没入型体験に完全に没入する準備が整っていることを示すために、表示生成コンポーネント上の手動制御量の必要な減少を表す。いくつかの実施形態では、第2のビューは、第1のビューよりも多量の仮想コンテンツを含む電子デバイスのシステムユーザインタフェースである。例えば、第2のビューは、ユーザを取り囲む現実世界のビューをほとんどか全く含まず、より多くの仮想コンテンツを含むか、又は完全没入型仮想コンテンツを含む仮想環境の3Dビューを含む。いくつかの実施形態では、第1のビューを第2のビューに置き換えることは、パススルー部分の一部を仮想コンテンツに置き換える(例えば、新しい仮想コンテンツがパススルー部分の一部上に重なる)ことを含む。いくつかの実施形態では、第1のビューを第2のビューに置き換えることは、パススルー部分の不透明度を上昇させて(例えば、パススルー部分がディスプレイの半透明又は透明状態で実装されるとき)、ディスプレイの半透明又は透明部分上に表示された仮想コンテンツがより見えやすくなり、色飽和度が高くなることを含む。いくつかの実施形態では、第2のビュー内の仮想コンテンツは、第1のビュー内の仮想コンテンツよりもユーザに対してより没入型体験を提供する(例えば、第1のビュー内の仮想コンテンツは、(例えば、ユーザからの様々な深度で)ユーザの前に表示される二次元オブジェクト及び/又は三次元オブジェクトであり、第2のビューの仮想コンテンツは、ユーザからのパノラマ又は360度ビューで表される三次元世界を含む)。いくつかの実施形態では、第2のビューは、第1のビューよりも、ユーザを取り囲む物理的環境の少ない部分又は小さい部分を表示する小さなパススルー部分を含む。例えば、第1のビューのパススルー部分は、ユーザが位置する部屋の4つの壁を示し、第2のビューのパススルー部分は、仮想窓に置き換えられた4つの壁のうちの1つの窓を示し、その結果、パススルー部分の面積は、第2のビューでは低減されている。
いくつかの実施形態では、第1のビューは、ユーザの目の前の第1の視野角又は視認深度の範囲に及ぶ仮想オブジェクトの第1のセットを含み、第2のビューは、第1の視野角又は視認深度の範囲よりも大きい第2の視野角又は視認深度範囲に及ぶ仮想オブジェクトの第2のセットを含む。例えば、第1のビューでは、導入ユーザインタフェースの仮想オブジェクト(例えば、二次元ユーザインタフェースオブジェクト、二次元画像、又は三次元ユーザインタフェースオブジェクト)が、ユーザから同じ又は異なる深度で60度の円錐内に表示され、第2のビューでは、システムユーザインタフェースの仮想オブジェクトが、ユーザの目の前を中心にして100度、180度、又は210度の円錐内に表示される。いくつかの実施形態では、第1のビューでは、仮想オブジェクトは、互いに小さな深度内に表示され(例えば、空間内の表面又は薄層に限定され)、第2のビューでは、仮想オブジェクトは、より広い範囲の深度で表示される。
いくつかの実施形態では、第1のビューは、ユーザを取り囲む現実世界内の第1の物理的オブジェクトに対応する三次元環境内の第1の表面に重なる第1の仮想コンテンツを含み、第2のビューは、第1の表面に重なる第1の仮想コンテンツに加えて、ユーザを取り囲む現実世界内の第2の物理的オブジェクトに対応する三次元環境内の第2の表面に重なる第2の仮想コンテンツを含む。例えば、第1のビューでは、現実世界に存在する壁又はテーブル上面は、仮想オブジェクト(例えば、アイコン、画像、又は他の2D若しくは3Dオブジェクト)と重ねられ(例えば、完全に又は部分的に覆われる、遮断される、又は装飾されるなど)、第2のビューでは、より多くの壁又は部屋全体に、仮想オブジェクトが重ねられる(例えば、完全に又は部分的に覆われる、遮断される、又は装飾されるなど)。いくつかの実施形態では、第2のビューは、仮想コンテンツから完全に構成されており、ユーザを取り囲む現実世界の構造の可視の証拠をほとんど又は全く残さない。
いくつかの実施形態では、第1のビューは、第1の仮想コンテンツを含み、第2のビューは、第1の仮想コンテンツ及びパススルー部分に置き換わる第2の仮想コンテンツを含む。いくつかの実施形態では、第1のビューは、アクティブ化されると、三次元環境内の様々な没入型アプリケーション環境及び/又は体験を生成する複数のユーザインタフェースオブジェクトを含む。ユーザが最初に、ユーザの手(単数又は複数)を使用してユーザに対して所定の位置に表示生成コンポーネントを配置すると、第1のビューが表示され、複数のユーザインタフェースオブジェクト及びパススルー部分が、ユーザを取り囲む物理的世界の一部を示す。ユーザが必要な方法で手の握りを変化させると(例えば、表示生成コンポーネントに物理的に結合されるハウジング上で何本かの指を解放する、又は表示生成コンポーネントから完全に手を放す)と、第2のビューは、複数のユーザインタフェースオブジェクト及びパススルー部分が完全に没入型仮想体験又は環境に置き換えられて表示される。いくつかの実施形態では、ユーザは、任意選択的に、視線又は音声コマンドを使用して、第1のビュー内の複数のユーザインタフェースオブジェクトのうちの1つをアクティブ化してアプリケーション又は体験を開始するが、アプリケーション又は体験は、第1の基準がユーザの手(単数又は複数)の握りの変化によって満たされるまで、完全に没入型モードに入らない(例えば、休止状態にとどまる)。
いくつかの実施形態では、第2のビューは、それぞれ1つ以上のアプリケーション及び仮想体験を表す1つ以上の選択可能な仮想オブジェクトを含むことを含む。例えば、いくつかの実施形態では、第1のビューは、電子デバイスの仮想デスクトップを表示することなくパススルー部分を含み、第2のビューは、三次元環境で開始され得る様々なアプリケーション及び仮想体験を表す各種ユーザインタフェースオブジェクトを含む仮想デスクトップを表示する。いくつかの実施形態では、仮想デスクトップを表示している間、電子デバイスは、ユーザ入力(例えば、カメラによって検出された視線、コントローラ上のユーザ入力、タッチ感知面上で検出されたタッチなど)を受信して、ユーザ入力に応答して、アプリケーションを表す仮想オブジェクトを選択及びアクティブ化し、デバイスは、表示生成コンポーネントを介して選択されたアプリケーション(例えば、3D映画又はゲーム)に関連付けられた仮想没入型環境を表示する。
いくつかの実施形態では、三次元環境の第2のビューを表示している間(及び表示生成コンポーネントがコンピュータシステムのユーザに対して所定の位置にある間)、コンピュータシステムは、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの第2の変化を検出する。表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの第2の変化の検出に応答して、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化が第2の基準を満たしているという判定に従って(例えば、第2の基準は、表示生成コンポーネントと物理的に結合されたハウジング上の、第1の基準を満たしている手の第1の状態から手動制御が更に低減された第2の状態への変化(例えば、接触数の減少、手の数の減少、接触面積の減少、接触強度の低減、接触位置の変化、又は上記のうちの2つ以上の組み合わせなどによって表される必要な低減の量)を必要とする)、コンピュータシステムは、三次元環境の第2のビューを、パススルー部分を含まない三次元環境の第3のビューに置き換える(例えば、第3のビューは、三次元没入仮想コンテンツを含む)。例えば、第3のビューは、3Dシアターモードであり、第2の基準を満たしているユーザの手の握りの変化は、表示生成コンポーネントと物理的に結合されたハウジング上で、前の1つ以上の両手の握り後に手の握りがないと検出することを含み、電子デバイスは、映画又はゲームの再生を開始する、又は3D没入型VRビューにおける他のタイプの仮想コンテンツを示すことを開始する。いくつかの実施形態では、第1のビューから第2のビューへ、次いで第3のビューへの変化は、HMDを装着するためのユーザの手の握りの(1)両手の握りから、(2)片手又は他のタイプのHMD上の接触面積又は接触強度の低減へ、次いで(3)HMD上で検出される手/接触無しへの変化に応答する、(1)現実世界のシースルービューを含む第1のビュー(例えば、現実世界ビューのフルスクリーン)から、(2)シースルービューと仮想コンテンツの混合の第2のビュー(現実世界コンテンツに重なる仮想コンテンツを含む)へ、次いで(3)完全な仮想現実没入型コンテンツの第3のビューへのなだらかな移行を含む。
いくつかの実施形態では、ユーザを取り囲む現実世界の少なくとも一部を示すパススルー部分を含まない三次元環境(例えば、第2のビュー又は第3のビュー)のそれぞれのビューを表示している間、(及び表示生成コンポーネントがユーザに対する所定の位置にある間)、コンピュータシステムは、表示生成コンポーネントと物理的に結合されたハウジング上のユーザ入力(例えば、表示生成コンポーネントと物理的に結合されたハウジング上のユーザタッチ)を検出する。表示生成コンポーネントと物理的に結合されたハウジング上のユーザ入力を検出したことに応答して、ユーザ入力が第3の基準を満たしているという判定に従って、コンピュータシステムは、表示生成コンポーネントを通じて、現実世界の少なくとも一部の表現を含むパススルー部分を含む第1のビューを再表示する。これは例えば、図7L~7Mに示されている。いくつかの実施形態では、第3の基準は、第3の基準が満たされるために、表示生成コンポーネントがユーザに対して所定の位置にあり、ユーザ入力が表示生成コンポーネントの所定の領域(例えば、ユーザが一般にHMDを取り外すために掴むHMDの前部及び側部の領域)内のユーザの手接触であることを必要とする。いくつかの実施形態では、第3の基準は、第3の基準が満たされるために、手接触が片手接触であることを必要とする(例えば、手接触無しからHMDのいずれかの側(例えば、ユーザの利き手に対応する側)での片手接触への移行が要求される)。いくつかの実施形態では、第3の基準は、第3の基準が満たされるために手接触が両手接触であることを必要とする(例えば、手接触無しからHMDの両側での両手接触への移行が必要である)。いくつかの実施形態では、表示生成コンポーネントのハウジング上のユーザ入力を検出したことに応答して、ユーザ入力が第3の基準を満たしていないという判定に従って、コンピュータシステムは、表示生成コンポーネントを通じて第1のビューの再表示を行わない(例えば、ユーザは、没入型環境にとどまる)。
いくつかの実施形態では、表示生成コンポーネントのハウジング上の手の握りの変化を検出したことに応答して、手の握りの変化が第1の基準を満たしていないという判定に従って、三次元環境の第1のビューが維持される(及び三次元環境の第2のビューに置き換えられない)。三次元環境の第1のビューを表示している間、コンピュータシステムは、表示生成コンポーネントと物理的に結合されたハウジング上の手の握りの変化とは異なるユーザ入力を検出し、ユーザ入力は、電子デバイスの第1の入力デバイス(例えば、表示生成コンポーネントと物理的に結合されたハウジング上の機械的ボタン)をアクティブ化させる。電子デバイスの第1の入力デバイスをアクティブ化させるユーザ入力を検出したことに応答して、コンピュータシステムは、(例えば、手の握りの変化が第1の基準を満たしたときと同じように)三次元環境の第1のビューを三次元環境の第2のビューに置き換える。いくつかの実施形態では、デバイスはまた、現実世界をキャプチャするために使用されるカメラレンズがユーザの手によって遮断されたことを検出したことに応答して、又はユーザが仮想没入型環境に入る準備が整っているという他のインジケーションを検出したことに応答して(例えば、ユーザがHMDを装着してから所定期間が経過した後)、第1のビューを三次元環境の第2のビューに置き換える。
図12における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、10000、11000、及び13000)に関して本明細書で記載された他のプロセスの詳細はまた、図12に関連して上述された方法12000に類似の方法で適用可能であることも留意されたい。例えば、方法12000を参照して上述した接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法8000、9000、10000、11000、及び13000)を参照して本明細書に記述した、接触、ジェスチャ、視線入力、物理的オブジェクト、及びユーザインタフェースオブジェクト、及びアニメーションの1つ以上の特性を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図13は、いくつかの実施形態による、三次元環境に移行するための例示的な方法13000のフローチャートである。いくつかの実施形態では、方法13000は、コンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)を含む(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)及び1つ以上のカメラ(例えば、カメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))は、ユーザの手又はユーザの頭部から前方に向くカメラである。いくつかの実施形態では、方法13000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法13000の一部の動作が任意選択的に組み合わされ、及び/又はいくつかの動作の順序が任意選択的に変更される。
方法13000では、コンピュータシステムは、表示生成コンポーネントを介して、仮想環境(例えば、没入型仮想体験(例えば、映画又はゲーム)を提供する三次元仮想環境)のビューを表示する。これは図7Nに示されており、仮想環境7610は、例えば、デバイス7100上に表示される。いくつかの実施形態では、ビューは、表示生成コンポーネントを取り囲む現実世界の一部の表現を表示するパススルー部分を含まない100%仮想コンテンツを含む。いくつかの実施形態では、仮想環境のビューは、表示生成コンポーネントを囲む現実世界の一部の表現とは異なり、表示生成コンポーネントを囲む現実世界内の物理的オブジェクトの存在、位置、及び/又は物理的構造を視覚的に伝達しない。いくつかの実施形態では、仮想環境のビューは、選択された物理的オブジェクトの存在及び位置のインジケーションを含むが、表示生成コンポーネントを囲む現実世界内の1つ以上の他の物理的オブジェクトの存在、位置、及び/又は物理的構造を視覚的に伝達しない。言い換えれば、仮想環境のビューは、ユーザの通常の視野(例えば、ユーザの目の前に表示生成コンポーネントが配置されていないユーザの視野)においてディスプレイ上で存在するであろう物理的オブジェクトの表示に置き換える仮想コンテンツを含む。仮想環境のビューを表示している間、及び仮想環境のビューが、ユーザが位置する物理的環境内に存在する第1の物理的オブジェクトの第1の部分の視覚的表現を含んでいない間、コンピュータは物理的環境内のユーザの第1の移動を検出する(13004)。例えば、仮想環境のビューは、第1の物理的オブジェクトに関連付けられた存在及び実際のサイズ、形状、位置、及び/又は他の種類の特性を反映する物理的オブジェクトの第1の部分いかなるタイプの視覚的表現(例えば、仮想コンテンツ又はシースルービュー)も含まない。いくつかの実施形態では、ユーザの第1の移動は、ユーザの身体全体又はユーザの手若しくは腕などのユーザの一部の移動を含む。いくつかの実施形態では、第1の物理的オブジェクトは、壁、椅子、テーブルなどの物理的環境内の静止オブジェクト、又はユーザが物理的環境に対して静止している間にユーザに対して移動する、物理的環境内の別の人や犬などの物理的環境内の移動オブジェクト(例えば、ユーザが映画を見ながらソファに座っている間、ユーザのペットが動き回る)である。仮想環境のビューが、ユーザが位置する物理的環境内に存在する第1の物理的オブジェクトの第1の部分の視覚的表現を含まない場合、物理的環境内のユーザに対するその位置を前提とすると(例えば、第1の物理的オブジェクトの第1の部分は、第1の物理的環境内の他の物理的オブジェクトによって遮断されていない)、第1の物理的オブジェクトの同じ第1の部分は、表示生成コンポーネントがパススルー部分を有している、又は表示生成コンポーネントがユーザの目の前に存在しない場合、ユーザの視野内で可視となる。再び図13を参照すると、物理的環境内のユーザの第1の移動を検出したことに応答して(13006)、かつユーザ(例えば、ユーザの中心、ユーザの任意の部分、又はユーザの所定の部分(例えば、ユーザの手又は足)が第1の物理的オブジェクトの第1の部分の閾値距離内にいるという判定に従って(第1の物理的オブジェクト(例えば、第1の物理的オブジェクトの第1の部分及び第2の部分を含む)は、仮想環境に関するユーザの視野(例えば、人間の典型的な視野(例えば、約200度)又はHMDの視野(例えば、約100~200度))に基づき(例えば、現時点での視野、並びにユーザの現在の位置及び進行方向に基づき)ユーザにとって可視であり得る範囲を有する)(例えば、第1の物理的オブジェクトの全部又は一部は、表示生成コンポーネント上に示されたユーザの視野がパススルー部分に置き換えられた場合、ユーザの前の物理的環境を表示するパススルー部分において可視となる)、コンピュータシステムは、仮想環境のビューの外観を変化させることなく、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させて、仮想環境のユーザの視野に基づきユーザにとって可視になり得る第1の物理的オブジェクトの範囲の一部である第1の物理的オブジェクトの第2の部分を示す(例えば、第1の物理的オブジェクトの第1の部分は、ユーザに最も近い可視になり得る第1の物理的オブジェクトの範囲の第1の部分であり、第1の物理的オブジェクトの第2の部分は、第1の物理的オブジェクトの第1の部分よりもユーザから遠い可視になり得る第1の物理的オブジェクトの範囲の第2の部分である)。これは図7Oに示されており、物理的オブジェクト7602の部分7604は仮想環境7620内で見えるように表され、物理的オブジェクト7602のいくつかの部分は、例えば、仮想環境に対するユーザの視野に従って可視であり得る(ユーザの視線上にあり、物理的環境内の他の物理的オブジェクトによって遮断されていない)という事実にもかかわらず、見えるように表されていない。いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性は、物理的環境内のサイズ、形状、色、パターン、及び対応する位置のうちの1つ以上を含み、第1の方法における仮想環境のビューの外観の変化は、単純な視覚的警告/通知を生成すること、又は物理的環境のパススルービューを表示すること(例えば、パススルー部分にカメラのビデオフィードを表示する、又はディスプレイの所定の部分をシースルーにする(例えば、パススルービューが、第1の物理的オブジェクトの形状及びサイズに無関係の所定の形状又はサイズを有する))とは異なる。いくつかの実施形態では、仮想環境のビューの一部は、仮想環境のビューの他の部分と滑らかに接続及び融合されたままであり、それにより、仮想環境のビューによって提供される没入型体験に対するわずかな程度の妨害しかもたらさない。いくつかの実施形態では、「仮想環境のためのユーザの視野」は、(1)電子デバイスの1つ以上のセンサ(例えば、カメラ(例えば、可視光又は赤外線カメラ))によって検出可能である/検出される物理的環境の範囲、(2)ユーザの目の現在の位置及び方向と共に、(例えば、通常の視線距離内及び他の物理的オブジェクトによって遮断されない)平均的なユーザの物理的環境の裸眼ビュー、及び/又は(3)仮想環境の表示された視野(例えば、ビューポートの角度範囲)の境界内に限定される(1)及び(2)の物理的環境の範囲又は物理的環境の裸眼ビュー、に相当する。いくつかの実施形態では、ビューの外観を変化させることは、物理的環境内の第1の物理的オブジェクトの第1の部分の位置/距離/配向に対応する仮想環境のビューの一部を、物理的オブジェクトの第1の部分の視覚的表現に置き換えることを含む。いくつかの実施形態では、仮想環境の外観を変化させるために使用される第1の物理的オブジェクトの第1の部分は、カメラの視野内で現在キャプチャされている第1の物理的オブジェクトの全範囲から(例えば、第1の物理的オブジェクトの第1の部分の境界に沿って)セグメント化され、カメラの視野内で現在キャプチャされている周囲の物理的環境(例えば、第1の物理的オブジェクトに隣接する周囲の物理的環境の部分、又は第1の物理的オブジェクトの一部を遮断している、又は第1の物理的オブジェクトの一部によって遮断されている)から(例えば、第1の物理的オブジェクトの第1の部分の視覚的境界に沿って)セグメント化され、そのため、電子デバイスが、第1の物理的オブジェクトのより大きな範囲に基づいて仮想環境のビューの外観を変化させ、第1の物理的オブジェクトの周囲の物理的環境の一部に基づいて仮想環境のビューの外観を変化させるための画像データを所有している場合でも、電子デバイスは、設計によりそのように変化させることを行わない。言い換えれば、仮想環境のビューの外観を変化させるために使用される第1の物理的オブジェクトの部分及び量は、第1の物理的オブジェクトのどの部分が現在カメラビュー内にあるかに加えて、第1の物理的オブジェクトの形状及びサイズ、並びに第1の物理的オブジェクトの様々な部分のユーザへの距離に基づいて判定される。更に、電子デバイスは、カメラビュー内の第1の物理的オブジェクトの第1の部分に直接隣接して現れる物理的環境の部分の画像データに基づいて、仮想環境の外観を変化させることを行わず、その結果、第1の物理的オブジェクトの第1の部分の物理的境界は、仮想環境のビューの変更された外観において視覚的に表される。再び図13を参照すると、物理的環境(13006)におけるユーザの第1の移動を検出したことに応答して、ユーザ(例えば、ユーザの中心、ユーザの任意の部分、又はユーザの所定の部分(例えば、ユーザの手又は足)が、ユーザを取り囲む物理的環境内に存在する第1の物理的オブジェクトの閾値距離内にいないという判定に従って、(例えば、第1の物理的オブジェクトが、仮想環境についてのユーザの視野(例えば、人間の典型的な視野(例えば、約200度)又はHMDの視野(例えば、約100度~200度))に基づいてユーザに可視であり得る範囲を有するという事実にもかかわらず)第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させることを行わない。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させることは、仮想環境の第2の部分で仮想環境のビューの外観を変更させている間、仮想環境の第1の部分で仮想環境のビューの外観を維持することを更に含み、仮想環境の変化したビューにおける仮想環境の第1の部分と仮想環境の第2の部分との間の境界は、第1の物理的オブジェクトの第1の部分の物理的境界に対応する(例えば、仮想環境の変化した部分と仮想環境の変化していない部分との間の境界の位置及び形状は、所定の切り抜き領域の人工的な境界ではなく、カメラビューにキャプチャされた第1の物理的オブジェクトの第1の部分の位置及び形状に対応する)。これは、切り抜き又はパススルー領域に含まれる物理的オブジェクトの形状及びサイズに依存しない、カメラビューを表示するための所定の形状及びサイズを有する切り抜き又はパススルー領域(例えば、カメラフィードを表示するシミュレートされたフラッシュ照明領域)とは異なる。
いくつかの実施形態では、コンピュータシステムは、(例えば、ユーザの第1の移動が検出された後)物理的環境内の第1の物理的オブジェクトに対するユーザの第2の移動を検出する。物理的環境内の第1の物理的オブジェクトに対するユーザの第2の移動を検出したことに応答して、ユーザが、仮想環境に対するユーザの視野に基づいて(例えば、現時点の視野、並びにユーザの現在の位置及び進行方向に基づいて)ユーザにとって可視であり得る第1の物理的オブジェクトの範囲の一部である第1の物理的オブジェクトの第2の部分の閾値距離内にいるという判定に従って(例えば、表示生成コンポーネント上に示されたユーザの視野がパススルー部分に置き換えられた場合、第1の物理的オブジェクトの全部又は一部が、ユーザの前に物理的環境を表示するパススルー部分において可視である)、コンピュータシステムは、第1の物理的オブジェクトの第2の部分の物理的特性を示す第2の方法で仮想環境のビューの外観を変化させる。いくつかの実施形態では、第1の物理的オブジェクトに対するユーザの第2の移動に応答して、ユーザが第2の移動後に物理的オブジェクトの第1の部分の閾値距離内にいないという判定に従って、物理的オブジェクトの第1の部分の物理的特性に対応する仮想環境のビューの一部(例えば、テーブルの一部)が、その位置での元の仮想コンテンツ(例えば、草地)に変化し、第2の移動後にユーザが物理的オブジェクトの第1の部分の閾値距離内に依然としているという判定に従って、第1の物理的オブジェクトの第1及び第2の部分の両方の物理的特性を示す様式で仮想環境のビューが変化する。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変更することは、仮想環境のビュー内の第1の物理的オブジェクトの第1の部分の半透明視覚的表現を表示する(例えば、仮想環境に対するユーザの視野内の第1の物理的オブジェクトの第1の部分に対応する位置に示される仮想コンテンツを半透明にし、それにより、第1の物理的オブジェクトの第1の部分の画像が、半透明にその位置で可視になる、又は第1の物理的オブジェクトの第1の部分の画像を半透明にし、それをその位置に示される仮想コンテンツに重ねる)ことを更に含む。いくつかの実施形態では、仮想環境のビューは、ユーザが第1の物理的オブジェクトの第1の部分に向かって移動し、閾値距離内に入ると、ユーザに適時な警告を提供するように瞬時に変化する。いくつかの実施形態では、仮想環境のビューは、例えば、フェードイン/フェードアウト効果を用いて徐々に変化して、移行がより滑らかで、混乱/邪魔がより少ないユーザ体験を提供する。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させることは、第1の物理的オブジェクトの第1の部分の形状を表す形状に仮想環境の一部を歪ませる(例えば、仮想環境の一部を第1の物理的オブジェクトがガラス又は別の半透明材料から作成し、仮想環境の一部上に配置されたかのように外観を生成する)(例えば、第1の物理的オブジェクトの第1の部分の表現は、第1の物理的オブジェクトの第1の部分の表現の下にある仮想コンテンツの一部から来る光を屈曲させるシミュレートされた屈折率を有する)ことを更に含む。例えば、ユーザが部屋に配置されたテーブルに近づくにつれて、デバイスは、仮想環境の前に配置された光沢のある半透明のシースルーオブジェクトとして、ユーザに最も近いテーブルの部分を示す(例えば、仮想ビュー内のボール又は仮想牧草地、及びテーブルの一部の後ろの仮想オブジェクトがガラス様テーブルの一部を通じて可視である)。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させることは、第1の物理的オブジェクトの第1の部分に対応する仮想環境のビューの一部の所定の歪みを表示することを更に含む。いくつかの実施形態では、物理的オブジェクトの第1の部分に対応する仮想環境のビュー内の位置に示される仮想コンテンツを歪ませることは、第1の物理的オブジェクトの第1の部分の形状、サイズ、境界、及び/又は位置などの特性を反映する方法として使用される。いくつかの実施形態では、仮想コンテンツを歪ませることは、仮想環境のビューの一部を延伸すること、例えば、揺らめき、波動、輝き、暗化、ぼかし、渦巻などの視覚的効果などの静止又は動画視覚的効果を仮想コンテンツに適用すること、又は異なるテクスチャ(例えば、異なる色合い、反射率、粗さ、粒状性など)を仮想コンテンツに適用することを含む。
いくつかの実施形態では、コンピュータシステムは、第1の移動後の物理的環境内のユーザの継続的な移動を検出する。第1の移動後の物理的環境内のユーザの継続的な移動を検出したことに応答して、ユーザ(例えば、ユーザの中心、ユーザの任意の部分、又はユーザの所定の部分(例えば、ユーザの手又は足)が第1の物理的オブジェクトの第1の部分の閾値距離内にとどまっているという判定に従って、及びユーザと第1の物理的オブジェクトの第1の部分との間の距離が、物理的環境内のユーザの継続的な移動の結果として増加したという判定に従って、コンピュータシステムは、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境のビューに現在適用されている視覚的効果の第1の表示特性を減少させる(例えば、ユーザが第1の物理的オブジェクトの第1の部分から徐々に遠ざかるにつれて、第1の物理的オブジェクトの第1の部分に対応する位置で仮想環境のビューに適用される屈折度、色飽和度、視覚的効果、不透明度、明瞭度などを徐々に減少させ、それにより、ユーザが第1の物理的オブジェクトの第1の部分から遠ざかるときに、第1の物理的オブジェクトの第1の部分の物理的特性によって生成される視覚的影響がディスプレイ上で徐々に減少する)。第1の移動後の物理的環境内のユーザの継続的な移動を検出したことに応答して、物理的環境内のユーザの継続的な移動の結果としてユーザと第1の物理的オブジェクトの第1の部分との間の距離が減少したという判定に従って、コンピュータシステムは、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境のビューに現在適用されている視覚的効果の第1の表示特性を増加させる(例えば、ユーザが第1の物理的オブジェクトの第1の部分に徐々に近づくにつれて、第1の物理的オブジェクトの第1の部分に対応する位置で仮想環境のビューに適用される屈折度、色飽和度、視覚的効果、不透明度、明瞭度などを徐々に増加させ、それにより、ユーザが第1の物理的オブジェクトの第1の部分に近づくにつれて、第1の物理的オブジェクトの第1の部分の物理的特性によって生成される視覚的影響がディスプレイ上で徐々に増加する。)。いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境のビューに適用される視覚的効果の第1の表示特性は、視覚的効果の空間範囲、境界、又は適用位置とは異なる。視覚的効果の空間的範囲は、ユーザが第1の物理的オブジェクトに近づくにつれて増加し、第1の物理的オブジェクトの第1の部分は、仮想環境に対するユーザの視野内でより大きく見える。
いくつかの実施形態では、コンピュータシステムは、第1の移動後の物理的環境内のユーザの継続的な移動を検出する。第1の移動後の物理的環境内のユーザの継続的な移動を検出したことに応答して、仮想環境に対するユーザの視野に基づいて(例えば、現時点の視野、並びにユーザの現在の位置及び進行方向に基づいて)第1の物理的オブジェクト(例えば、第1の物理的オブジェクトの第1の部分及び第2の部分を含む)がユーザにとって可視であり得る間(例えば、表示生成コンポーネント上に示されたユーザの視野がパススルー部分に置き換えられた場合、第1の物理的オブジェクトの全部又は一部は、ユーザの前の物理的環境を表示するパススルー部分において可視である)、かつユーザと第1の物理的オブジェクトの第1の部分との間の距離が物理的環境内のユーザの継続的な移動の結果として閾値距離を超えて増加したという判定に従って、及びユーザと第1の物理的オブジェクトの第2の部分との間の距離が物理的環境内のユーザの継続的な移動の結果として閾値距離未満に減少したという判定に従って、コンピュータシステムは、仮想的環境のユーザの視野に基づいてユーザにとって可視であり得る第1の物理的オブジェクトの範囲の一部である第1の物理的オブジェクトの第2の部分を示すように物理的環境のビューの外観を変化させることなく、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で物理的環境のビューの外観を変化させることを停止する(例えば、第1の物理的オブジェクトの第1の部分の物理的特性を示す物理的環境のビューに、視覚的効果を適用することを停止する(例えば、ユーザが第1の物理的オブジェクトの第1の部分の閾値距離の外側に移動すると、第1の物理的オブジェクトの第1の部分に対応する位置で視覚的環境のビューに、屈折率、色飽和度、視覚的効果、不透明度、明瞭度などの適用を停止して、それにより、ユーザが第1の物理的オブジェクトの第1の部分から十分に遠くに移動したとき、第1の物理的オブジェクトの第1の部分が、ディスプレイ上の視覚的効果によって視覚的に表されなくなる))。コンピュータシステムは、仮想環境のユーザの視野に基づいてユーザにとって可視であり得る第1の物理的オブジェクトの範囲の一部である第1の物理的オブジェクトの第1の部分を示すように仮想環境のビューの外観を変化させることなく、第1の物理的オブジェクトの第2の部分の物理的特性を示す第2の方法で仮想環境のビューの外観を変化させる(例えば、第1の物理的オブジェクトの第2の部分の物理的特性を示す仮想環境のビューに視覚的効果を適用する(例えば、ユーザが第1の物理的オブジェクトの第2の部分の閾値距離内を移動するとき、第1の物理的オブジェクトの第2の部分に対応する位置で屈折率、色飽和度、視覚的効果、不透明度、明瞭度などを仮想環境のビューに適用し、それにより、第1の物理的オブジェクトの第1の部分がディスプレイ上の視覚的効果によって視覚的に表されなくなり、第1の物理的オブジェクトの第2の部分がディスプレイ上の視覚的効果によって視覚的に表される))。
いくつかの実施形態では、コンピュータシステムは、物理的環境内の第1の物理的オブジェクトに対するユーザの第1の移動の速度に従って、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境のビューの外観を変化させる速度を変化させる。例えば、ユーザが物理的環境内の第1の物理的オブジェクトに対してより速く移動する場合、仮想環境の外観はより速く変化し(例えば、第1の物理的オブジェクトの第1の部分の物理的特性を反映するために使用される視覚的効果の視覚的影響が、ディスプレイ上でより迅速に増加し)、ユーザが物理的環境内の第1の物理的オブジェクトに対してより遅く移動する場合、仮想環境の外観はより遅く変化し(例えば、第1の物理的オブジェクトの第1の部分の物理的特性を反映するために使用される視覚的効果の視覚的影響は、ディスプレイ上でよりなだらかにかつゆっくりと増加する)。
いくつかの実施形態では、コンピュータシステムは、第2の物理的オブジェクトの物理的特性(例えば、形状、サイズ、位置、境界など)を示す仮想環境のビュー内に、第2の物理的オブジェクトの少なくとも一部の表現を持続的に表示し、第2の物理的オブジェクトはユーザによって選択される(例えば、仮想環境のビューを表示する前に、又は仮想環境のビューで第2の物理的オブジェクトの視覚的表現を表示している間、デバイスは、物理的環境内のユーザと第2の物理的オブジェクトとの間の距離にかかわらず、第2の物理的オブジェクトの物理的特性(例えば、位置、形状、サイズ、境界など)を示すように仮想環境内に永続的に表現される(又はそれ以外の形で視覚的に表現される)第2の物理的オブジェクトを選択するユーザ入力を検出した)。いくつかの実施形態では、ユーザは、メニューから第2の物理的オブジェクトを選択することによって、又は部屋のパススルービュー内で壁又は部屋内のオブジェクトを指すことによって、又は部屋内の壁の表現を表示する所定ジェスチャ(例えば、腕を上げる)によって、仮想環境のビューで持続的に表現される第2の物理的オブジェクトを選択する。いくつかの実施形態では、位置、形状、及び/又は境界が仮想環境のビュー内に持続的に表されて、ユーザが仮想環境において没入型仮想体験を有しながら自身を配向するのを助けるように、ユーザが物理的オブジェクト(例えば、暖炉やヒータなどの避けるべき危険な障害物や、(例えば、壁、窓、ドア、又は階段)などの部屋の境界)を識別することが許可される。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させた後、コンピュータシステムは、物理的環境内のユーザの姿勢の変化を検出する(例えば、ユーザは、前進しながら、又は物理的環境内の障害物に対する自身の位置の不確定性をそれ以外の方法で示しながら、掌を広げて片腕又は両腕を上げる、又は身体をわずかに後方へ傾ける)。いくつかの実施形態では、ユーザの姿勢の変化は、閾値開始速度を超えるユーザの両手の上方への移動(例えば、突然の移動)を含む。姿勢の変化を検出したことに応答して、姿勢の変化が第1の所定の姿勢基準(例えば、手/腕を上げる、掌を開く、アーチ状に反らす、又はその他の姿勢タイプを認識するための基準は、製造業者において、及び/又は個々のユーザによるカスタマイズ中に予め設定されてもよい)を満たしているという判定に従って、コンピュータシステムは、仮想環境のビューにおける第1の物理的オブジェクトの視認性を高めるように仮想環境のビューの外観を変化させる。ユーザにジェスチャを使用させて、又は姿勢を変化させて、システムに物理的環境を表示させることは、ユーザに認知負担を与えない迅速かつ効率的なユーザにとって安全な機能である。ユーザが何かに衝突するのを心配していることを示す自然な動作(例えば、両手を一緒に突然上げる)が、ユーザを取り囲む物理的空間内の潜在的な障害物に関する追加情報の表示をトリガするとき、システムにより、ユーザは自分を迅速に再配向し、環境内で自身の安全性を確保することができる。
いくつかの実施形態では、仮想環境のビュー内の第1の物理的オブジェクトの視認性を高めるそれぞれの方法で、仮想環境のビューの外観を変化させることは、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境の一部に現在適用されている視覚的効果の表示特性(例えば、不透明度、飽和度、透明度、コントラスト、歪みなど)を増加させることを含む。例えば、ユーザが掌を開いて右腕を上昇させたことを検出すると、第1の物理的オブジェクトの第1の部分に対応する変化したビューは、より強いコントラストで明るくなるため、第1の物理的オブジェクトの第1の部分の物理的特性は、ユーザにとってより視認しやすくなる。
いくつかの実施形態では、仮想環境のビュー内の第1の物理的オブジェクトの視認性を高めるそれぞれの方法で、仮想環境のビューの外観を変化させることは、(例えば、第1の物理的オブジェクトの第1の部分の物理的特性を示す仮想環境のビューの外観の変化を維持しながら)第1の物理的オブジェクトの追加部分の物理的特性を示すように外観が変化する仮想環境のビューの程度を増加させることを含む。例えば、いくつかの実施形態では、ユーザが掌を広げて前に向けた状態で両手を急に上昇させる、又はユーザが前進する際にわずかに腕を上昇させると、デバイスは、(例えば、仮想環境のビュー内の仮想コンテンツの一部に許可された視覚的効果を通じて)仮想環境のビュー内で第1の物理的オブジェクトのより多くの部分又は全てを可視にする。いくつかの実施形態では、ユーザが自分の腕を上げる速度を使用して、仮想環境において第1の物理的オブジェクトがどの程度可視にされるかを判定する。いくつかの実施形態では、第1の所定の姿勢基準がユーザの姿勢の変化によって満たされると、仮想環境に対するユーザの視野に基づいてユーザにとって可視であり得る第1の物理的オブジェクトの全ての部分がユーザに対して表示される。
いくつかの実施形態では、仮想環境のビュー内の第1の物理的オブジェクトの視認性を高めるそれぞれの方法で、仮想環境のビューの外観を変化させることは、仮想環境に対するユーザの視野に基づいて、ユーザにとって可視であり得る全ての物理的オブジェクト(例えば、第1の物理的オブジェクト、及び仮想環境のビューに表されない1つ以上の他の物理的オブジェクトを含む)の物理的特性を含むように、外観が変化する仮想環境のビューの範囲を増加させることを含む。例えば、いくつかの実施形態では、第1の所定の姿勢基準がユーザの姿勢の変化によって満たされるとき、仮想環境に対するユーザの視野に基づいてユーザにとって可視であり得る全ての物理的オブジェクトがユーザに対して表示される。
いくつかの実施形態では、第1の所定の姿勢基準を満たしている姿勢の変化を検出した後、コンピュータシステムは、物理的環境内のユーザの姿勢の逆の変化を検出する(例えば、ユーザは、前進しながら、又は物理的環境内の障害物に対する自身の位置についての確信を別の形で示しながら、上げた腕の片方又は両方を下ろす、又は上半身を直立姿勢に戻す)。姿勢の逆の変化を検出したことに応答して、姿勢の逆の変化が第2の所定の姿勢基準(例えば、正常姿勢への回復を認識するための基準)を満たしているという判定に従って、コンピュータシステムは、仮想環境のビューにおける第1の物理的オブジェクトの上昇した視認性を逆転させるそれぞれの方法で仮想環境のビューの外観を変化させる(例えば、示されている第1の物理的オブジェクトの量を減少させる、又は第1の物理的オブジェクトの物理的特性を示すために使用される視覚的効果の上述の表示特性のうちの1つ以上を低減させる)。
いくつかの実施形態では、第1の物理的オブジェクトの第1の部分の物理的特性を示す第1の方法で仮想環境のビューの外観を変化させた後、仮想視野修復基準が満たされるという判定に従って(仮想視野修復基準は、ユーザ及び第1の物理的オブジェクトの第1の部分の位置が第1の閾値時間変化しないことを必要とする)、コンピュータシステムは、第1の方法で仮想環境のビューの外観の変化を逆転させる(例えば、変化を一斉に停止する、又は所定の期間にわたって変化量を徐々に減少させる)(例えば、逆転速度は、任意選択的に、変化を最初に適用する速度よりも遅い、又は逆転速度は、ユーザによって提供される逆のジェスチャの移動メトリックに従う)(例えば、仮想環境のビューにおける第1の物理的オブジェクトの第1の部分の視認性を低減させる)。
図13における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、10000、11000、及び12000)に関して本明細書で記載された他のプロセスの詳細はまた、図13に関連して上述された方法13000に類似の方法で適用可能であることも留意されたい。例えば、方法13000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択で、本明細書に記述した他の方法(例えば、方法8000、9000、10000、11000、及び12000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図8、9、10、11、12、及び13を参照して先述した動作は、任意選択的に、図1~6に示すコンポーネントにより実施される。いくつかの実施形態では、方法8000、9000、10000、11000、12000、及び13000の態様/動作は、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、それらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。