本開示は、いくつかの実施形態による、コンピュータ生成現実(CGR)体験をユーザに提供するユーザインタフェースに関する。
本明細書で説明されるシステム、方法、及びGUIは、電子デバイスが三次元環境内でオブジェクトと相互作用し、オブジェクトを操作するための改善された方法を提供する。三次元環境は、任意選択的に、1つ以上の仮想オブジェクト、電子デバイスの物理的環境内にある実オブジェクトの1つ以上の表現(例えば、実オブジェクトのフォトリアリスティックな(例えば、「パススルー」)表現として表示されるか、又は表示生成コンポーネントの透明部分を通してユーザに見える)、及び/又は三次元環境内のユーザの表現を含む。
いくつかの実施形態では、電子デバイスは、三次元環境内のユーザの視点に基づいて、三次元環境内の仮想オブジェクトの向きを自動的に更新する。いくつかの実施形態では、電子デバイスは、ユーザ入力に従って仮想オブジェクトを移動させ、ユーザ入力の終了に応じて、更新されたロケーションにオブジェクトを表示する。いくつかの実施形態では、電子デバイスは、仮想オブジェクトが三次元環境内のユーザの視点に向かって配向されるように(例えば、その移動の全体にわたって、及び/又はその終了時に)、更新されたロケーションにおいて(例えば、及び/又は仮想オブジェクトが更新されたロケーションに移動するにつれて)仮想オブジェクトの向きを自動的に更新する。三次元環境内の仮想オブジェクトの向きを自動的に更新することは、ユーザがオブジェクトの向きを手動で調整することを必要とせずに、ユーザが仮想オブジェクトをより自然かつ効率的に見てそれと相互作用することを可能にする。
いくつかの実施形態では、電子デバイスは、三次元環境内の複数のユーザの視点に基づいて、三次元環境内の仮想オブジェクトの向きを自動的に更新する。いくつかの実施形態では、電子デバイスは、ユーザ入力に従って仮想オブジェクトを移動させ、ユーザ入力の終了に応じて、更新されたロケーションにオブジェクトを表示する。いくつかの実施形態では、電子デバイスは、仮想オブジェクトが三次元環境内の複数のユーザの視点に向かって配向されるように(例えば、その移動の全体にわたって、及び/又はその終了時に)、更新されたロケーションにおいて(例えば、及び/又は仮想オブジェクトが更新されたロケーションに移動するにつれて)仮想オブジェクトの向きを自動的に更新する。三次元環境内の仮想オブジェクトの向きを自動的に更新することは、ユーザがオブジェクトの向きを手動で調整することを必要とせずに、ユーザが仮想オブジェクトをより自然かつ効率的に見てそれと相互作用することを可能にする。
いくつかの実施形態では、電子デバイスは、三次元環境内で仮想オブジェクトとユーザの視点との間にある実オブジェクトの外観を修正する。電子デバイスは、任意選択的に、ユーザの視点と三次元環境内の仮想オブジェクトとの間にある実オブジェクト(例えば、実オブジェクトのフォトリアリスティックな(例えば、「パススルー」)表現として表示される、又は表示生成コンポーネントの透明部分を通してユーザに見える)の一部をぼかす、暗くする、又は他の方法で修正する。いくつかの実施形態では、電子デバイスは、仮想オブジェクトの境界からの閾値距離よりも大きい実オブジェクトの一部を修正することなく、仮想オブジェクトの境界からの閾値距離(例えば、5、10、30、50、100センチメートルなど)内にある実オブジェクトの一部を修正する。実オブジェクトの外観を修正することは、ユーザが仮想オブジェクトをより自然かつ効率的に見て、仮想オブジェクトと対話することを可能にする。更に、実オブジェクトの外観を修正することは、ユーザに対する認知的負担を軽減する。
いくつかの実施形態では、電子デバイスは、1つ以上の仮想オブジェクト及び/又は他のユーザを含む三次元環境内のユーザのロケーションを自動的に選択する。いくつかの実施形態では、ユーザは、1人以上の他のユーザ及び1つ以上の仮想オブジェクトを既に含む三次元環境へのアクセスを得る。いくつかの実施形態では、電子デバイスは、三次元環境内の仮想オブジェクト及び他のユーザのロケーション及び向きに基づいて、ユーザを関連付けるロケーション(例えば、ユーザの視点を配置するロケーション)を自動的に選択する。いくつかの実施形態では、電子デバイスは、ユーザ及び仮想オブジェクトの他のユーザのビューを遮ることなく、ユーザが三次元環境内の他のユーザ及び仮想オブジェクトを見ることを可能にするために、ユーザのロケーションを選択する。三次元環境内の仮想オブジェクト及び他のユーザのロケーション及び向きに基づいてユーザを三次元環境内に自動的に配置することは、ユーザが関連付けられるべき三次元環境内のロケーションを手動で選択する必要なく、ユーザが三次元環境内の仮想オブジェクト及び他のユーザを効率的に見て対話することを可能にする。
図1~図6は、(方法800、1000、1200、及び1400に関して以下で説明されるような)CGR体験をユーザに提供するための例示的なコンピュータシステムの説明を提供する。いくつかの実施形態では、図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 LED又はNIR LED))を含むヘッドマウントデバイスの一部である。光源は、ユーザの目(単数又は複数)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において、本明細書に記載されるグリント支援アイトラッキング技術の代わりに、又はそれと組み合わせて使用することができる。
したがって、本明細書の説明は、実世界オブジェクトの表現及び仮想オブジェクトの表現を含む三次元環境(例えば、CGR環境)のいくつかの実施形態を説明する。例えば、三次元環境は、(例えば、電子デバイスのカメラ及びディスプレイを介して能動的に、又は電子デバイスの透明若しくは半透明のディスプレイを介して受動的に)三次元環境内でキャプチャ及び表示される、物理的環境に存在するテーブルの表現を任意選択的に含む。前述のように、三次元環境は、任意選択的に、三次元環境がデバイスの1つ以上のセンサによってキャプチャされ、表示生成コンポーネントを介して表示される物理的環境に基づく複合現実感システムである。複合現実感システムとして、デバイスは、任意選択的に、物理的環境の個別の部分及び/又はオブジェクトが、電子デバイスによって表示される三次元環境内に存在するかのように見えるように、物理的環境の部分及び/又はオブジェクトを選択的に表示することができる。同様に、デバイスは、任意選択的に、実世界において対応するロケーションを有する三次元環境内の個別のロケーションに仮想オブジェクトを配置することによって、仮想オブジェクトが実世界(例えば、物理的環境)に存在するかのように見えるように、三次元環境内に仮想オブジェクトを表示することができる。例えば、デバイスは、任意選択的に、現実の花瓶が物理的環境内のテーブルの上に置かれているかのように見えるように、花瓶を表示する。いくつかの実施形態では、三次元環境内の各ロケーションは、物理的環境内の対応するロケーションを有する。したがって、デバイスが、物理オブジェクトに対して個別のロケーション(例えば、ユーザの手若しくはその近くのロケーション、又は物理テーブル若しくはその近くのロケーションなど)に仮想オブジェクトを表示するものとして説明されるとき、デバイスは、仮想オブジェクトが物理世界内の物理オブジェクト又はその近くにあるかのように見えるように、三次元環境内の特定のロケーションに仮想オブジェクトを表示する(例えば、仮想オブジェクトは、仮想オブジェクトがその特定のロケーションに実オブジェクトであった場合に仮想オブジェクトが表示される物理的環境内のロケーションに対応する三次元環境内のロケーションに表示される)。
いくつかの実施形態では、三次元環境に表示される物理的環境に存在する実世界オブジェクトは、三次元環境にのみ存在する仮想オブジェクトと相互作用することができる。例えば、三次元環境は、テーブルと、テーブルの上に配置された花瓶とを含むことができ、テーブルは、物理的環境内の物理テーブルのビュー(又は表現)であり、花瓶は、仮想オブジェクトである。
同様に、ユーザは、任意選択的に、仮想オブジェクトが物理的環境内の実オブジェクトであるかのように、1つ以上の手を使用して三次元環境内の仮想オブジェクトと対話することができる。例えば、上述のように、デバイスの1つ以上のセンサは、任意選択的に、ユーザの手のうちの1つ以上をキャプチャし、三次元環境内でユーザの手の表現を表示する(例えば、上述の三次元環境内で実世界オブジェクトを表示するのと同様の方法で)か、又はいくつかの実施形態では、ユーザの手は、ユーザインタフェース又は透明/半透明面へのユーザインタフェースの投影又はユーザの目若しくはユーザの目の視野へのユーザインタフェースの投影を表示している表示生成コンポーネントの一部の透明性/半透明性に起因して、ユーザインタフェースを通して物理的環境を見る能力によって、表示生成コンポーネントを介して可視である。したがって、いくつかの実施形態では、ユーザの手は、三次元環境内の個別のロケーションに表示され、物理的環境内の実際の物理オブジェクトであるかのように、三次元環境内の仮想オブジェクトと相互作用することができる三次元環境内のオブジェクトであるかのように扱われる。いくつかの実施形態では、ユーザは、自分の手を動かして、三次元環境内の手の表現をユーザの手の移動と連動して動かすことができる。
以下に説明される実施形態のうちのいくつかでは、デバイスは、任意選択的に、例えば、物理オブジェクトが仮想オブジェクトと相互作用しているか否か(例えば、手が仮想オブジェクトを触っているか、掴んでいるか、保持しているか、又は仮想オブジェクトから閾値距離内かなど)を判定する目的で、物理世界内の物理オブジェクトと三次元環境内の仮想オブジェクトとの間の「有効」距離を判定することができる。例えば、デバイスは、ユーザが仮想オブジェクトと相互作用しているか否か、及び/又はユーザが仮想オブジェクトとどのように相互作用しているかを判定する際に、ユーザの手と仮想オブジェクトとの間の距離を判定する。いくつかの実施形態では、デバイスは、三次元環境内の手のロケーションと、三次元環境内の着目仮想オブジェクトのロケーションとの間の距離を判定することによって、ユーザの手と仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手は、物理世界内の特定のポジションに位置付けられ、デバイスは、任意選択的に、三次元環境内の特定の対応するポジション(例えば、手が物理的な手ではなく仮想的な手である場合に手が表示される三次元環境内のポジション)でそれをキャプチャして表示する。三次元環境内の手のポジションは、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するために、三次元環境内の対象の仮想オブジェクトのポジションと任意選択的に比較される。いくつかの実施形態では、デバイスは、任意選択的に、物理世界におけるポジションを比較することによって(例えば、三次元環境内のポジションを比較することとは対照的に)、物理オブジェクトと仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するとき、デバイスは、任意選択的に、仮想オブジェクトの物理世界内の対応するロケーション(例えば、仮想オブジェクトが仮想オブジェクトではなく物理オブジェクトである場合に仮想オブジェクトが物理世界内に位置するポジション)を判定し、次いで、対応する物理的ポジションとユーザの1つ以上の手との間の距離を判定する。いくつかの実施形態では、任意の物理オブジェクトと任意の仮想オブジェクトとの間の距離を判定するために、同じ技術が任意選択的に使用される。したがって、本明細書に記載されるように、物理オブジェクトが仮想オブジェクトと接触しているか否か、又は物理オブジェクトが仮想オブジェクトの閾値距離内にあるか否かを判定するとき、デバイスは、物理オブジェクトのロケーションを三次元環境にマッピングし、及び/又は仮想オブジェクトのロケーションを物理世界にマッピングするために、上述の技術のいずれかを任意選択的に実行する。
いくつかの実施形態では、同じ又は同様の技術を使用して、ユーザの視線がどこに向けられているか、及び/又はユーザによって保持された物理的スタイラスがどこに向けられているかを判定する。例えば、ユーザの視線が物理的環境内の特定のポジションに向けられている場合、デバイスは、任意選択的に、三次元環境内の対応するポジションを判定し、仮想オブジェクトがその対応する仮想ポジションに位置する場合、デバイスは、任意選択的に、ユーザの視線がその仮想オブジェクトに向けられていると判定する。同様に、デバイスは、任意選択的に、物理スタイラスの向きに基づいて、スタイラスが物理世界のどこを指しているかを判定することができる。いくつかの実施形態では、この判定に基づいて、デバイスは、スタイラスが指している物理世界内のロケーションに対応する三次元環境内の対応する仮想ポジションを判定し、任意選択的に、スタイラスが三次元環境内の対応する仮想ポジションを指していると判定する。
同様に、本明細書で説明される実施形態は、ユーザ(例えば、デバイスのユーザ)のロケーション及び/又は三次元環境内のデバイスのロケーションを指し得る。いくつかの実施形態では、デバイスのユーザは、電子デバイスを保持しているか、装着しているか、又はそうでなければ電子デバイスに若しくはその近くに位置している。したがって、いくつかの実施形態では、デバイスのロケーションは、ユーザのロケーションの代用として使用される。いくつかの実施形態では、物理的環境内のデバイス及び/又はユーザのロケーションは、三次元環境内の個別のロケーションに対応する。いくつかの実施形態では、個別のロケーションは、三次元環境の「カメラ」又は「ビュー」がそこから延在するロケーションである。例えば、デバイスのロケーションは、物理的環境内のロケーション(及び三次元環境内のその対応するロケーション)であり、そこから、ユーザが、表示生成コンポーネントによって表示される物理的環境の個別の部分に面してそのロケーションに立った場合、ユーザは、物理的環境内のオブジェクトを、それらがデバイスの表示生成コンポーネントによって表示されるのと同じポジション、向き、及び/又はサイズで(例えば、絶対的に及び/又は互いに対して相対的に)見ることになる。同様に、三次元環境内に表示された仮想オブジェクトが物理的環境内の物理オブジェクトであった場合(例えば、三次元環境内と同じ物理的環境内のロケーションに配置され、三次元環境内と同じ物理的環境内のサイズ及び向きを有する)、デバイス及び/又はユーザのロケーションは、デバイスの表示生成コンポーネントによって表示されるのと同じポジション、向き、及び/又はサイズで物理的環境内の仮想オブジェクトをユーザが見るポジションである(例えば、絶対的に、及び/又は互いに対して及び実世界オブジェクトに対して相対的に)。
本開示では、コンピュータシステムとの相互作用に関して、様々な入力方法が説明される。一例が1つの入力デバイス又は入力方法を使用して提供され、別の例が別の入力デバイス又は入力方法を使用して提供される場合、各例は、別の例に関して記載された入力デバイス又は入力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な出力方法が、コンピュータシステムとの相互作用に関して説明される。一例が1つの出力デバイス又は出力方法を使用して提供され、別の例が別の出力デバイス又は出力方法を使用して提供される場合、各例は、別の例に関して記載された出力デバイス又は出力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な方法が、コンピュータシステムを介した仮想環境又は複合現実環境との相互作用に関して説明される。実施例が仮想環境との相互作用を使用して提供され、別の例が複合現実環境を使用して提供される場合、各例は、別の例に関して説明された方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。したがって、本開示は、各例示的な実施形態の説明における実施形態の全ての特徴を網羅的に列挙することなく、複数の例の特徴の組み合わせである実施形態を開示する。
更に、1つ以上のステップが満たされている1つ以上の条件を条件とする本明細書に記載の方法では、記載の方法は、繰り返しの過程にわたって、本方法のステップが条件とする条件の全てが本方法の異なる繰り返しで満たされるように、複数の繰り返しで繰り返されることができることを理解されたい。例えば、ある方法が、条件が満たされた場合に第1のステップを実行し、条件が満たされなかった場合に第2のステップを実行することを必要とする場合、当業者であれば、条件が満たされ、満たされなくなるまで、請求項に記載のステップが、特定ではない順序で繰り返されることを理解するであろう。したがって、満たされた1つ以上の条件に依存する1つ以上のステップで説明される方法は、方法に記載された各条件が満たされるまで繰り返される方法として書き換えられることができる。しかしながら、これは、システム又はコンピュータ可読媒体が、対応する1つ以上の条件の充足に基づいて条件付き動作を実行するための命令を含み、したがって、方法のステップが条件付きである全ての条件が満たされるまで、方法のステップを明示的に繰り返すことなく偶発性が満たされたか否かを判定することができる、システム又はコンピュータ可読媒体の請求項には必要とされない。当業者はまた、条件付きステップを有する方法と同様に、システム又はコンピュータ可読記憶媒体が、条件付きステップの全てが実行されたことを確実にするために必要な回数だけ方法のステップを繰り返すことができることを理解するであろう。
ユーザインタフェース及び関連するプロセス
ここで、ユーザインタフェース(「UI」)の実施形態、及び、表示生成コンポーネント、1つ以上の入力デバイス、及び(任意選択的に)1つ又は複数のカメラを備えた、ポータブル多機能デバイス又はヘッドマウントデバイスなどのコンピュータシステムにおいて実行され得る関連プロセスに注目する。
図7A~図7Cは、いくつかの実施形態による、電子デバイスが三次元環境内のユーザの視点に基づいて三次元環境内の仮想オブジェクトの向きを自動的に更新する方法の例を示す図である。
図7Aは、表示生成コンポーネント120を介して、ユーザインタフェース上に三次元環境704を表示する電子デバイス101を示す。図1~図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成コンポーネント120(例えば、タッチスクリーン)及び複数の画像センサ314を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101は、ユーザが電子デバイス101と相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120は、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示されるユーザインタフェースはまた、ユーザインタフェースをユーザに表示する表示生成コンポーネントと、物理的環境及び/若しくはユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、並びに/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実装され得る。
図7Aに示されるように、三次元環境704は、アプリAの表現706、アプリBの表現708、及び仮想オブジェクト710を含む複数の仮想オブジェクトを含む。いくつかの実施形態では、三次元環境704は、固定基準系(例えば、重力、電子デバイス101の物理的環境内の1つ以上のオブジェクト)に対して提示される。いくつかの実施形態では、三次元環境704は、電子デバイスの物理的環境内のオブジェクトの表現に基づく及び/又はそれを含む三次元環境であり、三次元環境704が提示される基準フレームは、電子デバイス101の物理的環境又は物理的環境内の1つ以上のオブジェクトである。図7Aは、三次元環境704の鳥瞰図を示す凡例712を含む。凡例712は、三次元環境内のアプリAの表現706、アプリBの表現708、仮想オブジェクト710、及びユーザ714のポジション及び向きを示す。図7Aはまた、三次元環境内のユーザの視点から三次元環境704を表示する電子デバイス101を示す。
凡例712によって示されるように、アプリAの表現706及びアプリBの表現708は、ユーザ714に向かって傾けられた三次元環境704内の向きを有する。例えば、アプリAの表現706は、ユーザ714の左側にあるので、アプリAの表現706の向きは、ユーザ714に向かって傾くように右に傾けられる。別の例として、アプリBの表現708は、ユーザ714の右にあるので、アプリBの表現708の向きは、ユーザ714に向かって傾けられるように左に向かって傾けられる。このため、アプリAの表現706とアプリBの表現708とは、互いに向きが異なっている。いくつかの実施形態では、アプリケーションの表現は、表現の片側にアプリケーションのコンテンツを含む。例えば、三次元環境704においてユーザ714に面するアプリAの表現706の側は、アプリAのユーザインタフェースのコンテンツを含む。同様に、例えば、三次元環境704においてユーザ714に面するアプリBの表現708の側は、アプリBのユーザインタフェースのコンテンツを含む。
いくつかの実施形態では、電子デバイス101は、(例えば、アプリケーションの表現を表示するための入力に応じて、ユーザ入力に応じてアプリケーションの表現を移動させた後などに)三次元環境712内でアプリケーションの表現をユーザ714に向けて自動的に配向する。いくつかの実施形態では、アプリケーションの表現をユーザに向かって自動的に配向することは、表現をユーザに向かって傾けることと、表現のコンテンツを含む表現の側をユーザに向かって位置付けることとを含む。いくつかの実施形態では、電子デバイス101は、三次元環境704上に重ね合わされたベクトル場を構築し、及び/又はそれへのアクセスを有し、ベクトルは、三次元環境704内のユーザ714のロケーションを指し、ベクトル場に従って仮想オブジェクト(例えば、アプリケーションの表現など)を配向する。このような向きの設定の結果を以下に説明する。
例えば、図7Aでは、電子デバイス101は、アプリAの表現706上のユーザの視線716を(例えば、アイトラッキングデバイス314を介して)検出する。アプリAの表現706上のユーザの視線を検出したことに応じて、電子デバイス101は、ユーザの視線がアプリAの表現706上で検出されたことを示すユーザインタフェース要素718を表示する。図7Aは、ユーザインタフェース要素718をアプリAの表現706の周りの輪郭として示すが、いくつかの実施形態では、ユーザインタフェース要素718は、異なる形状/外観/ロケーションを有することを理解されたい。例えば、電子デバイス101は、任意選択的に、アプリAの表現706に対するユーザの視線を検出したことに応じて、アプリAの表現706の1つの縁部に沿ってバー又は線などのユーザインタフェース要素を表示する。
アプリAの表現706上でユーザの視線716を検出している間に、電子デバイス101は、(例えば、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、トラックパッド又はタッチスクリーン))を介して)ユーザが手720でジェスチャを行っていることを検出する。例えば、ジェスチャは、ユーザが自分の親指を親指の手の別の指(例えば、人差し指、中指、薬指、小指)にタッチすることである。ユーザの手720で実行されているジェスチャを検出しながら、アプリAの表現706上でユーザの視線716を同時に検出したことに応じて、電子デバイス101は、ジェスチャが維持されている間に、ユーザの手720の移動に従って三次元環境内で表現706を移動させるプロセスを開始する。図7Aに示されるように、ユーザは、他方の指が親指に触れた状態を維持しながら、ユーザの手720をユーザの身体に向かって右に移動させる。
図7Aに示される手720の移動に応じて、電子デバイスは、図7Bに示されるように、その移動に従って(例えば、ユーザ714に向かって右に)三次元環境704内でアプリAの表現706を移動させる。
図7Bは、図7Aに示されるユーザ入力に従って更新されたポジション(例えば、ユーザ714により近く、ここではオブジェクト710とアプリBの表現706との間に位置し、ユーザ704のわずかに右側)にアプリAの表現708を含む三次元環境704を示す。図7Aにおけるユーザの手720の移動に従ってアプリAの表現706のポジションを更新することに加えて、電子デバイス101は、アプリAの表現706の向きも更新する。上述したように、及び図7Aに示すように、電子デバイス101は、アプリAの表現706がユーザに向けられるように右に傾けられている間にユーザ入力を検出する。図7Bに示すように、アプリAの表現706を三次元環境704内でユーザ714のわずかに右のポジションに移動させたことに応じて、電子デバイス101は、三次元環境内でユーザ714に向けて配向し続けるために、アプリAの表現706の向きをわずかに左に傾けるように更新する。アプリAの表現706は、三次元環境704内でユーザ714に面する表現706の側が、アプリAのユーザインタフェースのコンテンツを含む表現706の側であるように配向され続ける。いくつかの実施形態では、アプリAの表現706の向きは、三次元環境704内でユーザ714を指すベクトル場によって定義される。例えば、図7Bの三次元環境704内のアプリAの表現706の向きは、図7Bの三次元環境704内のアプリAの表現706のロケーションにおけるベクトル場の方向である。いくつかの実施形態では、アプリAの表現706の向きは、アプリAの表現706が三次元環境704内で移動されている間、ベクトル場に従って連続的に更新される。
アプリAの表現706の向き及びポジションを変更することに加えて、電子デバイス101は、任意選択的に、三次元環境内でアプリAの表現706を移動させるユーザ入力に応じて、アプリAの表現706のサイズも更新する。図7Aに示すように、電子デバイス101がアプリAの表現706を移動させる入力を検出している間、アプリAの表現706は、凡例712に示すように、三次元環境704内のユーザ714からの個別の距離にある。図7Bの凡例712に示すように、アプリAの表現706の更新されたロケーションは、電子デバイス101がアプリAの表現706を移動させる前のアプリAの表現706のロケーションよりも、三次元環境704内でユーザ714に近い。アプリAの表現706は、アプリAの表現706を移動させる入力が検出された前後に、電子デバイス101によって(例えば、表示生成コンポーネント120を介して)同じ又は同様のサイズで表示されているように見えるが、凡例712に示すように、表現706のサイズは、任意選択的に、表現706をユーザの近くに移動させることに応じて減少する。同様に、いくつかの実施形態では、ユーザ714が三次元環境704内でアプリAの表現706をユーザ714から更に遠くに移動させた場合、電子デバイス101は、任意選択的に表現706のサイズを増加させる。このようにして、電子デバイス101は、三次元環境704内の表現706からユーザ714までの距離が変化しても、表現706を表示するために使用される表示生成コンポーネント120の表示エリアの量を維持することができる。
いくつかの実施形態では、図8A~図13Cを参照して以下でより詳細に説明するように、三次元環境704は複数のユーザを含む。例えば、三次元環境704は、ユーザ714に加えてユーザを含む。いくつかの実施形態では、1つ以上のオブジェクト(例えば、オブジェクト710、表現706、表現708)は、三次元環境704内のユーザのうちの1人(例えば、ユーザ714又は他のユーザのうちの1人)のみにアクセス可能である。いくつかの実施形態では、1人のユーザにのみアクセス可能なオブジェクトは、そのユーザの電子デバイス101によってのみ表示され、そのユーザのみが、オブジェクトに向けられたユーザ入力を提供することができる。例えば、ユーザ714のみがアクセス可能なオブジェクトは、図7A~図7Bに示される電子デバイス101によって表示されるが、他のユーザ(単数又は複数)の電子デバイス(単数又は複数)によっては表示されない。別の例として、他のユーザ(単数又は複数)のみがアクセス可能なオブジェクトは、図7A~図7Bに示される電子デバイス101によって表示されない。
いくつかの実施形態では、仮想オブジェクトの向きは、他のユーザのポジションに基づくことなく、オブジェクトへのアクセスを有するユーザのポジションに基づいて更新される(例えば、三次元環境704に最初に表示されたとき、オブジェクトを移動させる要求に応じてなど)。例えば、三次元環境704が、アプリAの表現706へのアクセスを有していない追加ユーザを含んでいた場合、電子デバイス101は、図7A~図7Bを参照して上述したのと同じ方法でアプリAの表現706の向きを更新する。別の例として、三次元環境704が、アプリAの表現706へのアクセスを有する別のユーザを含み、ユーザ714がアプリAの表現706へのアクセスを有さない場合、アプリAの表現706の向きは、アプリAの表現706のポジションが更新されるとき、ユーザ714のロケーションの代わりに、他のユーザのロケーションに基づいて更新される。
図8A~図9Dを参照して以下でより詳細に説明するように、オブジェクトが三次元環境704内の複数(例えば、全て)のユーザにとってアクセス可能である場合、電子デバイス101は、任意選択的に、オブジェクトへのアクセスを有する複数(例えば、全て)のユーザのポジションに基づいてオブジェクトの向きを更新する(例えば、三次元環境704内に最初に表示されたとき、オブジェクトを移動させる要求に応じてなど)。例えば、三次元環境704が追加ユーザを含む場合、アプリAの表現706を移動させる入力に応じて、電子デバイス101は、ユーザA 714のポジション及び他のユーザのポジションの両方に従って、アプリAの表現706の向きを更新する。したがって、この例では、アプリAの表現706の向きは、アプリAの表現706が図7Bに示されるロケーションに移動された場合であっても、図7Bに示される向きとは異なり得る。いくつかの実施形態では、オブジェクトの片側のみにコンテンツを含むオブジェクト(例えば、仮想テレビ、アプリケーションのユーザインタフェース等、図9A~図9Dの表現706、708、及び724)は、コンテンツを伴う側が三次元環境704内の複数(例えば、全員)のユーザに対面するように配向される。別の例として、図9A~図10Tを参照してより詳細に説明するように、複数の側(例えば、図9A~図9Dの表現922などの仮想オブジェクト、仮想ボードゲーム)上のコンテンツを含むオブジェクトがユーザ間で配向される。
いくつかの実施形態では、仮想オブジェクトへのアクセスを有するユーザの数を増加させる(例えば、仮想オブジェクトを、1人のユーザのみがアクセス可能な状態から、三次元環境内の複数又は全てのユーザがアクセス可能な状態に更新する)入力に応じて、電子デバイスは、オブジェクトを増加した数のユーザにアクセス可能にし、オブジェクトへのアクセスを有するユーザのポジションに従って、オブジェクトの向き、サイズ、及びポジションのうちの1つ以上を更新する。例えば、三次元環境704が表現706へのアクセスを有する複数のユーザを含んでいた場合、表現706の向き及びサイズは、ユーザ714のロケーションのみに基づく代わりに、図7Bの複数のユーザのポジションに基づいて更新される。いくつかの実施形態では、オブジェクトの向きは、(例えば、オブジェクトへのアクセスを有する全てのユーザのポジションに基づくベクトル場に従って)オブジェクトへのアクセスを有する複数のユーザに向かって配向されるように更新される。いくつかの実施形態では、オブジェクトのサイズは、オブジェクトとオブジェクトへのアクセスを有するユーザとの間の距離に基づいて更新され、オブジェクトがオブジェクトへのアクセスを有するユーザの全てに判読可能であることを確実にする(例えば、サイズは、オブジェクトから最も遠いユーザからの距離に基づく少なくとも最小サイズである)。いくつかの実施形態では、ポジション(例えば、複数のユーザがアクセス可能なオブジェクトの表示を開始する要求に応答した初期ポジション)は、全てのユーザがオブジェクトを見ることができるように、オブジェクトへのアクセスを有する複数のユーザのロケーションに基づいて選択される。
いくつかの実施形態では、電子デバイス101は、(例えば、図7Aに示す表現706を移動させる要求などの、オブジェクトを移動させる要求に応じて)電子デバイス101によってそうするように促された後に、オブジェクトが他のユーザと共有された場合にのみ、オブジェクトの向き、サイズ、及び/又はポジションを更新する。いくつかの実施形態では、電子デバイス101は、オブジェクトへのアクセスを有するユーザの数の増加に応じて、オブジェクトのポジション、サイズ、又は向きを更新しない。例えば、電子デバイス101が図7Aに示す三次元環境704を表示している間に、電子デバイス101が三次元環境704に参加する追加ユーザのインジケーションを受信した場合、電子デバイス101は、図7Aに示す入力などの表現706を移動させる要求が受信されるまで、追加ユーザがアプリAの表現706にアクセスしていても、アプリAの表現706を図7Aに示すサイズ、ロケーション、及び向きで表示し続ける。いくつかの実施形態では、オブジェクトが複数のユーザにアクセス可能になると、図7Aの表現706を移動させる要求などのオブジェクトを移動させる入力に応じて、電子デバイス101は、入力に従ってオブジェクトを移動させ、オブジェクトへのアクセスを有するユーザの全てのポジションに従ってオブジェクトのサイズ及び/又は向きを更新して、オブジェクトへのアクセスを有するユーザのオブジェクトの可読性を維持する。
したがって、図7A~図7Bに示すように、いくつかの実施形態では、電子デバイス101は、ユーザ入力に応じてアプリケーションの表現706の向き及び/又はサイズを自動的に更新して、三次元環境704内のアプリケーションの表現706のポジションを更新する。いくつかの実施形態では、電子デバイス101は、これらの仮想オブジェクトのいずれかを移動させる要求に応じて、表現708及びオブジェクト710の向き及び/又はサイズを同様に更新する。いくつかの実施形態では、図7Cを参照して以下で更に詳細に説明されるように、電子デバイス101は、ユーザ714が三次元環境704内のユーザ714のポジションを更新することに応じて、アプリケーション(例えば、及び/又は三次元環境704内の他の仮想オブジェクト)の表現の向き及び/又はサイズを更新することを見合わせる。
図7Cは、ユーザ714が三次元環境704内のユーザのポジションを図7Bにおけるユーザ714のポジションから更新した後の三次元環境704を示す。いくつかの実施形態では、電子デバイスは、電子デバイス101の物理的環境における電子デバイス101の移動を(例えば、1つ以上のジャイロスコープ、加速度計、カメラ、深度センサなどを介して)検出したことに応じて、ユーザ714のポジションを更新する。例えば、電子デバイス101は、電子デバイス101の移動が検出された方向にユーザ714を移動させることによって、三次元環境704内のユーザ714のポジションを更新する。いくつかの実施形態では、電子デバイス101は、三次元環境704内のユーザ714のポジションの移動を要求するユーザ入力に応じて、ユーザ714のポジションを更新する。
図7Cの三次元環境704内のユーザ714のポジションは、凡例712によって示されるように、図7Bの三次元環境704内のポジションよりもアプリA及びオブジェクト710の表現706に近い。ユーザ714のポジションの変化を検出したことに応じて、電子デバイス101は、三次元環境704の表示を更新する。図7Cに示されるように、アプリAの表現706及びオブジェクト710は、図7Bにおけるよりも図7Cにおいて大きなサイズでディスプレイ120によって表示され、ユーザがアプリAの表現706及びオブジェクト710に近接しているため、オブジェクト710及びアプリAの表現706の各々の部分は、電子デバイス101の視野外にある。図7B及び図7Cの凡例712に示すように、三次元環境704内の表現706及び708並びにオブジェクト710のサイズは、三次元環境704内のユーザ714のポジションの更新に応じて不変である(いくつかの実施形態では、オブジェクトのサイズは、ユーザ714の移動が検出されている間、三次元環境704内で同じままである)。更に、図7Cに示すように、アプリBの表現708は、図7Cに示すポジションではもはやユーザ714には見えない。
したがって、図7A~図7Cは、電子デバイス101が、アプリAの表現706を移動させるユーザ入力に応じて、アプリAの表現706のポジション、サイズ、及び/又は向きを更新し、三次元環境704内のユーザ714のポジションの変化を検出したことに応じて、アプリAの表現706、アプリBの表現708、及び仮想オブジェクト710のポジション、サイズ、及び/又は向きを更新することを見合わせることを示す。いくつかの実施形態では、電子デバイス101はまた、これらのオブジェクトのうちの1つを移動させるユーザ入力に応じて、表現708又はオブジェクト710のポジション、サイズ、及び/又は向きを更新する。
いくつかの実施形態では、電子デバイス101は、ユーザ入力に応じて、アプリAの表現706、アプリBの表現708、及び/又はオブジェクト710の表示を開始する。電子デバイスは、任意選択的に、最初に、ユーザ714にとって読みやすく便利な距離(例えば、ユーザがオブジェクトを見てそれと相互作用するのに十分近い距離、三次元環境704内の他のオブジェクトを見るのに十分離れた距離)に仮想オブジェクトを表示する。いくつかの実施形態では、三次元環境704内にユーザ714以外の追加ユーザがいた場合、電子デバイス101は、最初に、両方のユーザがアクセスできる仮想オブジェクトを、両方のユーザにとって判読可能なポジションに表示する。しかしながら、ユーザ714のみがオブジェクトへのアクセスを有する場合、いくつかの実施形態では、電子デバイス101は、他のユーザのポジションに基づくことなく、ユーザ714のポジションに基づいてオブジェクトの初期ポジションを選択する。いくつかの実施形態では、(例えば、ユーザ入力に応じて)三次元環境704内に仮想オブジェクトを最初に表示するとき、ユーザ714が三次元環境704内の唯一のユーザである場合、又はユーザ714がオブジェクトへのアクセスを有する三次元環境704内の唯一のユーザである場合には、電子デバイス101は、オブジェクトのポジションを、第1の閾値(例えば、30、40、50、100センチメートルなど)と第2の閾値(例えば、200、300、400、500センチメートルなど)との間にあるユーザ714からの距離となるように選択する。例えば、図7Aに示す三次元環境704内に追加ユーザが存在し、アプリAの表現706が他のユーザにアクセス可能ではなくユーザ714にアクセス可能であった場合、電子デバイス101は、他のユーザのポジションに基づくことなく(他のユーザは表現706を見ることも対話することもできないため)、三次元環境704内のユーザ714のポジションに基づくポジション、サイズ、及び向きでアプリAの表現706を表示する(例えば、表現706をユーザ714に読みやすくするために)。いくつかの実施形態では、三次元環境704内のオブジェクトへのアクセスを有する複数のユーザがいる場合、電子デバイス101は、最初に、全てのユーザから少なくとも第3の閾値距離(例えば、30、40、50、100センチメートルなど)であり全てのユーザから第4の閾値距離(例えば、200、300、400、500センチメートルなど)未満であるポジションにオブジェクトを表示する。例えば、図7Aに示す三次元環境704内に追加ユーザが存在し、アプリAの表現706がユーザ714及び他のユーザにアクセス可能であった場合、電子デバイス101は、(例えば、表現706をユーザ714及び他のユーザに読みやすくするために)三次元環境704内のユーザ714及び追加ユーザのポジションに基づくポジション、サイズ、及び向きでアプリAの表現706を最初に表示する。
図13A~図14Lを参照して以下でより詳細に説明するように、いくつかの実施形態では、三次元環境704が少なくとも1人のユーザ及び少なくとも1つの仮想オブジェクトを含む間に、電子デバイス101は、三次元環境704に追加されている別のユーザを検出する。いくつかの実施形態では、新しいユーザが三次元環境704に追加されたことに応じて、電子デバイス101は、三次元環境704内の仮想オブジェクトの向きを、三次元環境704に参加したばかりのユーザを含む三次元環境704内の全てのユーザのポジションに基づいて配向されるように更新して、仮想オブジェクトへのアクセスを有する全てのユーザが仮想オブジェクトを確実に判読できるようにする。いくつかの実施形態では、三次元環境内のオブジェクトの向きは、仮想オブジェクトを移動させる入力を検出することなく、ユーザが三次元環境704に加わることに応じて更新される。いくつかの実施形態では、三次元環境704におけるオブジェクトの向きは、オブジェクトを移動させる入力が検出されるまで更新されない。いくつかの実施形態では、三次元環境704内のユーザのサブセット(例えば、1人のユーザ)にのみアクセス可能であり、三次元環境704に追加されたばかりのユーザにはアクセス可能でない1つ以上の仮想オブジェクトは、新しいユーザが三次元環境704に追加されたことに応じて、向きを変更しない。いくつかの実施形態では、仮想オブジェクトがユーザにアクセス可能でないとき、ユーザは、図9Aを参照して以下で説明されるように、三次元環境704内の仮想オブジェクトのポジションのインジケーションを見ることができるが、オブジェクトのコンテンツを見ることはできない。いくつかの実施形態では、電子デバイス101は、電子デバイスのユーザがアクセス可能でない仮想オブジェクトのインジケーションを表示しない。
いくつかの実施形態では、電子デバイス101は、仮想オブジェクトを、三次元環境704内の複数(又は全て)のユーザがアクセス可能な状態から、三次元環境704内の複数(又は全て)のユーザよりも少ないユーザがアクセス可能な状態(例えば、三次元環境704内の1人のユーザがアクセス可能な状態)に更新する。例えば、図7Aに示される三次元環境704が追加ユーザを含み、アプリAの表現706が追加ユーザ及びユーザ714にアクセス可能であった場合、アプリAの表現706は、追加ユーザにアクセス可能ではなく、ユーザ714にアクセス可能になるように更新することが可能である。いくつかの実施形態では、電子デバイス101は、三次元環境704内のユーザ間のロケーションにオブジェクトを移動させる入力に応じて、オブジェクトへのアクセスを有するユーザの数を減少させる。例えば、図7Aに示す三次元環境704が追加ユーザを含み、アプリAの表現706が追加ユーザ及びユーザ714にアクセス可能であった場合、アプリAの表現706を三次元環境704内のユーザ714のロケーションと他のユーザのロケーションとの間のロケーションに移動するための入力を検出したことに応じて、電子デバイス101は、アプリAの表現706を、他のユーザがアクセス可能ではなくユーザ714がアクセス可能になるように更新する。別の例として、電子デバイス101は、三次元環境704内でユーザ714の閾値距離(例えば、0.5、1、2メートルなど)内でオブジェクトを移動させる入力に応じて、オブジェクトにアクセスすることができるユーザの数を減らす。例えば、図7Aに示される三次元環境704が追加ユーザを含み、アプリAの表現706が追加ユーザ及びユーザ714にアクセス可能であった場合、三次元環境704内のユーザ714の閾値距離内のロケーションにアプリAの表現706を移動させる入力を検出したことに応じて、電子デバイス101は、他のユーザにアクセス可能ではなくユーザ714にアクセス可能になるようにアプリAの表現706を更新する。いくつかの実施形態では、仮想オブジェクトが三次元環境704内の第1のユーザにアクセス可能である間、電子デバイス101は、仮想オブジェクトを第2のユーザの閾値距離(例えば、0.5、1、2メートルなど)内のロケーションに移動させるための(例えば、第1のユーザからの)入力を検出する。いくつかの実施形態では、入力に応じて、電子デバイス101は、仮想オブジェクトを第1のユーザがアクセス可能な状態から第2のユーザがアクセス可能な状態に更新する。例えば、図7Aに示す三次元環境704が追加ユーザを含み、アプリAの表現706が他のユーザにアクセス可能ではなくユーザ714にアクセス可能であった場合、三次元環境704内の他のユーザのロケーションの閾値内でアプリAの表現706を移動させる入力を検出したことに応じて、電子デバイス101は、ユーザ714にアクセス可能ではなく他のユーザにアクセス可能となるようにアプリAの表現706を更新する。
いくつかの実施形態では、図9A~図10Tを参照して以下でより詳細に説明するように、電子デバイス101は、ユーザ入力(例えば、仮想オブジェクトを共有するためのユーザ入力)に応じて、仮想オブジェクトを1人のユーザのみがアクセス可能な状態から複数のユーザがアクセス可能な状態に更新する。
図8A~図8Pは、いくつかの実施形態による、ユーザの視点に基づいて三次元環境内の仮想オブジェクトの向きを自動的に更新する方法を示すフローチャートである。いくつかの実施形態では、方法800は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度検知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法800のいくつかの動作は、任意選択的に組み合わされ、及び/又はいくつかの動作の順序は、任意選択的に変更される。
図7Aなどのいくつかの実施形態では、方法800は、表示生成コンポーネント及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイスにおいて実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイスと統合されたディスプレイ(任意選択的にタッチスクリーンディスプレイ)、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影するか、又はユーザインタフェースを1人以上のユーザに見えるようにするための(任意選択的に統合又は外部)ハードウェアコンポーネントなどである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力を受信(例えば、ユーザ入力のキャプチャ、ユーザ入力の検出など)し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例としては、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択的に統合又は外部)、タッチパッド(任意選択的に統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、視線追跡デバイス及び/又は動きセンサ(例えば、ハンドトラッキングデバイス、手動きセンサ)などが挙げられる。
図7Aなどの一部の実施形態では、電子デバイス100(例えば、101)は、表示生成コンポーネントを介して、三次元環境(例えば、704)内の第1のロケーションに表示された第1のアプリケーションの表現(例えば、706)を含む三次元環境(例えば、704)を表示する(802)。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境等のコンピュータ生成現実(CGR)環境である)。いくつかの実施形態では、電子デバイスが環境を表示する視点は、三次元環境に対応する物理的環境内の電子デバイスのロケーションに対応する。いくつかの実施形態では、電子デバイスが環境を表示する視点は、三次元環境内の電子デバイスのユーザの仮想ロケーションに対応する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)内の第1のロケーションにおける第1のアプリケーションの表現(例えば、706)は、三次元環境(例えば、704)内で第1の向きを有する(804)。いくつかの実施形態では、第1のアプリケーションの表現が三次元環境内の第1のロケーションに表示されている間、第1のアプリケーションの表現は、三次元環境内の個別の固定基準系に向けて配向されて表示される。例えば、第1のアプリケーションを起動するための入力を検出したことに応じて、電子デバイスは、第1のアプリケーションを起動するための入力が受信されたユーザに関連付けられたロケーションに向かう向きで第1のロケーションに第1のアプリケーションの表現を表示する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)内の第2のロケーションが、三次元環境(例えば、704)内の第1のユーザ(例えば、714)に関連付けられる(806)。いくつかの実施形態では、電子デバイスは、三次元環境内の第2のロケーションに位置する視点から三次元環境を表示する。いくつかの実施形態では、三次元環境内の第2のロケーションは、電子デバイスの物理的環境内の電子デバイスの物理的ロケーションに対応する。例えば、電子デバイスは、表示生成コンポーネントを介して、物理的環境における電子デバイスの物理的ロケーションに対応する視点からの電子デバイスの物理的環境に対応する仮想環境を表示する。
図7Aなどのいくつかの実施形態では、第1のアプリケーションの表現(例えば、706)を含む三次元環境(例えば、704)を表示している間に、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、移動入力を受信する(808)。いくつかの実施形態では、移動入力を受信することは、電子デバイスと通信する1つ以上のセンサ(例えば、加速度計、ジャイロスコープ、カメラ、深度センサなど)を介して、三次元環境内の第2のロケーションに対応する第1の物理的ロケーションから第2の物理的ロケーションへの電子デバイスの移動を検出することを含む。いくつかの実施形態では、移動入力を受信することは、アイトラッキングデバイスを介して、ユーザの視線の移動を検出することを含む(例えば、ハンドトラッキングデバイスを介して、ユーザの手による所定のジェスチャの実行を検出することなどの選択入力と併せて)。いくつかの実施形態では、移動入力を受信することは、ハンドトラッキングデバイスを介して、ユーザの手の移動を検出することを含み、任意選択的に、ハンドトラッキングデバイスを介して、所定のジェスチャの実行を検出することと併せて行われる。いくつかの実施形態では、移動入力は、キーボード若しくは仮想キーボードのキーのアクティブ化、マウスの移動、タッチ感知面(例えば、タッチスクリーン、トラックパッドなど)上の接触の移動、又は別の方向入力を検出するなど、電子デバイスと通信する入力デバイスを介して検出される。
図7Bなどの一部の実施形態では、移動入力を受信したことに応じて(810)、移動入力が第1のアプリケーションの表現(例えば、706)を第1のロケーションから第1のロケーションとは異なる第3のロケーションに三次元環境(例えば、704)内で(例えば、第1のユーザに関連付けられたロケーションを変更することなく)移動させる要求に対応するという判定に従って(812)、電子デバイス(例えば、101)は、表示生成コンポーネント120を介して、第1のアプリケーションの表現(例えば、706)を三次元環境(例えば、704)内の第3のロケーションに表示する(814)。いくつかの実施形態では、第1のアプリケーションの表現を第1のロケーションから第3のロケーションに移動させる要求に対応する移動入力を受信することは、第1のアプリケーションの表現に関連付けられたユーザインタフェース要素の選択を検出することを含む。いくつかの実施形態では、第1のアプリケーションの表現を第1のロケーションから第3のロケーションに移動させる要求に対応する移動入力を受信することは、ハンドトラッキングデバイスを介して、任意選択的に選択入力を検出することと併せて、ユーザの手の移動を検出することを含む。いくつかの実施形態では、選択入力を検出することは、ハンドトラッキングデバイスを介して、ユーザが所定のハンドジェスチャを実行することを検出することを含む。いくつかの実施形態では、選択入力を検出することは、アイトラッキングデバイスを介して、ユーザが所定の時間(例えば、0.1、0.2、0.3、0.4、0.5、0.75、1秒など)にわたってユーザインタフェース要素を見ていることを検出することを含む。いくつかの実施形態では、第1のアプリケーションの表現を第1のロケーションから第3のロケーションに移動させる要求に対応する移動入力を受信することは、キーボード、トラックパッド、マウス、又はタッチスクリーンなど、電子デバイスと通信する入力デバイスを使用して入力を検出することを含む。いくつかの実施形態では、第3のロケーションは、移動入力の検出の一部として検出された方向入力に基づいて判定される。方向入力を検出する例は、ハンドトラッキングデバイスを用いて、個別の方向におけるユーザの手の移動を検出すること、アイトラッキングデバイスを介して、個別の方向におけるユーザの視線の移動を検出すること、タッチ感知面を介して、接触又はホバリングオブジェクトの移動を検出すること、キーボードを介して、方向キー(例えば、方向入力が割り当てられた矢印キー又は別のキー)の選択を検出することと、マウスなどの入力デバイスの移動を検出することとを含む。いくつかの実施形態では、方向入力は、大きさ及び方向を含む。いくつかの実施形態では、電子デバイスが第1のアプリケーションの表現を移動させる距離は、方向入力の大きさに対応する。いくつかの実施形態では、電子デバイスが第1のアプリケーションの表現を移動させる方向は、方向入力の方向に対応する。
図7Bなどのいくつかの実施形態では、移動入力を受信したことに応じて(810)、電子デバイス(例えば、101)は、三次元環境内で、第1のアプリケーションの表現(例えば、706)を第1のロケーションから第1のロケーションとは異なる第3のロケーションに移動させる要求に移動入力が対応するという判定に従って(812)、第3のロケーションに基づいて(及び、任意選択的に、第1のユーザに関連付けられた第2のロケーションに基づいて)、三次元環境(例えば、704)に対して、第1のアプリケーションの表現(例えば、706)の向きを第1の向きから第1の向きとは異なる第2の向きに更新する(816)。いくつかの実施形態では、第1のアプリケーションの表現の向きは、固定基準系に対して相対的であり、固定基準系に対して更新される。いくつかの実施形態では、第1のアプリケーションの表現が、第1のアプリケーションの表現を移動させる入力を提供したユーザに向くように、第1のアプリケーションの表現が移動入力に応じて移動されるにつれて、第1のアプリケーションの表現の向きは徐々に変化する。例えば、第1のアプリケーションの表現は、第1のアプリケーションに関連する情報が表示される個別の面を有する仮想オブジェクトであり、電子デバイスは、仮想オブジェクトを第1のロケーションから第3のロケーションに移動させることに応じて、個別の面が第1のユーザに関連付けられたロケーションに向かって位置付けられるように、第1のオブジェクトの表現を回転させる。いくつかの実施形態では、電子デバイスは、第1のアプリケーションの表現の向きを変更するための入力を受信することなく、第1のアプリケーションの表現を移動させるための入力のみを受信して、第1のアプリケーションの表現の向きを変更する。いくつかの実施形態では、第1のアプリケーションの表現を(第3のロケーションとは異なる)第4のロケーションに移動させることにより、電子デバイスは、第1のアプリケーションの表現を、固定基準系に対して、第2の外観(例えば、向き)とは異なる第3の外観(例えば、向き)で第4のロケーションに表示する。
図7Cなどのいくつかの実施形態では、移動入力を受信したことに応じて(810)、移動入力が第2のロケーションとは異なる第4のロケーションを第1のユーザ(例えば、714)に(例えば、三次元環境内の第1のアプリケーションの表現のロケーションを変更することなく)関連付ける要求に対応するとの判定に従って、電子(例えば、101)デバイスは、三次元環境(例えば、704)に対する第1のアプリケーションの表現の向きを更新することなく、三次元環境(例えば、704)における第1のロケーションに第1のアプリケーションの表現(例えば、706)の表示を維持する(818)。いくつかの実施形態では、第4のロケーションを第1のユーザに関連付ける要求に対応する移動入力を受信することは、電子デバイスと通信する1つ以上のセンサ(例えば、加速度計、ジャイロスコープ、カメラ(単数又は複数)、距離センサなど)を介して、三次元環境内の第1のロケーションに関連付けられた電子デバイスの物理的環境内の個別のロケーションから、電子デバイスの物理的環境内の異なる個別のロケーションへの電子デバイスの移動を検出することを含む。いくつかの実施形態では、第4のロケーションを第1のユーザに関連付ける要求に対応する移動入力を受信することは、ハンドトラッキングデバイスを用いて、個別の方向におけるユーザの手の移動を検出すること、アイトラッキングデバイスを介して、個別の方向におけるユーザの視線の移動を検出すること、タッチ感知面を介して、接触又はホバリングオブジェクトの移動を検出すること、キーボードを介して、方向キー(例えば、方向入力が割り当てられた矢印キー又は別のキー)の選択を検出することと、マウスなどの入力デバイスの移動を検出することとを含む。いくつかの実施形態では、第4のロケーションは、移動入力の移動の大きさ及び方向に基づいて選択される。いくつかの実施形態では、アプリケーションの表現を移動させることは、アプリケーションの表現及びユーザのロケーションに基づいてアプリケーションの向きを変化させるが、ユーザのロケーションを変化させることは、アプリケーションの表現の向きを変化させない。いくつかの実施形態では、三次元環境内に2人以上のユーザがいる場合、アプリケーションの表現の移動を検出したことに応じて、電子デバイスは、方法1000の1つ以上のステップに従って表現の向きを更新する。
第1のアプリケーションの表現を移動させ、第1のアプリケーションの表現の向きを更新するか、又は第1のアプリケーションの表現の向きを更新せずに第1のユーザに関連付けられたロケーションを変更する上述の方法は、第1のアプリケーションの表現を移動させるときに、アプリケーションの表現をユーザに関連付けられたロケーションに向ける効率的な方法(例えば、第1のアプリケーションの表現の向きを自動的に変更することによって)、及びユーザに関連付けられたロケーションを更新する効率的な方法(例えば、電力を節約するために第1のアプリケーションの表現の向きを更新することを見合わせることによって)を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、使用の誤りを低減しながら、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
図11Aなどのいくつかの実施形態では、三次元環境(例えば、1104)は、表示生成コンポーネント120を介して表示される電子デバイス(例えば、101)の物理的環境の表現を含む(820)。いくつかの実施形態では、物理的環境は、パススルービデオ(例えば、電子デバイスの物理的環境の仮想表現)を含む。いくつかの実施形態では、電子デバイスの周囲の物理的環境は、電子デバイスと通信する1つ以上の可視光センサ(例えば、カメラ)によってキャプチャされ、物理的環境のフォトリアリスティックな表現として表示生成コンポーネントを介して表示される。いくつかの実施形態では、電子デバイスの周囲の物理的環境は、例えば、透明又は半透明の表示生成コンポーネントを介して、ユーザに受動的に提示される。
電子デバイスの物理的環境の表現を三次元環境に含める上述の方法は、電子デバイスの物理的環境の物理コンテンツに対して三次元環境の仮想コンテンツを配向する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、仮想オブジェクトと物理オブジェクトとの間の競合及びそのような競合を解決するのにかかる時間を低減することによって、及びユーザが電子デバイスの環境内の物理オブジェクトに物理的にぶつかるなどのユーザエラーを低減することによって)、使用時のエラーを低減しながら、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)は、表示生成コンポーネント120を介して表示される仮想環境を含む(822)。いくつかの実施形態では、仮想環境は、電子デバイス内のオブジェクト及び/又は電子デバイスの物理的環境に対応しない仮想オブジェクトを含む。例えば、仮想環境は、アプリケーションの表現が表示される仮想設定を作成する仮想オブジェクトを含む。
仮想環境内で第1のアプリケーションの表現の向きを調整する上述の方法は、ユーザに関連付けられた仮想環境内のロケーションに向けて第1のアプリケーションを自動的に配向する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図7Aなどのいくつかの実施形態では、第1のアプリケーションの表現(例えば、706)は第1のサイズで表示されたが、第1のアプリケーションの表現(例えば、706)は第1のロケーションに表示された(824)。図7Bなどのいくつかの実施形態では、移動入力の受信に応じて(826)、移動入力が第1のアプリケーションの表現(例えば、706)を第1のロケーションから第1のロケーションとは異なる第3のロケーションへ三次元環境内で移動させる要求に対応するという判定に従って、電子デバイス(例えば、101)は、第1のアプリケーションの表現(例えば、706)が第3のロケーションに表示されるときに、第1のサイズとは異なる第2のサイズで表示されるように第1のアプリケーションの表現を更新する(828)。いくつかの実施形態では、表現のサイズを更新することは、表現によって占有される表示生成コンポーネントの表示エリアの量を更新することを含む(例えば、このようにしてユーザに表示される)。例えば、ユーザに関連付けられた仮想ロケーションにより近いロケーションに表現を移動させる入力に応じて、電子デバイスは、入力が受信される前よりも表現がユーザに関連付けられた仮想ロケーションにより近いことを伝えるために、表現のサイズを増加させる。いくつかの実施形態では、表現のサイズを更新することは、表現の仮想サイズ(例えば、三次元環境に対する表現のサイズ)を更新することを含む。例えば、ユーザに関連付けられたロケーションにより近い仮想ロケーションに表現を移動させる入力に応じて、電子デバイスは、表現が表示される表示エリアを修正することを見合わせるか、又は表現のサイズを変更することなく表現を異なる仮想距離に移動させることに対応する量とは異なる量だけ表現が表示される表示エリアを修正する。いくつかの実施形態では、表現が第1のロケーションから第3のロケーションに移動されている間、電子デバイスは、表現が移動し、表現が移動している間にサイズが徐々に変化するアニメーションを表示する。
オブジェクトを移動させる要求に対応する入力に応じて表現のサイズを更新する上述の方法は、適切なサイズで第3のロケーションに表現を表示する効率的な方法を提供し(例えば、表現のサイズを調整するための別個の入力なしに)、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Aなどのいくつかの実施形態では、第1のアプリケーションの表現(例えば、908)の向きを更新すること(830)は、第1のアプリケーションの表現(例えば、908)が第1のユーザ(例えば、914A)にとってアクセス可能であるが、三次元環境(例えば、904)内の第5のロケーションに関連付けられた第2のユーザ914Bにとってアクセス可能ではないという判定に従って、第1のユーザ(例えば、914A)に関連付けられた第2のロケーションに基づいて、かつ第2のユーザ(例えば、914B)に関連付けられた第5のロケーションに基づいてではなく、第1のアプリケーションの表現(例えば、908)の向きを更新すること(832)を含む。いくつかの実施形態では、電子デバイスは、三次元環境内の第5のロケーションに第2のユーザの表現を表示し、第2のユーザの電子デバイスは、第5のロケーションの視点から仮想環境を表示する。いくつかの実施形態では、仮想環境内の1つ以上のアプリケーションは、プライベートモードで表示され、プライベートモードでは、仮想環境内のユーザの全て(例えば、1人以上であるが、全て未満)が、プライベートモードでアプリケーションと相互作用する、及び/又はアプリケーションを閲覧する能力を有するわけではない。例えば、第1のアプリケーションがプライベートモードで表示され、第1のユーザのみがアクセス可能である場合、第1のアプリケーションを移動させる入力に応じて、電子デバイスは、表現が移動されている間(例えば、三次元環境内の第2のユーザのロケーションに関係なく)、第1のアプリケーションの表現の向きを第1のユーザの方に向くように更新する。いくつかの実施形態では、第1のアプリケーションを第1のユーザに向けることは、第2のユーザのロケーションとは無関係である。図9Cなどのいくつかの実施形態では、第1のアプリケーションの表現(例えば、906)の向きを更新すること(830)は、第1のアプリケーションの表現(例えば、906)が三次元環境内の第5のロケーションに関連付けられた第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)にとってアクセス可能であるという判定に従って、第1のユーザ(例えば、914A)に関連付けられた第2のロケーション及び第2のユーザ(例えば、914B)に関連付けられた第5のロケーションに基づいて第1のアプリケーションの表現(例えば、906)の向きを更新すること(834)を含む。いくつかの実施形態では、仮想環境内の1つ以上のアプリケーションは、仮想環境内の全てのユーザがパブリックモードでアプリケーションと対話する、及び/又はアプリケーションを閲覧する能力を有するパブリックモードで、又は第1のユーザ及び第2のユーザ(及び潜在的な他のユーザであるが、全てのユーザより少ないユーザ)が第1のユーザ及び第2のユーザにアクセス可能な共有モードでアプリケーションと対話する、及び/又はアプリケーションを閲覧する能力を有する共有モードで表示される。例えば、第1のアプリケーションが共有モードで表示され、第1及び第2のユーザの両方にアクセス可能である場合、第1のアプリケーションを移動させる入力に応じて、電子デバイスは、第1及び第2のユーザの共有視点に向けられるように第1のアプリケーションの表現の向きを更新する。いくつかの実施形態では、アプリケーションの向きは、方法1000の1つ以上のステップに従って、両方のユーザのロケーションに従って更新される。
アプリケーションと対話することができるユーザ(単数又は複数)のみのロケーション(単数又は複数)に基づいてアプリケーションの表現の向きを更新する上述の方法は、アプリケーションへのアクセスを有する全てのユーザがアプリケーションの表現を容易に見ることができるように、アプリケーションを方向付ける効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、電子デバイス(例えば、101)は、第2のアプリケーションの表現を三次元環境(例えば、704)に表示するための個別の入力を検出し(836)、ここで第2のアプリケーションの表現は、個別の入力が検出されたときに三次元環境(例えば、704)に表示されなかった。いくつかの実施形態では、入力は、入力が受信されたときに電子デバイス上で実行されていなかったアプリケーションを起動するための入力、入力が受信されたときに隠されていたユーザインタフェースを見るための入力、又は入力が受信されたときに追加表現を表示することなく電子デバイス上で実行されていたアプリケーションの追加表現を表示するための入力である。いくつかの実施形態では、個別の入力を検出したことに応じて、電子デバイス(例えば、101)は、三次元環境内のユーザの数に基づいて、三次元環境(例えば、704)内の対応するロケーションに第2のアプリケーションの表現を表示する(838)。いくつかの実施形態では、三次元環境内に1人のユーザがいる場合、電子デバイスは、ユーザに関連付けられたロケーションに基づいて第1の個別のロケーションに表現を表示する。いくつかの実施形態では、三次元環境内に2人のユーザがいる場合、電子デバイスは、2人のユーザの両方に関連付けられたロケーションに基づいて、第1の個別のロケーションとは異なる第2の個別のロケーションに表現を表示する(例えば、両方のユーザが表現の同じ側にいる両方のユーザ間のロケーションに向けられるか、又は2人のユーザが表現の異なる側にいる2人のユーザ間に位置する)。いくつかの実施形態では、表現が最初に提示される三次元環境内のロケーションは、表現と相互作用する、及び/又は表現を見ることができるユーザのロケーション(単数又は複数)に基づく。例えば、仮想環境内に3人のユーザが存在し、全てのユーザが表現と相互作用する及び/又は表現を見ることができる場合、電子デバイスは、3人のユーザの各々に関連付けられたロケーションに基づいて、三次元環境内の個別のロケーションに表現を表示する。いくつかの実施形態では、表現の初期ロケーションは、方法1000の1つ以上のステップに従って選択される。
三次元環境内のユーザの数に基づいて三次元環境内のロケーションに第2のアプリケーションの表現を表示する上述の方法は、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、三次元環境内の全てのユーザに適したロケーションに表現を移動させるために必要な入力の数を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する、仮想環境内の全ての関連するユーザに適したロケーションに第2の表現を最初に提示する効率的な方法を提供し、使用時の誤りを低減する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)が第1のユーザ(例えば、714)を含み、他のユーザを含まないという判定に従って、個別のロケーションは、第1のユーザ(例えば、714)の前にある(840)。いくつかの実施形態では、ユーザは、三次元環境内の個別のロケーション及び向きに関連付けられ、表現は、ユーザに関連付けられたロケーションに向かう向きで、ユーザの視線内のロケーションに配置される。図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)が第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)を含むという判定に従って、個別のロケーションは、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)のロケーションに基づいて位置決めされる(842)。いくつかの実施形態では、個別のロケーションは、第1のユーザのロケーションと第2のユーザのロケーションとの間である。いくつかの実施形態では、個別のロケーションは、第1のユーザ及び第2のユーザのロケーションから等距離である。いくつかの実施形態では、第1のユーザ及び第2のユーザは各々、三次元環境内のロケーションに関連付けられ、表現は、ユーザに関連付けられたロケーションの間にあるロケーションに提示される(例えば、表現の第1の側が、第1のユーザに向かって、及び/又は第2のユーザから離れて配向され、表現の第2の側が、第2のユーザに向かって、及び/又は第1のユーザから離れて配向されるように)。いくつかの実施形態では、電子デバイスは、第1のユーザに関連付けられたロケーションに基づいて第1の向きで表現を提示し、第2のユーザの電子デバイスは、第2のユーザに関連付けられたロケーションに基づいて第2の向きで表現を提示する。
1人のユーザがいる場合と2人のユーザがいる場合とで異なる方法でアプリケーションを配置する上述の方法は、表現にアクセスすることができるユーザが容易に見ることができる方法で表現を提示する効率的な方法を提供し、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって(例えば、ユーザ(単数又は複数)が容易に見ることができるロケーションに表現を移動させるのに必要な入力の数を減らすことによって)、使用時の誤りを減らしながら、電力使用量を更に減らし、電子デバイスのバッテリ寿命を改善する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)が第1のユーザ(例えば、714)を含み、他のユーザを含まないという判定に従って、第2のアプリケーションの表現は、第1のユーザに向けて表示される(844)。いくつかの実施形態では、ユーザは、三次元環境内の個別のロケーション及び向きに関連付けられ、表現は、ユーザに関連付けられたロケーションに向かう向きで、ユーザの視線内のロケーションに配置される。図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)が第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)を含むという判定に従って、第2のアプリケーションの表現は、第1のユーザと第2のユーザとの間のロケーションに向けて表示される(846)。いくつかの実施形態では、第2のアプリケーションの表現は、ユーザに関連付けられたロケーションの間ではないロケーションに表示される。いくつかの実施形態では、第2のアプリケーションの表現のロケーション及び向きは、アプリケーションの表現の個別の面/側がユーザに関連付けられたロケーション(例えば、「共有」ロケーションなどのユーザ間のロケーション)に配向されるようなものである。いくつかの実施形態では、両方のユーザが第2のアプリケーションの表現の同じ側にいる(例えば、両方とも第2のアプリケーションの表現の前側にいる)。いくつかの例では、第2のアプリケーションの表現のロケーションは、方法1000の1つ以上のステップに従って選択される。
1人のユーザがいる場合と2人のユーザがいる場合とで異なる方法でアプリケーションを配置する上述の方法は、表現にアクセスすることができるユーザが容易に見ることができる方法で表現を提示する効率的な方法を提供し、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって(例えば、ユーザ(単数又は複数)が容易に見ることができるロケーションに表現を移動させるのに必要な入力の数を減らすことによって)、使用時の誤りを減らしながら、電力使用量を更に減らし、電子デバイスのバッテリ寿命を改善する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)が第1のユーザ(例えば、714)を含み、他のユーザを含まないという判定に従って、個別のロケーションは、第1のユーザからの第1の距離である(848)。いくつかの実施形態では、個別のロケーションは、ユーザに関連付けられた三次元環境内のロケーションからの第1の距離である。いくつかの実施形態では、第1の距離は、ユーザに関連付けられたロケーション、及び三次元環境内の1つ以上の他のオブジェクト(例えば、仮想オブジェクト、実オブジェクト)のロケーション(単数又は複数)に基づいて判定される。図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)が第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)を含むという判定に従って(850)、個別のロケーションは、第1のユーザ(例えば、914A)からの第1の距離とは異なる第2の距離(例えば、第2のユーザからの第3の距離(例えば、第2のユーザに関連付けられた三次元環境内のロケーション))である。いくつかの実施形態では、個別のロケーションは、第1のユーザに関連付けられた三次元環境内のロケーションから第2の距離だけ離れている。いくつかの実施形態では、距離は、第1のユーザ及び第2のユーザの両方が第1のアプリケーションの表現を見ることができるように選択される。個別のロケーション、第2の距離、及び第3の距離は、任意選択的に、第1のユーザ及び第2のユーザに関連付けられたロケーション及び/又は三次元環境内の1つ以上の他のオブジェクト(単数又は複数)(例えば、仮想オブジェクト、実オブジェクト)のロケーションに基づいて選択される。いくつかの実施形態では、個別のロケーションは、方法1000の1つ以上のステップに従って選択される。いくつかの実施形態では、三次元環境内に1人のユーザがいる間、電子デバイスは、ユーザから第1の距離に表現を表示し、三次元環境内に2人以上のユーザがいる間、電子デバイスは、ユーザの共有対象点(例えば、全てのユーザ間のロケーション、全てのユーザを含む環境の領域など)から第2の距離(例えば、第1の距離よりも大きい)に表現を表示する。
1人のユーザが存在する場合と2人のユーザが存在する場合とで、ユーザから異なる距離にアプリケーションを配置する上述の方法は、表現にアクセスすることができるユーザが容易に見ることができる方法で表現を提示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、ユーザ(単数又は複数)が容易に見ることができるロケーションに表現を移動させるために必要な入力の数を減らすことによって)、電力使用量を更に減らし、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを減らす。
図13Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、第1のアプリケーションの表現1306を三次元環境1304内の第1のロケーションに表示している間に、第2のユーザが三次元環境1304に追加されたことを検出し(例えば、インジケーション1330a又は1330bを検出する)、第2のユーザは三次元環境内の第5のロケーションに関連付けられる(852)。いくつかの実施形態では、電子デバイスは、第2のユーザを三次元環境に追加する要求に対応する入力を検出するか、又は電子デバイスは、第2のユーザが三次元環境に参加しているというインジケーションを(例えば、ネットワーク接続を介して)受信する。いくつかの実施形態では、第2のユーザが三次元環境に追加されていることを検出する前に、第1のユーザは、三次元環境内の唯一のユーザである。図13Bなどの一部の実施形態では、第2のユーザ1314Cが三次元環境1304に追加されたことを検出したことに応じて(854)、第1のアプリケーションの表現1306が第1のユーザ1314A及び第2のユーザ1314Cにアクセス可能であるという判定に従って、電子デバイス(例えば、101)は、第1のアプリケーションの表現1306を、第2のロケーション及び第5のロケーションに基づいて三次元環境内の第1のロケーションから第6のロケーションに移動させる(856)(例えば、電子デバイス(例えば、101a)又は(例えば、101b)は、ユーザC 1314Cが三次元環境1304に参加することに応じて表現1306を移動させることができる)。いくつかの実施形態では、第6のロケーションは、方法1000の1つ以上のステップに従って選択される。いくつかの実施形態では、第2のユーザが三次元環境に追加されたことを検出したことに応じて、電子デバイスは、第1のアプリケーションの表現を、両方のユーザに表現を見えるようにするロケーション及び/又は向きで表示されるように更新する。例えば、表現は、コンテンツが表示される個別の側を含み、第6のロケーションは、電子デバイスが両方のユーザに関連付けられたロケーションに向かって表現の個別の側を向けることができるロケーションである。いくつかの実施形態では、第1のアプリケーションの表現のロケーションのみが変化する。いくつかの実施形態では、第1のアプリケーションの表現の向きのみが変化する。いくつかの実施形態では、第1のアプリケーションの表現のロケーション及び向きが変化する。
第2のロケーション及び第5のロケーションに基づいて第1のアプリケーションの表現を移動させる上述の方法は、三次元環境を更新する効率的な方法を提供するので、第1のユーザ及び第2のユーザは両方とも第1のアプリケーションの表現を見ることができ、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、両方のユーザが表現を見ることができるロケーションに表現を配置するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、第1のアプリケーションの表現1306を三次元環境1304内の第1のロケーションに表示している間に、第2のユーザが三次元環境1304に追加されたことを検出し(例えば、インジケーション1330a又は1330bを検出する)、第2のユーザは三次元環境内の第5のロケーションに関連付けられる(858)。いくつかの実施形態では、電子デバイスは、第2のユーザを三次元環境に追加する要求に対応する入力を検出するか、又は電子デバイスは、第2のユーザが三次元環境に参加しているというインジケーションを(例えば、ネットワーク接続を介して)受信する。いくつかの実施形態では、第2のユーザが三次元環境に追加されていることを検出する前に、第1のユーザは、三次元環境内の唯一のユーザである。いくつかの実施形態では、第2のユーザが三次元環境に追加されたことを検出したことに応じて(860)、図9Bのように、第1のアプリケーションの表現(例えば、908)が第1のユーザ(例えば、914A)にとってアクセス可能であるが第2のユーザ(例えば、914B)にとってアクセス可能ではないという判定に従って、電子デバイス(例えば、101)は、第1のアプリケーションの表現(例えば、908)の表示を第1のロケーションに維持し(862)、第1のアプリケーションの表現は第2のユーザには見えない(例えば、表現(例えば、908)はユーザA(例えば、914A)のみがアクセス可能であるため、電子デバイス(例えば、101a)は、更なるユーザが三次元環境(例えば、904)に参加することに応じて表現(例えば、908)の表示を維持する)。いくつかの実施形態では、第1のアプリケーションの表現は、プライベートモードで表示され、プライベートモードでは、第1のユーザは、第1のアプリケーションと対話すること、及び/又は第1のアプリケーションを見ることができるが、三次元環境内の他のユーザは、第1のアプリケーションと対話すること、及び/又は第1のアプリケーションを見ることができない。例えば、第2のユーザの電子デバイスは、第2のユーザが第1のアプリケーションへのアクセスを有していないので、第1のアプリケーションの表現を表示することを見合わせる。いくつかの実施形態では、第2のユーザが三次元空間に参加した後、電子デバイスは、第2のユーザが三次元空間に参加する前に表現が表示されていたのと同じロケーション及び向きで第1のアプリケーションの表現を表示し続ける。
第2のユーザが三次元空間に追加された後に第2のユーザにアクセス可能でないアプリケーションの表現の表示を維持する上述の方法は、三次元環境内で他のユーザには見えないアプリケーションの表現を表示する効率的な方法を提供し、これは更に、第2のユーザが第1のアプリケーションへのアクセスを有しないときに第1のアプリケーションの表現の更新されたロケーションを計算することを見合わせることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
図9Aなどのいくつかの実施形態では、三次元環境は、三次元環境内の第2のロケーションにいる第1のユーザ(例えば、914A)と、三次元環境内の第5のロケーション(例えば、904)にいる第2のユーザ(例えば、914B)とを含む(864)。いくつかの実施形態では、電子デバイスは、三次元環境内の第5のロケーションに第2のユーザの表現を表示し、第2のユーザの電子デバイスは、三次元環境内の第5のロケーションに視点を有する三次元環境を表示する。いくつかの実施形態では、電子デバイス(例えば、101)は、三次元環境内で第2のアプリケーションの表現を表示するための個別の入力を検出し(866)、第2のアプリケーションの表現は、個別の入力が検出されたときに三次元環境内に表示されておらず、第2のアプリケーションの表現は、ユーザA(例えば、914A)にとってアクセス可能であり、ユーザB(例えば、914B)にとってアクセス可能ではない図9Aの表現(例えば、908)のように、三次元環境内で複数のユーザにとってアクセス可能ではない。いくつかの実施形態では、第2のアプリケーションは、入力を提供した第1のユーザが第2のアプリケーションにアクセス及び/又は閲覧することができるが、三次元環境内の他のユーザが第2のアプリケーションにアクセス及び/又は閲覧することができないプライベートモードにある。いくつかの実施形態では、個別の入力は、第2のアプリケーションを起動する要求、以前に隠されていた第2のアプリケーションの表現を表示する要求、又は電子デバイスによって既に表示されている第2のアプリケーションの表現に加えて第2のアプリケーションの追加の表現を表示する要求に対応する。いくつかの実施形態では、個別の入力を受信したことに応じて(868)、個別の入力が第1のユーザ(例えば、914A)に関連付けられている(例えば、個別の入力を検出する電子デバイスが第1のユーザによって提供されている)という判定に従って、電子デバイス(例えば、101)は、図9Aのように、第2のユーザ(例えば、914B)の第5のロケーションではなく、第1のユーザ(例えば、914A)の第2のロケーションに基づいて、三次元環境(例えば、904)内の第6のロケーションに第2のアプリケーションの表現(例えば、908)を表示する(870)。いくつかの実施形態では、第1のユーザが第2のアプリケーションの表現を表示する要求に対応する入力を提供する場合、電子デバイスは、第1のユーザに関連付けられたロケーションに基づくロケーション及び/又は向きで第2のアプリケーションの表現を表示する。例えば、第2のアプリケーションの表現は、第2のロケーションに近接したロケーションに表示され、及び/又は第2のロケーションに向けられる。いくつかの実施形態では、第6のロケーションは、第1のユーザ以外の三次元環境内のユーザのロケーション(単数又は複数)から独立して選択される。いくつかの実施形態では、個別の入力を受信したことに応じて(868)、個別の入力が第2のユーザに関連付けられている(例えば、個別の入力を検出する電子デバイスが第2のユーザによって提供されている)という判定に従って、電子デバイス(例えば、101)は、第2のアプリケーションの表現を、第1のユーザの第2のロケーションではなく第2のユーザの第5のロケーションに基づいて、三次元環境内の第7のロケーションに表示する(872)(例えば、表現(例えば、908)が、図9AのユーザA(例えば、914A)ではなくユーザB(例えば、914B)にアクセス可能であった場合)。いくつかの実施形態では、第2のユーザが第2のアプリケーションの表現を表示する要求に対応する入力を提供する場合、電子デバイスは、第2のユーザに関連付けられたロケーションに基づくロケーション及び/又は向きで第2のアプリケーションの表現を表示する。例えば、第2のアプリケーションの表現は、第5のロケーションに近接したロケーションに表示され、及び/又は第5のロケーションに向けて配向される。いくつかの実施形態では、第6のロケーションは、第2のユーザ以外の三次元環境内のユーザのロケーション(単数又は複数)から独立して選択される。
第2のアプリケーションの表現を表示するための入力を提供したユーザに関連付けられたロケーションに基づくロケーションに第2のアプリケーションの表現を配置する上述の方法は、アプリケーションの表示を要求したユーザに見えるロケーションにアプリケーションを配置する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、アプリケーションの表示を要求したユーザに容易に見えるロケーションにアプリケーションを配置するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)は、三次元環境内の第2のロケーションにいる第1のユーザと、三次元環境内の第5のロケーションにいる第2のユーザとを含む(874)。いくつかの実施形態では、電子デバイスは、三次元環境内の第5のロケーションに第2のユーザの表現を表示し、第2のユーザの電子デバイスは、三次元環境内の第5のロケーションにおける視点からの三次元環境を表示する。一部の実施形態では、電子デバイス(例えば、101)は、三次元環境内で第2のアプリケーションの表現を表示するための個別の入力を検出し(876)、ここで第2のアプリケーションの表現は、個別の入力が検出されたときに、三次元環境内で表示されなかった(例えば、図9Aに示す三次元環境(例えば、904)において表現(例えば、906、908、又は922)のうちの1つを表示するための入力を受信する)。いくつかの実施形態では、第2のアプリケーションは、三次元環境内のユーザのうちの全部ではない一部がアプリケーションにアクセス及び/又は閲覧することができるプライベートモードにある。いくつかの実施形態では、個別の入力は、第2のアプリケーションを起動する要求、以前に隠されていた第2のアプリケーションの表現を表示する要求、又は電子デバイスによって既に表示されている第2のアプリケーションの表現に加えて第2のアプリケーションの追加の表現を表示する要求に対応する。いくつかの実施形態では、個別の入力を受信したことに応じて、電子デバイス(例えば、101)は、第2のアプリケーションの表現(例えば、図9Aの三次元環境(例えば、904)内の表現(例えば、906、908、又は922)のうちの1つ)を、三次元環境(例えば、図9Aの三次元環境(例えば、904))内の対応するロケーションに表示する(878)。いくつかの実施形態では、第2のアプリケーションの表現が第1のユーザにアクセス可能でないという判定に従って(例えば、表現(例えば、908)が図9AのユーザB(例えば、914B)にアクセス可能でない方法と同様の方法で)、個別のロケーションは、第1のユーザの第2のロケーションに基づかない(880)。いくつかの実施形態では、第2のアプリケーションは、第2のユーザ、及び任意選択的に、第1のユーザ以外の三次元環境内の1人以上の追加ユーザにアクセス可能である。いくつかの実施形態では、第2のアプリケーションが第2のユーザにのみアクセス可能である場合、個別のロケーションは、第5のロケーションに基づく。いくつかの実施形態では、第2のアプリケーションが第2のユーザ及び1人以上の追加ユーザにアクセス可能である場合、個別のロケーションは、アプリケーションへのアクセスを有するユーザのロケーションの全てに基づき、アプリケーションへのアクセスを有さない1人以上のユーザのロケーションには基づかない。いくつかの実施形態では、電子デバイスは、方法1000の1つ以上のステップに従って、複数のユーザのポジションに従って第2のアプリケーションの表現を配置する。いくつかの実施形態では、(例えば、表現(例えば、908)が図9AのユーザB(例えば、914B)にアクセス可能でない方法と同様の方法で)第2のアプリケーションの表現が第2のユーザにアクセス可能でないという判定に従って、個別のロケーションは、第2のユーザの第5のロケーションに基づかない(882)。いくつかの実施形態では、第2のアプリケーションは、第1のユーザ、及び任意選択的に第2のユーザ以外の三次元環境内の1人以上の追加ユーザにアクセス可能である。いくつかの実施形態では、第2のアプリケーションが第1のユーザにのみアクセス可能である場合、個別のロケーションは、第2のロケーションに基づく。いくつかの実施形態では、第2のアプリケーションが第1のユーザ及び1人以上の追加ユーザにアクセス可能である場合、個別のロケーションは、アプリケーションへのアクセスを有するユーザのロケーションの全てに基づき、アプリケーションへのアクセスを有さない1人以上のユーザのロケーションには基づかない。いくつかの実施形態では、電子デバイスは、方法1000の1つ以上のステップに従って、複数のユーザのポジションに従って第2のアプリケーションの表現を配置する。
第2のアプリケーションへのアクセスを有さないユーザのロケーションに第2のアプリケーションの個別のロケーションを基づかせない上述の方法は、第2のアプリケーションの表現を配置する基準を設定する効率的な方法を提供し、これは更に、使用における誤りを低減しながら、第2のアプリケーションのポジションを決定する複雑さを簡略化することによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
図9Aなどの一部の実施形態では、第2のアプリケーションの表現(例えば、908)が第1のユーザ(例えば、914B)にアクセス可能でないという判定に従って、第2のアプリケーションの表現の視覚的インジケーションは、第2のアプリケーションの表現のコンテンツが第1のユーザに見えることなく、第1のユーザに見える(884)(例えば、図9Aの電子デバイスB(例えば、101b)によって表示される表現(例えば、908))。いくつかの実施形態では、視覚的インジケーションは、第1のユーザにアクセス可能でないオブジェクトが表示されていることを示す、第2のアプリケーションの表現のロケーションに表示されるオブジェクトである。いくつかの実施形態では、インジケーションは、オブジェクトがアプリケーションユーザインタフェースであるというインジケーションを含む。いくつかの実施形態では、インジケーションは、オブジェクトがアプリケーションユーザインタフェースであるというインジケーションを含まない。いくつかの実施形態では、インジケーションは、第2のアプリケーションの名前のインジケーションを含む。いくつかの実施形態では、インジケーションは、第2のアプリケーションの名前のインジケーションを含まない。いくつかの実施形態では、インジケーションは、第2のユーザインタフェースの表現と同じ寸法及び/又は形状を有する。いくつかの実施形態では、インジケーションは、第2のユーザインタフェースの表現の寸法とは異なる寸法及び/又は形状を有する。図9Aなどのいくつかの実施形態では、第2のアプリケーションの表現(例えば、908)が第2のユーザにアクセス可能でないという判定に従って、第2のアプリケーションの表現の視覚的インジケーションは、第2のアプリケーションの表現のコンテンツが第2のユーザに見えることなく、第2のユーザに見える(886)(例えば、図9Aの電子デバイスB(例えば、101b)によって表示される表現(例えば、908))。いくつかの実施形態では、視覚的インジケーションは、第2のユーザにアクセス可能でないオブジェクトが表示されていることを示す、第2のアプリケーションの表現のロケーションに表示されるオブジェクトである。いくつかの実施形態では、インジケーションは、オブジェクトがアプリケーションユーザインタフェースであるというインジケーションを含む。いくつかの実施形態では、インジケーションは、オブジェクトがアプリケーションユーザインタフェースであるというインジケーションを含まない。いくつかの実施形態では、インジケーションは、第2のアプリケーションの名前のインジケーションを含む。いくつかの実施形態では、インジケーションは、第2のアプリケーションの名前のインジケーションを含まない。いくつかの実施形態では、インジケーションは、第2のユーザインタフェースの表現と同じ寸法及び/又は形状を有する。いくつかの実施形態では、インジケーションは、第2のユーザインタフェースの表現の寸法とは異なる寸法及び/又は形状を有する。
第2のアプリケーションの表現のコンテンツを含まない第2のアプリケーションの視覚的インジケーションを表示する上述の方法は、第2のアプリケーションへのアクセスを有さないユーザが第2のアプリケーションのロケーションに仮想オブジェクトを配置することを防止する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、三次元環境内の同じロケーションに2つのオブジェクトを配置することを回避するために必要な入力の数を低減することなどによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時のエラーを低減する。
図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)は、三次元環境内の第2のロケーションにいる第1のユーザ(例えば、914A)と、三次元環境(888)内の第5のロケーションにいる第2のユーザ(例えば、914B)とを含む。いくつかの実施形態では、電子デバイスは、三次元環境内の第5のロケーションにおける第2のユーザの表現を表示し、第2のユーザの電子デバイスは、三次元環境内の第5のロケーションにおける視点からの三次元環境を表示する。いくつかの実施形態では、個別のアプリケーションの表現は、移動入力が受信される前に、第1のユーザ及び第2のユーザによってアクセス可能及び/又は閲覧可能である。いくつかの実施形態では、移動入力を受信したことに応じて(890)、移動入力が三次元環境内の第1のロケーションから第3のロケーションへ第1のアプリケーションの表現を移動させる要求に対応するという判定に従って(892)、第3のロケーションが第1のユーザの第2のロケーションと第2のユーザの第5のロケーションとの間にあるという判定に従って、電子デバイス(例えば、101)は、第1のアプリケーションの表現を、第1のユーザにはアクセス可能であるが第2のユーザにはアクセス不可能であるように更新する(894)(例えば、表現(例えば、908)は、図9AのユーザA(例えば、914A)にはアクセス可能であるが、ユーザB(例えば、914B)にはアクセス可能でない)。いくつかの実施形態では、第2のユーザの電子デバイスは、個別のアプリケーションの表現及び/又はコンテンツの表示を停止する。いくつかの実施形態では、移動入力に応じて、個別のアプリケーションは、第1のユーザ及び第2のユーザ以外の三次元環境内の1人以上の他のユーザにとってもはやアクセス可能ではない。いくつかの実施形態では、移動入力に応じて、個別のアプリケーションは、移動入力を提供したユーザにのみアクセス可能であり、三次元環境内の他のどのユーザにももはやアクセス可能ではない。図9Cなどのいくつかの実施形態では、移動入力を受信したことに応じて(890)、移動入力が第1のアプリケーションの表現(例えば、906)を三次元環境(例えば、904)内の第1のロケーションから第3のロケーションに移動させる要求に対応するという判定に従って(892)、第3のロケーションが第1のユーザの第2のロケーション(例えば、914A)と第2のユーザの第5のロケーション(例えば、914B)との間にないという判定に従って、電子デバイス(例えば、101)は、第1のアプリケーションの表現(例えば、906)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)にアクセス可能であるものとして維持する(896)。いくつかの実施形態では、第2のユーザの電子デバイスは、個別のアプリケーションの表現の表示を更新して、三次元環境内の第3のロケーションに表現を表示する。いくつかの実施形態では、個別のアプリケーションは、第1のユーザ及び第2のユーザに加えて、三次元環境内の1人以上の他のユーザにアクセス可能であり続ける。
第3のロケーションが第2のロケーションと第5のロケーションとの間にあるという判定に従って、第1のアプリケーションの表現を第2のユーザにとってもはやアクセス可能でないように更新する上述の方法は、アプリケーションの表現への他のユーザのアクセスを除去する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、移動入力を受信したことに応じて(898)、移動入力が三次元環境内の第1のロケーションから第3のロケーションへ第1のアプリケーションの表現を移動させる要求に対応するという判定に従って(897)、第3のロケーションが第1のユーザの第2のロケーションの閾値距離内にあるという判定に従って、電子デバイス(例えば、101)は、(例えば、図9AのユーザA(例えば、914A)が表現(例えば、908)にアクセス可能であるがユーザB(例えば、914B)にはアクセス可能でない方法と同様に)第1のアプリケーションの表現を、三次元環境内の第1のユーザにはアクセス可能であるが第2のユーザにはアクセス可能でないように更新する(895)。いくつかの実施形態では、第2のユーザの電子デバイスは、個別のアプリケーションの表現及び/又はコンテンツの表示を停止する。いくつかの実施形態では、移動入力に応じて、個別のアプリケーションは、第1のユーザ(例えば、移動入力を提供したユーザ)以外の三次元環境内の1人以上の他のユーザにとってもはやアクセス可能ではない。いくつかの実施形態では、電子デバイスは、(1)第3のロケーションが第2のロケーションの閾値距離内にあり、かつ(2)第1のユーザが移動入力を提供したという判定に従って、1人の第1のユーザのみがアクセス可能であるように第1のアプリケーションを更新する。例えば、第2のユーザがアプリケーションの表現を第2のロケーションの閾値距離内のロケーションに移動させた場合、電子デバイスは、第1のアプリケーションを第2のユーザ及び第1のユーザに提示し続ける。図9Cなどのいくつかの実施形態では、移動入力を受信したことに応じて(898)、移動入力が三次元環境内の第1のロケーションから第3のロケーションへ第1のアプリケーションの表現(例えば、906)を移動させる要求に対応するという判定に従って(897)、第3のロケーションが第1のユーザ(例えば、914A)の第2のロケーションの閾値距離内にないという判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)にアクセス可能であるが第2のユーザ(例えば、914B)にアクセス可能でないように第1のアプリケーションの表現を更新することを見合わせる(893)。いくつかの実施形態では、第2のユーザの電子デバイスは、個別のアプリケーションの表現の表示を更新して、三次元環境内の第3のロケーションに表現を表示する。いくつかの実施形態では、個別のアプリケーションは、第1のユーザ及び第2のユーザに加えて、三次元環境内の1人以上の他のユーザにアクセス可能であり続ける。
第3のロケーションが第2のロケーションから所定の閾値距離内にあるという判定に従って、第1のアプリケーションの表現を第2のユーザにとってもはやアクセス可能でないように更新する上述の方法は、アプリケーションの表現への他のユーザのアクセスを除去する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、移動入力を受信したことに応じて(891)、移動入力が三次元環境内の第1のロケーションから第3のロケーションへ第1のアプリケーションの表現を移動させる要求に対応するという判定に従って(889)、第3のロケーションが第2のユーザに関連付けられた第5のロケーションの閾値距離内にあるという判定に従って、電子デバイス(例えば、101)は、(例えば、図9Aにおいて表現(例えば、906)がユーザB(例えば、914B)ではなくユーザA(例えば、914A)にアクセス可能である方法と同様の方法で)三次元環境内の第1のユーザではなく第2のユーザにアクセス可能であるように第1のアプリケーションの表現を更新する(887)。いくつかの実施形態では、第1のユーザの電子デバイスは、第2のアプリケーションの表現を表示することを停止し、第2のユーザの電子デバイスは、三次元環境内の第3のロケーションに第2のアプリケーションの表現を表示する。いくつかの実施形態では、第1のアプリケーションは第1のユーザではなく第2のユーザにアクセス可能であるが、第2のユーザは、第1のアプリケーションを閲覧すること、第1のアプリケーションに入力を提供すること、第1のアプリケーションに関連付けられた音声を聞くこと、三次元環境内で第1のアプリケーションの表現を移動させることなどができ、第1のユーザは、第1のアプリケーションを閲覧すること、第1のアプリケーションに入力を提供すること、第1のアプリケーションに関連付けられた音声を聞くこと、三次元環境内で第1のアプリケーションの表現を移動させることなどができない。いくつかの実施形態では、電子デバイスは、(1)第3のロケーションが第5のロケーションの閾値内にあり、(2)第2のユーザが移動入力を提供した場合、第1のユーザではなく第2のユーザにアクセス可能になるように第1のアプリケーションを更新する。いくつかの実施形態では、電子デバイスは、第3のロケーションが第5のロケーションの閾値内にある場合、どのユーザが移動入力を提供したかに関係なく、第1のユーザではなく第2のユーザにアクセス可能になるように第1のアプリケーションを更新する。いくつかの実施形態では、第1のアプリケーションは、移動入力が(例えば、第1のユーザから)受信されると、第1のユーザにアクセス可能であるが、第2のユーザにはアクセス可能でない。いくつかの実施形態では、第3のロケーションが第1のユーザと第2のユーザとの間で等間隔であるという判定に従って、電子デバイスは、第1のアプリケーションの表現を、第1のアプリケーションの表現を移動させるための入力を提供したいずれかのユーザに向けて配向する。図9Cなどのいくつかの実施形態では、移動入力を受信したことに応じて(891)、移動入力が三次元環境内の第1のロケーションから第3のロケーションへ第1のアプリケーションの表現(例えば、906)を移動させる要求に対応するという判定に従って(889)、第3のロケーションが第2のユーザ(例えば、914B)に関連付けられた第5のロケーションの閾値距離内にないという判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)ではなく第2のユーザ(例えば、914B)にアクセス可能になるように第1のアプリケーションの表現を更新することを見合わせる(885)。いくつかの実施形態では、第3のロケーションが三次元環境内のユーザに関連付けられたいずれのロケーションの閾値距離内にもないという判定に従って、第2のアプリケーションの表現は、三次元環境内のユーザの全てにアクセス可能である。いくつかの実施形態では、第3のロケーションが第2のユーザ及び第1のユーザ以外の三次元環境内の第3の個別のユーザの閾値距離内にあるという判定に従って、電子デバイスは、第1のユーザ又は第2のユーザにアクセス可能ではなく第3の個別のユーザにアクセス可能であるように第2のアプリケーションの表現を更新する。
第3のロケーションが第5の閾値距離内にあるという判定に従って、第1のユーザではなく第2のユーザにアクセス可能であるように第1のアプリケーションの表現を更新する上述の方法は、1人のユーザのみに見えるようにアプリケーションを更新する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図7Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、三次元環境(例えば、704)内で、三次元環境内の第1のロケーションにおける第1のアプリケーションの表現(例えば、706)と、三次元環境内の第5のロケーションにおける第2のアプリケーションの表現(例えば、708)とを同時に表示し(883)、第1のアプリケーションの表現(例えば、706)は、三次元環境(例えば、704)において第1の個別の向きで表示され、第2のアプリケーションの表現(例えば、708)は、三次元環境(例えば、704)において第1の個別の向きとは異なる第2の個別の向きで表示される。いくつかの実施形態では、三次元環境内で異なるアプリケーションの複数の表現が存在する場合、アプリケーションの表現の向きは互いに異なる。いくつかの実施形態では、アプリケーションの表現は、ユーザに関連付けられた第2のロケーションに向けて配向され、アプリケーションの表現は、表現のいずれもが別の表現のユーザのビューを遮らないように、異なるロケーションに表示される。いくつかの実施形態では、この構成において、表現の向きは互いに異なる。
異なる向きで第1及び第2のアプリケーションの表現を表示する上述の方法は、どちらの表現も別の表現のユーザのビューを遮らないように表現を提示する効率的な方法を提供し、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、様々な表現を見るために必要な入力の数を減らすことによって)、電力使用量を更に減らし、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを減らす。
いくつかの実施形態では、図7Aなどの第1のアプリケーションの表現(例えば、706)の第1の向き、及び図7Bなどの第1のアプリケーションの表現(例えば、706)の第2の向きは、第1のユーザ(881)に関連付けられた配向場に基づく。いくつかの実施形態では、配向場は、三次元環境内の全てのロケーションについて第1のユーザのロケーションに向かう向きを定義する。いくつかの実施形態では、三次元環境内の個別のロケーションに表示されるオブジェクトは、個別のロケーションにおける配向場に対応する向きで表示される。いくつかの実施形態では、配向場は、個別のオブジェクトが配向場内の個別のロケーションに配置されたときにコンテンツを含む個別のオブジェクトの表面に垂直な方向を定義する。いくつかの実施形態では、配向場は、三次元環境内に1人のユーザがいる場合、ユーザに関連付けられたロケーションの方を指す。いくつかの実施形態では、三次元環境内に複数のユーザがいる場合、電子デバイスは、三次元環境内の複数のユーザ(例えば、各ユーザ)に関連付けられた配向場のベクトル和などの数学的組み合わせに基づく(例えば、数学的組み合わせである)配向場を作成する。いくつかの実施形態では、複数のユーザを含む三次元環境内のオブジェクトの向き及び配置は、方法1000の1つ以上のステップに従って設定される。いくつかの実施形態では、三次元環境内でオブジェクトを移動させる入力を検出したことに応じて、電子デバイスは、移動入力に対応するロケーションにオブジェクトを移動させ、移動入力に対応するロケーションにおける注意場に従ってオブジェクトの向きを更新する。いくつかの実施形態では、注意場は、二次元であり、三次元環境内のユーザ(単数又は複数)の二次元ロケーション(単数又は複数)に基づく(例えば、注意場は、三次元環境内の全ての垂直高さについて同じである)。いくつかの実施形態では、注意場は、三次元であり、三次元環境内のユーザ(単数又は複数)の三次元ロケーション(単数又は複数)に基づく(例えば、注意場は、ユーザ(単数又は複数)の垂直ロケーションに依存する)。
注意場に従って第1のアプリケーション及び第2のアプリケーションの表現を配向する上述の方法は、表現の向きを計算する効率的な方法を提供し、これは、電子デバイスがオブジェクトの表示を開始するとき、又はオブジェクトがユーザによって移動されるとき、オブジェクトの向きを更新する計算の複雑さを低減することによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、904)は、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)を含み、第1のアプリケーションの表現(例えば、908)は、第1のユーザにアクセス可能であるが、第2のユーザ(879)にはアクセス可能でない。いくつかの実施形態では、第1のユーザの電子デバイスは、第1のアプリケーションの表現を提示するが、第2のユーザの電子デバイスは、第1のアプリケーションの表現を提示しない。いくつかの実施形態では、第1のユーザは、第1のアプリケーションが第1のユーザにアクセス可能である間に、第1のアプリケーションの表現を見る、音声を聞く、入力を提供する、及び/又は移動させることができる。いくつかの実施形態では、第1のアプリケーションが第2のユーザにアクセス可能でない間、第2のユーザは、第1のアプリケーションの表現を見ること、音声を聞くこと、入力を提供すること、及び/又は移動することができない。図9Bなどの一部の実施形態では、第1の外観(例えば、第1のサイズ、第1のポジション、及び/又は第1の向き)で第1のアプリケーションの表現(例えば、908)を表示している間に、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)がアクセス可能となるように第1のアプリケーションの表現(例えば、908)を更新する要求に対応する個別の入力を検出する(877)。いくつかの実施形態では、要求は、第1のアプリケーションを個別の第2のユーザ及び任意選択的に三次元環境内に存在する任意の他のユーザと共有する要求である。いくつかの実施形態では、第1のアプリケーションが第2のユーザにアクセス可能になると、第2のユーザの電子デバイスは、第1のアプリケーションの表現を提示し、第2のユーザは、任意選択的に、三次元環境内で第1のアプリケーションと対話することができる。いくつかの実施形態では、第1のユーザ及び第2のユーザは、第1のアプリケーションが第1のユーザ及び第2のユーザにアクセス可能である間に、第1のアプリケーションの表現を見る、音声を聞く、入力を提供する、及び/又は移動させることができる。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(875)、電子デバイス(例えば、101)は、第1のアプリケーションの表現(例えば、908)を、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)にアクセス可能となるように更新する(873)。いくつかの実施形態では、第2のユーザの電子デバイスは、第1のアプリケーションの表現の表示を開始し、第1のユーザの電子デバイスは、第1のアプリケーションの表現を表示し続ける。いくつかの実施形態では、個別の入力を検出したことに応じて(875)、電子デバイス(例えば、101)は、第1のアプリケーションの表現を、第1の外観とは異なる第2の外観で表示する(871)(例えば、図9Cの表現(例えば、908)の外観が図9Bの表現(例えば、908)の外観とは異なる場合)。いくつかの実施形態では、第1のユーザの電子デバイスは、第1のアプリケーションを第2のユーザにアクセス可能にする要求に応じて、第1のアプリケーションの表現の外観を更新する。例えば、電子デバイスは、第1のアプリケーションの表現のサイズ、向き、及び/又はポジションを更新して、第1のアプリケーションの表現を第1のユーザ及び第2のユーザの両方に向けるようにする。いくつかの実施形態では、第1のアプリケーションの表現は、第2のユーザに向かって移動される。いくつかの実施形態では、第1のアプリケーションの表現は、より大きいサイズで表示される(例えば、したがって、両方のユーザが、第1のアプリケーションが共有される前よりも遠い距離でコンテンツをより容易に見ることができる)。
第1のアプリケーションを第2のユーザにアクセス可能にする要求に応じて第1のアプリケーションの表現を更新する上述の方法は、両方のユーザにより容易に見える外観を有する表現を提示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、第1のアプリケーションが共有された後に第1のアプリケーションの表現の外観を更新するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、個別の入力は、第1のアプリケーションの表現を第2のユーザと共有する提案に関連付けられる(869)(例えば、電子デバイス(例えば、101a)が、図9Bに示す表現(例えば、908)を共有する入力を受信する前に、表現(例えば、908)を共有するインジケーションを提示した場合)。いくつかの実施形態では、電子デバイスは、第1のアプリケーションを共有するためのプロンプトを提示し、第1のアプリケーションを第2のユーザにアクセス可能にするための要求に対応する入力は、プロンプトに向けられる。いくつかの実施形態では、プロンプトは、第2のユーザが三次元環境に入ることに応じて表示される。いくつかの実施形態では、プロンプトは、プロンプトを表示する要求(例えば、アプリケーション内のコンテンツを提示する要求)以外の第1のアプリケーションの個別の動作の開始に応じて提示される。いくつかの実施形態では、プロンプトは、第2のユーザからの要求に応じて提示される。いくつかの実施形態では、第1のアプリケーションがコンテンツ表示アプリケーションであるため、及び/又は第1のユーザが第1のアプリケーションへのアクセスを第2のユーザ及び/又は他のユーザと以前に共有していたため、プロンプトが提示される。図9Bなどのいくつかの実施形態では、第1の外観を有する第1のアプリケーションの表現(例えば、908)を表示している間、電子デバイスは、1つ以上の入力デバイスを介して、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)がアクセス可能となるように第1のアプリケーションの表現(例えば、908)を更新する要求に対応する第2の個別の入力を検出し(867)、第2の個別の入力は、第1のアプリケーションの表現(例えば、908)を第2のユーザ(例えば、914B)と共有する提案に関連付けられていない。いくつかの実施形態では、第2のユーザにアクセス可能になるように表現を更新する要求は、第1のユーザによって開始される。例えば、電子デバイスは、第1のアプリケーションが共有されることを示唆するプロンプトの選択又は受け入れではなく、メニューを提示する要求に応じて提示されるメニュー内に表示される第1のアプリケーションを共有するためのオプションの選択を検出する。いくつかの実施形態では、第1のユーザ及び第2のユーザは、第1のアプリケーションが第1のユーザ及び第2のユーザにアクセス可能である間に、第1のアプリケーションの表現を見る、音声を聞く、入力を提供する、及び/又は移動させることができる。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(865)、電子デバイス(例えば、101)は、第1の外観を有する第1のアプリケーションの表現(例えば、908)を維持しながら、第1のアプリケーションの表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)にアクセス可能となるように更新する(863)。いくつかの実施形態では、第1のユーザの電子デバイス及び第2のユーザの電子デバイスは両方とも、第1の外観を有する表現を表示する。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現の向きは変化しない。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現のポジションは変化しない。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現のサイズは変化しない。
表現を第2のユーザにアクセス可能にする要求が共有提案に関連付けられている場合に第1のアプリケーションの表現の外観を更新する上述の方法は、アプリケーションの共有が提案される状況において第1のユーザ及び第2のユーザの両方に容易に見える外観を有する表現を提示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、第1のアプリケーションの表現の外観を更新するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Aなどのいくつかの実施形態では、三次元環境(例えば、904)は、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)を含み、第1のアプリケーションの表現(例えば、908)は、第1のユーザ(例えば、914A)にアクセス可能であるが、第2のユーザ(例えば、914B)にはアクセス不可能である(861)。いくつかの実施形態では、第2のユーザの電子デバイスは、第1のアプリケーションの表現を提示することを見合わせる。図9Bなどのいくつかの実施形態では、第1の外観を有する第1のアプリケーションの表現(例えば、908)を表示している間に、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)がアクセス可能となるように第1のアプリケーションの表現(例えば、908)を更新する要求に対応する個別の入力を検出する(859)。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(857)、電子デバイス(例えば、101)は、第1の外観を有する第1のアプリケーションの表現(例えば、908)を維持しながら、第1のアプリケーションの表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)にアクセス可能となるように更新する(855)。いくつかの実施形態では、第1のユーザ及び第2のユーザの両方の電子デバイスが、第1の外観を有する第1のアプリケーションの表現を表示する。いくつかの実施形態では、第1の外観は、三次元空間内の固定基準系に対する個別のサイズ、ロケーション、及び/又は向きを含む。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現の向きは変化しない。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現のポジションは変化しない。いくつかの実施形態では、三次元環境内の第1のアプリケーションの表現のサイズは変化しない。いくつかの実施形態では、第1のユーザ及び第2のユーザの電子デバイスは、異なる視点及び/又は視点から三次元空間を表示する。いくつかの実施形態では、第1のユーザ及び第2のユーザは、第1のアプリケーションが第1のユーザ及び第2のユーザにアクセス可能である間に、第1のアプリケーションの表現を見る、音声を聞く、入力を提供する、及び/又は移動させることができる。
表現を第2のユーザにアクセス可能にする要求に応じて第1のアプリケーションの表現の第1の外観を維持する上述の方法は、表現の更新された外観を計算することなく表現を共有する効率的な方法を提供し、これは更に、表現を第2のユーザと共有するための動作の複雑さを低減することによって電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、一方で使用時の誤りを低減する。
図7Aなどのいくつかの実施形態では、三次元環境(例えば、704)は、三次元環境内の第5のロケーションに第1のタイプの第1の個別のオブジェクトの表現(例えば、706)を含み、三次元環境(例えば、704)は、三次元環境(例えば、704)内の第6のロケーションに第1のタイプとは異なる第2のタイプの第2の個別のオブジェクト(例えば、三次元環境(例えば、704)の周りを移動するときに動的にスケーリングしないタイプのオブジェクト)の表現(例えば、710)を含み、第5のロケーションは、第1のユーザ(例えば、714A)に関連付けられた第2のロケーションから第1の距離であり、第6のロケーションは、第1のユーザ(例えば、714A)に関連付けられた第2のロケーションから第2の距離である(853)。いくつかの実施形態では、第1及び第2のオブジェクトは、アプリケーション、コンテンツのアイテム、ファイル、又は他の仮想オブジェクトの表現である。いくつかの実施形態では、第1のタイプのオブジェクトは、三次元環境内のオブジェクトとユーザ(単数又は複数)との間の距離に基づく動的仮想サイズを有するタイプのオブジェクトである。いくつかの実施形態では、第2のタイプのオブジェクトは、仮想環境におけるオブジェクトとユーザ(単数又は複数)との間の距離に依存しない固定された仮想サイズを有するタイプのオブジェクトである。図7Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、第1の個別のオブジェクトの表現(例えば、706)を第2のロケーションからの第1の距離から、第2のロケーションからの第1の距離とは異なる第3の距離に移動させる要求に対応する第1の個別の入力を受信する(851)。図7Bなどのいくつかの実施形態では、第1の個別の入力を受信したことに応じて(849)、電子デバイス(例えば、101)は、第1の個別のオブジェクトの表現(例えば、706)を第1のユーザの第2のロケーション(例えば、714A)から第3の距離まで移動させる(847)。いくつかの実施形態では、電子デバイスは、方法800及び/又は方法1000において本明細書で説明されるように、第1の個別の入力に応じて第1の個別のオブジェクトの向きを更新する。図7Bなどの一部の実施形態では、第1の個別の入力を受信したことに応じて(849)、電子デバイス(例えば、101)は、第3の距離に基づいて、第1の個別のオブジェクトの表現(例えば、706)のサイズを(例えば、表現が第5のロケーションに表示されていた間の表現のサイズに対して)変更する(845)。いくつかの実施形態では、電子デバイスは、第1の個別のオブジェクトを移動させる入力に応じて、第1の個別のオブジェクトの仮想サイズを変更する。例えば、第1の個別のオブジェクトが第2のロケーションから更に離れた距離に移動された場合、電子デバイスは、第1の個別のオブジェクトの視認性を維持するために第1の個別のオブジェクトの仮想サイズを増加させる(例えば、第1のオブジェクトの表示エリアは同じままである、増加する、又は減少する)。別の例として、第1の個別のオブジェクトが第2のロケーションにより近い距離に移動された場合、電子デバイスは、第1の個別のオブジェクトの仮想サイズを減少させて、他のオブジェクトのための表示エリア内の空間を保存する(例えば、第1のオブジェクトの表示エリアは同じままである、増加する、又は減少する)。いくつかの実施形態では、電子デバイスは、1つ以上の入力デバイスを介して、第2の個別のオブジェクトの表現を、第2のロケーションから第2の距離から、第2のロケーションから第2の距離とは異なる第4の距離に移動させる要求に対応する第2の個別の入力を受信する(例えば、図7Aのオブジェクト(例えば、710)を移動させる要求を受信する)(843)。いくつかの実施形態では、第2の個別の入力を受信したことに応じて(841)、電子デバイス(例えば、101)は、第2の個別のオブジェクトの表現のサイズ(例えば、表現が第5のロケーションに表示されていた間の表現のサイズに対する)を維持しながら(例えば、図7Aの三次元環境(例えば、704)内でオブジェクト(例えば、710)をユーザ(例えば、714)から異なる距離に移動させたことに応じて、三次元環境(例えば、704)内のオブジェクト(例えば、710)のサイズを維持しながら)、第2の個別のオブジェクトの表現を第2のロケーションから第4の距離に移動させる(839)。いくつかの実施形態では、第2の個別の入力に応じて、電子デバイスは、第2の個別のオブジェクトを移動させ、固定された仮想サイズで第2の個別のオブジェクトを表示し続ける。いくつかの実施形態では、個別の第2のオブジェクトの固定された仮想サイズを維持することは、第2の個別のオブジェクトを表示するために使用される表示エリアを更新することを含む。例えば、第2の個別のオブジェクトが三次元環境内でユーザから更に離れるように移動される場合、表示生成コンポーネントは、第2の個別のオブジェクトを表示するためにより少ない表示エリアを使用する。別の例として、第2の個別のオブジェクトが三次元環境内でユーザのより近くに移動される場合、表示生成コンポーネントは、第2の個別のオブジェクトを表示するためにより多くの表示エリアを使用する。いくつかの実施形態では、第2の仮想オブジェクトに関連付けられたユーザインタフェース要素(例えば、メニューバー、方法1000を参照して説明したような、選択及び/又は対話されたときに第2の仮想オブジェクトを移動させるプロセスを開始するオプション)は、方法1000を参照して説明したように、三次元環境内のユーザと第2の個別のオブジェクトとの間の距離に依存する可変仮想サイズで表示される。
第1の個別のオブジェクトのサイズを変更し、第2の個別のオブジェクトのサイズを維持する上述の方法は、視認性を改善するためにオブジェクトのサイズをスケーリングする効率的な方法と、固定された仮想サイズを有する現実的な仮想オブジェクトを表示する方法とを提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時のエラーを低減する。
図9A~図9Dは、いくつかの実施形態による、電子デバイス101a及び/又は101bが三次元環境内の複数のユーザの視点に基づいて三次元環境内の仮想オブジェクトの向きを自動的に更新する方法の例を示す図である。
図9Aは、表示生成コンポーネント120a及び120bを介して、ユーザインタフェース上に三次元環境904を表示する電子デバイス101a及び101bを示す。図1~図6を参照して上述したように、電子デバイス101a及び101bは、任意選択的に、表示生成コンポーネント120a及び120b(例えば、タッチスクリーン)及び複数の画像センサ314a及び314bを含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101a及び101bは、ユーザが電子デバイス101a及び101bと相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120a及び120bは、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示されるユーザインタフェースはまた、ユーザインタフェースをユーザに表示する表示生成コンポーネントと、物理的環境及び/若しくはユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、並びに/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実装され得る。
いくつかの実施形態では、三次元環境904は、複数のユーザにアクセス可能である。図9Aでは、電子デバイスA 101aは、ユーザAのために(例えば、ユーザAの視点から)三次元環境904を表示し、電子デバイスB 101bは、ユーザBのために(例えば、ユーザBの視点から)三次元環境904を表示する。三次元環境904は、ユーザAの表現914A、ユーザBの表現914B、アプリBの表現908、アプリAの表現906、アプリCの表現922、及びアプリDの表現924を含む。図9Aでは、アプリAの表現906、アプリBの表現908、及びアプリDの表現924は、表現の片側にコンテンツを含むが、アプリCの表現922は、複数の側から見えるコンテンツを含む。例えば、アプリA、B、及びDは、コンテンツアプリケーション(例えば、ビデオプレーヤ、音楽プレーヤ、フォトギャラリー)、又は二次元ユーザインタフェース(例えば、ウェブブラウザ、電子メールアプリケーション、ワードプロセッシングアプリケーション、二次元ゲーム)を含む他のアプリケーションであり得る一方で、アプリCは、仮想ボードゲーム、複数の側から見える他の仮想コンテンツ(例えば、三次元コンテンツ)であり得る。図9Aに示される例では、アプリAの表現906、アプリCの表現922、及びアプリDの表現924は、ユーザA 914A及びユーザB 914Bにアクセス可能であり、アプリBの表現908は、ユーザA 914Aにアクセス可能であるが、ユーザB 914Bにアクセス可能ではない。したがって、ユーザA 914A及びユーザB 914Bは両方とも、アプリAの表現906、アプリCの表現922、及びアプリDの表現924を見て対話することができるが、ユーザA 914Aのみが、アプリBの表現908を見て対話することができる。
凡例912は、ユーザA 914Aの視野928a及びユーザB 914Bの視野928bを含む三次元環境904内のオブジェクト及びユーザのポジション及び向きを示す。したがって、電子デバイスA 101aは、ユーザA 914Aの視野928a内に三次元環境904の一部分を表示し、電子デバイスB 101bは、ユーザB 914Bの視野928b内に三次元環境904の一部分を表示する。電子デバイスA 101aは、アプリAの表現906及びアプリBの表現908を表示する。電子デバイスB 101bは、ユーザA 914Aの表現(例えば、ユーザA 914Aのアバター)及びアプリCの表現922を表示する。いくつかの実施形態では、電子デバイスB 101bは、ユーザB 914BがアプリBの表現908へのアクセスを有していないので、アプリBの表現908のコンテンツを表示することなく、アプリBの表現908のインジケーションを(例えば、そのサイズ及び/又はロケーションで)表示する。いくつかの実施形態では、電子デバイスB101bは、アプリBの表現908のインジケーションを表示することを見合わせる。
いくつかの実施形態では、三次元環境904内の仮想オブジェクトのポジション及び/又は向きは、三次元環境904内のユーザ914A及び/又は914Bのポジションに基づいて自動的に選択される(例えば、オブジェクトのうちの1つを移動させる入力に応じて、オブジェクトの表示を開始する入力に応じてなど)。例えば、電子デバイス101a及び/又は101bは、アプリA及びアプリBの表現906及び908などの片面オブジェクトの向き、サイズ、及び/又はポジションを選択/更新して、表現906及び908のコンテンツを有する面が、三次元環境904においてユーザA 914A及びユーザB 914Bに向けられるようにする。別の例として、電子デバイス101a及び/又は101bは、ユーザA 914AとユーザB 914Bとの間にあるアプリCの表現922などの多面オブジェクトの向き、サイズ、及び/又はポジションを選択/更新する。いくつかの実施形態では、電子デバイス101a及び101bは、ベクトルがユーザ914A及び914Bの共有対象点を指す三次元環境904上に重ね合わされたベクトル場を構築及び/又はそれへのアクセスを有する。いくつかの実施形態では、ベクトル場は三次元である。いくつかの実施形態では、ベクトル場は、三次元環境904内のユーザA 914Aのポジションを指すベクトル場と、三次元環境904内のユーザB 914Bのポジションを指すベクトル場との和のベクトル和の結果(又は、より一般的には、三次元環境904内の各ユーザのベクトル場を含む、三次元環境内の複数のユーザのうちの1人をそれぞれ指すベクトル場の和)である。したがって、仮想オブジェクト(例えば、アプリケーションの表現)が1人以上のユーザの目の高さより上の高さに配置される場合、電子デバイス101a及び101bは、仮想オブジェクトがユーザの視点に向かって下向きになるように仮想オブジェクトを配向する。ユーザの共有対象点は、任意選択的に、仮想オブジェクトが三次元環境904内の両方のユーザに見えるようにするために仮想オブジェクトが向けられるユーザ間の三次元環境904内のロケーションである。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、オブジェクトの向きを決定するときに、仮想オブジェクトからより遠いユーザよりも、個別の仮想オブジェクトにより近いユーザを優先する。例えば、アプリDの表現924は、三次元環境904内でユーザB 914Bにより近いので、アプリDの表現924の向きは、ユーザA 914AよりもユーザB 914Bに向いている。いくつかの実施形態では、個別の仮想オブジェクトの第1のユーザが(例えば、別のユーザ又は別の仮想オブジェクトによって)遮られるとき、個別の仮想オブジェクトの向きは、第1のユーザ(又は個別の仮想オブジェクトのビューが遮られる任意の他のユーザ)のロケーションに基づくことなく、三次元環境904内の他のユーザ(その個別のオブジェクトのビューが遮られない)のロケーションに基づく。例えば、図9Aの三次元環境904内でユーザA 914AとアプリAの表現906との間に仮想オブジェクトが存在した場合、アプリAの表現905の向き及び/又はサイズは、ユーザA 914Aのロケーションに基づくのではなく、ユーザB 914Bのロケーションに基づく。いくつかの実施形態では、第1のユーザと個別の仮想オブジェクトとの間の距離が閾値(例えば、4、5、10メートルなど)を超えるために、第1のユーザが個別の仮想オブジェクトを見ることができないとき。第1のユーザ(又は個別の仮想オブジェクトから閾値距離よりも遠い任意の他のユーザ)のロケーションに基づくことなく、個別の仮想オブジェクトの向きは、三次元環境904内の他のユーザ(個別の仮想オブジェクトの閾値距離内にいる)のロケーションに基づく。例えば、図9Aに示す三次元環境904が、ユーザA 914Aの閾値距離内であるがユーザB 914Bからの閾値距離より遠い追加のオブジェクトを含んでいた場合、追加のオブジェクトの向き及び/又はサイズは、ユーザB 914Bのロケーションに基づくのではなく、ユーザA 914Aのロケーションに基づくことになる。
いくつかの実施形態では、仮想オブジェクトの自動配向に対応するベクトル場を構築することは、仮想オブジェクトが、三次元環境内のユーザのロケーションに基づくのではなく、領域の境界に基づく向きを有する、三次元環境904の領域を確立することを含む。例えば、図9Aでは、ユーザA 914A及びユーザB 914Bは領域内に位置し、三次元環境904の領域内の任意の仮想オブジェクトの向き(例えば、アプリC 922の表現)は、上記及び下記で説明されるように、1人以上のユーザのポジションに基づく。この例では、領域の外側で、電子デバイス101a及び101bは、仮想オブジェクトのロケーションに最も近い領域の境界のロケーションに面するように仮想オブジェクトを配向する。したがって、いくつかの実施形態では、領域の境界からのオブジェクトの距離にかかわらず、領域の境界に沿った個別の点に最も近いロケーションにある領域の外側のオブジェクトは、領域の境界からのオブジェクトの距離にかかわらず、同じ個別の向きを有することになる。いくつかの実施形態では、領域内で、領域の境界に沿った個別の点からのオブジェクトの距離を変更することは、オブジェクトが領域の境界に沿った個別の点に最も近いままであっても、オブジェクトの向きを変更する。いくつかの実施形態では、領域の外側にあり、領域の境界の閾値距離(例えば、0.2、0.5、0.7、1メートルなど)内にあるオブジェクトは、三次元環境904内のユーザのロケーション(例えば、領域内のオブジェクトを配向するために使用される基準)及び領域の境界(例えば、領域外のオブジェクトを配向するために使用される基準)に従って配向される。したがって、いくつかの実施形態では、電子デバイス101a及び/又は101bは、領域の閾値距離の外側及び内側にオブジェクトを配置するとき、領域の内側及び領域の外側で使用される異なるアルゴリズムを「ブレンド」することができる。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、図9A~図10Tを参照して上述したように、三次元環境904内でオブジェクトを移動させるユーザ要求に応じて、及び/又は三次元環境904内に仮想オブジェクトを最初に表示するときに、仮想オブジェクトの向きを自動的に更新する。例えば、図9AにおけるアプリAの表現906の向きは、三次元環境904におけるユーザA 914A及びユーザB 914Bのポジションに基づいて自動的に選択される。いくつかの実施形態では、三次元環境904内に仮想オブジェクトを表示する要求に応じて、電子デバイス101a及び/又は101bは、仮想オブジェクトの初期ポジションを選択し、三次元環境904内のユーザ914A及び914B並びに他のオブジェクトのロケーションに基づいて向きを選択する。いくつかの実施形態では、仮想オブジェクトの初期ポジションは、ユーザ914A及び914Bの向き(例えば、ユーザの視野928a及び928b)に基づかない。例えば、アプリAの表現906の初期ポジションは、ユーザA 914A及びユーザB 914Bが図9Aに示すポジションにいる間に三次元環境904内のどの方向を向いているかにかかわらず、図9Aに示すポジションである。したがって、いくつかの実施形態では、三次元環境内の仮想オブジェクトの初期配置は、三次元環境内のユーザのポジションに基づく。例えば、アプリAの表現906及びアプリDの表現924は、ユーザ914A及び914Bの両方が表現のコンテンツを含む表現の側面を見ることができるロケーションに配置され、アプリCの表現922は、ユーザが表現の異なる側面を見ることができるように(例えば、仮想ボードゲームのために)ユーザ914Aと914Bとの間に配置される。
図9Bは、図9Aを参照して上述した三次元環境904の別の例を示す。図9Bでは、三次元環境904内のユーザ914A及び914B並びに他のオブジェクトのポジションは、図9Aにおけるそれらのポジションとは異なる。いくつかの実施形態では、アプリAの表現906、アプリDの表現924、アプリCの表現922、及びアプリBの表現908の初期ポジション及び向きは、これらのオブジェクトの初期ポジション及び向きが三次元環境内のユーザ914A及び914Bのポジションに基づいており、ユーザ914A及び914Bのポジションが図9Aとは図9Bで異なるため、図9Aとは図9Bで異なる。
いくつかの実施形態では、図9A及び9Bは、三次元環境904内のオブジェクトの初期ポジション及び向き、又はオブジェクトを移動させるユーザ入力に応じて自動的に選択されたオブジェクトの向きを示すことを理解されたい。いくつかの実施形態では、電子デバイス101a及び/又は101bは、1人以上のユーザが三次元環境904内で自身のポジションを更新したことに応じて、仮想オブジェクトの向き及び/又はポジションを更新しない。ユーザ914A又は914Bのうちの1人以上が三次元環境904内で自分のポジションを変更したことを検出したことに応じて、電子デバイス101a及び101bは、仮想オブジェクトのポジション及び向きを更新することを見合わせるが、三次元環境904に追加された新しいオブジェクトの初期ポジション及び向き、並びに三次元環境904の周りで移動されるオブジェクトの向きを決定するために使用されるベクトル場を更新する。
図9Bの凡例912は、三次元環境904におけるユーザA 914aの視野928a及びユーザB 914Bの視野928bを示す。電子デバイス101aは、アプリAの表現906及びアプリBの表現908を含む、ユーザA 914aの視点からの三次元環境904を表示する。電子デバイス101bは、アプリAの表現906、アプリCの表現922、及びユーザA 914Aの表現(例えば、アバター)を含む、ユーザB 914bの視点からの三次元環境904を表示する。ユーザB 914Bの視野928bは、凡例912に示されるようにアプリBの表現908を含むが、電子デバイスB 101bは、アプリBの表現908がユーザBにアクセス可能でないので、アプリBの表現908を表示しない。
更に、ユーザB 914BはアプリBの表現908にアクセスできないので、いくつかの実施形態では、アプリBの表現908の向きは、三次元環境904におけるユーザB 914Bのロケーションに基づくのではなく、ユーザA 914Aのロケーションに基づく。例えば、アプリAの表現908及びアプリDの表現924は、ユーザA 914A及びユーザB 914Bの両方に向けて配向されているが、アプリBの表現908は、ユーザA 914Aに向けて配向されており、ユーザB 914Bが表現908にアクセスした場合にユーザB 914Bが表現908のコンテンツを見ることが困難な角度にある。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、最初にプライベートモードでアプリケーションの表現を表示し、プライベートモードでは、表示を要求したユーザは、三次元環境904内の他のユーザが表現にアクセスすることなく、アプリケーションの表現にアクセスすることができる。例えば、電子デバイスA 101aは、表現908をユーザB 914Bにアクセス可能にする要求がユーザA 914Aから受信されるまで、表現908を表示するユーザA 914Aからの要求を検出したことに応じて、ユーザB 914Bが表現908にアクセスすることなく、ユーザA 914Aが表現908にアクセスするように、アプリBの表現908をプライベートモードで表示する。いくつかの実施形態では、三次元環境904内にユーザA 914A及びユーザB 914B以外の追加ユーザがいる場合、アプリBの表現908をユーザB 914Bにアクセス可能にする要求は、表現908を三次元環境914内の全てのユーザにアクセス可能にする要求、又は表現908をユーザB 914Bにアクセス可能にし、他のユーザにはアクセス可能でない(例えば、表現908にアクセスするユーザA 914Aの能力を維持して又は維持せずに)要求のいずれかである。
図9Bは、電子デバイスA 101aが、アプリBの表現908をユーザB 914bにアクセス可能にするための入力を検出し、電子デバイスB101bが、アプリAの表現906を移動させるための入力を検出することを示す。例えば、電子デバイスA 101aは、アプリBの表現908を共有するためのオプション926に向けられたユーザA 914Aの視線916aを検出する一方で、ユーザA 914Aが自身の手920aでジェスチャを行うことを検出する。電子デバイスB 101bは、アプリケーションAの表現906に向けられたユーザB 914Bの視線916bを検出する一方で、ユーザB 914Bが手920bでジェスチャを実行していること、及び手920bでジェスチャを維持している間の手920bの移動を検出する。いくつかの実施形態では、電子デバイスによって検出されるジェスチャは、ユーザが親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチすることである。
いくつかの実施形態では、電子デバイスA 101aは、ユーザの視線916aが表現908上にあることを示すインジケーション918をアプリBの表現908の周りに表示する。いくつかの実施形態では、インジケーション918は、アプリBの表現908上でのユーザの視線916aの検出に応じて表示される。いくつかの実施形態では、インジケーション918上でのユーザA 914Aの視線の検出に応じて、電子デバイスA 101aは、アプリBの表現908をユーザB 914Bにアクセス可能にするためのオプション926を表示する。いくつかの実施形態では、電子デバイスA 101aは、インジケーション918に対するユーザの視線を検出したことに応じて、追加のオプション(例えば、表現908を移動させるオプション、表現908の表示を停止するオプションなど)を表示する。インジケーション918は、表現908を囲むものとして図9Bに示されているが、いくつかの実施形態では、インジケーション918は、表現908の1つの縁部に隣接して表示される(例えば、インジケーション918は、表現908の底部に沿った又は別の縁部に沿ったバーである)。電子デバイスA 101aは、アプリBの表現908を共有するためのオプション926上のユーザA 914aの視線916aを検出する一方で、ユーザA 914aが自身の手920aでジェスチャを実行していること(例えば、親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチすること)を検出する。これに応じて、電子デバイスA 101aは、図9Cを参照して以下でより詳細に説明されるように、アプリBの表現908をユーザB 914Bにアクセス可能にする。
いくつかの実施形態では、図9Bにおいて、電子デバイスB 101bは、ユーザの視線916bが表現906上にあることを示すインジケーション918をアプリAの表現906の周りに表示する。いくつかの実施形態では、インジケーション918は、アプリAの表現906上でのユーザの視線916bの検出に応じて表示される。インジケーション918は、表現906を囲むものとして図9Bに示されているが、いくつかの実施形態では、インジケーション918は、表現906の1つの縁部に隣接して表示される(例えば、インジケーション918は、表現906の底部に沿った又は別の縁部に沿ったバーである)。電子デバイスB 101bは、ユーザB 914bが自分の手920bでジェスチャを実行している(例えば、親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチする)ことを検出しながら、表現906の周りのインジケーション918上のユーザB 914bの視線916bを検出する。それに応じて、電子デバイスA 101bは、図9Cを参照して以下でより詳細に説明されるように、手920b(例えば、又は手920bの腕)の移動に従って三次元環境904内でアプリAの表現906を移動させるプロセスを開始する。いくつかの実施形態では、三次元環境904内の個別の仮想オブジェクトへのアクセスを有する任意のユーザは、同様にして三次元環境904内の仮想オブジェクトを移動させることができる。例えば、ユーザA 914Aは、ユーザB 914BがアプリAの表現906を移動させる方法と同様の方法で、アプリAの表現906を移動させることができる。
図9Cは、アプリBの表現906をユーザB 914Bにアクセス可能にするユーザA 914Aの要求と、図9Bに示すアプリAの表現908を移動させるユーザB 914Bの要求とを受信した後の三次元環境904を示す。アプリBの表現908をユーザB 914Bにアクセス可能にするユーザA 914Aの要求に応じて、電子デバイスB 101bは、アプリBの表現908を三次元環境904に表示する。アプリAの表現906を移動させるユーザB 914Bの要求に応じて、電子デバイス101a及び101bは、三次元環境904内のアプリAの表現906のロケーション、向き、及びサイズを更新する。
いくつかの実施形態では、電子デバイスは、三次元環境904内のユーザの閾値距離(例えば、0.1、0.2、0.3、0.4、0.5メートルなど)内に仮想オブジェクトを配置することに抵抗する。例えば、電子デバイスは、三次元環境の残りの部分のユーザのビューが妨げられないように、ユーザのパーソナルスペース内にオブジェクトを配置することを回避する。図9Bに示すユーザB 914Bの手920bの移動は、アプリAの表現906をユーザA 914Aの閾値距離内のロケーションに移動させることに対応し得るが、電子デバイスは、図9BのユーザB 914bによって提供されたアプリAの表現906を移動させる要求に応じて、三次元環境904内のユーザA 914Aから閾値距離だけ離れた三次元環境内のロケーションにアプリAの表現906Aを表示する。いくつかの実施形態では、移動入力の終了(例えば、ユーザB 914bが移動入力に関連付けられた所定のジェスチャ(例えば、親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチすること)の実行を停止したことを検出する)前に、電子デバイス101a及び/又は101bは、ユーザA 914Aの閾値距離内のロケーションにアプリAの表現906を表示することを含む、ユーザBの手920bの移動に従ってアプリAの表現906を移動させる。いくつかの実施形態では、移動入力の終了を検出したことに応じて、電子デバイス101a及び/又は101bは、ユーザA 914Aの閾値距離内のロケーションからユーザA 914Aから少なくとも閾値距離離れたロケーションまで移動するアプリAの表現906のアニメーションを表示する。いくつかの実施形態では、移動入力が提供されている間、電子デバイス101a及び/又は101bは、ユーザA 914Aの閾値距離内のロケーションにアプリAの表現906を表示せず、ユーザA 914Aの閾値距離内のロケーションに表現906を移動させることに対応する移動入力に応じて、ユーザA 914Aから閾値距離だけ離れて表現906を表示する。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、ユーザ914A及び914Bの両方が仮想オブジェクトのコンテンツを見ることが不可能なロケーションにユーザ914A及び914Bが仮想オブジェクトを配置することを許可しない。例えば、電子デバイス101a及び/又は101bはまた、三次元環境904内の2人のユーザ(例えば、ユーザA 914A及びユーザB 914B)間にアプリケーションの単方向表現(例えば、一方の側にコンテンツを含むアプリA、アプリB、及びアプリDのそれぞれの表現906、908、及び924)を配置することに抵抗する。なぜなら、単方向表現がユーザ間にある場合、コンテンツを有する表現の側は両方のユーザに面することができないからである。いくつかの実施形態では、アプリケーションの単方向表現をユーザA 914AとユーザB 914Bとの間のロケーション(例えば、表現906又は908を表現922のロケーションに移動させるための入力(例えば、図9Bに示すロケーションには表現922が表示されていない間に))に移動させることに対応する移動入力に応じて、電子デバイス101a及び/又は101bは、2人のユーザ914Aと914Bとの間の直線から少なくとも閾値距離(例えば、5、10、15、20センチメートルなど)のロケーションに表現を表示する。いくつかの実施形態では、電子デバイス101a及び/又は101bは、移動入力が提供されている間、移動入力に従って表現を表示し(例えば、2人のユーザ914Aと914Bとの間の表現を表示することを含む)、移動入力の終了の検出に応じて、2人のユーザ914Aと914Bとの間の直線から少なくとも閾値距離(例えば、5、10、15、20センチメートルなど)のロケーションに表現を移動させる。いくつかの実施形態では、移動入力が提供されている間、電子デバイス101a及び/又は101bは、2人のユーザ914Aと914Bとの間のロケーションに表現を移動させることに対応する移動量に応じて移動入力が提供されている間に、2人のユーザ914Aと914Bとの間の直線から少なくとも閾値距離(例えば、5、10、15、20センチメートルなど)に表現を表示する。いくつかの実施形態では、電子デバイス101a及び/又は101bは、2人のユーザ914Aと914Bとの間の線の一方の側から2人のユーザ914Aと914Bとの間の線の他方の側へ、2人のユーザ間の線を直接通り過ぎて表現を移動させることに対応する移動入力を検出したことに応じて、表現を移動させる。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、図9BのユーザB 914Bによって提供される入力などの移動入力に応じてアプリAの表現906のロケーションを更新することに応じて、ユーザA 914A及びユーザB 914Bのロケーションに基づいてアプリAの表現906をサイズ変更する。アプリAの表現906は、図9Bよりも図9Cの方が両方のユーザに近いので、三次元環境904内のアプリAの表現906のサイズは、両方の図の凡例912に示すように、図9Bよりも図9Cの方が小さい。同様に、三次元環境904内でアプリケーションの表現をユーザ914A及び914Bから更に遠くに移動させる入力に応じて、電子デバイス101a及び/又は101bは、三次元環境904内の表現のサイズを増加させる。いくつかの実施形態では、電子デバイス101a及び/又は101bは、アプリAの表現906の更新されたロケーションから更に離れているユーザ(例えば、ユーザB 914B)が読めるほど十分に大きいサイズでアプリAの表現906を表示する。例えば、図9Cでは、アプリAの表現906のサイズは、ユーザA 914Aが表現906から離れているよりもユーザB 914Bが表現906から遠く離れているので、ユーザB 914Bが読めるほど十分に大きくなるように選択される。いくつかの実施形態では、電子デバイス101a及び/又は101bは、オブジェクトとユーザとの間の距離が変化することに応じて、いくつかのオブジェクトのサイズを更新しない。いくつかの実施形態では、電子デバイス101a及び/又は101bが、オブジェクトとユーザ914A及び914Bとの間の距離の変化に応じてオブジェクトのサイズを維持する場合であっても、オブジェクトに対するユーザの視線の検出に応じてインジケーション918が表示されるサイズが更新される(例えば、ユーザに近い場合に小さくなり、ユーザから遠い場合に大きくなる)。
したがって、いくつかの実施形態では、図9B及び図9Cを参照して説明されるように、アプリケーションの表現が、三次元環境904内の複数のユーザ914A及び914Bにアクセス可能であるとき、表現の配向及び/又はサイズ決めは、三次元環境904内の複数のユーザ914A及び914Bのポジションに従って更新される。いくつかの実施形態では、アプリケーションの表現が三次元環境904において1人のユーザのみにアクセス可能であるとき、表現の向き及び/又はサイズは、図7A~図8Pを参照して上述した方法と同様の方法で、表現へのアクセスを有するユーザのポジションに従って更新される。いくつかの実施形態では、アプリケーションの表現の向き及び/又はロケーションは、表現を共有するための入力(例えば、図9BのユーザA 914Aによって提供される入力)に応じて同じままであり、表現が複数のユーザにアクセス可能である間に表現が再配置されるまで自動的に更新されない。例えば、アプリBの表現908のポジション、向き、及び/又はサイズは、表現908を共有するための入力が電子デバイスA 101aによって受信される前に図9Bにあったように、共有されたことに応じて図9Cにおいて同じである。いくつかの実施形態では、ユーザ914A又は914Bのうちの1人が表現908を移動させた場合、電子デバイス101a及び/又は101bは、入力に従って表現908を移動させ、ユーザA 914A及びユーザB 914Bが移動入力を受信した後(及び任意選択的にその間)に表現908を見ることができるように、表現906、ユーザA 914A、及びユーザB 914Bのポジションに従って表現906のサイズ及び向きを自動的に更新する。
図9A~図9Cを参照して上述したように、一部の実施形態では、電子デバイス101a及び/又は101bは、三次元環境904におけるユーザA 914A及びユーザB 914Bのロケーションに従って(例えば、仮想オブジェクトを最初に表示するときに、仮想オブジェクトを移動させる要求に応じて)、仮想オブジェクトの向き及び/又はサイズを自動的に更新する。したがって、いくつかの実施形態では、三次元環境904内のユーザの数が変化した場合(例えば、ユーザを追加又は除去することによって)、三次元環境904内の個別のポジションにおける個別のオブジェクトの自動配向も変化する。
図9Dは、電子デバイスA 101a、電子デバイスB 101b、及び電子デバイスC 101cの各々における三次元環境904の表示を示す。電子デバイスA 101aは、アプリAの表現906及びアプリBの表現908を含む、ユーザA 914Aの視野928a内の三次元環境904の一部分を示す。電子デバイスB 101bは、アプリAの表現906、アプリBの表現908、アプリCの表現922、及びユーザA 914Aの表現を含む、ユーザB 914Bの視野928b内の三次元環境904の一部分を示す。電子デバイスC 101cは、アプリAの表現906、アプリBの表現908、アプリCの表現922、及びユーザAの表現914Aを含む、ユーザC 914Cの視野928c内の三次元環境904の一部分を示す。
いくつかの実施形態では、ユーザC 914Cが三次元環境904に参加したことに応じて、電子デバイス101a、101b、及び/又は101cは、三次元環境904におけるユーザC 914Cの初期ポジションを自動的に選択する。電子デバイスが三次元環境内でユーザの初期ポジションを選択する例示的な方法は、図13A~図14Lを参照して以下でより詳細に説明される。いくつかの実施形態では、電子デバイスは、ユーザが三次元環境に加わることに応じて、又は三次元環境のユーザのビューをリセットするためのユーザ入力を受信することに応じて、ユーザのポジションを自動的に選択する。例えば、三次元環境をリセットする要求を検出したことに応じて、電子デバイスは、1つ以上の規則(例えば、図13A~図14Lを参照して後述する規則のうちの1つ以上)に従ってユーザを位置付ける。このようにして、電子デバイスは、三次元環境内の他のユーザ及びオブジェクトのポジション及び/又は向きを更新することなく、ユーザのために三次元環境内のオブジェクト及び他のユーザの表示を更新することができる。
図9Dは、図9Cを参照して前述した三次元環境904にユーザC 914Cを追加したものを示す。図9Dは、図9Cのこれらのオブジェクトのロケーションと同じ三次元環境904内のロケーションにそれぞれ表示されたアプリA、B、C、及びDの表現906、908、922、及び924を示す。アプリA、B、C、及びDのそれぞれの表現906、908、922、及び924の向きは、三次元環境904に存在するユーザ配置が図9Cと図9Dとで異なる(例えば、ユーザC 914Cが追加される)ので、図9Cと図9Dとで異なる。いくつかの実施形態では、電子デバイス101a、101b、及び/又は101cは、ユーザC 914Cが三次元環境904に追加されたことに応じて、それぞれアプリA、B、C、及びDの表現906、908、922、及び924の向きを更新しない。むしろ、図9Dは、任意選択的に、アプリケーションA、B、C、及びDの表現906、908、922、及び924が図9Dに示されるロケーションに移動された場合の、これらのオブジェクトのそれぞれの自動配向を示す。いくつかの実施形態では、アプリA、B、C、及びDそれぞれの表現906、808、922、及び924の向き及び/又はサイズは、ユーザC 914Cが三次元環境904に参加したことに応じて、図9Dに示すように更新される。
例えば、アプリB及びAの表現908及び906は、それぞれ、ユーザC 914Cがこれらのオブジェクトの右にあるため、図9Cよりも図9Dにおいて右に向かって傾斜しており、表現908及び906は、(例えば、電子デバイスC 101cを介して)ユーザC 914Cに少なくとも部分的に見える。別の例として、ユーザC 914CがアプリCの表現922の少なくとも一部を見ることができるように、表現922の面のうちの1つがユーザB 914B及びユーザC 914Cの両方に向けられるように、アプリCの表現922は反時計回りに回転される。図9Dでは、アプリCの表現922が複数の側(例えば、ユーザに面する側、全ての側など)にコンテンツを含むので、ユーザA 914Aは依然としてアプリCの表現922の別の面を見ることができる。
図10A~図10Tは、いくつかの実施形態による、三次元環境内の複数のユーザの視点に基づいて三次元環境内の仮想オブジェクトの向きを自動的に更新する方法を示すフローチャートである。いくつかの実施形態では、方法1000は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度検知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法1000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法1000のいくつかの動作は、任意選択的に組み合わされ、及び/又はいくつかの動作の順序は、任意選択的に変更される。
いくつかの実施形態では、方法1000は、表示生成コンポーネント及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイスにおいて実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイスと統合されたディスプレイ(任意選択的にタッチスクリーンディスプレイ)、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影するか、又はユーザインタフェースを1人以上のユーザに見えるようにするための(任意選択的に統合又は外部)ハードウェアコンポーネントなどである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力を受信(例えば、ユーザ入力のキャプチャ、ユーザ入力の検出など)し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例としては、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択的に統合又は外部)、タッチパッド(任意選択的に統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、視線追跡デバイス及び/又は動きセンサ(例えば、ハンドトラッキングデバイス、手動きセンサ)などが挙げられる。
図9Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、表示生成コンポーネント120を介して、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)によって共有される三次元環境(例えば、904)を表示する(1002)。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境等のコンピュータ生成現実(CGR)環境である)。いくつかの実施形態では、第1のユーザに関連付けられた電子デバイスは、三次元環境内の第1のユーザのポジション及び向きに対応する視点から三次元環境を表示する。いくつかの実施形態では、第2のユーザに関連付けられた(例えば、電子デバイスとは異なる)別の電子デバイスは、三次元環境内の第2のユーザのポジション及び向きに対応する視点から三次元環境を表示する。いくつかの実施形態では、三次元環境は、第1のユーザが位置する環境内の物理オブジェクトを表す仮想オブジェクト、及び/又は第2のユーザが位置する環境内の物理オブジェクトを表す仮想オブジェクトを含む。いくつかの実施形態では、第1のユーザに対応する三次元環境内のロケーションは、第1のユーザに関連付けられた電子デバイスの物理的環境内の第1のユーザに関連付けられた電子デバイスの物理的ロケーションに対応するロケーションである。いくつかの実施形態では、第2のユーザに対応する三次元環境内のロケーションは、第2のユーザに関連付けられた他の電子デバイスの物理的環境内の第2のユーザに関連付けられた他の電子デバイスの物理的ロケーションに対応するロケーションである。いくつかの実施形態では、電子デバイスは、第1のユーザに関連付けられた三次元環境内のロケーションに第1のユーザのアバターを表示し、及び/又は第2のユーザに対応する三次元環境内のロケーションに第2のユーザのアバターを表示する。
いくつかの実施形態では、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境内で個別のアプリケーションの個別の表現を表示する要求に対応する入力を受信する(1004)(例えば、表現(例えば、906)、(例えば、908)、又は(例えば、922)のうちの1つを表示する前に、図9Aの表現(例えば、906)、(例えば、908)、又は(例えば、922)のうちの1つを表示することを要求する入力を受信する)。いくつかの実施形態では、入力は、個別のアプリケーションを起動する要求及び/又は電子デバイス上で既に実行されている個別のアプリケーションの追加表現を表示する要求に関連付けられた入力を含む。いくつかの実施形態では、個別のアプリケーションの個別の表現は、個別のアプリケーションのユーザインタフェースである。いくつかの実施形態では、個別のアプリケーションの個別の表現は、個別のアプリケーションに関連付けられた仮想オブジェクトである。
いくつかの実施形態では、個別のアプリケーションの個別の表現を表示する要求に対応する入力を受信したことに応じて(1006)、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点が、図9Aのような三次元環境(例えば、904)内の第1の複数のポジションにおける視点を含む第1の配置(例えば、空間配置)にある(例えば、第1のユーザの視点及び第2のユーザの視点が、三次元環境内の第1の複数のポジション(例えば、及び向き)にある)という判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置に基づいて、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示する(1008)。いくつかの実施形態では、第1のポジションは、1つ以上の配置基準を満たすポジションである。いくつかの実施形態では、1つ以上の配置基準は、三次元環境内の第1及び第2のユーザのロケーション及び任意選択的に向きに少なくとも部分的に基づいて満たされる基準を含む。いくつかの実施形態では、1つ以上の配置基準は、両方のユーザが、三次元環境内の視点から、個別のアプリケーションの個別の表現を見ることができるときに満たされる基準を含む。いくつかの実施形態では、配置基準は、個別の表現の向きが、個別の表現のコンテンツが三次元環境内の第1のユーザ及び第2のユーザのポジションに面しているようなものであるときに満たされる基準を含む。
いくつかの実施形態では、個別のアプリケーションの個別の表現を表示する要求に対応する入力を受信したことに応じて(1006)、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点が、図9Bのような三次元環境(例えば、904)の第1の複数のポジションとは異なる三次元環境(例えば、904)の第2の複数のポジションにおける視点を含む第2の配置(例えば、空間配置)にある(例えば、第1のユーザの視点及び第2のユーザの視点が、三次元環境内の第2の複数のポジション(例えば、及び向き)にある)という判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第2の配置に基づいて、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第2のポジションに表示する(1010)。いくつかの実施形態では、第1の複数のポジションと第2の複数のポジションとの間の差は、ユーザのうちの1人の視点のポジションの差であり、1人以上の他のユーザの視点のポジションは同じである。いくつかの実施形態では、第1のユーザ及び第2のユーザの視点のポジションが交換される場合、個別の表現が表示されるポジションは同じである。いくつかの実施形態では、個別の表現が表示されるポジションは、ユーザの視点の向きに関係なく、ユーザの視点のポジションに依存する。いくつかの実施形態では、個別の表現が表示されるポジションは、ユーザの視点のポジション及び向きに依存する。いくつかの実施形態では、電子デバイスは、三次元環境内の第1及び第2のユーザの視点のポジションに応じて、個別のアプリケーションの個別の表現を異なるロケーションに表示する。いくつかの実施形態では、個別のアプリケーションの表現は、個別のアプリケーションの個別の表現の反対側から第1のユーザ及び第2のユーザによって見られるように意図された双方向表現である。例えば、個別の表現は、仮想ボードゲームであり、電子デバイスは、第1及び第2のユーザの視点のロケーションの間のポジションに個別の表現を表示するように構成される。一例として、第1のユーザのポジションが座標系に対して第2のユーザのポジションの右側にある場合、電子デバイスは、座標系に対して第2のユーザの右側及び第1のユーザの左側に個別の表現を表示する。この例では、第1のユーザが基準系に対して第2のユーザの左側にいる場合、電子デバイスは、基準系に対して第2のユーザの左側及び第1のユーザの左側に個別の表現を表示する。
三次元環境内のユーザの視点のポジションに依存するロケーションに個別のアプリケーションの個別の表現を表示する上述の方法は、ユーザにとって便利なロケーションに個別の表現を表示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間、個別のアプリケーションの個別の表現(例えば、906)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置に基づいて、三次元環境(例えば、904)に対して第1の向きで表示され、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、個別のアプリケーションのそれぞれの表現(例えば、906)を三次元環境(例えば、904)内の第3のポジションに移動させるための個別の入力を受信する(1012)。いくつかの実施形態では、入力は、選択されると、電子デバイスに、個別の表現を移動させるプロセスを開始させるオプションの選択を含む。いくつかの実施形態では、入力を検出することは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド))を介して、ユーザがジェスチャを実行し(例えば、親指と同じ手の指(例えば、人差し指、中指、薬指、小指)に親指をタップする)、ジェスチャを実行しながら手を動かし、ジェスチャを解放することを検出することを含む。いくつかの実施形態では、電子デバイスは、ユーザの手の移動に従って表現を移動させる。図9Cなどのいくつかの実施形態では、個別の入力の受信に応じて(1014)、電子デバイス(例えば、101)は、三次元環境(例えば、904)内の第3のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示する(1016)。図9Cなどのいくつかの実施形態では、個別の入力を受信したことに応じて(1014)、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第3のポジション及び第1の配置に基づいて、第1の向きとは異なる第2の向きで表示されるように個別のアプリケーションの個別の表現(例えば、906)を更新する(1018)。いくつかの実施形態では、電子デバイスが個別の入力に従って個別の表現を移動させている間、電子デバイスは、個別の表現が第1のポジションから第3のポジションに移動するにつれて、個別の表現が移動して向きを変えるアニメーションを表示する。いくつかの実施形態では、第2の向きは、個別の表現が第3のポジションにある間、第1及び第2のユーザの視点に面する向きである。いくつかの実施形態では、個別の表現は、方法800及び/又は1200の1つ以上のステップに従って更新される。
第1及び第2のユーザの視点の第3のポジション及び第1の配置に従って個別の表現のポジションを更新する上述の方法は、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、表現のポジションの変化に従って表現の向きを調整するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する、第1及び第2のユーザに見える向きで個別の表現を表示する効率的な方法を提供する一方で、使用時の誤りを低減する。
いくつかの実施形態では、図9Cのような三次元環境(例えば、904)の第1のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示しながら、個別のアプリケーションの個別の表現(例えば、906)は、第1のユーザ(例えば、914A)の視点の第1の配置及び第2のユーザ(例えば、914B)の視点に基づいて、三次元環境(例えば、904)に対して第1の向きで表示され、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置が、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第3の配置に変化したことを検出し(1020)、第3の配置は、三次元環境内の第1の複数のポジションとは異なる、三次元環境(例えば、904)内の第3の複数のポジションにおける視点を含む(例えば、図9CのユーザA(例えば、914A)及び/又はユーザB(例えば、914B)が三次元環境(例えば、904)内でポジションを変更する場合)。いくつかの実施形態では、第1のユーザ及び第2のユーザのうちの1人以上の視点のポジションが変化している。例えば、ユーザのうちの1人以上が三次元環境内でポジションを変更する。いくつかの実施形態では、電子デバイスは、電子デバイスの第1のユーザのポジションを変更する要求に対応する入力を検出する。いくつかの実施形態では、電子デバイスの第1のユーザのポジションを変更する要求は、1つ以上の加速度計、ジャイロスコープ、距離センサ、カメラなどを介して検出される電子デバイスの物理的環境内の電子デバイスの動きである。いくつかの実施形態では、第1のユーザの視点及び第2のユーザの視点の第1の配置が変化したことを検出したことに応じて、電子デバイス(例えば、101)は、図9Cのように、三次元環境(例えば、904)に対して第1の向きを有する第1のポジションに個別のアプリケーションの個別の表現(例えば、906)を維持する(1022)。いくつかの実施形態では、電子デバイスは、三次元環境内のユーザのうちの1人以上のポジションの変化を検出したことに応じて、個別の表現の向き又はポジションを変更しない。いくつかの実施形態では、電子デバイスは、方法800の1つ以上のステップに従って移動したユーザの視点から三次元環境を更新する。
第1及び第2のユーザの視点の配置が変化するときに三次元環境内で個別の表現を第1のポジション及び第1の向きに維持する上述の方法は、個別の表現を更新するための新たなポジション又は向きを計算することなく、第1及び第2のユーザの視点の配置を更新する効率的な方法を提供し、これは更に、電子デバイスの計算の複雑さを低減することによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
図9Bなどのいくつかの実施形態では、三次元環境(例えば、904)に対して第1の向きで第1のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示している間に、電子デバイス(例えば、101)は、三次元環境(例えば、904)内の第1のポジションから離れるように個別のアプリケーションの個別の表現(例えば、906)を移動させるための個別の入力を検出する(1024)。いくつかの実施形態では、電子デバイスは、選択されると、電子デバイスに、三次元環境内で個別の表現を移動させるプロセスを開始させるオプションの選択を検出する。いくつかの実施形態では、入力を検出することは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド))を介して、ユーザがジェスチャを実行し(例えば、親指と同じ手の指(例えば、人差し指、中指、薬指、小指)に親指をタップする)、ジェスチャを実行しながら手を動かし、ジェスチャを解放することを検出することを含む。いくつかの実施形態では、電子デバイスは、ユーザの手の移動に従って表現を移動させる。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて、電子デバイス(例えば、101)は、個別の入力に従って個別のアプリケーションの個別の表現(例えば、906)を第1のポジションから離れるように移動させ、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第3の配置に基づいて、三次元環境(例えば、906)において第1の向きとは異なる第2の向きを有するように個別の表現(例えば、906)を更新する(1026)。いくつかの実施形態では、電子デバイスは、個別の表現を移動させる入力が受信されている間に、ユーザの視点の配置に従って表現の向きを更新する。例えば、表現は最初に第1のポジション及び向きで表示されるが、ユーザの視点は第1の配置にあり、視点の配置は更新された配置に変化し、個別の表現を移動させる入力が受信される。この例では、個別の表現の向きは、個別の表現を移動させる入力に応じて(例えば、個別の表現を移動させる入力を検出する前ではなく)、ユーザの視点の更新された配置及び個別の表現の更新されたポジションに基づいて変化する。いくつかの実施形態では、第1のユーザの視点及び第2のユーザの視点の第3の配置に基づく個別の表現の第2の向きは、個別の表現の現在ロケーションにおけるユーザの視点に面する向きである。いくつかの実施形態では、個別の表現は、方法800及び/又は1200の1つ以上のステップに従って更新される。
第1のユーザ及び第2のユーザの視点の第3の配置に基づいて個別の表現の向きを更新する上述の方法は、表現が移動されるときにユーザに見える向きで表現を表示する効率的な方法を提供し、それは更に、ユーザが電子デバイスをより迅速かつ効率的に(例えば、個別の表現の向きを調整するのに必要な入力を減らすことによって)使用することを可能にし、使用時のエラーを低減しながら、電力使用を低減し、電子デバイスの電池寿命を改善する。
図9Bなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、906)は、個別のユーザインタフェース要素(例えば、918)と共に表示される(1028)。いくつかの実施形態では、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、個別のユーザインタフェース要素(例えば、918)の選択に対応する入力を検出する(1030)(例えば、図9Bにおいて、ユーザが手(例えば、920b)でジェスチャを実行している間に、ユーザの視線(例えば、916b)がユーザインタフェース要素(例えば、918)上にあった場合)。いくつかの実施形態では、個別のユーザインタフェース要素(例えば、918)の選択に対応する入力に応じて、電子デバイス(例えば、101)は、三次元環境(例えば、904)内の個別のアプリケーションの個別の表現(例えば、906)を移動させるプロセスを開始する(1032)。いくつかの実施形態では、個別のユーザインタフェース要素に向けられた第2の入力に応じて、電子デバイスは、選択されると、個別の表現を移動させるプロセスを電子デバイスに開始させる選択可能オプションを含む複数の選択可能オプションを含むように個別のユーザインタフェース要素を更新する。いくつかの実施形態では、個別のユーザインタフェース要素は、ユーザインタフェース内の他のアプリケーション表現及び他のオブジェクトの各々に関連して表示されるシステムオブジェクトである。いくつかの実施形態では、個別のユーザインタフェース要素は、アイトラッキングデバイスを介して、ユーザの視線が個別のアプリケーションの個別の表現に向けられていることを検出したことに応じて表示される。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド))を介して、ユーザが個別のユーザインタフェース要素を見ながらジェスチャを実行し(例えば、親指と同じ手の指(例えば、人差し指、中指、薬指、小指)に親指をタップする)、ジェスチャを実行しながら手を動かし、ジェスチャを解放することを検出したことに応じて、表現を移動させる。いくつかの実施形態では、電子デバイスは、ユーザの手の移動に従って表現を移動させる。いくつかの実施形態では、個別のユーザインタフェース要素は、個別のアプリケーションの表現のエッジ(例えば、下端)に隣接して表示される。
三次元環境内で個別の表現を移動させるように相互作用可能である個別のユーザインタフェース要素を用いて個別の表現を表示する上述の方法は、個別の表現を移動させるプロセスを開始する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、三次元環境(例えば、904)において第1のユーザ614Aの視点から第1の距離に個別のアプリケーションの個別の表現(例えば、906)を表示している間、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)が第1のユーザ(例えば、914A)の視点から第1のサイズで表示され、個別のアプリケーションの個別の表現(例えば、906)を第1のユーザ(例えば、914A)の視点から第1の距離よりも遠い第2の距離に移動させるための個別の入力を検出する(1034)。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(1036)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を第1のユーザ(例えば、914A)の視点から第2の距離に移動させる(1038)(例えば、第1のユーザの視点から第2の距離である三次元環境内の更新されたポジションに個別のアプリケーションの個別の表現を表示する)。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(1036)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を、第1のユーザ(例えば、914A)の視点から第1のサイズよりも大きい第2のサイズで表示する(1040)。いくつかの実施形態では、表示生成コンポーネントは、第2の距離及び第1の距離で個別の表現を表示するために同じ表示エリアを使用し、それによって、個別の表現の仮想サイズをより大きくする。いくつかの実施形態では、表示生成コンポーネントは、第1の距離で個別の表現を表示するために使用される表示エリアと比較して、より多くの表示エリアを使用して、第2の距離で個別の表現を表示する。いくつかの実施形態では、個別の表現が第2のユーザの視点から表示されるサイズは、個別の表現と第2のユーザの視点との間の更新された距離に従って更新される。いくつかの実施形態では、個別の表現のサイズは、第1のユーザの視点及び第2のユーザの視点から同じであり、個別の表現のサイズは、第1のユーザの視点に対する個別の表現の距離及び第2のユーザの視点に対する個別の表現の距離に従って更新される。いくつかの実施形態では、個別の表現が第1のユーザの視点及び/又は第2のユーザの視点により近いポジションに移動されたという判定に従って、電子デバイスは、より小さいサイズで表示されるように個別の表現を更新する。
個別の表現が第1のユーザの視点から更に移動されることを検出したことに応じて個別の表現のサイズを増加させる上述の方法は、個別の表現の可読性を維持する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、個別の表現のサイズを調整するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図9Bなどのいくつかの実施形態では、三次元環境(例えば、904)内で第1のユーザ(例えば、914A)の視点から第1の距離に個別のアプリケーションの個別の表現(例えば、906)を表示している間、個別のユーザインタフェース要素(例えば、918)は第1のユーザ(例えば、914A)の視点から第2のサイズで表示され(例えば、個別のアプリケーションの個別の表現は第1のユーザの視点から第1のサイズで表示される)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を第1のユーザ(例えば、914A)の視点から第1の距離よりも遠い第2の距離に移動させるための個別の入力を検出する(1042)。いくつかの実施形態では、個別の入力を検出したことに応じて(1044)、電子デバイス(例えば、101)は、図9Cのように、個別のアプリケーションの個別の表現(例えば、906)を第1のユーザ(例えば、914A)の視点から第2の距離に移動させる(例えば、第1のユーザの視点から第2の距離である三次元環境内の更新されたポジションに個別のアプリケーションの個別の表現を表示する)(1046)。いくつかの実施形態では、個別の入力を検出したことに応じて(1044)、電子デバイス(例えば、101)は、第1のユーザの視点から第2のサイズよりも大きい第3のサイズで個別のユーザインタフェース要素を表示する(例えば、ユーザA(例えば、914A)からの表現(例えば、906)の距離の変更に従ってユーザインタフェース要素(例えば、918)のサイズを更新する)(1048)。いくつかの実施形態では、表示生成コンポーネントは、同じ表示エリアを使用して、個別のユーザインタフェース要素を第2の距離及び第1の距離で表示し、それによって、個別のユーザインタフェース要素の仮想サイズをより大きくする。いくつかの実施形態では、表示生成コンポーネントは、第1の距離で個別のユーザインタフェース要素を表示するために使用される表示エリアと比較して、より多くの表示エリアを使用して、第2の距離で個別のユーザインタフェース要素を表示する。いくつかの実施形態では、個別のユーザインタフェース要素が第2のユーザの視点から表示されるサイズは、個別のユーザインタフェース要素と第2のユーザの視点との間の更新された距離に従って更新される。いくつかの実施形態において、個別のユーザインタフェース要素のサイズは、第1のユーザの視点及び第2のユーザの視点から同じであり、個別のユーザインタフェース要素のサイズは、第1のユーザの視点までの個別のユーザインタフェース要素の距離及び第2のユーザの視点までの個別のユーザインタフェース要素の距離に従って更新される。いくつかの実施形態では、個別のユーザインタフェース要素が第1のユーザの視点及び/又は第2のユーザの視点により近いポジションに移動されたという判定に従って、電子デバイスは、より小さいサイズで表示されるように個別のユーザインタフェース要素を更新する。したがって、いくつかの実施形態では、電子デバイスは、オブジェクトのサイズが同じままであっても、個別のユーザインタフェース要素のサイズを更新する。いくつかの実施形態では、電子デバイスは、ユーザの視点から第2の距離にある第1のユーザの視点から第1のサイズで個別のアプリケーションの個別の表現を表示する。いくつかの実施形態では、表示生成コンポーネントは、個別の表現の仮想サイズを維持するために個別の表現が第1のユーザの視点から更に移動された後、個別のアプリケーションの個別の表現を表示するために、より少ない表示エリアを使用する。いくつかの実施形態では、電子デバイスは、個別の表現が三次元環境内で移動される際に、第2のユーザの視点からの個別の表現のサイズを維持する。いくつかの実施形態では、電子デバイスは、個別の表現と第1のユーザの視点及び/又は第2のユーザの視点との間の距離とは無関係に、第1のユーザの視点及び/又は第2のユーザの視点からの個別の表現のサイズを維持する。いくつかの実施形態では、個別の表現を第1のユーザの視点及び/又は第2のユーザの視点に近づける入力に応じて、電子デバイスは、個別の表現のサイズを維持する。いくつかの実施形態では、第1のユーザの視点及び/又は第2のユーザの視点のより近くに個別の表現を移動させる入力に応じて、電子デバイスは、第1のユーザの視点及び/又は第2のユーザの視点からより近い距離に個別の表現の仮想サイズを維持するために、個別の表現を提示するために使用される表示エリアを増加させる。
第1のユーザの視点と個別の表現及び個別のユーザインタフェース要素との間の距離の変化を検出したことに応じて、個別の表現を同じサイズで表示し、個別のユーザインタフェース要素を異なるサイズで表示する上述の方法は、一定のサイズを有する仮想オブジェクトと共に表示される個別のユーザインタフェース要素の可読性を維持する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、三次元環境(例えば、904)内の第1のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示しながら、電子デバイス(例えば、101)は、電子デバイスと通信するハンドトラッキングデバイスを介して、三次元環境(例えば、904)内で個別のアプリケーションの個別の表現(例えば、906)を移動するための個別の入力を検出し(1050)、個別の入力は、電子デバイス101bのユーザ(例えば、914B)の手(例えば、920b)によって実行されるジェスチャと、それに続く手(例えば、920b)によって実行されるジェスチャを維持しながらの手(例えば、920b)の移動とを含む。いくつかの実施形態では、ジェスチャは、ユーザが個別の表現を移動させるために選択可能な個別のユーザインタフェース要素を見ている間に(例えば、アイトラッキングデバイスを介して検出される)、ユーザが自分の親指を自分の他の指(例えば、人差し指、中指、薬指、小指)の1つにタッチすることであり、電子デバイスは、親指が他の指にタッチしている間に(例えば、ハンドトラッキングデバイスを用いて)手の移動を検出する。図9Cなどのいくつかの実施形態では、個別の入力を受信したことに応じて、電子デバイス(例えば、101)は、手(例えば、920b)の移動に従って、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内で移動させる(1052)。いくつかの実施形態では、電子デバイスは、ジェスチャが検出されている間に、個別の表現に対するユーザの視線を検出したことに応じて、手の移動に従って個別のアプリケーションの個別の表現を移動させる。いくつかの実施形態では、個別の表現は、方法800及び/又は1200の1つ以上のステップに従って更新される。
ユーザの手によって実行されるジェスチャを検出することに応じて、手の移動に従って個別の表現を移動させる上述の方法は、個別の表現のポジションを制御する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内で移動させるための個別の入力を検出する(1054)。いくつかの実施形態では、個別の入力は、選択されると、電子デバイスに個別の表現を移動させるプロセスを開始させるオプションの選択を含む。いくつかの実施形態では、個別の表現を移動させるプロセスは、ハンドトラッキングデバイスを介して、ユーザの手がジェスチャを実行していることを検出することと、手の移動に従って個別の表現を移動させることとを含む。いくつかの実施形態では、個別の入力を受信したことに応じて(1056)、個別の入力が第1のユーザ(例えば、914A)に関連付けられているという判定に従って、電子デバイス(例えば、101)は、図9Cのように、個別の入力に従って、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内で移動させる(1058)。いくつかの実施形態では、第1のユーザの電子デバイスは、個別のアプリケーションの個別の表現を移動させるための個別の入力を検出する。いくつかの実施形態では、第1のユーザの電子デバイス及び第2のユーザの電子デバイスは、第1のユーザの電子デバイスが個別の入力を検出したことに応じて、個別の表現の移動を表示する。いくつかの実施形態では、個別の入力を受信したことに応じて(1056)、個別の入力が第2のユーザ(例えば、914B)に関連付けられているという判定に従って、電子デバイス(例えば、101)は、図9Cのように、個別の入力に従って、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内で移動させる(1060)。いくつかの実施形態では、第2のユーザの電子デバイスは、個別のアプリケーションの個別の表現を移動させるための個別の入力を検出する。いくつかの実施形態では、第1のユーザの電子デバイス及び第2のユーザの電子デバイスは、第2のユーザの電子デバイスが個別の入力を検出したことに応じて、個別の表現の移動を表示する。いくつかの実施形態では、個別の表現は、方法800及び/又は1200の1つ以上のステップに従って更新される。
個別の入力が第1のユーザ又は第2のユーザに関連付けられているかどうかにかかわらず、個別の入力に応じて個別のアプリケーションの個別の表現を移動させる上述の方法は、個別のアプリケーションの個別の表現を移動させる効率的な方法を提供し、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、いずれかのユーザが表現を移動させることを可能にし、したがって一方のユーザが他方のユーザに表現を移動させるのと比較して時間を節約することによって)、使用時の誤りを低減しながら、更に電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、922)を三次元環境(例えば、904)内の第1のポジションに表示している間に、個別のアプリケーションの個別の表現(例えば、922)は、図9Aのように、三次元環境(例えば、904)に対する第1の向き、第1のユーザ(例えば、914A)の視点に対する第2の向き及び第1の個別のポジション、並びに第2のユーザ(例えば、914B)の視点に対する第3の向き及び第2の個別のポジションで表示され、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、904)内の第1のユーザ(例えば、914A)の視点を自動的に変更する要求に対応する個別の入力を受信し(1062)、個別の入力は、三次元環境(例えば、904)内の第1のユーザ(例えば、914A)の視点をどのように変更するかを示さない。いくつかの実施形態では、入力は、第1のユーザの視点から三次元環境をリセットする要求に対応する。いくつかの実施形態では、入力は、第1のユーザに関連付けられたロケーションが三次元環境内のオブジェクト及び他のユーザ(単数又は複数)から少なくとも閾値距離であるという判定に従って表示される、三次元環境内に表示されたオプションの選択である。いくつかの実施形態では、個別の入力を受信したことに応じて、電子デバイス(例えば、101)は、第2のユーザ(例えば、914B)の視点及び三次元環境(例えば、904)内の第1のポジションにおける個別のアプリケーションの個別の表現(例えば、922)に基づいて、三次元環境(例えば、904)内の第1のユーザ(例えば、914A)の視点を更新する(1064)。いくつかの実施形態では、第2のユーザの電子デバイスは、第3の向き及び第2のユーザの視点に対する第2の個別のポジションを有する個別のアプリケーションの個別の表現を表示し続ける。いくつかの実施形態では、個別の入力に応じて、電子デバイスは、方法1400の1つ以上のステップに従って、三次元環境内の他のユーザの視点のポジション、三次元環境内のアプリケーションの表現、及び/又は三次元環境内の他のオブジェクトに基づく1つ以上の基準に従って、第1のユーザの視点のポジション及び向きを自動的に更新する。例えば、第1のユーザのポジションは、ユーザ及び仮想オブジェクト配置規則に基づいて自動的に更新される。
個別の入力に応じて三次元環境内の第1のユーザの視点を自動的に更新する上述の方法は、三次元環境内のオブジェクトの手動再配置又は第1のユーザの更新されたロケーションの手動選択を必要とせずに、第1のユーザの視点からの1つ以上の基準に従って三次元環境を提示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、三次元環境内の第1のユーザの視点を更新した後、個別のアプリケーションの個別の表現(例えば、922)は(1066)、図9Aのように、三次元環境(例えば、904)に対して第1のポジションに第1の向きで表示される(1068)。いくつかの実施形態では、三次元環境内の個別のアプリケーションの個別の表現のポジション、及び三次元環境内の固定基準系に対する個別の表現の向きは、個別の入力に応じて変化しない。いくつかの実施形態では、他のユーザは、入力に応じて第1のユーザ更新の表現のポジションを見る(例えば、第1のユーザの表現は、三次元環境内の第1の個別のロケーションから第2の個別のロケーションに「ジャンプ」する)。いくつかの実施形態では、システムは、仮想オブジェクト(例えば、ユーザ、アプリケーション、仮想オブジェクトの表現)のロケーション情報を含む三次元環境を維持し、各ユーザは、自身の視点から三次元環境のビューを有する。いくつかの実施形態では、各ユーザの視点は、第1のユーザの電子デバイスの環境における物理オブジェクトの表現(例えば、電子デバイスの環境のフォトリアリスティックな表現のパススルービデオ)を含む。例えば、第1のユーザの電子デバイスは、第1のユーザの電子デバイスの物理的環境内に1つ以上の物理オブジェクトを有する三次元環境を提示し、第2のユーザの電子デバイスは、第2のユーザの物理的環境内に1つ以上の物理オブジェクトを有する三次元環境を提示する。いくつかの実施形態では、三次元環境は、物理オブジェクトに加えて仮想オブジェクトを更に含む。いくつかの実施形態では、三次元環境(例えば、904)内で第1のユーザ(例えば、914A)の視点を更新した後(1066)、個別のアプリケーションの個別の表現(例えば、922)が、第4の向きで、第1のユーザ(例えば、914A)の更新された視点に対する第3の個別のポジションに表示される(1070)。いくつかの実施形態では、第1のユーザの視点が変化すると、第1のユーザの視点に対する個別のアプリケーションの個別の表現の向き及びポジションが変化する。いくつかの実施形態では、三次元環境(例えば、904)内で第1のユーザ(例えば、914A)の視点を更新した後(1066)、個別のアプリケーションの個別の表現(例えば、922)は、図9Aのように、第2のユーザ(例えば、914B)の視点に対して第3の向きで第2の個別のポジションに表示される(1072)。いくつかの実施形態では、第2のユーザの視点に対する個別のアプリケーションの個別の表現の向き及びポジションは、個別の入力に応じて変化しない。いくつかの実施形態では、三次元環境内の第1のユーザのロケーション及び第2のユーザの視点に対する第1のユーザのロケーションは、個別の入力に応じて変化する。いくつかの実施形態では、第2のユーザの電子デバイスは、個別の入力に応じて、三次元環境内の1つのロケーションから別のロケーションへの(例えば、電子デバイスによって自動的に決定された「リセット」ロケーションへの)第1のユーザの表現の移動を表示する。
第1のユーザの視点が変化した後に三次元環境内の個別の表現のポジションを維持する上述の方法は、第1のユーザを自動的に位置決めする効率的な方法を提供し、これは、三次元環境内で第1のユーザ及び/又は1つ以上のオブジェクト又は他のユーザを手動で再位置決めするよりも効率的であり、更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、第2のユーザの視点を戻すために必要な入力を低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時のエラーを低減する。
いくつかの実施形態では、図9Cのように、三次元環境(例えば、904)内の第1の個別の向きを有する個別のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示している間に、電子デバイス(例えば、101)は、三次元環境(例えば、904)が共有されるユーザの数の変化を検出する(1074)(例えば、第1又は第2のユーザが三次元環境から離れる、及び/又は1人以上の追加ユーザが三次元環境に参加する)。いくつかの実施形態では、電子デバイス(例えば、101)は、三次元環境が共有されるユーザの数の変化を検出したことに応じて、1つ以上の基準が満たされる(例えば、ユーザの数が変化した後に、個別のアプリケーションの個別の表現が第1の個別のポジションから離れて第1の個別のポジションに戻るように移動される、又はアプリケーションの表現が、ユーザが移動する必要なく離脱又は参加することに基づいて向きを変えることができる)という判定に従って、図9Dのように、三次元環境(例えば、904)が共有される変化した数のユーザの視点の配置に基づいて、第1の個別の向きとは異なる第2の個別の向きで個別のポジションに個別の表現(例えば、906)を表示する(1076)。いくつかの実施形態では、個別のアプリケーションの個別の表現の向きは、三次元環境内のユーザの1人以上又は全ての視点の配置に基づくので、三次元環境内のユーザの数が変化すると、視点の配置が変化し、個別の表現を三次元環境内の第1のポジションに移動させることに応じて個別の表現の向きも変化する。例えば、三次元環境内に2人のユーザがいる間、三次元環境内の第1の個別のポジションに個別の表現を移動させる入力に応じて、電子デバイスは、第1の向きで三次元環境内の第1の個別のポジションに個別の表現を表示する。別の例として、三次元環境内に3人のユーザがいる間に、個別の表現を三次元環境内の第1の個別のポジションに移動させる入力に応じて、電子デバイスは、第1の向きとは異なる第2の向きで三次元環境内の第1の個別のポジションに個別の表現を表示する。いくつかの実施形態では、電子デバイスは、三次元環境内のユーザの数が変化したことに応じて、個別の表現の向きを更新しない。いくつかの実施形態では、電子デバイスは、三次元環境内のユーザの数が変化したことに応じて、個別の表現の向きを更新する(例えば、個別の表現を三次元環境内のユーザのうちの1人以上又は全てに向けて配向する)。
三次元環境内のユーザの数の変化を検出したことに応じて、第2の向きで個別のポジションに個別の表現を表示する上述の方法は、三次元環境内のユーザのうちの1人以上又は全員に向けて個別の表現を向ける効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用上の誤りを低減する。
図9Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置に基づいて、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示する(1078)。図9Aなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、906)が単一の方向(例えば、オブジェクトの片側にビデオコンテンツなどの仮想コンテンツを含むオブジェクト(例えば、仮想テレビ))から見えるという判定に従って、三次元環境(例えば、904)内の第1のポジションは、個別のアプリケーションの個別の表現(例えば、906)が第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点から単一の方向から見えるように、三次元環境(例えば、904)内の第1の個別のポジションである(1080)。いくつかの実施形態では、第1のポジションは、個別の表現の単一方向が第1及び第2のユーザの視点に向かって配向されるように選択される。図9Aなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、922)が第1の方向及び第1の方向とは異なる第2の方向(例えば、仮想ボードゲームの周りの複数の向きから見える仮想ボードゲーム)から見えるという判定に従って、個別のアプリケーションの個別の表現(例えば、922)が第1のユーザ(例えば、914A)の視点から第1の方向から見え、第2のユーザ(例えば、914B)の視点から第2の方向から見えるように、三次元環境(例えば、904)内の第1のポジションは、三次元環境(例えば、904)内の第1の個別のポジションとは異なる第2の個別のポジションである(1082)。いくつかの実施形態では、第1のポジションは、第1の方向が第1のユーザの視点に面し、第2の方向が第2のユーザの視点に面するように、第1のユーザの視点と第2のユーザの視点との間にある。
個別の表現が単一の方向から見えるか又は複数の方向から見えるかに応じて個別の表現に対して異なるポジションを選択する上述の方法は、第1のユーザ及び第2のユーザの両方に見えるポジションに個別の表現を配置する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、三次元環境(例えば、904)内で、第1のユーザ(例えば、914A)の視点から第1の距離及び第2のユーザ(例えば、914B)の視点から第2の距離に個別のアプリケーションの個別の表現(例えば、906)を表示している間、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)が第1のユーザ(例えば、914A)の視点から第1のサイズ及び第2のユーザ(例えば、914B)の視点から第2のサイズで表示され、個別のアプリケーションの個別の表現(例えば、906)を、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点から第3の距離及び第4の距離にそれぞれ移動させるための個別の入力を検出し、第3の距離は第1の距離とは異なり、第4の距離は第2の距離とは異なる(1084)。いくつかの実施形態では、個別の表現は、第1のユーザ及び第2のユーザの両方の視点からより遠いロケーションに移動する。いくつかの実施形態では、表現は、第1のユーザ及び第2のユーザの視点の両方により近いロケーションに移動する。いくつかの実施形態では、個別の表現は、第1のユーザの視点からより遠く、第2のユーザの視点により近いロケーションに移動する。いくつかの実施形態では、個別の表現は、第1のユーザの視点により近く、第2のユーザの視点からより遠いロケーションに移動する。いくつかの実施形態では、第1及び第2のサイズは、同一である。いくつかの実施形態では、第1及び第2のサイズは、異なる。いくつかの実施形態では、個別の表現のサイズは、三次元環境内の表現の仮想サイズであり、表現を表示するために使用される表示エリアの量は、表現のサイズ及びユーザの視点からの表現の距離に依存する。いくつかの実施形態では、個別の入力を検出したことに応じて(1086)、電子デバイスは、個別のアプリケーションの個別の表現を、第1のユーザの視点から第3の距離(例えば、及び第2のユーザの視点から第4の距離)に移動させる(1088)。図9Cなどのいくつかの実施形態では、個別の入力を検出したことに応じて(1086)、電子デバイスは、第3の距離及び第4の距離に基づいて、第1のユーザの視点から第1のサイズとは異なる第3のサイズで、及び第2のユーザの視点から第2のサイズとは異なる第4のサイズで、個別のアプリケーションの個別の表現を表示する(1090)。いくつかの実施形態では、第3及び第4のサイズは同じである。いくつかの実施形態では、第3及び第4のサイズは異なる。いくつかの実施形態では、個別の表現のサイズは、三次元環境内の表現の仮想サイズであり、表現を表示するために使用される表示エリアの量は、表現のサイズ及びユーザの視点からの表現の距離に依存する。いくつかの実施形態では、第1のユーザの視点から離れるように個別の表現を移動させることに応じて、電子デバイスは、個別の表現のサイズを増加させる。いくつかの実施形態では、個別の表現を第1のユーザの視点に向かって移動させることに応じて、電子デバイスは、個別の表現のサイズを減少させる。いくつかの実施形態では、個別の表現のサイズは、どのユーザがアプリケーションの表現を移動させるための入力を提供したかに関係なく、第1のユーザの視点及び第2のユーザの視点までの距離の平均又は別の組み合わせに従って更新される。
個別の表現から第1及び第2のユーザの視点までの第3及び第4の距離に従って表現のサイズを更新する上述の方法はそれぞれ、個別の表現が1つ以上の視点から離れるように移動されるときに個別の表現の可読性を維持し、個別の表現が1つ以上の視点に向かって移動されるときに他のオブジェクトのための表示エリアを節約する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図9Bなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、906)を第3のサイズで表示すること(1092)は、第3の距離が第4の距離よりも大きいという判定に従って、第3のサイズが第3の距離に関連付けられた最小サイズよりも大きくなるように、第3のサイズ及び第4のサイズを選択すること(1094)を含む。図9Bなどのいくつかの実施形態では、個別のアプリケーションの個別の表現(例えば、906)を第3のサイズで表示すること(1092)は、第4の距離が第3の距離よりも大きいという判定に従って、第4のサイズが第4の距離に関連付けられた最小サイズよりも大きくなるように、第3のサイズ及び第4のサイズを選択すること(1096)を含む。いくつかの実施形態では、個別の表現の更新されたサイズは、少なくとも、個別の表現から最も遠い視点に基づく最小サイズである。いくつかの実施形態では、第3及び第4のサイズは同じである。いくつかの実施形態では、第3及び第4のサイズは異なる。いくつかの実施形態では、より長い距離が移動入力によって変化しないという判定に従って、電子デバイスは、ユーザと表現との間の1つ以上の他の距離が移動入力に応じて変化しても、個別の表現のサイズを維持する。
個別の表現からより遠い視点までの距離に関連付けられた最小サイズに基づいて第3及び第4のサイズを選択する上述の方法は、両方のユーザにとって判読可能なサイズで個別の表現を提示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、判読可能なサイズで表現を提示するために必要な入力の数を減らすことによって)、電力使用量を更に減らし、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを減らす。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、1つ以上の入力デバイスを介して、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第2のユーザ(例えば、914A)の視点と一致する第3のポジションに移動させる要求に対応する個別の入力を受信する(1098)。いくつかの実施形態では、電子デバイスは、個別の表現を三次元環境内の第2のユーザのロケーションに移動させる要求に対応する、第1のユーザに関連付けられた入力を検出する。いくつかの実施形態では、第3のポジションは、表現のいずれかの部分が第2のユーザの視点のロケーションの閾値距離内にある場合、第2のユーザの視点と一致する。いくつかの実施形態では、第3のポジションは、第2のユーザの視点の少なくとも閾値量が、閾値距離内にあるときに個別の表現によって遮られる場合、第2のユーザの視点と一致する。図9Cなどのいくつかの実施形態では、個別の入力を受信したことに応じて、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を、三次元環境(例えば、904)内の第3のポジションとは異なる第4のポジションに移動させ(1099)、第4のポジションは、第2のユーザ(例えば、914A)の視点と一致しない。いくつかの実施形態では、第4のポジションは、第2のユーザの視点の所定の閾値内にある。いくつかの実施形態では、入力に応じて、電子デバイスは、第2のユーザの視点から閾値距離内にあるが、第2のユーザの視点と一致しないロケーションに個別の表現を表示する。
第2のユーザの視点と一致する第3のロケーションに個別の表現を移動させる要求に応じて、第2のユーザの視点と一致しない第4のポジションに個別のアプリケーションの個別の表現を移動させる上述の方法は、第1及び第2のユーザに見える代替ポジションに個別の表現を移動させる効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、1つ以上の入力デバイスを介して、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第3のポジションに移動させるための個別の入力を受信する(1097)。いくつかの実施形態では、個別の入力を受信したことに応じて(1095)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第3のポジションに表示する(1093)。図9Cなどのいくつかの実施形態では、個別の入力を受信したことに応じて(1095)、第3のポジションが第1のユーザ(例えば、914A)の視点から第1の距離であるという判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点に対して第1の向きで個別のアプリケーションの個別の表現(例えば、906)を表示し(1091)、第1の向きは、第1の度合いで第1のユーザ(例えば、914A)の視点に向けられる。いくつかの実施形態では、電子デバイスは、三次元環境内の全てのユーザの視点のポジションに従って、個別の表現を配向する。いくつかの実施形態では、電子デバイスは、個別の表現の第3のポジションに最も近い視点(単数又は複数)に向けて表現を配向することを優先する。例えば、第1のユーザの視点が、第2のユーザの視点と個別の表現との間の距離よりも、個別の表現までの距離が短い場合、電子デバイスは、電子デバイスが個別の表現を第2のユーザの視点に向けて配向するよりも、個別の表現を第1のユーザの視点に向けて配向する。図9Cなどのいくつかの実施形態では、個別の入力を受信したことに応じて(1095)、第3のポジションが第1のユーザ(例えば、914B)の視点から第1の距離よりも大きい第2の距離であるという判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914B)の視点に対して第2の向きで個別のアプリケーションの個別の表現(例えば、906)を表示し(1089)、第2の向きは、第1の度合いよりも小さい第2の度合いで第1のユーザ(例えば、914B)の視点に向けられる。例えば、第1のユーザの視点が、第2のユーザの視点と個別の表現との間の距離よりも、個別の表現までの距離が大きい場合、電子デバイスは、電子デバイスが個別の表現を第2のユーザの視点に向けて配向するよりも小さく、個別の表現を第1のユーザの視点に向けて配向する。いくつかの実施形態では、第1のユーザの視点が個別の表現に近ければ近いほど、電子デバイスは、個別の表現を第1のユーザの視点に向けてより多く配向する。いくつかの実施形態では、電子デバイスは、個別の表現を第1のユーザの視点から少なくとも最小距離に配置する。いくつかの実施形態では、個別の表現が、三次元環境内の1人以上のユーザが表現を見ることを可能にしないポジションに移動される場合、表現を見ることができないユーザの視点は、個別の表現の向きを決定する際の要因ではない。例えば、一方の側からのみ見える表現が2人のユーザの間に配置される場合、表現は、可視側が表現により近いユーザの視点に向くように配向される。いくつかの実施形態では、ユーザは、アプリケーションの表現を、ユーザが表現を見ることができないが、三次元環境内の1人以上の他のユーザが表現を見ることができるロケーション及び向きに配置することが可能である。いくつかの実施形態では、ユーザの頭部の閾値体積内に個別の表現を配置することは不可能である。
第1のユーザの視点と個別の表現との間の距離に基づいて、個別の表現が第1のユーザの視点に向けて配向される度合いを調整する上述の方法は、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって(例えば、表現の向きを調整するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を低減し、電子デバイスのバッテリ寿命を改善する、表現からの距離に従ってアプリケーションの表現の可視性を優先する効率的な方法を提供する。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、1つ以上の入力デバイスを介して、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第3のポジションに移動させるための個別の入力を受信する(1087)。個別の入力を受信したことに応じて(1085)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境内の第3のポジションに表示する(1083)。個別の入力を受信したことに応じて(1085)、電子デバイス(例えば、101)は、図9Cのように、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置に対する三次元における第3のポジションの相対ポジションに基づいて、三次元環境(例えば、904)に対する個別の向きで、個別のアプリケーションの個別の表現(例えば、906)を表示する(1081)。いくつかの実施形態では、電子デバイスは、個別の表現を三次元における第1及び第2のユーザの視点に向けて配向する。例えば、個別の表現が第1のユーザの視点の前方、上方、及び左である場合、個別の表現の向きは、第1のユーザの視点に対して下方、後方、及び右である。別の例として、表現が三次元環境の床に向かって又は床を通って移動される場合、電子デバイスは、表現を上に傾ける。この例では、表現が更に下に移動されると、表現は更に上に傾く。いくつかの実施形態では、電子デバイスは、(例えば、三次元環境内のユーザ及び/又は個別の表現の高さに関係なく)個別の表現を二次元における第1及び第2のユーザの視点に向けて配向する。
三次元に対して第1及び第2のユーザの視点に向かう個別の向きを有する個別の表現を表示する上述の方法は、三次元環境内で第1及び第2のユーザの視点から見える向きで個別の表現を提示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、1つ以上の入力デバイスを介して、個別のアプリケーションの個別の表現(例えば、906)を三次元環境内の第3のポジションに移動させるための個別の入力を受信する(1079)。いくつかの実施形態では、個別の入力を受信したことに応じて(1077)、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第3のポジションに表示する(1075)。いくつかの実施形態では、個別の入力を受信したことに応じて(1077)、第3のポジションが三次元環境(例えば、904)の第1の領域内にあるという判定に従って、電子デバイス(例えば、101)は、第3のポジションと、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置とに基づいて、個別のアプリケーションの個別の表現(例えば、906)を三次元環境に対して第1の向きで表示する(1073)。いくつかの実施形態では、三次元環境の第1の領域は、第1のユーザ及び第2のユーザの視点の所定の境界内にある。いくつかの実施形態では、三次元環境の第1の領域は、三次元環境内のユーザの視点の全て又は大部分を取り囲む閾値エリアである。いくつかの実施形態では、個別の入力を受信したことに応じて(1077)、第3のポジションが三次元環境(例えば、904)の第1の領域とは異なる第2の領域内にあるという判定に従って、電子デバイス(例えば、101)は、第1の領域の境界に対する第3のポジションの相対的な(例えば、横方向の、垂直ではない)ポジションに基づいて、個別のアプリケーションの個別の表現(例えば、906)を、三次元環境(例えば、904)に対して第1の向きとは異なる第2の向きで表示する(1071)。いくつかの実施形態では、第2の領域は、第1及び第2のユーザの視点から所定の境界の外側にある。いくつかの実施形態では、第3のポジションが第2の領域内にあるという判定に従って、第3のポジションと第1の領域の境界との間の(例えば、垂直な)距離に関係なく、第3のポジションが第1の領域の境界に対して個別の横方向ポジションにある限り、個別の表現の個別の向きは同じである。いくつかの実施形態では、第3のポジションが第1の領域内にあるという判定に従って、第1の領域の境界に対する表現の横方向ポジションが同じままであっても、表現と第1の領域の境界との間の距離が変化するにつれて、個別の表現の向きが任意選択的に変化する。例えば、個別の表現が第1の領域の境界に垂直な線に沿って移動する一方で、個別の表現の向きは、個別の表現が第2の領域にある間は変化せず、個別の表現の向きは、第1及び第2のユーザの視点の配置に対する個別の表現のポジションに従って、個別の表現が第1の領域にある間は適宜(例えば、第1及び第2のユーザの視点の配置に基づいて)変化し得る。
表現のポジションが第2の領域内にあるという判定に従って、表現と第1の領域の境界との相対ポジションに基づく向きで個別の表現を表示する上述の方法は、表現が第2の領域内にあるときに個別の表現の向きを計算する効率的な方法を提供し、これは、電子デバイスによって実行される計算の複雑さを低減することによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、図9Bなどの個別の入力を受信したことに応じて(1069)、第3のポジションが三次元環境(例えば、904)内の第1の領域と第2の領域との間にある第3の領域内にあるという判定に従って、電子デバイス(例えば、101)は、第3のポジション、第1のユーザの視点(例えば、914A)及び第2のユーザの視点(例えば、914B)の第1の配置、並びに第1の領域の境界に対する第3のポジションの相対的な(例えば、横方向の、垂直ではない)ポジションに基づいて、三次元環境(例えば、904)に対して第1及び第2の向きとは異なる第3の向きで、個別のアプリケーションの個別の表現(例えば、906)を表示する(1067)。いくつかの実施形態では、向きが、第1の領域の境界に対する表現のポジションに基づくことに対する、第1のユーザの視点及び第2のユーザの視点の第1の配置に基づく度合いは、第3のポジションが第1の領域により近いか、又は第2の領域により近いかに依存する。いくつかの実施形態では、第3のポジションが第1の領域に近いほど、個別の表現の向きは、第1及び第2のユーザの視点の配置に基づき、第3のポジションが第2の領域に近いほど、個別の表現の向きは、第1の領域の境界に対する第3のポジションの(例えば、横方向の)ポジションに基づく。
第1及び第2のユーザの視点の第1の配置上の個別の表現のポジションと、表現のポジションが第3の領域内にある間の第1の領域の境界に対する表現のポジションとを基準とする上述の方法は、表現が第1の領域から第2の領域に移動するときに表現の向きの変化に漸進的な遷移を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、表現の向きをユーザが制御しやすくすることによって)、使用時の誤りを低減しながら、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示している間に、1つ以上の入力デバイスを介して、個別のアプリケーションの個別の表現(例えば、906)を三次元環境内の第1のユーザ(例えば、914A)の視点と第2のユーザ(例えば、914B)の視点との間の第3のポジションに移動させる要求に対応する個別の入力を受信する(1065)。いくつかの実施形態では、個別の入力を受信したことに応じて(1063)、個別のアプリケーションの個別の表現(例えば、906)が単一の方向から閲覧可能であるという判定に従って、電子デバイス(例えば、101)は、個別のアプリケーションの個別の表現(例えば、906)を、三次元環境(例えば、904)内の第3のポジションとは異なる第4のポジションに移動させ(1061)、第4のポジションは、第1のユーザ(例えば、914A)の視点と第2のユーザ(例えば、914B)の視点との間にはない。いくつかの実施形態では、個別の表現が複数の方向から視認可能であるという判定に従って、表現を第1のユーザの視点と第2のユーザの視点との間の第3のポジションに移動させる入力に応じて、電子デバイスは、個別の表現を第3のポジションに表示する。いくつかの実施形態では、第4のポジションは、第3のポジションから所定の閾値だけ離れている。いくつかの実施形態では、個別の表現を第3のポジションに移動させる要求に対応する入力に応じて、電子デバイスは、代わりに第4のポジションに表現を表示する。いくつかの実施形態では、移動入力が提供されている間、電子デバイスは、第3のロケーションに表現を表示し、移動入力の終了を検出したことに応じて、表現を第4のロケーションに移動させる。いくつかの実施形態では、電子デバイスは、入力が提供されている間は第3のロケーションに表現を表示せず、入力が第3のロケーションに対応する間は第4のロケーションに表現を表示する。
個別の表現が単一の方向から見えるという判定に従って、第1及び第2のユーザの視点の間にない第4のポジションに個別の表現を表示する上述の方法は、第1及び第2のユーザの両方に同時に見えるポジション及び向きに個別の表現を表示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、第4のポジションは、三次元環境(例えば、904)内の第1のユーザ(例えば、914A)の視点と第2のユーザ(例えば、914B)の視点との間の個別の領域の第1の側にある(1059)。いくつかの実施形態では、三次元環境(例えば、904)内の第4のポジションに個別のアプリケーションの個別の表現(例えば、906)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、個別の領域に向かって個別の表現(例えば、906)を移動させる要求に対応する追加の移動入力を受信し(1057)、追加の移動入力は、第1の移動量に関連付けられる。いくつかの実施形態では、要求は、個別の領域に向かう方向に、個別の領域を過ぎたポジション(例えば、第1の側と反対の個別の領域の第2の側)に、個別の表現を移動させる要求である。いくつかの実施形態では、追加の移動入力を受信したことに応じて(1055)、第1の移動量が閾値移動量未満であるという判定に従って、電子デバイス(例えば、101)は、第1のユーザ(例えば、914A)の視点と第2のユーザ(例えば、914B)の視点との間の個別の領域の第1の側に個別のアプリケーションの個別の表現(例えば、906)を表示し続ける(1053)。いくつかの実施形態では、閾値移動量は、第4のポジションと、個別の領域の第1の側とは反対の個別の領域の第2の側の個別の領域の境界との間の距離に等しい距離だけ、個別の表現を移動させることに対応する第1の量である。いくつかの実施形態では、閾値移動量は第1の量よりも大きい。いくつかの実施形態では、追加の移動入力を受信したことに応じて(1055)、第1の移動量が閾値移動量よりも大きいという判定に従って、電子デバイス(例えば、101)は、個別の対応するアプリケーションの個別の表現(例えば、906)を、第1のユーザ(例えば、914A)の視点と第2のユーザ(例えば、914B)の視点との間の個別の領域の、第1の側とは異なる第2の側に表示する(1051)。いくつかの実施形態では、電子デバイスは、個別の領域を通して個別の領域の第2の側に個別の表現を移動させる。いくつかの実施形態では、電子デバイスは、第4のポジションから個別の領域の第2の側までの距離に対応する移動量を検出したことに応じて、個別の表現を個別の領域の第2の側に移動させる。いくつかの実施形態では、移動量が、個別の領域を通して個別の領域の第2の側に表現を移動させることに対応する量未満である場合、電子デバイスは、個別の領域の第1の側に表現を表示し続ける。
移動入力の移動量に応じて、個別の領域の第1の側又は個別の領域の第2の側に個別の表現を表示する上述の方法は、第1のユーザ及び第2のユーザの両方に見えないポジションに個別の表現を配置することを回避する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、個別のアプリケーションの個別の表現を表示するための入力を受信したことに応じて、個別のアプリケーションの個別の表現(例えば、906)を三次元環境(例えば、904)内の第1のポジションに表示することは、第1のユーザ(例えば、914A)の視点及び第2のユーザ(例えば、914B)の視点の第1の配置に基づき、三次元環境(例えば、904)に対する第1のユーザ(例えば、914A)の視点の向き(例えば、三次元環境内で第1のユーザがどの方向を向いているか)又は三次元環境(例えば、904)に対する第2のユーザ(例えば、914B)の視点の向き(例えば、三次元環境内で第2のユーザがどの方向を向いているか)に基づかない(1049)。いくつかの実施形態では、第1のユーザの視点の向きが第1の向きであり、第2のユーザの視点の向きが第2の向きであるという判定に従って、第1のポジションは、三次元環境内の個別のポジションである。いくつかの実施形態では、第1のユーザの視点の向きが第1の向きとは異なる第3の向きである、及び/又は第2のユーザの視点の向きが第2の向きとは異なる第4の向きであるという判定に従って、第1のポジションは、三次元環境内の個別のポジションである。
第1及び第2のユーザの視点の向きに関係なく第1のポジションに個別の表現を表示する上述の方法は、第1のポジションを選択する効率的な方法を提供し、これは更に、第1のポジションの計算の複雑さを低減することによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、904)内で第2の個別のアプリケーションの個別の表現(例えば、908)を表示する要求に対応する個別の入力を受信する(1047)。いくつかの実施形態では、個別の入力を受信したことに応じて(1045)、電子デバイス(例えば、101)は、第2の個別のアプリケーションの個別の表現(例えば、908)を三次元環境(例えば、904)に表示する(1043)。いくつかの実施形態では、個別の入力が第1のユーザ(例えば、914A)に関連付けられているとの判定に従って、第2の個別のアプリケーションの個別の表現(例えば、908)は、図9Bのように、第1のユーザ(例えば、914A)によって閲覧可能であるが、第2のユーザ(例えば、914B)によって閲覧可能ではない(1041)。いくつかの実施形態では、電子デバイスは、最初に、第2の個別のアプリケーションをプライベートモードで提示し、プライベートモードでは、第2の個別のアプリケーションは、三次元環境内の(例えば、いずれの)他のユーザにもアクセス可能ではなく、第1のユーザにアクセス可能である。いくつかの実施形態では、個別の入力が第2のユーザ(例えば、914B)に関連付けられているとの判定に従って、第2の個別のアプリケーションの個別の表現(例えば、908)は、第2のユーザ(例えば、914B)によって閲覧可能であるが、第1のユーザ(例えば、914A)によって閲覧可能ではない(1039)。いくつかの実施形態では、電子デバイスは、最初に、第2の個別のアプリケーションをプライベートモードで提示し、プライベートモードでは、第2の個別のアプリケーションは、三次元環境内の(例えば、いずれの)他のユーザにもアクセス可能ではなく、第1のユーザにアクセス可能である。いくつかの実施形態では、個別の入力に応じて、電子デバイスは、三次元環境内の他の(例えば、全ての)ユーザが第2の個別のアプリケーションにアクセスできる共有モードで第2の個別のアプリケーションを提示する。いくつかの実施形態では、個別のアプリケーションからのアイテム(例えば、添付ファイル、ファイル、仮想オブジェクト)は、個別のアプリケーションの共有ステータスを継承する。例えば、電子デバイスは、添付ファイルを有するメッセージを含む電子メールアプリケーションのユーザインタフェースを表示し、電子メールアプリケーションとは別に添付ファイルを表示する要求を受信する。この例では、添付ファイルを別個に表示する要求に応じて、電子デバイスは、電子メールアプリケーションのプライバシーモードと同じプライバシーモード(例えば、プライベート又は共有)で添付ファイルを表示する。いくつかの実施形態では、電子デバイスは、最初に、第2の個別のアプリケーションを共有モードで提示し、共有モードで第2の個別のアプリケーションを開くためのデバイス提供の提案の結果として第2の個別のアプリケーションが開かれた場合、三次元環境内の他の(例えば、全ての)ユーザが第2の個別のアプリケーションへのアクセスを有する。いくつかの実施形態では、第2の個別のアプリケーションの表現が三次元環境内の1人の第1のユーザに見える間に、電子デバイスは、選択可能オプションの選択を検出して、第2の個別のアプリケーションを三次元環境内の他の(例えば、全ての)ユーザにアクセス可能にする。いくつかの実施形態では、選択可能オプションは、第2の個別のアプリケーションの表現に関連して表示される。いくつかの実施形態では、第2の個別のアプリケーションの表現が1人の第1のユーザのみに見える間、表現は、第1の視覚特性(例えば、表現の周りの境界の色又はスタイル)で表示され、第2の個別のアプリケーションの表現が三次元環境内の複数の(例えば、全ての)ユーザに見える間、表現は、第1の視覚特性とは異なる第2の視覚特性で表示される。いくつかの実施形態では、共有アプリケーションに関連付けられた三次元環境の個別の領域における第2の個別のアプリケーションの個別の表現の表示を開始する要求に応じて、電子デバイスは、最初に、第2の個別のアプリケーションの表現が三次元環境内の複数の(例えば、全ての)ユーザにアクセス可能であるように、第2の個別のアプリケーションの表現を表示する。
第2の個別のアプリケーションの表現が、個別の表現の表示を要求したユーザにのみアクセス可能であるように第2の個別のアプリケーションを提示する上述の方法は、個別の第2のアプリケーションの表示を要求するユーザのプライバシーを保護する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、アプリケーションがプライベートモードで表示されるべきであることを指定する追加の入力を必要とせずに、プライベートモードで第2の個別のアプリケーションの表現を表示することによって)、使用時のエラーを低減しながら、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、図9Bのように、第2のユーザ(例えば、914B)ではなく第1のユーザ(例えば、914A)によって見ることができる第2の個別のアプリケーションの個別の表現(例えば、908)を表示しながら、第2の個別のアプリケーションの個別の表現(例えば、908)は、第1のユーザ(例えば、914A)の視点に対して第1の外観(例えば、ポジション、サイズ、向き)で表示され、電子デバイス(例えば、101)は、図9B(例えば、第2の個別のアプリケーションを第2のユーザ及び/又は三次元環境内のユーザの他の(例えば、全て)と共有する要求)のように、1つ以上の入力デバイスを介して、第2の個別のアプリケーションの個別の表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)によって見ることができるようにする要求に対応する入力を受信する(1037)。いくつかの実施形態では、第2の個別のアプリケーションの個別の表現は、第1の外観で表示されるが、第2の個別のアプリケーションの個別の表現は、第2のユーザの視点に関係なく、第1のユーザの視点に向けて配向されたポジション及び向きで表示される。図9Bのように、第2の個別のアプリケーションの個別の表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)が見ることができるようにする要求に対応する入力を受信したことに応じて(1035)、電子デバイス(例えば、101)は、第2の個別のアプリケーションの個別の表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)が見ることができるように更新し(1033)、これは、第2の個別のアプリケーションの個別の表現(例えば、908)を、第1のユーザ(例えば、914B)の視点に対して、第1の外観とは異なる第2の外観(例えば、サイズ、ポジション、向き)で表示することを含む。いくつかの実施形態では、第2の個別のアプリケーションの個別の表現が第2の外観で表示される一方で、第2のアプリケーションの個別の表現は、第1及び第2のユーザの両方の視点に向けられたロケーション及び向きで表示される。いくつかの実施形態では、表現は、第1及び第2のユーザの両方の視点から移動する。いくつかの実施形態では、表現は、閾値量以下だけ移動する。
第2の個別のアプリケーションの個別の表現を第1及び第2のユーザが見ることができるようにする要求に応じて第2の個別のアプリケーションの個別の表現の外観を更新する上述の方法は、第1のユーザ及び第2のユーザが容易に見ることができる外観を有する個別の表現を提示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、共有された後に個別の表現の向きを調整するために必要な入力を低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、第1のユーザ(例えば、914A)が見ることができるが第2のユーザ(例えば、914B)が見ることができず、第2の個別のアプリケーションの個別の表現(例えば、908)が第1のユーザ(例えば、914A)の視点に対して第1の外観(例えば、サイズ、ポジション、向き)で表示される第2の個別のアプリケーションの個別の表現(例えば、908)を表示している間に、図9Bのように、第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)が第2の個別のアプリケーションの個別の表現(例えば、908)を見ることができるようにする要求(例えば、第2の個別のアプリケーションを第2のユーザ及び/又は三次元環境内の他のユーザ(例えば、全員)と共有する要求)に対応する入力を受信する(1031)。いくつかの実施形態では、第2の個別のアプリケーションの個別の表現は、第1の外観で表示されるが、第2の個別のアプリケーションの個別の表現は、第2のユーザの視点に関係なく、第1のユーザの視点に向けて配向されたポジション及び向きで表示される。いくつかの実施形態では、図9Cのように、第2の個別のアプリケーションの個別の表現(例えば、9008)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)が見ることができるようにする要求に対応する入力を受信したことに応じて(1029)、電子デバイス(例えば、101)は、図9Cのように、第1のユーザ(例えば、914A)の視点に対する第1の外観(例えば、サイズ、ポジション、向き)を有する第2の個別のアプリケーションの個別の表現(例えば、908)の表示を維持しながら、第2の個別のアプリケーションの個別の表現(例えば、908)を第1のユーザ(例えば、914A)及び第2のユーザ(例えば、914B)が見ることができるように更新する(1027)。いくつかの実施形態では、電子デバイスは、第2の個別のアプリケーションの個別の表現が三次元環境内で第1のユーザ又は第2のユーザによって移動されるまで、第2の個別のアプリケーションの個別の表現の外観を更新しない。いくつかの実施形態では、第2の個別のアプリケーションの個別の表現を移動させるための入力に応じて、電子デバイスは、入力に従って個別の表現のポジションを更新し、第1のユーザの視点及び第2のユーザの視点に向けて配向されるように表現の向きを更新する。
個別の表現を第1のユーザ及び第2のユーザに見えるようにする要求に応じて、第2の個別のアプリケーションの個別の表現の外観を維持する上述の方法は、表現の外観を変更するための追加の計算を実行することなく、第2の個別のアプリケーションの個別の表現を第2のユーザと共有する効率的な方法を提供し、これは更に、第2の個別のアプリケーションの個別の表現を共有するための動作の複雑さを低減することによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
図11A~図11Cは、いくつかの実施形態による、電子デバイスが三次元環境内で仮想オブジェクトとユーザの視点との間にある実オブジェクトの外観を修正する方法の例を示す図である。
図11Aは、表示生成コンポーネント120を介して、ユーザインタフェース上に三次元環境1104を表示する電子デバイス101を示す。図1~図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成コンポーネント120(例えば、タッチスクリーン)及び複数の画像センサ314を含む。画像センサ314は、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101は、ユーザが電子デバイス101と相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120は、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示されるユーザインタフェースはまた、ユーザインタフェースをユーザに表示する表示生成コンポーネントと、物理的環境及び/若しくはユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、並びに/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実装され得る。
いくつかの実施形態では、電子デバイス101の物理的環境は、1つ以上の物理オブジェクトを含む。図11Aにおいて、電子デバイス101は、ソファ1124及び壁1126を含む物理的環境において使用されている。電子デバイス101は、ソファ1124の表現1128及び壁1126の表現1130を三次元環境1104に表示する。いくつかの実施形態では、表現1128及び1130は、実オブジェクト1124及び1126のフォトリアリスティックな表現(例えば、「パススルー」ビデオ)である。いくつかの実施形態では、表現1128及び1130は、電子デバイス101の表示生成コンポーネント120の透明部分を通して見える物理オブジェクト1124及び1126の部分である。
三次元環境1104は、電子デバイス101のユーザであるユーザA 1114Aと、三次元環境1104内の別のユーザであるユーザB 1114Bの表現と、アプリAの表現1106とを更に含む。凡例1112は、三次元環境1104の鳥瞰図を示す。電子デバイス101は、三次元環境1104内のユーザA 1114Aの視点から三次元環境1104を表示する。図11Aに示されるように、ソファ1124の表現1128は、三次元環境1104においてユーザA 1114AとユーザB 1114Bとの間に配置される。いくつかの実施形態では、三次元環境1104内のユーザ(例えば、ユーザB 1114B)の少なくとも一部が実世界オブジェクトの表現(例えば、ソファ1124の表現1128)によって遮られている場合、電子デバイス101は、ユーザの遮られた部分が実世界オブジェクトの表現を通して見えるように(例えば、電子デバイスのユーザがユーザの遮られた部分を見ることができるように)、ユーザの遮られた部分を表示する。例えば、図11Aでは、電子デバイス101は、ソファ1124の表現1128によって遮られていない部分1132aと、ソファ1124の表現1128によって遮られている部分1132bとを含むユーザBの表現1114Bを表示する。図11Aに示されるように、ソファ1124の表現1128によって遮られるユーザB 1114Bの表現の部分1132bは、ソファ1124の表現1128によって遮られないユーザB 1114Bの表現の部分1132aとは異なる(例えば、実線の代わりに破線で形成される)。いくつかの実施形態では、破線を使用する代わりに、電子デバイス101は、ソファ1124の表現1132bによって遮られるユーザB 1114Bの表現の部分1132bの半透明性を増加させる、色を変化させる、又はぼかすことなどによって、異なる方法でユーザB 1114Bの表現の部分1128を修正することができる。このようにして、電子デバイス101は、ソファ1124の表現1128が三次元環境1104においてユーザB 1114BとユーザA 1114Aとの間にあることをユーザA 1114Aに示しながら、ユーザB 1114Bの表現全体を表示することができる。いくつかの実施形態では、ユーザBの表現1114B全体がソファ1124の表現1128によって遮られた場合、電子デバイス101は、部分1132bの外観と共にユーザBの表現1114B全体を表示する。いくつかの実施形態では、ユーザBの表現1114B全体がソファ1124の表現1128によって遮られなかった場合、電子デバイス101は、部分1132aの外観を有するユーザBの表現1114B全体を表示する。
いくつかの実施形態では、電子デバイス101は、電子デバイス101の物理的環境内の実オブジェクトの表現の表示を修正し、実オブジェクトの表現は、これから説明するように、三次元環境1104内の仮想オブジェクトとユーザとの間にある。図11Aに示すように、三次元環境1104は、アプリAの表現1106を含む。アプリAの表現1106は、任意選択的に、表現1105の一方の側(例えば、三次元環境1104においてユーザA 1114Aに面する側)にコンテンツを含むアプリケーションのユーザインタフェースである。電子デバイス101は、アプリAの表現1106上でユーザA 1114Aの視線1116を検出する。いくつかの実施形態では、アプリAの表現1106上でユーザA 1114Aの視線1116を検出したことに応じて、電子デバイス101は、表現1106の周りにインジケーション1118を表示する。図11Aは、インジケーション1118を表現1106を囲む破線として示しているが、いくつかの実施形態では、インジケーションは、表現1106の1つの縁部に沿って表示された実線のバーである。表現1106(又はインジケーション1118)上のユーザの視線1116を検出している間に、電子デバイス101は、ユーザA 1114Aが自分の手1120でジェスチャを実行していること(例えば、親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチすること)を検出し、それに応じて、三次元環境1104内で表現1106を移動させるプロセスを開始する。いくつかの実施形態では、電子デバイス101は、ユーザがジェスチャを維持している間、ユーザA 1114Aの手1120の移動に従ってアプリAの表現1106を移動させる。いくつかの実施形態では、ユーザA 1114Aが自分の手1120でジェスチャを実行することを停止したことに応じて、電子デバイス101は、アプリAの表現1106の移動を停止する。
図11Aにおいて検出された入力に応じて、電子デバイス101は、図11Bに示されるように三次元環境1104を更新する。図11Bに示すように、アプリAの表現1106は、壁1126の表現1130が表示される三次元環境1104内のロケーションに移動されている。壁1126の表現1130の少なくとも一部分がユーザA 1114AとアプリAの表現1106との間にあるので(又は、アプリAの表現1106が、壁1126の表現1130に触れている又はその内側にある3、6、12インチなどの閾値距離内にあるので)、電子デバイス101は、壁1126の表現1130の一部分をぼかす。表現1106の境界の閾値(例えば、5、10、15、20、30センチメートルなど)内にある表現1106を取り囲む表現1130の部分1134bは、比較的高い量のぼけで表示され、表現1130の他の部分1134bの閾値(例えば、5、10、15、20、30センチメートルなど)内にある表現1106を取り囲む表現1130の部分1134aは、比較的低い量のぼけで表示される。いくつかの実施形態では、壁1126の表現1130の部分1134aは、アプリAの表現1106の境界の第1の閾値(例えば、5、10、15、20、30センチメートルなど)と第2の閾値(例えば、10、15、20、30、40、60、80センチメートルなど)との間にある。いくつかの実施形態では、壁1126の表現1130は、アプリA 1106の表現1106の第2の閾値内にないためにぼかされていない追加の部分(例えば、部分1134aを部分的に取り囲む部分)を含む。いくつかの実施形態では、電子デバイス101は、表現1106の境界に近づくほどぼける勾配ぼけを有する表現1130の部分1134a及び1134bを表示する。いくつかの実施形態では、アプリAの表現1106の周りのぼかし効果の半径は予め定められており、所定の半径よりもアプリAの表現1130から遠い壁1126の表現1106の部分はぼかされない。
図11A~図11Bに示すように、電子デバイス101は、三次元環境1104内でユーザ1114Aから離れるように表現1106を移動させる。いくつかの実施形態では、表現1106をユーザから離れるように移動させることに応じて、電子デバイス101は、(例えば、表示生成コンポーネント120によって表示される表現1106の可読性を維持するために)三次元環境1104内の表現1106のサイズを増加させる。いくつかの実施形態では、アプリAの表現1106は、ユーザA 1114A及びユーザB 1114Bの両方にアクセス可能であり(例えば、ユーザA 1114A及びユーザB 1114Bは両方とも、アプリAの表現1106を見て、聞いて、対話することができる)、アプリAの表現1106のサイズは、図9A~図10Tを参照して上述したように、表現1106とユーザA 1114a及びユーザB 1114bの各々との間の距離に基づく。いくつかの実施形態では、図7A~図10Tを参照して上述したように、アプリAの表現1106は、ユーザB 1114bにアクセス可能ではなく、ユーザA 1114aにアクセス可能であり(例えば、ユーザA 1114AはアプリAの表現1106を見たり聞いたり対話したりすることができるが、ユーザB 1114Aはできない)、アプリAの表現1106のサイズは、三次元環境1104内の表現1106とユーザB 1114Bとの間の距離に基づくことなく、三次元環境1104内の表現1106とユーザA 1114Aとの間の距離に基づく。いくつかの実施形態では、表現1106のサイズは、図7A~図10Tを参照して上述したように、ユーザ1114Aからの表現1106の距離にかかわらず、三次元環境1104内で固定される。
図11Bに示されるように、ユーザは、アプリAの表現1106を壁1126の表現1130内に更に移動させる入力を提供する。図11Bでは、電子デバイス101は、ユーザが自分の手1120でジェスチャを実行している(例えば、親指を親指と同じ手の別の指(例えば、人差し指、中指、薬指、小指)にタッチする)ことを検出しながら、表現1106上(又は表現1106の周囲のインジケーション1118上)でのユーザの視線1116を検出する。それに応じて、電子デバイス101は、ユーザの手1120の移動に従ってアプリAの表現1106を移動させるプロセスを開始する。
図11Bに示される入力に応じて、電子デバイス101は、図11Cに示されるように、ユーザの手1120の移動に従って三次元環境1104内のアプリAの表現1106のポジションを更新する。図11Cでは、壁1126の表現1130は、三次元環境1104内のアプリAの表現1106の更新されたロケーションとユーザAのロケーション1114Aとの間にある。電子デバイス101は、アプリAの表現1106をその更新されたロケーションに表示し、前述したように、アプリAの表現1106の周りの壁1126の表現1130の部分1134a及び1134bをぼかす。アプリAの表現1106のロケーションが図11Bとは図11Cで異なるので、電子デバイス101は、図11Bよりも図11Cの壁の表現1130の異なる部分をぼかす(例えば、図11Bよりも図11Cの表現1130と重なる表現1106がより多いので、図11Bよりも図11Cの壁116の表現1130がより多くぼかされる)。
したがって、いくつかの実施形態では、電子デバイス101は、物理オブジェクトの表現が電子デバイス101のユーザと三次元環境1104内の他のユーザ及び/又は仮想オブジェクトとの間にある場合であっても、三次元環境1104内の他のユーザ及び仮想オブジェクトの表現を表示する。いくつかの実施形態では、電子デバイス101は、三次元環境1104内の1つ以上のオブジェクトの外観を他の方法で修正する。いくつかの実施形態では、電子デバイス101は、没入型仮想環境を表示するときに、電子デバイス101の物理的環境内の1つ以上の実オブジェクトの1つ以上の表現の表示を見合わせる。例えば、電子デバイス101は、表示生成コンポーネント120を用いて仮想オブジェクト及び仮想環境の表現を表示しながら、図11A~図11Cにおけるソファ1124の表現1128の表示を見合わせる、及び/又は壁1126の表現1130の表示を見合わせるなど、没入型仮想環境を表示するために1つ以上の物理オブジェクトの表現の表示を見合わせる。いくつかの実施形態では、電子デバイス101が物理オブジェクトに向かって移動している、及び/又は物理オブジェクトの閾値距離内にあるという判定に従って、電子デバイス101は、オブジェクトの少なくとも一部分の表現の表示を開始する。例えば、電子デバイス101がソファ1124の表現1128を表示していない間、電子デバイス101は、電子デバイス101が電子デバイス101の物理的環境内でソファ1124に向かって移動していることを検出する。この例では、電子デバイス101がソファ1124に向かって移動していることを検出したことに応じて、電子デバイス101は、三次元環境1104内のソファ1124の表現1128の表示(例えば、図11Aに示すソファ1124の表現1128の表示など)を開始する。
いくつかの実施形態では、電子デバイス101は、三次元環境1104内の仮想オブジェクトと実オブジェクトの表現との間の追加の対話を容易にする。例えば、電子デバイス101は、表現1106が壁1126の表現1130の閾値距離(例えば、10、20、30、40センチメートルなど)内で移動する場合、表現1106が壁1126の表現1130にスナップされるなど、三次元環境1104に表示された電子デバイス101の物理的環境内の実オブジェクト(例えば、テーブル、ソファ1124、椅子、イーゼル、棚などの家具)及び/又は実表面(例えば、壁1126、床、カウンタトップなど)の表現に仮想オブジェクト(例えば、表現1106)を「スナップ」する。例えば、いくつかの実施形態では、仮想オブジェクトを実オブジェクト又は表面の閾値距離(例えば、10、20、30、40センチメートルなど)内のロケーションに移動させるための入力に応じて、電子デバイス101は、仮想オブジェクトが実オブジェクト又は表面に載っている(例えば、水平なオブジェクト又は表面の場合)又はぶら下がっている(例えば、垂直なオブジェクト又は表面の場合)かのように仮想オブジェクトを表示する。例えば、図11BにおいてアプリAの表現1106を移動させている間、アプリAの表現1106が壁1126の表現1130の閾値距離内にあることを検出したことに応じて、電子デバイス101は、アプリAの表現1106を、壁1126の表現1130に吊り下げられているかのように表示する。
いくつかの実施形態では、仮想オブジェクトを移動させるための入力が提供されている間、移動入力が実オブジェクト又は表面の閾値距離(例えば、10、20、30、40センチメートルなど)内で仮想オブジェクトを移動させることに対応するという判定に従って、電子デバイス101は、仮想オブジェクトが移動入力の終了に応じて実オブジェクト又は表面にスナップするというインジケーションを実オブジェクト又は表面の表現上に表示する。例えば、図11BのアプリAの表現1106を移動させている間、電子デバイス101は、アプリAの表現1106が壁1126の表現1130に「スナップ」したときの移動入力の終了に応じて、壁1126の表現1130と接触するアプリAの表現1106の輪郭を表示する。いくつかの実施形態では、仮想オブジェクトが実オブジェクトの表現に「スナップ」される場合、仮想オブジェクトの向きは、仮想オブジェクトが「スナップ」される実オブジェクト又は表面の向きに基づいて決定されるので、電子デバイス101は、三次元環境1104内のユーザ(単数又は複数)のロケーション(単数又は複数)に従って仮想オブジェクトの向きを更新することを見合わせる。例えば、アプリAの表現1106が壁1126の表現1130にスナップされる場合、電子デバイス101は、三次元環境1104内のユーザA 1114A及び/又はユーザB 1114Bのポジション(単数又は複数)にかかわらず、アプリAの表現1106を壁1126の表現1130と平行に表示する。いくつかの実施形態では、実オブジェクトの表現に「スナップ」されていない仮想オブジェクトは、図7A~図10Tを参照して上述したように、三次元環境1104内のユーザ(単数又は複数)のロケーション(単数又は複数)に基づく向きで表示される。
いくつかの実施形態では、電子デバイス101は、仮想オブジェクトと三次元環境1104内のユーザの表現との間の対話を容易にする。例えば、図9A~図10Tを参照して上述したように、電子デバイス101は、三次元環境1104内のユーザの表現の閾値距離(例えば、5、10、15、30、45センチメートルなど)内に仮想オブジェクトを配置することに抵抗する。例えば、電子デバイス101は、図9B~図9Cの三次元環境904内のユーザA 914Aの閾値距離内へのアプリAの表現1106の配置に電子デバイス101が抵抗した方法と同様に、図11A~図11Cの三次元環境1104内のユーザB 1114Bの表現の閾値距離内へのアプリの表現906の配置に抵抗する。したがって、いくつかの実施形態では、ユーザB 1114の表現の閾値距離内にアプリAの表現1106を表示する要求に対応する入力に応じて、電子デバイス101は、三次元環境1104内のユーザBの表現1114Bから閾値距離だけ離れたロケーションにアプリAの表現1106を表示する。いくつかの実施形態では、移動入力が提供されている間、電子デバイス101は、ユーザB 1114Bの表現の閾値距離内のロケーションにアプリAの表現1106を移動させることに対応する移動入力に応じて、ユーザB 1114Bの表現から閾値距離だけ離れたロケーションにアプリAの表現1106を表示する。いくつかの実施形態では、移動入力が提供されている間、電子デバイス101は、ユーザB 1114Bの表現の閾値距離内にアプリAの表現1106を表示することを含む、表現1106を移動させる要求に対応するロケーションにアプリAの表現1106を表示し、移動入力の終了に応じて、電子デバイス101は、ユーザB 1114Bの表現の閾値距離内のロケーションからユーザB 1114Bの表現から閾値距離離れたロケーションに移動するアプリAの表現1106のアニメーションを表示する。
図12A~図12Hは、いくつかの実施形態による、三次元環境内で仮想オブジェクトとユーザの視点との間にある実オブジェクトの外観を修正する方法を示すフローチャートである。いくつかの実施形態では、方法1200は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度検知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法1200は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法1200のいくつかの動作は、任意選択的に組み合わされ、及び/又はいくつかの動作の順序は、任意選択的に変更される。
図11Aなどのいくつかの実施形態では、方法1200は、表示生成コンポーネント120及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、若しくはウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイス(例えば、101)において実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイスと統合されたディスプレイ(任意選択的にタッチスクリーンディスプレイ)、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影するか、又はユーザインタフェースを1人以上のユーザに見えるようにするための(任意選択的に統合又は外部)ハードウェアコンポーネントなどである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力を受信(例えば、ユーザ入力のキャプチャ、ユーザ入力の検出など)し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例としては、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択的に統合又は外部)、タッチパッド(任意選択的に統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、視線追跡デバイス及び/又は動きセンサ(例えば、ハンドトラッキングデバイス、手動きセンサ)などが挙げられる。
図11Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、表示生成コンポーネント120を介して、個別の実オブジェクト(例えば、1124)(例えば、表示生成コンポーネントを介してユーザインタフェースに表示されるパススルーオブジェクト、又は少なくとも部分的に透明である表示生成コンポーネントの一部を通して見える実世界オブジェクト)及び個別の仮想オブジェクト(例えば、1106)の表現(例えば、1128)を含む三次元環境(例えば、1104)を表示する(1202)。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境等のコンピュータ生成現実(CGR)環境である)。いくつかの実施形態では、三次元環境は、電子デバイスの物理的環境の特徴に対応する、個別の実オブジェクトを含む境界及びオブジェクトなどの特徴を含む。例えば、個別の実オブジェクトは、物理的環境内の物理オブジェクトの物理的ロケーションに対応する三次元環境内の仮想ロケーションに表示される電子デバイスの物理的環境内の物理オブジェクトの表現である。いくつかの実施形態では、実オブジェクトはパススルーオブジェクトである。いくつかの実施形態では、物理オブジェクトは、少なくとも部分的に透明である表示生成コンポーネントの一部を通して可視である(例えば、表示生成コンポーネントは、物理オブジェクトの表現を表示しない)。いくつかの実施形態では、仮想オブジェクトは、電子デバイスの物理的環境内の物理オブジェクトに対応しない。いくつかの実施形態では、仮想オブジェクトは、電子デバイスにアクセス可能なアプリケーション、ファイル、ユーザのアバター、又は別のユーザインタフェース要素の表現である。
図11Aなどのいくつかの実施形態では、三次元環境(例えば、1104)を表示している間に、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、1104)内の個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力を受信する(1204)。いくつかの実施形態では、入力を受信することは、仮想オブジェクトの選択、オブジェクトの移動に対応する入力、及び/又は仮想オブジェクトの選択を停止する入力を検出することを含む。いくつかの実施形態では、仮想オブジェクトの選択を検出することは、アイトラッキングデバイスを用いて、ユーザが閾値期間(例えば、0.1、0.2、0.3、0.4、0.5、0.75、1秒など)よりも長く仮想オブジェクトを見ていることを検出することを含む。いくつかの実施形態では、仮想オブジェクトの選択を検出することは、ハンドトラッキングデバイスを用いて、ユーザが所定のジェスチャ(例えば、仮想オブジェクトを仮想的にタップすること、ユーザの親指を個別の指(例えば、人差し指、中指、薬指、小指)にタッチすること)を行うことを検出することを含む。いくつかの実施形態では、仮想オブジェクトの選択を検出することは、電子デバイスと通信する入力デバイスを介して、マウス、トラックパッド、タッチスクリーン、キーボード、又は他の入力デバイスによる選択などの仮想オブジェクトの選択を検出することを含む。いくつかの実施形態では、仮想オブジェクトの移動に対応する入力を検出することは、任意選択的に、手が所定のポーズ(例えば、親指及び個別の指(例えば、人差し指、中指、薬指、小指)を一緒にタップすること、指のうちの1つ以上を伸ばすことなど)にある間に、ハンドトラッキングデバイスを介して、ユーザの手の移動を検出することを含む。いくつかの実施形態では、仮想オブジェクトの移動に対応する入力を検出することは、電子デバイスと通信する入力デバイスを介して、マウスの移動、トラックパッド若しくはタッチスクリーン上の接触の移動、及び/又は方向入力に対応するキーボードのキーの選択などの移動入力を検出することを含む。いくつかの実施形態では、仮想オブジェクトの選択を停止する入力を検出することは、ハンドトラッキングデバイスを介して、1つ以上の基準を満たすハンドジェスチャを検出すること(例えば、親指を指(例えば、人差し指、中指、薬指、小指)にタッチすることを停止すること、1つ以上の指を伸ばすことを停止すること)、及び/又は1つ以上の基準を満たす所定のロケーションにある手を検出すること(例えば、ユーザの正面のポジションからユーザの側に手を下げること)を含む。いくつかの実施形態では、仮想オブジェクトの選択を停止する入力を受信することは、電子デバイスと通信する入力デバイスを介して、タッチ感知面上の接触のリフトオフ及び/又はマウスクリック若しくはキー押下の解放等の選択入力の解放を検出することを含む。
図11Bなどのいくつかの実施形態では、三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力を受信したことに応じて(1206)、電子デバイス1208は、入力に従って三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる。いくつかの実施形態では、個別の仮想オブジェクトを移動させる要求は、方向成分及び大きさ成分を含む。例えば、手の移動は、手が動く方向に対応する方向成分と、手が動く速度及び/又は距離に対応する大きさ成分とを含む。別の例として、キーボード入力は、押下されたキーに対応する方向成分と、キー押下の持続時間及び/又は回数に対応する大きさ成分とを含む。いくつかの実施形態では、仮想オブジェクトを移動させる要求に応じて、電子デバイスは、入力の方向に対応する方向に、及び/又は入力の移動成分の大きさに対応する量だけ、仮想オブジェクトを移動させる。
図11Bなどのいくつかの実施形態では、三次元環境内の個別の仮想オブジェクトを移動させる要求に対応する入力を受信したことに応じて(1206)、個別の仮想オブジェクトの移動が、個別の仮想オブジェクト(例えば、1106)の少なくとも一部に、三次元環境内の個別の実オブジェクト(例えば、1104)の表現(例えば、1130)の第1の部分に対応する三次元環境(例えば、1126)の一部を占有させるという判定に従って、電子デバイス(例えば、101)は、個別の実オブジェクトの表現(例えば、1106)の第1の部分(例えば、1134b)を囲む(例えば、又は部分的に囲む)、個別の実オブジェクト(例えば、1130)の表現(例えば、1126)の第2の部分(例えば、1134a)の表示を変更する(1210)。いくつかの実施形態では、実オブジェクトの第2の部分の表示は、実オブジェクトの第1の部分のポジションが仮想オブジェクトの少なくとも一部のロケーションと同じである、又は実オブジェクトが仮想オブジェクトと電子デバイスのユーザに対応するロケーション(例えば、電子デバイスが三次元環境を表示する有利な地点のロケーション)との間にあるように仮想オブジェクトが配置されるなど、三次元環境内の実オブジェクト及び仮想オブジェクトのロケーションが少なくとも部分的に重複するときに修正される。いくつかの実施形態では、個別の実オブジェクトの第2の部分の表示を修正することは、仮想オブジェクトのロケーションが、個別の実オブジェクトの個別の部分に対応する三次元環境の一部を占有しない間、個別の実オブジェクトの第2の部分の表示と比較して、低減された半透明性、増加されたぼけ、異なる色、又は別の差異を伴って、個別の実オブジェクトの第2の部分を表示することを含む。いくつかの実施形態では、実オブジェクトが表示生成コンポーネントの透明部分を通して見える(例えば、表示生成コンポーネントが実オブジェクトの表現を表示しない)場合、電子デバイスは、実オブジェクトが見える表示生成コンポーネントのロケーションに重ねられた実オブジェクトの一部を表示することによって、実オブジェクトの表現の部分を修正する。いくつかの実施形態では、実オブジェクトは、電子デバイスが個別の仮想オブジェクトを移動させる要求に対応する入力を受信する前に表示されていたのと同じ方法で表示される部分を含む。いくつかの実施形態では、仮想オブジェクトの仮想ポジションが(例えば、ユーザの視点から)実オブジェクトの背後にある場合であっても、仮想オブジェクトに重なる実オブジェクトの一部は表示されない。いくつかの実施形態では、(例えば、ユーザの視点から)実オブジェクトに重なるロケーションに仮想オブジェクトを移動させる入力に応じて、電子デバイスは、表示された仮想オブジェクトを取り囲む(又は部分的に取り囲む)実オブジェクトの一部を、半透明、ぼかし、又は別様に修正された外観などの修正された外観で表示する。
個別の仮想オブジェクトの少なくとも一部が、個別の実オブジェクトの第1の部分に対応する三次元環境の一部を占有するという判定に従って、個別の実オブジェクトの第2の部分の表示を修正する上述の方法は、そうでなければ個別の実オブジェクトによって遮られた可能性があるときに、個別の仮想オブジェクトのロケーションを示す効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のポジションに移動させる要求に対応する入力を受信したことに応じて(1212)、個別の仮想オブジェクト(例えば、1106)の移動が、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)に対応する三次元環境(例えば、1104)の一部を個別の仮想オブジェクト(例えば、1106)のいずれの部分にも占有させないという判定に従って、電子デバイス(例えば、101)は、図11Aのように、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の一部の表示を修正することなく、実オブジェクト(例えば、1126)の表現(例えば、1130)の表示を維持する(1214)。いくつかの実施形態では、個別の仮想オブジェクトが動かされている間に個別の実オブジェクトの表現に対応する三次元環境の一部を瞬間的に占有する場合、電子デバイスは、個別の仮想オブジェクトが実オブジェクトの表現に重なる間に、個別の仮想オブジェクトと同じロケーションにある実オブジェクトの表現の部分を取り囲む修正部分を有する個別の実オブジェクトの表現を表示する。いくつかの実施形態では、個別の仮想オブジェクトのロケーションが実オブジェクトの表現の一部を含まず、実オブジェクトがユーザの視点と個別の仮想オブジェクトとの間にないと、電子デバイスは、実オブジェクトの表現の一部を修正することを停止する。
仮想オブジェクトが三次元環境内の実オブジェクトの表現の一部を占有していないという判定に従って実オブジェクトの表現の一部の表示を修正することなく実オブジェクトの表現の表示を維持する上述の方法は、実オブジェクトの表現の表示を修正する追加の動作を実行することなく個別の仮想オブジェクトの移動を表示する効率的な方法を提供し、これは更に、デバイス動作の複雑さを低減することによって電力使用量を低減し、電子デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)の移動が、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第1の部分に対応するロケーションを、図11Bのように、個別の仮想オブジェクトと三次元環境(例えば、1104)内のユーザ(例えば、1114A)のロケーション(例えば、電子デバイスが三次元環境を表示する視点に対応するロケーション)との間に配置させるという判定に従って、電子デバイス(例えば、101)は、個別の実オブジェクト(例えば、1126)の第1の部分(例えば、1134b)を囲む(例えば、又は部分的に囲む)、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第2の部分(例えば、1134a)の表示を修正する(1216)。いくつかの実施形態では、仮想オブジェクトは、ユーザの視点から完全に又は部分的に実オブジェクトの背後にあるが、電子デバイスは、仮想オブジェクトの表現全体を表示し、仮想オブジェクトの表現に隣接する実オブジェクトの部分の表示を修正する。
個別の実オブジェクトの移動が、個別の実オブジェクトの表現の第1のポジションに対応するロケーションを、個別の仮想オブジェクトと三次元環境内のユーザのロケーションとの間に位置させるという判定に従って、個別の実オブジェクトの表現の第2の部分の表示を修正する上述の方法は、三次元環境内の仮想オブジェクトの視認性を維持する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、個別の仮想オブジェクトを見るために必要な時間及び入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用における誤りを低減する。
図11Aなどのいくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力は、ユーザ(例えば、1114A)の手(例えば、1120)によって行われる第1のジェスチャと、それに続く、手(例えば、1120)によって行われる第1のジェスチャを維持しながらの手(例えば、1120)(例えば、又は腕)の移動とを含む(1218)。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、1つ以上の深度センサ、1つ以上の近接又はタッチセンサ、タッチスクリーンなど)を介して手のジェスチャを検出する。いくつかの実施形態では、ジェスチャは、ユーザが、親指と同じ手の指(例えば、人差し指、中指、薬指、小指)に親指をタッチすることである。いくつかの実施形態では、電子デバイスは、ユーザが手又は腕を動かしている間に親指及び他の指に連続的に触れていることを検出する。いくつかの実施形態では、個別の仮想オブジェクトを移動させる要求に対応する入力は、アイトラッキングデバイスを介して、第1のジェスチャが検出されている間にユーザの視線が個別の仮想オブジェクト上にあることを検出することを含む。いくつかの実施形態では、電子デバイスは、個別の仮想オブジェクトを移動させる入力に応じて、方法800及び/又は1000の1つ以上のステップに従って、個別の仮想オブジェクトを更新する。
ユーザの手によって実行されるジェスチャを、個別の仮想オブジェクトを移動させる要求に対応する入力として検出する上述の方法は、仮想オブジェクトを移動させる入力を受け入れる効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図11Bなどのいくつかの実施形態では、電子デバイス(例えば、101)の物理的環境は、三次元環境(例えば、1104)の個別の部分に対応するロケーションに第1の実オブジェクト(例えば、1124)を含む(1220)。いくつかの実施形態では、表示生成コンポーネント120を介して三次元環境(例えば、1104)の個別の部分を表示している間に、第1の実オブジェクト(例えば、1124)の表現(例えば、1128)は表示生成コンポーネント120を介して見えず、電子デバイス(例えば、101)は、電子デバイス(例えば、101)が物理的環境内の第1の実オブジェクト(例えば、1124)のロケーションに向かって移動していることを検出する(1222)。いくつかの実施形態では、電子デバイスは、実オブジェクトの表現を表示することなく、電子デバイスの物理的環境内の第1の実オブジェクトのロケーションに対応する三次元環境の一部分を表示する。例えば、電子デバイスは、第1の実オブジェクトのロケーションを覆い隠す仮想オブジェクト又はユーザインタフェースを表示する。別の例として、電子デバイスは、第1の物理オブジェクトの表現を表示することなく、又は表示生成コンポーネントの透明部分を通して第1の物理オブジェクトのビューを覆い隠すようにして、第1の物理オブジェクトのロケーションに三次元環境の環境を表示する。いくつかの実施形態では、電子デバイス(例えば、101)が第1の実オブジェクト(例えば、1124)のロケーションに向かって移動していることを検出したことに応じて、1つ以上の基準(例えば、電子デバイスと第1の実オブジェクトとの間の距離(例えば、電子デバイスが第1の実オブジェクトから閾値距離よりも近い)、電子デバイスの移動速度(例えば、電子デバイスが第1の実オブジェクトに向かって閾値速度よりも速く移動する)に関連する基準)が満たされているという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、1104)内で、図11Bのように、第1の実オブジェクト(例えば、1124)の表現(例えば、1128)を表示する(1224)。いくつかの実施形態では、第1の実オブジェクトの表現は、電子デバイスの物理的環境内の第1の実オブジェクトのロケーションに対応する三次元環境内のロケーションにおける1つ以上の仮想オブジェクト又は仮想環境の表示を「突破」する。いくつかの実施形態では、電子デバイスは、実オブジェクトが見える(例えば、表示生成コンポーネントの透明部分を通して)表示生成コンポーネントのロケーションに表示された1つ以上の仮想オブジェクト及び/又は仮想環境の部分の表示を停止する。いくつかの実施形態では、第1の実オブジェクトのみが、第1の実オブジェクトのロケーションに対応する三次元環境の一部を「突破」する。いくつかの実施形態では、第1の実オブジェクトは、実オブジェクトのロケーションに対応する三次元環境の部分を「突破」し、追加部分(例えば、第1の実オブジェクトの閾値距離内の三次元環境の一部、三次元環境全体)を修正する。いくつかの実施形態では、電子デバイスが、第1の実オブジェクトが「突破」する三次元環境の領域内の1つ以上又は全ての仮想要素の表示を停止するとき、第1の実オブジェクトは、三次元環境を「突破」する。電子デバイスが第1の実オブジェクトのロケーションに向かって移動していること、及び1つ以上の基準が満たされていることを検出したことに応じて第1の実オブジェクトの表現を表示する上述の方法は、ユーザが第1の実オブジェクトと衝突する可能性がある場合にのみ第1の実オブジェクトを提示し、そうでなければ仮想コンテンツのための表示エリアを保存する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、図11Aのように、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のポジションに移動させる要求に対応する入力を受信したことに応じて(1226)、1つ以上の基準が満たされている(例えば、物理オブジェクトの近くにあり、手によって行われた移動ジェスチャの解放などの選択/移動入力が終了している)という判定に従って、個別の仮想オブジェクトは所定のタイプの仮想オブジェクト(例えば、コンテンツ、アプリケーション表現、仮想オブジェクト(例えば、仮想テレビ、ボードゲーム、フォトアルバム)であり、実オブジェクトは所定のタイプの実オブジェクト(例えば、平面又は垂直面、床、壁)であり、個別の仮想オブジェクト(例えば、1106)の現在ポジションが個別の実オブジェクト(例えば、1126)(例えば、三次元環境内)の表現(例えば、1130)の閾値距離(例えば、3、6、12インチ)内にあるときに満たされる個別の基準を含み、電子デバイス(例えば、101)は、個別の仮想オブジェクト(例えば、1106)を、三次元環境(例えば、1104)内の個別の実オブジェクト(例えば、1126)の表現(例えば、1130)に対応するロケーションに移動させる(1228)。いくつかの実施形態では、電子デバイスは、個別の仮想オブジェクトが個別の実オブジェクト上にあるように見えるように、個別の仮想オブジェクトを表示する。例えば、電子デバイスは、個別の仮想オブジェクトを、それが床、テーブル、若しくは他の水平面などの表面上に置かれているかのように見えるように、又はオブジェクトが壁若しくは他の垂直面に掛けられているかのように見えるように表示する。例えば、電子デバイスの物理的環境内の床の上の閾値距離内にあるロケーションに個別の仮想オブジェクトを移動させる要求に対応する入力に応じて、電子デバイスは、個別の仮想オブジェクトが床に配置されているように見せるロケーションに個別の仮想オブジェクトを表示する。図11Bなどのいくつかの実施形態では、1つ以上の基準が満たされないという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、1104)内の個別の実オブジェクト(例えば、1126)の表現(例えば、1130)に対応するロケーションに個別の仮想オブジェクト(例えば、1106)を移動させることを見合わせる(1230)。いくつかの実施形態では、電子デバイスは、仮想オブジェクトを移動させるための入力の終了まで、実オブジェクトの表現に対応するロケーションに仮想オブジェクトを移動させない。例えば、ユーザが仮想オブジェクトを移動させている間、電子デバイスは、実オブジェクトに対応するようにロケーションを調整することなく、移動に対応するロケーションに仮想オブジェクトを表示する。いくつかの実施形態では、電子デバイスは、移動入力が実オブジェクトの閾値距離内のロケーションに仮想オブジェクトを移動させる要求に対応する場合にのみ、実オブジェクトに対応するロケーションに仮想オブジェクトを表示する。例えば、仮想オブジェクトを、実オブジェクトから閾値距離よりも離れた個別のロケーションに移動させる入力に応じて、電子デバイスは、実オブジェクトにスナップされるのではなく、仮想オブジェクトを個別のロケーションに表示する。
1つ以上の基準が満たされているという判定に従って、三次元環境内の個別の実オブジェクトの表現に対応するロケーションに個別の仮想オブジェクトを移動させる上述の方法は、実オブジェクトに対応するロケーションにオブジェクトを移動させる効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用できるようにすることによって(例えば、実オブジェクトに対応するロケーションに仮想オブジェクトを配置するのに必要な入力の時間及び/又は数を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
いくつかの実施形態では、図11Aのように、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のポジションに移動させる要求に対応する入力を受信したことに応じて(1232)、個別の基準が満たされている(例えば、仮想オブジェクトが三次元環境内の実オブジェクトの閾値距離内にある)という判定に従って、電子デバイス(例えば、101)は、表示生成コンポーネントを介して、1つ以上の基準が満たされたときに個別の仮想オブジェクト(例えば、1106)が三次元環境(例えば、1104)内の個別の実オブジェクト(例えば、1130)の表現(例えば、1126)に対応するロケーションに移動することを示す視覚的インジケーションを表示する(1234)。いくつかの実施形態では、視覚的インジケーションは、仮想オブジェクトが三次元環境内のその現在ポジションにある間に移動入力が終了した場合に実オブジェクトと接触する仮想オブジェクトの表面の輪郭である。例えば、円錐形の仮想オブジェクトの移動を検出している間、仮想オブジェクトが物理的環境内の現実のテーブルの閾値距離内にあるという判定に従って、電子デバイスは、移動入力が終了した場合に円錐が配置される現実のテーブルのロケーションに円錐の基部の輪郭(例えば、点線又は破線の円の輪郭)を表示する。
個別の仮想オブジェクトを三次元環境内の個別のポジションに移動させる要求に対応する入力を受信し、個別の基準が満たされたことに応じて視覚的インジケーションを表示する上述の方法は、仮想オブジェクトが物理オブジェクトに対応するロケーションに移動されることをユーザに通知する効率的な方法を提供し、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、仮想オブジェクトを実オブジェクトに対応するロケーションに配置するのにかかる時間を短縮することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
いくつかの実施形態では、図11Aのように、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のポジションに移動させる要求に対応する入力の受信に応じて(1236)、1つ以上の基準が満たされているという判定に従って、電子デバイス(例えば、101)は、個別の実オブジェクト(例えば、1126)に基づいて三次元環境(例えば、1104)に対して第1の向きで個別の仮想オブジェクト(例えば、1106)を表示する(1238)。いくつかの実施形態では、電子デバイスは、実オブジェクトに対応する三次元環境内のロケーションにある仮想オブジェクトの表面が、仮想オブジェクトに最も近い又は接触している実オブジェクトの表面に平行又は実質的に平行であるような向きで、仮想オブジェクトを表示する。したがって、いくつかの実施形態では、第1の向きは、三次元環境内のユーザのロケーションに基づくのではなく、個別の実オブジェクトの特性に基づく。いくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のポジションに移動させる要求に対応する入力を受信したことに応じて(1236)、1つ以上の基準が満たされていないという判定に従って、電子デバイス(例えば、101)は、図11Bのように、三次元環境(例えば、1104)内のユーザ(例えば、1114A)のロケーションに基づいて(例えば、個別の実オブジェクトの特性に基づかずに)、三次元環境(例えば、1104)に対して第1の向きとは異なる第2の向きで個別の仮想オブジェクト(例えば、1106)を表示する(1240)。いくつかの実施形態では、第2の向きは、ユーザの視点に向けられる。いくつかの実施形態では、第2の向きは、方法800又は1000の1つ以上のステップに従って選択される。
1つ以上の基準が満たされるかどうかに応じて異なる向きで仮想オブジェクトを表示する上述の方法は、物理オブジェクトに関連付けられたロケーションに仮想オブジェクトを配置する、又はユーザに容易に見える向きで仮想オブジェクトを配置する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、所望の向きで仮想オブジェクトを表示するのに必要な時間及び入力を低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
いくつかの実施形態では、三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力を受信する前に、個別の仮想オブジェクト(例えば、1106)は、図11Aのように、三次元環境(例えば、1104)内でユーザ(例えば、1114A)から第1の距離にあり、個別の仮想オブジェクト(例えば、1106)は、第1のサイズで表示される(1242)。いくつかの実施形態では、図11Bのように、三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力を受信した後、個別の仮想オブジェクト(例えば、1106)は、三次元環境(例えば、1104)内でユーザ(例えば、1114A)から第1の距離とは異なる第2の距離にあり、個別の仮想オブジェクト(例えば、1106)は、第1のサイズ(1244)とは異なる第2のサイズで表示される。いくつかの実施形態では、個別の仮想オブジェクトのサイズは、三次元環境内のオブジェクトの仮想サイズである。いくつかの実施形態では、三次元環境内で個別の仮想オブジェクトをユーザの視点から更に移動させる入力に応じて、電子デバイスは、仮想オブジェクトのサイズを増加させる。いくつかの実施形態では、オブジェクトを更に遠くに移動させ、仮想オブジェクトのサイズを増加させることは、表示生成コンポーネントに、仮想オブジェクトがユーザから更に離れている場合であっても、仮想オブジェクトを表示するために同じ表示エリアを使用させる。いくつかの実施形態では、仮想オブジェクトを表示するために使用される表示エリアは、オブジェクトが更に遠くに移動され、オブジェクトのサイズが変化するにつれて変化する。いくつかの実施形態では、三次元環境内で仮想オブジェクトをユーザの視点に近づけるための入力に応じて、電子デバイスは、仮想オブジェクトのサイズを減少させる。いくつかの実施形態では、仮想オブジェクトをより近くに移動させ、仮想オブジェクトのサイズを減少させることは、仮想オブジェクトがユーザにより近くても、電子デバイスに、仮想オブジェクトを表示するために同じ表示エリアを使用させる。いくつかの実施形態では、仮想オブジェクトを表示するために使用される表示エリアは、オブジェクトがより近くに移動され、オブジェクトのサイズが変化するにつれて変化する。いくつかの実施形態では、仮想オブジェクトを移動させる要求に応じて、電子デバイスは、方法800及び/又は1000の1つ以上のステップに従って、仮想オブジェクトのロケーションを更新し、仮想オブジェクトの向きを更新する。
三次元環境内のユーザと仮想オブジェクトとの間の距離が変化するときに仮想オブジェクトのサイズを変更する上述の方法は、読みやすいサイズで仮想オブジェクトを表示する効率的な方法を提供し、オブジェクトが移動されるときに他のオブジェクトのための空間を自動的に可能にし、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、仮想オブジェクトを移動及びサイズ変更するために必要な入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用におけるエラーを低減する。
いくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内で移動させる要求に対応する入力を受信したことに応じて(1246)、個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力が、閾値距離(例えば、0.1、0.2、0.3、0.4、0.5、1、2メートルなど)と一致する(例えば、又はその範囲内にある)三次元環境内の個別のロケーションへのものであるという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、1104)内のユーザ(例えば、1114B)(例えば、電子デバイスのユーザ又は三次元環境内の別のユーザ)に関連付けられたロケーションを表示し、三次元環境(例えば、1104)内の個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力が終了した場合、三次元環境(例えば、1104)内の個別のロケーションとは異なる第2の個別のロケーションに個別の仮想オブジェクト(例えば、1106)を表示する(1248)。いくつかの実施形態では、電子デバイスは、第1のユーザに対応するアバターを、ユーザに対応する三次元環境内のロケーションに表示する。いくつかの実施形態では、第2の個別のロケーションは、ユーザに関連付けられたロケーションから所定の閾値距離(例えば、0.1、0.2、0.3、0.4、0.5、1、2メートルなど)離れている。いくつかの実施形態では、移動入力の終了を検出する前に、電子デバイスは、個別の仮想オブジェクトを個別のロケーションに表示する。いくつかの実施形態では、移動入力の終了を検出する前に、電子デバイスは、第2の個別のロケーションに仮想オブジェクトを表示し、移動入力が受信されている間はいつでも、個別のロケーションに仮想オブジェクトを表示しない。例えば、ユーザが個別の仮想オブジェクトを移動させるための入力を提供している間、電子デバイスは、入力に従って個別の仮想オブジェクトを移動させ、移動入力が個別の仮想オブジェクトを個別のロケーションに移動させることに対応するとき、個別のロケーションの代わりに第2の個別のロケーションに個別の仮想オブジェクトを表示する。仮想オブジェクトを三次元環境内のユーザと一致する個別のロケーションに移動させる要求に対応する移動入力に応じて仮想オブジェクトを第2の個別のロケーションに表示する上述の方法は、ユーザに見えるロケーションに仮想オブジェクトを表示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時のエラーを低減する。
いくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内で移動させる要求に対応する入力を受信したことに応じて(1250)、個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力が、仮想オブジェクトを三次元環境(例えば、1104)内のユーザ(例えば、1114B)(例えば、電子デバイスのユーザ又は三次元環境内の別のユーザ)に関連付けられたロケーションと一致する三次元環境(例えば、1104)内の個別のロケーションに移動させる要求であるという判定に従って、電子デバイス(例えば、101)は、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のロケーションに表示する(1252)。いくつかの実施形態では、三次元環境内の個別のロケーションに仮想オブジェクトを表示している間、電子デバイスは、ユーザの表現を表示することを停止する。いくつかの実施形態では、三次元環境内の個別のロケーションに仮想オブジェクトを表示している間、電子デバイスは、仮想オブジェクト及びユーザの表現の両方が三次元環境内で見えるように、仮想オブジェクト及びユーザの表現のうちの1つ以上の透明度を変更する。いくつかの実施形態では、電子デバイス(例えば、101)は、個別の仮想オブジェクト(例えば、1106)を三次元環境内で移動させる要求に対応する入力を受信したことに応じて(1250)、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の個別のロケーションに表示しながら、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内で移動させる要求に対応する入力の終了を検出する(1254)。いくつかの実施形態では、三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力を受信したことに応じて(1250)、三次元環境(例えば、1104)内で個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力の終了を検出したことに応じて、電子デバイス(例えば、101)は、個別の仮想オブジェクト(例えば、1106)を三次元環境(例えば、1104)内の第2の個別のロケーションに移動させる(1256)。いくつかの実施形態では、移動入力を検出している間、電子デバイスは、個別のロケーションに仮想オブジェクトを表示し、移動入力の終了を検出したことに応じて、電子デバイスは、個別のロケーションから第2の個別のロケーションへ仮想オブジェクトを移動させるアニメーションを表示する。
三次元環境内で仮想オブジェクトの表現を個別のロケーションから第2の個別のロケーションに移動させる上述の方法は、仮想オブジェクトをユーザに見えるようにするロケーションに仮想オブジェクトを表示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、三次元環境(例えば、1104)内の個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力の受信に応じて(1258)、個別の仮想オブジェクト(例えば、1106)を移動させる要求に対応する入力が、三次元環境(例えば、1104)内のユーザ(例えば、1114B)(例えば、電子デバイスのユーザ又は三次元環境内の別のユーザ)に関連付けられたロケーションの閾値距離(例えば、0、1、5、10、30、100センチメートルなど)内にある三次元環境(例えば、1104)内の個別のロケーションに仮想オブジェクト(例えば、1106)を移動させる要求であるという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、1104)内の個別のロケーションとは異なる三次元環境(例えば、1104)内の第2の個別のロケーションに個別の仮想オブジェクト(例えば、1106)を表示する(1260)。いくつかの実施形態では、電子デバイスは、移動入力が電子デバイスによって検出されている間、個別のロケーションの代わりに第2の個別のロケーションに仮想オブジェクトを表示する。いくつかの実施形態では、電子デバイスは、ユーザに対応するアバターを三次元環境内の個別のロケーションに表示する。いくつかの実施形態では、第2の個別のロケーションは、ユーザに関連付けられたロケーションから閾値距離だけ離れている。いくつかの実施形態では、ユーザが個別の仮想オブジェクトを移動させる入力を提供している間、電子デバイスは、入力に従って(例えば、ユーザに関連付けられたロケーションに向かって)個別の仮想オブジェクトを移動させ、移動入力が個別の仮想オブジェクトを個別のロケーションに移動させることに対応するとき、個別のロケーションの代わりに第2の個別のロケーションに個別の仮想オブジェクトを表示する。いくつかの実施形態では、移動入力が提供されている間、電子デバイスは、個別のロケーションに仮想オブジェクトを表示し、仮想オブジェクトが個別のロケーションにある間に移動入力の終了を検出したことに応じて、電子デバイスは、仮想オブジェクトを個別のロケーションから三次元環境内の第2の個別のロケーションに移動させるアニメーションを提示する。
移動入力が検出されている間に、個別のロケーションの代わりに第2の個別のロケーションに仮想オブジェクトを表示する上述の方法は、移動入力に応じて仮想オブジェクトが表示されるロケーションをユーザに通知する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図11Aなどのいくつかの実施形態では、三次元環境(例えば、1104)を表示している間(1262)、個別の実オブジェクト(例えば、1124)の表現(例えば、1128)が三次元環境(例えば、1104)内の電子デバイスの第1のユーザ(例えば、1114A)のロケーションと第2のユーザ(例えば、1114B)の表現との間にあるという判定に従って、電子デバイス(例えば、101)は、表示生成コンポーネントを介して、個別の実オブジェクト(例えば、1124)の表現(例えば、1128)上に第2のユーザ(例えば、第2のユーザのアバター)の表現の視覚的インジケーション(例えば、1132b)を表示する(1264)。いくつかの実施形態では、第2のユーザの視覚的インジケーション(例えば、第2のユーザのアバター)は、三次元環境内で第1のユーザと第2のユーザとの間にオブジェクトが存在しないときに第2のユーザの表現が表示される視覚特性とは異なる視覚特性で表示され、実オブジェクトは、三次元環境内で第1のユーザと第2のユーザとの間にある。例えば、実オブジェクトが第1のユーザと第2のユーザとの間にある間、電子デバイスは、実オブジェクトの表現上に、又は実オブジェクトの表現を通して、第2のユーザの表現の透明、半透明、輪郭、又は他のバージョンを表示する。いくつかの実施形態では、電子デバイスは、三次元環境内の第1のユーザと第2のユーザとの間の距離が所定の閾値を超えるという判定に従って、第2のユーザの表現の表示を停止する。いくつかの実施形態では、第2のユーザのアバターの一部が実オブジェクトによって遮られている(例えば、アバターがアバターよりも短いオブジェクトの背後にあり、アバターが、ユーザの視点から実オブジェクトの背後にある第1の水平部分と、ユーザの視点から実オブジェクトの背後にない第2の水平部分とを有する)という判定に従って、実オブジェクトによって遮られている第2のユーザのアバターの部分は、変更された視覚特性で表示され、実オブジェクトによって遮られていないアバターの部分は、変更されていない視覚特性で表示される。
第2のユーザの表現の視覚的インジケーションを実オブジェクトの表現上に表示する上述の方法は、第2のユーザの表現の視覚的インジケーションと実オブジェクトの表現との両方を表示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図11Bなどのいくつかの実施形態では、個別の仮想オブジェクト(例えば、1106)の少なくとも一部分が、三次元環境(例えば、1104)内の個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第1の部分(例えば、1134b)に対応する三次元環境(例えば、1104)の部分を占有している間、かつ個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第2の部分(例えば、1134b)の表示が修正されている間、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、1104)内の個別の仮想オブジェクト(例えば、1106)を更に移動させる要求に対応する追加の入力を受信する(例えば、第2の移動入力を検出するか、又は移動入力の継続を検出する)(1266)。図11Cなどのいくつかの実施形態では、追加入力を受信したことに応じて(1268)、電子デバイス(例えば、101)は、追加入力に従って、三次元環境(例えば、1104)内の個別の仮想オブジェクト(例えば、1106)を更に移動させる(1270)。図11Cなどのいくつかの実施形態では、追加入力を受信したことに応じて(1268)、個別の仮想オブジェクト(例えば、1106)の更なる移動により、個別の仮想オブジェクト(例えば、1106)の少なくとも第2の部分が、三次元環境(例えば、1104)内の個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第1の部分とは異なる第3の部分に対応する三次元環境(例えば、1104)の第2の部分を占有するとの判定に従って、電子デバイス(例えば、101)は、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の第3の部分を取り囲む、個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の、第2の部分とは異なる第4の部分(例えば、1134b)の表示を変更する(1272)。いくつかの実施形態では、実オブジェクトの表現の第4の部分の表示を修正することは、その部分をぼかすこと及び/又は暗くすることを含む。いくつかの実施形態では、修正された外観を伴って表示される実オブジェクトの部分は、仮想オブジェクトと一致又は重複する実オブジェクトの部分に依存する。例えば、電子デバイスは、仮想オブジェクトと一致又は重複する実オブジェクトの部分に隣接する実オブジェクトの部分の外観を修正する。別の例として、仮想オブジェクトの第1の部分が実オブジェクトの第1の部分と一致するか又は重なっている間、電子デバイスは、変更された外観を有する実オブジェクトの第1の部分に近接する仮想オブジェクトの第2の部分を表示し、仮想オブジェクト全体を表示する。この例では、仮想オブジェクトの第2のより大きい部分が実オブジェクトの第3の部分と一致するか又は重なるように、仮想オブジェクトを移動させる入力に応じて、電子デバイスは、修正された外観を有する実オブジェクトの第4の部分を表示し、仮想オブジェクト全体を表示する。いくつかの実施形態では、電子デバイスが、仮想オブジェクトと一致又は重複する実オブジェクトの部分を変更するように仮想オブジェクトを移動させる入力を検出すると、電子デバイスは、実オブジェクトの表示を更新して、実オブジェクトと現在一致又は重複している実オブジェクトの一部に近接する実オブジェクトの部分の表示を修正する。
仮想オブジェクトのポジションに応じて修正された外観で表示される実オブジェクトの部分を修正する上述の方法は、視覚的混乱及び認知的不協和を低減して仮想オブジェクトを表示する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、ユーザの不快感及び/又は気を散らすことを低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図11Cなどのいくつかの実施形態では、個別の実オブジェクト(例えば、1106)の表現(例えば、1130)の第2の部分(例えば、1134a)は、個別の仮想オブジェクト(例えば、1126)の境界の閾値距離内にある個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の1つ以上の部分を含み、個別の仮想オブジェクト(例えば、1106)の境界の閾値距離よりも遠い個別の実オブジェクト(例えば、1126)の表現(例えば、1130)の1つ以上の部分を含まない(1274)。いくつかの実施形態では、実オブジェクトの部分が修正される(例えば、ぼかされる及び/又は暗くされる)度合いは、実オブジェクト及び仮想オブジェクトの個別の部分の間の距離に依存する。例えば、仮想オブジェクトに直接隣接する実オブジェクトの部分は、仮想オブジェクトから更に離れている実オブジェクトの一部よりも多く修正される。いくつかの実施形態では、実オブジェクトから閾値距離(例えば、0.1、0.2、0.3、0.4、0.5メートルなど)離れている実オブジェクトの1つ以上の部分は、変更されていない外観で表示される。
仮想オブジェクトの閾値距離内にある実オブジェクトの部分を修正する上述の方法は、実オブジェクトの他の部分の修正されていない表示を維持する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、ユーザが実オブジェクトの修正されていない部分を見ることを可能にすることによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13A~図13Cは、いくつかの実施形態による、電子デバイスが1つ以上の仮想オブジェクト及び/又は他のユーザを含む三次元環境内でユーザ(例えば、追加ユーザ)のロケーションを自動的に選択する方法の例を示す図である。
図13Aは、表示生成コンポーネント120a及び120bを介して、ユーザインタフェース上に三次元環境1304を表示する電子デバイス101a及び101bを示す。図1~図6を参照して上述したように、電子デバイス101a及び101bは、任意選択的に、表示生成コンポーネント120a及び120b(例えば、タッチスクリーン)及び複数の画像センサ314a及び314bを含む。画像センサ314は、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101a及び101bは、ユーザが電子デバイス101a及び101bと相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120a及び120bは、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示されるユーザインタフェースはまた、ユーザインタフェースをユーザに表示する表示生成コンポーネントと、物理的環境及び/若しくはユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、並びに/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実装され得る。
図13Aに示されるように、三次元環境1304は、ユーザA 1314A、ユーザB 1314B、アプリAの表現1306、アプリBの表現1308、及びアプリCの表現1322を含む。ユーザA 1314Aは、三次元環境1304のホストである。いくつかの実施形態では、三次元環境1304のホストは、三次元環境1304に参加することができるユーザを承認又は拒否する権限、1つ以上の仮想オブジェクトの表示を承認又は拒否する権限、三次元環境1304を閉じる権限、及び/又はプライバシー設定、表示設定などの三次元環境1304の1つ以上の他の設定を制御する権限など、三次元環境1304の態様を制御する。いくつかの実施形態では、アプリA及びアプリBの表現1306及び1308は、それぞれ、表現の片側にコンテンツを含む単方向表現である。いくつかの実施形態では、アプリCの表現1322は、複数の側から見える多方向表現である。いくつかの実施形態では、アプリA、B、及びCの表現1306、1308、及び1322の配置及び向きはそれぞれ、図9A~図10Tを参照して上述したように、三次元環境1304内のユーザA 1314A及びユーザB 1314Bのロケーションに基づいて自動的に選択され得る。
いくつかの実施形態では、ユーザA 1314Aは、電子デバイスA 101aを使用して、三次元環境1304を見てそれと相互作用する。電子デバイスA 101aは、ユーザA 1314Aの視野1328a内の三次元環境1304の部分の表示を含む、ユーザA 1314Aの視点からの三次元環境1304を表示する。したがって、図13Aに示されるように、電子デバイス101aは、アプリAの表現1306、アプリCの表現1322、及びユーザBの表現1314Bを表示する。
同様に、いくつかの実施形態では、ユーザB 1314Bは、電子デバイスB 101bを使用して、三次元環境1304を見てそれと相互作用する。電子デバイスB 101bは、ユーザB 1314Bの視野1328b内の三次元環境1304の部分の表示を含む、ユーザB 1314Bの視点からの三次元環境1304を表示する。したがって、図13Aに示されるように、電子デバイス101bは、アプリBの表現1308、アプリCの表現1322、及びユーザAの表現1314Aを表示する。
いくつかの実施形態では、追加ユーザが三次元環境1304に加わることができる。例えば、ユーザA 1314A及び/又はユーザB 1314Bは、ユーザC 1314Cを三次元環境1304に招待することができる。別の例として、ユーザC 1314Cは、ユーザA 1314A及び/又はユーザB 1314Bから三次元環境1304へのアクセスを要求する。いくつかの実施形態では、ユーザA 1314Aが三次元環境1304のホストであるので、ユーザA 1314Aは、ユーザを三次元環境1304に追加する要求を承認又は拒否する(例えば、ユーザC 1314Cを三次元環境1304に追加する要求を承認又は拒否する)能力を有する。図13Aに示すように、電子デバイスA 101aは、三次元環境1304に参加する第3のユーザのインジケーション1330aを検出し、電子デバイスB 101bは、三次元環境1304に参加する第3のユーザのインジケーション1330bを検出する。
図13Bは、ユーザC 1314Cが三次元環境1304に参加した後の三次元環境1304を示す。電子デバイス101a及び101bは、ユーザC 1314CがユーザA 1314Aの視野1328a及びユーザB 1314Bの視野1328b内にいるので、ユーザC 1314Cの表現を含むように三次元環境1304の表示を更新する。図13Bに示されるように、ユーザA 1314A及びユーザB 1314Bのポジション及び向き、並びにアプリA、B、及びCの表現1306、1308、及び1322はそれぞれ、ユーザC 1314Cが三次元環境1304に参加することに応じて同じままである。図9A~図10Tを参照して上述したように、アプリケーションの表現の向きは、任意選択的に、アプリケーションの表現の表示を移動又は開始する要求の検出に応じて、三次元環境1304内のユーザA 1314A、ユーザB 1314B、及びユーザC 1314Cのロケーションに基づいて自動的に選択される。
いくつかの実施形態では、電子デバイス101a及び/若しくは101b並びに/又はユーザCの電子デバイス1314Cは、1つ以上の基準に基づいて、三次元環境1304におけるユーザCの初期ロケーション1314Cを自動的に決定する。いくつかの実施形態では、ユーザC 1314Cの配置は、三次元環境1304におけるユーザA 1314A及びユーザB 1314Bのロケーション、並びにアプリA、B、及びCのそれぞれの表現1306、1308、及び1322に基づく。
いくつかの実施形態では、ユーザC 1314Cの初期配置は、ユーザC 1314Cが三次元環境1304内の他のユーザを見ることを可能にするように選択される(例えば、ユーザA 1314A及びユーザB 1314Bは、ユーザC 1314Cの視野内にある)。いくつかの実施形態では、ユーザC 1314Cの初期配置は、三次元環境1304内のユーザA 1314A及びユーザB 1314Bの第1の閾値距離(例えば、0.5、1、2、3メートルなど)内にある。例えば、図13Bに示すように、ユーザC 1314Cは、ユーザA 1314A及びユーザB 1314Bに見えるロケーションに配置される(例えば、ユーザC 1314Cの表現は、電子デバイスA 101A及び電子デバイス101Aによって表示される)。したがって、この例では、ユーザC 1314Cは、ユーザC 1314Cの電子デバイス(図示せず)がユーザA 1314A及びユーザB 1314Bの表現を同様に表示することができるほど十分にユーザA 1314A及びユーザB 1314Bに近い。いくつかの実施形態では、ユーザC 1314Cの初期配置は、ユーザC 1314CをユーザA 1314A又はユーザB 1314Bに近すぎる(例えば、0.2、0.5、1メートルなどの閾値距離内)配置を回避するように選択される。いくつかの実施形態では、新しいユーザが三次元環境に追加されるとき、新しいユーザは、他のユーザから少なくとも第2の閾値距離(例えば、0.2、0.5、1メートルなど)離れている。例えば、三次元環境1304内のユーザC 1314Cの初期配置は、ユーザA 1314A及びユーザB 1314Bから第1の閾値と第2の閾値との間で離れている。いくつかの実施形態では、第1の閾値は第2の閾値よりも大きい。
いくつかの実施形態では、三次元環境1304内のユーザC 1314Cの初期配置は、ユーザC 1314Cが、それぞれ、アプリA、B、及びCの表現1306、1308、及び1322を閲覧し、それらと対話することを可能にするように選択される。例えば、図13Bに示されるように、ユーザC 1314Cは、最初にアプリCの表現1322に隣接して配置される。更に、ユーザC 1314Cは、任意選択的に、三次元環境1304内のユーザC 1314Cの初期ポジションからアプリA及びアプリBの表現1306及び1308を見て、それらと対話することができる(例えば、アプリCの表現1322は、表現1306及び1308へのユーザCのアクセス及び/又はそれらの表示を妨げない)。例えば、図13BにおけるユーザC 1314Cのポジションは、ユーザA 1314A及びユーザB 1314Bの表現1306及び1308の同じ側(例えば、表現1306及び1308のコンテンツを含む表現1306及び1308の側)にある。
いくつかの実施形態では、ユーザC 1314Cの初期配置は、三次元環境1304のホストであるユーザ(例えば、ユーザA 1314A)の閾値距離(例えば、0.5、1、2、3メートルなど)内にあるように選択される。例えば、三次元環境1304内のユーザC 1314Cの配置は、三次元環境1304のホストであるユーザA 1314Aの閾値距離内にある。
いくつかの実施形態では、ユーザC 1314Cの初期配置は、三次元環境1304内のユーザ及び/又は仮想オブジェクトの他のユーザのビューを妨げることを回避するように選択される。例えば、三次元環境1304におけるユーザC 1314Cの配置は、ユーザA 1314AとユーザB 1314Bとの間ではなく、他のユーザと、それぞれアプリA、B、及びCの表現1306、1308、及び1322のいずれとの間でもない。
いくつかの実施形態では、三次元環境1304内の新しいユーザの初期配置は、水平線が三次元環境1304内の全てのユーザに対して位置合わせされるように選択される。例えば、三次元環境1304の床、壁、天井などの表面は、全てのユーザに対して同じ位置合わせで表示される。別の例として、電子デバイス101a及び101bが三次元環境1304内でそのような表面を表示した場合、これらの表面の位置合わせは、電子デバイス101a及び101bの両方について同じである。
いくつかの実施形態では、電子デバイス101a及び/又は101bは、上述のユーザ配置規則に従って、三次元環境1304内の新しいユーザの初期ポジションを選択する。いくつかの実施形態では、電子デバイス101a及び/又は101bは、ユーザ配置規則の全てに従う新しいユーザのためのポジションを選択することができる。いくつかの実施形態では、ユーザ配置規則の全てに従うポジションが三次元環境1304内に存在しない場合、電子デバイス101a及び/又は101bは、最も多くの規則及び/又は最も優先順位の高い規則を満たすロケーションを選択する(例えば、規則は、三次元環境1304内の各オープンポジションをスコア付けするように重み付け及び/又はランク付けされ、新しい使用は、最良のスコアを有するロケーションで三次元環境1304に追加される)。
追加ユーザの配置は、任意選択的に、同様の基準によって同様に制御される。図13Bに示すように、電子デバイスA 101aは、三次元環境1304に参加する第4のユーザのインジケーション1332aを検出し、電子デバイスB 101bは、三次元環境1304に参加する第4のユーザのインジケーション1332bを検出する。いくつかの実施形態では、インジケーション1332a及び1332bは、図13Aを参照して上述したように、インジケーション1330a及び1330bが検出された方法と同様の方法で検出される。
図13Cは、ユーザD 1314Dが三次元環境1304に参加した後の三次元環境1304を示す。ユーザD 1314DがユーザB 1314Bの視野1328b内にいるので、電子デバイス101bは、ユーザD 1314Dの表現を表示するために三次元環境1304の表示を更新する。ユーザD 1314DはユーザA 1314Aの視野1328a内にないので、電子デバイスA 101aは、ユーザD 1314Dの表現を表示しない。いくつかの実施形態では、ユーザA 1314Aが、ユーザD 1314Dを包含するように(例えば、電子デバイスA 101aを回転させることによって)三次元環境1304内で自身の視野1328aを変更する場合、電子デバイスA 101aは、ユーザD 1314Dの表現を表示する。
いくつかの実施形態では、ユーザD 1314Dの初期配置は、ユーザC 1314Cの初期配置と同じ規則に従う。しかしながら、状況によっては、図13Bを参照して上述した配置規則の全てに従うユーザD 1314Dの可能な配置は存在しない。例えば、三次元環境1304内で、ユーザD 1314Dが、他のユーザ1314A~Cのうちの1人に近すぎることも、アプリAの表現1322又はアプリBの表現1306の別のユーザの視界を妨げることもなく、アプリCの表現1308の閾値距離内にある利用可能なロケーションは存在しない。図13Cに示すように、ユーザD 1314Dの初期配置は、ユーザDがアプリA及びBの表現1306及び1308を見ることを可能にし、任意選択的に他のユーザ1314A~Cから第1及び第2の閾値距離の間にあるが、ユーザD 1314Dは、ユーザA 1314AがユーザD 1314DとアプリCの表現1322との間にあるように配置される。したがって、例えば、配置規則のいくつかは守られており、他のものは破られている。いくつかの実施形態では、電子デバイス101a及び/又は101bは、上述のユーザ配置規則に基づいて、ユーザD 1314Dの可能な初期ポジションのヒートマップを生成する。いくつかの実施形態では、配置規則は、重要度によってランク付けされ、かつ/又は重み付けされて、電子デバイス101a及び/又は101bが、配置規則の全てに従う利用可能なポジションがない場合であっても、ユーザD 1314Dのための初期配置を選択することを可能にする。いくつかの実施形態では、配置規則の全て(又は1、2、3などの少なくとも閾値数)に従うロケーションがない場合、電子デバイス(単数又は複数)は、ユーザ1314Dを所定のロケーションに配置する(例えば、三次元環境1304に対して、又はユーザD 1314Dを三次元環境1304のホストであるユーザA 1314Aの左又は後ろに配置するなど、ユーザのうちの1人以上に対して)。
いくつかの実施形態では、1つ以上の電子デバイス101a及び101bの物理的環境は、家具又は他のオブジェクトの表現を含む三次元環境1304内で対話するユーザをシミュレートするために、その上又は周囲に新しいユーザが配置される家具又は他のオブジェクトを含む。例えば、電子デバイス101a及び/又は101bは、図11A~図11Cに示すように、実世界のソファ1124の表現1128又は実世界の壁1126の表現1130を表示する。いくつかの実施形態では、電子デバイスは、三次元環境内で家具若しくは他の実オブジェクトのフォトリアリスティックな表現(例えば、パススルービデオ)を表示するか、又は家具若しくは他の実オブジェクトは、表示生成コンポーネントの透明部分を通して見える。いくつかの実施形態では、新しいユーザは、オブジェクト上又はオブジェクトの周囲に意味論的に配置される。例えば、物理的環境が椅子を有するテーブルを含む場合、電子デバイスは、新しいユーザがテーブルに座っているかのように見えるように新しいユーザを配置し、新しいユーザが追加されるにつれて、テーブルの周りの座席を順次埋める。別の例として、物理的環境がソファ1124を含む場合、電子デバイスは、新しいユーザがソファ1124の表現1128上に座っているかのように見えるように新しいユーザを配置し、新しいユーザが追加されるにつれて、ソファ上の利用可能な座席空間を順次埋める。更に、いくつかの実施形態では、電子デバイスは、実オブジェクトと一致するロケーション又は意味的に非論理的なポジション(例えば、テーブルに立っているユーザ、本棚に座っているユーザなど)にユーザを配置することを回避することなどによって、三次元環境内の実オブジェクトの表現と競合するロケーションに新しいユーザを配置することを回避する。
したがって、図13A~図13Cを参照して上述したようないくつかの実施形態では、ユーザは、ユーザが最初に三次元環境1304に加わるときに、ユーザ配置規則に従って自動的に配置される。いくつかの実施形態では、初期配置規則は、ユーザの視点から三次元環境1304をリセットする要求に応じてユーザのポジションを更新するためにも使用される。いくつかの実施形態では、ユーザが三次元環境1304内の他のユーザ及び/又は仮想オブジェクト(例えば、それぞれアプリA、B、及びCの表現1306、1308、及び1322)から少なくとも閾値距離(例えば、3、4、5、10メートルなど)離れたという判定に従って、そのユーザの電子デバイスは、三次元環境1304をリセットするオプションを表示する。いくつかの実施形態では、三次元環境1304をリセットするオプションの選択を検出したことに応じて、電子デバイスは、ユーザのポジションを、上述のユーザ配置規則を使用して選択されたポジションに更新する。このようにして、ユーザは、例えば、三次元環境1304内の他のユーザ及び/又は仮想オブジェクトと対話する他のユーザの能力に干渉することなく、三次元環境1304内のユーザ及び/又は仮想オブジェクトと対話することができるロケーションに配置される。いくつかの実施形態では、ユーザの視点からの三次元環境1304はリセットされるが、他のユーザ及び仮想オブジェクトのポジションは不変である。いくつかの実施形態では、他のユーザは、更新されたポジションへのユーザジャンプ又はテレポートを見るが、そうでなければ、三次元環境1304と相互作用している間、中断されない。
図14A~図14Lは、いくつかの実施形態による、1つ以上の仮想オブジェクト及び/又は他のユーザを含む三次元環境内でユーザのロケーションを自動的に選択する方法を示すフローチャートである。いくつかの実施形態では、方法1400は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度検知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって実行される。方法1400の一部の動作は、任意選択的に組み合わされ、及び/又は一部の動作の順序は、任意選択的に変更される。
いくつかの実施形態では、方法1400は、表示生成コンポーネント及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイスにおいて実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイスと統合されたディスプレイ(任意選択的にタッチスクリーンディスプレイ)、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影するか、又はユーザインタフェースを1人以上のユーザに見えるようにするための(任意選択的に統合又は外部)ハードウェアコンポーネントなどである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力を受信(例えば、ユーザ入力のキャプチャ、ユーザ入力の検出など)し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例としては、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択的に統合又は外部)、タッチパッド(任意選択的に統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、視線追跡デバイス及び/又は動きセンサ(例えば、ハンドトラッキングデバイス、手動きセンサ)などが挙げられる。
図13Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、表示生成コンポーネント120を介して、1人以上のユーザ(例えば、1314A)及び(例えば、1314B)に関連付けられた1つ以上の第1のロケーションと、1つ以上の第2のロケーションにおける1つ以上のオブジェクト(例えば、1306)、(例えば、1308)、及び(例えば、1322)とを含む三次元環境(例えば、1304)を表示する(1402)。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境等のコンピュータ生成現実(CGR)環境である)。いくつかの実施形態では、第1のユーザに関連付けられた各個別の第1のロケーションは、第1のユーザに関連付けられた電子デバイスが三次元環境を表示する視点に対応する。いくつかの実施形態では、第1のロケーション及び第2のロケーションの相対ポジションは、全てのユーザについて同じである。いくつかの実施形態では、1つ以上のオブジェクトは、アプリケーションの表現及び/若しくはユーザインタフェース、ファイルの表現、又は他の仮想オブジェクトのうちの1つ以上である。いくつかの実施形態では、1つ以上のオブジェクトは、1人以上のユーザに可視である。
図13Aなどのいくつかの実施形態では、三次元環境(例えば、1104)を表示している間に、電子デバイス(例えば、101)は、三次元環境(例えば、1304)に追加ユーザを追加する要求に対応する入力(例えば、1330)を検出する(1404)。いくつかの実施形態では、要求は、三次元環境に含まれるオブジェクト(及びユーザの表現)を閲覧するための追加ユーザへの招待である。いくつかの実施形態では、要求は、三次元環境に含まれるオブジェクト(及びユーザの表現)を閲覧するための追加ユーザからの要求の受諾である。
いくつかの実施形態では、図13Aのように、三次元環境(例えば、1304)に追加ユーザ(例えば、1314C)を追加する要求に対応する入力(例えば、1330)を検出したことに応じて、電子デバイス(例えば、101)は、三次元環境(例えば、1304)内の個別のロケーションにおける追加ユーザ(例えば、1314C)の表現を含むように三次元環境(例えば、1304)を更新し(1406)、個別のロケーションは、1人以上のユーザ(例えば、1314A)及び(例えば、1304B)に関連付けられた1つ以上の第1のロケーションと、1つ以上の第2のロケーションにおける1つ以上のオブジェクト(例えば、1306)、(例えば、1308)、及び(例えば、1322)とに基づく。いくつかの実施形態では、個別のロケーションは、ユーザの第1のロケーションに対する個別のロケーションに基づいて満たされる1つ以上の基準と、オブジェクトの第2のロケーションに対する個別のロケーションに基づいて満たされる1つ以上の基準とを満たす。いくつかの実施形態では、ユーザ以外のオブジェクト(例えば、アプリケーションの表現、ファイルの表現、他の仮想オブジェクト)が最初に表示されるロケーションは、ユーザの再配向が最初に表示されるロケーションを評価するために使用される基準とは異なる基準を使用して評価される。いくつかの実施形態では、オブジェクトの初期ポジションは、上述の方法800及び1000に従って決定され得る。いくつかの実施形態では、追加ユーザを三次元環境に追加する要求に対応する入力を検出したことに応じて、電子デバイスは、三次元環境内の他のユーザに関連付けられたロケーション及びオブジェクトのロケーションに基づくロケーションに追加ユーザの表現を含むように三次元環境を更新する。いくつかの実施形態では、1つ以上のオブジェクトは、追加ユーザに可視である。
ユーザの1つ以上の第1のロケーション及びオブジェクトの1つ以上の第2のロケーションに基づいて追加ユーザの表現を表示する個別のロケーションを選択する上述の方法は、三次元環境を追加ユーザに提示する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Bなどのいくつかの実施形態では、三次元環境(例えば、1304)内の個別のロケーションにおける追加ユーザ(例えば、1314C)の表現を含むように三次元環境(例えば、1304)を更新することは、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーションを変更することなく実行される(1408)。いくつかの実施形態では、電子デバイスは、三次元環境内の1つ以上の第1のロケーションにおけるユーザの表現の表示を維持し、ユーザの電子デバイス(単数又は複数)は、第1のユーザが三次元環境に追加される前に三次元環境が表示されていたのと同じ視点で三次元環境を表示し続ける。
三次元環境内の第1のロケーションにおけるユーザのポジションを更新することなく、第1のユーザを含むように三次元環境を更新する上述の方法は、三次元環境の第1のロケーションに関連付けられたユーザの視点からの三次元環境の表示を維持する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、第1のユーザを三次元環境に追加する前に表示されたロケーションにユーザのオブジェクト及び表現を表示するために必要な入力を低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時のエラーを低減する。
いくつかの実施形態では、1つ以上のオブジェクト(例えば、1306、1308、及び1322)は、三次元環境(例えば、1304)内の第1のロケーションに第1のオブジェクトを含み、第1のオブジェクトは、1人以上のユーザのうちの第1のユーザに関連付けられ(例えば、オブジェクト(例えば、1306、1308、及び1322)のうちの1つがユーザA(例えば、1314A)又はユーザB(例えば、1314B)のうちの1人のみにアクセス可能であった場合)、三次元環境(例えば、1304)内の個別のロケーションに追加ユーザ(例えば、1314C)の表現を含むように三次元環境(例えば、1304)を更新することは、三次元環境(例えば、1304)内の第1のオブジェクトの第1のロケーションを変更することなく実行される(1410)。いくつかの実施形態では、電子デバイスは、第1のユーザに関連付けられた入力に応じて、第1のオブジェクトの表示を初期化した。いくつかの実施形態では、第1のオブジェクトは、三次元環境内の他のユーザにアクセス可能ではなく、第1のユーザにアクセス可能(例えば、可視)である。いくつかの実施形態では、第1のオブジェクトは、三次元環境上のユーザのうちの2人以上又は全員にアクセス可能(例えば、可視)である。
追加ユーザを三次元環境に追加しながら、三次元環境内の第1のロケーションにおける第1のオブジェクトの表示を維持する上述の方法は、追加ユーザが三次元環境に追加されたときに第1のユーザが第1のオブジェクトを見るために必要な入力を低減する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図13Bなどのいくつかの実施形態では、1人以上のユーザ(例えば、1314A及び1314B)の表現は、三次元環境(例えば、1304)内の個別のロケーションにおける追加ユーザ(例えば、1314C)の視点から可視である(1412)。いくつかの実施形態では、個別のロケーションは、三次元環境内の1人以上のユーザに関連付けられたロケーションの所定の閾値距離(例えば、0.5、1、2メートルなど)内にある。いくつかの実施形態では、電子デバイスは、他のユーザのビュー及び追加ユーザのビューがオブジェクトによって遮られないように、追加ユーザの視点と他のユーザとの間に仮想又は実オブジェクトがないように、追加ユーザのロケーションを選択する。いくつかの実施形態では、追加ユーザのロケーションは、ユーザの全て(又は少なくとも所定の数若しくは割合)が追加ユーザの視野内にあるように、他のユーザから十分に離れている。
三次元環境内の個別のロケーションにおいて1人以上のユーザが追加ユーザに見えるように個別のロケーションを選択する上述の方法は、追加ユーザが1人以上のユーザと対話することを可能にする効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、1人以上のユーザを見るために追加ユーザによって必要とされる入力を低減することによって)、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
いくつかの実施形態では、三次元環境(例えば、1304)は、第1の領域と、第1の領域とは異なる第2の領域とを含む(1414)。いくつかの実施形態では、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーションが第1の領域内にあり、第2の領域内にないという判定に従って、追加ユーザ(例えば、1314C)に関連付けられた個別のロケーションが、第1の領域内にあるように(例えば、デバイスによって自動的に)選択される(1416)。いくつかの実施形態では、1人以上のユーザは、互いの所定の閾値距離(例えば、0.5、1、2、3メートルなど)内にあり、個別のロケーションは、1人以上のユーザの閾値距離内にある。いくつかの実施形態では、1人以上のユーザ及び追加ユーザは、三次元環境の第1の領域内にあり、1つ以上のオブジェクトは、第2の領域内にある。いくつかの実施形態では、1つ以上のオブジェクトが第1の領域内にある。いくつかの実施形態では、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーションが第2の領域内にあり、第1の領域内にないという判定に従って、追加ユーザ(例えば、1314C)に関連付けられた個別のロケーションが、第2の領域内にあるように(例えば、デバイスによって自動的に)選択される(1418)。いくつかの実施形態では、1人以上のユーザは、互いの所定の閾値距離(例えば、0.5、1、2、3メートルなど)内にあり、個別のロケーションは、1人以上のユーザの閾値距離内にある。いくつかの実施形態では、1人以上のユーザ及び追加ユーザは、第2の領域内にあり、1つ以上のオブジェクトは、三次元環境の第1の領域内にある。いくつかの実施形態では、1つ以上のオブジェクトが第2の領域内にある。いくつかの実施形態では、1人以上のユーザは、三次元環境の第1の個別の領域内にあり、その結果、1人以上のユーザは、互いに近くにあり(例えば、閾値距離内にあり)、1つ以上のオブジェクトは、三次元環境の第2の個別の領域内にあり、その結果、1つ以上のオブジェクトは、ユーザが他のユーザを見ることを妨げない。いくつかの実施形態では、1つ以上のオブジェクトは、三次元環境の第1の個別の領域内にある(例えば、それらがユーザによってそこに配置されたため、又は電子デバイスが、オブジェクトが第2の個別の領域よりも第1の個別の領域において見やすいと判定したため)。1人以上のユーザに関連付けられたロケーションを含む三次元環境の個別の領域内にあるように個別のロケーションを選択する上述の方法は、追加ユーザが1人以上のユーザと対話することを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、1つ以上のオブジェクトは、第1のオブジェクト(例えば、1322)(例えば、アプリケーション、ファイル、仮想オブジェクト、コンテンツ等の表現)を含む(1420)。いくつかの実施形態では、第1のオブジェクト(例えば、1322)が三次元環境(例えば、1304)内の第1のロケーションにあるという判定に従って、個別のロケーションは、第1のロケーションの閾値距離(例えば、0.1、0.2、0.3、0.4、0.5、1メートルなど)内にあるように(例えば、デバイスによって自動的に)選択される(1422)。いくつかの実施形態では、第1のオブジェクト(例えば、1322)が三次元環境(例えば、1304)内の第2のロケーションにあるという判定に従って、個別のロケーションは、第2のロケーションの閾値距離内にあるように(例えば、デバイスによって自動的に)選択される(1424)。いくつかの実施形態では、個別のロケーションは、追加ユーザが第1のオブジェクトの閾値距離内にあるように選択される。いくつかの実施形態では、第1のオブジェクトは、第1のオブジェクトの個別の側から見えるコンテンツを含み、追加ユーザに関連付けられた個別のロケーションは、第1のオブジェクトの個別の側に対応する第1のオブジェクトから離れる方向に位置する。
第1のオブジェクトの閾値距離内にあるように個別のロケーションを選択する上述の方法は、第1のユーザが第1のオブジェクトと相互作用することを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、1人以上のユーザは、三次元環境(例えば、1304)のホストである第1のユーザ(例えば、1314A)を含む(1426)。いくつかの実施形態では、第1のユーザは、三次元環境へのユーザの追加及び三次元環境からのユーザの削除、三次元環境の1つ以上の設定の制御、他のユーザによって三次元環境に追加されたオブジェクト(例えば、アプリケーション、ファイル、コンテンツ)の承認又は拒否等の能力を有する。いくつかの実施形態では、第1のユーザは、三次元環境の表示を開始した。図13Cなどのいくつかの実施形態では、第1のユーザ(例えば、1314A)が三次元環境(例えば、1304)内の第1のロケーションに関連付けられているという判定に従って、個別のロケーションは、第1のロケーションの閾値距離(例えば、0.5、1、2メートルなど)内にあるように(例えば、デバイスによって自動的に)選択される(1428)。いくつかの実施形態では、第1のユーザ(例えば、1314A)が三次元環境(例えば、1304)内の第2のロケーションに関連付けられているという判定に従って、個別のロケーションは、第2のロケーションの閾値距離内にあるように(例えば、デバイスによって自動的に)選択される(1430)。いくつかの実施形態では、個別のロケーションは、追加ユーザが三次元環境のホストの閾値距離内にあるように選択される。いくつかの実施形態では、個別のロケーションは、追加ユーザが三次元環境内の他のユーザ(例えば、そのいずれか)よりもホストに近くなるように選択される。
三次元環境のホストの閾値距離内にあるように個別のロケーションを選択する上述の方法は、追加ユーザと三次元環境のホストとの間の対話を可能にする効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、追加ユーザ(例えば、1314C)の表現を三次元環境(例えば、1304)に追加する前に、1つ以上のオブジェクト(例えば、1306、1308、及び1322)は、1つ以上の第1のロケーションにおける1人以上のユーザ(例えば、1314A及び1314B)の視点から見える(1432)。図13Bなどのいくつかの実施形態では、追加ユーザ(例えば、1314C)の表現を三次元環境(例えば、1304)に追加した後、1つ以上のオブジェクト(例えば、1306、1308、及び1322)は、1つ以上の第1のロケーション(1434)における1人以上のユーザ(例えば、1314A及び1314B)の視点から見える。いくつかの実施形態では、追加ユーザの個別のロケーションは、追加ユーザが、既に三次元環境内にあったユーザ(例えば、そのいずれか)と既に三次元環境内にあった仮想オブジェクト(例えば、そのいずれか)との間にないように選択される。いくつかの実施形態では、追加ユーザの個別のロケーションは、追加ユーザが三次元環境内のユーザ(のいずれか)と任意のコンテンツアイテム(例えば、画像コンテンツ、ビデオコンテンツ)との間にはないが、個別のロケーションは、任意選択的に、三次元環境内の1人以上のユーザとコンテンツアイテム以外の1つ以上のオブジェクト(例えば、アプリケーションの表現、実オブジェクトの表現(例えば、表示生成コンポーネントの透明部分を通して見える電子デバイスの環境内のビデオ又は実オブジェクトを通過する))との間にあるように選択される。
三次元環境内の個別のロケーションに追加ユーザの表現を追加した後に1人以上のユーザの視点から1つ以上のオブジェクトが見えるように個別のロケーションを選択する上述の方法は、1人以上のユーザが1つ以上のオブジェクトと相互作用し続けることを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、1人以上のユーザは、三次元環境内の第1の個別のロケーションに関連付けられた第1のユーザ(例えば、1314A)と、三次元環境内の第2の個別のロケーション(例えば、1304)に関連付けられた第2のユーザ(例えば、1314B)とを含む(1436)。いくつかの実施形態では、電子デバイスは、三次元環境内の第1の個別のロケーションに第1のユーザの表現を表示し、三次元環境内の第2の個別のロケーションに第2のユーザの表現を表示する。いくつかの実施形態では、第1のユーザの電子デバイスは、三次元環境内の第1のロケーションにおける視点から三次元環境を表示する。いくつかの実施形態では、第2のユーザの電子デバイスは、三次元環境内の第2の個別のロケーションにおける視点から三次元環境を表示する。図13Aなどのいくつかの実施形態では、電子デバイス(例えば、101)が追加ユーザの表現(例えば、1314C)を三次元環境(例えば、1304)に追加する(1438)前に、第1のユーザの表現(例えば、1314A)は、三次元環境(例えば、1304)内の第2の個別のロケーションにおいて第2のユーザ(例えば、1314B)の視点から見える(1440)。いくつかの実施形態では、第2のユーザの電子デバイスは、三次元環境の第1の個別のロケーションに第1のユーザの表現を表示する。いくつかの実施形態では、第1のユーザの表現は、第2のユーザの視点から他のユーザ及び/又はオブジェクト(例えば、そのいずれか)によって遮られない。図13Aなどのいくつかの実施形態では、第2のユーザ(例えば、1314B)の表現は、三次元環境(例えば、1304)内の第1の個別のロケーションにおいて、第1のユーザ(例えば、1314A)の視点から可視である(1442)。いくつかの実施形態では、第1のユーザの電子デバイスは、三次元環境内の第2の個別のロケーションに第2のユーザの表現を表示する。いくつかの実施形態では、第2のユーザの表現は、第1のユーザの視点から他のユーザ及び/又はオブジェクト(例えば、そのいずれか)によって遮られない。図13Bなどのいくつかの実施形態では、追加ユーザの表現(例えば、1314C)は、追加ユーザの表現(例えば、1314C)を三次元環境(例えば、1304)に追加した後(1444)、第1のユーザの表現(例えば、1314A)が、図13Bなどの三次元環境内の第2の個別のロケーションで第2のユーザ(例えば、1314B)の視点から見えるように、(例えば、デバイスによって自動的に)選択されたロケーションで三次元環境(例えば、1304)に追加される(1446)。図13Bなどのいくつかの実施形態では、第2のユーザ(例えば、1314B)の表現は、三次元環境(例えば、1304)内の第1の個別のロケーションにおいて、第1のユーザ(例えば、1314A)の視点から可視である(1448)。いくつかの実施形態では、追加ユーザに関連付けられた個別のロケーションは、第1のユーザに関連付けられた第1の個別のロケーションと第2のユーザに関連付けられた第2の個別のロケーションとの間にはないので、三次元環境内の追加ユーザの表現は、第1及び第2のユーザの互いに対する可視性を妨げない。
追加ユーザが三次元環境に追加された後に第1のユーザ及び第2のユーザの表示を維持する上述の方法は、第1のユーザと第2のユーザとの間の継続した対話を可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、1つ以上のオブジェクトは、第1のオブジェクト(例えば、1306)(例えば、アプリケーション、ファイル、コンテンツ、又は別の仮想オブジェクトの表現)を含む(1450)。図13Aなどのいくつかの実施形態では、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーションは、三次元環境(例えば、1304)内の第1のオブジェクト(例えば、1306)の第1の側にある(1452)。いくつかの実施形態では、第1のオブジェクトは、第1のオブジェクトの第1の側からのみ見えるコンテンツを含む。いくつかの実施形態では、第1のオブジェクトは、第1のオブジェクトの2つ以上の側から見えるコンテンツを含む。図13Bなどのいくつかの実施形態では、追加ユーザ(例えば、1314C)に関連付けられた個別のロケーションは、三次元環境(例えば、1304)内の第1のオブジェクト(例えば、1306)の第1の側にある(1454)。いくつかの実施形態では、個別のロケーションは、三次元環境内の1つ以上の仮想オブジェクトの、1人以上のユーザが位置する1つ以上の仮想オブジェクトの側と同じ側にあるように選択される。いくつかの実施形態では、1つ以上の第1のロケーションが第1の側とは異なる第1のオブジェクトの第2の側にあるという判定に従って、電子デバイスは、第1のオブジェクトの第2の側にあるように個別のロケーションを選択する。
1人以上のユーザが第1のオブジェクトの第1の側のロケーションに関連付けられているという判定に従って、第1のオブジェクトの第1の側にある個別のロケーションを選択する上述の方法は、追加ユーザが第1のオブジェクトと対話することを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Cなどのいくつかの実施形態では、三次元環境(例えば、1304)内の個別のロケーションは、複数のユーザ配置基準(1456)の第1のサブセット(例えば、全てではない)を満たす。いくつかの実施形態では、複数のユーザ配置基準は、1人以上のユーザに関連付けられたロケーションに関する1つ以上のユーザ配置基準(例えば、他のユーザの第1の閾値距離と第2の閾値距離との間にある、他のユーザの視点からオブジェクト/ユーザを遮っていない、ホストユーザに近接しているなど)と、三次元環境内の1つ以上のオブジェクトに関連付けられたロケーションに関する1つ以上のユーザ配置基準(例えば、オブジェクトが見えるロケーションにある、他のユーザの視点からオブジェクトを遮っていない、電子デバイスの環境内の1つ以上のオブジェクトに従った意味論的配置など)とを含む。いくつかの実施形態では、個別のロケーションは、複数のユーザ配置基準の第1のサブセットを満たし、ユーザ配置基準の第1のサブセットに含まれないユーザ配置基準のうちの1つ以上を満たさない。いくつかの実施形態では、ユーザ配置基準は、方法1400を参照して本明細書に説明される要因のうちの1つ以上又は全てを含む。図13Cなどのいくつかの実施形態では、三次元環境(例えば、1304)内の第2の個別のロケーションは、複数のユーザ配置基準の第2のサブセット(例えば、全てではない)を満たす(1458)。いくつかの実施形態では、複数のユーザ配置基準は、1人以上のユーザに関連付けられたロケーションに関する1つ以上のユーザ配置基準(例えば、他のユーザの第1の閾値距離と第2の閾値距離との間にある、他のユーザの視点からオブジェクト/ユーザを遮っていない、ホストユーザに近接しているなど)と、三次元環境内の1つ以上のオブジェクトに関連付けられたロケーションに関する1つ以上のユーザ配置基準(例えば、オブジェクトが見えるロケーションにある、他のユーザの視点からオブジェクトを遮っていない、電子デバイスの環境内の1つ以上のオブジェクトに従った意味論的配置など)とを含む。いくつかの実施形態では、第2の個別のロケーションは、複数のユーザ配置基準の第2のサブセットを満たし、ユーザ配置基準の第2のサブセットに含まれないユーザ配置基準のうちの1つ以上を満たさない。図13Cなどのいくつかの実施形態では、追加ユーザ(例えば、1314C)の表現は、複数のユーザ配置基準の第1のサブセットが複数のユーザ配置基準の第2のサブセットよりも優先される(例えば、電子デバイスのユーザ配置アルゴリズムによって好まれる)という判定に従って、第2の個別のロケーションではなく、個別のロケーションに配置される(1460)。いくつかの実施形態では、複数のユーザ配置基準の第1のサブセットは、複数のユーザ配置基準の第2のサブセットよりも優先されるが、なぜなら、ユーザ配置基準の第1のサブセットは、ユーザ配置基準の第2のサブセットよりも多くの基準を含むという理由、ユーザ配置基準の第1のサブセットは、ユーザ配置基準の第2のサブセットにおける基準の全てよりも重要な基準を含む(例えば、基準は重要度によってランク付けされる)という理由、及び/又は、ユーザ配置基準の第1のサブセットは、全体として(例えば、平均して、加重平均によって、満たされた基準の数及び満たされた基準の重要性を重み付けするメトリックによって)、ユーザ配置基準の第2のサブセットよりも重要である(例えば、基準は重要性によってランク付けされる)という理由のためである。いくつかの実施形態では、電子デバイスは、ユーザ配置基準の全てを満たさないロケーションに追加ユーザを配置するが、その理由は、そのロケーションがユーザ配置基準に基づいて(例えば、1つ以上の基準の重要度ランキング、満たされた基準の数などに基づいて)最良の利用可能なロケーションだからである。いくつかの実施形態では、複数のユーザ配置基準の第2のサブセットが複数のユーザ配置基準の第1のサブセットよりも好まれるという判定に従って、電子デバイスは、追加ユーザの表現を、三次元環境内の個別のロケーションではなく、第2の個別のロケーションに配置する。
複数のユーザ配置基準の第1のサブセットが複数のユーザ配置基準の第2のサブセットよりも好まれるという判定に従って追加ユーザの表現を個別のロケーションに配置する上述の方法は、ユーザ配置基準の全てを満たす利用可能なポジションがない場合であっても、追加ユーザが三次元環境に加わることを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用時の誤りを低減する。
図13Bなどのいくつかの実施形態では、三次元環境(例えば、1304)を表示している間に、電子デバイス(例えば、101)は、第2の追加ユーザ(例えば、1314D)を三次元環境(例えば、1304)に追加する要求に対応する入力を検出する(1462)。いくつかの実施形態では、入力は、第2の追加ユーザが三次元環境にアクセスすることを可能にするために、電子デバイスから第2の追加ユーザの電子デバイスにインジケーションを送信する要求に対応する入力である。いくつかの実施形態では、入力は、第2の追加ユーザから三次元環境へのアクセスの要求を受け入れる入力である。図13Cなどのいくつかの実施形態では、第2の追加ユーザ(例えば、1314D)を三次元環境(例えば、1304)に追加する要求(1464)に対応する入力を検出したことに応じて、1つ以上の基準が満たされるという判定に従って、電子デバイス(例えば、101)は、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーション(例えば、追加ユーザに関連付けられた個別のロケーション)及び1つ以上の第2のロケーションにおける1つ以上のオブジェクト(例えば、1306、1308、及び1322)に基づく三次元環境(例えば、1304)内の第2の個別のロケーションにおける第2の追加ユーザ(例えば、1314D)の表現を含むように三次元環境(例えば、1304)を更新する(1466)。いくつかの実施形態では、第2の個別のロケーションは、1人以上のユーザ(追加ユーザを含む)に関連付けられたロケーション及び1つ以上のオブジェクトに関連付けられたロケーションに関する1つ以上の配置基準に従って選択される。いくつかの実施形態では、1つ以上の基準は、1人以上のユーザに関連付けられたロケーション(例えば、他のユーザの第1の閾値距離と第2の閾値距離との間にある、他のユーザの視点からオブジェクト/ユーザを遮っていない、ホストユーザに近接しているなど)及び1つ以上のオブジェクトに関連付けられたロケーション(例えば、オブジェクトが見えるロケーションにある、他のユーザの視点からオブジェクトを遮っていない、電子デバイスの環境内の1つ以上のオブジェクトによる意味論的配置など)に関する1つ以上の配置基準を満たす三次元環境内の1つ以上のロケーションがある場合に満たされる。いくつかの実施形態では、第2の追加ユーザ(例えば、1314D)を三次元環境(例えば、1304)に追加する要求に対応する入力を検出したことに応じて(1464)、1つ以上の基準が満たされないという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、1304)内の所定のロケーションに第2の追加ユーザ(例えば、1314D)の表現を含むように三次元環境(例えば、1304)を更新する(1468)。いくつかの実施形態では、三次元環境内に1つ以上の配置基準を満たすロケーションが存在しない場合、電子デバイスは、三次元環境内の所定のロケーションを、第2の追加ユーザの表現を表示する第2の個別のロケーションとして選択する。いくつかの実施形態では、所定のロケーションは、配置基準のうちの1つ以上を満たさない。いくつかの実施形態では、所定のロケーションは、固定されたロケーション(例えば、三次元環境内の座標の個別のセット)である。いくつかの実施形態では、所定のロケーションは、三次元環境内の個別のロケーションに対して固定された向きを有する。例えば、所定のロケーションは、任意選択的に、直近に三次元環境に参加したユーザ及び/又は三次元環境のホストの左又は右のロケーションである。
1つ以上の基準が満たされないという判定に従って、三次元環境内の所定のロケーションに第2の追加ユーザの表現を含むように三次元環境を更新する上述の方法は、1つ以上の基準が満たされない場合であっても、第2の追加ユーザが三次元環境に参加することを可能にする効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、ユーザが参加することを可能にするための全ての基準を満たすために必要な入力を低減することによって)、使用の誤りを低減しながら、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する。
図13Bなどのいくつかの実施形態では、1つ以上のオブジェクトは、第1のオブジェクト(例えば、1306)を含む(1470)。いくつかの実施形態では、アプリケーション、ファイル、コンテンツのアイテムの表現などの仮想オブジェクト、若しくは他の仮想オブジェクト、又は電子デバイスの物理的環境内のオブジェクト(例えば、「パススルー」オブジェクト)のフォトリアリスティックな表現などの実オブジェクト、又は表示生成コンポーネントの透明部分を通して見える電子デバイスの物理的環境内の実オブジェクト。図13Bなどのいくつかの実施形態では、1人以上のユーザは、第1のユーザ(例えば、1314A)を含む(1472)。図13Bなどのいくつかの実施形態では、追加ユーザ(例えば、1314D)の表現を三次元環境(例えば、1304)に追加する前に、第1のオブジェクト(例えば、1306)の第1の部分は、三次元環境(例えば、1304)内の第1のユーザ(例えば、1314A)の視点に対して第1の向きを有する(1474)。いくつかの実施形態では、第1のオブジェクトの底面は、三次元環境の床又は底部と位置合わせされ、第1のユーザの電子デバイスによって第1のオブジェクトの残りの部分の下に表示される。いくつかの実施形態では、図13Cのように、追加ユーザ(例えば、1314D)の表現を三次元環境(例えば、1304)に追加した後、第1のオブジェクト(例えば、1306)の第1の部分は、三次元環境(例えば、1304)において、第1のユーザ(例えば、1314A)の視点に対して、及び追加ユーザ(例えば、1314D)の視点に対して、第1の向きを有する(1476)。いくつかの実施形態では、追加ユーザのロケーション及び/又は向きは、追加ユーザの視点からの水平線が1人以上の他のユーザの水平線と位置合わせされるように選択される。いくつかの実施形態では、三次元環境の水平線は、三次元環境内の複数の(例えば、全ての)ユーザについて同じである。いくつかの実施形態では、複数の(例えば、全ての)ユーザは、平坦な表面を、それらの視野に対して同じ向きを有するものとして見る。例えば、三次元環境の床は、平坦であるように見え、三次元環境の壁は、複数の(例えば、全ての)ユーザに対して床に垂直であるように見える。いくつかの実施形態では、第1のオブジェクトの底面は、三次元環境の床又は底部と位置合わせされ、追加ユーザの電子デバイスによって第1のオブジェクトの残りの部分の下に表示される。
第1のユーザ及び追加ユーザの両方の視点から第1の向きを有する第1のオブジェクトの第1の部分を表示する上述の方法は、三次元環境内の全てのユーザの共有座標に従って三次元環境を位置合わせする効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Bなどのいくつかの実施形態では、追加ユーザ(例えば、1314C)に関連付けられた個別のロケーションは、1人以上のユーザ(例えば、1314A及び1314B)に関連付けられた1つ以上の第1のロケーションから閾値距離(例えば、0.1、0.2、0.3、0.4、0.5、1メートルなど)を超えるように(例えば、デバイスによって自動的に)選択される(1478)。いくつかの実施形態では、三次元環境は、電子デバイスが新たに追加されたユーザの表現を表示しない、1つ以上の第1のロケーションに関連付けられた1つ以上の領域を含む。いくつかの実施形態では、1つ以上の第1の領域の境界は、1つ以上の第1のロケーションからの閾値距離である。いくつかの実施形態では、1つ以上の第1の領域の境界は、追加ユーザが1人以上の(例えば、任意の)他のユーザの視線内に配置されないように、三次元環境内の1人以上の(例えば、全ての)他のユーザの向きに依存する。いくつかの実施形態では、1つ以上の第1の領域は、他のユーザの視点の向きとは無関係に選択される。例えば、電子デバイスは、新しいユーザを、三次元環境内の他のユーザと向かい合うように、又は他のユーザに非常に近くなるように配置しない。別の例として、各ユーザは、新しいユーザが電子デバイスによって配置されない「パーソナルスペース」半径(例えば、0.1、0.2、0.3、0.4、0.5、1メートルなど)を有する。
1人以上のユーザに関連付けられた1つ以上の第1のロケーションから少なくとも閾値距離だけ離れるように個別のロケーションを選択する上述の方法は、追加ユーザが三次元環境に追加されたときに追加ユーザによって妨害されることなく1人以上のユーザが三次元環境と相互作用し続けることを可能にする効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって(例えば、追加ユーザが第1のユーザの閾値距離内に配置された場合に追加ユーザから離れるのに必要な時間及び入力を低減することによって)、電力使用量を低減し、電子デバイスのバッテリ寿命を改善する一方で、使用の誤りを低減する。
図13Aなどのいくつかの実施形態では、電子デバイス(例えば、101a)は、1人以上のユーザのうちの第1のユーザ(例えば、1314A)に関連付けられる(1480)。いくつかの実施形態では、電子デバイスは、第1のユーザの電子デバイスであり、三次元環境内で第1のユーザの視点から三次元環境を提示する。いくつかの実施形態では、電子デバイス(例えば、101a)は、1つ以上の入力デバイスを介して、三次元環境(例えば、1304)内で第1のユーザ(例えば、1314A)を移動させる要求に対応する個別の入力を受信する(1482)。いくつかの実施形態では、電子デバイスは、1つ以上のジャイロスコープ、加速度計、距離センサ、カメラなどを介して、電子デバイスの物理的環境内のあるロケーションから電子デバイスの物理的環境内の別のロケーションへの電子デバイスの動きを検出する。いくつかの実施形態では、三次元環境(例えば、1304)内で第1のユーザ(例えば、1314A)を移動させる要求に対応する個別の入力を受信したことに応じて(1484)、電子デバイス(例えば、101)は、個別の入力に従って三次元環境(例えば、1304)内で第1のユーザ(例えば、1314A)を移動させる(1486)。いくつかの実施形態では、電子デバイスは、入力に関連付けられた方向に対応する方向、及び入力に関連付けられた距離に対応する距離に、三次元環境内で第1のユーザの表現を移動させる。いくつかの実施形態では、三次元環境(例えば、1304)内で第1のユーザ(例えば、1314A)を移動させる要求に対応する個別の入力を受信したことに応じて(1484)、第1のユーザ(例えば、1314A)が三次元環境(例えば、1304)内の1人以上のユーザの他のユーザ(例えば、1314B)からの閾値(例えば、5、10、15、20メートルなど)距離よりも遠く、三次元環境(例えば、1304)内の1つ以上のオブジェクト(例えば、1306、1308、及び1322)からの閾値距離よりも遠いロケーションに移動したという判定に従って、電子デバイス(例えば、101)は、表示生成コンポーネント120を介して、1人以上のユーザの他のユーザ(例えば、1314B)に関連付けられた1つ以上のロケーションと、1つ以上の第2のロケーションにある1つ以上のオブジェクト(例えば、1306、1308、及び1322)とに基づいて、第1のユーザ(例えば、1314A)を三次元環境(例えば、1304)内のロケーションに移動させるプロセスを開始するために選択可能な個別の選択可能オプションを表示する(1488)。いくつかの実施形態では、選択可能オプションの選択を検出したことに応じて、電子デバイスは、1人以上のユーザのうちの他のユーザに関連付けられた1つ以上のロケーション(例えば、他のユーザの第1の閾値距離と第2の閾値距離との間にある、他のユーザの視点からオブジェクト/ユーザを遮らない、ホストユーザに近接しているなど)、及び1つ以上の第2のロケーションにある1つ以上のオブジェクト(例えば、オブジェクトが見えるロケーションにある、他のユーザの視点からオブジェクトを遮らない、電子デバイスの環境内の1つ以上のオブジェクトに従った意味論的配置など)に基づいて、三次元環境内のロケーションにおける視点から三次元環境を表示する。いくつかの実施形態では、電子デバイスは、追加ユーザの表現を表示する個別のロケーションを電子デバイスが選択するのと同じ基準に基づいてロケーションを選択する。いくつかの実施形態では、三次元環境内の他のユーザ(単数又は複数)の電子デバイス(単数又は複数)は、個別の入力に応じて、1人以上のユーザのうちの他のユーザに関連付けられた1つ以上のロケーション及び第2のロケーションにおける1つ以上のオブジェクトに基づいて、三次元環境内のロケーションにおける第1のユーザの表現を表示する。いくつかの実施形態では、第1のユーザが他のユーザから閾値(例えば、5、10、15、20メートルなど)距離よりも遠いがオブジェクトから閾値距離以下のロケーションに移動したという判定に従って、電子デバイスは個別の選択可能オプションを表示する。いくつかの実施形態では、第1のユーザがオブジェクトから閾値(例えば、5、10、15、20メートルなど)距離よりも遠いが他のユーザから閾値距離以下のロケーションに移動したという判定に従って、電子デバイスは個別の選択可能オプションを表示する。いくつかの実施形態では、電子デバイスは、ユーザが三次元環境内のオブジェクト及び/又はユーザから閾値(例えば、5、10、15、20メートルなど)距離だけ離れたという判定に従って、三次元環境内のユーザのポジションをリセットするための個別の選択可能オプションを表示する。
第1のユーザが他のユーザ及び1つ以上のオブジェクトから閾値距離よりも遠いロケーションに移動したという判定に従って第1のユーザを移動させるプロセスを開始するために選択可能である個別の選択可能オプションを表示する上述の方法は、三次元環境内の他のユーザ及び/又はオブジェクトに対してユーザを自動的に再配置及び/又は配向する効率的な方法を提供し、これは更に、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
図11Aなどのいくつかの実施形態では、三次元環境(例えば、1104)が、ユーザの表現を含むことができる個別のオブジェクト(例えば、1128)に沿った複数のポジションを有する個別のオブジェクト(例えば、1128)(例えば、電子デバイスの物理的環境内のオブジェクト)を含むという判定に従って(1490)、1つ以上の第1の基準が満たされるという判定に従って、追加ユーザに関連付けられた個別のロケーションは、個別のオブジェクト(例えば、1128)に沿った複数のポジションのうちの第1のポジションである(1492)。いくつかの実施形態では、例えば、電子デバイスがソファに座っているユーザのアバターを表示することができるので、ソファはユーザの表現を含むことができる。いくつかの実施形態では、電子デバイスは、電子デバイスの環境内の物理オブジェクトのフォトリアリスティックな表現を表示する。いくつかの実施形態では、電子デバイスの環境内の物理オブジェクトは、表示生成コンポーネントの透明部分を通して見ることができる。いくつかの実施形態では、個別のオブジェクトは家具である。いくつかの実施形態では、個別のオブジェクトは、家具以外の電子デバイスの物理的環境内の物理オブジェクトである。いくつかの実施形態では、例えば、電子デバイスのユーザが隣に空いた空間を有するソファに座っている場合、電子デバイスは、ユーザの隣の空間を個別のロケーションとして選択し、追加ユーザが三次元環境内で電子デバイスのユーザと共にソファに座っているように見えるようにする。いくつかの実施形態では、1つ以上の第2の基準が満たされているという判定に従って、追加ユーザに関連付けられた個別のロケーションは、図11Aのように、個別のオブジェクト(例えば、1128)に沿った複数のポジションのうちの、第1のポジションとは異なる第2のポジションである(1494)。いくつかの実施例では、電子デバイスは、電子デバイスの物理的環境内の物理オブジェクト(例えば、家具のアイテム、他のアイテム)に対応するロケーションに追加ユーザを配置する。例えば、電子デバイスは、電子デバイスのユーザの隣のテーブルに別の追加ユーザを配置する前に、電子デバイスのユーザからテーブルを横切って追加ユーザを配置する。この例では、別の追加ユーザが三次元環境に加わると、電子デバイスは、電子デバイスのユーザの隣のテーブルに他の追加ユーザの表現を表示し、テーブルの別の側に更なる追加ユーザを交互に表示する(例えば、電子デバイスのユーザの向かい側に次のユーザを表示し、次に電子デバイスのユーザと同じテーブルの側に別のユーザを表示する、など)。別の例として、第1の他のユーザのアバターがソファ上のユーザの隣の座席に表示される場合、電子デバイスは、第2の他のユーザのアバターをソファ上の次の利用可能な座席に配置する。別の例として、電子デバイスの環境内にテーブルがあり、テーブルの周りに座っているユーザが表示されていない場合、電子デバイスは、テーブルに座っている追加ユーザに対応するロケーション以外のロケーションに追加ユーザを配置する。いくつかの実施形態では、電子デバイスの物理的環境が、人が一般的にその上又は周囲に座る及び/又は立つオブジェクト(例えば、家具又は非家具)を含むとの判定に従って、電子デバイスは、オブジェクト上又は周囲にユーザの表現を表示する。個別のオブジェクトに沿った複数のポジションから個別のロケーションを選択する上述の方法は、三次元環境内で他のユーザと容易に対話することができるロケーションに追加ユーザを配置する効率的な方法を提供し、これは、ユーザが電子デバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を更に低減し、電子デバイスのバッテリ寿命を改善し、同時に使用の誤りを低減する。
いくつかの実施形態では、方法800、1000、1200、及び1400の態様/動作は、これらの方法の間で交換、置換、及び/又は追加され得る。簡潔にするために、それらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。