本出願は、2019年9月28日付で出願された米国特許仮出願第62/907,614号、2020年9月23日付で出願された米国特許出願第17/030,219号に対して優先権を主張するものであり、2020年9月23日付で出願された米国特許出願第17/030,219号の継続出願である。
本開示は、いくつかの実施形態による、コンピュータ生成現実(CGR)体験をユーザに提供するユーザインタフェースに関する。
本明細書に記載するシステム、方法、及びGUIは、複数の方法で仮想/拡張現実環境とのユーザインタフェース相互作用を改善する。
いくつかの実施形態では、コンピュータシステムは、ユーザが、様々なジェスチャ入力を使用することによって、コンピュータ生成三次元環境内で仮想オブジェクトと相互作用することを可能にする。第1の所定のジェスチャ(例えば、スワイプジェスチャ、タップジェスチャ、ピンチ及びドラッグジェスチャなど)は、コンピュータシステムに仮想オブジェクトに対応する第1の動作を実行させる一方、同じ所定のジェスチャは、コンピュータ生成三次元環境内の仮想オブジェクトを、特別な修正ジェスチャ(例えば、再構成ジェスチャ)と組み合わされたときに(例えば、再構成ジェスチャの直後、同時、又は完了後)、コンピュータシステムにある位置から別の位置に移動させる。具体的には、いくつかの実施形態では、所定の再構成ジェスチャは、仮想オブジェクトを再構成モードに入らせる。再構成モードにある間、オブジェクトは、仮想オブジェクトが再構成モードにないときに仮想オブジェクトとの第1のタイプの相互作用をトリガする(例えば、仮想オブジェクトをアクティブ化する、仮想オブジェクト内でナビゲートする、又は仮想オブジェクトを回転させる)ように構成された第1のジェスチャに応答して、コンピュータ生成環境内のある位置から別の位置に移動させられる。いくつかの実施形態では、再構成ジェスチャは、仮想オブジェクトを移動させるジェスチャの一部ではなく、仮想オブジェクトは、任意選択的に、前の再構成モードの検出に応答して再構成モードに入った後、再構成モードに留まる。仮想オブジェクトが再構成モードにある間、コンピュータシステムは、任意選択的に、仮想オブジェクトを再構成モードから出させることなく、コンピュータ生成環境に向けられた他のジェスチャ入力に応答する。コンピュータシステムは、仮想オブジェクトが再構成モードにないときに、仮想オブジェクトとの第1のタイプの相互作用をトリガするようにも構成された第1のそれぞれのジェスチャに従って仮想オブジェクトを移動させる。再構成モードに入って留まる仮想オブジェクトの視覚的インジケーションは、ユーザがコンピュータ生成環境及び仮想オブジェクトの内部ステータスを理解し、所望の結果を達成するための適切な入力を提供するのを助けるために提供される。仮想オブジェクトを再構成モードに入らせる特別な再構成ジェスチャを使用すること、通常、環境を再構成し、仮想オブジェクトを移動させる別の動作をトリガするジェスチャを利用すること、及び特別な再構成ジェスチャに応答して再構成モードに入って留まる仮想オブジェクトの視覚的インジケーションを提供することによって、ユーザからの入力の数、範囲、及び/又は性質が低減されて、より効率的なヒューマンマシンインタフェースを生成する。
いくつかの実施形態では、コンピュータシステムは、物理的オブジェクト(例えば、表示生成コンポーネントの透明又は半透明部分を介して、又は物理的環境のカメラビューで三次元環境に現れる)及び仮想オブジェクト(例えば、ユーザインタフェースオブジェクト、物理的オブジェクトを模倣するコンピュータ生成仮想オブジェクト、及び/又は現実世界で物理的類似物を有さないオブジェクト)の両方を含む三次元環境を生成する。コンピュータシステムは、模倣物理的光伝搬原理に従って、仮想オブジェクトと物理的オブジェクトとの間の模倣視覚的相互作用を生成する。具体的には、仮想オブジェクトから放射される光(例えば、輝度、色、色相、時間変動、空間パターンなどを含む)は、その環境内の物理的オブジェクト及び仮想オブジェクトの両方を照らしているように見える。コンピュータシステムは、物理面の様々な部分及び仮想面の様々な部分に、仮想オブジェクトから放射される仮想光によってもたらされる模倣照明及び影を生成する。照明及び影は、物理的光伝搬原理、並びに環境内の他の物理面及び仮想面に対する仮想オブジェクトの空間位置、仮想面の模倣物理的特性(例えば、表面テクスチャ、光学特性、形状、及び寸法など)、及び物理面の実際の物理的特性(例えば、表面テクスチャ、光学特性、形状、及び寸法など)を考慮して生成される。仮想オブジェクトの様々な部分から放射される光は、それらの位置及び物理的特性の差異のために、環境内の他の仮想オブジェクトの様々な部分及び他の物理的オブジェクトの様々な部分に異なるように影響を及ぼす。仮想オブジェクトと物理的オブジェクトとの間で現実的かつ詳細な視覚的相互作用を生成し、仮想オブジェクト及び物理的オブジェクトを仮想オブジェクトからの照明に対して同様に反応させることによって、コンピュータシステムは、三次元環境をより現実的にすることができ、ユーザがコンピュータ生成三次元環境により適切に馴染むのを助け、ユーザがコンピュータ生成三次元環境と相互作用するときのユーザの間違いを低減する。
いくつかの実施形態では、ユーザは、コンピュータシステムに、コンピュータシステムによって提供されるコンピュータ生成体験の没入度を連続的に上昇させるために、2つ以上の所定の入力のシーケンスを提供する。ユーザが、ユーザに対して所定の位置にコンピュータシステムの表示生成コンポーネントを配置する(例えば、目の前にディスプレイを置く、又はヘッドマウントデバイスを自分の頭部に置く)とき、現実世界のユーザのビューは、表示生成コンポーネントによって遮断され、表示生成コンポーネントによって提示されるコンテンツがユーザのビューを支配する。時にユーザは、現実世界からコンピュータ生成体験に移行するためのより緩やかで制御されたプロセスから恩恵を得る。したがって、表示生成コンポーネントを介してユーザにコンテンツを表示するとき、コンピュータシステムは、ユーザを取り囲む現実世界の少なくとも一部の表現を含むパススルー部分を表示し、表示生成コンポーネントを通じて可視である物理的要素に置き換わる仮想要素の量を徐々に増加させる。具体的には、2つ以上のユーザ入力のシーケンスの各連続入力に応答して、異なるクラスの物理的要素がビューから除去され、新たに表示される仮想要素によって置き換えられる(例えば、既存の仮想要素又は新たに追加された仮想要素の拡張)。ユーザの入力によって制御される没入型環境へ及びからの段階的移行は、ユーザにとって直感的かつ自然であり、コンピュータ生成没入型体験のためのコンピュータシステムを使用するときのユーザの体験及び快適性を向上させる。それぞれの入力に応答して全体として置き換えられる物理的要素を様々なクラスの物理的要素に分割することは、複数の段階的移行に対するユーザ制御を可能にしながら、更に没入型のコンピュータ生成環境への移行に必要なユーザ入力の総数を減少させる。
いくつかの実施形態では、コンピュータシステムが、物理的オブジェクトを含む三次元環境を表示するとき(例えば、物理的オブジェクトは、表示生成コンポーネントを通じて可視である)(例えば、表示生成コンポーネントによって示される物理的環境のカメラビュー内で、又は表示生成コンポーネントによってレンダリングされた模倣現実環境内の物理的オブジェクトの仮想表現として、表示生成コンポーネントの透明パススルー部分を通じて可視である)。物理的オブジェクトは、物理面(例えば、平面状面又は平滑面)を有する。物理的オブジェクトとユーザとの間の相互作用レベルが第1の所定のレベルにあるとき、コンピュータシステムは、三次元環境内の物理的オブジェクトの位置に対応する位置に(例えば、第1のユーザインタフェースが物理面に重なっている、又は物理面上に立っているように見えるように)第1のユーザインタフェースを表示する。物理的オブジェクトとユーザとの間の相互作用レベルが、第2のレベル、例えば、第1のレベルの相互作用よりも高いレベルであるとき、コンピュータシステムは、三次元環境内の物理的オブジェクトの位置に対応する位置で(例えば、第2のユーザインタフェースが物理面に重なっている、又は物理面上に立っているように見えるように)第1のユーザインタフェースを置き換える第2のユーザインタフェースを表示する。第2のユーザインタフェースは、第1のユーザインタフェースと比較して、物理的オブジェクトと関連付けられた情報及び/又は機能をより多く提供する。コンピュータシステムは、情報を受信し、第1の物理的オブジェクトを制御するための様々な手段を使用して、ユーザが第1及び第2のユーザインタフェースと相互作用することを可能にする。この技術は、コンピュータ生成環境内の位置に提供されるより多くの情報及び制御の助けを借りて、ユーザが物理的オブジェクトと相互作用することを可能にする。コンピュータ生成環境内の相互作用の位置は、現実世界内の物理的オブジェクトの物理的位置に対応する。ユーザと物理的オブジェクトとの間の相互作用の検出されたレベルに従って(例えば、異なるユーザインタフェースに提供される)制御の情報及びレベルを調節することにより、コンピュータシステムは、情報を不要に提供することがなく、又はコンピュータ生成三次元環境を乱雑にすることがなく、ユーザがコンピュータ生成環境と相互作用するときにユーザの混乱及びユーザの間違いを低減する。この技術はまた、いくつかの実施形態による、ユーザが物理的オブジェクトを遠隔で制御するために近傍の物理面を利用することを可能にする。いくつかの実施形態では、ユーザは、遠隔から物理的オブジェクトを制御する、又は物理的オブジェクトに関する情報を制御して、ユーザと物理的オブジェクト及び/又は三次元環境との相互作用をより効率的にすることができる。
いくつかの実施形態では、コンピュータシステムは、物理的オブジェクト(例えば、表示生成コンポーネントの透明又は半透明部分を介して、又は物理的環境のカメラビューで三次元環境に現れる)及び仮想オブジェクト(例えば、ユーザインタフェースオブジェクト、物理的オブジェクトを模倣するコンピュータ生成仮想オブジェクト、及び/又は現実世界で物理的類似物を有さないオブジェクト)の両方を含む三次元環境を生成する。コンピュータシステムはまた、音声ベース仮想アシスタントを提供する。音声ベース仮想アシスタントがアクティブ化されると、コンピュータシステムは、アクティブ化された仮想アシスタントの視覚的表現を表示する。コンピュータシステムはまた、環境内の物理的オブジェクト及び仮想オブジェクトの外観、並びに時にはユーザの視野又はスクリーンの周辺領域の背景を、仮想アシスタントの視覚的表現の表示特性の値に従って修正する。具体的には、仮想アシスタントの視覚的表現から放射される光(例えば、輝度、色、色相、時間変動、空間パターンなどを含む)は、環境内の物理的オブジェクト及び仮想オブジェクトの両方、及び任意選択的に、ユーザ又はスクリーンの周辺領域の視野の背景を照らしているように見える。コンピュータシステムは、仮想アシスタントの視覚的表現から放射される仮想光によってもたらされる物理面の様々な部分及び仮想面の様々な部分に模倣照明及び影を生成する。照明及び影は、物理的光伝搬原理、並びにコンピュータ生成環境内の他の物理面及び仮想面に対する仮想アシスタントの視覚的表現の空間的位置、仮想面の模倣物理的特性(例えば、表面テクスチャ、光学特性、形状、及び寸法など)、及び物理面の実際の物理的特性(例えば、表面テクスチャ、光学特性、形状、及び寸法など)を考慮して生成される。仮想アシスタントに関連付けられた照明効果は、音声ベース仮想アシスタント(例えば、アクティブ、又は休止、聴く、及び/又は応答)の状態に関する、ユーザに連続的及び動的フィードバックを提供する。コンピュータシステムは、仮想アシスタントの視覚的表現とコンピュータ生成環境内の他の仮想オブジェクト及び物理的オブジェクトとの間で現実的かつ詳細な視覚的相互作用を生成することによって、コンピュータ生成三次元環境をより現実的で情報の多いものにすることができ、これにより、ユーザがコンピュータ生成三次元環境により適切に馴染むのを助け、ユーザがコンピュータ生成三次元環境と相互作用するときのユーザの間違いを低減することができる。
図1~6は、CGR体験をユーザに提供するための例示的なコンピュータシステムを説明する。図7A~図7Bは、いくつかの実施形態による、コンピュータ生成三次元環境(例えば、再構成及び他の相互作用を含む)とのユーザ相互作用を示すブロック図である。図7C~図7Fは、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、物理的オブジェクトと仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法を示すブロック図である。図7G~図7Lは、いくつかの実施形態による、コンピュータ生成三次元環境を生成し、三次元環境とのユーザ相互作用を容易にする(例えば、ユーザ入力に基づいてコンピュータ生成体験の没入度を徐々に調節することを含む)方法を示すブロック図である。図7M~図7Rは、いくつかの実施形態による、コンピュータ生成環境とのユーザ相互作用を容易にする(例えば、物理面との相互作用を利用してデバイスを制御する又はコンピュータ生成環境と相互作用する)方法を示すブロック図である。図7S~7Xは、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、環境内の音声ベース仮想アシスタントと物理的オブジェクト及び仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法を示すブロック図である。図8は、いくつかの実施形態による、コンピュータ生成三次元環境と相互作用する(例えば、再構成及びその他の相互作用を含む)方法のフローチャートである。図9は、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、物理的オブジェクトと仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法のフローチャートである。図10は、いくつかの実施形態による、コンピュータ生成三次元環境を生成し、三次元環境とのユーザ相互作用を容易にする(例えば、ユーザ入力に基づいてコンピュータ生成体験のレベルを徐々に調節することを含む)方法のフローチャートである。図11は、いくつかの実施形態による、コンピュータ生成環境とのユーザ相互作用を容易にする(例えば、物理面との相互作用を利用してデバイスを制御する又はコンピュータ生成環境と相互作用する)方法のフローチャートである。図12は、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、環境内の音声ベース仮想アシスタントと物理的オブジェクト及び仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法のフローチャートである。図7A~図7Xのユーザインタフェースは、図8~12のプロセスを説明するために使用される。
いくつかの実施形態では、図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~図7Bは、いくつかの実施形態による、コンピュータ生成三次元環境(例えば、再構成及び他の相互作用を含む)とのユーザ相互作用を示すブロック図である。図7A~7Bは、図8の処理を含む、後述の処理を例示するために使用される。
いくつかの実施形態では、図7A~図7Bを参照して説明される入力ジェスチャは、センサシステム(例えば、図1のセンサ190、図3の画像センサ314)によってキャプチャされるデータ及び信号を解析することによって検出される。いくつかの実施形態では、センサシステムは、1つ以上の撮像センサ(例えば、モーションRGBカメラ、赤外線カメラ、深度カメラなどの1つ以上のカメラ)を含む。例えば、1つ以上の撮像センサは、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120(例えば、ディスプレイ及びタッチ感知面として機能するタッチスクリーンディスプレイ、立体ディスプレイ、パススルー部分を有するディスプレイなど))を含むコンピュータシステム(例えば、図1のコンピュータシステム101(例えば、図7A~7Bに示すようなポータブル電子デバイス7100又はHMD))のコンポーネントである、又は上記コンピュータシステムにデータを提供する。いくつかの実施形態では、1つ以上の撮像センサは、デバイスのディスプレイとは反対側のデバイスの側に1つ以上の後面カメラを含む。いくつかの実施形態では、入力ジェスチャは、ヘッドマウントシステムのセンサシステム(例えば、ユーザの左目の左画像及びユーザの右目の右画像を提供する立体ディスプレイを含むVRヘッドセット)によって検出される。例えば、ヘッドマウントシステムのコンポーネントである1つ以上のカメラは、ヘッドマウントシステムの前側及び/又は下側に取り付けられている。いくつかの実施形態では、1つ以上の撮像センサは、撮像センサがヘッドマウントシステム及び/又はヘッドマウントシステムのユーザの画像をキャプチャするように、ヘッドマウントシステムが使用される空間に配置される(例えば、部屋内の様々な位置でヘッドマウントシステムの周りに配列される)。いくつかの実施形態では、入力ジェスチャは、ヘッドアップデバイス(例えば、ヘッドアップディスプレイ、グラフィックを表示する能力を有する自動車フロントガラス、グラフィックを表示する能力を有する窓、グラフィックを表示する能力を有するレンズ)のセンサシステムによって検出される。例えば、1つ以上の撮像センサは、自動車の内面に取り付けられる。いくつかの実施形態では、センサシステムは、1つ以上の深度センサ(例えば、センサアレイ)を含む。例えば、1つ以上の深度センサは、1つ以上の光ベースの(例えば、赤外線)センサ及び/又は1つ以上の音響ベースの(例えば、超音波)センサを含む。いくつかの実施形態では、センサシステムは、光エミッタ(例えば、赤外線エミッタ)及び/又は音声エミッタ(例えば、超音波エミッタ)などの1つ以上の信号エミッタを含む。例えば、光(例えば、所定パターンを有する赤外光エミッタアレイからの光)が手(例えば、図7A~7Bに関して説明されるような手7200)に投射されている間、光の照明下の手の画像が1つ以上のカメラによってキャプチャされ、キャプチャされた画像が手の位置及び/又は構成を判定するために解析される。タッチ感知面又は他の直接接触機構又は近接ベースの機構の信号を使用することと対照的に、手に向けられた画像センサからの信号を使用して入力ジェスチャを判定することで、ユーザは、特定の入力デバイス又は入力領域によって課せられる制約を経験せずに、手で入力ジェスチャを提供するときに、大きな運動を実行するか、又は相対的に静止状態を保つかを自由に選択することができる。
いくつかの実施形態では、複数のユーザインタフェースオブジェクト7208、7210、及び7212(例えば、メニュー又はドック内で、又は互いに独立している)は、コンピュータ生成三次元環境(例えば、仮想環境又は複合現実環境)に表示される。複数のユーザインタフェースオブジェクトは、任意選択的に、空間内又は三次元環境内の物理的オブジェクトの上に浮遊して表示される。ユーザインタフェースオブジェクトはそれぞれ、任意選択的に、三次元環境内で実行され得る、又はコンピュータシステムと通信する物理的環境内で作用を引き起こす(例えば、デバイス7100と通信する別のデバイス(例えば、スピーカ又はスマートランプ)を制御する)1つ以上の対応する動作を有する。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212は、コンピュータシステム(例えば、デバイス7100)の1つ以上の後面カメラによってキャプチャされた物理的環境のビューの少なくとも一部と共に(例えば、重ねて又は置換して)コンピュータシステム(例えば、デバイス7100(図7A~7B)又はHMD)のディスプレイによって表示される。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212は、コンピュータシステムの透明又は半透明ディスプレイ(例えば、ヘッドアップディスプレイ、又はHMD)上に表示され、このディスプレイを通じて物理的環境が可視である。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212は、仮想コンテンツによって囲まれたパススルー部分(例えば、物理的周囲が可視である透明又は半透明の部分、又は周囲の物理的環境のカメラビューを表示する部分)を含むユーザインタフェースに表示される。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212は、仮想現実環境に表示される(例えば、仮想空間内に浮かぶ、又は仮想面に重なる)。
いくつかの実施形態では、手7200の表現は、仮想現実環境において可視である(例えば、1つ以上のカメラによってキャプチャされた手7200の画像が仮想現実設定にレンダリングされる)。いくつかの実施形態では、手7200の表現7200’(例えば、手7200の漫画版)が、仮想現実設定においてレンダリングされる。いくつかの実施形態では、手7200又はその表現は、仮想現実環境において不可視である(例えば、省略される)。いくつかの実施形態では、デバイス7100(図7C)は、(例えば、デバイス7100がHMDであるとき)仮想現実環境において不可視である。いくつかの実施形態では、デバイス7100の画像又はデバイス7100の表現は、仮想現実環境において可視である。
いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212のうちの1つ以上は、アプリケーション起動アイコン(例えば、対応するアプリケーションを起動するための動作を実行するため、及びそれぞれのアプリケーションに対応するクイックアクションメニューを表示するための動作など)である。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212のうちの1つ以上は、アプリケーション内でそれぞれの動作を実行する(例えば、ボリュームを上げる、ボリュームを下げる、再生する、休止する、早送りする、巻き戻す、リモートデバイスとの通信を開始する、リモートデバイスとの通信を終了する、リモートデバイスとの通信を伝達する、ゲームを開始するなど)ためのコントロールである。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212のうちの1つ以上は、(例えば、リモートデバイスのそれぞれのユーザとの通信を開始する動作を実行するための)リモートデバイスのユーザのそれぞれの表現(例えば、アバター)である。いくつかの実施形態では、ユーザインタフェースオブジェクト7208、7210、及び7212のうちの1つ以上は、メディアアイテム(例えば、画像、仮想オブジェクト、オーディオファイル、及び/又はビデオファイル)の表現(例えば、サムネイル、二次元画像、又はアルバムカバー)である。例えば、画像の表現であるユーザインタフェースオブジェクトをアクティブ化することにより、画像は、(例えば、1つ以上のカメラによって検出され、コンピュータ生成現実ビューに表示された表面に対応する位置(例えば、物理的環境内の表面に対応する位置、又は仮想空間に表示される表面に対応する位置に)表示される。アルバム(例えば、音楽アルバム、画像アルバム、フリップブックアルバムなど)であるユーザインタフェースオブジェクト内でナビゲートすることにより、現在再生されているか表示されたアイテムをアルバム内の別のアイテムに切り替える。
図7Aに示されるように、2つの別個の動作が、手7200によって提供される異なるタイプのジェスチャ入力に応答して、三次元環境においてユーザインタフェースオブジェクト7208、7210、及び7212に対して実行される一方、再構成モードは、ユーザインタフェースオブジェクトのいずれに対してもアクティブ化されない。
図7A(a-1)図7A(a-3)では、手7200の親指は、垂直軸に沿って移動して人差し指の側部に接触し、人差し指の側部から離れるように上方に移動することによってタップジェスチャを実行する。タップジェスチャは、現在の選択インジケータ(例えば、セレクタオブジェクト、又はオブジェクトの輪郭又は外観の変化によるオブジェクトの強調表示などの可動視覚的効果)が、ユーザインタフェースオブジェクト7208上に位置し、ユーザインタフェースオブジェクト7208の現在選択されているステータスを示している間に実行される。いくつかの実施形態では、手7200によるタップ入力を検出したことに応答して、コンピュータシステム(例えば、デバイス7100)は、(例えば、ユーザインタフェースオブジェクト7208によって表されるアプリケーションのユーザインタフェースの一部として、又はユーザインタフェースオブジェクト7208によって表されるコンテンツとして)仮想オブジェクト7202を表示させる第1の動作を実行する(例えば、ユーザインタフェースオブジェクト7208をアクティブ化する)。ユーザインタフェースオブジェクト7208の視覚的外観は、第1の動作が実行されていることを示す(例えば、アクティブ化されているが、移動していない)。
図7A(a-1)、次いで図7A(a-4)~図7A(a-5)では、手7200は、手の親指が人差し指の側部に触れた後に横方向に移動することによってドラッグジェスチャを実行する。ドラッグジェスチャは、現在の選択インジケータ(例えば、セレクタオブジェクト、又はオブジェクトの輪郭又は外観の変化によるオブジェクトの強調表示などの可動視覚的効果)が、ユーザインタフェースオブジェクト7208上に位置し、ユーザインタフェースオブジェクト7208の現在選択されているステータスを示している間に実行される。いくつかの実施形態では、手7200によるドラッグ入力を検出したことに応答して、コンピュータシステム(例えば、デバイス7100)は、ユーザインタフェースオブジェクト7208に対する第2の動作を実行する(例えば、ユーザインタフェースオブジェクト7208から離れてユーザインタフェースオブジェクト7210に向かうようにナビゲートする、又はユーザインタフェースオブジェクト7208内をナビゲートする)。ユーザインタフェースオブジェクトの視覚的外観は、第2の動作が実行されていることを示す(例えば、ユーザインタフェースオブジェクトのコンテンツ内又はユーザインタフェースオブジェクトから離れるナビゲーションが発生したが、オブジェクトは三次元環境内で移動していない)。
図7Bは、再構成ジェスチャが(例えば、他のジェスチャ入力(例えば、図7Aに示されるジェスチャ)と組み合わせて)実行され、その結果、三次元環境が(例えば、三次元環境におけるユーザインタフェースオブジェクト7208の移動を伴って)再構成されるという点で、図7Aに示されるシナリオとは全く異なるシナリオを示す。
図7B(a-1)~7B(a-4)のシーケンスに示されるように、手首フリックジェスチャが手7200によって提供される一方、ユーザインタフェースオブジェクト7208は現在選択されている状態にある。この実施例では、手首フリックジェスチャは、現在選択されているユーザインタフェースオブジェクトを再構成モードに入らせる所定の再構成ジェスチャである。いくつかの実施形態では、手首フリックジェスチャを検出することは、人差し指の側部上の親指のタッチダウン、続いて手首の周りの手の上方回転を検出することを含む。任意選択的に、手首フリックジェスチャの終了時に、親指は人差し指の側部から持ち上げられる。ユーザインタフェースオブジェクト7208が選択されている間に、(例えば、前の入力によって、又はユーザインタフェースオブジェクト7208に焦点を当てた視線入力によって)手首フリックジェスチャを検出したことに応答して、コンピュータシステム(例えば、デバイス7100)はユーザインタフェースオブジェクト7208の再構成モードをアクティブ化する。コンピュータシステムはまた、ユーザインタフェースオブジェクト7208が現在再構成モードにあることをユーザに知らせる視覚的インジケーションを表示する。いくつかの実施形態では、図7B(b-3)に示されるように、ユーザインタフェースオブジェクトは、元の位置から取り外され、任意選択的に、改変された外観(例えば、半透明になる、拡大される、及び/又は浮くなど)で表示されて、ユーザインタフェースオブジェクト7208が再構成モードにあることを示す。いくつかの実施形態では、再構成ジェスチャの終了後、ユーザインタフェースオブジェクト7208は再構成モードに留まり、視覚的インジケーションは三次元環境に表示されたままである。いくつかの実施形態では、コンピュータシステムは、任意選択的に、他のユーザ入力に応答し、他のユーザ入力に従って三次元環境との相互作用を提供する一方、ユーザインタフェースオブジェクト7208は、再構成モードに留まる(例えば、改変された外観で元の位置に浮かんでいる)。いくつかの実施形態では、コンピュータシステムは、任意選択的に、ユーザインタフェースオブジェクト7208が再構成モードに留まっている間、ユーザが第2の手首フリックジェスチャを使用して、別の現在選択されているユーザインタフェースオブジェクト(例えば、ユーザが、任意選択的に、視線又はタップ入力で別のオブジェクトを選択する)を再構成モードに入らせることを可能にする。いくつかの実施形態では、コンピュータシステムは、1つ以上のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7208)が再構成モードに留まる間、再構成モードにおいてユーザインタフェースオブジェクトを移動させる又はユーザインタフェースオブジェクトと相互作用することなく、ユーザが目をそらす、又は三次元環境の他の部分までナビゲートすることを可能にする。いくつかの実施形態では、図7A(a-4)~7A(a-5)に示されるものとは対照的に、(例えば、手の親指が人差し指の側部にタッチした後、手7200が横方向に移動することによって実行される)後続のドラッグジェスチャにより、(例えば、図7B(a-5)~7B(a-6)に示すように)再構成モードのユーザインタフェースオブジェクト7208は、手移動に従って三次元環境内の現在位置から別の位置に移動することができる。いくつかの実施形態では、ドラッグジェスチャに従ってユーザインタフェースオブジェクト7208を移動させることは、ユーザインタフェースオブジェクトを再構成モードから出させない。ユーザインタフェースオブジェクト7208が再構成モードに留まる間、1つ以上の追加のドラッグジェスチャが任意選択的に使用されて、三次元環境においてユーザインタフェースオブジェクト7208を再配置する。いくつかの実施形態では、所定の終了ジェスチャ(例えば、下方の手首フリックジェスチャ(例えば、ドラッグジェスチャの終了時に実行される下方の手首フリックジェスチャ、又は別のジェスチャの一部ではない独立した下方の手首フリックジェスチャ)は、ユーザインタフェースオブジェクト7208を再構成モードから出させる。いくつかの実施形態では、いったんユーザインタフェースオブジェクト7208が再構成モードを出ると、その外観が元の状態に復元され、再構成モード中にユーザインタフェースオブジェクトに向けられたドラッグ入力(単数又は複数)によって指定された目的位置に落ち着く。
図7B(a-1)-7B(a-2)に続く図7B(a-5)~7B(a-6)のシーケンスに示されるように、手7200によって提供される手首フリックジェスチャは、手7200によって提供されるドラッグジェスチャで終了する複合ジェスチャの開始部分である。手首フリックジェスチャは、ユーザインタフェースオブジェクト7208が現在選択されている状態にある間に検出される。この実施例では、手首フリックジェスチャは、現在選択されているユーザインタフェースオブジェクトを再構成モードに入らせ、ドラッグジェスチャの移動に従って別の位置に移動させる。いくつかの実施形態では、ユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7208)が再構成モードに入った後、ユーザインタフェースオブジェクトは、任意選択的に、ドラッグ入力による環境内の1つの位置から別の位置への移動後に、再構成モードに留まる。
いくつかの実施形態では、他のタイプのジェスチャが、任意選択的に、現在選択されているユーザインタフェースオブジェクトの再構成モードをアクティブ化するための再構成ジェスチャとして使用される。いくつかの実施形態では、所定のジェスチャは、三次元環境内のそれぞれのクラスのユーザインタフェースオブジェクトの再構成モードをアクティブ化して(例えば、同じクラス(例えば、アプリケーションアイコンのクラス、コンテンツアイテムのクラス、物理的オブジェクトを表すオブジェクトのクラスなど)の複数のユーザインタフェースオブジェクトを再構成モードに入らせて)、それぞれのクラスのユーザインタフェースオブジェクトを、後続の移動入力(例えば、ドラッグ入力)に従って三次元環境内で個別に又は同期して移動させることを可能にするように構成される。いくつかの実施形態では、コンピュータシステムは、(例えば、前の入力又は視線入力によって)ユーザインタフェースオブジェクトが選択されている間に(例えば、指又はコントローラ上の)タップ入力を検出したことに応答して、ユーザインタフェースオブジェクトの再構成モードをアクティブ化する。いくつかの実施形態では、コンピュータシステムは、(例えば、前の入力又は視線入力によって)ユーザインタフェースオブジェクトが選択されている間に(例えば、指又はコントローラ上の)スワイプ入力を検出したことに応答して、ユーザインタフェースオブジェクトの再構成モードをアクティブ化する。
いくつかの実施形態では、ユーザインタフェースオブジェクトが再構成モードにある間、コンピュータシステムは、ユーザの視線又は指の移動に続く視覚的インジケータ(例えば、ユーザインタフェースオブジェクトの影画像又は半透明画像)を表示して、三次元環境内のユーザインタフェースオブジェクトの目的位置を明示する。後続のコミットメント入力(例えば、下方の手首フリックジェスチャ又は指若しくはコントローラ上のタップ入力)を検出したことに応答して、コンピュータシステムは、視覚的インジケータの現在位置にユーザインタフェースオブジェクトを配置する。
いくつかの実施形態では、図7A及び図7Bに示されるドラッグ入力は、対応する機能を実行させるための指又はコントローラ上のスワイプ入力によって置き換えられる。
いくつかの実施形態では、三次元環境内のユーザインタフェースオブジェクトの移動は、現実世界内の物理的オブジェクトの移動を模倣し、三次元環境内の仮想面及び物理面によって制約される。例えば、仮想オブジェクトが再構成モードにある間に、仮想オブジェクトがドラッグ入力に応答して移動されると、仮想オブジェクトは、三次元環境に表される物理面を横切って摺動し、任意選択的に、三次元環境内の仮想面も横切って摺動する。いくつかの実施形態では、ユーザインタフェースオブジェクトは、三次元環境内に表される物理面間で切り替わるときに飛び上がる。
いくつかの実施形態では、コンピュータシステムは、ユーザインタフェースオブジェクトが再構成モードにある間に、オーディオ出力(例えば、連続又は1つ以上の離散のオーディオ出力)を任意選択的に生成する。
図7C~図7Fは、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、物理的オブジェクトと仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法を示すブロック図である。図7C~7Fは、図9の処理を含む、後述の処理を例示するために使用される。
図7D~7Fは、図7Cに示す物理的環境に対応する例示的なコンピュータ生成環境を示す。図7D~7Fを参照して本明細書に記載されるように、いくつかの実施形態によると、コンピュータ生成環境は、任意選択的に、物理的環境のカメラビューを含む拡張現実環境、又はコンピュータ生成環境がディスプレイの透明部分を通じて可視である物理的環境のビュー上に重ね合わされるようにディスプレイ上に表示されるコンピュータ生成環境であってもよい。図7Cに示すように、ユーザ7302は、コンピュータシステム(例えば、コンピュータシステム101)を動作させる物理的環境(例えば、シーン105)に立っている(例えば、デバイス7100を保持している又はHMDを着用している。いくつかの実施形態では、図7C~7Fに示される実施例のように、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイやヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表し、任意選択的に置き換えられる。いくつかの実施形態では、物理的環境は、ユーザ7302を取り囲む1つ以上の物理面及び物理的オブジェクト(例えば、部屋の壁、(例えば、前壁7304及び側壁7306)、床7308、及び家具7310)を含む。いくつかの実施形態では、環境内の物理的オブジェクトの1つ以上の物理面(例えば、家具7310の前面8312)は、コンピュータシステムの表示生成コンポーネントを通じて(例えば、デバイス7100のディスプレイ上又はHMDを介して)可視である。
図7D~7Fに示される実施例では、物理的環境(例えば、デバイス7100の1つ以上のカメラの視野内にある、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的環境の部分)に対応するコンピュータ生成三次元環境が、デバイス7100に表示される。物理的環境は、コンピュータシステムの表示生成コンポーネントによって示されるコンピュータ生成三次元環境に対応する表現を有する物理的オブジェクトを含む。例えば、ディスプレイ上に示されるコンピュータ生成環境において、前壁7304は前壁表現7304’によって表され、側壁7306は側壁表現7306’によって表され、床7308は床表現7308’によって表され、家具7310は家具表現7310’によって表され、家具7310の前面7312は前面表現7312’によって表される(例えば、コンピュータ生成環境は、デバイス7100の1つ以上のカメラのライブビューの一部である物理的オブジェクト、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的オブジェクトの表現7304’、7306’、7308’、7310’及び7312’を含む拡張現実環境である)。いくつかの実施形態では、ディスプレイ上に示されるコンピュータ生成環境はまた、仮想オブジェクトを含む。いくつかの実施形態によると、デバイス7100の物理的環境に対する視野が変化するにつれ(例えば、デバイス7100又はデバイス7100の1つ以上のカメラの物理的環境に対する視野角が、物理的環境内のデバイス7100の移動及び/又は回転に応答して変化するにつれ)、それに応じて、デバイス7100上に表示されるコンピュータ生成環境の視野が変化する(例えば、物理面及び物理的オブジェクト(例えば、壁、床、家具など)の視野の変化を含む)。
図7Eに示すように、第1の仮想オブジェクト(例えば、仮想窓7332)は、例えば、三次元環境に仮想コンテンツを追加するユーザ入力に応答して、第1の位置(例えば、物理的環境内の側壁7306上の位置に対応する三次元環境内の位置)に表示される。第1の仮想オブジェクト(例えば、仮想窓7332)は、他の物理的オブジェクト(例えば、前壁7304、家具7310、物理面7312、及び床7308)に対する側壁7306間のそれぞれの空間関係によって決定される、三次元環境内の物理的オブジェクトの表現(例えば、前壁表現7304’、家具表現7310’、物理面表現7312’、及び床表現7308’)に対するそれぞれの空間関係を有する。図7Eに示されるように、第1の仮想オブジェクト(例えば、仮想窓7332)は、第1の外観(例えば、第1の仮想オブジェクトの第1の部分7332-b及び7332-cの第1の輝度値及び/又は色値、並びに第2の部分7332-a及び7332ーdの第2の輝度値及び/又は色値を有する)で表示される。いくつかの実施形態では、第1の仮想オブジェクトの様々な部分内の表示特性のこれらの内部変形は、外部要因、所定条件、又は時間で変化し得る第1の仮想オブジェクトに示されるコンテンツを反映している。
図7Eに示されるように、コンピュータシステムは、仮想オブジェクト7332の様々な部分から放射される仮想光に基づいて、三次元環境内の物理的オブジェクトの表現上に模倣照明パターンを生成する。いくつかの実施形態によると、模倣照明パターンは、三次元環境内の仮想オブジェクトと物理的オブジェクトの表現との相対的空間位置、並びに仮想及び物理的オブジェクトの物理的特性(例えば、表面形状、テクスチャ、及び光学特性など)に従って生成される。図7Eに示すように、物理的オブジェクトの表現上で生成された照明パターンは、模倣物理的光伝搬原理を観察する。例えば、物理的オブジェクトの表現(例えば、表現7304’、7310’、7312’、及び7308’)上の照明パターン(例えば、照明パターン7334、7336、及び7340)の形状、輝度、色、色相などは、側壁7306上の仮想窓7332と同様の特性の実際の窓によって成されたであろう物理的オブジェクト(例えば、物理的オブジェクト/表面7304、7310、7312、及び7308)上の照明パターンを模倣している。
図7Eに示されるように、いくつかの実施形態では、コンピュータシステムは、第1の仮想オブジェクト7332の第1の部分7332-b及び7332-cの輝度及び色値に従って、三次元シーン内の前壁表現7304’の第1の部分7334-b及び7334-cの視覚的外観(例えば、輝度及び色値)を修正することによって、前壁7304の模倣照明パターン7334を生成する。同様に、コンピュータシステムは、第1の仮想オブジェクト7332の第1の部分7332-b及び7332-cの輝度及び色値に従って、三次元シーン内の物理面表現7312’の第1の部分7336-b及び7336-cの視覚的外観(例えば、輝度及び色値)を修正することによって、物理面7312の模倣照明パターン7336を生成する。同様に、コンピュータシステムは、第1の仮想オブジェクト7332の第1の部分7332-b及び7332-cの輝度及び色値に従って、三次元シーンの床表現7308’の第1の部分7340-b及び7340-cの視覚的外観(例えば、輝度及び色値)を修正することによって、床7308の模倣照明パターン7340を生成する。
図7Eに示されるように、物理面の第1の部分の視覚的外観及び物理面の第2の部分の視覚的外観は、例えば、第1の仮想オブジェクトと様々な物理面との間の模倣空間関係、仮想オブジェクトと様々な物理面の現実の及び模倣物理的特性、並びに第1の仮想オブジェクトの様々な部分における輝度及び色値の差異に従って、異なって修正される。
図7Eに示されるように、物理的環境内の物理面(例えば、前壁7304、家具7310の物理面7312、及び床7308)の位置に対応する三次元環境内の位置に模倣照明パターン7334、7336、及び7340を追加することに加えて、コンピュータシステムはまた、仮想オブジェクト7332(例えば、側壁7306上の実際の窓)の同じ位置及び特性で実際の光源によって照らされた場合に家具7310によって投じられたであろう(例えば、床7308上の)実際の影の位置に対応する(例えば、床表現7338’上の)三次元環境内の位置に模倣影7338を生成する。
図7Fは、図7Eと比較して、仮想オブジェクトの様々な部分の動的変化が、物理的環境の様々な部分の表現に異なる影響を与えることを示す。例えば、第1の仮想オブジェクトのサイズ及び内部コンテンツは、図7Eでは図7Fに示されるものから変化している。ここで、第1の仮想オブジェクトは仮想オブジェクト7332’として表されている。図7Eの第1の仮想オブジェクト7332-b及び7332-cの第1の部分は、それぞれ図7Fの第1の部分7332-b’及び7332-c’になっている。図7Eの第2の部分7332-a及び7332-dは、それぞれ図7Fの第2の部分7332-a’及び7332-d’になっている。図7Fの第1の部分7332-b’及び7332-c’並びに図7Fの第2の部分7332-a’及び7332-d’の中心位置も、それぞれ図7Eに示される中心位置に対してシフトしている。その結果、側壁表現7306’上の多くの位置に関しては、第1の仮想オブジェクト7332上の対応する位置の輝度及び色値は、(例えば、図7Eに示される値から図7Fに示される値に)変化した。同様に、表現7304’、7312’、及び7308’上に投じられた照明パターン7334、7336、及び7340上の多くの位置に関しては、照明パターンの輝度及び色値もまた、(例えば、図7Eに示される値から図7Fに示される値に)変化した。例えば、側壁表現7306’上の第1の位置に関しては、第1の仮想オブジェクト(例えば、仮想窓、又は仮想動画スクリーン)上の対応する位置の輝度及び色値はそれぞれ、1から0.5に及び黄色から青色に切り替えることができ、側壁表現7306’上の第2の位置に関しては、第1の仮想オブジェクト上の対応する位置の輝度及び色値はそれぞれ、0.5から1に及び青色から黄色に切り替えることができる。いくつかの実施形態では、第1の仮想オブジェクトのサイズ変化又は第1の仮想オブジェクトの移動により、側壁表現7306’上のいくつかの位置に関しては、それらの位置に対応する輝度及び色は、第1の仮想オブジェクトがその位置に拡張又は移動したために変化する一方、側壁表現7306’上の他のいくつかの位置に関しても、それらの位置に対応する輝度及び色第1の仮想オブジェクトがそれらの位置から移動又は縮小したために変化する。更に、いくつかの実施形態では、第1の仮想オブジェクトの様々な部分から来る光の方向も、任意選択的に変化する(例えば、光方向は、時刻に従って、又は仮想窓に示される風景に従って変化する)。その結果、第1の仮想オブジェクト上の様々な位置における輝度及び色の変化は、近傍の物理面の表現上の様々な位置における照明に異なる変化を引き起こす。様々な関係が、第1の仮想オブジェクトの外観に基づいて近傍の物理面の表現の外観を修正するために使用される。
図7Fに示されるように、第1の部分7332-b’は、前壁表現7304’上に照明7334-b’をもたらすが、前面表現7312’上にいかなる照明ももたらさず、第2の部分7332-a’によってもたらされる照明7336-a’は、第1の部分7332-bによってもたらされる照明7334-bによって前にカバーされていた領域を覆う(図7E)。同様に、第2の部分7332-d’は、前壁表現7304’上に照明7334-d’をもたらすが、前面表現7312’上にいかなる照明ももたらさず、第1の部分7332-c’によってもたらされる照明7336-c’は、第2の部分7332-dによってもたらされる照明7334-dによって前にカバーされていた領域を覆う(図7E)。同様に、前壁表現7304’では、第1の部分7332-cによってもたらされる照明7334-c及び第2の部分7332-aによってもたらされる照明7334-aによって前にカバーされていたいくつかの部分は、もはやどの照明によってもカバーされていない。同様に、床表現7308’では、第1の仮想オブジェクトが収縮しているため、第1の部分7332-cによってもたらされる照明7334-c及び第2の部分7332-aによってもたらされる照明7334-aによって前にカバーされていたいくつかの部分は、もはやどの照明によってもカバーされていない。ここで、より高い照明によって前にカバーされていた床表現7308’上のいくつかの位置は、より低い照明によってカバーされ、ここで、下部照明によって前にカバーされていた床表現7308’上の他の位置は、より高い照明によってカバーされる。図7Fでは、床表現7308’上に投じられた影7338はまた、第1の仮想オブジェクト7332のサイズの縮小により照明量が低減されるため、図7Eの影7308よりも暗く見える。
いくつかの実施形態では、第1の仮想オブジェクトは、仮想風景を示す仮想窓である。仮想窓から放射される光は、仮想窓に示される仮想風景に基づく。いくつかの実施形態では、仮想窓は、(例えば、窓と物理面との間の空間関係、物理面の物理的特性、及び物理的光伝搬原理に基づいて)実際の窓からの光が近傍の物理面をどのように照らすかを模倣するように、三次元環境の近傍の物理面の表現上に照明パターンを投じる。いくつかの実施形態では、仮想窓に表示される仮想風景は、時刻、風景の位置、及び仮想窓のサイズなどのパラメータに基づいて変化する。
いくつかの実施形態では、第1の仮想オブジェクトは、動画を示す仮想スクリーン又はホログラムである。動画再生が進行すると、動画内のシーンが変化するにつれて、仮想スクリーン又はホログラムから放射される仮想光が変化する。いくつかの実施形態では、仮想スクリーン又はホログラムは、(例えば、スクリーン又はホログラムと物理面との間の空間関係、物理面の物理的特性、及び物理的光伝搬原理に基づいて)実際の動画スクリーン又はホログラムからの光が近傍の物理面をどのように照らすかを模倣するように、三次元環境の近傍の物理面の表現上に照明パターンを投じる。
いくつかの実施形態では、第1の仮想オブジェクトは仮想アシスタントであり、仮想アシスタントから放射される光は、ユーザと仮想アシスタントとの間の異なる相互作用モード中に変化する。例えば、仮想アシスタントの視覚的表現は、最初にユーザによってアクティブ化されたときに第1の色及び強度を有し、質問する又は質問に応答するときに異なる色に変化し、タスクを実行する又はタスクの完了若しくはユーザからの回答を待つときに異なる色に変更する。いくつかの実施形態では、仮想アシスタントは、(例えば、光源と物理面との間の空間関係、物理面の物理的特性、及び物理的光伝搬原理に基づいて)実際の光源からの光が近傍の物理面をどのように照らすかを模倣するように、三次元環境の近傍の物理面の表現上に照明パターンを投じる。仮想アシスタントの視覚的表現が、三次元環境内の近傍の物理的オブジェクト及び仮想オブジェクトの外観にどのように影響するかについての追加の態様は、図7S~7X及び図12を参照して説明する。
いくつかの実施形態では、コンピュータシステムはまた、物理面近傍の仮想オブジェクトから放射される光に基づいて、物理面の表現上に仮想反射及び仮想影を生成する。
図7G~図7Lは、いくつかの実施形態による、コンピュータ生成三次元環境を生成し、三次元環境とのユーザ相互作用を容易にする(例えば、ユーザ入力に基づいてコンピュータ生成体験の没入度を徐々に調節することを含む)方法を示すブロック図である。図7G~7Lは、図10の処理を含む、後述の処理を例示するために使用される。
図7Gは、物理的環境に対応する例示的なコンピュータ生成環境を示す。図7Gを参照して本明細書に記載されるように、コンピュータ生成環境は、ディスプレイ上に表示される拡張現実環境又はコンピュータ生成環境であってもよく、コンピュータ生成環境は、ディスプレイの透明部分を通じて可視である物理的環境のビュー上に重ね合わされる。図7Gに示すように、ユーザ7302は、コンピュータシステム(例えば、コンピュータシステム101)を動作させる物理的環境(例えば、シーン105)に存在している(例えば、デバイス7100を保持している又はHMDを着用している)。いくつかの実施形態では、図7Gに示される実施例のように、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイやヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表し、任意選択的に置き換えられる。いくつかの実施形態では、物理的環境は、ユーザを取り囲む1つ以上の物理面及び物理的オブジェクト(例えば、部屋の壁(前壁表現7304’、側壁表現7306’によって表される)、床(例えば、床表現7308’によって表される)、家具(例えば、家具表現7310によって表される)、及び家具の物理面7312(例えば、物理面表現7312’で表される))を含む。
図7G~7Lに示される実施例では、物理的環境(例えば、デバイス7100の1つ以上のカメラの視野内にある、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的環境の部分)に対応するコンピュータ生成三次元環境が、デバイス7100に表示される。デバイス7100上に示されるコンピュータ生成環境は三次元環境であり、いくつかの実施形態によると、デバイス7100の物理的環境に対する視点が変化するにつれ(例えば、デバイス7100又はデバイス7100の1つ以上のカメラの物理的環境に対する視野角が、物理的環境内のデバイス7100の移動及び/又は回転に応答して変化するにつれ)、それに応じて、デバイス7100上に表示されるコンピュータ生成環境の視点が変化する(例えば、物理面及び物理的オブジェクト(例えば、壁、床、家具など)の視点の変化を含む)。
図7Gに示されるように、最初に、三次元環境は、前壁7304、側壁7306、床7308、及び家具7310の表現を含む、第1のセットの物理的要素と共に示される。任意選択的に、三次元環境は、第1の量の仮想要素を含んでもよい。例えば、三次元環境が最初に表示されるとき、又はコンピュータシステムの表示生成コンポーネントが最初にオンにされる又はユーザの頭部に又はユーザの目の前に着用されるとき、三次元環境において仮想要素は表示されない、又は最小量の仮想要素しか表示されない。これにより、表示生成コンポーネントがユーザの目を遮断することなく、ユーザは、現実世界の直接ビューと非常に類似している三次元環境のビューから開始することができる。
図7G及び図7Hに示されるように、コンピュータシステムは、三次元環境の没入度を上昇させる第1の所定のジェスチャ入力(例えば、表示生成コンポーネント上の表現7200’によって表される、手7200によって実行される親指フリックジェスチャ又はスワイプジェスチャ、空中での上方ウェーブジェスチャ、コントローラ上のスワイプジェスチャなど)を検出する。第1の所定のジェスチャを検出したことに応答して、コンピュータシステムは、三次元環境内の前壁7304のビューを遮断する仮想要素7402(例えば、仮想風景又は仮想窓)を表示する(例えば、仮想要素7402が、ディスプレイ上の前壁7304の表現7304’の表示に置き換わる、又は仮想要素7402が、ディスプレイの以前透明だった部分(現在、仮想要素7402を表示している部分)を介した前壁7304のビューを遮断する位置に表示される)。いくつかの実施形態では、図7Hに示されるように、前壁7304のビューが仮想要素7402の表示によって遮断されても、前壁7304の前にある家具7310のビューは影響を受けない。言い換えれば、第1の所定のジェスチャにより、第1のクラスの物理的オブジェクト又は物理面(例えば、前壁)は、新たに表示された仮想要素又は既存の仮想要素の新たに表示された部分によって置換又は遮断される。いくつかの実施形態では、アニメーション移行が表示されて、徐々に拡大して(例えば、図7Hに示される)、又はより不透明で飽和されて、前壁7304のビューを覆う又は遮断する(例えば、三次元環境内で表現7304’に置き換わる)仮想要素7402を示す。
いくつかの実施形態では、第1の所定のジェスチャに応答して、コンピュータシステムはまた、任意選択的に、全クラスの物理的要素を置き換えることなく、別の仮想要素(例えば、仮想オブジェクト7404)を三次元環境に追加する。仮想オブジェクト7404は、任意選択的に、メニュー(例えば、アプリケーションのメニュー、文書など)、コントロール(例えば、ディスプレイ輝度コントロール、ディスプレイ焦点コントロールなど)、又はユーザ入力によって操作することができる、又は三次元環境に情報若しくはフィードバックを提供するその他のオブジェクト(例えば、仮想アシスタント、文書、メディアアイテムなど)などのユーザインタフェースオブジェクトである。いくつかの実施形態では、図7Iに示されるように、仮想オブジェクト7404は、入力焦点を得ることなく、及び/又は三次元環境に特別に挿入される(例えば、メニューからドラッグされる、又は描画ツールによって描画される)ことなく、三次元環境に追加される(例えば、床7308の一部を遮断するか、又は床表現7308’の一部を置き換える)。いくつかの実施形態では、コンピュータシステムは、三次元環境に現在提供されているユーザインタフェースを使用して、ユーザにそれぞれの仮想要素を三次元環境に個別に導入することを可能にする(例えば、新しい家具を追加する、部屋に仮想紙吹雪を投げ入れるなど)が、このタイプの入力は、三次元環境の没入度を変化させず、単一アクションで全クラスの物理的要素のビューを置き換えない。
図7Hに続く図7Iは、前壁7304が仮想要素7402によって完全に遮断又は置換されていることを示す。前壁7304の前にある家具7310のビューは、三次元環境内に依然として示されている。仮想要素7404は、床表現7308’の一部を遮断する。側壁7306の表現7306’及び床7308の表現7308’は、仮想要素7402及び7404が第1の所定のジェスチャ入力に応答して三次元環境に追加された後、三次元環境において可視である。
図7I及び図7Jに示されるように、コンピュータシステムは、(例えば、図7Gに示される)第1の所定のジェスチャ入力を検出した後、三次元環境の没入度を高めるための第2の所定のジェスチャ入力(例えば、表示生成コンポーネント上の表現7200’によって表される手7200によって実行される親指フリックジェスチャ又はスワイプジェスチャ、コントローラ上のスワイプジェスチャなど)を検出する。第2の所定のジェスチャを検出したことに応答して、コンピュータシステムは、三次元環境内の前壁7304のビューを遮断する仮想要素7402(例えば、仮想風景、又は仮想窓)の表示を維持し、仮想要素7406を表示する。仮想要素7406は、三次元環境内の側壁7306のビューを遮断する(例えば、仮想要素7406は、ディスプレイ上の側壁7306の表現7306’の表示と置き換わる、又は仮想要素7406は、ディスプレイの以前透明であった部分(例えば、今は仮想要素7406を表示している部分)を介した側壁7306のビューを遮断する位置に表示される。図7I~図7Jでは、第2の所定のジェスチャにより、追加のクラスの物理的オブジェクト又は表面(例えば、側壁)が、新たに表示された仮想要素又は既存の仮想要素の新たに表示された部分によって置換又は遮断される。いくつかの実施形態では、アニメーション移行が表示されて、仮想要素7406が徐々に拡大し又はより不透明になり、側壁7306のビューを覆う又は遮断する(例えば、三次元環境で表現7306’と置き換わる)。
図7Jに続く図7Kは、前壁7304及び側壁7306が仮想要素7402及び7406によって完全に遮断又は置換されていることを示す。前壁7304の前にある家具7310のビューは、三次元環境内に依然として示されている。仮想要素7404は、床表現7308’の一部を遮断する。仮想要素7402、7404、及び7406が、第1及び第2の所定のジェスチャ入力に応答して三次元環境に追加された後、床7308の表現7308’は三次元環境において依然として可視である。
図7K及び図7Lに示されるように、コンピュータシステムは、(例えば、図7G及び7Iに示される)第1及び第2の所定のジェスチャ入力を検出した後、三次元環境の没入度を高めるための第3の所定のジェスチャ入力(例えば、表示生成コンポーネント上の表現7200’によって表される手7200によって実行される親指フリックジェスチャ又はスワイプジェスチャ、コントローラ上のスワイプジェスチャなど)を検出する。第3の所定のジェスチャ入力を検出したことに応答して、コンピュータシステムは、三次元環境内の前壁7304及び側壁7306のビューを遮断する仮想要素7402及び7406(例えば、仮想風景又は仮想窓)の表示を維持し、仮想要素7408及び7410を表示する。仮想要素7408は、三次元環境内の床7308のビューを遮断する(例えば、仮想要素7408は、ディスプレイ上の床7308の表現7308’の表示と置き換わる、又は仮想要素7408は、ディスプレイの以前透明であった部分(例えば、今は仮想要素7408を表示している部分)を介した床7306のビューを遮断する位置に表示される。図7K~図7Lでは、第3の所定のジェスチャにより、追加のクラスの物理的オブジェクト又は表面(例えば、床)が、新たに表示された仮想要素又は既存の仮想要素の新たに表示された部分によって置換又は遮断される。いくつかの実施形態では、アニメーション移行が表示されて、仮想要素7408が徐々に拡大し又はより不透明になり、床7308のビューを覆う又は遮断する(例えば、三次元環境で表現7308’と置き換わる)。
いくつかの実施形態では、第3の所定のジェスチャに応答して、コンピュータシステムはまた、任意選択的に、全クラスの物理的要素を置き換えることなく、別の仮想要素(例えば、仮想要素7410)を三次元環境に追加する。仮想要素7410は、任意選択的に、メニュー(例えば、アプリケーションのメニュー、文書など)、コントロール(例えば、ディスプレイ輝度コントロール、ディスプレイ焦点コントロールなど)、又はユーザ入力によって操作することができる、又は三次元環境に情報若しくはフィードバックを提供するその他のオブジェクト(例えば、仮想アシスタント、文書、メディアアイテムなど)、又は物理的オブジェクトの外観を変化させるテクスチャ(例えば、装飾特徴、写真など)などのユーザインタフェースオブジェクトである。いくつかの実施形態では、図7Lに示されるように、仮想オブジェクト7410は、三次元環境に追加される(例えば、家具7310の前面7312の一部に重なる、又は物理面表現7312’の一部に置き換わる)。
いくつかの実施形態では、三次元環境の没入度を高めるための所定のジェスチャタイプの連続入力ジェスチャの後、追加量の仮想要素が任意選択的に三次元環境に導入されて、三次元環境において以前に可視であった追加クラスの物理的要素のビューを置換又は遮断する。いくつかの実施形態では、三次元環境の全体が仮想要素で置き換えられ、物理世界へのビューは、三次元環境内で仮想要素のビューによって完全に置き換えられる。
いくつかの実施形態では、仮想要素7402及び7406はそれぞれ、前壁表現7304’及び側壁表現7306’の対応する部分の代わりに表示される仮想窓である。いくつかの実施形態では、仮想窓から放射される光は、三次元環境内で依然として可視である又は表される物理面(例えば、床又は家具)上に、模倣照明パターンを投じる。いくつかの実施形態による、周囲の物理面上の仮想要素からの光の影響の追加の詳細は、図7C~7F及び図9を参照して説明する。
いくつかの実施形態では、仮想要素7402及び7406のコンテンツ又は外観(例えば、仮想窓又は仮想スクリーン)は、追加のジェスチャ入力(例えば、空中での手の水平スワイプ、又は指の周りの所定方向へのスワイプ)に応答して変化する。いくつかの実施形態では、仮想要素のサイズ、仮想要素内に表示される仮想風景の位置、仮想要素内に表示されるメディアアイテムなどは、追加のジェスチャ入力に応答して変化する。
いくつかの実施形態では、三次元環境の没入度を上昇又は低下させるためのジェスチャ入力は、反対方向の垂直スワイプジェスチャである(例えば、没入度/仮想要素の量を上昇させるためには上方、及び没入度/仮想要素の量を減少させるためには下方)。いくつかの実施形態では、仮想要素のコンテンツを変更するためのジェスチャは、水平スワイプジェスチャである(例えば、水平スワイプジェスチャは、仮想要素に表示されるコンテンツを、複数の位置又は時刻を通って後方及び/又は前方に切り替える)。
いくつかの実施形態では、三次元環境の没入度を上昇させるための第1の所定のジェスチャ入力、第2の所定のジェスチャ入力、及び第3の所定のジェスチャ入力のシーケンスは、任意選択的に、1つの連続入力によって置き換えられて複数の没入度に変化させる。連続入力の各連続部分は、いくつかの実施形態による、図7G~図7Lに示される第1、第2、及び第3の所定のジェスチャ入力のそれぞれの入力に対応する。
いくつかの実施形態では、床7308又は床表現7308’は、壁などの他の物理面が仮想要素によって置換される又は重ね合わされる場合でも、三次元環境において常に可視のままである。これは、物理的世界を歩き回ることによって三次元環境内をナビゲートするときに、ユーザが安全を感じ転ばないように確保するのに役立つ。
いくつかの実施形態では、いくつかの家具又は家具表面の一部は、壁及び床などの他の物理面が仮想要素によって置換される又は重ね合わされる場合でも常に可視のままである。これは、ユーザが三次元環境に没入したときに、環境との違和感のない関係を維持するように確保するのに役立つ。
本実施例によると、図7G、7I、及び7Kでは、手7200の表現7200’が、コンピュータ生成環境に表示される。コンピュータ生成環境は、(例えば、右手がデバイス7100の1つ以上のカメラの視野内にないため)ユーザの右手の表現を含まない。更に、いくつかの実施形態では、例えば、デバイス7100がハンドヘルドデバイスである図7Iに示される例では、ユーザは、デバイス7100に表示される物理的環境の任意の表現とは別に、周囲の物理的環境の部分を見ることができる。例えば、ユーザの手の部分は、デバイス7100のディスプレイの外側でユーザに可視である。いくつかの実施形態では、これらの例におけるデバイス7100は、周囲の物理的環境のユーザのビューを完全に遮断するディスプレイ(例えば、ヘッドマウントディスプレイ)を有するヘッドセットを表し、それに置き換えることができる。いくつかのそのような実施形態では、物理的環境はいかなる部分もユーザにとって直接視認可能ではく、その代わりに、物理的環境は、デバイスによって表示される物理的環境の部分の表現を介してユーザに可視となる。いくつかの実施形態では、ユーザの手の現在の状態がデバイスによって連続的又は定期的に監視されて、ユーザの手(単数又は複数)がジェスチャ入力を提供するための準備完了状態に入ったかどうかを判定する間、ユーザの手(単数又は複数)は、直接又はデバイス7100のディスプレイを介してユーザに不可視である。いくつかの実施形態では、デバイスは、ユーザの手が入力ジェスチャを提供するための準備完了状態にあるかどうかのインジケータを表示し、ユーザにフィードバックを提供し、ユーザに入力ジェスチャを提供することを望む場合に手の位置を調節するようにユーザに警告する。
図7M~図7Rは、いくつかの実施形態による、コンピュータ生成環境とのユーザ相互作用を容易にする(例えば、物理面との相互作用を利用してデバイスを制御する又はコンピュータ生成環境と相互作用する)方法を示すブロック図である。図7M~7Rは、図11の処理を含む、後述の処理を例示するために使用される。
図7Nは、図7Mに示す物理的環境に対応する例示的なコンピュータ生成環境を示す。図7M~7Rを参照して本明細書に記載されるように、いくつかの実施形態によると、コンピュータ生成環境は、任意選択的に、物理的環境のカメラビューを含む拡張現実環境、又はコンピュータ生成環境がディスプレイの透明部分を通じて可視である物理的環境のビュー上に重ね合わされるようにディスプレイ上に表示されるコンピュータ生成環境であってもよい。図7Mに示されるように、ユーザ7302は、コンピュータシステム(例えば、コンピュータシステム101)を動作させる物理的環境(例えば、シーン105)に立っている(例えば、デバイス7100を保持している又はHMDを着用している。いくつかの実施形態では、図7M~7Rに示される実施例のように、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイやヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表し、任意選択的に置き換えられる。いくつかの実施形態では、物理的環境は、ユーザ7302を取り囲む1つ以上の物理面及び物理的オブジェクト(例えば、部屋の壁(例えば、前壁7304、側壁7306)、床7308、及びボックス7502及び7504)(例えば、テーブル、スピーカ、ランプ、器具など)を含む。いくつかの実施形態では、環境内の物理的オブジェクトの1つ以上の物理面は、コンピュータシステムの表示生成コンポーネントを通じて(例えば、デバイス7100のディスプレイ上又はHMDを介して)可視である。
図7M~7Rに示される実施例では、物理的環境(例えば、デバイス7100の1つ以上のカメラの視野内にある、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的環境の部分)に対応するコンピュータ生成三次元環境が、デバイス7100に表示される。物理的環境は、コンピュータシステムの表示生成コンポーネントによって示されるコンピュータ生成三次元環境に対応する表現を有する物理的オブジェクトを含む。例えば、前壁7304は、前壁表現7304’によって表され、側壁7306は、側壁表現7306’によって表され、床7308は、床表現7308’によって表され、ボックス7502及び7504は、ディスプレイ上に示されるコンピュータ生成環境においてボックス表現7502’及び7504’によって表されている(例えば、コンピュータ生成環境は、デバイス7100の1つ以上のカメラのライブビューの一部としての物理的オブジェクト、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的オブジェクトの表現7304’、7306’、7308’、7502’、及び7504’を含む拡張現実環境である)。いくつかの実施形態では、ディスプレイ上に示されるコンピュータ生成環境はまた、仮想オブジェクトを含む。いくつかの実施形態によると、デバイス7100の物理的環境に対する視野が変化するにつれ(例えば、デバイス7100又はデバイス7100の1つ以上のカメラの物理的環境に対する視野角が、物理的環境内のデバイス7100の移動及び/又は回転に応答して変化するにつれ)、それに応じて、デバイス7100上に表示されるコンピュータ生成環境の視野が変化する(例えば、物理面及び物理的オブジェクト(例えば、壁、床、家具など)の視野の変化を含む)。
いくつかの実施形態では、ユーザ7302と三次元環境との間の相互作用レベルが第1の所定のレベルを下回る場合(例えば、ユーザは、三次元環境内の特定の位置に焦点を合わせることなく単に三次元環境を見ている)、コンピュータシステムは、図7Nに示すように、ボックス7502及び7504の表現7502’及び7504が任意の対応するユーザインタフェース又は仮想オブジェクトと共に表示されない、三次元環境の初期状態を表示する。
図7O及び7Pでは、コンピュータシステムは、ユーザと三次元環境との間の相互作用のレベルが第1の所定のレベルを超えて上昇したことを検出する。特に、図7Oでは、視線入力が、同時ジェスチャ入力又はジェスチャ入力が提供されようとしているというインジケーションを伴わずに、ボックス7502の表現7502’(例えば、スピーカ又はテーブルトップ)上で検出される(例えば、ユーザの手は、ジェスチャ入力を提供するための準備完了状態にない)。三次元環境内のボックス7502の表現7502’上の視線入力を検出したことに応答して、コンピュータシステムは、ユーザとボックス7502又は表現7502’との間の相互作用のレベルが第1の所定のレベルに達した(しかし、第1の所定のレベルを超える第2の所定のレベルには達していない)と判定する。ボックス7502又は表現7502’との相互作用のレベルが第1の所定のレベルに達したと判定したことに応答して、コンピュータシステムは、物理的環境内のボックス7502の位置に対応する三次元環境内の位置に、ボックス7502に対応する第1のユーザインタフェース7510を表示する。例えば、図7Oに示されるように、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7506及び7508)が、ボックス7502の上面に重なって、又は表現7502’の一部に置き換わって見えるように表示される。いくつかの実施形態では、ボックス7502はテーブルであり、ユーザインタフェースオブジェクト7506及び7508は、仮想新聞、仮想スクリーン、アプリケーション又は通信チャネルからの通知、キーボード及びディスプレイ、スケッチパッドなどのうちの1つ以上を含む。いくつかの実施形態では、ボックス7502はスピーカであり、ユーザインタフェースオブジェクト7506及び7508は、ボリュームインジケータ、再生/休止コントロール、現在再生されている歌/アルバムの名称、今日の天気などを含む。いくつかの実施形態では、ボックス7502はスマートランプ又は機器であり、ユーザインタフェースオブジェクト7506及び7508は、輝度又は温度コントロール、開始/停止又はオン/オフボタン、タイマなどのうちの1つ以上を含む。
図7Pでは、視線入力は、同時ジェスチャ入力又はジェスチャ入力が提供されようとしているというインジケーションを伴わずに(例えば、ユーザの手がジェスチャ入力を提供するための準備完了状態にない)、ボックス7502の表現7502’(例えば、テーブルトップ、スピーカ、スマートランプ又は機器)からボックス7504の表現7504’(例えば、スマート医薬品棚)に移っている。視線入力が三次元環境内でボックス7502の表現7502’からボックス7504の表現7504’まで移ったことを検出したことに応答して、コンピュータシステムは、ユーザとボックス7504又は表現7504’との間の相互作用のレベルが第1の所定のレベルに達した(しかし、第1の所定のレベルを上回る第2の所定のレベルには達していない)、又はユーザとボックス7502又は表現7502’との間の相互作用のレベルが第1の所定のレベル未満に低下したと判定する。ユーザとボックス7502又は表現7502’との間の相互作用のレベルが第1の所定のレベル未満に低下したとの判定に従って、コンピュータシステムは、ボックス7502に対応する第1のユーザインタフェース7510の表示を停止する。ボックス7504又は表現7504’に対する相互作用のレベルが第1の所定のレベルに達したと判定したことに応答して、コンピュータシステムは、物理的環境内のボックス7504の位置に対応する三次元環境内の位置に、ボックス7504に対応する第1のユーザインタフェース7512を表示する。例えば、図7Pに示すように、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7514及び7516)は、ボックス7504の前面に重なる、又は表現7504’の一部に置き換わるように表示される。いくつかの実施形態では、ボックス7504はスマート医薬品棚であり、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7514及び7516)は、医薬品棚のステータスのうちの1つ以上(例えば、特定の医薬品又は補給品が残り少なく、補充される必要があるというインジケータ、又は今日の日付の医薬品が服用されたかどうかのリマインダ)を含む。
図7Q及び図7Rでは、コンピュータシステムは、ユーザと三次元環境との間の相互作用のレベルが第1の所定のレベルを超える第2の所定のレベルを超えて上昇したことを検出する。特に、図7Qでは、ボックス7502(例えば、スピーカ、又はテーブルトップ)の表現7502’上の視線入力を検出したことに加えて、コンピュータシステムはまた、ジェスチャ入力が提供されようとしているというインジケーションを検出する(例えば、ユーザの手が、ジェスチャ入力を提供するための準備完了状態で発見される)。ユーザとボックス7502又は表現7502’との間の相互作用レベルが第2の所定のレベルに達したと判定したことに応答して、コンピュータシステムは、任意選択的にボックス7502に対応する第1のユーザインタフェース7510の拡張バージョンである第2のユーザインタフェース7510’を表示する。ボックス7502に対応する第2のユーザインタフェース7510’は、物理的環境内のボックス7502の位置に対応する三次元環境内の位置に表示される。例えば、図7Qに示すように、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7506、7518、7520、7522、及び7524)が、ボックス7502の上面に重なって、又は表現7502’の一部に置き換わって見えるように表示される。いくつかの実施形態では、ボックス7502はテーブルであり、ユーザインタフェースオブジェクト7506、7518、7520、7522、及び7524は、第1のユーザインタフェース7510に示されるユーザインタフェースオブジェクトのうちの1つ以上、及び第1のユーザインタフェース7510に含まれない他のユーザインタフェースオブジェクトのうちの1つ以上(例えば、拡張ディスプレイ、第1のユーザインタフェース7510では利用できなかった追加キーを有するキーボード、アプリケーションアイコン及びドキュメントリストを有する仮想デスクトップなど)を含む。いくつかの実施形態では、ボックス7502はスピーカであり、ユーザインタフェースオブジェクト7506、7518、7520、7522、及び7524は、第1のユーザインタフェース7510に示されるユーザインタフェースオブジェクトのうちの1つ以上、及び第1のユーザインタフェース7510に含まれない他のユーザインタフェースオブジェクトのうちの1つ以上(例えば、出力ルーティングコントロール、閲覧可能なメディアデータベース、対応する仮想キーボードを有する検索入力フィールドなど)を含む。いくつかの実施形態では、ボックス7502はスマートランプ又は機器であり、ユーザインタフェースオブジェクト7506、7518、7520、7522、及び7524は、第1のユーザインタフェース7510に示されるユーザインタフェースオブジェクトのうちの1つ以上、及び第1のユーザインタフェース7510に含まれない他のユーザインタフェースオブジェクトのうちの1つ以上(例えば、スマートランプ又は機器、色コントロール、スケジューリングコントロールなどの各種設定)を含む。
いくつかの実施形態では、図7Qが図7Oに続き、ユーザの視線がボックス7502に焦点が合っている間に、ユーザの手が準備完了状態になったことに応答して、第2のユーザインタフェース7510’が表示される。いくつかの実施形態では、図7Qが図7Pに続き、ユーザの手が準備完了状態になり、ユーザの視線がボックス7504からボックス7502に移ったことに応答して、ユーザインタフェースが表示される(例えば、視線入力がボックス7504から離れた後、第1のユーザインタフェース7512の表示が停止される)。
図7Rでは、ユーザの手がジェスチャ入力を提供するための準備完了状態にある間、視線入力は、ボックス7502の表現7502’(例えば、テーブルトップ、スピーカ、スマートランプ又は器具)からボックス7504の表現7504’(例えば、スマート医薬品棚)に移っている。視線入力が三次元環境内でボックス7502の表現7502’からボックス7504の表現7504’まで移ったことを検出したことに応答して、コンピュータシステムは、ユーザとボックス7504又は表現7504’との間の相互作用のレベルが第2の所定のレベルに達したと判定し、ユーザとボックス7502又は表現7502’との間の相互作用のレベルが第2の所定のレベル及び第1の所定のレベル未満に低下したと判定する。ユーザとボックス7502又は表現7502’との間の相互作用のレベルが第1の所定のレベル未満に低下したとの判定に従って、コンピュータシステムは、ボックス7502に対応する第2のユーザインタフェース7510’の表示を停止する。ボックス7504又は表現7504’との相互作用のレベルが第2の所定のレベルに達したと判定したことに応答して、コンピュータシステムは、物理的環境内のボックス7504の位置に対応する三次元環境内の位置に、ボックス7504に対応する第2のユーザインタフェース7512’を表示する。例えば、図7Rに示されるように、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7514、7516、7526、7528、及び7530)が、ボックス7504の前面に重なって、又は表現7504’の一部に置き換わって見えるように表示される。いくつかの実施形態では、ボックス7504はスマート医薬品棚であり、複数のユーザインタフェースオブジェクト(例えば、ユーザインタフェースオブジェクト7514及び7516)は、第1のユーザインタフェース7510に示されるユーザインタフェースオブジェクトのうちの1つ以上、及び医薬品棚内の医薬品又は補給品のリスト、本日の医薬品用のスケジューリング設定、医薬品棚の温度及び認証設定などの第1のユーザインタフェース7510に含まれていない1つ以上の他のユーザインタフェースオブジェクトを含む。
いくつかの実施形態では、図7Rが図7Qに続き、ユーザの手が準備完了状態に維持され、ユーザの視線がボックス7502からボックス7504に移ったことに応答して、ユーザインタフェース7512が表示される(例えば、視線入力がボックス7502から離れた後、第2のユーザインタフェース7512’の表示が停止される)。いくつかの実施形態では、図7Rが図7Pに続き、ユーザの視線がボックス7504に焦点が合っている間に、ユーザの手が準備完了状態になったことに応答して、第2のユーザインタフェース7512’が表示される。いくつかの実施形態では、図7Rが図7Oに続き、ユーザの手が準備完了状態になり、ユーザの視線がボックス7502からボックス7504に移ったことに応答して、ユーザインタフェース7512’が表示される(例えば、視線入力がボックス7502から離れた後、第1のユーザインタフェース7510の表示が停止される)。
いくつかの実施形態では、コンピュータシステムが、ユーザの手が物理的オブジェクト(例えば、ボックス7502又は7504)の上方に浮かんでいる(例えば、ユーザの指と物理的オブジェクトとの間の距離が閾値距離内にある)ことを検出すると、コンピュータシステムは、相互作用の第3のレベルに達したと判定し、物理的オブジェクトに対応する第2のユーザインタフェースよりも多くの情報及び/又はユーザインタフェースオブジェクトで、物理的オブジェクト(例えば、ボックス7502又は7504)に対応する第3のユーザインタフェースを表示する。いくつかの実施形態では、ユーザの手が物理的オブジェクトから離れて移動した(例えば、ユーザの指と物理的オブジェクトとの間の距離が閾値距離を超えて増加する)ことに応答して、第3のユーザインタフェースは縮小し、物理的オブジェクトに対応する第2のユーザインタフェースに戻る。
いくつかの実施形態では、コンピュータシステムは、物理的オブジェクト(例えば、ボックス7502又は7504)上にある物理面上に提供されるタッチ入力に応答して動作を実行する。例えば、タッチ入力は、任意選択的に、物理的オブジェクト上の物理面上のタッチセンサとは対照的に、コンピュータシステムの1つ以上のカメラなどのセンサによって検出される。いくつかの実施形態では、物理面上の入力の位置は、物理的オブジェクトに対応する第1/第2/第3のユーザインタフェース内のユーザインタフェースオブジェクトの位置にマッピングされ、それにより、コンピュータシステムは、物理面上のタッチ入力の位置に従ってどの動作を実行するかを判定することができる。
いくつかの実施形態では、ユーザは、第1/第2/第3のユーザインタフェース内の視線を用いて、物理的オブジェクト(例えば、ボックス7502又は7504)に対応する第1/第2/第3のユーザインタフェース内のユーザインタフェースオブジェクトを選択する。コンピュータは、視線入力が現在選択されているユーザインタフェースオブジェクト上にある間に検出されたユーザインタフェースオブジェクトをアクティブ化するためのジェスチャ入力に応答して、現在選択されているユーザインタフェースオブジェクトに対応する動作を実行する。
いくつかの実施形態では、ユーザは、任意選択的に近傍の物理面を利用して、ユーザから遠い物理的オブジェクトを制御する。例えば、ユーザは、近傍の物理面(例えば、ユーザの手の後側又は掌ら、アームチェアのアーム、コントローラなど)上でスワイプすることができ、ユーザのジェスチャ入力は、1つ以上のセンサ(例えば、コンピュータシステムの1つ以上のカメラ)によって検出され、現在表示されている第1/第2/第3のユーザインタフェースと相互作用するために使用される。
本実施例によると、図7Q及び7Rでは、手7200の表現7200’が、コンピュータ生成環境に表示される。コンピュータ生成環境は、(例えば、右手がデバイス7100の1つ以上のカメラの視野内にないため)ユーザの右手の表現を含まない。更に、いくつかの実施形態では、例えば、デバイス7100がハンドヘルドデバイスである図7Q及び7Rに示される実施例では、ユーザは、デバイス7100に表示される物理的環境の任意の表現とは別に、周囲の物理的環境の部分を見ることができる。例えば、ユーザの手の部分は、デバイス7100のディスプレイの外側でユーザに可視である。いくつかの実施形態では、これらの例におけるデバイス7100は、周囲の物理的環境のユーザのビューを完全に遮断するディスプレイ(例えば、ヘッドマウントディスプレイ)を有するヘッドセットを表し、それに置き換えることができる。いくつかのそのような実施形態では、物理的環境はいかなる部分もユーザにとって直接視認可能ではく、その代わりに、物理的環境は、デバイスによって表示される物理的環境の部分の表現を介してユーザに可視となる。いくつかの実施形態では、ユーザの手の現在の状態がデバイスによって連続的又は定期的に監視されて、ユーザの手(単数又は複数)がジェスチャ入力を提供するための準備完了状態に入ったかどうかを判定する間、ユーザの手(単数又は複数)は、直接又はデバイス7100のディスプレイを介してユーザに不可視である。いくつかの実施形態では、デバイスは、ユーザの手が入力ジェスチャを提供するための準備完了状態にあるかどうかのインジケータを表示し、ユーザにフィードバックを提供し、入力ジェスチャを提供することを望む場合に手の位置を調節するようにユーザに警告する。
図7S~7Xは、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、環境内の音声ベース仮想アシスタントと物理的オブジェクト及び仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法を示すブロック図である。図7S~7Xは、図12の処理を含む、後述の処理を例示するために使用される。
図7T~7Xは、図7Sに示す物理的環境に対応する例示的なコンピュータ生成環境を示す。図7T~7Xを参照して本明細書に記載されるように、いくつかの実施形態によると、コンピュータ生成環境は、任意選択的に、物理的環境のカメラビューを含む拡張現実環境、又はコンピュータ生成環境がディスプレイの透明部分を通じて可視である物理的環境のビュー上に重ね合わされるようにディスプレイ上に表示されるコンピュータ生成環境であってもよい。図7Tに示すように、ユーザ7302は、コンピュータシステム(例えば、コンピュータシステム101)を動作させる物理的環境(例えば、シーン105)に立っている(例えば、デバイス7100を保持している又はHMDを着用している。いくつかの実施形態では、図7T~7Xに示される実施例のように、デバイス7100は、ディスプレイ、タッチ感知ディスプレイなどを含むハンドヘルドデバイス(例えば、携帯電話、タブレット、又は他のモバイル電子デバイス)である。いくつかの実施形態では、デバイス7100は、ヘッドアップディスプレイやヘッドマウントディスプレイなどを含むウェアラブルヘッドセットを表し、任意選択的に置き換えられる。いくつかの実施形態では、物理的環境は、ユーザ7302を取り囲む1つ以上の物理面及び物理的オブジェクト(例えば、部屋の壁、(例えば、前壁7304、側壁7306)、床7308、及び家具7310)を含む。いくつかの実施形態では、環境内の物理的オブジェクトの1つ以上の物理面は、コンピュータシステムの表示生成コンポーネントを通じて(例えば、デバイス7100のディスプレイ上又はHMDを介して)可視である。
図7T~7Xに示される実施例では、物理的環境(例えば、デバイス7100の1つ以上のカメラの視野内にある、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的環境の部分)に対応するコンピュータ生成三次元環境が、デバイス7100に表示される。物理的環境は、コンピュータシステムの表示生成コンポーネントによって示されるコンピュータ生成三次元環境に対応する表現を有する物理的オブジェクトを含む。例えば、ディスプレイ上に示されるコンピュータ生成環境において、前壁7304は前壁表現7304’によって表され、側壁7306は側壁表現7306’によって表され、床7308は床表現7308’によって表され、家具7310は家具表現7310’によって表され、家具7310の前面7312は前面表現7312’によって表される(例えば、コンピュータ生成環境は、デバイス7100の1つ以上のカメラのライブビューの一部である物理的オブジェクト、又はデバイス7100のディスプレイの透明部分を通じて可視である物理的オブジェクトの表現7304’、7306’、7308’、7310’及び7312’を含む拡張現実環境である)。いくつかの実施形態では、ディスプレイ上に示されるコンピュータ生成環境はまた、仮想オブジェクト(例えば、床7308の床表現7308’の一部に対応するディスプレイの一部に静止している仮想オブジェクト7404)を含む。いくつかの実施形態によると、デバイス7100の物理的環境に対する視野が変化するにつれ(例えば、デバイス7100又はデバイス7100の1つ以上のカメラの物理的環境に対する視野角が、物理的環境内のデバイス7100の移動及び/又は回転に応答して変化するにつれ)、それに応じて、デバイス7100上に表示されるコンピュータ生成環境の視野が変化する(例えば、物理面及び物理的オブジェクト(例えば、壁、床、家具など)の視野の変化を含む)。
図7Tでは、コンピュータシステムは、音声ベース仮想アシスタントをアクティブ化するという要求に対応する入力を検出する。例えば、ユーザは、音声ベースの起動コマンド「アシスタント!」をコンピュータシステムに提供する。いくつかの実施形態では、ユーザは、任意選択的に、向きを変えて音声ベース仮想アシスタントのホーム位置に対応する三次元環境内の所定の位置を見る、及び/又はアクティブ化入力(例えば、ユーザの指又はコントローラのタップ入力、視線入力など)を提供する。
図7U及び図7Wでは、三次元環境内の音声ベース仮想アシスタントをアクティブ化するという要求に対応する入力を検出したことに応答して、コンピュータシステムは、三次元環境に仮想アシスタントの視覚的表現を表示する。いくつかの実施形態では、仮想アシスタントの視覚的表現は、仮想オブジェクト7602である。例えば、仮想オブジェクト7602は、仮想アシスタントのアバター(例えば、発光楕円又はアニメーション文字など)である。いくつかの実施形態では、視覚的インジケーションは、必ずしも仮想面を有するオブジェクトではなく、ディスプレイの周辺領域、ユーザの視野の周辺領域、又は視線入力の標的領域の周辺領域の周りの照明などの視覚的効果である。いくつかの実施形態では、他の視覚的効果(例えば、仮想アシスタントの背景又はディスプレイ全体を暗くする又はぼやかせる)が、仮想アシスタントの視覚的インジケーションの表示と併せて表示される。
図7U及び図7Wに示すように、仮想アシスタントの視覚的表現は、仮想アシスタントがアクティブ化されたときの視覚的表現の第1の表示特性(例えば、輝度、色)の第1のセットの値を有する。例えば、視覚的表現は、視覚的表現の様々な部分にわたって第1の輝度値分布及び第1の色値分布を有する発光楕円である。コンピュータシステムは、第1の表示特性の第1のセットの値に従って、三次元環境内の物理的オブジェクト7310の第1の物理面7312の視覚的外観又はその表現7312’、並びに三次元環境内の仮想オブジェクト7404の第1の仮想面の視覚的外観を修正する。例えば、図7U及び7Wに示すように、コンピュータシステムは、物理世界の物理的オブジェクト7310の表面にマッピングされる、三次元環境内の位置に模倣照明を生成し、照明の第1の表示特性の値は、三次元世界内の仮想オブジェクト7602と表現7310’との間の空間関係、物理的オブジェクト7310の表面特性、及び模倣物理的光伝搬原理を考慮に入れる。図7U及び図7Wでは、家具表現7310’の前面表現7312’は、仮想オブジェクト7602によって照らされているように見え、仮想オブジェクト7602は三次元環境内で前面表現7312’の左側の方に近いため、前面表現7312’の左側は、前面表現7312’の右側よりも(例えば、仮想オブジェクト7602からのより高い輝度及びより高い色飽和度で)強く照らされているように見える。同様に、図7U及び7Wに示すように、コンピュータシステムは、三次元環境内の仮想オブジェクト7404の表面にマッピングされる、三次元環境内の位置に模倣照明を生成し、照明の第1の表示特性の値は、三次元世界内の仮想オブジェクト7602と仮想オブジェクト7404との間の空間関係、仮想オブジェクト7404の表面特性、及び模倣物理的光伝搬原理を考慮に入れる。図7U及び図7Wでは、仮想オブジェクト7404の上面は、仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的表現によって照らされているように見え、仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的表現は、三次元環境内の仮想オブジェクト7404の表面の中間部よりも上部に近いため、仮想オブジェクト7404の表面の中間領域は、仮想オブジェクト7404の上部よりも(例えば、仮想オブジェクト7602からのより低い輝度及びより低い色飽和度で)弱く照らされているように見える。
いくつかの実施形態では、図7U及び図7Wに示されるように、コンピュータシステムはまた、仮想アシスタントの視覚的表現の照明下で物理的オブジェクト及び仮想オブジェクトに対して模倣影を生成する。例えば、コンピュータは、三次元環境内の仮想オブジェクト7602と家具表現7310’との間の空間関係、家具7310の表面特性、及び模倣物理的光伝搬原理に基づいて、三次元環境内で家具表現7310’の背後に影7606を生成する。また、コンピュータは、三次元環境内の仮想オブジェクト7602と仮想オブジェクト7404との間の空間関係、仮想オブジェクト7404の模倣表面特性、及び模倣物理的光伝搬原理に基づいて、三次元世界内で仮想オブジェクト7404の下で影7604を生成する。
図7Uに続く図7Vに示されるように、いくつかの実施形態では、仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的インジケーションの位置は、ディスプレイ(例えば、タッチ感知ディスプレイ)又は(例えば、HMDによって表される)ユーザの頭部に対して固定され、物理的世界に対するディスプレイの移動に従って、又は物理的世界に対するユーザの頭部(若しくはHMD)の移動に従って、三次元環境に対して移動する。図7Vでは、ユーザの頭部(例えば、三次元環境がHMDを介して示される)又はディスプレイ(例えば、タッチ感知ディスプレイ)が物理的環境内で移動すると、三次元環境内の仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的表現と、物理的オブジェクト(例えば、家具表現7310’)及び仮想オブジェクト(例えば、仮想オブジェクト7404)の表現との間の空間関係が移動に応答して変化しているため、三次元環境内の物理的オブジェクト及び仮想オブジェクト上の模倣照明が調節される。例えば、視覚的表現(仮想オブジェクト7602)は現在、移動前よりも前面表現7312’に近づいているため、家具表現7310’の前面表現7312’は(仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的表現からより高い輝度及び色飽和度で)強く照らされている。これに対応して、視覚的表現(例えば、仮想オブジェクト7602)は現在、移動前よりも仮想オブジェクト7404から遠く離れているため、仮想オブジェクト7404の上面は(例えば、仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的表現からより低い輝度及び色飽和度で)弱く照らされている。
図7Vに示される実施例とは対照的に、いくつかの実施形態では、仮想アシスタント(例えば、仮想オブジェクト7602)の視覚的インジケーションの位置は、ディスプレイ(例えば、タッチ感知ディスプレイ)又は(例えば、HMDによって表される)ユーザの頭部ではなく、三次元環境に対して固定される。したがって、仮想アシスタント(例えば、視覚的表現7602)の視覚的表現と、三次元環境内に表される物理的オブジェクト(例えば、家具表現7310’)及び仮想オブジェクト(例えば、仮想オブジェクト7404)との間の空間関係は、ディスプレイが物理的世界に対して移動するとき、又はユーザが身体的世界に対して自分の頭部(又はHMD)を移動させるときに変化しない。図7Vでは、ユーザの頭部(例えば、三次元環境がHMDを介して示される)又はディスプレイ(例えば、タッチ感知ディスプレイ)が物理的環境内で移動する際、三次元環境内の仮想アシスタントの視覚的表現と、物理的オブジェクト及び仮想オブジェクトの表現との間の空間関係は移動に応答して変化しないため、三次元環境内の物理的オブジェクト及び仮想オブジェクト上の模倣照明は変化しない。しかしながら、ディスプレイに示されている三次元世界の視野は、移動のために変更される。
いくつかの実施形態では、本明細書に記載される各種実施例及び実施形態は、任意選択的に、いくつかの実施形態によると、仮想又は複合現実環境と相互作用するために、ジェスチャの直前又は最中に動作を実行するためにユーザの手全体又は腕をそれらの自然な位置(単数又は複数)及び姿勢(単数又は複数)から離れるように大きく移動させることを必要とせずに、ユーザの指(単数又は複数)を他の指(単数又は複数)又はユーザの手の一部(単数又は複数)に対して移動させることによって実行される離散の小さな運動ジェスチャを含む。
いくつかの実施形態では、入力ジェスチャは、センサシステム(例えば、図1のセンサ190、図3の画像センサ314)によってキャプチャされるデータ及び信号を解析することによって検出される。いくつかの実施形態では、センサシステムは、1つ以上の撮像センサ(例えば、モーションRGBカメラ、赤外線カメラ、深度カメラなどの1つ以上のカメラ)を含む。例えば、1つ以上の撮像センサは、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120(例えば、ディスプレイ及びタッチ感知面として機能するタッチスクリーンディスプレイ、立体ディスプレイ、パススルー部分を有するディスプレイなど))を含むコンピュータシステム(例えば、図1のコンピュータシステム101(例えば、ポータブル電子デバイス7100又はHMD))のコンポーネントである、又は上記コンピュータシステムにデータを提供する。いくつかの実施形態では、1つ以上の撮像センサは、デバイスのディスプレイとは反対側のデバイスの側に1つ以上の後面カメラを含む。いくつかの実施形態では、入力ジェスチャは、ヘッドマウントシステムのセンサシステム(例えば、ユーザの左目の左画像及びユーザの右目の右画像を提供する立体ディスプレイを含むVRヘッドセット)によって検出される。例えば、ヘッドマウントシステムのコンポーネントである1つ以上のカメラは、ヘッドマウントシステムの前側及び/又は下側に取り付けられている。いくつかの実施形態では、1つ以上の撮像センサは、撮像センサがヘッドマウントシステム及び/又はヘッドマウントシステムのユーザの画像をキャプチャするように、ヘッドマウントシステムが使用される空間に配置される(例えば、部屋内の様々な位置でヘッドマウントシステムの周りに配列される)。いくつかの実施形態では、入力ジェスチャは、ヘッドアップデバイス(例えば、ヘッドアップディスプレイ、グラフィックを表示する能力を有する自動車フロントガラス、グラフィックを表示する能力を有する窓、グラフィックを表示する能力を有するレンズ)のセンサシステムによって検出される。例えば、1つ以上の撮像センサは、自動車の内面に取り付けられる。いくつかの実施形態では、センサシステムは、1つ以上の深度センサ(例えば、センサアレイ)を含む。例えば、1つ以上の深度センサは、1つ以上の光ベースの(例えば、赤外線)センサ及び/又は1つ以上の音響ベースの(例えば、超音波)センサを含む。いくつかの実施形態では、センサシステムは、光エミッタ(例えば、赤外線エミッタ)及び/又は音声エミッタ(例えば、超音波エミッタ)などの1つ以上の信号エミッタを含む。例えば、光(例えば、所定パターンを有する赤外光エミッタアレイからの光)が手(例えば、手7200)に投射されている間、光の照明下の手の画像が1つ以上のカメラによってキャプチャされ、キャプチャされた画像が手の位置及び/又は構成を判定するために解析される。タッチ感知面又は他の直接接触機構又は近接ベースの機構の信号を使用することと対照的に、手に向けられた画像センサからの信号を使用して入力ジェスチャを判定することで、ユーザは、特定の入力デバイス又は入力領域によって課せられる制約を経験せずに、手で入力ジェスチャを提供するときに、大きな運動を実行するか、又は相対的に静止状態を保つかを自由に選択することができる。
いくつかの実施形態では、マイクロタップ入力は、ユーザの手の人差し指上の(例えば、親指に隣接する人差し指の側部上の)親指のタップ入力を示す。いくつかの実施形態では、人差し指の側部から親指を持ち上げる必要なく、タップ入力が検出される。いくつかの実施形態では、タップ入力は、親指の下方移動の後に親指の上方移動が続き、親指が閾値時間未満、人差し指の側部と接触しているという判定に従って検出される。いくつかの実施形態では、タップホールド入力は、親指が上昇位置からタッチダウン位置まで移動し、少なくとも第1の閾値時間(例えば、タップ時間閾値又はタップ時間閾値よりも長い別の時間閾値)、タッチダウン位置に留まるという判定に従って検出される。いくつかの実施形態では、コンピュータシステムは、人差し指上の親指によるタップホールド入力を検出するために、手全体が、少なくとも第1の閾値時間、ある位置で実質的に静止したままであることを必要とする。いくつかの実施形態では、タッチホールド入力は、手が実質的に静止したままであることを必要とせずに検出される(例えば、親指が人差し指の側部に置かれている間、手全体が移動することができる)。いくつかの実施形態では、タップホールドラッグ入力は、親指が人差し指の側部にタッチし、親指が人差し指の側部に静止している間に手全体が移動するときに検出される。
いくつかの実施形態では、マイクロフリックジェスチャは、人差し指を横切る親指の移動(例えば、人差し指の掌側から後側への)プッシュ又はフリック入力を示す。いくつかの実施形態では、親指の伸長移動は、例えば、親指による上方フリック入力のように、人差し指の側部から離れる上方移動を伴う。いくつかの実施形態では、人差し指は、親指が前方及び上方に移動する間、親指の方向と反対方向に移動する。いくつかの実施形態では、逆フリック入力は、伸長位置から後退位置に移動する親指によって実行される。いくつかの実施形態では、人差し指は、親指が後方及び下方に移動する間、親指の方向と反対方向に移動する。
いくつかの実施形態では、マイクロスワイプジェスチャは、人差し指に沿った(例えば、親指に隣接する人差し指の側部又は掌の側部に沿った)親指の移動によるスワイプ入力である。いくつかの実施形態では、人差し指は、任意選択的に、伸長状態(例えば、実質的に直線)又は屈曲状態である。いくつかの実施形態では、人差し指は、スワイプ入力ジェスチャで親指が移動する間、伸長状態と屈曲状態との間を移動する。
いくつかの実施形態では、様々な指の異なる指骨は、異なる入力に対応する。様々な指(例えば、人差し指、中指、薬指、及び任意選択的に小指)の様々な指骨にわたる親指のマイクロタップ入力は、任意選択的に、異なる動作にマッピングされる。同様に、いくつかの実施形態では、異なるプッシュ又はクリック入力が、異なる指及び/又は指の異なる部分を横切る親指によって実行されて、それぞれのユーザインタフェース接触で異なる動作をトリガすることができる。同様に、いくつかの実施形態では、異なる指に沿って、及び/又は異なる方向に(例えば、指の遠位端又は近位端に向かって)親指によって実行される異なるスワイプ入力が、それぞれのユーザインタフェースコンテキストで異なる動作をトリガする。
いくつかの実施形態では、コンピュータシステムは、タップ入力、フリック入力、及びスワイプ入力を、親指の移動のタイプに基づいて異なるタイプの入力として処理する。いくつかの実施形態では、コンピュータシステムは、所与の入力タイプ(例えば、タップ入力タイプ、フリック入力タイプ、スワイプ入力タイプなど)の異なるサブ入力タイプ(例えば、近位、中間、遠位サブタイプ、又は人差し指、中指、薬指、若しくは小指サブタイプ)として親指によってタップ、タッチ、又はスワイプされる異なる指位置を有する入力を処理する。いくつかの実施形態では、移動する指(例えば、親指)によって実行される移動量、及び/又は指の移動に関連付けられる他の移動の尺度(例えば、速度、初期速度、終了速度、持続時間、方向、移動パターンなど)が使用されて、指入力によってトリガされる動作に定量的に影響を与える。
いくつかの実施形態では、コンピュータシステムは、タップスワイプ入力(例えば、親指が他の指へのタッチダウン後に、指の側部に沿ってスワイプする)、タップフリック入力(例えば、親指が他の指へのタッチダウン後に、掌の側部から指の後部まで指を横切ってフリックする)、ダブルタップ入力(例えば、ほぼ同じ位置での指の側部上の2連続タップ)などの、親指による一連の移動を組み合わせた組み合わせ入力タイプを認識する。
いくつかの実施形態では、ジェスチャ入力は、親指の代わりに人差し指によって実行される(例えば、人差し指が親指上でタップ又はスワイプを実行するか、又は親指及び人差し指が互いに向かって動いてピンチジェスチャを実行する)。いくつかの実施形態では、手首の移動(例えば、水平方向又は垂直方向での手首のフリック)は、指の移動入力の直前、直後(例えば、閾値時間内)、又は同時に実行されて、手首の移動による修正入力のない指の移動入力と比較して、現在のユーザインタフェースコンテキストで追加の動作、異なる動作、又は修正された動作をトリガする。いくつかの実施形態では、ユーザの顔に面するユーザの掌で実行される指入力ジェスチャは、ユーザの顔と反対に面するユーザの掌で実行される指入力ジェスチャとは異なるタイプのジェスチャとして処理される。例えば、ユーザに面するユーザの掌で実行されるタップジェスチャは、ユーザの顔と反対に面するユーザの掌で実行されるタップジェスチャに応答して実行される動作(例えば、同じ動作)と比較して、プライバシー保護が追加(又は低減)された動作を実行する。
1つのタイプの指入力を使用して、本開示で提供される実施例において動作タイプをトリガすることができるが、他の実施形態では、同じタイプの動作をトリガするために、他のタイプの指入力が任意選択的に使用される。
図7A~図7Xに関する追加の説明は、以下の図8~12に関して記載された方法8000、9000、10000、11000、及び12000を参照して以下に提供される。
図8は、いくつかの実施形態による、コンピュータ生成三次元環境と相互作用する(例えば、再構成及びその他の相互作用を含む)方法8000のフローチャートである。いくつかの実施形態では、方法8000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上の入力デバイス(例えば、1つ以上のカメラ(例えば、ユーザの手元で下方に向く又はユーザの頭部から前方に向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))、コントローラ、タッチ感知面、ジョイスティック、ボタンなど)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法8000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法8000の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
方法8000では、コンピュータシステムは、三次元環境(例えば、表示生成コンポーネントを通じて見える物理的環境、模倣現実環境、仮想現実環境、拡張現実環境、複合現実環境など)内の第1の空間位置で、仮想オブジェクト(例えば、図7Aの仮想オブジェクト7208(a-1)及び7B(a-1))を表示する(8002)。仮想オブジェクト(例えば、仮想オブジェクト7208)を三次元環境内の第1の空間位置で表示している間、コンピュータシステムは、ユーザによって実行される第1の手移動を検出する(8004)(例えば、1つ以上のジェスチャ認識基準を満たすユーザの指及び/又は手首の移動を検出する)。ユーザによって実行される第1の手移動を検出したことに応答して(8006)、第1の手移動が第1のジェスチャ基準を満たすという判定に従って(例えば、第1の手移動がピンチ及びドラッグジェスチャ(例えば、指のピンチ移動が、手全体を横方向に移動させることから生じる)又はスワイプジェスチャ(例えば、別の指の表面又はコントローラを横切る指によるマイクロスワイプジェスチャ)である)、コンピュータシステムは、仮想オブジェクトを第1の空間位置から移動させずに(例えば、再構成モードに入る前のピンチ及びドラッグジェスチャは、オブジェクトをある位置から別の位置へ移動させない)、第1の手移動に従って第1の動作を実行する(例えば、仮想オブジェクトを回転させる、仮想オブジェクトに関連付けられるコントロールを調節する、仮想オブジェクトをナビゲートする(仮想ブックのページをめくる)など)。これは、例えば、図7A(a-1)~図7A(a-3)、及び図7A(a-1)、続いて図7A(a-4)及び7A(a-5)に示されている。ユーザによって実行される第1の手移動を検出したことに応答して(8006)、第1の手移動が第2のジェスチャ基準を満たす(例えば、ピンチジェスチャと、ピンチジェスチャに続く手首フリックジェスチャ(例えば、指のピンチ移動が、手首を中心に手を回転させることから生じる(例えば、上方又は側方にフリックする))を満たすとの判定に従って、コンピュータシステムは、仮想オブジェクトが再構成モードに移行したという第1の視覚的インジケーションを表示する(例えば、デバイスが仮想オブジェクトの再構成モードをアクティブ化する、仮想オブジェクトが元の位置から除去される、及び/又は半透明になり、元の位置の上方に浮かぶ)。これは、例えば、図7B(a-1)~7B(a-3)に示されている。仮想オブジェクトが再構成モードに移行したという第1の視覚的インジケーションで仮想オブジェクトを表示している間、コンピュータシステムは、ユーザによって実行される第2の手移動を検出する(8008)。ユーザによって実行される第2の手移動を検出したことに応答して、第2の手移動が第1のジェスチャ基準を満たすという判定に従って(例えば、第1の手移動がピンチ及びドラッグジェスチャである(例えば、ピンチ指の移動が、手全体が横方向に移動することから生じる))、コンピュータシステムは、第2の手移動に従って仮想オブジェクトを第1の空間位置から第2の空間位置(例えば、第1の動作を実行せずに)に移動させる(8010)((例えば、いったん再構成モードに入ると、手首フリックはもはや継続する必要がなく、単純なピンチ及びドラッグジェスチャが、オブジェクトを1つの位置から別の位置に移動させる)。これは、例えば、図7B(a-2)に続く図7B(a-3)~7B(a-6)、又は図7B(a-5)及び7B(a-6)に示されている。
いくつかの実施形態では、方法8000において、ユーザによって実行される第1の手移動を検出したことに応答して、第1の手移動が第3のジェスチャ基準を満たすという判定に従って(例えば、第1の手移動が、手全体の横方向移動及び回転移動のないマイクロタップジェスチャである)、コンピュータシステムは、仮想オブジェクトに対応する第2の動作を実行する(例えば、仮想オブジェクトに対応する機能をアクティブ化する(例えば、アプリケーションを起動する、通信セッション、コンテンツを表示するなど)を実行する))。いくつかの実施形態では、ユーザによって実行される第2の手移動を検出したことに応答して、第2の手移動が第3のジェスチャ基準を満たすという判定に従って(例えば、第2の手移動が、手全体の横方向移動及び回転移動のないマイクロタップジェスチャである)、デバイスは、仮想オブジェクトが再構成モードに移行したという第1の視覚的インジケーションの表示を停止して、仮想オブジェクトが再構成モードを出たことを示す(例えば、デバイスは仮想オブジェクトの再構成モードを非アクティブ化し、仮想オブジェクトが移動されていない場合、仮想オブジェクトを元の位置に戻す、又は仮想オブジェクトがユーザ入力によって移動されている場合、仮想オブジェクトを新たな位置に据えて、仮想オブジェクトの元の外観を復元する)。いくつかの実施形態では、ユーザによって実行される第2の手移動を検出したことに応答して、第2の手移動が第1のジェスチャ基準を満たさないという判定に従って(例えば、第2の手移動が、指を共にピンチさせる、又は別の所定のジェスチャ基準を満たすことのない自由手移動である)、デバイスは、仮想オブジェクトを移動させることなく、仮想オブジェクトを再構成モードに維持する。言い換えれば、仮想オブジェクトが再構成モードにある間、ユーザは、仮想オブジェクトを移動させるジェスチャに対応せず、仮想オブジェクトを再構成モードから出させないような方法で、ユーザの手を移動させることができる。例えば、ユーザは、この機会を使用して、三次元環境を探索し、その後に仮想オブジェクトを移動させる適切な位置を準備することができる。
いくつかの実施形態では、第2の手移動は、第2のジェスチャ基準を満たさない(例えば、第2の手移動は、ピンチジェスチャと、ピンチジェスチャに続く手首フリックジェスチャではない(例えば、指のピンチ移動は、手首を中心に手を回転させる(例えば、上方又は側方にフリックする)ことから生じる)。
いくつかの実施形態では、第2のジェスチャ基準は、ピンチジェスチャとピンチジェスチャに続く手首フリックジェスチャによって満たされる要件を含む(例えば、手の親指と人差し指が、仮想オブジェクトの位置に対応する三次元空間内の位置に移動して互いに接触し、次いで、親指と人差し指が互いに接触し続ける間に手全体が手首を中心に回転するとき、第2のジェスチャ基準が仮想オブジェクトに関して満たされる)。
いくつかの実施形態では、第2のジェスチャ基準は、オブジェクト選択基準が満たされる間に検出される手首フリックジェスチャによって満たされる要件を含む(例えば、仮想オブジェクトが(例えば、前の選択入力(例えば、仮想オブジェクトに向けられた視線入力、仮想オブジェクトに向けられたピンチジェスチャ、仮想オブジェクトに向けられた2指タップジェスチャなど)によって)現在選択されている間に、手全体が手首を中心に素早く回転するとき、第2のジェスチャ基準が仮想オブジェクトに対して満たされる)。いくつかの実施形態では、前の選択入力は、手首フリックジェスチャが検出されたときに、進行中であってもよく(例えば、ピンチジェスチャ又は視線入力の場合)、又は終了していてもよい(例えば、仮想オブジェクトを選択するための2指タップジェスチャの場合)。
いくつかの実施形態では、第1のジェスチャ基準は、手の1つ以上の指(例えば、一斉に横方向に移動する単一の指又は複数の指)によって提供される移動入力(例えば、空中で又は表面(例えば、コントローラの表面又は手若しくは別の指の表面)を横切る指の横方向移動、又は空中で又は表面(例えば、コントローラの表面又は手若しくは別の指の表面)上の指のタップ移動)によって満たされる要件を含む。
いくつかの実施形態では、仮想オブジェクトが再構成モードに移行したという第1の視覚的インジケーションで仮想オブジェクトを表示している間に、コンピュータシステムは、三次元環境内の仮想オブジェクトの目的位置を指定する所定の入力を検出する(例えば、所定の入力を検出することは、第1の空間位置から第2の空間位置へのユーザの視線の移動を検出すること、又はユーザの視線が三次元空間内の第2の空間位置に焦点が合っている間、手の指によるタップ入力を検出すること(コントローラ又は同じ手の空中又は表面上のタップ)を含む)。三次元環境内の仮想オブジェクトの目的位置を指定する所定の入力を検出したことに応答して、コンピュータシステムは、仮想オブジェクトを第1の空間位置から目的位置(例えば、第2の空間位置又は第2の空間位置とは異なる位置)に移動させる前に、目的位置に第2の視覚的インジケーション(例えば、(例えば、仮想オブジェクトの形状の)発光する又は影付きのオーバーレイ)を表示する。いくつかの実施形態では、第2の視覚的インジケーションは、仮想オブジェクトを実際に移動させる第2の手移動が検出される前に所定の入力を検出したことに応答して、目的位置に表示される。いくつかの実施形態では、第1のジェスチャ基準を満たす第2の手移動は、仮想オブジェクトが再構成モードにある間に提供される所定の入力(例えば、視線入力、タップ入力)によって仮想オブジェクトの目的位置が指定された後に検出される、タップ入力、指フリック入力、手スワイプ入力、又はピンチ及びドラッグ入力などである。いくつかの実施形態では、所定の入力は、第2の手移動が検出される前に検出される(例えば、所定の入力が仮想オブジェクトの目的位置を選択する視線入力又はタップ入力である場合(例えば、ユーザは、所定の入力を提供した後に目的位置から目をそらすことができる)、第2の手移動は、目的位置に向かう仮想オブジェクトの移動を開始する手全体の移動のない小さな指フリック又は指タップである)。いくつかの実施形態では、所定の入力は、第2の手移動と同時に検出される(例えば、所定の入力が仮想オブジェクトの目的位置に焦点が当たっている視線入力である場合(例えば、ユーザは、第2の移動(例えば、手全体の移動のない小さな指フリック又は指タップ)が目的位置に向かう仮想オブジェクトの移動を始動する間、目的位置への視線を維持する))。いくつかの実施形態では、所定の入力は、第2の手移動である(例えば、所定の入力は、仮想オブジェクトを掴み、仮想オブジェクトを目的位置までドラッグするピンチジェスチャである。
いくつかの実施形態では、三次元環境内の仮想オブジェクトの目的位置を指定する所定の入力を検出することは、所定の入力における移動(例えば、視線入力の移動、又は指のタップ前の指の移動)を検出することを含み、第2の視覚的インジケーション(例えば、(例えば、仮想オブジェクトの形状の)発光する又は影付きのオーバーレイ)を目的位置に表示することは、所定の入力の移動に基づいて第2の視覚的インジケーションの位置を更新することを含む(例えば、(例えば、仮想オブジェクトの形状の)発光する又は影付きのオーバーレイの位置は、視線入力及び/又は入力のタップ前の指の位置の移動に従って連続的かつ動的に変更される)。
いくつかの実施形態では、第1のジェスチャ基準を満たす第2の手移動の終了後、及び仮想オブジェクトが再構成モードに留まる間に(例えば、オブジェクトが第2の手移動に従って動かされた後、及び仮想オブジェクトが再構成モードに移行したという第1の視覚的インジケーションで仮想オブジェクトが表示されている間)、コンピュータシステムは、第1のジェスチャ基準を満たす第3の手移動(例えば、親指が同じ手の人差し指の側部を横切ってスワイプするマイクロスワイプジェスチャ、又はコントローラのタッチ感知面上の指によるスワイプジェスチャ)を検出する。第3の手移動を検出したことに応答して、コンピュータシステムは、第3の手移動に従って仮想オブジェクトを仮想オブジェクトの現在位置から第3の空間位置に移動させる。
いくつかの実施形態では、三次元環境は、1つ以上の平面(例えば、物理的オブジェクトの表面、仮想オブジェクトの模倣表面、物理的オブジェクトを表す仮想オブジェクトの表面など)を含み、第2の手移動に従って仮想オブジェクトを第1の空間位置から第2の空間位置に移動させることは、第2の手移動に従った仮想オブジェクトの移動中、仮想オブジェクトの移動経路を1つ以上の平面の第1の平面に制約することを含む(例えば、第1の空間位置及び第2の空間位置が同じ平面上にある場合、第2の手移動の移動経路が厳密には平面をたどらないときでも、仮想オブジェクトは平面に沿って摺動する)。
請求項1から10のいずれか一項に記載の方法。いくつかの実施形態では、三次元環境は、少なくとも第1の平面及び第2の平面(例えば、物理的オブジェクトの表面、仮想オブジェクトの模倣表面、物理的オブジェクトを表す仮想オブジェクトの表面など)を含み、第2の手移動に従って仮想オブジェクトを第1の空間位置から第2の空間位置に移動させることは、仮想オブジェクトの移動経路を第2の手移動に従った仮想オブジェクトの移動の第1の部分の間、第1の平面に制約することと、仮想オブジェクトの移動経路を第2の手移動に従った仮想オブジェクトの移動の第2の部分の間、第2の平面に制約することと、仮想オブジェクトの移動の第1の部分と第2の部分との間の仮想オブジェクトの移動の第3の部分の間、仮想オブジェクトの高度を上昇させることと(例えば、現実世界の平面間を切り替えるとき、オブジェクトが飛び上がる)、を含む。
いくつかの実施形態では、ユーザによって実行された第1の手移動を検出したことに応答して、第1の手移動が第2のジェスチャ基準を満たすという判定に従って(例えば、ピンチジェスチャとピンチジェスチャに続く手首フリックジェスチャである(例えば、指のピンチ移動が、手首の周りを回転する手から生じる(例えば、上方又は側方にフリックする))、コンピュータシステムは、仮想オブジェクトが再構成モードに移行したことを示す第1の視覚的インジケーションを表示することと併せてオーディオ出力を生成する(例えば、デバイスは、仮想オブジェクトがその元の位置から除かれたというインジケーションを提供する離散のオーディオ出力(例えば、ビープ音又はチャープ音)を生成する、及び/又は仮想オブジェクトが再構成モードに留まる間、連続的なオーディオ出力(例えば、連続音楽又は音波)を生成する)。
いくつかの実施形態では、仮想オブジェクトが再構成モードにある間、コンピュータシステムは、第2の手移動を検出し、第2の移動に従って仮想オブジェクトを移動させた後、第4の手移動を検出する。第4の手移動を検出したことに応答して、第4の手移動が第1のジェスチャ基準を満たすという判定に従って、コンピュータシステムは、第4の手移動に従って仮想オブジェクトを第2の空間位置から第3の空間位置に移動させ、第4の手移動が第4のジェスチャ基準を満たすという判定に従って(例えば、ピンチジェスチャとピンチジェスチャに続く手首フリックジェスチャ(例えば、指のピンチ移動が、手首を中心に回転する手から生じる(例えば、下方にフリックする))、コンピュータシステムは、仮想オブジェクトが再構成モードを出たことを示すために第1の視覚的インジケーションの表示を停止する。いくつかの実施形態では、デバイスは、第1の視覚的インジケーションの表示を停止すること(例えば、仮想オブジェクトの通常の外観を復元すること)と併せて、仮想オブジェクトが三次元環境内の第3の空間位置に据えられるアニメーションを表示する。
図8における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法9000、10000、11000、及び12000)に関して本明細書で記載された他のプロセスの詳細はまた、図8に関連して上述された方法8000に類似の方法で適用可能であることも留意されたい。例えば、方法8000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択的に、本明細書に記述した他の方法(例えば、方法9000、10000、11000、及び12000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図9は、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、物理的オブジェクトと仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法9000のフローチャートである。いくつかの実施形態では、方法9000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上の入力デバイス(例えば、カメラ(例えば、ユーザの手元で下方に向く又はユーザの頭部から前方に向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))、コントローラ、タッチ感知面、ジョイスティック、ボタンなど)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法9000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法9000の一部の動作が任意選択的に組み合わされ、及び/又は一部の動作の順序が任意選択的に変更される。
方法9000では、コンピュータシステムは、表示生成コンポーネントを介して、少なくとも、第1の位置(例えば、壁上の仮想窓、動画を表示している壁上の仮想スクリーン)に第1の仮想オブジェクト(例えば、図7E及び図7Fの仮想オブジェクト7332)と、第1の位置とは別個の第2の位置(例えば、壁から離れた部屋内の書棚、壁、又は部屋の床)に第1の物理面(例えば、前壁7304、側壁7306、床7308、家具7310、又はそれらの表現)と、を含む(例えば、第1の仮想オブジェクトと第1の物理面は、現実又は模倣自由空間によって分離されている)三次元シーンを表示し(9002)、仮想オブジェクトは、仮想オブジェクトの第1の部分に対応する第1の表示特性に関する第1の値(例えば、第1の部分7332-b及び7332-c、並びに7332-b’及び7332-c’における輝度及び色値)と、仮想オブジェクトの第2の部分に対応する第1の表示特性に関する第2の値(例えば、第2の部分7332-a及び7332-d、並びに7332-a’及び7332-d’における輝度及び色値)とで表示され(例えば、仮想オブジェクトは、仮想オブジェクトの様々な部分において異なる輝度値又は色を有し、第1の表示特性は、仮想オブジェクトの形状又は寸法に関係しない)、第1の表示特性の第2の値は第1の表示特性の第1の値とは異なる。第1の仮想オブジェクト及び第1の物理面を含む三次元シーンを表示している間に、コンピュータシステムは、表示生成コンポーネントを介して、三次元シーンの第2の位置(例えば、シーン内の物理面の位置)に第1の視覚的効果を生成する(9004)。第1の視覚的効果を生成することは、第1の仮想オブジェクトの第1の部分に対応する第1の表示特性の第1の値に従って、三次元シーン内の第1の物理面の第1の部分の視覚的外観を変更することと、三次元シーン内の第1の物理面の第2の部分の視覚的外観を、第1の仮想オブジェクトの第2の部分に対応する第1の表示特性の第2の値に従って修正することと、を含み、第1の物理面の第1の部分の視覚的外観及び第1の物理面の第2の部分の視覚的外観は、第1の仮想オブジェクトの第1の部分及び第2の部分における第1の表示特性の第1の値及び第2の値の差に起因して(例えば、仮想オブジェクトの様々な部分の異なる色及び輝度値は、仮想オブジェクトの様々な部分と物理面の様々な部分との間の空間関係に起因して、物理面の様々な部分の色及び輝度を異なるように変化させる)(例えば、仮想オブジェクトと物理面との間の模倣空間関係、仮想オブジェクト及び物理面の実際の及び模倣物理的特性、並びに模倣物理的原理に従って)異なって修正される。これは例えば、図7E~7Fに示されている。
いくつかの実施形態では、コンピュータシステムは、第1の仮想オブジェクトの第1及び第2の部分における第1の表示特性の値変化を含む、第1の仮想オブジェクトの外観の変化を検出する。第1の仮想オブジェクトの外観の変化を検出したことに応答して、コンピュータシステムは、第1の仮想オブジェクトの外観の変化に従って、第1の物理面の様々な部分において第1の物理面の視覚的外観を修正する。修正することは、第1の表示特性と第1の物理面の第1の部分の視覚的外観との間の第1の関係に従って、第1の物理面の第1の部分の視覚的外観を修正することと、第1の表示特性と第1の仮想オブジェクトの第2の部分の視覚的外観との間の第2の関係に従って、第1の物理面の第2の部分の視覚的外観を修正することとを含み、第1の関係及び第2の関係は、第1の物理面の第1及び第2の部分の異なる物理的特性に対応する。例えば、第1の関係及び第2の関係は、第1の物理面と相互作用する仮想オブジェクトから放射される光の模倣物理的法則に基づいているが、第1の物理面の様々な部分に対応する距離、形状、表面テクスチャ、及び光学特性、及び/又は第1の物理面の様々な部分と第1の仮想オブジェクトの各対応する部分との間の異なる空間関係によって異なる。
いくつかの実施形態では、第1の仮想オブジェクトは、仮想オーバーレイ(例えば、三次元シーン内の第1の位置に対応する位置にある第2の物理面(例えば、壁)上の(例えば、窓から見られる)仮想風景を示す仮想窓)を含み(第1の仮想オブジェクトは、現実世界内の物理的窓又は物理的壁の一部に対応する位置に表示される仮想窓である)、コンピュータシステムは、時刻、位置、及び仮想オーバーレイのサイズのうちの少なくとも1つを含む1つ以上のパラメータのそれぞれの値の変化に従って、仮想オーバーレイの外観を変更する(例えば、仮想オーバーレイに示される風景の外観を変更する)。例えば、現実世界又はユーザによって設定された設定において時刻が変化するにつれ、デバイスは、時刻の変化に従って、仮想オーバーレイ(例えば、仮想窓)に示される仮想風景(例えば、都市、自然、景観、工場などのビュー)を変更する。別の実施例では、ユーザ又はデバイスは、仮想オーバーレイに示される仮想風景のシーン位置を指定し、仮想風景は、シーン位置に基づいて風景のデータベースから選択される。別の実施例では、ユーザは、仮想オーバーレイのサイズを増加又は減少する(例えば、小さな仮想窓から大きな仮想窓に移行する、壁全体を仮想窓で置き換えるなど)ようにコンピュータシステムに要求し、コンピュータシステムは、仮想オーバーレイを通じて提示される仮想風景の量を変更する。
いくつかの実施形態では、第1の視覚的効果を生成することは、仮想オーバーレイの第1の部分に示されるコンテンツの変化に従って、第1の物理面(例えば、現実世界の対向する壁又は床)の第1の部分の視覚的外観を修正することと、仮想オーバーレイの第2の部分に示されるコンテンツの変化に従って、第1の物理面の第2の部分の視覚的外観を修正することと、を含む。例えば、現実世界の床面で、物理的壁上に重ね合わされた仮想窓の様々な部分から(例えば、時刻に応じて)来る光の量、光の色、並びに光の方向は、仮想窓の前の床面に異なる模倣照明を生じさせる。コンピュータシステムは、床面の様々な部分に対応する第2の仮想オーバーレイの様々な部分における照明の様々な量、色、及び方向を模倣する、床面に対する第2の仮想オーバーレイを生成する。例えば、時刻が変化するにつれ、仮想窓に対応する光の量及び光の方向が変化し、それに応じて、床上の第2の仮想オーバーレイに示される模倣照明の量も変化する(例えば、朝、正午、夕方では光の方向が異なり、光の色及び色調も異なる)。
いくつかの実施形態では、第1の仮想オブジェクトは、三次元シーン内の第1の位置に対応する位置に、メディアコンテンツ(例えば、動画又はビデオを表示する平坦な仮想スクリーン、ユーザの視点からの三次元動画又は没入ホログラフィック体験を表示する三次元空間やドーム面)を表示する仮想スクリーンを含み(例えば、仮想スクリーンは自立型であり、いかなる物理面にも取り付けられていない、又は壁若しくはテレビスクリーンなどの物理面に重ね合わされている)、コンピュータシステムは、メディアアイテムの再生進行に従って、仮想スクリーン上に示されるコンテンツを変更する。例えば、動画又はビデオ再生が進行するにつれて、動画又はビデオの現在の再生位置に従って、コンテンツが仮想スクリーン(例えば、2D又は3D、又は没入型)に示される。
請求項18に記載の方法。いくつかの実施形態では、第1の視覚的効果を生成することは、仮想スクリーンの第1の部分に示されるコンテンツの変化に従って、第1の物理面(例えば、現実世界の対向する壁又は床)の第1の部分の視覚的外観を修正することと、仮想スクリーンの第2の部分に示されるコンテンツの変化に従って、第1の物理面の第2の部分の視覚的外観を修正することと、を含む。例えば、周囲環境の物理的オブジェクトの表面(例えば、床、壁、カウチ、ユーザの身体など)上で、仮想スクリーンの様々な部分から来る光の量、光の色、及び光の方向は、周囲環境内の物理的オブジェクトの表面に異なる模倣照明を生じさせる。デバイスは、物理面の様々な部分に対応する仮想オーバーレイの様々な部分における照明の異なる量、色、及び方向を模倣する、周囲の物理面に対する仮想オーバーレイを生成する。動画シーンが変化すると、光の量、光の色、及び光の方向も変化し、周囲の物理面上に重ね合わされた模倣照明を変更する。
いくつかの実施形態では、第1の仮想オブジェクトは、発話を介してユーザと相互作用する仮想アシスタントであり(例えば、仮想アシスタントは、様々なコンテキストでアクティブ化され、様々なタスク及び電子デバイスとの相互作用に関してユーザに支援を提供する)、コンピュータシステムは、仮想アシスタントの動作モードに従って仮想アシスタントの外観を変更する。例えば、仮想アシスタントが様々なタスクを、又は様々な動作モードで実行しているとき(例えば、待機状態、ユーザの命令を聞いている、ある位置から別の位置に移動されている、ユーザのコマンドに従ってタスクを実行中である、タスクを完了した、様々なタイプのタスクを実行しているなど)、仮想アシスタントの色、サイズ、色相、輝度などは変化する。仮想アシスタントの外観の変化の結果として、デバイスは、仮想アシスタントを取り囲む位置に対応する位置で、物理面上に模倣照明を生成する。
いくつかの実施形態では、第1の視覚的効果を生成することは、第1の物理面の第1の部分上の第1の仮想オブジェクトの模倣反射(例えば、模倣反射は、第1の物理面の第1の部分の表面特性、三次元シーン内の第1の仮想オブジェクトと第1の物理面の第1の部分との相対位置、第1の仮想オブジェクトから放射される光の模倣物理的特性、並びに光がどのように反射及び透過されるか、及びオブジェクトが現実世界の光によってどのように照らされるかを定める物理的光伝搬原理に従って生成される)に従って、第1の物理面の第1の部分の視覚的外観を修正することを含む。いくつかの実施形態では、第1の視覚的効果を生成することは、第1の物理面の第2の部分上の第1の仮想オブジェクトの模倣反射(例えば、模倣反射は、第1の物理面の第2の部分の表面特性、三次元シーン内の第1の仮想オブジェクトと第1の物理面の第2の部分との相対位置、第1の仮想オブジェクトから発せられる光の模倣物理的特性、並びに光がどのように反射及び透過されるか、及びオブジェクトが現実世界の光によってどのように照らされるかを定める物理的光伝搬原理に従って生成される)に従って、第1の物理面の第2の部分の視覚的外観を修正することを更に含む。
いくつかの実施形態では、第1の視覚的効果を生成することは、第1の物理面の第1の部分上の第1の仮想オブジェクトによって投じられた模倣影(例えば、模倣影は、第1の物理面の第1の部分の表面特性、三次元シーン内の第1の仮想オブジェクトと第1の物理面の第1の部分との相対位置、第1の仮想オブジェクトの模倣物理特性(例えば、形状、サイズなど)、実際の光源、三次元シーンに存在する模倣光源、並びに物理的光伝搬及び屈折原理に従ってデバイスによって生成される)に従って、第1の物理面(例えば、非反射物理面)の第1の部分の視覚的外観を変更することを含む。いくつかの実施形態では、第1の視覚的効果を生成することは、第1の物理面の第2の部分上の第1の仮想オブジェクトの模倣影(例えば、模倣影は、第1の物理面の第2の部分の表面特性、三次元シーン内の第1の仮想オブジェクトと第1の物理面の第2の部分との相対位置、第1の仮想オブジェクトの模倣物理的特性(例えば、形状、サイズなど)、実際の光源、三次元シーンに存在する模倣光源、並びに光がどのように反射及び透過され、オブジェクトが現実世界においてこの光によってどのように照らされるかを定める物理的光伝搬原理に従って、デバイスによって生成される)に従って、第1の物理面(例えば、非反射物理面)の第2の部分の視覚的外観を変更することを更に含む。
図9における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、10000、11000、及び12000)に関して本明細書で記載された他のプロセスの詳細はまた、図9に関連して上述された方法9000に類似の方法で適用可能であることも留意されたい。例えば、方法9000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択的に、本明細書に記述した他の方法(例えば、方法8000、10000、11000、及び12000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図10は、いくつかの実施形態による、コンピュータ生成三次元環境を生成し、三次元環境とのユーザ相互作用を容易にする(例えば、ユーザ入力に基づいてコンピュータ生成体験のレベルを徐々に調整することを含む)方法10000のフローチャートである。いくつかの実施形態では、方法10000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上の入力デバイス(例えば、カメラ(例えば、ユーザの手元で下方に向く又はユーザの頭部から前方に向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))、コントローラ、タッチ感知面、ジョイスティック、ボタンなど)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法10000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法10000の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
方法10000では、コンピュータシステムは、表示生成コンポーネントを介して、三次元シーンを表示し(10002)、三次元シーンは、第1のセットの物理的要素(例えば、図7Gに示す物理的オブジェクト又はその表現)(例えば、表示生成コンポーネントの透明部分を通じて見える物理的オブジェクト、又は物理的オブジェクトの物理的環境のカメラビュー内のそれらの画像によって表される物理的オブジェクトであって、三次元シーン内の物理的要素のそれぞれの位置は、表示生成コンポーネントを取り囲む物理的環境内の物理的オブジェクトのそれぞれの位置に対応する)と、第1の量の仮想要素(例えば、仮想オブジェクトなし、又はユーザインタフェース要素及びコントロールを表す極簡易な仮想オブジェクト)とを含む。第1のセットの物理的要素は、少なくとも、第1のクラスの物理的オブジェクトに対応する物理的要素(例えば、壁又は表示生成コンポーネントに直接面する壁、窓など)と、第2のクラスの物理的オブジェクトに対応する物理的要素(表示生成コンポーネントに直接面する壁とは区別される側壁、壁とは区別される天井及び床、窓とは区別される壁、部屋内の物理的オブジェクト、部屋の内側にある垂直物理面、部屋の内側にある水平面、予め設定された閾値よりも大きな表面、部屋内の実際の家具の表面など)とを含む。表示生成コンポーネントを介して第1の量の仮想要素で三次元シーンを表示している間に、コンピュータシステムは、2つ以上のユーザ入力のシーケンス(例えば、2つ以上のスワイプ入力のシーケンス、2つ以上のスナップのシーケンス、ユーザがHMDを頭部に装着し、続いてユーザがHMDを手からに放し、続いてユーザがHMDを頭部に装着した状態で腰かけたことに対応する入力)を検出する(10004)(例えば、2つ以上のユーザ入力は、(特定の仮想オブジェクトへの入力フォーカスによって)特定の仮想オブジェクトを三次元シーンにドラッグ及び/又はドロップするユーザ入力とは別個である)。2つ以上のユーザ入力のシーケンスの連続ユーザ入力を検出したことに応答して、コンピュータシステムは、2つ以上のユーザ入力のシーケンスの連続入力に従って、三次元シーンに表示される仮想要素の量を連続的に増加させる(10006)(例えば、同じタイプの連続ユーザ入力又は関連入力のシーケンス内の連続ユーザ入力に応答して、三次元シーン内の追加のクラスの物理的要素を置き換えることによって、三次元シーンの没入度を連続的に上昇させる)。具体的には、コンピュータシステムは、2つ以上のユーザ入力のシーケンスの第1のユーザ入力(例えば、図7Gの手7200による入力)を検出したことに応答して、第1のユーザ入力が第1の基準(例えば、コンピュータ生成体験の没入度を増加させるジェスチャを検出するための基準)を満たすという判定に従って、三次元シーンを、少なくとも、第1のセットの1つ以上の物理的要素の第1のサブセット(例えば、第1のセットの1つ以上の物理的要素の全部ではないがいくつかが、新たに追加された仮想要素によって不明瞭にされる又は遮断される)、及び第2の量の仮想要素(例えば、図7H及び図7Iの仮想オブジェクト7402)で表示する。第2の量の仮想要素は、第1のユーザ入力の検出前に第1のクラスの物理的要素(例えば、壁)によって占有されていた三次元シーンの第1の部分を含め、三次元シーンにおいて第1の量の仮想要素よりも大きな部分を占める(例えば、三次元シーン内の第1のセットの物理面(例えば、壁など)のビューを遮断する仮想風景又は仮想窓などの仮想要素を表示する)。加えて、2つ以上のユーザ入力のシーケンスの第2のユーザ入力(例えば、図7Iの手7200による入力)を検出したことに応答して、第2のユーザ入力が第1のユーザ入力に続き、第1の基準を満たすという判定に従って、コンピュータシステムは、少なくとも、第1のセットの1つ以上の物理的要素の第2のサブセット(例えば、第1のセットの1つ以上の物理的要素のうちのより多く又は全てが、新たに追加された仮想要素によって不明瞭になる又は遮断される)と、第3の量の仮想要素(例えば、図7J及び図7Kの仮想オブジェクト7402及び7406)と、を有する三次元シーンを表示する。第3の量の仮想要素は、第1のユーザ入力の検出前に第1のクラスの物理的要素によって占められていた三次元シーンの第1の部分と、第2のユーザ入力の検出前に第2のクラスの物理的要素によって占められていた三次元シーンの第2の部分とを含む、第2の量の仮想要素よりも三次元シーンの大きな部分を占める(例えば、三次元シーン内の第1のセットの物理面(例えば、壁など)のビューを遮断する仮想風景又は仮想窓などの仮想要素を表示し続け、第2のセットの物理面(例えば、テーブルトップ、棚や機器の表面など)のビューを遮断する仮想装飾や仮想面などの追加の仮想要素を表示する)。これは例えば、図7G~7Lに示されている。
いくつかの実施形態では、2つ以上のユーザ入力のシーケンスの第1のユーザ入力を検出したことに応答して第2の量の仮想要素を表示することは、三次元シーン内で量が増加する第1のクラスの物理的要素を仮想要素(新たな仮想要素及び/又は既存の仮想要素の拡張)に徐々に置き換える(例えば、バススルービデオを介して可視になるオブジェクトの表示を置き換える、又は透明若しくは部分的に透明なディスプレイを通じて直接可視になるオブジェクトを不明瞭にする)第1のアニメーション移行を表示することを含む。2つ以上のユーザ入力のシーケンスの第2のユーザ入力を検出したことに応答して第3の量の仮想要素を表示することは、第1のクラスの物理的要素を、三次元シーン内の既存の仮想要素(例えば、第2の量の仮想要素)の代わりに表示しながら、三次元シーン内で量が増加する第2のクラスの物理的要素を仮想要素(例えば、新たな仮想要素及び/又は既存の仮想要素の拡張)に徐々に置き換える第2のアニメーション移行を表示することを含む。例えば、第1の入力(例えば、コントローラ又はユーザの手上での第1のスワイプ入力)に応答して、デバイスは、三次元シーン内で可視である第1の物理的壁(例えば、表示生成コンポーネントに直接面する壁)のビューを森の仮想風景に置き換えて、他の物理的壁、物理的天井、及び物理的床を三次元シーン内で可視のまま残す。第1の物理的壁のビューを置き換えるときに、デバイスは、森の仮想風景で徐々にフェードインするアニメーション移行を表示する。第2の入力(例えば、コントローラ又はユーザの手上での第2のスワイプ入力)に応答して、デバイスは、三次元シーン内で可視である残りの物理的壁(例えば、表示生成コンポーネントに直接対向しない壁)のビューを、三次元シーン内で既に可視となっている部分から拡張する森の仮想風景に置き換えて、三次元シーン内で可視である物理的天井及び物理的床のみを残す。残りの物理的壁のビューを置き換えるとき、デバイスは、仮想森の既存のビューを、第1の物理的壁の位置から壁の残りの部分まで徐々に拡張するアニメーション移行を表示する。いくつかの実施形態では、第3の入力(例えば、コントローラ又はユーザの手上での第3のスワイプ入力)に応答して、デバイスは、三次元シーン内で依然として可視である天井(及び任意選択的に、床)のビューを、仮想森の既存のビューから周囲の物理的壁の位置から天井の中心に向かって(及び任意選択的に床の中心に向かって)徐々に延びる森の仮想風景に徐々に置き換える(例えば、仮想森の伐採から見える仮想空の一部を示す)(例えば、仮想森の伐採から見える地面の一部を示す)。第4の入力(例えば、コントローラ又はユーザの手上での第4のスワイプ入力)に応答して、デバイスは、三次元シーン内で依然として可視である他の物理的オブジェクトのビューを、物理的オブジェクトの表面上に徐々にフェードインし、段々と不透明かつ飽和される仮想オーバーレイに置き換える。
いくつかの実施形態では、2つ以上のユーザ入力のシーケンスの連続入力に従って仮想要素の量を連続的に増加させるとき、コンピュータシステムは、2つ以上のユーザ入力のシーケンスの第3のユーザ入力を検出したことに応答して、第3のユーザ入力が第2のユーザ入力に続き、第1の基準を満たすという判定に従って、第4の量の仮想要素で三次元シーンを表示する。第4の量の仮想要素は、第1のユーザ入力の検出前に第1のクラスの物理的要素(例えば、物理的窓又は表示生成コンポーネントに面する壁)によって占められていた三次元シーンの第1の部分と、第2のユーザ入力の検出前に第2のクラスの物理的要素(例えば、壁又は表示生成コンポーネントに面していない壁)によって占められていた三次元シーンの第2の部分と、第3のユーザ入力の検出前に第3のクラスの物理的要素(例えば、部屋内の物理的オブジェクト)によって占められていた三次元シーンの第3の部分とを含む、第3の量の仮想要素よりも三次元シーンの大きな部分を占める(例えば、第4の量は三次元シーンの全てを占める)。
いくつかの実施形態では、2つ以上のユーザ入力のシーケンスの第2のユーザ入力を検出したことに応答して、第2のユーザ入力が第1のユーザ入力に続き、第1の基準を満たすという判定に従って、コンピュータシステムは、第2の量の仮想要素の表示と、第3の量の仮想要素の表示との間の第3のアニメーション移行を表示する。いくつかの実施形態では、第2の量の仮想要素のレンダリングは、より人工的であり、あまり現実的ではなく、第3の量の仮想要素(前に表示されていた第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の量の仮想要素(例えば、異なる地理的位置のシーン(例えば、リアルタイムビデオフィード又は模倣シーン)を示す仮想窓)を表示しながら、コンピュータシステムは、第2の基準(例えば、没入度を変更せずに、仮想環境へのビューを変更するためのナビゲーションメニューを表示するための基準)(例えば、ユーザの指又は手による長押しジェスチャを検出するための基準)を満たす入力を検出する。第1の基準とは別個の第2の基準を満たす入力(例えば、少なくとも時間閾値、維持される長押し入力)を検出したことに応答して、コンピュータシステムは、第1の仮想環境へのビューを変更するための複数の選択可能なオプション(例えば、(例えば、位置、時刻、照明、気象状態、ズームレベル、視点、季節、日付などを変更することによって)仮想窓に表される仮想環境を変更するためのメニューオプションを含む)を表示する。いくつかの実施形態では、コンピュータシステムは、表示された選択可能なオプションのうちの1つを選択する入力を検出し、それに応答して、コンピュータシステムは、第1の仮想環境へのビューを、第1の仮想環境とは異なる第2の仮想環境(例えば、海洋又は洞窟など)へのビューに置き換える、又は第1の仮想環境の外観を変更する少なくとも1つの変更されたパラメータ(例えば、時刻、季節、日付、位置、ズームレベル、視野角など)で第1の仮想環境を示すようにビューを更新する。
いくつかの実施形態では、少なくとも、第1のセットの1つ以上の物理的要素の第1のサブセットで表示される第1の仮想環境へのビューを含む第2の量の仮想要素(例えば、異なる地理的位置のシーン(例えば、リアルタイムビデオフィード又は模倣シーン)を示す仮想窓)を表示しながら、コンピュータシステムは、第3の基準(例えば、没入度を変更せずに仮想環境へのビューを変更するための基準)(例えば、ユーザの指又は手によるスワイプジェスチャを検出するための基準)を満たす入力を検出する。第3の基準を満たす入力を検出したことに応答して、コンピュータシステムは、第1の仮想環境へのビューを、第1の仮想環境とは別個の第2の仮想環境(例えば、海洋又は洞窟など)へのビューに置き換える。いくつかの実施形態では、(例えば、時刻、位置、ズームレベル、視野角、季節などの変化と共に)ビューのコンテンツが変化すると、コンピュータシステムはまた、ビューのコンテンツに表された仮想環境の部分の第1の表示特性の変更された値に従って、少なくとも、第1のセットの1つ以上の物理的要素の第1のサブセットの一部の視覚的外観を修正する(例えば、仮想窓に示される仮想環境のビューの第1の表示特性についての第1のセットの値と第1のサブセットの物理的要素の視覚的外観の変化との間の対応関係は、光がどのように反射され透過されるか、及び、オブジェクトが現実世界においてこの光によってどのように照らされるかを定める物理的光伝搬原理などの模倣物理的原理、第1のサブセットの物理的要素の実際又は模倣表面特性、及び三次元シーン内の第1のサブセットの物理的要素に対する仮想窓の相対位置などに基づく)。
いくつかの実施形態では、少なくとも、第1のセットの1つ以上の物理的要素の第1のサブセットで表示される第1の仮想環境へのビューを含む第2の量の仮想要素(例えば、異なる地理的位置のシーン(例えば、リアルタイムビデオフィード又は模倣シーン)を示す仮想窓)を表示しながら、コンピュータシステムは、第3の基準(例えば、没入度を変更せずに仮想環境へのビューを変更するための基準)(例えば、ユーザの指又は手によるスワイプジェスチャを検出するための基準)を満たす入力を検出する。第3の基準を満たす入力を検出したことに応答して、コンピュータシステムは、第1の仮想環境の外観を変更する少なくとも1つの変更されたパラメータ(例えば、時刻、季節、日付、位置、ズームレベル、視野角など)で第1の仮想環境を示すように、ビューを更新する。いくつかの実施形態では、(例えば、時刻、位置、ズームレベル、視野角、季節などの変化と共に)ビューのコンテンツが変化すると、コンピュータシステムはまた、ビューのコンテンツに表された仮想環境の部分の第1の表示特性の変更された値に従って、少なくとも、第1のセットの1つ以上の物理的要素の第1のサブセットの一部の視覚的外観を修正する(例えば、仮想窓に示される仮想環境のビューの第1の表示特性についての第1のセットの値と第1のサブセットの物理的要素の視覚的外観の変化との間の対応関係は、光がどのように反射され透過されるか、及び、オブジェクトが現実世界においてこの光によってどのように照らされるかを定める物理的光伝搬原理などの模倣物理的原理、第1のサブセットの物理的要素の実際又は模倣表面特性、及び三次元シーン内の第1のサブセットの物理的要素に対する仮想窓の相対位置などに基づく)。
いくつかの実施形態では、第1の基準は、第1の方向基準を含み(例えば、入力は水平スワイプ入力である)、第2の基準は、第1の方向基準とは別個の第2の方向基準を含む(例えば、入力は垂直スワイプ入力である)。例えば、いくつかの実施形態では、垂直スワイプジェスチャが没入度を増加又は減少させる(例えば、三次元シーン内の仮想要素の量を増加又は減少させる)間、水平スワイプジェスチャは、窓のサイズを変化させることなく仮想窓内に表されるビューを変化させる、又は(例えば、三次元シーン内の仮想要素の量を変更することなく)没入度を変更する。
いくつかの実施形態では、第1の量の仮想要素を表示することは、三次元シーン内の第1の仮想窓を表示することを含み、第2の量の仮想要素を表示することは、三次元シーン内の第1の仮想窓を拡張することを含み、第3の量の仮想要素を表示することは、1つ以上の物理的壁のビューを仮想要素に置き換えることを含む。いくつかの実施形態では、2つ以上のユーザ入力のシーケンスの追加のユーザ入力は、追加の量の仮想要素を、物理的要素によって前に占められていたシーンの部分を占める三次元シーンに導入させる。例えば、第1の基準を満たす第3の入力は、複数の残りの壁及び天井を仮想要素に置き換える。第1の基準を満たす第4の入力は、床を仮想要素に置き換える。
いくつかの実施形態では、2つ以上のユーザ入力のシーケンスは、第1の入力タイプ(例えば、垂直/上方スワイプ入力などの同じ入力タイプ)の反復入力を含む。
いくつかの実施形態では、2つ以上のユーザ入力のシーケンスは、連続入力の連続部分(例えば、第1の位置から始まり、複数の閾値位置/距離を通過する所定方向の連続移動を含む垂直/上方スワイプ入力、又は複数の強度閾値を超える連続的に強度が上がる押圧入力など)を含み、連続入力の各部分は、(例えば、複数の入力閾値の対応する入力閾値を満たすことによって)2つ以上のユーザ入力のシーケンスのそれぞれのユーザ入力に対応する。
いくつかの実施形態では、第1のセットの1つ以上の物理的要素の第1のサブセットは、少なくとも物理的環境の壁及び床を含み、第1のセットの1つ以上の物理的要素の第2のサブセットは、物理的環境の壁を含まずに物理的環境の床を含む。例えば、いくつかの実施形態では、仮想要素は、三次元シーンに表される物理的環境の1つ以上の壁を置き換えるが、物理的環境の床は置き換えない。
いくつかの実施形態では、第1のセットの1つ以上の物理的要素の第1のサブセットは、少なくとも物理的環境内の壁及び1つ以上の家具を含み、第1のセットの1つ以上の物理的要素の第2のサブセットは、物理的環境の壁を含まずに、物理的環境内の1つ以上の家具を含む。例えば、いくつかの実施形態では、仮想要素は、三次元シーンに表される物理的環境の1つ以上の壁を置き換えるが、物理的環境内の家具のうちの少なくともいくつかを置き換えない。
図10における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、11000、及び12000)に関して本明細書で記載された他のプロセスの詳細はまた、図10に関連して上述された方法10000に類似の方法で適用可能であることも留意されたい。例えば、方法10000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択的に、本明細書に記述した他の方法(例えば、方法8000、9000、11000、及び12000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図11は、いくつかの実施形態による、コンピュータ生成環境とのユーザ相互作用を容易にする(例えば、物理的面との相互作用を利用してデバイスを制御する又はコンピュータ生成環境と相互作用する)方法11000のフローチャートである。いくつかの実施形態では、方法11000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上の入力デバイス(例えば、カメラ(例えば、ユーザの手元で下方を向く又はユーザの頭部から前方に向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)、コントローラ、タッチ感知面、ジョイスティック、ボタンなど)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法11000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法11000の一部の動作が任意選択的に組み合わされ、及び/又はいくつかの動作の順序が任意選択的に変更される。
方法11000では、コンピュータシステムディスプレイは、表示生成コンポーネントを介して三次元シーンを表示し(11002)、三次元シーンは、少なくとも第1の物理的オブジェクト(例えば、図7Mのボックス7502又はボックス7504)又はその表現(例えば、図7Nの表現7502’又は表現7504’)を含む。第1の物理的オブジェクトは、少なくとも第1の物理的(実質的に平坦な及び/又は平滑な)表面を有する(例えば、第1の物理的オブジェクトは、カメラ又は透明ディスプレイを通じて三次元シーン内で可視である)。三次元シーン内の第1の物理的オブジェクト又はその表現のそれぞれの位置は、表示生成コンポーネントを取り囲む物理的環境内の第1の物理的オブジェクトのそれぞれの位置に対応する(例えば、第1の物理的オブジェクトは、ヘッドアップディスプレイ又はHMDの透明パススルー部分を通じて可視である、又は第1の物理的オブジェクトの表現は、ディスプレイ又はHMDに表示される物理的環境のカメラビュー内の第1の物理的オブジェクトの画像を含む)。三次元シーンを表示している間、コンピュータシステムは、第1の相互作用基準が満たされることを検出し(11004)、第1の相互作用基準は、ユーザと第1の物理的オブジェクトとの間のユーザ相互作用の第1のレベルが検出されたとき(例えば、ユーザの視線が、ユーザが第1の物理的オブジェクトに対して動作を実行したいと考えていることを示す他のジェスチャ又はアクション(例えば、手移動、口頭のコマンドなど)を伴わずに第1の物理的オブジェクトに向けられているとき)に満たされる第1の基準を含む。第1の相互作用基準が満たされることを検出したことに応答して、コンピュータシステムは、表示生成コンポーネントを介して、三次元シーン内の第1の物理的オブジェクト(例えば、ボックス7502又はボックス7504)の第1の物理面の位置に対応する位置に、第1のユーザインタフェース(例えば、図7Oの第1のユーザインタフェース7510又は図7Pの第1のユーザインタフェース7516)(例えば簡素化されたユーザインタフェース又は情報インタフェース)を表示する(11006)(例えば、第1のユーザインタフェースが、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)。三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第1のユーザインタフェースを表示している間、コンピュータシステムは、第2の相互作用基準が満たされることを検出し(11008)、第2の相互作用基準は、ユーザと第1の物理的オブジェクトとの間のユーザ相互作用の第1のレベルよりも高いユーザ相互作用の第2のレベルが検出されたとき(例えば、ユーザの視線が依然として第1の物理的オブジェクトに向けられている間、ユーザ又はユーザの手が第1の物理的オブジェクトに近づくとき)に満たされる第2の基準を含む(例えば、第2の基準を満たすユーザ相互作用のレベルは第1の基準も満たすが、第1の基準を満たすユーザ相互作用のレベルは第2の基準を満たさない)。第2の相互作用基準が満たされることを検出したことに応答して、コンピュータシステムは、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置で、第1のユーザインタフェースを第2のユーザインタフェース(例えば、図7Qの第2のユーザインタフェース7510’又は図7Rの第2のユーザインタフェース7512’)(例えば、拡張ユーザインタフェース又は制御要素付きのユーザインタフェース)に置き換える(11010)(例えば、第2のユーザインタフェースは、第1の物理的オブジェクトと比較して、第1の物理的オブジェクトに対応する拡張ユーザインタフェースに対応する)。いくつかの実施形態では、ユーザの手が第1の物理的オブジェクト近傍で検出される(例えば、ホバー入力が検出される)と、コンピュータシステムは、第2のユーザインタフェースに置き換わる第3のユーザインタフェースで更に多くの情報(過去/将来の歌、拡張コントロール)を表示する。いくつかの実施形態では、第1のユーザインタフェースは、キーボードのインジケーションを含み、第2のユーザインタフェースは、テキスト入力のためのキーを有するキーボードを含み、第1の物理面は、物理テーブルのテーブルトップである。キーボードのインジケーションは、ユーザがテーブルトップを見るときに表示され、キーボードは、ユーザがテーブルトップを見て、タイピングの姿勢でテーブルトップの上方に手を浮かばせると表示される。いくつかの実施形態では、キーボードのキーは、ユーザがテーブルトップの上方で手を浮かばせると、テーブルトップに対応する三次元シーン内の位置からポップアップする。いくつかの実施形態では、ユーザの指がテーブルトップを押す又はテーブルトップにタッチすると、テーブルトップ上のタッチされた位置に対応する位置でキーが押し下げられ、任意選択的に、大きくなるように見える。ユーザの指がテーブルトップから持ち上げられると、キーは元のサイズに復元される。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第2のユーザインタフェースを表示している間、コンピュータシステムは、第1の相互作用基準が満たされた(例えば、ユーザ相互作用のレベルが、ユーザ相互作用の第1のレベルに戻る)ことを検出する。第2のユーザインタフェースの表示後に第1の相互作用基準が満たされたことを検出したことに応答して、コンピュータシステムは、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置で第2のユーザインタフェースの表示を第1のユーザインタフェースの表示に置き換える。例えば、いったんユーザ相互作用のレベルが、拡張ユーザインタフェースを表示するために必要な閾値レベルを下回ったときに、拡張ユーザインタフェースの表示を停止する。いくつかの実施形態では、ユーザ相互作用のレベルが更に低下し、第1の相互作用基準も満たされない場合、コンピュータシステムは、第1のユーザインタフェースの表示も同様に停止する。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクト(例えば、スピーカ)の第1の物理面又はその表現の位置に対応する位置に第1のユーザインタフェース(例えば、メディア再生ユーザインタフェース)を表示している間、コンピュータは、第3の相互作用基準が満たされたことを検出し、第3の相互作用基準は、ユーザと第1の物理的オブジェクトとは別個の第2の物理的オブジェクト(例えば、スマートランプ)との間のユーザ相互作用の第1のレベル(例えば、ユーザ又はユーザの手が動かないが、ユーザの視線が第1の物理的オブジェクトから第2の物理的オブジェクトに移動しているとき)が検出されたときに満たされる第3の基準を含む。第3の相互作用基準が満たされたことを検出したことに応答して、コンピュータシステムが、三次元シーン内の第1の物理的オブジェクト(例えば、スピーカ)の第1の物理面の位置又はその表現に対応する位置で、第1のユーザインタフェース(例えば、メディア再生ユーザインタフェース)の表示を停止し、コンピュータシステムが、三次元シーン内の第2の物理的オブジェクト(例えば、スマートランプ)の第2の物理面又はその表現の位置に対応する位置に第3のユーザインタフェース(例えば、照明制御ユーザインタフェース)を表示する。例えば、ユーザの視線が第1の物理的オブジェクトから第2の物理的オブジェクトに移るとき、ユーザの手が、第1の物理的オブジェクト及び第2の物理的オブジェクトの両方の近傍での移動を伴わずに空中に浮かんでいる間、コンピュータシステムは、第1の物理的オブジェクトの表面に重なる第1の物理的オブジェクトに対応するユーザインタフェースの表示を停止し、その代わりに、三次元シーン内の第2の物理的オブジェクトの表面に重なる第2の物理的オブジェクトに対応するユーザインタフェースを表示する。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第1のユーザインタフェースを表示している間、コンピュータシステムは、第1のアクション基準を満たす第1の入力を検出し、第1のアクション基準は、第1のユーザインタフェースに含まれる第1のオプションのアクティブ化に対応する(例えば、第1のアクティブ化基準は、タップ入力を検出するための基準である)。第1のユーザインタフェースが表示されている間に第1のアクション基準を満たす第1の入力を検出したことに応答して、コンピュータシステムは、第1のユーザインタフェースに含まれる第1のオプション)に対応する第1の動作を実行する(例えば、第1の物理的オブジェクト(例えば、スピーカ又はステレオ)に関連付けられたメディアプレーヤの再生/休止機能をアクティブ化する)。いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第1のユーザインタフェースを表示している間、コンピュータシステムは、第2のアクション基準を満たす第2の入力を検出し、第2のアクション基準は、第1のユーザインタフェースに含まれる第2のオプションのアクティブ化に対応し(例えば、第2の動作基準は、スワイプ入力を検出するための基準、又はツイスト入力を検出するための基準である)、第1のユーザインタフェースが表示されている間に第2のアクション基準を満たす第2の入力を検出したことに応答して、コンピュータシステムは、第1のユーザインタフェースに含まれる第2のオプションに対応する第2の動作を実行する(例えば、第1の物理的オブジェクト(例えば、スピーカ又はステレオ)に関連付けられたメディアプレーヤの早送り又は巻戻し機能をアクティブ化する、又は第1の物理的オブジェクトのボリューム若しくは出力レベルを調整する)。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第2のユーザインタフェースを表示している間、コンピュータシステムは、第3のアクション基準を満たす第2の入力を検出し、第3のアクション基準は、第2のユーザインタフェースに含まれる第3のオプションのアクティブ化に対応する(例えば、第3のアクション基準は、第2のユーザインタフェースに含まれる第1のユーザインタフェースオブジェクトに向けられた視線入力と共にタップ入力を検出するための基準である)。第2のユーザインタフェースが表示されている間に第3のアクション基準を満たす第1の入力を検出したことに応答して、コンピュータシステムは、第2のユーザインタフェースに含まれる第3のオプションに対応する第3の動作を実行する(例えば、第1の物理的オブジェクト(例えば、スピーカ又はステレオ)に関連付けられたメディアプレーヤの異なるアルバムに切り替わる)。いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面又はその表現の位置に対応する位置に第2のユーザインタフェースを表示している間、コンピュータシステムは、第4のアクション基準を満たす第4の入力を検出し、第4のアクション基準は、第2のユーザインタフェースに含まれる第4のオプションのアクティブ化に対応し(例えば、第4のアクション基準は、第2のユーザインタフェースに含まれる第2のユーザインタフェースオブジェクトに向けられた視線入力を伴うスワイプ入力を検出するための基準である)、第2のユーザインタフェースが表示されている間に第4のアクション基準を満たす第4の入力を検出したことに応答して、コンピュータシステムは、第2のユーザインタフェースに含まれる第4のオプションに対応する第4の動作を実行する(例えば、第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つ以上の通知(例えば、スピーカ又はスマートランプに対応するステータス又は警告に関連する通知(例えば、「バッテリ残量低下」、「タイマを20分に設定」))を表示する。
いくつかの実施形態では、第2のユーザインタフェースは、テキスト入力のための複数の文字キーを含むキーボードを含む。例えば、ユーザが第1の物理的オブジェクトとの第2のレベルの相互作用を有するとき(例えば、ユーザがスピーカを見て両手を挙げる)、コンピュータは、ユーザがスピーカに関連付けられた音楽データベースを検索するための検索キーワードを入力する検索インタフェースをキーボードと共に表示する。
いくつかの実施形態では、第1のユーザインタフェースは、第1の物理的オブジェクトの内部状態のインジケーションを表示する。例えば、ユーザが第1の物理的オブジェクトとの相互作用の第1のレベルを有するとき(例えば、ユーザがスピーカ又はスマートランプを見る)、コンピュータシステムは、第1の物理的オブジェクトの第1の物理面に重なる第1の物理的オブジェクトの内部状態(例えば、現在再生されているアルバム/曲の名称、「バッテリ残量低下」、「タイマを20分に設定」など)を表示する。
いくつかの実施形態では、第2のユーザインタフェースは、第1のユーザインタフェースに提供される少なくともサブセットの機能又は情報を提供し、第1のユーザインタフェースで利用できない情報の少なくとも1つの機能又はアイテムを含む。例えば、ユーザが第1の物理的オブジェクトとの相互作用の第1のレベルを有するとき(例えば、ユーザは、スピーカ又はスマートランプを見る)、コンピュータシステムは、第1の物理的オブジェクトの第1の物理面に重なる第1の物理的オブジェクトの内部状態(例えば、現在再生されているアルバム/曲の名称、「バッテリ残量低下」、「タイマを20分に設定」など)の内部状態を表示し、ユーザが第1の物理的オブジェクトとの相互作用の第2のレベルを有するとき(例えば、ユーザは、スピーカ又はスマートランプを見て、手を挙げて入力を提供するための準備完了ジェスチャを行う、又は第1の物理的オブジェクトに近づく)、コンピュータシステムは、第1の物理的オブジェクトの内部状態を表示するユーザインタフェース、並びに第1の物理的オブジェクトの内部状態を変更するための1つ以上のコントロール(例えば、現在再生されている曲/アルバムを変更するためのコントロール、出力を関連するスピーカにルーティングするための制御などである)を表示する。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面の位置に対応する位置に第1のユーザインタフェースが表示されている間(例えば、第1のユーザインタフェースは、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)、コンピュータシステムは、第1のユーザインタフェースを消すための要求に対応する第5の基準(例えば、視線入力が第1のユーザインタフェースに焦点を合わせている間に、スワイプ入力を検出するための基準)を満たすユーザ入力を検出する。第5の基準を満たすユーザ入力を検出したことに応答して、コンピュータシステムは、(例えば、第1のユーザインタフェースを第2のユーザインタフェースに置き換えることなく)第1のユーザインタフェースの表示を停止する。同様に、いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面の位置に対応する位置に第2のユーザインタフェースを表示している間(例えば、第2のユーザインタフェースは、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)、コンピュータシステムは、第2のユーザインタフェースを消すための要求に対応する第6の基準(例えば、視線入力が第2のユーザインタフェースに焦点を合わせている間に、スワイプ入力を検出するための基準)を満たすユーザ入力を検出し、第6の基準を満たすユーザ入力を検出したことに応答して、コンピュータシステムは、(例えば、第2のユーザインタフェースを第1のユーザインタフェースに置き換えることなく)第2のユーザインタフェースの表示を停止する。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面の位置に対応する位置に第1のユーザインタフェース又は第2のユーザインタフェースを表示している間に(第1/第2のユーザインタフェースは、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)、コンピュータシステムは、(例えば、タッチセンサ若しくは近接センサなどの物理面上の1つ以上のセンサ、及び/又はカメラ若しくは深度センサなどのデバイス上の1つ以上のセンサを用いて)第1の物理的オブジェクトの第1の物理面上のユーザ入力を検出する。第1の物理的オブジェクトの第1の物理面上のユーザ入力を検出したことに応答して、第1の物理的オブジェクトの第1の物理面上のユーザ入力が第6の基準(例えば、スワイプ入力、タップ入力、長押し入力、又はダブルタップ入力などを検出するためのそれぞれの基準セット中の第1の基準セット)を満たすという判定に従って、コンピュータシステムは、第1の物理的オブジェクトに対応する第1の動作を実行する。第1の物理的オブジェクトの第1の物理面上のユーザ入力が第6の基準(例えば、スワイプ入力、タップ入力、長押し入力、又はダブルタップ入力などを検出するためのそれぞれの基準のセット中の第2の基準セット)を満たすという判定に従って、コンピュータシステムは、第1の動作とは別個の、第1の物理的オブジェクトに対応する第2の動作を実行する。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面の位置に対応する位置に第1のユーザインタフェース又は第2のユーザインタフェースを表示している間に(例えば、第1/第2のユーザインタフェースは、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)、コンピュータシステムは、視線入力が第1の物理的オブジェクトの第1の物理面に向けられている間にジェスチャ入力(例えば、空中、コントローラ上、又はユーザの手上での手ジェスチャ)を検出する。視線入力が第1の物理的オブジェクトの第1の物理面に向けられている間に、ジェスチャ入力を検出したことに応答して、ジェスチャ入力及び視線入力が第7の基準を満たす(例えば、ジェスチャが、視線入力がユーザインタフェース内のボタン上にある間のタップ入力である)という判定に従って、コンピュータシステムは、第1の物理的オブジェクトに対応する第3の動作(例えば、ボタンと関連付けられた機能)を実行する。ジェスチャ入力及び視線入力が第8の基準を満たす(例えば、ジェスチャが、視線入力がユーザインタフェース内のスライダ上にある間のスワイプ入力である)という判定に従って、コンピュータシステムは、第3の動作とは別個の第1の物理的オブジェクトに対応する第4の動作を実行する(例えば、スライダと関連付けられた値を調節する)。
いくつかの実施形態では、三次元シーン内の第1の物理的オブジェクトの第1の物理面の位置に対応する位置に第1のユーザインタフェース又は第2のユーザインタフェースを表示している間(例えば、第1/第2のユーザインタフェースは、第1の物理的オブジェクトの第1の物理面又はその表現の少なくとも一部上に、又は重なって表示される)、コンピュータシステムは、視線入力が第1の物理的オブジェクトの第1の物理面に向けられている間に(例えば、第1の物理的オブジェクトはユーザの手から遠く離れている)、(タッチセンサ又は近接センサなどの物理面上の1つ以上のセンサ、及び/又はカメラ又は深度センサなどのデバイス上の1つ以上のセンサを用いて)第1の物理的オブジェクトとは別個の第2の物理的オブジェクト(例えば、第2の物理的オブジェクトは、ユーザの手の近傍のテーブルトップ又はコントローラである)の第2の物理面上のジェスチャ入力を検出する。視線入力が第1の物理的オブジェクトの第1の物理面に向けられている間に、第2の物理的オブジェクトの第2の物理面上のジェスチャ入力を検出したことに応答して、ジェスチャ入力及び視線入力が、第9の基準を満たす(例えば、ジェスチャが、視線入力がユーザインタフェース内のボタン上にある間のタップ入力である)という判定に従って、コンピュータシステムは、第1の物理的オブジェクトに対応する第5の動作(例えば、ボタンと関連付けられた関数)を実行し、ジェスチャ入力及び視線入力が第10の基準を満たす(例えば、ジェスチャが、視線入力がユーザインタフェース内のスライダ上にある間のスワイプ入力である)という判定に従って、コンピュータシステムは、第5の動作とは別個の第1の物理的オブジェクトに対応する第6の動作を実行する(例えば、スライダと関連付けられた値を調節する)。
図11における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、10000、及び12000)に関して本明細書で記載された他のプロセスの詳細はまた、図11に関連して上述された方法11000に類似の方法で適用可能であることも留意されたい。例えば、方法11000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択的に、本明細書に記述した他の方法(例えば、方法8000、9000、10000、及び12000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図12は、いくつかの実施形態による、コンピュータ生成三次元環境を生成する(例えば、環境内の音声ベース仮想アシスタントと物理的オブジェクト及び仮想オブジェクトとの間の視覚的相互作用を模倣することを含む)方法12000のフローチャートである。いくつかの実施形態では、方法12000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上の入力デバイス(例えば、カメラ(例えば、カメラ(例えば、ユーザの手元で下方に向く又はユーザの頭部から前方に向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ))、コントローラ、タッチ感知面、ジョイスティック、ボタンなど)と、を含むコンピュータシステム(例えば、図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法12000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法12000の一部の動作が任意選択的に組み合わされ、及び/又はいくつかの動作の順序が任意選択的に変更される。
方法12000において、コンピュータシステムは、表示生成コンポーネントを介して、三次元シーンを表示し(12002)、三次元シーンは、少なくとも第1の物理面(例えば、図7Tの家具7310の前面7312)を有する(第1の物理的オブジェクト(例えば、図7Tの家具7310)(例えば、第1の物理的オブジェクトは、カメラ又は透明なディスプレイを介して三次元シーン内で可視であり、(例えば、最初の可視化され、色、テクスチャ、反射率、及び透明度などの固有の光学特性を備える)と、少なくとも第1の仮想面を有する第1の仮想オブジェクト(例えば、図7Tの仮想オブジェクト7404)(例えば、コンピュータレンダリングされた三次元花瓶又はテーブルトップなどの、模倣表面光学的特性(例えば、模倣反射率、模倣表面テクスチャなど)を有するコンピュータ生成面を有するコンピュータレンダリングされた三次元オブジェクト)と、を含む。第1の物理的オブジェクト及び第1の仮想オブジェクトを含む三次元シーンを表示している間に、コンピュータシステムは、例えば、図7Tに示されるように、音声ベース仮想アシスタントをアクティブ化するという要求を検出する(12004)。音声ベース仮想アシスタントをアクティブ化するという要求を検出したことに応答して(12006)、コンピュータシステムが、(例えば、三次元シーンと相互作用するため)音声コマンドを受信するように構成された音声ベース仮想アシスタントをアクティブ化する。コンピュータシステムはまた、視覚的表現の第1の表示特性(例えば、色、又は輝度)の第1のセットの値(例えば、視覚的表現の様々な部分の単一の値、連続値、又は視覚的表現の様々な部分の別個でかつ離散の値)で音声ベース仮想アシスタントの視覚的表現を表示することを含む、三次元シーン内の音声ベース仮想アシスタントの視覚的表現(例えば、図7U及び7Wの発光楕円7602)を表示する(例えば、発光楕円7602は第1の範囲の輝度と第1の色を有する)。コンピュータシステムは、第1の物理的オブジェクトの第1の物理面の少なくとも一部(例えば、図7U及び7Wの家具7310の前面7312又はその表現)と、第1の仮想オブジェクトの第1の仮想面の少なくとも一部(例えば、図7U及び図7Wの仮想オブジェクト7404の上面)との視覚的外観を、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値に従って修正する(例えば、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値と、第1の物理面及び第1の仮想面の視覚的外観の変化との対応関係は、光がどのように反射され透過されるか、及びオブジェクトが現実世界においてこの光によってどのように照らされるかを定める光伝搬原理などの模倣物理的原理、第1の物理面及び第1の仮想面の実際の又は模倣表面特性、並びに第1の物理面及び第1の仮想面に対する仮想アシスタントの相対位置に基づく)。例えば、図7Uに示されるように、音声ベースアシスタントの表現が第1のレベルの輝度で発光し始めるとき、家具7310の前面の外観は、音声ベースアシスタントの発光表現から放射された模倣照明で照らされて見えるように修正される。矩形ボックスの前面上の模倣照明は、音声ベースアシスタントの発光表現に近い位置ほど強く/明るくなり、音声ベースアシスタントの発光表現から遠い位置ほど弱く/暗くなる。いくつかの実施形態では、模倣照明は、現実世界内の矩形ボックスの前面の物理的特性(例えば、表面テクスチャ、反射率など)、及び三次元シーン内の音声ベースアシスタントの発光表現と矩形ボックスとの間の模倣距離に従って生成される。いくつかの実施形態では、デバイスはまた、音声ベース仮想アシスタントの発光表現によって模倣照明下で矩形ボックスによって(例えば、矩形ボックスの後ろの物理的壁上に)投じられる模倣影を矩形ボックスの隣に追加することによって、三次元シーンの外観を修正する。いくつかの実施形態では、矩形ボックスの前面の外観を修正する(例えば、物理面に対応する位置に半透明オーバーレイを使用する、又は物理面の表現の表示されたピクセル値を直接修正する)ことに加えて、デバイスはまた、音声ベースアシスタントの発光表現から放出される模倣照明によって照らされているように見えるように、仮想楕円オブジェクトの上面の外観を修正する。仮想楕円オブジェクトの上面上の模倣照明は、音声ベースアシスタントの発光表現に近い位置ほど強く/明るくなり、音声ベースアシスタントの発光表現から遠い位置ほど弱く/暗くなる。いくつかの実施形態では、模倣照明は、仮想楕円オブジェクトの上面の模倣物理的特性(例えば、表面テクスチャ、反射率など)、及び三次元シーン内の音声ベースアシスタントの発光表現と仮想楕円オブジェクトとの間の模倣距離に従って生成される。いくつかの実施形態では、デバイスはまた、仮想楕円オブジェクトの隣に模倣影を追加する、又は音声ベースアシスタントの発光表現による模倣照明に従って仮想楕円オブジェクトによって投じられる既存の模倣影を修正することによって、三次元シーンの外観を修正する。
いくつかの実施形態では、第1の仮想オブジェクトの第1の仮想面の少なくとも一部(例えば、図7U及び図7Wの仮想オブジェクト7404の上面)の視覚的外観を音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1の値のセットに従って修正することは、第1の仮想オブジェクトの第1の仮想面の少なくとも一部のそれぞれの輝度を音声ベース仮想アシスタントの視覚的表現の増加した輝度値に従って(例えば、第1の仮想オブジェクトの第1の仮想面の一部(例えば、表示生成コンポーネント上のユーザに不可視となり得る部分)に面する音声ベース仮想アシスタントの視覚的表現の一部に対応する増加した輝度値に従って)増加させることを含む。
いくつかの実施形態では、第1の仮想オブジェクトの第1の仮想面の少なくとも一部(例えば、図7U及び図7Wの仮想オブジェクト7404の上面)の視覚的外観を音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1の値のセットに従って修正することは、第1の仮想オブジェクトの第1の仮想面の少なくとも一部のそれぞれの色を音声ベース仮想アシスタントの視覚的表現の変化した色値に従って(例えば、第1の仮想オブジェクトの第1の仮想面の一部(例えば、表示生成コンポーネントに上のユーザに不可視の部分)に面する音声ベース仮想アシスタントの視覚的表現の一部に対応する変化した色値に従って)変更することを含む。
いくつかの実施形態では、第1の物理的オブジェクトの第1の物理面の少なくとも一部の視覚的外観(例えば、図7U及び図7Wの家具7310の前面7312又はその表現)を音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値に従って修正することは、第1の物理的オブジェクトの第1の物理面の少なくとも一部に対応する三次元シーンの部分のそれぞれの輝度を、音声ベース仮想アシスタントの視覚的表現の増加した輝度値に従って(例えば、第1の物理的オブジェクトの第1の物理面の一部(例えば、表示生成コンポーネント上でユーザにとって不可視となり得る部分)に面する音声ベース仮想アシスタントの視覚的表現の一部に対応する輝度値の増加に従って)増加させることを含む。
いくつかの実施形態では、第1の物理的オブジェクトの第1の物理面の少なくとも一部の視覚的外観(例えば、図7U及び図7Wの家具7310の前面7312又はその表現)を音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値に従って修正することは、第1の物理的オブジェクトの第1の物理面の少なくとも一部に対応する三次元シーンの部分のそれぞれの色を、音声ベース仮想アシスタントの視覚的表現の変化した色値に従って(例えば、第1の物理的オブジェクトの第1の物理面の一部(例えば、表示生成コンポーネント上でユーザにとって不可視となり得る部分)に面する音声ベース仮想アシスタントの視覚的表現の一部に対応する変化した色値に従って)変更することを含む。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化するという要求を検出したことに応答して、コンピュータシステムは、表示生成コンポーネントを介して現在表示されている三次元シーンの一部の周辺領域の視覚的外観を、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1の値のセットに従って修正する(例えば、周辺領域の輝度を増加させる、又は色若しくは色相を変更する)。例えば、仮想アシスタントが三次元シーン内で発光紫色楕円によって表される場合、ユーザの視野の周辺領域は、音声ベース仮想アシスタントに対する音声コマンドが、現在ユーザの視野内にある三次元シーンの部分内のオブジェクト(単数又は複数)に対して実行されることを示すために、不鮮明な発光縁部を用いて表示される。例えば、ユーザが部屋を見回すと、ユーザの視野の中央領域は透明であり、紫色のビネットで囲まれており、ユーザの視野の中央領域内のオブジェクトは音声コマンドの標的である、又は音声ベース仮想アシスタントによって検出された音声コマンドのコンテキストを提供する(例えば、「これをオンにして下さい」又は「この写真を変更して下さい」)。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化するという要求を検出することは、第1の基準を満たす視線入力を検出することを含み、第1の基準は、視線入力が三次元シーン内の音声ベース仮想アシスタントの視覚的表現に対応する位置に向けられたときに満たされる基準を含む(例えば、仮想アシスタントは、ユーザが仮想アシスタントの視覚的表現を見つめたときにアクティブ化される)。いくつかの実施形態では、第1の基準はまた、視線入力が所定の視線固定性及び持続時間閾値を満たすときに満たされる基準を含む。いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化するという要求は、所定のトリガコマンド「ヘイ、アシスタント」を含む。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化するという要求を検出したことに応答して(例えば、第1の基準を満たす視線入力を検出したことに応答して)、音声ベース仮想アシスタント(例えば、図7U及び図7Wの発光楕円7602)の視覚的表現を三次元シーンに表示することは、音声ベース仮想アシスタントの視覚的表現を三次元シーン内の第1の位置から第2の位置に移動させることを含む(例えば、ユーザが休止状態の仮想アシスタントを見つめると、仮想アシスタントは元の位置からポップアップする(例えば、ユーザの視野の中心に、又は元の位置から少し離れてアクティブ化されたことを示す))。
いくつかの実施形態では、音声ベース仮想アシスタントの視覚的表現をアクティブ化する要求を検出したことに応答して(例えば、第1の基準を満たす視線入力を検出したことに応答して)、三次元シーン内の音声ベース仮想アシスタント(例えば、図7U及び図7Wの発光楕円7602)を表示することは、三次元シーン内の音声ベース仮想アシスタントの視覚的表現のサイズを変更することを含む(例えば、ユーザが休止状態の仮想アシスタントを見つめると、仮想アシスタントはサイズが拡大し、次いで元のサイズに戻る、又は再度非アクティブ化されるまで拡大サイズを維持する)。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化する要求を検出したことに応答して(例えば、第1の基準を満たす視線入力を検出したことに応答して)、三次元シーン内の音声ベース仮想アシスタント(例えば、図7U及び図7Wの発光楕円7602)の視覚的表現を表示することは、三次元シーン内の音声ベース仮想アシスタントの視覚的表現の第1の表示特性の値の第1のセットを変更することを含む(例えば、ユーザが休止状態の仮想アシスタントを見つめると、仮想アシスタントは発光する、及び/又は異なる色若しくは色相を有する)。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化する要求を検出したことに応答して(例えば、第1の基準を満たす視線入力を検出したことに応答して)、コンピュータシステムは、音声ベース仮想アシスタントの視覚的表現を取り囲む位置で、三次元シーンの一部の第1の表示特性の値の第2のセットを変更する(例えば、仮想アシスタントが呼び出されたときに、背景(例えば、仮想アシスタントの周りの領域又はスクリーン全体の周りの領域)を不明瞭にする(ぼやかせる、暗くするなど)。
いくつかの実施形態では、音声ベース仮想アシスタントをアクティブ化するという要求を検出することは、第1の基準を満たす視線入力及び第2の基準を満たす音声入力を検出することを含み、第1の基準は、視線入力が三次元シーン内の音声ベース仮想アシスタントの視覚的表現に対応する位置に向けられるときに満たされる基準を含み、第2の基準は、視線入力が第1の基準を満たしている間に音声入力が検出されたときに満たされる基準を含む(例えば、仮想アシスタントは、ユーザが仮想アシスタントの視覚的表現を見つめ、音声コマンドを話すときにアクティブ化される)。いくつかの実施形態では、デバイスは、音声ベース仮想アシスタントがアクティブ化された後に、音声入力を処理して音声アシスタントのユーザコマンドを判定し、仮想アシスタントによる対応する動作の性能をトリガするための入力として仮想アシスタントにユーザコマンドを提供する。いくつかの実施形態では、視線入力が第1の基準又は音声入力が第2の基準を満たさない場合、仮想アシスタントは、音声入力の音声コマンドに対応する動作を実行しない。
いくつかの実施形態では、三次元シーン内に音声ベース仮想アシスタントの視覚的表現(例えば、図7K及び図7Lの発光楕円7602)を表示している間、コンピュータシステムは、音声ベースアシスタントに関する要求に対応する第1の入力を検出して第1の動作を実行し(例えば、シーン内の仮想写真フレーム内の写真を変更する、通信セッションを開始すること、アプリケーションを開始することなど)、第1の入力は、第1の期間にわたる(例えば、第1の入力は、発話入力、視線入力、ジェスチャ入力、又は上記の2つ以上の組み合わせである)。第1の入力を検出したことに応答して、コンピュータシステムは、音声ベース仮想アシスタントの視覚的表現の第1の表示特性を、第1の入力中、第1のセットの値(例えば、単一の値、視覚的表現の様々な部分についての連続的な値の範囲、又は視覚的表現の様々な部分についての離散かつ別個の値)から、第1の値のセットとは別個の第2のセットに変更する。いくつかの実施形態では、デバイスはまた、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の値が第1の入力中に変化するときに、第1の物理的オブジェクトの第1の物理面(例えば、図7U及び図7Wの家具7310の前面又はその表現)の少なくとも一部及び第1の仮想オブジェクトの第1の仮想面の少なくとも一部(例えば、図7U及び7Wの仮想オブジェクト7602の上面)の視覚的外観を、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第2のセットの値に従って修正する。例えば、ユーザが仮想アシスタントに発話している間、仮想アシスタントの視覚的表現は、脈動光、様々な色、又は動的色/光パターンで発光する。
いくつかの実施形態では、三次元シーン内の音声ベース仮想アシスタントの視覚的表現(例えば、図7U及び図7Wの発光楕円7602)を表示している間、コンピュータシステムは、音声ベースアシスタントに関する要求に対応する第2の入力を検出して第2の動作を実行する(例えば、シーン内の仮想写真フレーム内の写真を変更する、通信セッションを開始する、アプリケーションを開始するなど)(例えば、第2の入力は、発話入力、視線入力、ジェスチャ入力、又は上記のうちの2つ以上の組み合わせである)。第2の入力を検出したことに応答して、コンピュータシステムは、第2の動作の実行を開始する(例えば、アプリケーションを起動する、メディアファイルを再生する、追加情報又は質問に対する回答を求める要求などのオーディオ出力を生成する)。コンピュータシステムはまた、第2の動作の実行中、音声ベース仮想アシスタントの視覚的表現の第1の表示特性を、第1のセットの値(例えば、単一の値、視覚的表現の様々な部分についての連続的な値の範囲、又は視覚的表現の様々な部分についての別個かつ離散の値)から、第1のセットの値とは別個の第3のセットの値に変更する。いくつかの実施形態では、デバイスはまた、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の値が仮想アシスタントによる第2の動作の実行中に変化するときに、第1の物理的オブジェクトの第1の物理面(例えば、図7U及び図7Wの家具7310の前面7312又はその表現)の少なくとも一部及び第1の仮想オブジェクトの第1の仮想面の少なくとも一部(例えば、図7U及び7Wの仮想オブジェクト7404の上面)の視覚的外観を、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第3のセットの値に従って修正する。例えば、ユーザが仮想アシスタントに話しかけている間、仮想アシスタントの視覚的表現は、変化しない又は第1の様式で変化する。いったん仮想アシスタントが、ユーザから受信した音声コマンドで要求された動作の実行を開始すると、仮想アシスタントは、第2の様式で変化する(例えば、異なるパルス光、変動する色、又は動的な色/光パターンを発する)。いくつかの実施形態では、第2の動作は、任意選択的に、ユーザの第2の入力に応答する仮想アシスタントからの音声応答である(例えば、質問に応答する、ステータスを提供する、どんな仮想アシスタントが可能であるかを知らせる、仮想アシスタントが要求を理解し、要求された動作を実行することを通知する、ユーザにコマンドを確認するように要求するなど)。
いくつかの実施形態では、音声ベース仮想アシスタントの視覚的表現は、第1の仮想オブジェクト及び第1の物理的オブジェクトを含む三次元環境内の所定の位置を有し(例えば、三次元環境は拡張現実環境である)、音声ベース仮想アシスタントをアクティブ化するという要求は、所定の位置に向けられた入力(例えば、視線入力、ジェスチャ入力、又は両方の組み合わせ)を含む。(例えば、仮想アシスタントの視覚的表現がユーザの現在の視野内にない場合、ユーザは、向きを変えて仮想アシスタントの所定の位置を見て、を変えることができ、仮想アシスタントをアクティブ化するために必要な入力(例えば、所定の基準を満たす視線入力、ユーザの視線が所定の位置に焦点を合わせている間に、仮想アシスタントを起動する音声入力)を提供することができる。
いくつかの実施形態では、表示生成コンポーネントを介して、第1の物理的オブジェクト及び第1の仮想オブジェクトを含む三次元シーン内の音声ベース仮想アシスタントの視覚的表現を表示している間、コンピュータシステムは表示生成コンポーネント(例えば、ディスプレイ、プロジェクタ、ヘッドアップディスプレイ、又はHMD)の移動を検出し、音声ベース仮想アシスタントの視覚的表現は、表示生成コンポーネントの移動の開始時に、表示生成コンポーネントの第1の部分に対応する三次元シーン内の第1の位置に表示される(例えば、仮想アシスタントの視覚的表現の位置と配向は、HMDを装着しているユーザの視野の左半分の中央、又はディスプレイの下半分の中央など、又はユーザの視野の周囲を囲む発光効果(例えば、ユーザが話す、又は仮想アシスタントが反応する際に形状、色、又は輝度を変化させるディスプレイの少なくとも一部の縁部)にある)。表示生成コンポーネントの移動を検出したことに応答して、コンピュータシステムは、音声ベース仮想アシスタントの視覚的表現を、第1の位置とは異なる三次元シーン内の第2の位置に移動させ、三次元シーン内の第2の位置は、表示生成コンポーネントの第1の部分に対応するように表示生成コンポーネントの移動に従って更新される(例えば、三次元シーンに対する仮想アシスタントの位置は、表示生成コンポーネントの移動中に連続的に更新されるため、仮想アシスタントの位置/姿勢は、表示生成コンポーネントに対して(例えば、ユーザの頭部/目に対して)変更されないままである)。いくつかの実施形態では、表示生成コンポーネントの移動中に、三次元シーン内の音声ベース仮想アシスタントの視覚的表現の位置が変化するにつれ、三次元シーン内の第1の仮想オブジェクト及び第1の物理的オブジェクトの相対位置も変化する。三次元シーン内の相対位置のこれらの変化に応答して、デバイスは、仮想アシスタントの第1の表示特性を使用して、第1の仮想オブジェクトの第1の仮想面と第1の物理的オブジェクトの第1の物理面との外観を修正するように調節する(例えば、パラメータを使用して、仮想及び物理面上の光反射及び影形成を模倣する)(例えば、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値と、第1の物理面及び第1の仮想面の視覚的外観の変化との対応関係は、光がどのように反射され透過されるか、及びオブジェクトが現実世界においてこの光によってどのように照らされるかを定める光伝搬原理などの模倣物理的原理、第1の物理面及び第1の仮想面の実際の又は模倣表面特性、並びに第1の物理面及び第1の仮想面に対する仮想アシスタントの相対位置に基づく)。
いくつかの実施形態では、表示生成コンポーネントを介して、第1の物理的オブジェクト及び第1の仮想オブジェクトを含む三次元シーン内の音声ベース仮想アシスタントの視覚的表現を表示している間に、コンピュータシステムは、表示生成コンポーネント(例えば、ディスプレイ、プロジェクタ、ヘッドアップディスプレイ、又はHMD)の移動を検出し、音声ベース仮想アシスタントの視覚的表現が、表示生成コンポーネントの移動の開始時に、第1の仮想オブジェクトと第1の物理的オブジェクトに対する三次元シーン内の第1の位置に表示される(例えば、仮想アシスタントの視覚的表現の位置及び配向は、第1の仮想オブジェクトの上方であり、第1の物理的オブジェクトよりも第1の仮想オブジェクトに近い)。表示生成コンポーネントの移動を検出したことに応答して、コンピュータシステムは、三次元シーン内の第1の位置で音声ベース仮想アシスタントの視覚的表現を維持しながら、表示生成コンポーネントの移動に従って、三次元シーンに対する表示生成コンポーネントの視点を変更する(例えば、三次元シーンに対する仮想アシスタントの位置が環境に固定され、三次元環境のビューが、表示生成コンポーネントの移動中に連続的に更新される)。いくつかの実施形態では、三次元シーン内の音声ベース仮想アシスタントの視覚的表現の位置は、表示生成コンポーネントの移動中に変化しないので、デバイスは、仮想アシスタントの第1の表示特性を使用して、第1の仮想オブジェクトの第1の仮想面と第1の物理的オブジェクトの第1の物理面との外観を修正するように維持する(例えば、パラメータを使用して、仮想及び物理面上の光反射及び影形成を模倣する)(例えば、音声ベース仮想アシスタントの視覚的表現の第1の表示特性の第1のセットの値と、第1の物理面及び第1の仮想面の視覚的外観の変化との対応関係は、光がどのように反射され透過されるか、及びオブジェクトが現実世界においてこの光によってどのように照らされるかを定める光伝搬原理などの模倣物理的原理、第1の物理面及び第1の仮想面の実際の又は模倣表面特性、並びに第1の物理面及び第1の仮想面に対する仮想アシスタントの相対位置に基づく)。しかしながら、三次元シーンに対する表示生成コンポーネントの視点は、表示生成コンポーネントの移動中に変化するため、第1の物理的オブジェクト及び第1の仮想オブジェクトの外観は、表示生成コンポーネントの移動中に(例えば、オブジェクト及びそれらの表面特性などの変化ではなく、視野の変化に基づいて)異なって見える場合がある。
図12における動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。加えて、本明細書に記載の他の方法(例えば、方法8000、9000、10000、及び11000)に関して本明細書で記載された他のプロセスの詳細はまた、図12に関連して上述された方法12000に類似の方法で適用可能であることも留意されたい。例えば、方法12000を参照して上述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションは、任意選択的に、本明細書に記述した他の方法(例えば、方法8000、9000、10000、及び11000)を参照して本明細書に記述したジェスチャ、視線入力、物理的オブジェクト、ユーザインタフェースオブジェクト、及び/又はアニメーションの特性のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図8、9、10、11、及び12を参照して先述した動作は、任意選択的に、図1~6に示すコンポーネントにより実施される。いくつかの実施形態では、方法8000、9000、10000、11000、及び12000の態様/動作は、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、それらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。