(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-25
(45)【発行日】2025-07-03
(54)【発明の名称】仮想環境内で仮想オブジェクトを提示するためのデバイス、方法、及びグラフィカルユーザインタフェース
(51)【国際特許分類】
G06F 3/04815 20220101AFI20250626BHJP
G06F 3/01 20060101ALI20250626BHJP
G06T 19/00 20110101ALN20250626BHJP
【FI】
G06F3/04815
G06F3/01 510
G06T19/00 A
G06T19/00 600
(21)【出願番号】P 2024518499
(86)(22)【出願日】2022-09-16
(86)【国際出願番号】 US2022076603
(87)【国際公開番号】W WO2023049670
(87)【国際公開日】2023-03-30
【審査請求日】2024-06-14
(32)【優先日】2021-09-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】マッケンジー, クリストファー, ディー.
(72)【発明者】
【氏名】ギッター, ネイサン
(72)【発明者】
【氏名】パランジェ, アレクシ, エイチ.
(72)【発明者】
【氏名】チウ, シー-サン
(72)【発明者】
【氏名】ベーゼル, ベンジャミン, エイチ.
(72)【発明者】
【氏名】バウアリー, クリスティ, イー.
(72)【発明者】
【氏名】ダーガン, ドリアン ディー.
(72)【発明者】
【氏名】テイラー, ゾーイ シー.
(72)【発明者】
【氏名】ラヴァシュ, ジョナサン
(72)【発明者】
【氏名】スミス, コナー エー.
(72)【発明者】
【氏名】グレチキン, ティモフェイ
【審査官】九鬼 一慶
(56)【参考文献】
【文献】国際公開第2020/066682(WO,A1)
【文献】国際公開第2020/179027(WO,A1)
【文献】米国特許出願公開第2021/0295602(US,A1)
【文献】特表2014-514653(JP,A)
【文献】中国特許出願公開第110413171(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/04815
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
表示生成コンポーネント及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成コンポーネントを介して、前記電子デバイスのユーザの現在の視点に対する第1の空間配置を有する複数の仮想オブジェクトを含む三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、第1の視点から第2の視点への前記三次元環境における前記ユーザの前記現在の視点の移動を検出することと、
前記第1の視点から前記第2の視点への前記ユーザの前記現在の視点の移動に対応する前記移動を検出したことに応じて、前記表示生成コンポーネントを介して、前記ユーザの前記現在の視点に対して、前記第1の空間配置とは異なる第2の空間配置を有する前記複数の仮想オブジェクトを含む前記第2の視点からの前記三次元環境を表示することと、
前記ユーザの前記現在の視点に対する前記第2の空間配置を有する前記複数の仮想オブジェクトを含む前記第2の視点からの前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記ユーザの前記現在の視点に対する仮想オブジェクトの距離の範囲又は向きの範囲を指定する1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力を受信することと、
前記三次元環境を更新するための前記要求に対応する前記入力に応じて、前記表示生成コンポーネントを介して、前記ユーザの前記視点に対して、前記第2の空間配置とは異なる第3の空間配置であって、前記複数の仮想オブジェクトの前記第3の空間配置が前記1つ以上の基準を満たす、第3の空間配置を有する前記複数の仮想オブジェクトを表示することを含む前記第2の視点からの前記三次元環境を表示することと、を含む方法。
【請求項2】
前記複数の仮想オブジェクトの前記空間配置を更新するための前記要求に対応する前記入力を受信することは、前記1つ以上の入力デバイスのうちのハードウェア入力デバイスを介して前記入力を受信することを含む、請求項1に記載の方法。
【請求項3】
前記複数の仮想オブジェクトの前記空間配置を更新するための前記要求に対応する前記入力は1つ以上の第1の入力基準を満たし、前記方法は、
前記ハードウェア入力デバイスを介して、第2の入力を受信することと、
前記第2の入力を受信したことに応じて、
前記第2の入力が前記1つ以上の第1の入力基準とは異なる1つ以上の第2の入力基準を満たすという判定に従って、前記複数の仮想オブジェクトの前記空間配置を更新することなく、前記第2の入力に対応する個別の動作を実行することと、を更に含む、請求項2に記載の方法。
【請求項4】
前記複数の仮想オブジェクトの前記空間配置を更新する前記要求に対応する前記入力を受信することは、前記表示生成コンポーネントを介して前記三次元環境内に表示されたユーザインタフェース要素の選択を検出することを含む、請求項
1に記載の方法。
【請求項5】
前記第2の空間配置を有する前記複数の仮想オブジェクトを表示することは、前記表示生成コンポーネントを介して、前記複数の仮想オブジェクトを前記三次元環境内の第1のポジションに表示することを含み、前記方法は、
前記入力を受信したことに応じて、前記複数の仮想オブジェクトを前記三次元環境内で前記第1のポジションから第2のポジションに移動させることを更に含む、請求項
1に記載の方法。
【請求項6】
前記表示生成コンポーネントを介して、前記三次元環境内の第1のポジションに前記複数の仮想オブジェクトであって、前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置が前記1つ以上の基準を満たす第1の個別の空間配置である、前記複数の仮想オブジェクトのうちの個別の仮想オブジェクトを含む、前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記個別の仮想オブジェクトのポジションを更新するための要求に対応する入力を受信することと、
前記三次元環境における前記個別の仮想オブジェクトの前記ポジションを更新するための前記要求に対応する前記入力を受信したことに応じて、前記表示生成コンポーネントを介して、前記1つ以上の基準を満たさない第2の個別の空間配置を有する前記複数の仮想オブジェクトを表示することであって、前記三次元環境における前記第1のポジションとは異なる第2のポジションに前記個別の仮想オブジェクトを表示することを含む、ことと、
前記三次元環境内の前記第2のポジションに前記個別の仮想オブジェクトを表示することを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記複数の仮想オブジェクト内の1つ以上の他の仮想オブジェクトのポジションを更新することなく、前記1つ以上の基準を満たすように前記個別の仮想オブジェクトの前記ポジションを更新することと、を更に含む、請求項
1に記載の方法。
【請求項7】
前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することは、
前記三次元環境が第1の空間テンプレートに関連付けられているという判定に従って、前記表示生成コンポーネントを介して、前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することであって、前記表示生成コンポーネントを介して、前記第1の空間テンプレートに関連付けられた1つ以上の基準を満たす前記ユーザの前記現在の視点に対する向きで前記複数の仮想オブジェクトのうちの個別の仮想オブジェクトを表示することを含む、ことと、
前記三次元環境が第2の空間テンプレートに関連付けられているとの判定に従って、前記表示生成コンポーネントを介して、前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することであって、前記表示生成コンポーネントを介して、前記第2の空間テンプレートに関連付けられた1つ以上の基準を満たす前記ユーザの前記現在の視点に対する向きで前記複数の仮想オブジェクトの前記個別のオブジェクトを表示することを含む、ことと、を含む、請求項
1に記載の方法。
【請求項8】
前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することは、
前記三次元環境が共有コンテンツ空間テンプレートに関連付けられているという判定に従って、前記表示生成コンポーネントを介して、前記複数の仮想オブジェクトのうちの前記個別のオブジェクトを、前記個別のオブジェクトの個別の面を前記三次元環境内の前記ユーザの前記視点及び第2のユーザの第2の視点に向けた姿勢で表示することを含む、請求項7に記載の方法。
【請求項9】
前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することは、
前記三次元環境が共有活動空間テンプレートに関連付けられているという判定に従って、前記表示生成コンポーネントを介して、前記複数の仮想オブジェクトのうちの前記個別のオブジェクトを、前記個別のオブジェクトの第1の側を前記ユーザの前記視点に向け、且つ、前記個別のオブジェクトの、前記第1の側とは異なる第2の側を第2のユーザの第2の視点に向ける姿勢で表示することを含む、請求項
7に記載の方法。
【請求項10】
前記第3の空間配置を有する前記複数の仮想オブジェクトを表示することは、
前記三次元環境がグループ活動空間テンプレートに関連付けられているとの判定に従って、前記表示生成コンポーネントを介して、前記電子デバイスの前記ユーザの前記現在の視点に向けられた姿勢で第2のユーザの表現を表示することを含む、請求項
7に記載の方法。
【請求項11】
前記表示生成コンポーネントを介して、前記三次元環境内の第2の視点に関連付けられた第2のユーザを含む前記三次元環境を表示している間に、前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置が、前記1つ以上の基準を満たす第1の個別の空間配置であり、前記三次元環境内の前記第2のユーザの前記第2の視点の第1の個別の視点から第2の個別の視点への移動のインジケーションを検出することと、
前記第2の個別の視点における前記第2のユーザの前記第2の視点を有する前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記第2のユーザの前記第2の個別の視点に従って前記複数の仮想オブジェクトの前記空間配置を、前記1つ以上の基準を満たす第2の個別の空間配置に更新することと、を更に含む、請求項
1に記載の方法。
【請求項12】
前記表示生成コンポーネントを介して、前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置が前記1つ以上の基準を満たす第1の個別の空間配置である、前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記複数の仮想オブジェクトの1つ以上のポジションを更新するための要求に対応する1つ以上の入力のシーケンスを受信することと、
前記1つ以上の入力のシーケンスを受信したことに応じて、前記表示生成コンポーネントを介して、前記1つ以上の基準を満たさない第2の個別の空間配置で、前記1つ以上の入力のシーケンスに従って、前記三次元環境内のそれぞれのポジションに前記複数の仮想オブジェクトを表示することと、
前記三次元環境内の前記それぞれのポジションに前記複数の仮想オブジェクトを表示することを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記三次元環境内の前記複数の仮想オブジェクトの前記それぞれのポジションに従って、前記複数の仮想オブジェクトの前記それぞれのポジションを、前記1つ以上の基準を満たす第3の個別の空間配置に更新することと、を更に含む、請求項
1に記載の方法。
【請求項13】
前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置が前記1つ以上の基準を満たす第1の個別の空間配置である、前記三次元環境を、前記表示生成コンポーネントを介して表示している間に、前記三次元環境内の前記複数の仮想オブジェクトの1つ以上のポジションを更新するための、前記三次元環境における第2のユーザによる要求の1つ以上のインジケーションを検出することと、
前記1つ以上のインジケーションを検出したことに応じて、前記表示生成コンポーネントを介して、前記1つ以上の基準を満たさない第2の個別の空間配置で、前記1つ以上の
インジケーションに従って前記三次元環境内のそれぞれのポジションに前記複数の仮想オブジェクトを表示することと、
前記三次元環境内の前記それぞれのポジションに前記複数の仮想オブジェクトを表示することを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記三次元環境内の前記複数の仮想オブジェクトの前記それぞれのポジションに従って、前記複数の仮想オブジェクトの前記それぞれのポジションを、前記1つ以上の基準を満たす第3の個別の空間配置に更新することと、を更に含む、請求項
1に記載の方法。
【請求項14】
前記複数の仮想オブジェクトの前記空間配置が前記1つ以上の基準を満たさない間に、
前記複数の仮想オブジェクトの前記空間配置を更新するための前記要求に対応する前記入力が受信されていないという判定に従って、前記複数の仮想オブジェクトの前記空間配置を更新するための前記要求に対応する前記入力が受信されるまで、前記複数の仮想オブジェクトの前記空間配置を維持することを更に含む、請求項
1に記載の方法。
【請求項15】
前記ユーザの前記現在の視点から既定の閾値距離を超えるロケーションに前記複数の仮想オブジェクトのうちの第1の仮想オブジェクトを表示することを含む、前記三次元環境内の前記複数の仮想オブジェクトを表示することと、
前記複数の仮想オブジェクトのうちの前記第1の仮想オブジェクトを前記ユーザの前記現在の視点から前記既定の閾値距離を超える前記ロケーションに表示することを含む、前記複数の仮想オブジェクトが前記三次元環境に表示されている間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記ユーザの前記視点を、前記第1の仮想オブジェクトの前記既定の閾値距離内にある個別の視点であって、前記個別の視点に対する前記複数の仮想オブジェクトの前記空間配置が前記1つ以上の基準を満たす、個別の視点に更新することと、を更に含む、請求項
1に記載の方法。
【請求項16】
前記表示生成コンポーネントを介して、前記複数の仮想オブジェクトのうちの第1の仮想オブジェクトと前記複数の仮想オブジェクトのうちの第2の仮想オブジェクトとの間に第1の間隔であって、前記第1の間隔が前記1つ以上の基準のうちの1つ以上の間隔基準を満たさない、第1の間隔を有する前記複数の仮想オブジェクトを表示することと、
前記第1の仮想オブジェクトと前記第2の仮想オブジェクトとの間に前記第1の間隔を有する前記複数の仮想オブジェクトを表示している間に、前記1つ以上の入力デバイスを介して、前記1つ以上の基準を満たすように前記ユーザの前記現在の視点に対する前記複数の仮想オブジェクトの前記空間配置を更新するための要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記表示生成コンポーネントを介して、前記第1の仮想オブジェクトと前記第2の仮想オブジェクトとの間に第2の間隔であって、前記第2の間隔が前記1つ以上の間隔基準を満たす、第2の間隔を有する前記複数の仮想オブジェクトを表示することと、を更に含む、請求項
1に記載の方法。
【請求項17】
前記第1の視点から前記第2の視点への前記三次元環境における前記ユーザの前記現在の視点の前記移動を検出することは、前記1つ以上の入力デバイスを介して、前記電子デバイスの物理的環境内の前記電子デバイスの移動、又は前記表示生成コンポーネントの物理的環境内の前記表示生成コンポーネントの移動を検出することを含む、請求項
1に記載の方法。
【請求項18】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムであって、前記1つ以上のプログラムが、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムが、請求項1から17のいずれか一項に記載の方法を実行する命令を含む、1つ以上のプログラムと、を備える、電子デバイス。
【請求項19】
命令を含む1つ以上のプログラムであって
、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項1から17のいずれか一項に記載の方法を実行させる、1つ以上のプログラム。
【発明の詳細な説明】
【関連出願へのクロスリファレンス】
【0001】
関連出願の相互参照
本出願は、2021年9月25日に出願された米国特許仮出願第63/261,667号の利益を主張し、その出願の内容は、その全体があらゆる目的のために参照により本明細書に組み込まれる。
【技術分野】
【0002】
これは、一般に、表示生成コンポーネントと、仮想環境内で、表示生成コンポーネントを介して、グラフィカルユーザインタフェースを提示する電子デバイスを含むがこれに限定されないグラフィカルユーザインタフェースを提示する1つ以上の入力デバイスとを有する、コンピュータシステムに関する。
【背景技術】
【0003】
拡張現実のためのコンピュータシステムの開発は、近年顕著に進んでいる。例示的な拡張現実環境は、物理的世界を置換又は強化する少なくともいくつかの仮想要素を含む。コンピュータシステム及び他の電子コンピューティングデバイス用のカメラ、コントローラ、ジョイスティック、タッチ感知面、及びタッチスクリーンディスプレイなどの入力デバイスが、仮想/拡張現実環境と相互作用するために使用される。例示的な仮想要素は、デジタル画像、ビデオ、テキスト、アイコン、並びにボタン及びその他のグラフィックなどの制御要素を含む仮想オブジェクトを含む。
【発明の概要】
【0004】
少なくともいくつかの仮想要素を含む環境(例えばアプリケーション、拡張現実環境、複合現実環境、及び仮想現実環境)と相互作用するいくつかの方法及びインタフェースは、煩雑で、非効率で、限定されたものである。例えば、仮想オブジェクトに関連付けられたアクションを実行するのに不十分なフィードバックしか提供しないシステム、拡張現実環境において所望の結果を達成するために一連の入力を必要とするシステム、及び仮想オブジェクトの操作が複雑で、エラーを起こしやすいシステムは、ユーザに対して大きな認知負担を引き起こしし、仮想/拡張現実環境での体験を損なう。加えて、それらの方法は必要以上に時間がかかり、それによってエネルギを浪費する。この後者の考慮事項は、バッテリ動作式デバイスにおいて特に重要である。
【0005】
したがって、コンピュータシステムとの相互作用をユーザにとってより効率的且つ直感的にするコンピュータ生成体験をユーザに提供するための改善された方法及びインタフェースを有するコンピュータシステムが必要とされている。このような方法及びインタフェースは、ユーザに拡張現実体験を提供する従来の方法を任意選択で補完又は置換することができる。このような方法及びインタフェースは、提供された入力とその入力に対するデバイス応答との間の接続をユーザが理解することを補助することにより、ユーザからの入力の数、程度及び/又は種類を低減し、それによって、より効率的なヒューマンマシンインタフェースを生成する。
【0006】
コンピュータシステムのユーザインタフェースに関連付けられた上記の欠点及び他の問題は、開示されるシステムによって低減又は解消される。いくつかの実施形態では、コンピュータシステムは、関連付けられたディスプレイを備えたデスクトップコンピュータである。いくつかの実施形態では、コンピュータシステムは、ポータブルデバイスである(例えばノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイスである)。いくつかの実施形態では、コンピュータシステムは、パーソナル電子デバイス(例えば腕時計やヘッドマウントデバイスなどのウェアラブル電子デバイス)である。いくつかの実施形態では、コンピュータシステムは、タッチパッドを有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のカメラを有する。いくつかの実施形態では、コンピュータシステムは、タッチ感知ディスプレイ(「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる)を有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のアイトラッキングコンポーネントを有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のハンドトラッキングコンポーネントを有する。いくつかの実施形態では、コンピュータシステムは、表示生成コンポーネントに加えて1つ以上の出力デバイスを有し、出力デバイスは、1つ以上の触知出力ジェネレータ及び/又は1つ以上のオーディオ出力デバイスを含む。いくつかの実施形態では、コンピュータシステムは、グラフィカルユーザインタフェース(GUI)、1つ以上のプロセッサ、メモリ、及び複数の機能を実行するためのメモリに記憶された1つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは、タッチ感知面上のスタイラス及び/又は指の接触及びジェスチャ、カメラ及び他の移動センサによってキャプチャされたときのGUI(及び/又はコンピュータシステム)又はユーザの身体に対する空間内のユーザの目及び手の移動、並びに1つ以上のオーディオ入力デバイスによってキャプチャされたときの音声入力を通じてGUIと相互作用する。いくつかの実施形態では、相互作用を通じて実行される機能は、任意選択的に、画像編集、描画、プレゼンティング、ワードプロセッシング、スプレッドシートの作成、ゲームプレイ、電話をかけること、ビデオ会議、電子メール送信、インスタントメッセージング、トレーニングサポート、デジタル写真撮影、デジタルビデオ撮影、ウェブブラウジング、デジタル音楽の再生、メモ取り、及び/又はデジタルビデオの再生を含む。それらの機能を実行する実行可能命令は任意選択で、一時的コンピュータ可読記憶媒体及び/又は非一時的コンピュータ可読記憶媒体、あるいは1つ以上のプロセッサによって実行されるように構成された他のコンピュータプログラム製品に含まれる。
【0007】
ユーザインタフェースをナビゲートするための改善された方法及びインタフェースを有する電子デバイスが必要とされている。そのような方法及びインタフェースは、グラフィカルユーザインタフェースと相互作用するための従来の方法を補完又は置換することができる。そのような方法及びインタフェースは、ユーザからの入力の数、程度、及び/又は種類を削減し、より効率的なヒューマンマシンインタフェースを生成する。バッテリ動作式コンピューティングデバイスの場合、そのような方法及びインタフェースは、電力を節約し、バッテリ充電の間隔を長くする。
【0008】
いくつかの実施形態では、電子デバイスは、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する。いくつかの実施形態では、電子デバイスは、複数の仮想オブジェクトのポジションを一緒に更新する。いくつかの実施形態では、電子デバイスは、三次元環境内のフロアの推定されたロケーションに基づいて三次元環境内のオブジェクトを表示する。いくつかの実施形態では、電子デバイスは、三次元環境内でオブジェクトを移動させる(例えば、再位置決めする)。
【0009】
前述の様々な実施形態は、本明細書に記載の任意の他の実施形態と組み合わせることができることに留意されたい。本明細書で説明する特徴及び利点は、包括的なものではなく、特に、図面、明細書及び特許請求の範囲を鑑みると、多くの追加の特徴及び利点が当業者には明らかになるであろう。更に、本明細書において使用される文言は、専ら読みやすさ及び説明の目的で選択されたものであり、本発明の主題を画定又は制限するために選択されたものではないことに留意されたい。
【図面の簡単な説明】
【0010】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図の全てを通じて、対応する部分を指す。
【0011】
【
図1】いくつかの実施形態による、XR体験を提供するためのコンピュータシステムの動作環境を示すブロック図である。
【0012】
【
図2】いくつかの実施形態による、ユーザのXR体験を管理及び調整するように構成されたコンピュータシステムのコントローラを示すブロック図である。
【0013】
【
図3】いくつかの実施形態による、XR体験の視覚的コンポーネントをユーザに提供するように構成されたコンピュータシステムの表示生成コンポーネントを示すブロック図である。
【0014】
【
図4】いくつかの実施形態による、ユーザのジェスチャ入力をキャプチャするように構成されたコンピュータシステムのハンドトラッキングユニットを示すブロック図である。
【0015】
【
図5】いくつかの実施形態による、ユーザの視線入力をキャプチャするように構成されたコンピュータシステムのアイトラッキングユニットを示すブロック図である。
【0016】
【
図6A】いくつかの実施形態による、グリント支援視線トラッキングパイプラインを示すフローチャートである。
【0017】
【
図6B】いくつかの実施形態による、XR体験を提供するための電子デバイスの例示的な環境を示す。
【0018】
【
図7A】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7B】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7C】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7D】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7E】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7F】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【
図7G】いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【0019】
【
図8A】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8B】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8C】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8D】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8E】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8F】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8G】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8H】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8I】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8J】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【
図8K】いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
【0020】
【
図9A】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9B】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9C】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9D】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9E】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9F】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【
図9G】いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【0021】
【
図10A】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10B】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10C】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10D】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10E】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10F】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10G】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10H】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10I】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10J】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【
図10K】いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
【0022】
【
図11A】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境でオブジェクトを表示する例示的な方法を示す。
【
図11B】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境でオブジェクトを表示する例示的な方法を示す。
【
図11C】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境でオブジェクトを表示する例示的な方法を示す。
【
図11D】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境でオブジェクトを表示する例示的な方法を示す。
【
図11E】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境でオブジェクトを表示する例示的な方法を示す。
【0023】
【
図12A】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12B】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12C】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12D】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12E】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12F】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【
図12G】いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
【0024】
【
図13A】本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させる例示的方法を示す。
【
図13B】本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させる例示的方法を示す。
【
図13C】本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させる例示的方法を示す。
【
図13D】本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させる例示的方法を示す。
【0025】
【
図14A】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14B】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14C】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14D】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14E】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14F】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【
図14G】いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【発明を実施するための形態】
【0026】
本開示は、いくつかの実施形態による、コンピュータ生成現実(XR)体験をユーザに提供するユーザインタフェースに関する。
【0027】
本明細書で説明されるシステム、方法、及びGUIは、電子デバイスがナビゲーションユーザインタフェース要素内で示される物理ロケーションに対応するコンテンツを提示するための改善された方法を提供する。
【0028】
いくつかの実施形態では、コンピュータシステムは、三次元環境内で、1つ以上の仮想オブジェクト(例えば、アプリケーションのユーザインタフェース、他のユーザの表現、コンテンツアイテムなど)を表示する。いくつかの実施形態では、コンピュータシステムは、以下でより詳細に説明される1つ以上の空間基準に従って、三次元環境内のユーザの視点に対する仮想オブジェクトの空間配置を評価する。いくつかの実施形態では、コンピュータシステムは、1つ以上の空間基準を満たすように、仮想オブジェクトのポジション及び/又は向きを更新するための要求に対応するユーザ入力を検出する。いくつかの実施形態では、入力に応じて、コンピュータシステムは、1つ以上の空間基準を満たすように、仮想オブジェクトのポジション及び/又は向きを更新する。このようにして仮想オブジェクトのポジション及び/又は向きを更新することは、ユーザが仮想オブジェクトにアクセスし、仮想オブジェクトを見、及び/又は仮想オブジェクトと対話することを可能にする効率的な方法を提供し、これは更に、ユーザがコンピュータシステムをより迅速且つ効率的に使用することを可能にすることによって、電力使用量を低減し、コンピュータシステムのバッテリ寿命を改善する。
【0029】
いくつかの実施形態では、コンピュータシステムは、三次元環境におけるコンピュータシステムのユーザの視点に対する複数の仮想オブジェクトのポジション及び/又は向きを更新する。いくつかの実施形態では、コンピュータシステムは、ユーザの視点に対する複数の仮想オブジェクトのポジション及び/又は向きを更新するための要求に対応する入力を受信する。いくつかの実施形態では、入力に応じて、コンピュータシステムは、複数の仮想オブジェクト間の空間関係を維持しながら、ユーザの視点に対する複数の仮想オブジェクトのポジション及び/又は向きを更新する。このようにしてユーザの視点に対する複数の仮想オブジェクトのポジション及び/又は向きを更新することは、ユーザの視点からの三次元環境のビューを更新する効率的な方法を提供し、これは更に、ユーザがコンピュータシステムをより迅速且つ効率的に使用することを可能にすることによって、電力使用量を低減し、コンピュータシステムのバッテリ寿命を改善する。
【0030】
いくつかの実施形態では、コンピュータシステムは、コンピュータシステムの物理的環境における物理的フロアの推定されたロケーションに基づいて、三次元環境内でオブジェクトを提示する。いくつかの実施形態では、コンピュータシステムが、コンピュータシステムの物理的環境内の物理的フロアの推定されたロケーションに基づいて三次元環境内にオブジェクトを提示している間、コンピュータシステムは、コンピュータシステムの物理的環境内の物理的フロアの新しい推定されたロケーションを決定する。いくつかの実施形態では、コンピュータシステムは、特定の条件/基準が満たされるまで、コンピュータシステムの物理的環境内の物理的フロアの以前の推定されたロケーションに基づいて、三次元環境内にオブジェクトを提示し続ける。特定の条件/基準が満たされるまで物理的フロアの以前の推定されたロケーションに基づいて三次元環境内にオブジェクトを表示することは、特定の条件/基準が満たされるときに三次元環境内のオブジェクトのロケーションを更新するための効率的な方法を提供し、これらの条件/基準が満たされる前ではなく、これは更に、ユーザがコンピュータシステムをより迅速且つ効率的に使用することを可能にすることによって、電力使用量を低減し、コンピュータシステムのバッテリ寿命を改善する。
【0031】
いくつかの実施形態では、コンピュータシステムは、三次元環境で1つ以上のユーザインタフェースオブジェクトを提示する。いくつかの実施形態では、コンピュータシステムは、三次元環境内の個別のユーザインタフェースオブジェクトを三次元環境内の新しいロケーションに移動させる(例えば、再位置決めする)要求を受信する。いくつかの実施形態では、個別のユーザインタフェースオブジェクトを三次元環境内の新しいロケーションに移動させる(例えば、再位置決めする)間、コンピュータシステムは、個別のユーザインタフェースオブジェクトの1つ以上の部分を視覚的に強調解除する。三次元環境内で個別のユーザインタフェースオブジェクトを移動させながら、個別のユーザインタフェースオブジェクトの部分を視覚的に強調解除することは、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって、三次元環境と対話するときのユーザに対する認知的負担を低減する。
【0032】
図1~
図6は、(方法800、1000、1200、及び1400に関して以下で説明されるような)XR体験をユーザに提供するための例示的なコンピュータシステムの説明を提供する。
図7A~
図7Gは、いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新するための例示的な技法を示す。
図8A~
図8Kは、いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。
図9A~
図9Gは、いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新するための例示的な技法を示す。
図10A~
図10Kは、いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。
図11A~
図11Eは、いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境内でオブジェクトを表示するための例示的な技法を示す。
図12A~
図12Gは、いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境にオブジェクトを表示する方法を示すフローチャートである。
図13A~
図13Dは、本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させるための例示的な技法を示す。
図14A~
図14Gは、いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法を示すフローチャートである。
【0033】
後述のプロセスは、改善された視覚的なフィードバックをユーザに提供すること、操作を実行するために必要な入力の数を減らすこと、表示される追加のコントロールでユーザインタフェースを雑然とさせることなく追加の制御オプションを提供すること、条件のセットが満たされたときに更なるユーザ入力を必要とせずに操作を実行すること、プライバシー及び/又はセキュリティを改善すること及び/又は、他の技術を含む、様々な技術により、(例えば、ユーザがデバイスを操作/対話する際に適切な入力を行うのを助け、ユーザの誤りを減らすことによって)デバイスの操作性を高め、ユーザとデバイスのインタフェースを効率化するものである。これらの技術はまた、ユーザがデバイスをより迅速且つ効率的に使用することを可能にすることによって、電力使用量を低減し、デバイスのバッテリ寿命を改善する。
【0034】
更に、1つ以上のステップが満たされている1つ以上の条件を条件とする本明細書に記載の方法では、記載の方法は、繰り返しの過程にわたって、本方法のステップが条件とする条件の全てが本方法の異なる繰り返しで満たされるように、複数の繰り返しで繰り返されることができることを理解されたい。例えば、ある方法が、条件が満たされた場合に第1のステップを実行し、条件が満たされなかった場合に第2のステップを実行することを必要とする場合、当業者であれば、条件が満たされ、満たされなくなるまで、請求項に記載のステップが、順不同で繰り返されることを理解するであろう。したがって、満たされた1つ以上の条件に依存する1つ以上のステップで説明される方法は、方法に記載された各条件が満たされるまで繰り返される方法として書き換えられることができる。しかしながら、これは、システム又はコンピュータ可読媒体が、対応する1つ以上の条件の充足に基づいて条件付き動作を実行する命令を含み、したがって、方法のステップが条件付きである全ての条件が満たされるまで、方法のステップを明示的に繰り返すことなく偶発性が満たされたか否かを判定することができる、システム又はコンピュータ可読媒体の請求項には必要とされない。当業者はまた、条件付きステップを有する方法と同様に、システム又はコンピュータ可読記憶媒体が、条件付きステップの全てが実行されたことを確実にするために必要な回数だけ方法のステップを繰り返すことができることを理解するであろう。
【0035】
いくつかの実施形態では、
図1に示されるように、XR体験は、コンピュータシステム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と統合される。
【0036】
XR体験を説明するとき、ユーザが感知する、及び/又は(例えば、XR体験を生成するコンピュータシステムに、XR体験を生成するコンピュータシステム101に提供される様々な入力に対応するオーディオ、視覚、及び/又は触覚フィードバックを生成させる、コンピュータシステム101によって検出された入力を用いて)ユーザが相互作用することができる、いくつかの関連するが、別個の環境に個別的に言及するために様々な用語が使用される。以下は、これらの用語のサブセットである。
【0037】
物理的環境:物理的環境とは、人々が電子システムの助けなしに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び嗅覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
【0038】
拡張現実:これと対照的に、拡張現実(extended reality、XR)環境は、人々が電子システムを介して感知及び/又は対話する、全体的又は部分的に模倣された環境を指す。XRでは、人物の身体運動のサブセット又はその表現が追跡され、それに応じて、XR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調節される。例えば、XRシステムは、人物の頭部の回転を検出し、それに応じて、そのようなビュー及び音が物理的環境においてどのように変化するかと同様の方法で、人物に提示されるグラフィックコンテンツ及び音場を調節することができる。状況によっては(例えば、アクセス性の理由から)、XR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調節は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。人物は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、XRオブジェクトを感知し、且つ/又はXRオブジェクトと相互作用してもよい。例えば、人は、3D空間内のポイントオーディオソースの知覚を提供する、3D又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び/又はそれと対話することができる。別の例では、オーディオオブジェクトによって、コンピュータ生成オーディオを含めて、又は含めずに、物理的環境から周囲音を選択的に組み込むオーディオ透過性が可能になり得る。いくつかのXR環境では、人物は、オーディオオブジェクトのみを感知し、且つ/又はそれと相互作用してもよい。
【0039】
XRの例としては、仮想現実及び複合現実が挙げられる。
【0040】
仮想現実:仮想現実(VR)環境とは、1つ以上の感覚について、コンピュータ生成感覚入力に全面的に基づくように設計された模倣環境を指す。VR環境は、人物が感知且つ/又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人物は、コンピュータ生成環境内に人物が存在することのシミュレーションを通じて、且つ/又はコンピュータ生成環境内での人物の物理的移動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、且つ/又はそれと相互作用することができる。
【0041】
複合現実:複合現実(MR)環境とは、コンピュータ生成感覚入力に全面的に基づくように設計されたVR環境とは対照的に、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計された模倣環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。いくつかのMR環境では、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変化に応じ得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境からの物理的物品又はその表現)と相互作用することを可能にするために、物理的環境に対するロケーション及び/又は向きを追跡してもよい。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、移動を考慮に入れてもよい。
【0042】
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
【0043】
拡張現実:拡張現実(AR)環境とは、1つ以上の仮想オブジェクトが物理的環境上又はその表現上に重ね合わされた模倣環境を指す。例えば、AR環境を提示するための電子システムは、人物が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイに仮想オブジェクトを提示するように構成されていてもよく、それによって、人物はシステムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の撮像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明ディスプレイ上に提示する。人物はこのシステムを使用して、物理的環境を、物理的環境の画像又はビデオによって間接的に見て、物理的環境に重ね合わされた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムが仮想オブジェクトを、例えば、ホログラムとして物理的環境の中に、又は物理的表面に投影するプロジェクションシステムを有してもよく、それによって、人物はシステムを使用して、物理的環境に重ね合わされた仮想オブジェクトを知覚する。拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換される模倣環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を、撮像センサがキャプチャした透視図とは別の選択された透視図(例えば、視点)を面付けするように変形してもよい。別の例として、物理的環境の表現を、その一部をグラフィカルに修正(例えば、拡大)することによって変形してもよく、それにより、修正された部分を、元のキャプチャ画像を表すが非写実的な、改変版にすることもできる。更なる例として、物理的環境の表現は、その一部をグラフィカルに除去又は不明瞭化することによって変形されてもよい。
【0044】
拡張仮想:拡張仮想(AV)環境とは、仮想環境又はコンピュータ生成環境が物理的環境から1つ以上の感覚入力を組み込んだ模倣環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVの公園には仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の撮像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽のポジションと一致する影を採用することができる。
【0045】
視点ロック仮想オブジェクト:ユーザの視点がシフト(例えば、変化)しても、コンピュータシステムが仮想オブジェクトをユーザの視点内の同じロケーション及び/又はポジションに表示するとき、仮想オブジェクトは視点ロックされる。コンピュータシステムがヘッドマウントデバイスである実施形態では、ユーザの視点は、ユーザの頭部の前向き方向にロックされる(例えば、ユーザの視点は、ユーザが真っ直ぐ前を見ているときのユーザの視野の少なくとも一部分である)。したがって、ユーザの視点は、ユーザの頭部を動かさずに、ユーザの視線が動いても固定されたままである。コンピュータシステムが、ユーザの頭部に対して再位置決めされ得る表示生成コンポーネント(例えば、表示画面)を有する実施形態では、ユーザの視点は、コンピュータシステムの表示生成コンポーネント上でユーザに提示されている拡張現実ビューである。例えば、ユーザの視点が第1の向きにある(例えば、ユーザの頭部が北を向いている)ときにユーザの視点の左上隅に表示される視点ロック仮想オブジェクトは、ユーザの視点が第2の向きに変化しても(例えば、ユーザの頭部が西を向いている)、ユーザの視点の左上隅に表示され続ける。言い換えれば、視点ロック仮想オブジェクトがユーザの視点において表示されるロケーション及び/又はポジションは、物理的環境におけるユーザのポジション及び/又は向きとは無関係である。コンピュータシステムがヘッドマウントデバイスである実施形態では、ユーザの視点は、仮想オブジェクトが「頭部ロック仮想オブジェクト」とも称されるように、ユーザの頭部の向きにロックされる。
【0046】
環境ロック仮想オブジェクト:仮想オブジェクトは、コンピュータシステムが、三次元環境(例えば、物理的環境又は仮想環境)内のロケーション及び/又はオブジェクトに基づく(例えば、それを参照して選択される、及び/又はそれに固定される)ユーザの視点内のロケーション及び/又はポジションに仮想オブジェクトを表示するとき、環境ロック(又は、「世界ロック」)される。ユーザの視点がシフトすると、ユーザの視点に対する環境内のロケーション及び/又はオブジェクトが変化し、その結果、環境ロック仮想オブジェクトがユーザの視点内の異なるロケーション及び/又はポジションに表示される。例えば、ユーザの直前にある木にロックされた環境ロック仮想オブジェクトは、ユーザの視点の中心に表示される。ユーザの視点が右にシフトして(例えば、ユーザの頭部が右に向けられて)木がユーザの視点において左寄りになる(例えば、ユーザの視点における木のポジションがシフトする)場合、木にロックされた環境ロック仮想オブジェクトは、ユーザの視点において左寄りに表示される。言い換えれば、環境ロック仮想オブジェクトがユーザの視点において表示されるロケーション及び/又はポジションは、仮想オブジェクトがロックされる環境におけるロケーション及び/又はオブジェクトのポジション及び/又は向きに依存する。いくつかの実施形態では、コンピュータシステムは、ユーザの視点において環境ロック仮想オブジェクトを表示するポジションを決定するために、静止基準フレーム(例えば、物理的環境における固定ロケーション及び/又はオブジェクトに固定される座標系)を使用する。環境ロック仮想オブジェクトは、環境の静止部分(例えば、フロア、壁、テーブル、又は他の静止オブジェクト)にロックされることができ、又は環境の可動部分(例えば、車両、動物、人、又はユーザの手、手首、腕、足など、ユーザの視点とは無関係に移動するユーザの身体の部分の表現)にロックされることができ、それにより、仮想オブジェクトは、仮想オブジェクトと環境の部分との間の固定された関係を維持するために、視点又は環境の部分が移動するにつれて移動する。
【0047】
いくつかの実施形態では、環境ロック又は視点ロックされた仮想オブジェクトは、仮想オブジェクトが追従している基準点の移動に対して、環境ロック又は視点ロックされた仮想オブジェクトの動きを低減又は遅延させる遅延追従挙動を示す。いくつかの実施形態では、遅延追従挙動を示すとき、コンピュータシステムは、仮想オブジェクトが追従している基準点(例えば、環境の一部、視点、又は視点から5~300cmの間にある点等の視点に対して固定された点)の移動を検出すると、仮想オブジェクトの移動を意図的に遅延させる。例えば、基準点(例えば、環境の一部又は視点)が第1の速度で移動するとき、仮想オブジェクトは、基準点にロックされたままであるようにデバイスによって移動されるが、第1の速度よりも遅い第2の速度で移動する(例えば、基準点が移動を停止又は減速するまで、その時点で仮想オブジェクトが基準点に追いつき始める)。いくつかの実施形態では、仮想オブジェクトが遅延追従挙動を示すとき、デバイスは、基準点の少量の移動を無視する(例えば、0~5度の移動又は0~50cmの移動など、閾値移動量未満である基準点の移動を無視する)。例えば、基準点(例えば、仮想オブジェクトがロックされる環境の部分又は視点)が第1の量だけ移動するとき、基準点と仮想オブジェクトとの間の距離は増加し(例えば、仮想オブジェクトがロックされる基準点とは異なる視点又は環境の部分に対して固定又は実質的に固定されたポジションを維持するように仮想オブジェクトが表示されているので)、基準点(例えば、仮想オブジェクトがロックされる環境の部分又は視点)が第1の量よりも大きい第2の量だけ移動するとき、基準点と仮想オブジェクトとの間の距離は最初に増加し(例えば、仮想オブジェクトがロックされる基準点とは異なる視点又は環境の部分に対して固定又は実質的に固定されたポジションを維持するように仮想オブジェクトが表示されているので)、次いで、仮想オブジェクトが基準点に対して固定又は実質的に固定されたポジションを維持するようにコンピュータシステムによって移動されるので、基準点の移動量が閾値(例えば、「遅延追従」閾値)を超えて増加するにつれて減少する。いくつかの実施形態では、基準点に対して実質的に固定されたポジションを維持する仮想オブジェクトは、仮想オブジェクトが、1つ以上の寸法(例えば、基準点のポジションに対して上/下、左/右、及び/又は前方/後方)において基準点の閾値距離(例えば、1、2、3、5、15、20、50cm)内に表示されることを含む。
【0048】
ハードウェア:人物が様々なXR環境を感知し、及び/又はそれと相互作用することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(heads-up displays、HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人物の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、装着型コントローラ又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受容するように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境のオーディオをキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人物の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィカル画像を人物の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、仮想オブジェクトを、例えば、ホログラムとして、又は物理的表面として物理的環境に投影するように構成されてもよい。いくつかの実施形態では、コントローラ110は、ユーザのXR体験を管理及び調整するように構成される。いくつかの実施形態では、コントローラ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つ以上と同じ物理的筐体又は支持構造を共有する。
【0049】
いくつかの実施形態では、表示生成コンポーネント120は、XR体験(例えば、XR体験の少なくとも視覚的コンポーネント)をユーザに提供するように構成される。いくつかの実施形態では、表示生成コンポーネント120は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。表示生成コンポーネント120について、
図3を参照して以下により詳細に説明する。いくつかの実施形態では、コントローラ110の機能は、表示生成コンポーネント120によって提供される、及び/又は表示生成コンポーネント120と組み合わされる。
【0050】
いくつかの実施形態によれば、表示生成コンポーネント120は、ユーザがシーン105内に仮想的及び/又は物理的に存在している間に、XR体験をユーザに提供する。
【0051】
いくつかの実施形態では、表示生成コンポーネントは、ユーザの身体の一部(例えば、自身の頭部や自身の手など)に装着される。したがって、表示生成コンポーネント120は、XRコンテンツを表示するために提供された1つ以上のXRディスプレイを含む。例えば、様々な実施形態では、表示生成コンポーネント120は、ユーザの視野を包囲する。いくつかの実施形態では、表示生成コンポーネント120は、XRコンテンツを提示するように構成されたハンドヘルドデバイス(スマートフォン又はタブレットなど)であり、ユーザは、ユーザの視野に向けられるディスプレイ及びシーン105に向けられるカメラを備えたデバイスを保持する。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの頭部に装着された筐体内に配置される。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの前の支持体(例えば、三脚)上に配置される。いくつかの実施形態では、表示生成コンポーネント120は、ユーザが表示生成コンポーネント120を着用又は保持しない状態でXRコンテンツを提示するように構成されたXRチャンバ、筐体、又は部屋である。XRコンテンツ(例えば、ハンドヘルドデバイス又は三脚上のデバイス)を表示するための1つのタイプのハードウェアを参照して説明される多くのユーザインタフェースは、XRコンテンツ(例えば、HMD又は他のウェアラブルコンピューティングデバイス)を表示するための別のタイプのハードウェア上に実施され得る。例えば、ハンドヘルド又は三脚搭載デバイスの前の空間内で起こる相互作用に基づいてトリガされるXRコンテンツとの相互作用を示すユーザインタフェースは、相互作用がHMDの前の空間で発生し、XRコンテンツの応答がHMDを介して表示されるHMDと同様に実施され得る。同様に、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するハンドヘルド又は三脚搭載デバイスの移動に基づいてトリガされたCRGコンテンツとの相互作用を示すユーザインタフェースは、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するHMDの移動によって移動が引き起こされるHMDと同様に実施され得る。
【0052】
動作環境100の関連する特徴が
図1に示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないように、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。
【0053】
図2は、いくつかの実施形態による、コントローラ110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実施形態では、コントローラ110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE、THUNDERBOLT、IEEE802.3x、IEEE802.11x、IEEE802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH、ZIGBEE、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス204を含む。
【0054】
いくつかの実施形態では、1つ以上の通信バス204は、システムコンポーネント間の通信を相互接続及び制御する回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
【0055】
メモリ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及びXR体験モジュール240を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
【0056】
オペレーティングシステム230は、様々な基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、XR体験モジュール240は、1人以上のユーザに対する1つ以上のXR体験(例えば、1人以上のユーザに対する単一のXR体験、又は1人以上のユーザのそれぞれのグループに対する複数のXR体験)を管理及び調整するように構成されている。そのために、様々な実施形態では、XR体験モジュール240は、データ取得ユニット241と、トラッキングユニット242と、調整ユニット246と、データ送信ユニット248とを含む。
【0057】
いくつかの実施形態では、データ取得ユニット241は、少なくとも
図1の表示生成コンポーネント120、並びに任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上からデータ(例えば、提示データ、対話データ、センサデータ、ロケーションデータなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット241は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0058】
いくつかの実施形態では、トラッキングユニット242は、シーン105をマッピングし、
図1のシーン105に対して、且つ任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に対して、少なくとも表示生成コンポーネント120のポジション/ロケーションを追跡するように構成される。そのために、様々な実施形態では、トラッキングユニット242は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実施形態では、トラッキングユニット242は、ハンドトラッキングユニット244及び/又はアイトラッキングユニット243を含む。いくつかの実施形態では、ハンドトラッキングユニット244は、
図1のシーン105に対する、表示生成コンポーネント120に対する、且つ/又はユーザの手に対して定義された座標系に対する、ユーザの手の1つ以上の部分のポジション/ロケーション、及び/又はユーザの手の1つ以上の部分の運動を追跡するように構成される。ハンドトラッキングユニット244は、
図4に関して以下でより詳細に説明される。いくつかの実施形態では、アイトラッキングユニット243は、シーン105に対する(例えば、物理的環境及び/又はユーザ(例えば、ユーザの手)に対する)、又は表示生成コンポーネント120を介して表示されたXRコンテンツに対する、ユーザの視線(又は、より広範にはユーザの目、顔、又は頭部)のポジション及び移動を追跡するように構成される。アイトラッキングユニット243は、
図5に関して以下でより詳細に説明される。
【0059】
いくつかの実施形態では、調整ユニット246は、表示生成コンポーネント120によって、並びに任意選択的に、出力デバイス155及び/又は周辺デバイス195のうちの1つ以上によって、ユーザに提示されるXR体験を管理及び調整するように構成される。その目的で、様々な実施形態において、調整ユニット246は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0060】
いくつかの実施形態では、データ送信ユニット248は、データ(例えば、提示データ、ロケーションデータなど)を少なくとも表示生成コンポーネント120、並びに任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に送信するように構成される。その目的で、様々な実施形態では、データ送信ユニット248は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0061】
データ取得ユニット241、トラッキングユニット242(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248が、単一のデバイス(例えば、コントローラ110)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット241、トラッキングユニット242(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
【0062】
更に、
図2は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、
図2に別々に示すいくつかの機能モジュールは、単一のモジュール内に実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態では1つ以上の機能ブロックによって実行することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0063】
図3は、いくつかの実施形態による、表示生成コンポーネント120の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実施形態では、表示生成コンポーネント120(例えば、HMD)には、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)デバイス及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、FIREWIRE、THUNDERBOLT、IEEE802.3x、IEEE802.11x、IEEE802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のXRディスプレイ312、1つ以上の任意選択の内向き及び/又は外向き画像センサ314、メモリ320、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス304、が含まれる。
【0064】
いくつかの実施形態では、1つ以上の通信バス304は、システムコンポーネント間の通信を相互接続及び制御する回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定装置(IMU)、加速度計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などのうちの少なくとも1つを含む。
【0065】
いくつかの実施形態では、1つ以上のXRディスプレイ312は、ユーザにXR体験を提供するように構成される。いくつかの実施形態では、1つ以上のXRディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、液晶オンシリコン(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放射素子ディスプレイ(SED)、電界放射ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、MEMS、及び/又は同様のディスプレイタイプに相当する。いくつかの実施形態では、1つ以上のXRディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。例えば、表示生成コンポーネント120(例えば、HMD)は、単一のXRディスプレイを含む。別の実施例では、表示生成コンポーネント120は、ユーザの各目用のXRディスプレイを含む。いくつかの実施形態では、1つ以上のXRディスプレイ312は、MR又はVRコンテンツを提示することができる。いくつかの実施形態では、1つ以上のXRディスプレイ312は、MR又はVRコンテンツを提示することができる。
【0066】
いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの目を含むユーザの顔の少なくとも一部分に対応する画像データを取得するように構成される(及び、アイトラッキングカメラと称する場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの手(単数又は複数)及び任意選択的にユーザの腕(単数又は複数)の少なくとも一部分に対応する画像データを取得するように構成される(及び、ハンドトラッキングカメラと称される場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、表示生成コンポーネント120(例えばHMD)、が存在しない場合に、ユーザが閲覧するようなシーンに対応する画像データを取得するように前方を向くように構成されている(且つ、シーンカメラと称されることがある)。1つ以上の任意選択的な画像センサ314は、(例えば、相補型金属酸化膜半導体(CMOS)画像センサ若しくは電荷結合デバイス(CCD)画像センサを備えた)1つ以上のRGBカメラ、1つ以上の赤外線(IR)カメラ、1つ以上のイベントベースのカメラ、及び/又は同様のもの、を含むことができる。
【0067】
メモリ320は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302から遠隔に位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及びXR提示モジュール340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
【0068】
オペレーティングシステム330は、様々な基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、XR提示モジュール340は、1つ以上のXRディスプレイ312を介してXRコンテンツをユーザに提示するように構成される。その目的で、様々な実施形態では、XR提示モジュール340は、データ取得ユニット342、XR提示ユニット344、XRマップ生成ユニット346、及びデータ送信ユニット348を含む。
【0069】
いくつかの実施形態では、データ取得ユニット342は、少なくとも
図1のコントローラ110からデータ(例えば、提示データ、相互作用データ、センサデータ、ロケーションデータなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット342は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0070】
いくつかの実施形態では、XR提示ユニット344は、1つ以上のXRディスプレイ312を介してXRコンテンツを提示するように構成される。その目的で、様々な実施形態では、XR提示ユニット344は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0071】
いくつかの実施形態では、XRマップ生成ユニット346は、メディアコンテンツデータに基づいて、XRマップ(例えば、複合現実シーンの3Dマップ又はコンピュータ生成オブジェクトを配置して拡張現実を生成することができる物理的環境のマップ)を生成するように構成されている。その目的で、様々な実施形態では、XRマップ生成ユニット346は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0072】
いくつかの実施形態では、データ送信ユニット348は、少なくともコントローラ110、及び任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上にデータ(例えば、提示データ、ロケーションデータなど)を伝送するように構成される。その目的で、様々な実施形態では、データ送信ユニット348は、その命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0073】
データ取得ユニット342は、XR提示ユニット344、XRマップ生成ユニット346、及びデータ送信ユニット348は、単一のデバイス(例えば、
図1の表示生成コンポーネント120)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット342、XR提示ユニット344、XRマップ生成ユニット346、及びデータ送信ユニット348の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
【0074】
更に、
図3は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実装形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、
図3に別々に示すいくつかの機能モジュールは、単一のモジュール内に実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態では1つ以上の機能ブロックによって実行することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0075】
図4は、ハンドトラッキングデバイス140の例示的な実施形態の概略図である。いくつかの実施形態では、ハンドトラッキングデバイス140(
図1)は、
図1のシーン105に対する(例えば、ユーザを囲む物理的環境の一部に対する、表示生成コンポーネント120に対する、又はユーザの一部(例えば、ユーザの顔、目、又は頭部)に対する、及び/又はユーザの手に対して定義された座標系に対する)ユーザの手の1つ以上の部分のロケーション/ポジション、及び/又は、ユーザの手の1つ以上の部分の運動を追跡するように、ハンドトラッキングユニット244(
図2)によって制御される。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120の一部である(例えば、ヘッドマウントデバイスに埋め込まれる、又はヘッドマウントデバイスに取り付けられる)。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120とは別個である(例えば、別個のハウジング内に位置する、又は別個の物理的支持構造に取り付けられる)。
【0076】
いくつかの実施形態では、ハンドトラッキングデバイス140は、人間のユーザの少なくとも手406を含む三次元シーン情報をキャプチャする画像センサ404(例えば、1つ以上のIRカメラ、3Dカメラ、深度カメラ、及び/又はカラーカメラなど)を含む。画像センサ404は、指及びそれらのそれぞれのポジションを区別するのを可能にするのに十分な解像度で手画像をキャプチャする。画像センサ404は、典型的には、ユーザの身体の他の部分の画像、又は身体の全ての画像をキャプチャし、ズーム機能又は高倍率を有する専用センサのいずれかを有して、所望の解像度で手の画像をキャプチャすることができる。いくつかの実施形態では、画像センサ404はまた、手406の2Dカラービデオ画像及びシーンの他の要素をキャプチャする。いくつかの実施形態では、画像センサ404は、シーン105の物理的環境をキャプチャする他の画像センサと併せて使用される、又はシーン105の物理的環境をキャプチャする画像センサとして機能する。いくつかの実施形態では、画像センサ404は、画像センサ又はその一部の視野が使用されて、画像センサによってキャプチャされた手の移動がコントローラ110への入力として処理される相互作用空間を画定するように、ユーザ又はユーザの環境に対して位置決めされる。
【0077】
いくつかの実施形態では、画像センサ404は、3Dマップデータ(及び場合によってはカラー画像データも)を含むフレームのシーケンスをコントローラ110に出力し、これにより、マップデータから高レベル情報を抽出する。この高レベル情報は、典型的には、アプリケーションプログラムインタフェース(API)を介して、コントローラ上で実行されるアプリケーションに提供され、それに応じて表示生成コンポーネント120を駆動する。例えば、ユーザは、自分の手406を移動させて自分の手の姿勢を変化させることによって、コントローラ110上で実行されるソフトウェアと対話することができる。
【0078】
いくつかの実施形態では、画像センサ404は、手406を含むシーン上にスポットパターンを投影し、投影されたパターンの画像をキャプチャする。いくつかの実施形態では、コントローラ110は、パターンのスポットの横方向シフトに基づいて、三角測量によって(ユーザの手の表面上の点を含む)シーン内の点の3D座標を計算する。このアプローチは、ユーザが任意の種類のビーコン、センサ、又は他のマーカを保持又は着用する必要がないという点で有利である。これは、画像センサ404からの特定の距離で、所定の基準面に対するシーン内の点の深度座標を与える。本開示では、画像センサ404は、シーン内の点の深度座標が画像センサによって測定されたzコンポーネントに対応するように、直交する一連のx、y、z軸を画定すると想定される。代替的に、画像センサ404(例えば、ハンドトラッキングデバイス)は、単一又は複数のカメラ又は他のタイプのセンサに基づいて、立体撮像又は飛行時間測定などの他の3Dマッピング方法を使用することができる。
【0079】
いくつかの実施形態では、ハンドトラッキングデバイス140は、ユーザが手(例えば、手全体又は1本以上の指)を移動させている間、ユーザの手を含む深度マップの時間シーケンスをキャプチャし処理する。画像センサ404及び/又はコントローラ110内のプロセッサ上で動作するソフトウェアは、3Dマップデータを処理して、これらの深度マップ内の手のパッチ記述子を抽出する。ソフトウェアは、各フレームにおける手の姿勢を推定するために、以前の学習プロセスに基づいて、これらの記述子をデータベース408に記憶されたパッチ記述子と照合する。姿勢は、典型的には、ユーザの手関節及び指先の3Dロケーションを含む。
【0080】
ソフトウェアはまた、ジェスチャを識別するために、シーケンス内の複数のフレームにわたって手及び/又は指の軌道を解析することができる。本明細書に記載される姿勢推定機能は、運動追跡機能とインターリーブされてもよく、それにより、パッチベースの姿勢推定が2つ(又はそれより多く)のフレーム毎に1回のみ実行される一方、追跡は残りのフレームにわたって発生する姿勢の変化を発見するために使用される。姿勢、運動、及びジェスチャ情報は、上述のAPIを介して、コントローラ110上で実行されるアプリケーションプログラムに提供される。このプログラムは、例えば、姿勢及び/又はジェスチャ情報に応じて、表示生成コンポーネント120上に提示された画像を移動させ修正する、又は他の機能を実行することができる。
【0081】
いくつかの実施形態では、ジェスチャは、エアジェスチャを含む。エアジェスチャは、ユーザがデバイス(例えば、コンピュータシステム101、1つ以上の入力デバイス125、及び/又は、ハンドトラッキングデバイス140)の一部である入力要素に触れることなく(又はそれとは無関係に)検出されるジェスチャであり、絶対的な基準(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)に対するユーザの身体の動き、ユーザの身体の別の部分に対するユーザの身体の動き(例えば、ユーザの肩に対するユーザの手の移動、ユーザの一方の手に対するユーザの他方の手の移動、及び/又はユーザの手の別の指若しくは部分に対するユーザの指の移動)、及び/又は、ユーザの身体の一部の絶対的な動き(例えば、所定の量及び/又は速度による所定の姿勢での手の移動を含むタップジェスチャ、又はユーザの身体の一部の所定の速度又は量の回転を含むシェイクジェスチャ)を含む、空中にあるユーザの身体の一部(例えば、頭部、1つ以上の腕、1つ以上の手、1つ以上の指、及び/又は1つ以上の脚)の検出された動きに基づく。
【0082】
いくつかの実施形態では、本明細書に記載の様々な例及び実施形態で使用される入力ジェスチャは、いくつかの実施形態に係る、XR環境(例えば、仮想又は複合現実環境)と相互作用するための他の指(単数又は複数)又はユーザの手の部分(単数又は複数)に対するユーザの指(単数又は複数)の移動によって実行されるエアジェスチャを含む。いくつかの実施形態では、エアジェスチャは、ユーザがデバイスの一部である入力要素に触れることなく(又はデバイスの一部である入力要素から独立して)検出されるジェスチャであり、絶対的な基準(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)に対するユーザの身体の動き、ユーザの身体の別の部分に対するユーザの身体の動き(例えば、ユーザの肩に対するユーザの手の移動、ユーザの一方の手に対するユーザの他方の手の移動、及び/又はユーザの手の別の指若しくは部分に対するユーザの指の移動)、及び/又は、ユーザの身体の一部の絶対的な動き(例えば、所定の量及び/又は速度による所定の姿勢での手の移動を含むタップジェスチャ、又はユーザの身体の一部の所定の速度又は量の回転を含むシェイクジェスチャ)を含む、ユーザの身体の一部の検出された動きに基づく。
【0083】
入力ジェスチャがエアジェスチャ(例えば、タッチスクリーン上に表示されたユーザインタフェース要素との接触、又はユーザインタフェース要素にカーソルを移動させるためのマウス又はトラックパッドとの接触など、どのユーザインタフェース要素がユーザ入力のターゲットであるかに関する情報をコンピュータシステムに提供する入力デバイスとの物理的接触がない場合)であるいくつかの実施形態では、ジェスチャは、ユーザ入力のターゲット(例えば、以下で説明するように、直接入力の場合)を決定するためにユーザの注意(例えば、視線)を考慮に入れる。したがって、エアジェスチャを含む実装形態では、入力ジェスチャは、例えば、以下でより詳細に説明するように、ピンチ及び/又はタップ入力を実行するためのユーザの指(単数又は複数)及び/又は手の移動と組み合わせて(例えば、同時)ユーザインタフェース要素に対する検出された注意(例えば、視線)である。
【0084】
いくつかの実施形態では、ユーザインタフェースオブジェクトに向けられた入力ジェスチャは、ユーザインタフェースオブジェクトを参照して直接的又は間接的に実行される。例えば、ユーザ入力は、三次元環境(例えば、ユーザの現在の視点に基づいて決定されるように、)におけるユーザインタフェースオブジェクトのポジションに対応するポジションでユーザの手で入力ジェスチャを実行したことに応じて、ユーザインタフェースオブジェクトに対して直接実行される。いくつかの実施形態では、入力ジェスチャは、ユーザインタフェースオブジェクトに対するユーザの注意(例えば、視線)を検出しながら、ユーザの手のポジションが三次元環境におけるユーザインタフェースオブジェクトのポジションに対応するポジションにない間に入力ジェスチャを実行するユーザに従って、ユーザインタフェースオブジェクトに対して間接的に実行される。例えば、直接入力ジェスチャの場合、ユーザは、ユーザインタフェースオブジェクトの表示ポジション(例えば、オプションの外縁又はオプションの中央部分から測定して、0.5cm、1cm、5cm、又は0~5cmの距離内)に対応するポジション又はその付近でジェスチャを開始することによって、ユーザの入力をユーザインタフェースオブジェクトに向けることができる。間接的な入力ジェスチャの場合、ユーザは、ユーザインタフェースオブジェクトに注意を払うことによって(例えば、ユーザインタフェースオブジェクトを注視することによって)ユーザの入力をユーザインタフェースオブジェクトに向けることができ、オプションに注意を払いながら、ユーザは、入力ジェスチャを開始する(例えば、コンピュータシステムによって検出可能な任意のポジションで)(例えば、ユーザインタフェースオブジェクトの表示ポジションに対応しないポジションで)。
【0085】
いくつかの実施形態では、本明細書に記載の様々な例及び実施形態で使用される入力ジェスチャ(例えば、エアジェスチャ)は、いくつかの実施形態に係る、仮想又は複合現実環境と相互作用するためのピンチ入力及びタップ入力を含む。例えば、後述するピンチ入力やタップ入力は、エアジェスチャとして行われる。
【0086】
いくつかの実施形態では、ピンチ入力は、ピンチジェスチャ、ロングピンチジェスチャ、ピンチアンドドラッグジェスチャ、又はダブルピンチジェスチャのうちの1つ以上を含むエアジェスチャの一部である。例えば、エアジェスチャであるピンチジェスチャは、互いに接触するように手の2本以上の指を動かすこと、すなわち、任意選択的に、互いに接触した直後の(例えば、0~1秒以内)中断を含む。エアジェスチャであるロングピンチジェスチャは、互いに接触している中断を検出する前に、少なくとも閾値時間量(例えば、少なくとも1秒)にわたって互いに接触するように手の2本以上の指を動かすことを含む。例えば、ロングピンチジェスチャは、ユーザがピンチジェスチャ(例えば、2つ以上の指が接触している場合、)を保持することを含み、ロングピンチジェスチャは、2本以上の指の間の接触の中断が検出されるまで継続する。いくつかの実施形態では、エアジェスチャであるダブルピンチジェスチャは、互いに直接(例えば、既定の期間内に)連続して検出される2つ(例えば、又はそれより多く)のピンチ入力(例えば、同じ手で実行される)を含む。例えば、ユーザは、第1のピンチ入力を実行し(例えば、ピンチ入力又はロングピンチ入力)、第1のピンチ入力を解放し(例えば、2つ以上の指の間の接触を破壊する)、第1のピンチ入力を解放した後、既定の期間(例えば、1秒以内又は2秒以内)内に第2のピンチ入力を実行する。
【0087】
いくつかの実施形態では、エアジェスチャであるピンチアンドドラッグジェスチャは、ユーザの手のポジションを第1のポジション(例えば、ドラッグの開始ポジション)から第2のポジション(例えば、抗力の終了ポジション)に変化させるドラッグ入力に関連して(例えば、その後に)実行されるピンチジェスチャ(例えば、ピンチジェスチャ又はロングピンチジェスチャ)を含む。いくつかの実施形態では、ユーザは、ドラッグ入力を実行しながらピンチジェスチャを維持し、(例えば、第2のポジションにおいて)ドラッグジェスチャを終了するためにピンチジェスチャ(例えば、2本以上の指を開く)を解放する。いくつかの実施形態では、ピンチ入力及びドラッグ入力は、同じ手(例えば、ユーザは、2本以上の指をつまんで互いに接触し、ドラッグジェスチャで空中の第2のポジションに同じ手を移動させる)によって実行される。いくつかの実施形態では、ピンチ入力はユーザの第1の手によって実行され、ドラッグ入力はユーザの第2の手によって実行される(例えば、ユーザの第2の手は、ユーザがユーザの第1の手でピンチ入力を継続する間に空中で第1のポジションから第2のポジションに移動する)。いくつかの実施形態では、エアジェスチャである入力ジェスチャは、ユーザの両手の双方を使用して実行される入力(例えば、ピンチ入力及び/又はタップ入力)を含む。例えば、入力ジェスチャは、互いに関連して(例えば、既定の期間と同時に、又は既定の期間内に)行われる2つ(例えば、又はそれより多く)のピンチ入力を含む。例えば、ユーザの第1の手を使用して実行される第1のピンチジェスチャ(例えば、ピンチ入力、ロングピンチ入力、又はピンチ及びドラッグ入力)と、第1の手を使用してピンチ入力を実行することに関連して、他方の手(例えば、ユーザの両手の第2の手)を使用して第2のピンチ入力を実行する。いくつかの実施形態では、(例えば、ユーザの両手の間の距離又は相対的な向きを増加及び/又は減少させるための)ユーザの両手の間の移動。
【0088】
いくつかの実施形態では、エアジェスチャとして実行されるタップ入力(例えば、ユーザインタフェース要素に向けられる)は、ユーザインタフェース要素に向かうユーザの指の移動(単数又は複数)、任意選択的にユーザの指(単数又は複数)をユーザインタフェース要素に向かって伸ばした状態でのユーザの手のユーザインタフェース要素に向かう移動、ユーザの指の下方への動き(例えば、マウスクリック動作又はタッチスクリーン上のタップを模倣する)、又はユーザの手の他の既定の移動を含む。いくつかの実施形態では、エアジェスチャとして実行されるタップ入力は、ユーザの視点から離れて、及び/又は移動の終了が続くタップ入力のターゲットであるオブジェクトに向かって指又は手のタップジェスチャの移動を実行する指又は手の移動特性に基づいて検出される。いくつかの実施形態では、タップジェスチャ(例えば、ユーザの視点から離れる、及び/又はタップ入力の対象であるオブジェクトに向かう移動の終了、指又は手の移動方向の反転、及び/又は指又は手の移動の加速方向の反転)を実行する指又は手の移動特性の変化に基づいて、移動の終了が検出される。
【0089】
いくつかの実施形態では、ユーザの注意は、(任意選択で、他の条件を必要とせずに)三次元環境の一部に向けられた視線の検出に基づいて、三次元環境の一部に向けられていると判定される。いくつかの実施形態では、ユーザの注意が三次元環境の一部に向けられていることをデバイスが判定するために、ユーザの視点が三次元環境の一部から距離閾値内にある間に、少なくとも閾値持続時間(例えば、滞留時間)、視線が三次元環境の一部に向けられていることを必要とすること、及び/又は視線が三次元環境の一部に向けられていることを必要とすることなどの1つ以上の追加の条件を伴う三次元環境の一部に向けられた視線の検出に基づいて、ユーザの注意が三次元環境の一部に向けられていると判定され、追加の条件のうちの1つが満たされていない場合、デバイスは、三次元環境のうちの視線が向けられている部分に注意が向けられていないと判定する(例えば、1つ以上の追加の条件が満たされるまで)。
【0090】
いくつかの実施形態では、ユーザ又はユーザの一部の準備完了状態構成の検出は、コンピュータシステムによって検出される。手の準備完了状態構成の検出は、ユーザが、手によって実行される1つ以上のエアジェスチャ入力(例えば、ピンチ、タップ、ピンチ及びドラッグ、ダブルピンチ、ロングピンチ、又は本明細書に説明される他のエアジェスチャ)を使用して、コンピュータシステムと対話する準備をしている可能性が高いというインジケーションとして、コンピュータシステムによって使用される。例えば、手の準備完了状態は、手が所定の手形状(例えば、親指と1本以上の指が伸ばされて間隔を空けてピンチ若しくはグラブジェスチャを行う準備ができているプレピンチ形状、又は1本以上の指が伸ばされて手のひらがユーザから離れる方向を向いているプレタップ)を有するか否か、手がユーザの視点に対して所定のポジションにあるか否か(例えば、ユーザの頭部の下、ユーザの腰の上、身体から少なくとも15cm、20cm、25cm、30cm、又は50cmだけ伸ばされている)、及び/又は手が特定の方法で移動したか否か(例えば、ユーザの腰の上、ユーザの頭部の下のユーザの正面の領域に向かって移動したか、又はユーザの身体若しくは脚から離れたか)に基づいて決定される。いくつかの実施形態では、準備完了状態は、ユーザインタフェースの対話要素が注意(例えば、視線)入力に応じるかどうかを判定するために使用される。
【0091】
いくつかの実施形態では、ソフトウェアは、例えばネットワーク上で、コントローラ110に電子形態でダウンロードされてもよい、又はその代わりに、光学、磁気、若しくは電子メモリ媒体などの、実体的非一時的媒体に提供されてもよい。いくつかの実施形態では、データベース408は、同様に、コントローラ110に関連付けられたメモリに記憶される。代替的又は追加的に、コンピュータの記載された機能の一部又は全ては、カスタム又は半カスタム集積回路又はプログラム可能なデジタル信号プロセッサ(DSP)などの専用のハードウェアで実行されてもよい。コントローラ110は、例として、画像センサ404とは別個のユニットとして
図4に示されているが、コントローラの処理機能の一部又は全部は、好適なマイクロプロセッサ及びソフトウェアによって、又は画像センサ404(例えば、ハンドトラッキングデバイス)のハウジング内の専用回路によって、又は他の方法で画像センサ404に関連付けることができる。いくつかの実施形態では、これらの処理機能のうちの少なくともいくつかは、(例えば、テレビセット、ハンドヘルドデバイス、又はヘッドマウントデバイスにおいて)表示生成コンポーネント120と統合された好適なプロセッサによって、又はゲームコンソール又はメディアプレーヤなどの任意の他の適切なコンピュータ化されたデバイスを用いて実行されてもよい。画像センサ404の感知機能は、同様に、センサ出力によって制御されるコンピュータ又は他のコンピュータ化された装置に統合することができる。
【0092】
図4は、いくつかの実施形態による、画像センサ404によってキャプチャされた深度マップ410の概略図を更に含む。深度マップは、上述したように、それぞれの深度値を有するピクセルのマトリックスを含む。手406に対応するピクセル412は、このマップで背景及び手首からセグメント化されている。深度マップ410内の各ピクセルの輝度は、深度値、すなわち、画像センサ404からの測定されたz距離に反比例し、深度が上昇するにつれて階調が濃くなる。コントローラ110は、人間の手の特性を有する画像のコンポーネント(すなわち、隣接ピクセル群)を識別及びセグメント化するために、これらの深度値を処理する。これらの特性は、例えば、深度マップのシーケンスの全体サイズ、形状、フレームからフレームへの動きを含むことができる。
【0093】
図4はまた、いくつかの実施形態による、コントローラ110が手406の深度マップ410から最終的に抽出する手骨格414を概略的に示す。
図4では、手骨格414は、元の深度マップからセグメント化された手の背景416に重ね合わされる。いくつかの実施形態では、手(例えば、指関節、指先、手のひらの中心、手首に接続する手の終端など)、及び任意選択的に手に接続された手首又は腕上の主要な特徴点が、手骨格414上で識別され配置される。いくつかの実施形態では、複数の画像フレーム上にわたるこれらの主要な特徴点のロケーション及び移動がコントローラ110によって使用されて、いくつかの実施形態により、手によって実行される手ジェスチャ又は手の現在の状態を判定する。
【0094】
図5は、アイトラッキングデバイス130(
図1)の例示的な実施形態を示す。いくつかの実施形態では、アイトラッキングデバイス130は、シーン105に対する、又は表示生成コンポーネント120を介して表示されたXRコンテンツに対する、ユーザの視線のポジション及び移動を追跡するように、アイトラッキングユニット245(
図2)によって制御される。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120と統合される。例えば、いくつかの実施形態では、表示生成コンポーネント120がヘッドセット、ヘルメット、ゴーグル、又は眼鏡などのヘッドマウントデバイス、又はウェアラブルフレームに配置されたハンドヘルドデバイスである場合、ヘッドマウントデバイスは、ユーザによる視聴のためのXRコンテンツを生成するコンポーネント及びXRコンテンツに対するユーザの視線を追跡するためのコンポーネントの両方を含む。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120とは別個である。例えば、表示生成コンポーネントがハンドヘルドデバイス又はXRチャンバである場合、アイトラッキングデバイス130は、任意選択的に、ハンドヘルドデバイス又はXRチャンバとは別個のデバイスである。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイス又はヘッドマウントデバイスの一部である。いくつかの実施形態では、ヘッドマウントアイトラッキングデバイス130は、任意選択的に、頭部に装着されている表示生成コンポーネント又は頭部に装着されていない表示生成コンポーネントとともに使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、ヘッドマウント表示生成コンポーネントと組み合わせて使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、非ヘッドマウント表示生成コンポーネントの一部である。
【0095】
いくつかの実施形態では、表示生成コンポーネント120は、ユーザの目の前に左及び右の画像を含むフレームを表示して、3D仮想ビューをユーザに提供するディスプレイ機構(例えば、左右の目近傍ディスプレイパネル)を使用する。例えば、ヘッドマウント表示生成コンポーネントは、ディスプレイとユーザの目との間に位置する左右の光学レンズ(本明細書では接眼レンズと称される)を含んでもよい。いくつかの実施形態では、表示生成コンポーネントは、表示のためにユーザの環境のビデオをキャプチャする1つ以上の外部ビデオカメラを含んでもよい、又はそれに結合されてもよい。いくつかの実施形態では、ヘッドマウント表示生成コンポーネントは、ユーザが物理的環境を直接視認し、透明又は半透明ディスプレイ上に仮想オブジェクトを表示することができる透明又は半透明のディスプレイを有してもよい。いくつかの実施形態では、表示生成コンポーネントは、仮想オブジェクトを物理的環境に投影する。仮想オブジェクトは、例えば、物理的表面上に、又はホログラフとして投影され、それによって、個人は、システムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを観察することができる。そのような場合、左右の目のための別個のディスプレイパネル及び画像フレームが必要とされない場合がある。
【0096】
図5に示されるように、いくつかの実施形態では、視線トラッキングデバイス130は、少なくとも1つのアイトラッキングカメラ(例えば、赤外線(IR)又は近IR(NIR)カメラ)、並びに光(例えば、IR又はNIR光)をユーザの目に向けて発する照明源(例えば、LEDのアレイ若しくはリングなどのIR又はNIR光源)を含む。アイトラッキングカメラは、ユーザの目に向けられて、光源からの反射IR又はNIR光を目から直接受信してもよく、又は代替的に、ユーザの目と、視覚的光が通過することを可能にしながら目からアイトラッキングカメラにIR又はNIR光を反射させるディスプレイパネルとの間に配置される「ホット」ミラーに向けられてもよい。視線トラッキングデバイス130は、任意選択的に、ユーザの目の画像を(例えば、1秒当たり60~120フレーム(fps)でキャプチャされるビデオストリームとして)キャプチャし、画像を解析して、視線トラッキング情報を生成し、視線トラッキング情報をコントローラ110に通信する。いくつかの実施形態では、ユーザの両目は、それぞれのアイトラッキングカメラ及び照明源によって別々に追跡される。いくつかの実施形態では、ユーザの片目のみが、個別のアイトラッキングカメラ及び照明源によって追跡される。
【0097】
いくつかの実施形態では、アイトラッキングデバイス130は、デバイス固有の較正プロセスを使用して較正されて、特定の動作環境100用のアイトラッキングデバイスのパラメータ、例えば、LED、カメラ、ホットミラー(存在する場合)、接眼レンズ、及びディスプレイスクリーンの3D幾何学的関係及びパラメータを判定する。デバイス固有の較正プロセスは、AR/VR機器のエンドユーザへの配送前に、工場又は別の施設で実行されてもよい。デバイス固有の較正プロセスは、自動較正プロセスであってもよく、又は手動較正プロセスであってもよい。ユーザ固有の較正プロセスは、特定のユーザの目パラメータ、例えば、瞳孔ロケーション、中心視覚ロケーション、光軸、視軸、目間隔などの推定を含んでもよい。いくつかの実施形態によれば、いったんアイトラッキングデバイス130についてデバイス固有及びユーザ固有のパラメータが判定されると、アイトラッキングカメラによってキャプチャされた画像は、グリント支援方法を使用して処理され、ディスプレイに対するユーザの現在の視覚軸及び視点を判定することができる。
【0098】
図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に向けられてもよい。
【0099】
いくつかの実施形態では、コントローラ110は、AR又はVRフレーム562(例えば、左及び右のディスプレイパネルの左及び右のフレーム)をレンダリングし、フレーム562をディスプレイ510に提供する。コントローラ110は、様々な目的のために、例えば、表示のためにフレーム562を処理する際に、アイトラッキングカメラ540からの視線トラッキング入力542を使用する。コントローラ110は、任意選択的に、グリント支援方法又は他の適切な方法を使用して、アイトラッキングカメラ540から得られた視線トラッキング入力542に基づいて、ディスプレイ510上のユーザの視点を推定する。視線トラッキング入力542から推定された視点は、任意選択的に、ユーザが現在見ている方向を判定するために使用される。
【0100】
以下、ユーザの現在の視線方向のいくつかの可能な使用事例について説明するが、これは限定することを意図するものではない。例示的な使用例として、コントローラ110は、判定されたユーザの視線方向に基づいて、仮想コンテンツを異なってレンダリングすることができる。例えば、コントローラ110は、周辺領域においてよりもユーザの現在の視線方向から判定された中心視覚領域において、より高い解像度で仮想コンテンツを生成してもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内の仮想コンテンツを位置決め又は移動させてもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内に特定の仮想コンテンツを表示してもよい。ARアプリケーションにおける別の例示的な使用事例として、コントローラ110は、XR体験の物理的環境をキャプチャして、判定された方向に焦点を合わせるように外部カメラを方向付けることができる。次いで、外部カメラの自動焦点機構は、ユーザが現在ディスプレイ510上で見ている環境内のオブジェクト又は表面に焦点を合わせることができる。別の例示的な使用事例として、接眼レンズ520は集束可能なレンズであってもよく、視線トラッキング情報がコントローラによって使用されて、ユーザが現在見ている仮想オブジェクトが、ユーザの目592の収束に一致するために適切な両目連動を有するように接眼レンズ520の焦点を調整する。コントローラ110は、視線トラッキング情報を活用して、ユーザが見ている近接オブジェクトが正しい距離で現れるように接眼レンズ520を方向付けて焦点を調整することができる。
【0101】
いくつかの実施形態では、アイトラッキングデバイスは、ウェアラブルハウジングに取り付けられた、ディスプレイ(例えば、ディスプレイ510)、2つの接眼レンズ(例えば、接眼レンズ(単数又は複数)520)、アイトラッキングカメラ(例えば、アイトラッキングカメラ(単数又は複数)540)、及び光源(例えば、光源530(例えば、IR LED又はNIR LED))を含むヘッドマウントデバイスの一部である。光源は、ユーザの目(単数又は複数)592に向かって光(例えば、IR光又はNIR光)を発する。いくつかの実施形態では、光源は、
図5に示されるように、各レンズの周りにリング又は円状に配置されてもよい。いくつかの実施形態では、8つの光源530(例えば、LED)が、一例として各レンズ520の周りに配置される。しかしながら、より多くの又はより少ない光源530が使用されてもよく、光源530の他の配置及びロケーションが用いられてもよい。
【0102】
いくつかの実施形態では、ディスプレイ510は、可視光範囲内の光を発し、IR又はNIR範囲内の光を発さないため、視線トラッキングシステムにノイズを導入しない。アイトラッキングカメラ(単数又は複数)540のロケーション及び角度は、例として与えられ、限定することを意図するものではないことに留意されたい。いくつかの実施形態では、単一のアイトラッキングカメラ540がユーザの顔の各側に位置する。いくつかの実施形態では、2つ以上のNIRカメラ540をユーザの顔の各側に使用することができる。いくつかの実施形態では、より広い視野(FOV)を有するカメラ540と狭いFOVを有するカメラ540が、ユーザの顔の各側に使用されてもよい。いくつかの実施形態では、1つの波長(例えば、850nm)で動作するカメラ540と異なる波長(例えば、940nm)で動作するカメラ540とが、ユーザの顔の各側に使用されてもよい。
【0103】
図5に示すような視線トラッキングシステムの実施形態は、例えば、コンピュータ生成現実、仮想現実、及び/又は複合現実アプリケーションに使用されて、コンピュータ生成現実、仮想現実、拡張現実、及び/又は拡張仮想の体験をユーザに提供することができる。
【0104】
図6Aは、いくつかの実施形態による、グリント支援視線トラッキングパイプラインを示す。いくつかの実施形態では、視線トラッキングパイプラインは、グリント支援視線トラッキングシステム(例えば、
図1及び
図5に示されるようなアイトラッキングデバイス130)によって実現される。グリント支援視線トラッキングシステムは、追跡状態を維持することができる。当初、追跡状態はオフ又は「いいえ」である。追跡状態にあるとき、グリント支援視線トラッキングシステムは、現フレームを解析する際に前のフレームからの先行情報を使用して、現フレーム内の瞳孔輪郭及びグリントを追跡する。追跡状態にない場合、グリント支援視線トラッキングシステムは、現フレーム内の瞳孔及びグリントを検出しようとし、それに成功した場合、追跡状態を「はい」に初期化し、追跡状態で次のフレームに続く。
【0105】
図6Aに示されるように、視線トラッキングカメラは、ユーザの左右の目の左右の画像をキャプチャし得る。次いで、キャプチャされた画像は、610で開始される処理のために視線トラッキングパイプラインに入力される。要素600に戻る矢印によって示されるように、視線トラッキングシステムは、例えば、毎秒60~120フレームの速度で、ユーザの目の画像をキャプチャし続けることができる。いくつかの実施形態では、キャプチャされた画像の各セットが、処理のためにパイプラインに入力されてもよい。しかしながら、いくつかの実施形態、又はいくつかの条件下では、全てのキャプチャされたフレームがパイプラインによって処理されるわけではない。
【0106】
610で、現在のキャプチャされた画像について、追跡状態がはいである場合、この方法は要素640に進む。610で、追跡状態がいいえである場合、620に示されるように、画像が解析されて、画像内のユーザの瞳孔及びグリントを検出する。630で、瞳孔とグリントが正常に検出される場合、方法は要素640に進む。正常に検出されない場合、方法は要素610に戻り、ユーザの目の次の画像を処理する。
【0107】
640において、要素610から進む場合、以前のフレームからの前の情報に部分的に基づいて瞳孔及びグリントを追跡するために、現在のフレームが分析される。640で、要素630から進む場合、現フレーム内の検出された瞳孔及びグリントに基づいて、追跡状態が初期化される。要素640での処理の結果は、追跡又は検出の結果が信頼できることを確認するためにチェックされる。例えば、結果は、瞳孔及び視線推定を実行するための十分な数のグリントが現フレームで正常に追跡又は検出されるかどうかを判定するためにチェックすることができる。650で、結果が信頼できない場合、追跡状態は要素660でいいえに設定され、方法は要素610に戻り、ユーザの目の次の画像を処理する。650で、結果が信頼できる場合、方法は要素670に進む。670で、追跡状態は、はいに設定され(まだはいではない場合)、瞳孔及びグリント情報が要素680に渡されて、ユーザの視点を推定する。
【0108】
図6Aは、特定の実装形態で使用され得るアイトラッキング技術の一例として機能することを意図している。当業者によって認識されるように、現在存在するか、又は将来開発される他のアイトラッキング技術は、様々な実施形態によるXR体験をユーザに提供するためにコンピュータシステム101において、本明細書に記載されるグリント支援アイトラッキング技術の代わりに、又はそれと組み合わせて使用することができる。
【0109】
いくつかの実施形態では、現実世界環境602のキャプチャされた部分は、XR体験、例えば、1つ以上の仮想オブジェクトが現実世界環境602の表現の上に重ね合わされる複合現実環境をユーザに提供するために使用される。
【0110】
図6Bは、いくつかの実施形態による、XR体験を提供するための電子デバイス101の例示的な環境を示す。
図6Bでは、現実世界環境602は、電子デバイス101、ユーザ608、及び現実世界オブジェクト(例えば、テーブル604)を含む。
図6Bに示されるように、電子デバイス101は、ユーザ608の1つ以上の手が自由である(例えば、ユーザ608が任意選択的に1つ以上の手でデバイス101を保持していない)ように、任意選択的に三脚に取り付けられるか、又は他の方法で現実世界環境602に固定される。上述したように、デバイス101は、任意選択的に、デバイス101の異なる側に位置決めされたセンサの1つ以上のグループを有する。例えば、デバイス101は、デバイス101の「後」側及び「前」側にそれぞれ位置する(例えば、デバイス101のそれぞれの面から情報をキャプチャすることができる)センサ群612-1及びセンサ群612-2を任意選択的に含む。本明細書で使用される場合、デバイス101の前側は、ユーザ608に面する側であり、デバイス101の後側は、ユーザ608から離れて面する側である。
【0111】
いくつかの実施形態では、センサ群612-2は、ユーザの目及び/又は視線を追跡するための1つ以上のセンサを含むアイトラッキングユニット(例えば、
図2を参照して上述したアイトラッキングユニット245)を含み、アイトラッキングユニットは、ユーザ608を「見て」、上述の方法でユーザ608の目(単数又は複数)を追跡することができる。いくつかの実施形態では、デバイス101のアイトラッキングユニットは、ユーザ608の目の移動、向き、及び/又は視線をキャプチャし、移動、向き、及び/又は視線を入力として処理することができる。
【0112】
いくつかの実施形態では、センサ群612-1は、
図6Bに示すように、デバイス101の「後」側に保持されたユーザ608の1つ以上の手を追跡することができるハンドトラッキングユニット(例えば、
図2を参照して上述したハンドトラッキングユニット243)を含む。いくつかの実施形態では、ハンドトラッキングユニットは、デバイス101が1つ以上の手のポジションを追跡する間に、ユーザ608がデバイス101の「前」側に1つ以上の手を追加的に又は代替的に保持することができるように、センサ群612-2に任意選択的に含まれる。上述したように、デバイス101のハンドトラッキングユニットは、ユーザ608の1つ以上の手の移動、ポジション、及び/又はジェスチャをキャプチャし、移動、ポジション、及び/又はジェスチャを入力として処理することができる。
【0113】
いくつかの実施形態において、センサ群612-1は、テーブル604を含む現実世界環境602の画像をキャプチャするように構成された1つ以上のセンサ(例えば、
図4を参照して上述した画像センサ404など)を任意選択的に含む。上述したように、デバイス101は、現実世界環境602の部分(例えば、一部又は全部)の画像をキャプチャし、デバイス101の1つ以上の表示生成コンポーネント(例えば、現実世界環境602のキャプチャされた部分に面するデバイス101の側とは反対の、ユーザに面するデバイス101の側に任意選択的に位置するデバイス101のディスプレイ)を介して、現実世界環境602のキャプチャされた部分をユーザに提示することができる。
【0114】
いくつかの実施形態では、現実世界環境602のキャプチャされた部分は、XR体験、例えば、1つ以上の仮想オブジェクトが現実世界環境602の表現の上に重ね合わされる複合現実環境をユーザに提供するために使用される。
【0115】
したがって、本明細書の説明は、現実世界オブジェクトの表現及び仮想オブジェクトの表現を含む三次元環境(例えば、XR環境)のいくつかの実施形態を説明する。例えば、三次元環境は、任意選択的に、(例えば、コンピュータシステムのカメラ及びディスプレイを介して能動的に、又はコンピュータシステムの透明若しくは半透明のディスプレイを介して受動的に)三次元環境内でキャプチャされ、表示される、物理的環境内に存在するテーブルの表現を含む。上述のように、三次元環境は、任意選択的に、三次元環境がコンピュータシステムの1つ以上のセンサによってキャプチャされ、表示生成コンポーネントを介して表示される物理的環境に基づく複合現実システムである。複合現実システムとして、物理的環境のそれぞれの部分及び/又はオブジェクトが、コンピュータシステムによって表示される三次元環境内に存在するかのように見えるように、コンピュータシステムは、任意選択的に、物理的環境の部分及び/又はオブジェクトを選択的に表示することができる。同様に、現実世界において、対応するロケーションを有する三次元環境内のそれぞれのロケーションに仮想オブジェクトを配置することによって、仮想オブジェクトが現実世界(例えば、物理的環境)内に存在するかのように見えるように、コンピュータシステムは、任意選択的に、三次元環境内の仮想オブジェクトを表示することができる。例えば、コンピュータシステムは、任意選択的に、現実の花瓶が物理的環境内のテーブルの上に配置されているかのように見えるように、花瓶を表示する。いくつかの実施形態では、三次元環境内の個別のロケーションは、物理的環境内で、対応するロケーションを有する。したがって、コンピュータシステムが、物理的オブジェクトに対して個別のロケーション(例えば、ユーザの手のロケーション、若しくはその付近の、又は物理的テーブルに、若しくはその付近など)に、仮想オブジェクトを表示するものとして説明されるとき、コンピュータシステムは、仮想オブジェクトが物理的世界内の物理的オブジェクトに、又はその付近にあるかのように見えるように、三次元環境内の特定のロケーションに仮想オブジェクトを表示する(例えば、仮想オブジェクトが、その特定のロケーションにある現実のオブジェクトであるとする場合に、仮想オブジェクトが表示されたであろう物理的環境内のロケーションに対応する三次元環境内のロケーションに、仮想オブジェクトは表示される)。
【0116】
いくつかの実施形態では、三次元環境内に表示される物理的環境内に存在する現実世界オブジェクト(例えば、及び/又は表示生成コンポーネントを介して見ることができる現実世界オブジェクト)は、三次元環境内にのみ存在する仮想オブジェクトと相互作用することができる。例えば、三次元環境は、テーブルと、テーブルの上に配置された花瓶と、を含むことができ、テーブルは、物理的環境内の物理的テーブルのビュー(又は表現)であり、花瓶は、仮想オブジェクトである。
【0117】
同様に、仮想オブジェクトが、物理的環境内の現実のオブジェクトであるかのように、ユーザは、任意選択的に、1つ以上の手を使用して三次元環境内の仮想オブジェクトと相互作用することができる。例えば、上述のように、コンピュータシステムの1つ以上のセンサは、任意選択的に、ユーザの手のうちの1つ以上をキャプチャし、三次元環境内のユーザの手の表現を(例えば、上述の三次元環境内の現実世界オブジェクトを表示するのと同様の方法で)表示する、あるいは、いくつかの実施形態では、ユーザインタフェース、又は透明/半透明表面へのユーザインタフェースの投影、又はユーザの目若しくはユーザの目の視野へのユーザインタフェースの投影を表示している表示生成コンポーネントの一部の透明性/半透明性に起因して、ユーザの手は、ユーザインタフェースを通して物理的環境を見る能力によって、表示生成コンポーネントを介して見ることができる。したがって、いくつかの実施形態では、ユーザの手は、三次元環境内の個別のロケーションに表示され、それらが、物理的環境内の実際の物理的オブジェクトであるかのように、三次元環境内の仮想オブジェクトと相互作用できる三次元環境内のオブジェクトであるかのように、処理される。いくつかの実施形態では、コンピュータシステムは、物理的環境におけるユーザの手の移動と併せて、三次元環境におけるユーザの手の表現の表示を更新することができる。
【0118】
以下に説明される実施形態のうちのいくつかでは、例えば、物理的オブジェクトが、仮想オブジェクトと直接相互作用しているか否か(例えば、手が、仮想オブジェクトを、触れているか、掴んでいるか、保持しているかなど、又は仮想オブジェクトからの閾値距離内にあるか否か)を判定する目的で、コンピュータシステムは、任意選択的に、物理的世界内の物理的オブジェクトと三次元環境内の仮想オブジェクトとの間の「有効」距離を判定することができる。例えば、仮想オブジェクトと直接相互作用する手は、任意選択的に、仮想ボタンを押す手の指、仮想花瓶を掴むユーザの手、一緒になってアプリケーションのユーザインタフェースをピンチする/保持するユーザの手の2本の指、及び本明細書で説明される他のタイプの相互作用のいずれかのうちの1つ以上を含む。例えば、ユーザが仮想オブジェクトと相互作用しているか否か、及び/又はユーザが仮想オブジェクトとどのように相互作用しているかを判定するときに、コンピュータシステムは、任意選択的にユーザの手と仮想オブジェクトとの間の距離を判定する。いくつかの実施形態では、コンピュータシステムは、三次元環境内の手のロケーションと、三次元環境内の対象の仮想オブジェクトのロケーションとの間の距離を判定することによって、ユーザの手と仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手は、物理的世界内の特定のポジションに位置し、これは、コンピュータシステムが、任意選択的に、三次元環境内の特定の対応するポジション(例えば、手が物理的な手ではなく仮想的な手である場合に、手が表示された三次元環境内のポジション)において、キャプチャして表示する。三次元環境内の手のポジションは、任意選択的に、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するために、三次元環境内の対象の仮想オブジェクトのポジションと比較される。いくつかの実施形態では、コンピュータシステムは、任意選択的に、(例えば、三次元環境内のポジションを比較することとは対照的に)物理的世界内のポジションを比較することによって、物理的オブジェクトと仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するとき、コンピュータシステムは、任意選択的に、仮想オブジェクトの物理的世界内の対応するロケーション(例えば、仮想オブジェクトが、仮想オブジェクトではなく物理的オブジェクトであるとする場合に、仮想オブジェクトが、物理的世界内に位置するであろうポジション)を判定し、次いで、対応する物理的ポジションとユーザの1つ以上の手との間の距離を判定する。いくつかの実施形態では、任意の物理的オブジェクトと任意の仮想オブジェクトとの間の距離を判定するために、同じ技法が、任意選択的に使用される。したがって、本明細書に説明されるように、物理的オブジェクトが仮想オブジェクトと接触しているか否か、又は物理的オブジェクトが仮想オブジェクトの閾値距離内にあるか否か、を判定するとき、コンピュータシステムは、任意選択的に、物理的オブジェクトのロケーションを三次元環境にマッピングするために、及び/又は仮想オブジェクトのロケーションを物理的環境にマッピングするために、上述の技術のいずれかを実行する。
【0119】
いくつかの実施形態では、同じ又は同様の技術を使用して、ユーザの視線が、どこに向けられ、何に向けられているか、及び/又はユーザによって保持された物理的スタイラスが、どこに向けられ、何に向けられているか、を判定する。例えば、ユーザの視線が物理的環境内の特定のポジションに向けられている場合、コンピュータシステムは、任意選択的に、三次元環境内の対応するポジション(例えば、視線の仮想ポジション)を判定し、仮想オブジェクトがその対応する仮想ポジションに位置する場合、コンピュータシステムは、任意選択的に、ユーザの視線が、その仮想オブジェクトに向けられていると判定する。同様に、コンピュータシステムは、任意選択的に、物理的スタイラスの向きに基づいて、スタイラスが物理的環境のどこを指しているかを判定することができる。いくつかの実施形態では、この判定に基づいて、コンピュータシステムは、スタイラスが指している物理的環境内のロケーションに対応する三次元環境内の対応する仮想ポジションを判定し、任意選択的に、スタイラスが三次元環境内の対応する仮想ポジションを指していると判定する。
【0120】
同様に、本明細書で説明される実施形態は、ユーザ(例えば、コンピュータシステムのユーザ)のロケーション、及び/又は三次元環境内のコンピュータシステムのロケーションを指してもよい。いくつかの実施形態では、コンピュータシステムのユーザは、コンピュータシステムを保持している、装着している、又は他の方法でコンピュータシステムに位置している、若しくはその付近にある。したがって、いくつかの実施形態では、コンピュータシステムのロケーションは、ユーザのロケーションのプロキシとして使用される。いくつかの実施形態では、物理的環境内のコンピュータシステム及び/又はユーザのロケーションは、三次元環境内の個別のロケーションに対応する。例えば、ユーザが、表示生成コンポーネントによって表示される物理的環境の個別の部分に面するロケーションに立った場合、コンピュータシステムのロケーションは、ユーザが、物理的環境内のオブジェクトを、オブジェクトが三次元環境内のコンピュータシステムの表示生成コンポーネントによって表示されたのと同じポジション、向き、及び/又はサイズで(例えば、絶対的に及び/又は互いに対して)見ることになる、物理的環境内のロケーション(及び三次元環境内のその対応するロケーション)である。同様に、三次元環境内に表示された仮想オブジェクトが、物理的環境内の物理的オブジェクトであった(例えば、仮想オブジェクトが、三次元環境内と同じ物理的環境内のロケーションに配置され、三次元環境内と同じ物理的環境内のサイズ及び向きを有する)場合、コンピュータシステム及び/又はユーザのロケーションは、ユーザが、物理的環境内の仮想オブジェクトを、三次元環境内のコンピュータシステムの表示生成コンポーネントによって表示されたのと同じポジション、向き、及び/又はサイズで(例えば、絶対的に、及び/又は互いに対して、並びに現実世界オブジェクトにおいて)見ることになるポジションである。
【0121】
本開示では、コンピュータシステムとの相互作用に関して、様々な入力方法が説明される。一例が1つの入力デバイス又は入力方法を使用して提供され、別の例が別の入力デバイス又は入力方法を使用して提供される場合、各例は、別の例に関して記載された入力デバイス又は入力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な出力方法が、コンピュータシステムとの相互作用に関して説明される。一例が1つの出力デバイス又は出力方法を使用して提供され、別の例が別の出力デバイス又は出力方法を使用して提供される場合、各例は、別の例に関して記載された出力デバイス又は出力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な方法が、コンピュータシステムを介した仮想環境又は複合現実環境との相互作用に関して説明される。一例が仮想環境との相互作用を使用して提供され、別の例が複合現実環境を使用して提供される場合、各例は、別の例に関して説明された方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。したがって、本開示は、各例示的な実施形態の説明における実施形態の全ての特徴を網羅的に列挙することなく、複数の例の特徴の組み合わせである実施形態を開示する。
【0122】
ユーザインタフェース及び関連するプロセス
ここで、ユーザインタフェース(「UI」)の実施形態、及び、表示生成コンポーネント、1つ以上の入力デバイス、及び(任意選択的に)1つ又は複数のカメラを備えた、ポータブル多機能デバイス又はヘッドマウントデバイスなどのコンピュータシステムにおいて実行され得る関連プロセスに注目する。
【0123】
図7A~
図7Gは、いくつかの実施形態による、電子デバイスが三次元環境における1つ以上の仮想オブジェクトの空間配置をどのように更新するかの例を示す。
【0124】
図7Aは、表示生成コンポーネント120を介して、三次元環境702を表示する電子デバイス101を示す。いくつかの実施形態では、電子デバイス101は、本開示の範囲から逸脱することなく、二次元環境内で
図7A~
図7Gを参照して説明した1つ以上の技法を利用することを理解されたい。
図1~
図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成コンポーネント120(例えば、タッチスクリーン)及び複数の画像センサ314を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101は、ユーザが電子デバイス101と相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120は、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示すユーザインタフェースは、ユーザにユーザインタフェースを表示する表示生成コンポーネントと、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、及び/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するセンサとを含むヘッドマウントディスプレイに実現することもできる。
【0125】
図7Aでは、電子デバイス101は、例えば、第1のアプリケーションの第1のユーザインタフェース704、第2のアプリケーションの第2のユーザインタフェース706、三次元環境702へのアクセスを有する第2の電子デバイスの第2のユーザの表現708、及び第2の電子デバイスの表現710を含む三次元環境702を表示する。いくつかの実施形態では、電子デバイス101は、電子デバイス101のユーザの視点から三次元環境702を表示する。いくつかの実施形態では、電子デバイス101のユーザの視点は、電子デバイス101の物理的環境内の電子デバイス101の物理ロケーションに対応する三次元環境702内のロケーションに位置する。
【0126】
いくつかの実施形態では、第1のアプリケーションは、電子デバイス101にとってプライベートであり、第2の電子デバイスと共有されないので、電子デバイス101は、第1のアプリケーションのユーザインタフェース704を表示するが、第2の電子デバイスは、第1のアプリケーションのユーザインタフェース704を表示しない。いくつかの実施形態では、第2のアプリケーションは、電子デバイス101と第2の電子デバイスとの間で共有され、したがって、第1の電子デバイス101及び第2の電子デバイスは、第2のアプリケーションのユーザインタフェース706を表示する。
【0127】
いくつかの実施形態では、第2のユーザの表現708及び/又は第2の電子デバイスの表現710は、表示生成コンポーネント120の透明部分を通した第2のユーザ及び第2の電子デバイスのビューである(例えば、真の又は実際のパススルー)。例えば、第2の電子デバイスは、三次元環境702における第2の電子デバイスの表現710とユーザの視点との間の空間的関係と同じ、電子デバイス120に対する空間的関係を有する電子デバイス101の物理的環境に位置する。いくつかの実施形態では、第2のユーザの表現708及び/又は第2の電子デバイスの表現710は、表示生成コンポーネント120を介して表示される表現(例えば、仮想又はビデオパススルー)である。例えば、第2の電子デバイスは、電子デバイス101から遠隔に位置するか、又は第2の電子デバイスの表現710と三次元環境内のユーザの視点との間の空間関係とは異なる電子デバイス101に対する空間関係に位置する。いくつかの実施形態では、電子デバイス101は、表示生成コンポーネントを介して表現708及び710を表示し、第2の電子デバイスは、第2の電子デバイスの表現710と三次元環境702内のユーザの視点との間の空間関係と同じ電子デバイス120に対する空間関係を有する電子デバイス101の物理的環境内に位置する。いくつかの実施形態では、電子デバイス101は、第2の電子デバイスの表現710を表示することなく、第2のユーザの表現708を表示する。
【0128】
いくつかの実施形態では、電子デバイス101のユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置は、三次元環境702内のユーザの視点に対する(例えば、仮想)オブジェクトのポジション及び/又は向きの範囲を指定する1つ以上の基準を満たす。例えば、1つ以上の基準は、電子デバイス101のユーザ(及び任意選択的に第2の電子デバイスの第2のユーザ)がユーザインタフェース704及び706並びに表現708及び710を見て対話することを可能にする、電子デバイス101のユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置を画定する。例えば、
図7Aに示されるユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置は、電子デバイス101のユーザがユーザインタフェース704及び706を見ること、及び/又はそれらと対話することを可能にする。
【0129】
いくつかの実施形態では、電子デバイス101は、
図7Aに示すように、電子デバイス101(例えば、及び/又は表示生成コンポーネント120)の物理的環境における電子デバイス101(例えば、及び/又は表示生成コンポーネント120)の移動を検出したことに応じて、電子デバイス101が三次元環境702を表示するユーザの視点を更新する。いくつかの実施形態では、電子デバイス101は、ユーザ及び/又は電子デバイス101及び/又は表示生成コンポーネント120の物理的環境における電子デバイス101のユーザの移動を(例えば、入力デバイス314を介して)検出したことに応じて、ユーザの視点を更新する。
【0130】
図7Bは、
図7Aに示す電子デバイス101の移動の検出に応じて三次元環境702の表示を更新する電子デバイス101の一例を示す。いくつかの実施形態では、電子デバイス101は、方法1000の1つ以上のステップに従って、仮想オブジェクト(例えば、ユーザインタフェース704及び706並びに表現708及び710)のポジションを一緒に又は別々に更新するための要求に対応する入力に応じて、同様に三次元環境702を更新する。
図7Bに示されるように、電子デバイス101の物理的環境における電子デバイス101のポジションは、
図7Aに示される移動に応じて更新され、電子デバイス101が三次元環境702を表示する三次元環境702におけるユーザの視点もそれに応じて更新される。例えば、ユーザインタフェース704及び706並びに表現708及び710は、
図7Aにおけるよりも
図7Bにおけるユーザの視点から遠くにある。
【0131】
いくつかの実施形態では、電子デバイス101のユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置は、1つ以上の基準を満たさない。例えば、ユーザインタフェース704及び/又はユーザインタフェース706が、三次元環境におけるユーザの視点からの閾値距離(例えば、ユーザインタフェース704及び/又は706に入力を提供するユーザの可読性及び/又は能力の閾値距離)よりも大きいため、基準は満たされない。方法800を参照して、以下追加の基準を提供する。いくつかの実施形態では、空間配置が1つ以上の基準を満たさないので、電子デバイス101は、選択されると、ユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置が1つ以上の基準を満たすように(例えば、三次元環境702を「再センタリングする」)、電子デバイス101に三次元環境702を更新させる選択可能なオプション712を表示する。
【0132】
いくつかの実施形態では、電子デバイス101は、選択可能な再センタリングオプション712の選択を検出すること、又はボタン703などの電子デバイス101と通信している力学的入力デバイスに向けられた入力を検出することなど、三次元環境702を再センタリングする要求に対応する入力を検出する。
【0133】
いくつかの実施形態では、電子デバイス101は、間接選択入力、直接選択入力、エアジェスチャ選択入力、又は入力デバイス選択入力を検出することによって、選択可能なオプション712などの、ユーザインタフェース要素のうちの1つの選択を検出する。いくつかの実施形態では、ユーザインタフェース要素の選択を検出することは、ユーザの手713aが個別のジェスチャ(例えば、「手状態B」)を実行したことを検出することを含む。いくつかの実施形態では、間接選択入力を検出することは、ユーザの手713aが、ユーザが自分の親指を手の別の指にタッチするピンチハンドジェスチャなどの選択ジェスチャ(例えば、「手状態B」)を行うことを検出しながら、入力デバイス314を介して、個別のユーザインタフェース要素に向けられたユーザの視線を検出することを含む。いくつかの実施形態では、直接選択入力を検出することは、入力デバイス314を介して、ユーザの手713aが、個別のユーザインタフェース要素のロケーションの既定の閾値距離(例えば、1、2、3、5、10、15、又は30センチメートル)内でのピンチジェスチャ、又はユーザの手若しくは指がポインティングする手の形状にある間に個別のユーザインタフェース要素のロケーションを「押す」プレスジェスチャなどの選択ジェスチャ(例えば、「手状態B」)をユーザの手が行うことを検出することを含む。いくつかの実施形態では、エアジェスチャ入力を検出することは、表示生成コンポーネント120を介して三次元環境702に表示されたエアジェスチャユーザインタフェース要素のロケーションでプレスジェスチャを検出しながら、個別のユーザインタフェース要素に向けられたユーザの視線を検出することを含む。いくつかの実施形態では、入力デバイス選択を検出することは、入力デバイスによって制御されるカーソルが個別のユーザインタフェース要素のロケーションに関連付けられている間、及び/又はユーザの視線が個別のユーザインタフェース要素に向けられている間に、ユーザインタフェース要素の選択に対応する既定の方法で力学的入力デバイス(例えば、スタイラス、マウス、キーボード、トラックパッドなど)の操作を検出することを含む。
【0134】
いくつかの実施形態では、ボタン703は多機能ボタンである。例えば、ユーザが閾値期間(例えば、0.1、0.2、0.3、0.5、1、又は2秒)未満にわたってボタン703aを押下したことを検出したことに応じて、電子デバイス101は、ホームユーザインタフェース(例えば、電子デバイス101のオペレーティングシステムのユーザインタフェース)を表示し、ユーザが閾値期間を超えてボタン703を押下したことを検出したことに応じて、電子デバイス101は、三次元環境702を再センタリングする。いくつかの実施形態では、電子デバイス101は、ユーザがダイヤルを押すか又はダイヤルを回すことを検出するように構成された竜頭又はダイヤルと通信する。いくつかの実施形態では、ユーザがダイヤルを回したことを検出したことに応じて、電子デバイスは、ダイヤルが回された方向及び大きさに従って、三次元環境702の他の部分に対する仮想オブジェクト(例えば、ユーザインタフェース704及び706、表現708及び710)の視覚的強調のレベルを更新する。いくつかの実施形態では、ユーザが閾値期間未満にわたってダイヤルを押したことを検出したことに応じて、電子デバイス101は、ホームユーザインタフェースを表示し、ユーザが閾値期間を超えてダイヤルを押したことを検出したことに応じて、電子デバイス101は、三次元環境702を再センタリングする。
【0135】
いくつかの実施形態では、
図7Bの再センタリングオプション712に向けられた入力及びボタン703に向けられた入力は、三次元環境702を再センタリングする要求に対応する。
図7Bは両方の入力を示すが、いくつかの実施形態では、電子デバイス101は、入力を同時に検出するのではなく、これらの入力のうちの1つを一度に検出することを理解されたい。いくつかの実施形態では、
図7Bに示される入力のうちの1つ(又は複数)に応じて、電子デバイス101は、
図7Cに示されるように三次元環境702を更新する。いくつかの実施形態では、電子デバイス101は、そのようにする要求に対応する入力が受信されない限り(例えば、ユーザの視点に対する仮想オブジェクトの空間配置が1つ以上の基準を満たさない場合であっても)、三次元環境702を再センタリングしない。
【0136】
図7Cは、
図7Bに示す入力のうちの1つ以上に従って更新された三次元環境702を表示する電子デバイス101を示す。いくつかの実施形態では、電子デバイス101のユーザの視点は、電子デバイス101が
図7Bに示す再センタリング入力を受信する前に
図7Aに示すようにユーザインタフェース704及び706並びに表現708及び710から離れたので、再センタリング入力に応じて、電子デバイス101は、ユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置が上述の1つ以上の基準を満たすように、三次元環境702におけるユーザインタフェース704及び706並びに表現708及び710のポジションを更新する。例えば、電子デバイス101は、ユーザの更新された視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置が1つ以上の基準を満たすように、三次元環境702におけるユーザの更新された視点に基づいて、ユーザインタフェース704及び706並びに表現708及び710のポジション及び/又は向きを更新する。いくつかの実施形態では、ユーザの更新された視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置が1つ以上の基準を満たすとき、ユーザインタフェース704及び706は、ユーザインタフェースとのユーザ対話を容易にする電子デバイス101のユーザの視点からの距離及び/又は視点に対する向きにある。
【0137】
いくつかの実施形態では、電子デバイス101は、三次元環境702を再センタリングするために、1つ以上の仮想オブジェクトに関連付けられた空間テンプレートを使用する。例えば、第2のアプリケーションのユーザインタフェース706は、電子デバイス101のユーザ及び第2の電子デバイスの第2のユーザによって消費されている共有コンテンツ(例えば、ビデオコンテンツ)であり、共有コンテンツ空間テンプレートに関連付けられる。いくつかの実施形態では、共有コンテンツ空間テンプレートは、電子デバイス101のユーザの視点及び第2の電子デバイスのユーザの視点(例えば、表現708及び710によって表される)が、ユーザインタフェース706に含まれるコンテンツがユーザに見える距離でユーザインタフェース706の同じ側にあるように、電子デバイス101のユーザの視点に対してユーザインタフェース706並びに表現708及び710を位置付けることを含む。
【0138】
したがって、
図7B~
図7Cに示すように、いくつかの実施形態では、ユーザの視点が更新された後に(例えば、
図7Aに示す電子デバイス101の移動に応じて)三次元環境702を再センタリングする要求を検出したことに応じて、電子デバイス101は、ユーザインタフェース704及び706並びに表現708及び710のポジション及び/又は向きを更新することによって三次元環境702を再センタリングする。いくつかの実施形態では、電子デバイス101は、再センタリング入力を検出する前に、ユーザインタフェース704及び706並びに表現708及び710をユーザの視点から離れるように移動させる要求に対応する入力を検出する。いくつかの実施形態では、ユーザインタフェース704及び706並びに表現708及び710を移動させる要求(単数又は複数)を検出した後に再センタリング入力を検出したことに応じて、電子デバイス101は、(例えば、ユーザインタフェース704及び706並びに/又は表現708及び710のポジション及び/若しくは向きを更新するのとは対照的に)三次元環境702内のユーザの視点を更新する。例えば、電子デバイス101は、ユーザの視点を三次元環境内の新たなロケーションに移動させて(例えば、物理的環境内の電子デバイス101のロケーションから独立して)、ユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置を更新して、上述の1つ以上の基準を満たす。
【0139】
図7Cはまた、三次元環境702内の第1のアプリケーションのユーザインタフェース704のポジションを更新するための要求に対応する入力を検出する電子デバイス101の一例を示す。例えば、手713aは、上述したように、第1のアプリケーションのユーザインタフェース704に向けられた選択入力を提供する。いくつかの実施形態では、選択入力の一部を検出した後、例えば、親指が別の指に触れているピンチハンド形状であるが、ピンチジェスチャを完了するために親指と指を離す前に、電子デバイス101は、手713aの移動を検出する。いくつかの実施形態では、電子デバイス101は、
図7Dに示すように、選択入力の途中で検出された手713aの移動に従って、第1のアプリケーションのユーザインタフェース704のポジションを更新する。
【0140】
図7Dは、
図7Cに示す入力に応じて、三次元環境702内の更新されたロケーションに第1のアプリケーションのユーザインタフェース704を表示する電子デバイス101の一例を示す。いくつかの実施形態では、第1のアプリケーションのユーザインタフェース704のロケーションを更新することは、ユーザの視点に対するユーザインタフェース704及び706並びに表現708及び710の空間配置が1つ以上の基準を満たさないようにする。例えば、第1のアプリケーションのユーザインタフェース704は、電子デバイス101の視野内に完全にはない。別の例として、第1のアプリケーションのユーザインタフェース704と第2のアプリケーションのユーザインタフェース706との間の間隔は、方法800を参照して以下に説明される1つ以上の基準に含まれる既定の閾値を超える。いくつかの実施形態では、1つ以上の基準が満たされていないことを検出したことに応じて、電子デバイス101は、再センタリングオプション712を表示する。
【0141】
いくつかの実施形態では、電子デバイス101は、三次元環境702を再センタリングする要求に対応する入力を検出する。例えば、電子デバイス101は、上記でより詳細に説明したように、手713aによる再センタリングオプション712の選択を検出するか、又は
図7Dのボタン703を介した入力を検出する。いくつかの実施形態では、ユーザインタフェース704のポジションが更新された後に三次元環境101を再センタリングする要求に対応する入力を検出したことに応じて、電子デバイス101は、
図7Eに示すように、1つ以上の基準を満たすようにユーザインタフェース704のポジションを更新する。
【0142】
図7Eは、
図7Dに示される再センタリング入力に応じて、三次元環境702内の更新されたロケーション(例えば、及び/又は向き)に第1のアプリケーションのユーザインタフェース704を表示する電子デバイス101を示す。いくつかの実施形態では、第1のアプリケーションのユーザインタフェース704のポジション(例えば、及び/又は向き)は、(例えば、1つ以上の基準が満たされない原因であるユーザの視点の移動とは対照的に)三次元環境702を再センタリングする要求に対応する入力を受信する前に更新されたので、電子デバイス101は、再センタリング入力に応じて(例えば、ユーザの視点を更新することなく)三次元環境702における第1のアプリケーションのユーザインタフェース704のポジション(例えば、及び/又は向き)を更新する。例えば、電子デバイス101は、第1のアプリケーションのユーザインタフェース704のポジション及び/又は向きを、第2のアプリケーションのユーザインタフェース706の閾値距離(例えば、1つ以上の基準に含まれる)内にあるように更新し、第1のアプリケーションのユーザインタフェース704が電子デバイス101の視野内にあることを保証する。いくつかの実施形態では、電子デバイス101が、再芯出し入力を検出する前に、第2のアプリケーションのユーザインタフェース706などの異なる仮想オブジェクトの移動を検出した場合、電子デバイス101は、代わりに、再芯出し入力に応じて、その仮想オブジェクトのポジション(例えば、及び/又は向き)を更新する。
【0143】
いくつかの実施形態では、電子デバイス101は、電子デバイス101が再センタリング入力を検出する前に、どの電子デバイスがユーザインタフェース704を再位置決め及び/又は再方向決めする以前の要求を提供したかに関係なく、再センタリング入力に応じて第1のアプリケーションのユーザインタフェース704のポジションを更新する。例えば、第2の電子デバイスの第2のユーザが、(例えば、両方の電子デバイスがアクセスを有する)第2のアプリケーションのユーザインタフェース706のポジションを更新した場合、第2の電子デバイス及び電子デバイス101は、第2の電子デバイスの第2のユーザによって提供された入力に従って、三次元環境702内の更新されたポジション及び/又は向きでユーザインタフェース706を表示する。第2の電子デバイスによって検出された入力に従ったポジション及び向きでユーザインタフェース706が表示されている間に電子デバイス101が再センタリング入力を検出した場合、電子デバイス101は、上述の1つ以上の基準を満たすように、三次元環境702におけるユーザインタフェース706のポジション及び/又は向きを更新する。いくつかの実施形態では、三次元環境702内のユーザインタフェース706のポジションを更新することは、電子デバイス101及び第2の電子デバイスに、更新されたポジション及び/又はロケーションにユーザインタフェース706を表示させる。
【0144】
図7Fは、第3のアプリケーションのユーザインタフェース714を含む三次元環境702を表示する電子デバイス101の一例を示す。
図7Fに示すように、第3のアプリケーションのユーザインタフェース714の一部は、電子デバイス101の視野内にあり、第3のアプリケーションのユーザインタフェース714の一部は、電子デバイス101の視野外にある。第2のユーザ708は三次元環境702に含まれるが、第2のユーザ708は電子デバイス101の視野内にないので、電子デバイス101は、第2のユーザの表現又は第2の電子デバイスの表現を表示しない。いくつかの実施形態では、ユーザの視点、第3のアプリケーションのユーザインタフェース714、及び第2のユーザ708の空間配置は、上述の1つ以上の基準を満たさない。例えば、1つ以上の基準は、少なくとも、第2のユーザ708が電子デバイス101の視野内になく、第3のアプリケーションのユーザインタフェース714の一部が電子デバイス101の視野内にないために満たされない。1つ以上の基準が満たされないので、電子デバイス101は、三次元環境702内に再センタリングオプション712を表示する。
【0145】
いくつかの実施形態では、
図7Fに示すように、電子デバイス101は、三次元環境702を再センタリングする要求に対応する入力を検出する。いくつかの実施形態では、入力は、ボタン703に向けられた入力を検出することを含む。いくつかの実施形態では、入力は、手713aによる再センタリングオプション712の選択を検出することを含む。
図7Fは両方の入力を示しているが、いくつかの実施形態では、入力は同時に検出されないことを理解されたい。いくつかの実施形態では、再センタリング入力に応じて、電子デバイス101は、
図7Gに示すように三次元環境702を更新する。
【0146】
図7Gは、
図7Fを参照して上述した再センタリング入力に応じて三次元環境702を表示する電子デバイス101の一例を示す。いくつかの実施形態では、再センタリング入力に応じて、電子デバイス101は、電子デバイス101の視野が第2のユーザの表現708、第2の電子デバイスの表現710、及び第3のアプリケーションのユーザインタフェース714を含むように、三次元環境702内のユーザの視点を更新する。
【0147】
いくつかの実施形態では、電子デバイス101は、第3のアプリケーションのユーザインタフェース714に関連付けられた共有活動空間テンプレートに従って三次元環境702を更新する。例えば、第3のアプリケーションのユーザインタフェース714は、第3のアプリケーションのユーザインタフェース714の異なる側からユーザによって見られるように意図された仮想ボードゲーム又は他のコンテンツを含む。したがって、いくつかの実施形態では、再センタリングする要求に応じて三次元環境702を更新することは、ユーザの視点と第2のユーザの表現708との間に第3のアプリケーションのユーザインタフェース714を位置決めするために、ユーザの視点の空間配置、第3のアプリケーションのユーザインタフェース714、第2のユーザの表現708、及び第2の電子デバイスの表現710を更新することを含む。
【0148】
いくつかの実施形態では、電子デバイス101は、どの空間テンプレートが三次元環境702に適用されるかに応じて、他の空間テンプレートに従って三次元環境702を更新する。例えば、いくつかの実施形態では、三次元環境702は、三次元環境702内の特定のユーザインタフェースに関連付けられなくてもよいグループ活動空間テンプレートに関連付けられる。例えば、グループ活動空間テンプレートは、ユーザ間の(例えば、仮想)会議のために使用される。いくつかの実施形態では、電子デバイス101は、ユーザの視点が互いに向き合い、複数のユーザが電子デバイス101のユーザの視野内にあるポジションにユーザの視点を再センタリングすることによって、グループ活動空間テンプレートを適用する。
【0149】
いくつかの実施形態では、
図7Gにおいて、三次元環境702は、第2のユーザの表現708のポジション及び/又は移動に従って更新される。例えば、三次元環境702を再センタリングすることは、ユーザが第3のアプリケーションのユーザインタフェース714に関して互いに向かい合うように三次元環境702を更新することを含む。いくつかの実施形態では、再センタリング入力が受信されたときに、第2のユーザ708が三次元環境702内で
図7Fに示すポジションとは異なるポジションを有していた場合、電子デバイス101は、
図7Fに示す再センタリング入力に応じて、
図7Gに示す方法とは異なる方法で(例えば、三次元環境702内の第2のユーザ708のポジションに従って)三次元環境702を再センタリングする。
【0150】
図7A~
図7Gに示される実施形態に関する追加又は代替の詳細は、
図8A~
図8Kを参照して説明される方法800の説明において以下に提供される。
【0151】
図8A~
図8Kは、いくつかの実施形態による、三次元環境における1つ以上の仮想オブジェクトの空間配置を更新する方法を示すフローチャートである。いくつかの実施形態では、方法800は、表示生成コンポーネント(例えば、
図1、
図3、及び
図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザノン手に置いて下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)又はユーザの頭部から前方に向くカメラ)とを含む、コンピュータシステム(例えば、
図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、
図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法800のいくつかの動作は、任意選択的に、組み合わされ、且つ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0152】
いくつかの実施形態では、方法800は、表示生成コンポーネント及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイス(例えば、101)において実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0153】
図7Aなどのいくつかの実施形態では、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、電子デバイス(例えば、101)のユーザの現在の視点に対する第1の空間配置を有する複数の仮想オブジェクト(例えば、704、706)を含む三次元環境(例えば、702)を表示している間に、1つ以上の入力デバイス(例えば、314)を介して、三次元環境(例えば、702)におけるユーザの現在の視点の第1の視点から第2の視点への移動を検出する(802a)。いくつかの実施形態では、三次元環境は、アプリケーションウィンドウ、オペレーティングシステム要素、他のユーザの表現、及び/又は電子デバイスの物理的環境内のコンテンツ項目及び/又は物理オブジェクトの表現などの仮想オブジェクトを含む。いくつかの実施形態では、物理オブジェクトの表現は、表示生成コンポーネント(例えば、仮想パススルー又はビデオパススルー)を介して三次元環境に表示される。いくつかの実施形態では、物理オブジェクトの表現は、表示生成コンポーネントの透明部分(例えば、真のパススルー又は実際のパススルー)を通して見える電子デバイスの物理的環境内の物理オブジェクトのビューである。いくつかの実施形態では、電子デバイスは、電子デバイスの物理的環境内の電子デバイスの物理的ロケーションに対応する三次元環境内のロケーションにおけるユーザの視点からの三次元環境を表示する。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(XR)環境)。いくつかの実施形態では、ユーザの視点の移動を検出することは、ユーザの少なくとも一部分(例えば、ユーザの頭部、胴体、手など)の移動を検出することを含む。いくつかの実施形態では、ユーザの視点の移動を検出することは、電子デバイス又は表示生成コンポーネントの移動を検出することを含む。いくつかの実施形態では、ユーザの視点から三次元環境を表示することは、三次元環境におけるユーザの視点のロケーションに関連付けられた見方から三次元環境を表示することを含む。いくつかの実施形態では、ユーザの視点を更新することは、電子デバイスに、ユーザの更新された視点のロケーションに関連付けられた見方から複数の仮想オブジェクトを表示させる。例えば、ユーザの視点が左に移動する場合、電子デバイスは、表示生成コンポーネントを介して表示された複数の仮想オブジェクトのポジションを右に移動するように更新する。
【0154】
図7Bなどのいくつかの実施形態では、第1の視点から第2の視点へのユーザの現在の視点の移動に対応する移動を検出したことに応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、ユーザの現在の視点に対して、第1の空間配置とは異なる第2の空間配置を有する複数の仮想オブジェクトを含む第2の視点からの三次元環境(例えば、702)を表示する(例えば、802b)。いくつかの実施形態では、三次元環境における複数の仮想オブジェクトのロケーションは、同一のままであり、三次元環境におけるユーザの視点のロケーションは、変化し、それによって、ユーザの視点に対する複数のオブジェクトの空間配置を変化させる。例えば、ユーザの視点が複数の仮想オブジェクトから離れて移動する場合、電子デバイスは、ユーザの視点の移動の前に三次元環境内の同じロケーションに仮想オブジェクトを表示し、ユーザの視点と仮想オブジェクトとの間の空間の量を増加させる(例えば、仮想オブジェクトをより小さいサイズで表示することによって、オブジェクトの立体視深度を増加させることによって、など)。
【0155】
図7Bなどのいくつかの実施形態では、ユーザの現在の視点に対する第2の空間配置を有する複数の仮想オブジェクト(例えば、704、706)を含む第2の視点からの三次元環境(例えば、702)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、ユーザの現在の視点に対する仮想オブジェクトの距離の範囲又は向きの範囲を指定する(例えば、ユーザの以前の視点に基づかない)1つ以上の基準を満たすように、ユーザの現在の視点に対する複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力を受信する(802c)。いくつかの実施形態では、方法800を参照して説明される入力及び/又は1つ以上の入力は、エアジェスチャ入力である。いくつかの実施形態では、エアジェスチャは、ユーザがデバイスの一部である入力要素に触れることなく(又はデバイスの一部である入力要素から独立して)検出されるジェスチャであり、絶対的な基準(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)に対するユーザの身体の動き、ユーザの身体の別の部分に対するユーザの身体の動き(例えば、ユーザの肩に対するユーザの手の移動、ユーザの一方の手に対するユーザの他方の手の移動、及び/又はユーザの手の別の指若しくは部分に対するユーザの指の移動)、及び/又は、ユーザの身体の一部の絶対的な動き(例えば、所定の量及び/又は速度による所定の姿勢での手の移動を含むタップジェスチャ、又はユーザの身体の一部の所定の速度又は量の回転を含むシェイクジェスチャ)を含む、ユーザの身体の一部の検出された動きに基づく。
【0156】
以下でより詳細に説明されるように、いくつかの実施形態では、1つ以上の基準を満たすためにユーザの視点に対する複数のオブジェクトの空間配置を更新するための要求に対応する入力は、電子デバイスと通信している(例えば、電子デバイスに組み込まれた)ハードウェアボタン、スイッチなどに向けられた入力である。以下でより詳細に説明されるように、いくつかの実施形態では、1つ以上の基準を満たすように三次元環境を更新するための要求に対応する入力は、表示生成コンポーネントを介して表示される選択可能なオプションに向けられた入力である。いくつかの実施形態では、ユーザの視点は第2の視点であり、複数の仮想オブジェクトはユーザの視点に対して第2の空間配置で表示されるが、複数の仮想オブジェクトの空間的向きはユーザの現在の視点に基づかない。例えば、複数のオブジェクトの空間配置は、ユーザの第1の視点又は第2の視点より前のユーザの別の視点に基づく。いくつかの実施形態では、電子デバイスは、仮想オブジェクトが最初に表示されたときのユーザの視点に基づいて、三次元環境内のロケーションに仮想オブジェクトを最初に提示する。いくつかの実施形態では、仮想オブジェクトは、仮想オブジェクトの対話型部分がユーザの視点に向けられたときに満たされる基準を含む1つ以上の基準に従って最初に配置され、仮想オブジェクトは、ユーザの視点から他の仮想オブジェクトの視界を妨げず、仮想オブジェクトは、ユーザの視点の閾値距離(例えば、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)内にあり、仮想オブジェクトは、互いの閾値距離(例えば、1、5、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)内にあるなどである。いくつかの実施形態では、入力は、方法1000を参照して本明細書に説明される入力などの、(例えば、ユーザの視点に対する)三次元環境内の1つ以上のオブジェクトのポジションを更新することを要求する入力とは異なる。
【0157】
図7Cなどのいくつかの実施形態では、三次元環境(例えば、702)を更新するための要求に対応する入力に応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、ユーザの視点に対して第2の空間配置とは異なる第3の空間配置で複数の仮想オブジェクト(例えば、704、706)を表示することを含む第2の視点からの三次元環境(例えば、702)を表示し(例えば、802b)、複数の仮想オブジェクトの第3の空間配置は、1つ以上の基準を満たす。いくつかの実施形態では、1つ以上の基準は、仮想オブジェクトの対話型部分がユーザの視点に向かって方向決めされる、仮想オブジェクトがユーザの視点からの他の仮想オブジェクトのビューを妨害しない、仮想オブジェクトがユーザの視点の閾値距離(例えば、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)内にある、仮想オブジェクトが互いの閾値距離(例えば、1、5、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)内にある、などのときに満たされる基準を含む。いくつかの実施形態では、第3の空間配置は第1の空間配置と同じである(例えば、第1の空間配置は、ユーザの第1の視点に基づいていた)。いくつかの実施形態では、第3の空間配置は、第1の空間配置とは異なる(例えば、第1の空間配置は、ユーザの第1の視点に基づいておらず、三次元環境内の実オブジェクトは、ユーザの視点が第2の視点である間、第1の空間配置内の仮想オブジェクトの配置を防止する)。いくつかの実施形態では、複数の仮想オブジェクトを第3の空間配置で表示することは、ユーザの第2の視点を三次元環境内の一定のロケーションに維持しながら、仮想オブジェクトのうちの1つ以上のロケーション(例えば、及び/又は姿勢)を更新することを含む。いくつかの実施形態では、入力に応じて、電子デバイスは、仮想オブジェクトのポジションを、必ずしもユーザの視点の周りに向けられていないロケーションから、ユーザの視点の周りに向けられたロケーションに更新する。
【0158】
入力に応じて、1つ以上の基準を満たす第3の空間配置で複数の仮想オブジェクトを表示することを含むように三次元環境を更新することは、ユーザの更新された視点に基づく空間配置で仮想オブジェクトを表示する効率的な方法を提供することによって、電子デバイスとのユーザ対話を向上させ、それによって、三次元環境における仮想オブジェクトの配置を向上させて、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0159】
図7Bなどのいくつかの実施形態では、複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力を受信することは、1つ以上の入力デバイス(804)のハードウェア入力デバイス(例えば、703)を介して入力を受信することを含む。いくつかの実施形態では、ハードウェア入力デバイスは、ユーザによる力学的入力デバイスの物理的操作を検出することによって入力を検出する。いくつかの実施形態では、力学的入力デバイスは、ボタン、スイッチ、ダイヤルなどである。
【0160】
力学的入力デバイスを介して受信された入力に応じて複数の仮想オブジェクトの空間配置を更新することは、三次元環境における複数の仮想オブジェクトの空間配置を更新する効率的且つ一貫した方法を提供し、それによって、ユーザが、強化された入力機構を用いて電子デバイスを迅速且つ効率的に使用することを可能にする。
【0161】
図7Bなどのいくつかの実施形態では、複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力は、1つ以上の第1の入力基準を満たす(806a)。いくつかの実施形態では、1つ以上の第1の入力基準は、複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力に関連付けられる。いくつかの実施形態では、電子デバイスは、受信された入力が対応する動作を決定するために、基準の異なるセットを満たす力学的入力デバイスを介した異なるそれぞれの動作に対応する複数の入力を受け付けるように構成される。例えば、力学的入力デバイスは、ボタンのように押されるように構成されたボタン又はダイヤルであり、閾値時間期間(例えば、0.1、0.2、0.3、0.5、1、2、3、4、又は5秒)を満たす(例えば、より長い又は短い)時間期間の間、力学的入力デバイスが押されたことを電子デバイスが検出したときに、1つ以上の第1の基準が満たされる。
【0162】
図7Bなどのいくつかの実施形態では、電子デバイス(例えば、101)は、ハードウェア入力デバイス(例えば、703)を介して、第2の入力を受信する(806b)。いくつかの実施形態では、第2の入力は、1つ以上の第1の入力基準を満たさない。
【0163】
いくつかの実施形態では、第2の入力を受信したことに応じて、第2の入力が1つ以上の第1の入力基準とは異なる1つ以上の第2の入力基準を満たすという判定に従って、電子デバイス(例えば、101)は、複数の仮想オブジェクトの空間配置を更新する(例えば、表示生成コンポーネントを介して、ホームユーザインタフェースを表示する)ことなく、第2の入力に対応する個別の動作を実行する(806c)。例えば、1つ以上の第1の入力基準は、入力が、力学的入力デバイスが閾値時間期間を超えて押されていることを検出することを含むときに満たされ、1つ以上の第2の入力基準は、入力が、力学的入力デバイスが閾値時間期間未満押されていることを検出することを含むときに満たされる。別の例として、1つ以上の第1の入力基準は、入力が、力学的入力デバイスが閾値時間期間未満にわたって押圧されていることを検出することを含むときに満たされ、1つ以上の第2の入力基準は、入力が、力学的入力デバイスが閾値時間期間を超えて押圧されていることを検出することを含むときに満たされる。いくつかの実施形態では、第2の入力が1つ以上の第1の入力基準及び1つ以上の第2の入力基準とは異なる1つ以上の第3の入力基準を満たすという判定に従って、電子デバイスは、電子デバイスが表示生成コンポーネントを介して三次元環境内の実オブジェクトの1つ以上の表現を表示する視覚的強調の量を修正する。いくつかの実施形態では、1つ以上の第3の入力基準は、入力がダイヤルの回転、方向ボタンの選択、又はタッチ感知面上での接触の移動などの方向態様を含むときに満たされる基準を含む。第3の入力基準が満たされたことに応じて、電子デバイスは、任意選択的に、三次元環境内に表示されている物理的環境の表現の、三次元環境の他の部分に対する相対的な視覚的強調を(例えば、複数の仮想オブジェクトの空間配置を更新することなく、及び/又は個別の動作を実行することなく)修正する。いくつかの実施形態では、電子デバイスは、第3の入力基準を満たす入力の移動メトリック(例えば、入力の移動又は方向成分の方向、速度、持続時間、距離など)に従って、相対的視覚的強調の量を修正する。
【0164】
力学的入力デバイスを介して受信された入力が、1つ以上の入力基準に基づいて複数の仮想オブジェクトの空間配置を更新するための要求に対応するかどうかを判定することは、1つの力学的入力デバイスを介して受信された入力に応じて複数の動作を実行する効率的な方法を提供し、それによって、合理化されたヒューマンマシンインタフェースを提供することによって電子デバイスとのユーザ対話を向上させる。
【0165】
図7Bなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する入力を受信することは、表示生成コンポーネント(例えば、120)を介して三次元環境(例えば、702)に表示されたユーザインタフェース要素(例えば、712)の選択を検出することを含む(808)。いくつかの実施形態では、ユーザインタフェース要素の選択は、カーソルを操作し、カーソルが表示されているロケーションでユーザインタフェース要素の選択を検出する入力デバイス(例えば、キーボード、トラックパッド、スタイラス、ハンドトラッキングデバイス、アイトラッキングデバイス)を介して検出される。いくつかの実施形態では、ユーザインタフェース要素の選択は、ユーザの個別の部分(例えば、手)に対応するロケーションを追跡し、選択ジェスチャ(例えば、個別の手の形状、手で行われる三次元ジェスチャ、タッチセンサ面を介して検出されるタッチジェスチャ)が選択可能なユーザインタフェース要素に対応するロケーションで実行されたときに選択を検出する入力デバイス(例えば、タッチセンサ面、ハンドトラッキングデバイス)を介して検出される。いくつかの実施形態では、ユーザインタフェース要素の選択を検出することは、ユーザの個別の部分(例えば、手)の所定のジェスチャを検出しながら、ユーザインタフェース要素に向けられたユーザの注意(例えば、視線)を検出することを含む。例えば、ジェスチャは、親指が手の別の指に触れるピンチジェスチャである。別の例として、ジェスチャは、(例えば、1つ以上の他の指が手のひらに向かって曲げられている間に)手の伸ばされた指が三次元環境内でユーザインタフェース要素を押圧する押圧ジェスチャである。
【0166】
ユーザインタフェース要素の選択を検出することによって複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力を受信することは、複数の仮想オブジェクトの空間配置をどのように更新するかをユーザに示す効率的な方法を提供し、それによって、改善された視覚フィードバックを用いて電子デバイスとのユーザの対話を強化し、ユーザがデバイスをより迅速且つ効率的に使用することを可能にする。
【0167】
図7Bなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)を第2の空間配置で表示することは、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクト(例えば、704、706)を三次元環境(例えば、702)内の第1のポジションに(例えば、三次元環境内の個別の基準点に対して)表示すること(810a)を含む(810a)。いくつかの実施形態では、電子デバイスは、ユーザの視点の移動を検出したことに応じて、第2の空間配置を有する複数の仮想オブジェクトを表示する。
【0168】
図7Cなどのいくつかの実施形態では、入力を受信したことに応じて、電子デバイス(例えば、101)は、複数の仮想オブジェクトを三次元環境内の第1のポジションから第2のポジションに(例えば、三次元環境内の個別の基準点に対して)移動させる(810a)(810b)。いくつかの実施形態では、電子デバイスは、入力を受信したことに応じて1つ以上の基準を満たすように、(例えば、三次元環境内のユーザの視点のポジションを更新するのではなく)三次元環境内の複数の仮想オブジェクトのポジションを更新する。いくつかの実施形態では、電子デバイスは、入力を受信したことに応じて、1つ以上の基準を満たすように、複数の仮想オブジェクトのポジションを更新し、ユーザの視点のポジションを更新する。
【0169】
ユーザの視点の移動を検出した後に入力を受信したことに応じて複数の仮想オブジェクトのポジションを更新することによって1つ以上の基準を満たすことは、ユーザにとって快適なやり方で複数の仮想オブジェクトを提示する効率的な方法を提供し、それによって、複数の仮想オブジェクトと対話するために必要な認知的負担、時間、及び入力を低減することによって電子デバイスとのユーザ対話を向上させる。
【0170】
図7Cなどのいくつかの実施形態では、表示生成コンポーネント(例えば、120)を介して、三次元環境(例えば、702)内の第1のポジションに複数の仮想オブジェクト(例えば、704、706)の個別の仮想オブジェクト(例えば、704)を含む三次元環境(例えば、702)を表示している間、ユーザの現在の視点に対する複数の仮想オブジェクトの空間配置は、1つ以上の基準を満たす第1の個別の空間配置であり、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、702)内の個別の仮想オブジェクト(例えば、704)のポジションを更新するための要求に対応する入力(例えば、方法1000及び/又は1400を参照して説明したオブジェクト移動入力と同様)を受信する(812a)。いくつかの実施形態では、入力は、個別の仮想オブジェクトに近接して表示されるユーザインタフェース要素に向けられ、ユーザインタフェース要素は、選択されると、電子デバイスに、三次元環境内で個別の仮想オブジェクトを移動させるプロセスを開始させる。
【0171】
図7Dなどのいくつかの実施形態では、三次元環境(例えば、702)内の個別の仮想オブジェクト(例えば、704)のポジションを更新するための要求に対応する入力に応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、三次元環境(例えば、702)内の第1のポジションとは異なる第2のポジションに個別の仮想オブジェクト(例えば、704)を表示することを含む、1つ以上の基準を満たさない第2の個別の空間配置で複数の仮想オブジェクト(例えば、704、706)を表示する(812b)。いくつかの実施形態では、電子デバイスは、三次元環境内の他の仮想オブジェクトのポジションを更新するための要求に対応する追加の入力を検出しない。いくつかの実施形態では、電子デバイスは、1つ以上の基準を満たし続ける方式で1つ以上の他の仮想オブジェクトのポジションを更新するための要求に対応する1つ以上の追加入力を受信する。
【0172】
図7Dなどのいくつかの実施形態では、三次元環境内の第2のポジションに個別の仮想オブジェクト(例えば、706)を表示することを含む三次元環境(例えば、702)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、1つ以上の基準を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、704)の空間配置を更新するための要求に対応する第2の入力を受信する(812c)。
【0173】
図7Eなどのいくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイス(例えば、101)は、複数の仮想オブジェクト内の1つ以上の他の仮想オブジェクト(例えば、706)のポジションを更新することなく(例えば、三次元環境内のユーザの視点のポジション及び/又は向きを更新することなく)、1つ以上の基準を満たすように、個別の仮想オブジェクト(例えば、704)のポジションを更新する(812b)。いくつかの実施形態では、三次元環境における第2の仮想オブジェクトの移動が1つ以上の基準を満たさないようにする場合、第2の入力に応じて、電子デバイスは、1つ以上の他の仮想オブジェクトのポジションを更新することなく、1つ以上の基準を満たすように第2の仮想オブジェクトのポジションを更新する。
【0174】
第2の入力に応じて、1つ以上の他の仮想オブジェクトのポジションを更新することなく、個別の仮想オブジェクトのポジションを更新することは、個別のポジションにおける他の仮想オブジェクトの表示を維持しながら、個別の仮想オブジェクトへの拡張されたアクセスを提供し、それによって、複数の仮想オブジェクトと対話するために必要とされる認知的負担、時間、及び入力を低減する。
【0175】
図7Cなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)を第3の空間配置で表示することは、三次元環境(例えば、702)が第1の空間テンプレートに関連付けられているという判定に従って、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクト(例えば、704、706)を第3の空間配置で表示することが、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトのうちの個別の仮想オブジェクト(例えば、706)を、第1の空間テンプレート(814b)に関連付けられた1つ以上の基準を満たすユーザの現在の視点に対する向きで表示することを含む(814)。いくつかの実施形態では、空間テンプレートは、三次元環境内の1人以上のユーザの仮想オブジェクト及び/又は視点のポジション及び向きを選択するために電子デバイスによって使用される1つ以上の基準を識別する。いくつかの実施形態では、空間テンプレートは、三次元環境に含まれる仮想オブジェクト(例えば、それぞれの仮想オブジェクトに関連付けられた空間テンプレート)に基づいて設定され、及び/又はユーザ定義設定に基づいて設定される。いくつかの実施形態による例示的な空間テンプレートは、以下でより詳細に説明される。例えば、空間テンプレートが共有コンテンツ空間テンプレートであり、個別の仮想オブジェクトが三次元環境内の複数のユーザによって消費されるコンテンツアイテムである場合、電子デバイスは、コンテンツを含むコンテンツアイテムの個別の面を三次元環境内のユーザの視点に向けるポジション及び向きで個別の仮想オブジェクトを表示する。
【0176】
図7Gなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、714)を第3の空間配置で表示することは、三次元環境(例えば、702)が第2の空間テンプレートに関連付けられているという判定に従って、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトを第3の空間配置で表示することが、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトの個別のオブジェクト(例えば、714)を、ユーザの現在の視点に対して、第2の空間テンプレート(814c)に関連付けられた1つ以上の基準を満たす向きで表示することを含む(814)。例えば、空間テンプレートが共有活動空間テンプレートであり、個別の仮想オブジェクトが三次元環境内で複数のユーザによってプレイされている仮想ボードゲームである場合、電子デバイスは、ユーザの視点が個別の仮想オブジェクトの異なる側を向くように、三次元環境内でユーザの視点間に個別の仮想オブジェクトを表示する。
【0177】
複数の仮想オブジェクトの空間配置を更新するための要求に対応する入力に応じて、異なる空間テンプレートに関連付けられた異なる基準を満たすように、個別の仮想オブジェクトを異なる向きで表示することは、様々な機能のための仮想オブジェクトとのユーザ対話を容易にする三次元環境におけるロケーション及び向きで仮想オブジェクトを提示する効率的且つ多用途の方法を提供し、それによって、迅速且つ効率的にユーザtoユーザ電子デバイスを可能にする。
【0178】
図7Cなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)を第3の空間配置で表示することは、三次元環境(例えば、702)が共有コンテンツ空間テンプレートに関連付けられているという判定に従って、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトのうちの個別のオブジェクト(例えば、706)を、個別のオブジェクト(例えば、706)の個別の面をユーザの視点及び三次元環境(例えば、702)内の第2のユーザ(又はより多くのユーザ)の第2の視点に向ける姿勢で表示することを含む(816)。いくつかの実施形態では、共有コンテンツ空間テンプレートは、コンテンツ又はコンテンツ(例えば、配信、再生、ストリーミングなど)アプリケーションのユーザインタフェースを含む仮想オブジェクトに関連付けられる。いくつかの実施形態では、個別の仮想オブジェクトの個別の面は、コンテンツアイテム(の視覚コンテンツ)を含む(例えば、映画、テレビ番組などのコンテンツを表示している)。いくつかの実施形態では、共有コンテンツ空間テンプレートは、複数のユーザが、両方の(又はより多くの)ユーザの視点にコンテンツを向けることによって、コンテンツアイテムの同じ側からコンテンツアイテムを一緒に消費することを可能にする。
【0179】
個別の仮想オブジェクトの個別の面をユーザの視点に向けて位置決めすることは、個別の仮想オブジェクトに関連付けられたコンテンツアイテムの共有消費を容易にする効率的な方法を提供し、それによって、ユーザがコンテンツアイテムの共有消費のために三次元環境を迅速且つ効率的に構成することを可能にする。
【0180】
図7Gなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、714、708)を第3の空間配置で表示することは、三次元環境(例えば、702)が共有活動空間テンプレートに関連付けられているという判定に従って、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトのうちの個別のオブジェクト(例えば、714)を、個別のオブジェクト(例えば、714)の第1の側をユーザの視点に向け、個別のオブジェクトの第1の側とは異なる第2の側を第2のユーザ(818)の第2の視点に向ける姿勢で表示することを含む。いくつかの実施形態では、共有活動空間テンプレートは、仮想オブジェクトの複数の側からの複数のユーザによる対話のために構成された個別の仮想オブジェクトに関連付けられる。例えば、個別の仮想オブジェクトは、複数のユーザがプレイするための仮想ボードゲームや、複数のユーザの視点が周囲に配置された仮想テーブルである。いくつかの実施形態では、共有活動空間テンプレートは、ユーザが、三次元環境内の他のユーザの視点のロケーションに表示される三次元環境内の他のユーザの表現と同時に、個別の仮想オブジェクトを見ることを可能にする。
【0181】
個別の仮想オブジェクトの異なる側を三次元環境内の異なるユーザに向けて位置付けることは、ユーザ間及び/又は個別の仮想オブジェクトとの対話を促進する効率的な方法を提供し、それによって、ユーザが、個別の仮想オブジェクトに関連付けられた共有活動のために三次元環境を迅速且つ効率的に構成することを可能にする。
【0182】
図7Gなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、708、710)を第3の空間配置で表示することは、三次元環境(例えば、702)がグループ活動空間テンプレートに関連付けられているとの判定に従って、表示生成コンポーネント(例えば、120)を介して、電子デバイス(820)のユーザの現在の視点に向けられた姿勢で第2のユーザ(例えば、708)の表現を表示することを含む。いくつかの実施形態では、グループ活動空間テンプレートは、任意選択的に、1人以上の他のユーザの表現以外の個別の仮想オブジェクト(例えば、ユーザ間のバーチャル会議)に関連しないやり方で、三次元環境内の1人以上の他のユーザと対話するためのユーザ定義設定に関連付けられる。いくつかの実施形態では、グループ活動空間テンプレートは、電子デバイスに、三次元環境内のユーザの視点(及び例えば、三次元環境内のユーザの対応する表現)を、ユーザの視点が三次元環境内の1人以上の他のユーザの表現及び/又は視点に向けられるようなロケーションに(例えば、他のユーザの表現及び/又は視点のポジションを更新せずに)位置決めさせる。
【0183】
ユーザの視点を三次元環境内の第2のユーザの表現に向けることは、ユーザ間の対話を容易にする効率的な方法を提供し、それによって、ユーザがグループ活動のために三次元環境を迅速且つ効率的に構成することを可能にする。
【0184】
図7Bなどのいくつかの実施形態では、ユーザの現在の視点(及び第2のユーザの第2の視点)に対する複数の仮想オブジェクト(例えば、704、706)の空間配置が1つ以上の基準を満たす第1の個別の空間配置である三次元環境(例えば、702)内の第2の視点に関連付けられた第2のユーザを含む三次元環境(例えば、702)を表示生成コンポーネント(例えば、120)を介して表示している間、電子デバイス(例えば、101)は、三次元環境内の第2のユーザの第2の視点の第1の個別の視点から第2の個別の視点への移動のインジケーションを検出する(822a)。いくつかの実施形態では、第2のユーザの第2の視点の移動は、電子デバイスにおいて1つ以上の基準が満たされないようにする。いくつかの実施形態では、第2のユーザの第2の視点の移動は、ユーザによって使用されている第2の電子デバイスにおいて1つ以上の基準が満たされないようにする。いくつかの実施形態では、電子デバイスは、ユーザの視点及び/又は複数の仮想オブジェクトの姿勢を更新するための要求に対応する1つ以上の入力を受信することなく、第2のユーザの第2の視点の移動のインジケーションを検出する。いくつかの実施形態では、電子デバイスは更に、電子デバイス及び/又は第2のユーザによって使用されている第2の電子デバイスにおいて1つ以上の基準を満たし続ける方式で、ユーザの視点の移動及び/又は仮想オブジェクトのうちの1つ以上の移動を検出する。
【0185】
図7Bなどのいくつかの実施形態では、第2の個別の視点において第2のユーザの第2の視点を有する三次元環境を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、1つ以上の基準を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する第2の入力を受信する(822b)。
【0186】
図7Cなどのいくつかの実施形態では、電子デバイス(例えば、101)は、第2の入力を受信したことに応じて、複数の仮想オブジェクト(例えば、704、706)の空間配置を、第2のユーザの第2の個別の視点に従って、1つ以上の基準を満たす第2の個別の空間配置に更新する(822c)。いくつかの実施形態では、電子デバイスは、ユーザの視点及び第2のユーザの第2の視点に関して1つ以上の基準が満たされるように、複数の仮想オブジェクトの空間配置を更新する。例えば、第2のユーザの第2の視点がユーザの視点の左に移動する場合、複数の仮想オブジェクトの空間配置を更新することは、仮想オブジェクトのうちの1つ以上をユーザの視点に対して左に向かって(例えば、ユーザの視点及び第2のユーザの新しい視点に基づく向きに)移動又は方向決めさせることを含む。別の例として、第2のユーザの第2の視点がユーザの視点の右に移動する場合、複数の仮想オブジェクトの空間配置を更新することは、仮想オブジェクトのうちの1つ以上をユーザの視点に対して右に向かって移動又は方向決めすることを含む。
【0187】
第2のユーザの第2の個別の視点に従って空間配置を更新することは、1つの入力に応じて電子デバイス及び第2のユーザの第2の電子デバイスにおいて1つ以上の基準を満たす効率的な方法を提供し、それによって、ユーザ及び第2のユーザにとって快適な方法で三次元環境を構成するために必要な入力の数、時間、及び認知的負担を低減する。
【0188】
図7Cなどのいくつかの実施形態では、ユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置が1つ以上の基準を満たす第1の個別の空間配置である三次元環境(例えば、702)を表示生成コンポーネント(例えば、120)を介して表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、三次元環境(例えば、702)における複数の仮想オブジェクト(例えば、704)の1つ以上のポジションを更新するための要求に対応する1つ以上の入力のシーケンスを受信する(824a)。いくつかの実施形態では、入力のシーケンスは、方法1400を参照して説明されるように、三次元環境内でそれぞれの仮想オブジェクトを再位置決めするためのユーザインタフェース要素に向けられた入力である。いくつかの実施形態では、入力のシーケンスは、以下でより詳細に説明される方法1000の1つ以上のステップに従って、複数の仮想オブジェクトを一緒に再位置決めする要求に対応する入力である。
【0189】
図7Dなどのいくつかの実施形態では、1つ以上の入力のシーケンスを受信したことに応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、1つ以上の基準を満たさない第2の個別の空間配置で1つ以上の入力のシーケンスに従って三次元環境(例えば、702)内のそれぞれのポジションに複数の仮想オブジェクト(例えば、704、706)を表示する(824b)。いくつかの実施形態では、電子デバイスは、ユーザの視点を更新するための要求に対応する入力を受信しない。いくつかの実施形態では、電子デバイスは、1つ以上の基準が満たされないようにさせないようにユーザの視点を更新するための要求に対応する入力を受信する。
【0190】
図7Dなどのいくつかの実施形態では、三次元環境(例えば、702)内のそれぞれのポジションに複数の仮想オブジェクト(例えば、704、706)を表示することを含む三次元環境(例えば、702)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、1つ以上の基準を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する第2の入力を受信する(824c)。
【0191】
図7Eなどのいくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイス(例えば、101)は、三次元環境(例えば、702)内の複数の仮想オブジェクト(例えば、704、706)のそれぞれのポジションに従って、複数の仮想オブジェクト(例えば、704、706)のポジションを、1つ以上の基準を満たす第3の個別の空間配置に更新する(824d)。いくつかの実施形態では、第3の個別の空間配置は、第1の個別の空間配置と同じである。いくつかの実施形態では、第3の個別の空間配置は、第1の個別の空間配置とは異なる。いくつかの実施形態では、第3の個別の空間配置は、1つ以上の基準を満たすために必要とされる三次元環境における(例えば、三次元環境における複数の仮想オブジェクトの1つ以上のポジションを更新するための要求に対応する入力のシーケンスに応じて仮想オブジェクトが表示されるそれぞれのポジション及び/又は向きからの)複数の仮想オブジェクトの最小移動及び/又は再向きを伴う。
【0192】
複数の仮想オブジェクトが再位置決めされた後に、三次元環境における複数の仮想オブジェクトのそれぞれのポジションに従って複数の仮想オブジェクトのポジションを更新して1つ以上の基準を満たすことは、複数の仮想オブジェクトとのユーザ対話を容易にする効率的な方法を提供し、それによって、複数の仮想オブジェクトとの便利なユーザ対話に必要な認知負担、時間、及び入力を低減する。
【0193】
いくつかの実施形態では、ユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置が、
図7Aなどの1つ以上の基準を満たす第1の個別の空間配置である三次元環境(例えば、120)を表示生成コンポーネント(例えば、120)を介して表示している間、電子デバイス(例えば、101)は、三次元環境(例えば、702)内の複数の仮想オブジェクト(例えば、704、706)の1つ以上のポジションを更新するために、三次元環境(例えば、702)内の第2のユーザによる要求の1つ以上のインジケーションを検出する(826a)。いくつかの実施形態では、三次元環境における第2のユーザによる要求は、1つ以上の仮想オブジェクトのポジションを(例えば、個別に)更新するための1つ以上の要求を含む。いくつかの実施形態では、三次元環境における第2のユーザによる要求は、三次元環境における第2のユーザの第2の視点を更新するための第2のユーザによる要求を含まない。
【0194】
いくつかの実施形態では、1つ以上のインジケーションを検出したことに応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクト(例えば、704、706)を、
図7Bなどの、1つ以上の基準を満たさない第2の個別の空間配置における1つ以上の入力のシーケンスに従って、三次元環境(例えば、702)内のそれぞれのポジションに表示する(826b)。いくつかの実施形態では、電子デバイスは、仮想オブジェクトの姿勢又はユーザの視点を更新するための要求に対応する入力を受信せず、第2のユーザの第2の視点のポジションを更新する第2のユーザによる要求のインジケーションを検出しない。いくつかの実施形態では、電子デバイスは、仮想オブジェクトの姿勢及び/若しくはユーザの視点を更新するための要求に対応する入力を受信し、並びに/又はユーザの第2の視点のポジションを更新する第2のユーザによる要求のインジケーションを検出するが、これらの更新は、1つ以上の基準を満たさないようにしない。
【0195】
いくつかの実施形態では、三次元環境(例えば、702)内のそれぞれのポジションに複数の仮想オブジェクト(例えば、704、706)を表示することを含む三次元環境(例えば、702)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、
図7Bなどの1つ以上の基準を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する第2の入力を受信する(826c)。
【0196】
いくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイス(例えば、101)は、三次元環境(例えば、702)内の複数の仮想オブジェクト(例えば、704、706)のそれぞれのポジションに従って、複数の仮想オブジェクト(例えば、704、706)のポジションを、
図7Cなどの、1つ以上の基準を満たす第3の個別の空間配置に更新する(826d)。いくつかの実施形態では、第3の個別の空間配置は、第1の個別の空間配置と同じである。いくつかの実施形態では、第3の個別の空間配置は、第1の個別の空間配置とは異なる。いくつかの実施形態では、第3の個別の空間配置は、1つ以上の基準を満たすために必要とされる、(例えば、三次元環境内の複数の仮想オブジェクトの1つ以上のポジションを更新するための要求に対応するインジケーションに応じて仮想オブジェクトが表示されるそれぞれのポジション及び/又は向きからの)三次元環境内の複数の仮想オブジェクトの最小移動及び/又は再向きを伴う。
【0197】
複数の仮想オブジェクトが第2のユーザによって再位置決めされた後に、三次元環境における複数の仮想オブジェクトのそれぞれのポジションに従って複数の仮想オブジェクトのポジションを更新して1つ以上の基準を満たすことは、複数の仮想オブジェクトとのユーザ対話を容易にする効率的な方法を提供し、それによって、複数の仮想オブジェクトとの便利なユーザ対話に必要な認知的負担、時間、及び入力を低減する。
【0198】
いくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)の空間配置が
図7Bなどの1つ以上の基準を満たさない間、複数のオブジェクトの空間配置を更新するための要求に対応する入力が受信されていないとの判定に従って、電子デバイス(例えば、101)は、複数のオブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する入力が受信されるまで、複数の仮想オブジェクト(例えば、704、706)の空間配置を維持する(828)。いくつかの実施形態では、電子デバイスは、複数のオブジェクトの空間配置を更新するための要求に対応する入力が受信されない限り、及び受信されるまで、1つ以上の基準を満たすように複数のオブジェクトの空間配置を更新しない。いくつかの実施形態では、電子デバイスは、1つ以上の基準を自動的に満たすように1つ以上の仮想オブジェクトの空間配置を更新しない。
【0199】
入力が受信されるまで複数の仮想オブジェクトの空間配置を維持することは、三次元環境内で慣れ親しんだロケーション及び/又は向きに仮想オブジェクトを表示する効率的な方法を提供し、それによって、ユーザが対話のために三次元環境内で仮想オブジェクトを迅速且つ効率的に配置することを可能にすることによって、電子デバイスとのユーザ対話を強化する。
【0200】
いくつかの実施形態では、電子デバイス(例えば、101)は、
図7Bなどの、ユーザの現在の視点から既定の閾値距離(例えば、1、2、3、4、5、10、15、30、又は50メートル)を超えるロケーションに複数の仮想オブジェクトのうちの第1の仮想オブジェクト(例えば、704、706)を表示することを含む、三次元環境(例えば、702)において、複数の仮想オブジェクト(例えば、704、706)を表示する(830a)。いくつかの実施形態では、第2の仮想オブジェクトは、ユーザの視点から既定の閾値距離を超えるロケーションに位置付けられる。いくつかの実施形態では、複数の(例えば、全ての)仮想オブジェクトは、ユーザの視点から既定の閾値距離を超えるロケーションに位置付けられる。いくつかの実施形態では、1つ以上の基準は、複数の(例えば、全ての)仮想オブジェクトがユーザの現在の視点から既定の閾値距離内に位置付けられるときに満たされる基準を含む。
【0201】
図7Bなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、704、706)が三次元環境(例えば、702)に表示されている間に、複数の仮想オブジェクト(例えば、704、706)のうちの第1の仮想オブジェクトをユーザの現在の視点から既定の閾値距離を超えるロケーションに表示することを含み、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、1つ以上の基準を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する第2の入力を受信する(830b)。
【0202】
図7Cなどのいくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイス(例えば、101)は、ユーザの視点を、第1の仮想オブジェクト(例えば、704、706)の既定の閾値距離内にある個別の視点に更新し(830c)、個別の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置は、1つ以上の基準を満たす。いくつかの実施形態では、電子デバイスは、仮想オブジェクトのロケーション及び/又は向きを更新することなく、ユーザの視点を更新する。いくつかの実施形態では、電子デバイスは、ユーザの視点を更新し、仮想オブジェクトのロケーション及び/又は向きを更新する。いくつかの実施形態では、仮想オブジェクトのポジション及び/又は向きを更新せずにユーザの視点を更新することによって1つ以上の基準を満たすことが可能である場合、電子デバイスは、第2の入力に応じて、仮想オブジェクトのポジション及び/又は向きを更新せずにユーザの視点を更新する。
【0203】
第1の仮想オブジェクトがユーザの視点から既定の閾値距離よりも遠くに位置するときに、第2の視点に応じて1つ以上の基準を満たすようにユーザの視点を更新することは、対話のために仮想オブジェクトにアクセスする効率的な方法を提供し、それによって、仮想オブジェクトと対話するために必要な認知負担、時間、及び入力を低減する。
【0204】
図7Dなどのいくつかの実施形態では、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、複数の仮想オブジェクトのうちの第1の仮想オブジェクト(例えば、704)と複数の仮想オブジェクトのうちの第2の仮想オブジェクト(例えば、704)との間に第1の間隔を有する複数の仮想オブジェクト(例えば、704、706)を表示し(832a)、第1の間隔は、1つ以上の基準のうちの1つ以上の間隔基準を満たさない。いくつかの実施形態では、1つ以上の間隔基準は、それぞれの(例えば、対の)仮想オブジェクト間の距離が、第1の既定の閾値距離(例えば、1、2、3、5、10、15、30、50、又は100センチメートル)と、第2の既定の閾値距離(例えば、1、2、3、5、10、15、30、又は50メートル)との間であるときに満たされる基準を含む。
【0205】
図7Dなどのいくつかの実施形態では、第1の仮想オブジェクト(例えば、704)と第2の仮想オブジェクト(例えば、706)との間に第1の間隔を有する複数の仮想オブジェクト(例えば、704、706)を表示している間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、1つ以上の基準(例えば、1つ以上の間隔基準を含む)を満たすようにユーザの現在の視点に対する複数の仮想オブジェクト(例えば、704、706)の空間配置を更新するための要求に対応する第2の入力を受信する(832b)。
【0206】
図7Eなどのいくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120)を介して、第1の仮想オブジェクト(例えば、704)と第2の仮想オブジェクト(例えば、706)との間に第2の間隔を有する複数の仮想オブジェクト(例えば、704、706)を表示し(832c)、第2の間隔は、1つ以上の間隔基準を満たす。いくつかの実施形態では、第1の仮想オブジェクトと第2の仮想オブジェクトとの間第2の間隔を有する複数の仮想オブジェクトを表示することは、1つ以上の基準を満たす空間配置を有する複数の仮想オブジェクトを表示することを含む。いくつかの実施形態では、電子デバイスは、1つ以上の基準を満たすために必要に応じて、第1及び第2の仮想オブジェクト以外の1つ以上の仮想オブジェクトのポジション及び/又は向きを更新する。いくつかの実施形態では、第2の間隔は第1の間隔よりも小さい。いくつかの実施形態では、第1の仮想オブジェクトと第2の仮想オブジェクトとの間に第2の間隔を有する複数の仮想オブジェクトを表示することは、ポジションを更新する(例えば、向きを更新せずに)、又はポジション及び向きの両方を更新するなど、第1及び/又は第2のオブジェクトのポジション及び/又は向きを変更することを含む。
【0207】
第2の入力に応じて、第1の仮想オブジェクトと第2の仮想オブジェクトとの間に第2の間隔を有する複数の仮想オブジェクトを表示することは、ユーザが第1及び第2の仮想オブジェクトを同時に見ること、及び/又は第1及び第2の仮想オブジェクトと同時に対話することを可能にする効率的な方法を提供し、それによって、第1及び第2の仮想オブジェクトと対話するために必要な時間、入力、及び認知的負担を低減する。
【0208】
図7Aなどのいくつかの実施形態では、第1の視点から第2の視点への三次元環境におけるユーザの現在の視点の移動を検出することは、1つ以上の入力デバイス(例えば、314)を介して、電子デバイス(例えば、101)の物理的環境における電子デバイス(例えば、101)の移動、又は表示生成コンポーネント(例えば、120)の物理的環境における表示生成コンポーネント(例えば、120)の移動を検出することを含む(834)。いくつかの実施形態では、電子デバイス又は表示生成コンポーネントの移動を検出することは、ユーザの移動を検出することを含む(例えば、電子デバイス又は表示生成コンポーネントがウェアラブルデバイスである場合)。
【0209】
電子デバイス又は表示生成コンポーネントの移動を検出したことに応じてユーザの視点を更新することは、三次元環境を横断する効率的で直観的な方法を提供し、それによって三次元環境とのユーザ対話を向上させる。
【0210】
図9A~
図9Gは、いくつかの実施形態による、電子デバイスが複数の仮想オブジェクトのポジションを一緒に更新する方法の例を示す。
【0211】
図9Aは、表示生成コンポーネント120aを介して、三次元環境902aを表示する電子デバイス101aを示す。いくつかの実施形態では、電子デバイス101aは、本開示の範囲から逸脱することなく、二次元環境内で
図9A~
図9Gを参照して説明した1つ以上の技法を利用することを理解されたい。
図1~
図6を参照して上述したように、電子デバイス101aは、任意選択で、表示生成コンポーネント120a(例えば、タッチスクリーン)と、複数の画像センサ314aとを含む。画像センサは、任意選択で、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101aは、ユーザが電子デバイス101aと相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、表示生成コンポーネント120aは、ユーザの手のジェスチャ及び移動を検出することができるタッチスクリーンである。いくつかの実施形態では、以下に示すユーザインタフェースは、ユーザにユーザインタフェースを表示する表示生成コンポーネントと、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、及び/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するセンサとを含むヘッドマウントディスプレイに実現することもできる。
【0212】
図9Aにおいて、第1の電子デバイス101a及び第2の電子デバイス101bは、第1の電子デバイス101aの表現、第2の電子デバイス101bの表現、第1の電子デバイス101aの第1のユーザ916a、第2の電子デバイス101bの第2のユーザ916b、電子デバイス101a及び101bの両方にアクセス可能な第1のアプリケーションのユーザインタフェース904、第1の電子デバイス101aにアクセス可能であるが第2の電子デバイス101bにはアクセス不可能な第2のアプリケーションのユーザインタフェース906、及び電子デバイス101a及び101bの両方にアクセス可能な第3のアプリケーションのユーザインタフェース908を含む三次元環境902へのアクセスを有する。いくつかの実施形態では、第1の電子デバイス101a及び第2の電子デバイス101bは、共有物理的環境内に配置され、物理的環境内の第1の電子デバイス101a及び第2の電子デバイス101bの空間配置は、三次元環境902内の第1の電子デバイス101a及び第2の電子デバイス101bの空間配置に対応する(例えば、同じである)。いくつかの実施形態では、第1の電子デバイス101a及び第2の電子デバイス101bは、異なる物理的環境(例えば、異なる部屋、異なる建物、異なる都市など)に位置し、物理世界における第1の電子デバイス101a及び第2の電子デバイス101bの空間配置は、三次元環境902における第1の電子デバイス101a及び第2の電子デバイス101bの空間配置とは異なる。いくつかの実施形態において、電子デバイス101bは、電子デバイス101aの特性のうちの1つ以上を有する。
【0213】
図9A~
図9Gは、電子デバイス101a及び101bによって表示される三次元環境902のトップダウンビューを含む。第1の電子デバイス101aは、例えば、第1のアプリケーションのユーザインタフェース904a、第2のアプリケーションのユーザインタフェース906a、第3のアプリケーションのユーザインタフェース908a、第2のユーザの表現916b、及び第2の電子デバイス101bの表現を表示することを含めて、三次元環境902内の第1のユーザ916aの視点から三次元環境902aを提示する。別の例として、第2の電子デバイス101bは、第1のアプリケーションのユーザインタフェース908b、第3のアプリケーションのユーザインタフェース904b、第1のユーザの表現916a、及び第1の電子デバイス101aの表現を表示することを含む、三次元環境902における第2のユーザ916bの視点からの三次元環境902bを提示する。いくつかの実施形態では、第2の電子デバイス101bは第2のアプリケーションのユーザインタフェース906へのアクセスを有さないので、第2の電子デバイス101bは第2のアプリケーションのユーザインタフェース906を表示しないが、
図9Aは、第2の電子デバイス101bが第2のアプリケーションのユーザインタフェース906へのアクセスを有する場合に第2のアプリケーションのユーザインタフェース906が表示される三次元環境902b内のロケーション906bを示す。
【0214】
いくつかの実施形態では、第1の電子デバイス101aは、三次元環境902内のデジタル原点912に関連付けられる。いくつかの実施形態では、第2の電子デバイス101bは、三次元環境902内の異なるデジタル原点(図示せず)に関連付けられる。いくつかの実施形態では、デジタル原点912は、方法800の1つ以上のステップに従って三次元環境902aを再センタリングする要求に応じて、電子デバイス101aが仮想オブジェクト(例えば、ユーザインタフェース904、906、908)及び/又は第1のユーザ101aの視点のロケーション及び/又は向きを選択するために使用する三次元環境902内のロケーションである。例えば、三次元環境902aを再センタリングする要求に応じて、電子デバイス101aは、デジタル原点912に対する仮想オブジェクト及び/又はユーザ916aの視点の空間配置に関する1つ以上の基準を評価し、1つ以上の基準を満たすように、1つ以上の仮想オブジェクト及び/又はユーザ916aの視点のポジション及び/又は向きを更新する。いくつかの実施形態では、電子デバイス101aは、再センタリングする要求に応じて、第1のユーザ916aの視点をデジタル原点912のロケーションにあるように更新する。いくつかの実施形態では、電子デバイス101aは、デジタル原点912に対するユーザインタフェース904a、904b、及び904cのポジション及び/又は向きを更新して、ユーザインタフェース904a、904b、及び904cとのユーザ対話を容易にするポジション及び/又は向きを選択する。例えば、1つ以上の基準は、方法800及び/又は1000を参照して説明したように、デジタル原点912からの距離の範囲及び/又はデジタル原点912に対する向きの範囲を指定する基準を含む。
【0215】
いくつかの実施形態では、電子デバイス101aは、AR/VRセッションの開始時にデジタル原点912を選択する。例えば、デジタル原点912は、物理的環境における電子デバイス101aのポジション及び/又は向きと、三次元環境902における電子デバイス101aのポジション及び/又は向きとに基づいて選択される。いくつかの実施形態では、電子デバイス101aは、閾値時間量(例えば、10、20、30、若しくは45秒、又は1、2、3、5、10、若しくは15分)にわたって所定の姿勢にない状態から第1のユーザに対する所定の姿勢への表示生成コンポーネント120aの遷移を検出したことに応じて、デジタル原点912を設定又はリセットする。いくつかの実施形態では、所定の姿勢は、ユーザに対する距離及び/又は向きの範囲である。例えば、表示生成コンポーネント120aがウェアラブルデバイスである場合、ユーザが表示生成コンポーネント120aを装着しているとき、表示生成コンポーネント120aは所定の姿勢にある。
【0216】
図9B~
図9Fにおいて方法1000に関して以下でより詳細に説明するように、いくつかの実施形態では、デジタル原点が無効になるいくつかの状況が存在する。いくつかの実施形態では、デジタル原点は、1つ以上の無効化基準が満たされたときに無効化される。例えば、無効化基準は、方法1000及び/又は800を参照して説明した1つ以上の空間基準を満たさない、デジタル原点912に対する空間関係を有するオブジェクト(例えば、ユーザインタフェース904a、904b、904c、及びユーザ916aの視点)の数に関連する。別の例として、無効化基準は、オブジェクトが1つ以上の空間基準を満たさない程度、及び/又はオブジェクト自体の間の空間関係に関連する。例えば、デジタル原点912は、1つ以上の空間基準が満たされないときに無効であり、デジタル原点912のロケーションを更新することは、デジタル原点がその現在のロケーションに残っている場合に必要とされるよりも少ない又は最小限の仮想オブジェクトのポジション及び/又は向きの更新で1つ以上の空間基準を満たす。いくつかの実施形態では、電子デバイス101aは、デジタル原点912のロケーションが無効になったとき、そのロケーションを直ちに更新する。いくつかの実施形態では、電子デバイス101aは、三次元環境902aを再センタリングする要求が受信されない限り、且つ受信されるまで、デジタル原点912のロケーションを更新しない。
【0217】
いくつかの実施形態では、電子デバイス101aは、様々なユーザ入力に応じて、ユーザインタフェース904a、906a、及び908aのポジションを更新する。いくつかの実施形態では、ユーザインタフェース904a、906a、及び908aは、方法800を参照して上述したように、選択されると、電子デバイス101aに、個別のユーザインタフェース904a、906a、又は908aのポジション及び/又は向きを更新するプロセスを開始させるそれぞれの選択可能なオプションに関連して表示される。加えて、いくつかの実施形態では、三次元環境902a内の仮想オブジェクト(例えば、ユーザインタフェース904a、906a、及び908a、第2のユーザ916bの表現、及び第2の電子デバイス101bの表現)のポジション及び/又は向きを一緒に更新するための要求に応じて、電子デバイス101aは、他の仮想オブジェクトに対する仮想オブジェクトの空間配置を更新することなく、ユーザ916aの視点に対する仮想オブジェクトのポジション及び/又は向きを更新する。例えば、電子デバイス101aは、仮想オブジェクトをグループとして一緒に移動させる。いくつかの実施形態では、電子デバイス101aは、選択されると、電子デバイス101aに、仮想オブジェクトのポジション及び/又は向きをグループとして更新するプロセスを開始させる選択可能なオプションを表示する。別の例として、
図9Aに示すように、(例えば、手913a及び913bによる)両手の選択入力を検出したことに応じて、電子デバイス101aは、仮想オブジェクトのポジション及び/又は向きをグループとして一緒に更新するプロセスを開始する。例えば、
図9Aに示すように、電子デバイス101aは、ユーザが両手913a及び913bで(例えば、少なくとも閾値時間(例えば、0.1、0.2、0.5、1、2、又は3秒間))ピンチハンド形状(例えば、親指が同じ手の別の指に触れるハンド形状)を作ったことを検出する。いくつかの実施形態では、電子デバイス101aは、両手913a及び913bによるピンチハンド形状の検出に応じて、ピンチハンド形状が維持されている間に手913a及び913bの移動に従って仮想オブジェクトのポジション及び/又は向きを更新するプロセスを開始する。
【0218】
図9Bは、電子デバイス101aが、手がピンチハンド形状にある間に手913a及び913bの移動の開始を検出する例を示す。いくつかの実施形態では、ピンチハンド形状における手913a及び913bの移動の開始を検出したことに応じて(又は、いくつかの実施形態では、手913a及び913bの移動をまだ検出せずに手913a及び913bのピンチハンド形状を検出したことに応じて)、電子デバイス101aは、仮想オブジェクトの表示(例えば、ユーザインタフェース904a、906a、及び908a、第2のユーザ916bの表現、並びに電子デバイス101bの表現)を更新して、仮想オブジェクトの視覚特性を変更して、更なる入力が電子デバイス101aに三次元環境902aにおける仮想オブジェクトのポジション及び/又は向きを更新させることを示す。例えば、電子デバイス101aは、例えば、
図9Aのユーザインタフェース904a、906a及び908a並びに第2のユーザ916b及び第2の電子デバイス101bの表現の半透明性及び/又は薄暗さの量に対して、両手でつまむ手形状及び/又は両手でつまむ手形状の手913a及び913bの移動を検出したことに応じて、ユーザインタフェース904a、906a及び908a並びに第2のユーザ916b及び第2の電子デバイス101bの表現の半透明性及び/又は薄暗さの量を増加させる。いくつかの実施形態では、電子デバイス101aは、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現以外の三次元環境902aのエリアをぼかす及び/又は暗くする及び/又は暗くすることなどによって、
図9Bの入力が受信されている間、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現の視覚的強調の量を増加させる。いくつかの実施形態では、電子デバイス101aが、ピンチハンド形状の手913a及び913bの移動に従って、ユーザインタフェース904a、906a、及び908aのポジション、並びに第2のユーザ916b及び第2の電子デバイス101bの表現を更新する間、電子デバイス101aは、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現の増加した半透明性及び/又は薄暗さを維持する。いくつかの実施形態では、第1の電子デバイス101aが両手ピンチの手形状を検出している間、第2の電子デバイス101bは、第1のユーザ916aの表現及び第1の電子デバイス101aの表現を、第2の電子デバイス101bが
図9Aの第1のユーザ916aの表現及び第1の電子デバイス101aの表現を表示した半透明性及び/又は薄暗さの量に対して増大した半透明性及び/又は薄暗さで表示する。
【0219】
図9Bに示すように、第1の電子デバイス101aは、三次元環境902aにおける第1のユーザ916aの視点から離れる移動に対応する、第1のユーザ916aの身体から離れる方向への手913a及び913bの移動を検出する。
図9Bに示される入力に応じて、電子デバイス101aは、
図9Cに示されるように、ユーザインタフェース904a、906a、及び908aのうちの2つ以上と第2のユーザ916b及び第2の電子デバイス101bの表現との間の空間関係を変更することなく、第1のユーザ916aの視点に対するユーザインタフェース904a、906a、及び908aのポジション及び/又は向きと、第2のユーザ916b及び第2の電子デバイス101bの表現とを更新する。
【0220】
図9Cは、第1の電子デバイス101aが、ピンチハンド形状にある間の手913a及び913bの移動に従ってユーザインタフェース904a、906a、及び908a並びに第2のユーザ916b及び第2の電子デバイス101bの表現を移動させながら、第1の電子デバイス101aによって表示される三次元環境902aをどのように更新するかを示す。例えば、第1の電子デバイス101aは、ユーザインタフェース904a、906a、及び908aと、第2のユーザ916b及び第2の電子デバイス101bの表現との間の空間関係を維持しながら、ユーザインタフェース904a、906a、及び908aのポジションと、第2のユーザ916b及び第2の電子デバイス101bの表現とを、ユーザの視点からより遠くなるように更新する。いくつかの実施形態では、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現が第1のユーザ916aの視点に対して移動する量は、手913a及び913bの移動量に対応する。ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現は、三次元環境906のトップダウンビューに示されるように、第1のユーザ916aの視点から移動するように見えるが、ユーザ916aの視点は、ユーザインタフェース904、906、及び908から離れ、第2のユーザ916b及び第2の電子デバイス101bの表現、並びにユーザインタフェース904、906、及び908、並びに第2のユーザ916b及び第2の電子デバイス101bの表現は、
図9Bに示される入力に応じて三次元環境906内のそれぞれのロケーションに留まる。いくつかの実施形態では、第2の電子デバイス101bは、第1の電子デバイス101aが
図9Bに示す入力を受信したことに応じて、
図9Bと同様に、
図9Cの第2のユーザ916bの視点から三次元環境902b内の同じロケーションにユーザインタフェース904b及び908bを表示し続ける。
【0221】
いくつかの実施形態では、ユーザインタフェース904a、906a、及び908aのポジション及び/又は向き、並びに第1のユーザ916aの視点に対する第2のユーザ916b及び第2の電子デバイス101bの表現を更新する入力に応じて、第1の電子デバイス101aは、デジタル原点912のロケーションを更新する。いくつかの実施形態では、第1の電子デバイス101aは、更新されたデジタル原点のロケーションにおいて1つ以上の空間基準が満たされるという判定に従って、
図9Bに示す入力に応じて、デジタル原点912のロケーションを更新する。例えば、
図9Cに示すように、第1の電子デバイス101aは、デジタル原点912を、三次元環境902における第1のユーザ916aの視点のロケーションになるように更新する。いくつかの実施形態では、デジタル原点912の更新されたロケーションは、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現に関する1つ以上の空間基準を満たす。
【0222】
第1の電子デバイス101aが、ユーザインタフェース904a、906a、及び908aのポジション及び/又は向き、並びに第2のユーザ916b及び第2の電子デバイス101bの表現を一緒に更新するための要求に対応する両手入力を検出している間、第2の電子デバイス101bは、例えば、第1のユーザ916a及び第1の電子デバイス101aの表現を増大した半透明性及び/又は薄暗さで表示し続ける。いくつかの実施形態では、第2の電子デバイス101bは、ユーザインタフェース904a、906a、及び908aのロケーション並びに第2のユーザ916b及び第2の電子デバイス101bの表現を一緒に更新するために、第1の電子デバイス101aが入力の終了を検出するまで、第2の電子デバイス101bが第1のユーザ916aの表現及び第1の電子デバイス101aの表現を表示するロケーションを更新しない。例えば、入力の終了を検出することは、ユーザが手913a及び913bのうちの1つ以上でピンチハンド形状を作ることを停止したことを検出することを含む。
図9Cに示されるように、第1の電子デバイス101aは、手913a及び913bによって提供される両手ピンチ入力の継続を検出する。
図9Cに示す入力の継続に応じて、電子デバイス101aは、ユーザインタフェース904a、906a、及び908aと、第2のユーザ916b及び第2の電子デバイス101bの表現と、第1のユーザ916aの視点との間の空間関係を、ピンチハンド形状の手913a及び913bの継続した移動に従って更新する。
【0223】
図9Dは、第1の電子デバイス101aが、
図9Cに示される入力の継続に従って三次元環境902aをどのように更新するかの一例を示す。いくつかの実施形態では、電子デバイス101aは、
図9Cの手913a及び913bの移動の方向及び量に従って、ユーザインタフェース904a、906a、及び908aのポジション、並びに三次元環境902内のユーザ916aの視点に対する第2のユーザ916b及び第2の電子デバイス101bの表現を更新する。例えば、電子デバイス101aは、三次元環境902aを更新して、ユーザインタフェース904a、906a、及び908aと、第2のユーザ916b及び第2の電子デバイス101bの表現とをユーザの視点から更に遠くに表示する。三次元環境902のトップダウンビューに示されるように、電子デバイス101aは、ユーザインタフェース904、906、及び908のポジション及び/又は向き、並びに三次元環境902における第2のユーザ916b及び第2の電子デバイス101bの表現を更新することなく、三次元環境902における第1のユーザ916aの視点を更新する。したがって、第2の電子デバイス101bは、任意選択的に、
図9Cにおいてユーザインタフェース904b及び908bが表示されていたロケーションにユーザインタフェース904b及び908bを表示し続ける。
【0224】
いくつかの実施形態では、第2の電子デバイス101bは、第1の電子デバイス101aが入力の終了を検出したことに応じて、第1のユーザ916aの表現及び第1の電子デバイス101aの表現のポジションを更新して、ユーザインタフェース904a、906a、及び908aのポジション及び/又は向き、並びに第1のユーザ101aの視点に対する第2のユーザ916b及び第2の電子デバイス101bの表現を更新する。
図9Dに示すように、第2の電子デバイス101bは、第1のユーザ916aの表現及び第1の電子デバイス101aの表現を、更新されたロケーションに、例えば、第1の電子デバイス101a及び第1のユーザ916aの表現が
図9Cで表示された半透明性及び/又は薄暗さに対して低減された半透明性及び/又は薄暗さで表示する。いくつかの実施形態では、第1の電子デバイス101aが
図9Cに示す入力の終了を検出したことに応じて、第2の電子デバイス101bは、第1のユーザ916a及び第1の電子デバイス101aの表現のポジションを更新するアニメーションを表示する。いくつかの実施形態では、第1の電子デバイス101aが
図9Cに示す入力の終了を検出したことに応じて、第2の電子デバイス101bは、
図9Cに示すロケーションで第1のユーザ916a及び第1の電子デバイス101aの表現の表示を停止し、
図9Dのロケーションで第1のユーザ916a及び第1の電子デバイス101aの表現の表示を開始する(例えば、「テレポーティング」効果を介して)。
【0225】
いくつかの実施形態では、デジタル原点912は、第1のユーザ916aが、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現のうちの1つ以上から閾値距離(例えば、1、2、3、5、10、又は15メートル)を超えて離れている場合に無効化される。
図9Dでは、例えば、デジタル原点912は、仮想オブジェクトのうちの1つ以上が第1のユーザ916aの視点から閾値距離よりも大きくなるように、第1のユーザ916aがユーザインタフェース904a、906a、及び908aのポジション並びに第1のユーザ916aの視点に対する第2のユーザ916b及び第2の電子デバイス101bの表現を更新することに起因して無効化されることを示すために、破線で示されている。いくつかの実施形態では、デジタル原点912は、ユーザインタフェース904a、906a、及び908aのうちの1つ以上、並びに第2のユーザ916b及び第2の電子デバイス101bの表現が、第2のユーザ916bがユーザインタフェース904a、及び908aのうちの1つ以上、並びに第2のユーザ916b及び第2の電子デバイス101bの表現を(例えば、1つ以上のアプリケーションを個別に移動させることによって)、三次元環境902内のユーザの視点から離れるように移動させることに応じて、第1のユーザ916aの視点から閾値距離よりも離れていると無効になる。
【0226】
いくつかの実施形態では、
図9Dに示すように、ユーザインタフェース904a、906a、及び908a、並びに第2のユーザ916b及び第2の電子デバイス101bの表現を第1のユーザ101aの視点から離れるように移動させると、方法800を参照して上述した1つ以上の空間基準がもはや満たされなくなる。いくつかの実施形態では、1つ以上の空間基準がもはや満たされていないことに応じて、第1の電子デバイス101aは、選択されると、方法800の1つ以上のステップに従って第1の電子デバイス101aに三次元環境902aを再センタリングさせる選択可能オプション914aを表示する。いくつかの実施形態では、デジタル原点912が無効であるため、オプション914aの選択を検出したことに応じて、電子デバイス101aは、デジタル原点912を更新し、更新されたデジタル原点912に基づいて三次元環境902aを再センタリングする。いくつかの実施形態では、第1の電子デバイス101aは、三次元環境902内のオブジェクトのポジション及び/又は向きと、方法800及び/又は1000を参照して説明した1つ以上の空間基準とに基づいて、デジタル原点912の新しいロケーションを選択する。
【0227】
いくつかの実施形態では、デジタル原点912は、1人以上のユーザが三次元環境902内で閾値量(例えば、1、2、3、5、10、15、又は25メートル)を超えて移動したことに応じて無効化される。例えば、
図9Dにおいて、第2のユーザ916bは、自身及び/又は電子デバイス101bを移動させ、その結果、三次元環境902における第2のユーザ916bのロケーションが
図9Eに示すように更新される。第2のユーザ916bがこのようにして三次元環境902内の自分のポジションを更新したことに応じて、デジタル原点912は無効化される。
図9Eは、いくつかの実施形態において、デジタル原点912が無効になったことに応じて、電子デバイス101aがデジタル原点912を更新することを要求するユーザ入力(例えば、オプション914aの選択)を受信することなく、電子デバイス101aがデジタル原点912の新たなロケーションを自動的に選択する方法を示す。例えば、更新されたデジタル原点912は、第1のユーザ916aがデジタル原点912の視点を更新するために三次元環境902aを再センタリングした場合に、ユーザ916a及び916bの両方が第1のアプリケーション(例えば、方法800を参照して上述した共有コンテンツアプリケーション)のユーザインタフェース904の同じ側にあり、第3のアプリケーション(例えば、方法800を参照して上述した共有アクティビティアプリケーション)のユーザインタフェース908の反対側にあるようなロケーションに配置される。
【0228】
図9Eに示すように、第2のユーザ916bが三次元環境902bにおいて自身の視点を更新したことに応じて、第2の電子デバイス101bは、第2のユーザ916bの視点に対するユーザインタフェース904b及び908bのポジション及び/又は向きを更新し、第1の電子デバイス101aは、第2のユーザ916bがもはや第1の電子デバイス101aの視野内にないため、第2のユーザ916b及び第2の電子デバイス101bの表現の表示を停止する。
【0229】
いくつかの実施形態では、
図9F~
図9Gを参照して以下で説明するように、第1の電子デバイス101aは、第2の電子デバイス101bとアプリケーションを共有する要求に応じて、デジタル原点912を無効化する。
図9Fでは、第1の電子デバイス101aは、第1の電子デバイス101aにアクセス可能であるが、第2の電子デバイス101bにアクセス可能でない第4のアプリケーションのユーザインタフェース918aを含む三次元環境902aを表示する。第4のアプリケーションのユーザインタフェース918は第2の電子デバイス101bにとってアクセス可能ではないので、第2の電子デバイス101bは、第4のアプリケーションのユーザインタフェース918を表示することなく、第1のユーザ916a及び第1の電子デバイス101aの表現を表示するが、
図9Fは、第4のアプリケーションが第2の電子デバイス101bにとってアクセス可能であった場合に第4のアプリケーションのユーザインタフェース918が表示されるロケーション918bを示す。
図9Fはまた、第1の電子デバイス101aに関連付けられたデジタル原点912を示す。いくつかの実施形態では、第4のアプリケーションのユーザインタフェース918a及び第2のユーザの表現916bが、1つ以上の空間基準を満たすロケーション及び向きにあるため、
図9Fのデジタル原点912のロケーションは有効である。いくつかの実施形態では、空間基準は、第2の電子デバイス101bが第4のアプリケーションへのアクセスを有さないので、第2のユーザ916bが第4のアプリケーションのユーザインタフェース918の遮られないビューを有することを必要としない。
【0230】
図9Fに示すように、第1の電子デバイス101aは、選択されると第1の電子デバイス101aに第4のアプリケーションを第2の電子デバイス101bと共有させる選択可能オプション920の(例えば、手913aを介した)選択を検出する。いくつかの実施形態では、選択入力は、方法800を参照して上述したように、直接選択入力、間接選択入力、エアジェスチャ選択入力、又は入力デバイスを使用する選択入力のうちの1つである。入力に応じて、第1の電子デバイス101aは、
図9Gに示すように、第4のアプリケーションのユーザインタフェース918を第2の電子デバイス101bにアクセス可能にする。
【0231】
図9Gは、
図9Fにおいて第1の電子デバイス101aによって検出された第4のアプリケーションを共有するための入力に応じて、第4のアプリケーションのユーザインタフェース918bを表示する第2の電子デバイス101bを示す。
図9Fに示す入力に応じて、第1の電子デバイス101aは、デジタル原点912を無効にする。
図9Gは、第1の電子デバイス101aが三次元環境902aを再センタリングしようとした場合に第1の電子デバイス101aが第1のユーザ101aの視点を移動させるデジタル原点912の更新されたロケーションを示す。いくつかの実施形態では、第1の電子デバイス101aに関連付けられたデジタル原点912は、第1のユーザの表現916aが第2のユーザ916bのビューから第4のアプリケーションのユーザインタフェース918bを隠すので、第4のアプリケーションのユーザインタフェース918を共有する要求に応じて無効にされる。
【0232】
図9A~
図9Gに示される実施形態に関する追加又は代替の詳細は、
図10A~
図10Kを参照して説明される方法1000の説明において以下に提供される。
【0233】
図10A~
図10Kは、いくつかの実施形態による、複数の仮想オブジェクトのポジションを一緒に更新する方法を示すフローチャートである。いくつかの実施形態では、方法1000は、表示生成コンポーネント(例えば、
図1、
図3、及び
図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手に置いて下方を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)又はユーザの頭部から前方に向くカメラ)とを含む、コンピュータシステム(例えば、
図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法1000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、
図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1000のいくつかの動作は、任意選択的に、組み合わされ、且つ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0234】
いくつかの実施形態では、方法1000は、表示生成コンポーネント及び1つ以上の入力デバイス(例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータ)と通信する電子デバイスにおいて実行される。いくつかの実施形態では、表示生成コンポーネントは、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0235】
図9Bなどのいくつかの実施形態では、表示生成コンポーネント(例えば、120a)を介して、電子デバイス(例えば、101a)のユーザ(例えば、916a)の視点からの三次元環境(例えば、902a)を表示している間、三次元環境(例えば、902a)は、三次元環境(例えば、902a)内のユーザの視点に対する第1の空間配置内の第1のロケーションに複数の仮想オブジェクト(例えば、904a、906a)を含み、電子デバイス(例えば、101)は、1つ以上の入力デバイスを介して、複数の仮想オブジェクト(例えば、904a、906a)のうちの1つ以上を移動させる要求に対応する入力を受信する(1002a)。いくつかの実施形態では、方法1000を参照して説明した入力及び/又は1つ以上の入力は、方法800を参照して説明したようなエアジェスチャ入力である。いくつかの実施形態では、三次元環境は、アプリケーションウィンドウ、オペレーティングシステム要素、他のユーザの表現、及び/又は電子デバイスの物理的環境内のコンテンツ項目及び/又は物理オブジェクトの表現などの仮想オブジェクトを含む。いくつかの実施形態では、物理オブジェクトの表現は、表示生成コンポーネント(例えば、仮想パススルー又はビデオパススルー)を介して三次元環境に表示される。いくつかの実施形態では、物理オブジェクトの表現は、表示生成コンポーネントの透明部分(例えば、真のパススルー又は実際のパススルー)を通して見える電子デバイスの物理的環境内の物理オブジェクトのビューである。いくつかの実施形態では、電子デバイスは、電子デバイスの物理的環境内の電子デバイスの物理的ロケーションに対応する三次元環境内のロケーションにおけるユーザの視点からの三次元環境を表示する。いくつかの実施形態では、三次元環境は、デバイスによって生成され、表示され、又は別様に視認可能にされる(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(XR)環境)。いくつかの実施形態では、入力を受信することは、ユーザの既定の部分(例えば、手(単数又は複数))によって実行される既定のジェスチャを検出することを含む。いくつかの実施形態では、既定のジェスチャは、ユーザが親指で指に触れ、ユーザの1つ以上の手によって行われる、指と親指とを離すように動かすピンチジェスチャである。例えば、入力は、電子デバイスにユーザの手の移動に従って複数の仮想オブジェクトのポジションを更新させるために、ユーザが両手でピンチハンド形状を作り、両手を動かすことを含む。いくつかの実施形態では、既定のジェスチャは、ユーザが、1本以上の指が伸ばされ、1本以上の指が手のひらに巻きつけられたポインティングハンド形状を作りながら、自身の手(単数又は複数)を既定のロケーション(例えば、移動される1つ以上のユーザインタフェース要素に対応するロケーション、入力が向けられる1つ以上のユーザインタフェース要素とは異なるエアジェスチャユーザインタフェース要素に対応するロケーション)に移動するプレスジェスチャである。いくつかの実施形態では、複数の仮想オブジェクトのうちの1つ以上を移動させるための入力は、方法1400を参照して説明されるオブジェクト移動入力の特性のうちの1つ以上を有する。
【0236】
いくつかの実施形態では、
図9Cなどの、入力を受信したことに応じて(1002b)、入力が1つ以上の第1の基準を満たす(例えば、入力が複数の仮想オブジェクトの残りに向けられずに複数の仮想オブジェクトの個別のオブジェクトに向けられる)という判定に従って(1002c)、電子デバイス(例えば、101)は、三次元環境(例えば、902a)を更新して(1002d)、入力に従って三次元環境(例えば、904a)において複数の仮想オブジェクトの個別のオブジェクト(例えば、902a)を第1のロケーションから第1のロケーションとは異なる第2のロケーションに移動させ、第2のロケーションにおける個別のオブジェクト(例えば、904a)は、ユーザ(例えば、916a)の視点に対する第1の空間配置とは異なる、ユーザ(例えば、916a)の視点に対する第2の空間配置を有する。いくつかの実施形態では、入力は、三次元環境内の個別のオブジェクトのロケーションを変更する。いくつかの実施形態では、入力は、三次元環境内の他の仮想オブジェクトに対する個別のオブジェクトのロケーションを変更する。いくつかの実施形態では、入力は、ユーザの視点に対する三次元環境内の個別のオブジェクトのロケーションを変化させる。いくつかの実施形態では、個別のオブジェクトのロケーションを更新することは、ユーザの視点からの仮想オブジェクトの距離を変更することを含む。いくつかの実施形態では、第2の個別のロケーションは、入力を提供するユーザの既定の部分(例えば、手(単数又は複数))の移動(例えば、速度、持続時間、距離など)に基づく。いくつかの実施形態では、1つ以上の第1の基準は、電子デバイスがユーザの両手ではなく片方の手で実行された既定のジェスチャを検出したときに満たされる基準を含む。いくつかの実施形態では、1つ以上の第1の基準は、入力がユーザインタフェース要素に向けられたときに満たされる基準を含み、ユーザインタフェース要素は、ユーザインタフェース要素に向けられた入力に応じて、電子デバイスに、三次元環境内の他の仮想オブジェクトを移動させることなく、個別の仮想オブジェクトを移動させるプロセスを開始させる。
【0237】
いくつかの実施形態では、入力を受信したことに応じて(1002b)、入力が1つ以上の第1の基準を満たす(例えば、入力が複数の仮想オブジェクトの残りに向けられることなく複数の仮想オブジェクトのうちの個別のオブジェクトに向けられる)という判定に従って(1002c)、電子デバイス(例えば、101)は、複数の仮想オブジェクトのうちの1つ以上の第2のオブジェクト(例えば、
図9Cの906a)を、ユーザの視点に対する第1の空間配置で三次元環境内の第1のロケーションに維持する(1002e)。いくつかの実施形態では、入力は、電子デバイスに、三次元環境内の他の仮想オブジェクトのロケーションを維持させる。いくつかの実施形態では、入力は、電子デバイスに、ユーザの視点に対する他の仮想オブジェクトのロケーションを維持させる。いくつかの実施形態では、入力は、電子デバイスに、他の第2のオブジェクトに対する各第2のオブジェクトのロケーションを維持させる。
【0238】
図9Cなどのいくつかの実施形態では、入力を受信したことに応じて(1002b)、入力が1つ以上の第2の基準を満たす(例えば、入力が複数の仮想オブジェクトに向けられる)という判定に従って、電子デバイス(例えば、101)は、入力に従って三次元環境(例えば、902a)内で複数の仮想オブジェクト(例えば、904a、906a)を移動させるように三次元環境(例えば、902a)を更新し(1002f)、移動後、複数の仮想オブジェクト(例えば、904a、904b)は、ユーザ(例えば、916a)の視点に対する第1の空間配置とは異なる、ユーザ(例えば、916a)の視点に対する第3の空間配置を有する。いくつかの実施形態では、1つ以上の第2の基準は、電子デバイスがユーザの両手で実行された既定のジェスチャを検出したときに満たされる基準を含む。いくつかの実施形態では、1つ以上の第2の基準は、入力がユーザインタフェース要素に向けられたときに満たされる基準を含み、ユーザインタフェース要素は、ユーザインタフェース要素に向けられた入力に応じて、電子デバイスに、三次元環境内で複数の仮想オブジェクトを移動させるプロセスを開始させる。いくつかの実施形態では、入力は、電子デバイスに、三次元環境内の複数の仮想オブジェクトのロケーションを更新させる。いくつかの実施形態では、入力は、電子デバイスに、ユーザの視点に対する仮想オブジェクトのロケーションを更新させる。いくつかの実施形態では、入力中及び/又は入力に応じて(例えば、複数の要素が入力に基づいて一緒に移動している間及び/又はその後)、仮想オブジェクトのうちの1つ以上(例えば、全て)は、互いに対する及び/又は他の仮想オブジェクトに対する空間関係を維持する。いくつかの実施形態では、電子デバイスが、第2のユーザを有する及び/又は第2のユーザに関連付けられた第2の電子デバイスと通信している場合、電子デバイスは、三次元環境内の仮想オブジェクトのロケーションを維持し、三次元環境内のユーザの視点のロケーションを更新するので、ユーザの視点に対する仮想オブジェクトの空間的向きは、第2のユーザの視点に対する仮想オブジェクトのロケーションを変更することなく更新される。
【0239】
入力が1つ以上の第2の基準を満たすという判定に従って複数のオブジェクトを移動させるように三次元環境を更新することは、1つの入力に応じて複数の仮想オブジェクトを移動させるのに必要な入力を低減することによって電子デバイスとのユーザ対話を向上させ、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0240】
図9Cなどのいくつかの実施形態では、入力を受信したことに応じて、入力が1つ以上の第2の基準を満たすという判定に従って、入力に従って三次元環境(例えば、902a)内で複数の仮想オブジェクト(例えば、904a、904b)を移動させるように三次元環境(例えば、902a)を更新することは、入力の方向及び大きさに基づいて、複数の仮想オブジェクトのうちの第1の仮想オブジェクト(例えば、904a)を個別の(例えば、横方向、角度)量だけ個別の(例えば、横方向、角度)方向に移動させ、複数の仮想オブジェクトのうちの第2の仮想オブジェクト(例えば、906a)を個別の量だけ個別の方向に移動させることを含む(1004)。いくつかの実施形態では、複数の仮想オブジェクトを移動させるとき、仮想オブジェクトは、他の仮想オブジェクトに対して個別の空間的向きを維持し、ユーザの視点に対して異なる空間配置で表示される。例えば、電子デバイスは、複数の仮想オブジェクトを第1の方向に第1の量だけ移動させる入力に応じて、第1の仮想オブジェクト及び第2の仮想オブジェクトを三次元環境内で第1の方向に第1の量だけ移動させる。別の例として、複数のオブジェクトを第2の方向に第2の量だけ回転させる入力に応じて、電子デバイスは、第1の仮想オブジェクト及び第2の仮想を移動させて、第1の仮想オブジェクト及び第2の仮想オブジェクトを第2の方向に第2の量だけ(例えば、三次元環境内の個別の基準点の周りに)回転させる。
【0241】
入力を受信したことに応じて第1及び第2の仮想オブジェクトを個別の方向に個別の量だけ移動させることは、複数の仮想オブジェクトのポジション及び/又は向きを(例えば、まとめて)調整しながら、複数の仮想オブジェクトの個別の空間配置を維持する効率的な方法を提供し、それによって、ユーザがより少ない入力で迅速且つ効率的にデバイスを使用することを可能にする。
【0242】
図9Cなどのいくつかの実施形態では、1つ以上の第2の基準は、入力を受信することが、1つ以上の姿勢基準を満たす姿勢にあるユーザ(例えば、913a)の第1の部分(例えば、第1の手)を検出することと、1つ以上の姿勢基準を満たす姿勢にあるユーザ(例えば、913b)の第2の部分(例えば、第2の手)を検出することとを含むときに満たされる基準を含む(1006)。いくつかの実施形態では、1つ以上の第2の基準は、電子デバイスが、1つ以上の入力デバイス(例えば、ハンドトラッキングデバイス)を介して、ユーザが両手でピンチハンドシェイプを行った(例えば、親指を同じ手の別の指にタッチする)ことを検出したときに満たされる基準を含む。いくつかの実施形態では、ユーザが両手でピンチハンドシェイプを行ったことを検出したことに応じて、電子デバイスは、複数の仮想オブジェクトを移動させるプロセスを開始し、ピンチハンドシェイプが維持されている間に手の移動を検出したことに応じて、電子デバイスは、手のうちの1つ以上の移動(例えば、方向、速度、持続時間、距離など)に従って複数のオブジェクトを移動させる。いくつかの実施形態では、片手(例えば、両手ではない)によるピンチジェスチャを検出することを含む、個別の仮想オブジェクトを移動させるためのユーザインタフェース要素に向けられた入力を検出したことに応じて、電子デバイスは、(例えば、複数の仮想オブジェクトを移動させることなく)個別の仮想オブジェクトを移動させるプロセスを開始する。
【0243】
1つ以上の姿勢基準を満たす姿勢でユーザの第1及び第2の部分を検出したことに応じて複数のオブジェクトを移動させることは、複数の仮想オブジェクトのポジションを一度に更新する効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0244】
図9Aなどのいくつかの実施形態では、電子デバイス(例えば、101a)が入力を受信していない間、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120a)を介して、複数の仮想オブジェクト(例えば、904a、906a)を三次元環境(例えば、101a)内に第1の視覚的強調の量(例えば、不透明度、鮮明度、色コントラスト、サイズなど)で表示する(1008a)。いくつかの実施形態では、電子デバイスが入力を受信していない間、電子デバイスは、複数の仮想オブジェクトをフルカラー、不透明度、及び鮮明度で表示する。いくつかの実施形態では、電子デバイスが入力を受信していない間、電子デバイスは、三次元環境の残りに対して第1の視覚的強調の量を有する複数の仮想オブジェクトを表示する。
【0245】
図9Bなどのいくつかの実施形態では、入力が1つ以上の第2の基準を満たすとの判定に従って、入力を受信している間に、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120a)を介して、第1の視覚的強調の量よりも少ない第2の視覚的強調の量(例えば、不透明度、鮮明度、色コントラスト、サイズなど)で三次元環境(例えば、902a)内に複数の仮想オブジェクト(例えば、904a、906a)を表示する(1008db)。いくつかの実施形態では、電子デバイスが入力を受信している間、電子デバイスは、不透明度及び/若しくは鮮明度が低減された複数の仮想オブジェクトを表示し、並びに/又はより明るい色、より暗い色、彩度/コントラストがより低い色などの修正された色で複数の仮想オブジェクトを表示する。いくつかの実施形態では、電子デバイスが入力を受信している間、電子デバイスは、三次元環境の残りの部分に対して第1の視覚的強調の量よりも少ない第2の視覚的強調の量で複数の仮想オブジェクトを表示する。
【0246】
入力が受信されている間に複数のオブジェクトの視覚的強調を低減することは、仮想オブジェクトのポジションを更新するための入力を受信している間に複数の仮想オブジェクトに近接する及び/又は複数の仮想オブジェクトによって重複される三次元環境の部分を提示する効率的な方法を提供し、これは、複数の仮想オブジェクトのポジションを更新するための入力が受信されている間に強化された視覚的フィードバックを提供することによって電子デバイスとのユーザ対話を強化し、それによって、強化された視覚的フィードバックを用いて迅速且つ効率的にユーザtoユーザ電子デバイスを可能にする。
【0247】
図9Bなどのいくつかの実施形態では、電子デバイス(例えば、101b)は、表示生成コンポーネント(例えば、120b)を介して、三次元環境(例えば、902b)内の第2の電子デバイス(例えば、101a)の第2のユーザ(例えば、916a)の表現を表示する(1010a)。いくつかの実施形態では、電子デバイス及び第2の電子デバイスは、(例えば、ネットワーク接続を介して)互いに通信している。いくつかの実施形態では、電子デバイス及び第2の電子デバイスは、三次元環境へのアクセスを有する。いくつかの実施形態では、電子デバイスは、第2のユーザの視点に対応する三次元環境内のロケーションに第2のユーザの表現を表示する。いくつかの実施形態では、第2の電子デバイスは、電子デバイスのユーザの視点に対応する三次元環境内のロケーションに電子デバイスのユーザの表現を表示する。
【0248】
図9Bなどのいくつかの実施形態では、第2の電子デバイス(例えば、101a)が1つ以上の第2の基準を満たす個別の入力(例えば、第2のユーザの視点の見方に対する複数の仮想オブジェクトのポジションを更新するための入力)を検出している間、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120a)を介して、第1の視覚的強調の量(例えば、不透明度、鮮明度、色コントラスト、サイズ、三次元環境の残りに対する視覚的強調など)で第2のユーザ(例えば、916a)の表現を表示する(1010b)。いくつかの実施形態では、第2の電子デバイスが個別の入力を検出している間、電子デバイスは、第2の電子デバイスが個別の入力を検出していない間に第2のユーザの表現が表示される視覚的強調に対して低減された視覚的強調で第2のユーザの表現を表示する。例えば、第2の電子デバイスが個別の入力を検出している間、電子デバイスは、第2の電子デバイスが個別の入力を検出していない間に電子デバイスが第2のユーザの表現を表示する方法と比較して、不透明度及び/若しくは鮮明度が低減された、並びに/又は色が明るく、薄く、暗く、並びに/又はコントラスト及び/若しくは彩度が低減された第2のユーザの表現を表示する。いくつかの実施形態では、電子デバイスは、第2の電子デバイスが個別の入力を検出している間、三次元環境内の個別のロケーションにおける第2のユーザの表現の表示を維持する。いくつかの実施形態では、電子デバイスは、第2の電子デバイスによって検出された個別の入力に従って第2のユーザの表現を移動させながら、第1の視覚的強調の量を有する第2のユーザの表現を表示する。例えば、第2の電子デバイスが、複数の仮想オブジェクトを第2のユーザの視点のより近くに移動させる要求に対応する入力を検出する間、電子デバイスは、仮想オブジェクトが第2のユーザの視点に対して移動するが、ユーザの視点に対する仮想オブジェクトの移動を表示することなく、第1の視覚的強調の量が複数の仮想オブジェクトに向かって移動する状態で、第2のユーザの表現を表示する。いくつかの実施形態では、電子デバイスは、第2の電子デバイスから個別の入力のインジケーションを受信する。
【0249】
図9Aなどのいくつかの実施形態では、第2の電子デバイス(例えば、101a)が1つ以上の第2の基準を満たす個別の入力を検出しない間、電子デバイス(例えば、101b)は、表示生成コンポーネント(例えば、120b)を介して、第1の視覚的強調の量よりも大きい第2の視覚的強調の量(例えば、三次元環境の残りに対する視覚的強調)で第2のユーザ(例えば、916a)の表現を表示する(1010c)。いくつかの実施形態では、第2の電子デバイスが個別の入力を検出していない間、電子デバイスは、より大きな(又は完全な)不透明度及び/若しくは鮮明度、並びに/又は彩度の増加した度合いで第2のユーザの表現を表示する。
【0250】
第2の電子デバイスが個別の入力を検出している間に第2のユーザの表現を表示することは、第2のユーザが個別の入力の提供に関与していることをユーザに示す効率的な方法を提供し、それによって、ユーザ間の通信を改善し、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0251】
図9Aなどのいくつかの実施形態では、電子デバイス(例えば、101b)は、表示生成コンポーネント(例えば、120b)を介して、三次元環境(例えば、902b)内の第3のロケーションにある第2の電子デバイスの第2のユーザ(例えば、916a)の表現を表示する(1012a)。いくつかの実施形態では、電子デバイス及び第2の電子デバイスは、(例えば、ネットワーク接続を介して)互いに通信している。いくつかの実施形態では、電子デバイス及び第2の電子デバイスは、三次元環境へのアクセスを有する。いくつかの実施形態では、第3のロケーションは、第2のユーザの視点の三次元環境におけるロケーションである。いくつかの実施形態では、第2の電子デバイスは、電子デバイスのユーザの視点の三次元環境内のロケーションに、電子デバイスのユーザの表現を表示する。いくつかの実施形態では、電子デバイスは、三次元環境へのアクセスを有する他のユーザの追加の表現を、他のユーザの視点の三次元環境内のロケーションに表示する。
【0252】
図9Bなどのいくつかの実施形態では、三次元環境(例えば、902b)内の第3のロケーションに第2のユーザ(例えば、916a)の表現を表示している間に、電子デバイス(例えば、101b)は、第2の電子デバイス(例えば、101a)が1つ以上の第2の基準を満たす個別の入力を受信したというインジケーションを受信する(1012b)。いくつかの実施形態では、個別の入力は、三次元環境における第2のユーザの視点に対する仮想オブジェクトのポジションを更新するための要求に対応する、第2の電子デバイスにおいて受信される入力である。
【0253】
図9Dなどのいくつかの実施形態では、このインジケーションに応じて、電子デバイス(例えば、101b)は、表示生成コンポーネント(例えば、120b)を介して、第3のロケーションから第4のロケーションに移動する第2のユーザの表現のアニメーションを表示することなく、個別の入力に従って三次元環境(例えば、902b)内の第4のロケーションに第2のユーザの表現(例えば、916a)を表示する(1012c)。いくつかの実施形態では、電子デバイスは、第3のロケーションから第4のロケーションへの第2のユーザの「ジャンプ」又は「テレポート」の表現を表示する。いくつかの実施形態では、第4のロケーションは、第2の電子デバイスによって受信された個別の入力に基づく。例えば、複数の仮想オブジェクトを基準点(例えば、複数の仮想オブジェクトの周りの境界の内側)に対して時計回りに回転させる個別の入力に応じて、個別の入力のインジケーションに応じて、電子デバイスは、第2のユーザの表現のロケーションを、第3のロケーションから複数の仮想オブジェクトの周りの反時計回りの第4のロケーションに更新する。いくつかの実施形態では、電子デバイスは、第2の電子デバイスが1つ以上の第2の基準を満たす入力の終了を検出するまで、三次元環境内の第3のロケーションに第2のユーザの表現を表示する。
【0254】
第3のロケーションから第4のロケーションに移動する第2のユーザの表現のアニメーションを表示することなく、第4のロケーションに第2のユーザの表現を表示することは、気を散らすことが抑制された第2のユーザの視点に従って第2のユーザの表現を更新する効率的な方法を提供し、それによって、電子デバイスとのユーザ対話を向上させ、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0255】
いくつかの実施形態では、1つ以上の第2の基準は、入力が表示生成コンポーネント(例えば、120a)を介して表示されるユーザインタフェース要素に向けられたときに満たされ、入力がユーザインタフェース要素に向けられたときに電子デバイス(例えば、101a)に入力に従って複数の仮想オブジェクト(例えば、
図9Aの904a、906a)を移動させる基準を含む(1014)。いくつかの実施形態では、電子デバイスはまた、1つ以上の第1の基準を満たす入力が個別のユーザインタフェース要素に向けられた場合に、電子デバイスに個別の仮想オブジェクトを(例えば、複数の仮想オブジェクトを移動させることなく)移動させる、複数の仮想オブジェクトのそれぞれに関連付けられたそれぞれのユーザインタフェース要素を表示する。いくつかの実施形態では、電子デバイスに複数の仮想オブジェクトを移動させるユーザインタフェース要素の選択を検出したことに応じて、電子デバイスは、複数の仮想オブジェクトを移動させるプロセスを開始し、(例えば、ユーザの個別の部分の、方向ボタン又はキーとの対話などの別の方向入力、ジョイスティックの操作などの)移動を含む更なる入力に応じて、電子デバイスは、移動に従って複数のオブジェクトを移動させる。いくつかの実施形態では、ユーザインタフェース要素の選択を検出することは、ユーザインタフェース要素に向けられたユーザの注意(例えば、視線)を検出することと、ユーザが、上述のピンチハンド形状を作るなど、ユーザの個別の部分(例えば、ユーザの手)で既定のジェスチャを実行することを(例えば、ハンドトラッキングデバイスを介して)検出することとを含む。いくつかの実施形態では、ユーザインタフェース要素の選択を検出した後、電子デバイスは、ユーザの個別の部分(例えば、ユーザの手)の移動に従って複数の仮想オブジェクトを移動させるが、ユーザの個別の部分はピンチハンド形状を維持する。いくつかの実施形態では、ユーザインタフェース要素に向けられた入力を検出することは、ユーザの片手(両手ではない)によって提供される入力を検出することを含む。
【0256】
個別のユーザインタフェース要素に向けられた入力に応じて複数の仮想オブジェクトを移動させることは、複数の仮想オブジェクトをどのように移動させるかをユーザに教示する効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0257】
いくつかの実施形態では、入力が1つ以上の第2の基準を満たすという判定に従って(1016a)、
図9Bなどの、入力が第1の移動の大きさを含むという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、902a)内の複数の仮想オブジェクト(例えば、904a、906a)を第2の量だけ移動させる(1016b)。いくつかの実施形態では、第2の移動の量(例えば、速度、持続時間、距離)は、第1の移動の大きさ(例えば、速度、持続時間、距離)に対応する。
【0258】
いくつかの実施形態では、入力が1つ以上の第2の基準を満たすという判定に従って(1016a)、入力が第1の移動の大きさとは異なる
図9Cなどの第3の移動の大きさを含むという判定に従って、電子デバイス(例えば、101)は、複数の仮想オブジェクト(例えば、904a、906a)を三次元環境(例えば、902a)内で第2の量とは異なる第4の量だけ移動させる(1016c)。いくつかの実施形態では、第4の移動の量(例えば、速度、持続時間、距離)は、第3の移動の大きさ(例えば、速度、持続時間、距離)に対応する。いくつかの実施形態では、第1の移動の大きさが第3の移動の大きさよりも大きい場合、第2の量は第4の量よりも大きい。いくつかの実施形態では、第1の移動の大きさが第3の移動の大きさよりも小さい場合、第2の量は第4の量よりも小さい。例えば、(例えば、ユーザの手(単数又は複数)の)第1の移動の大きさが、(例えば、ユーザの手(単数又は複数)の)第3の移動の大きさよりも速い移動又はより長い距離及び/又は持続時間を有する移動を含む場合、第2の量は、第4の量よりも大きい。別の例として、(例えば、ユーザの手(単数又は複数)の)第1の移動の大きさが、(例えば、ユーザの手(単数又は複数)の)第3の移動の大きさよりも遅い移動、又はより短い距離及び/若しくは期間を有する移動を含む場合、第2の量は第4の量よりも少ない。
【0259】
入力の移動の大きさに対応する量だけ複数の仮想オブジェクトを移動させることは、ユーザが強化された制御で複数のオブジェクトの移動の量を制御することを可能にする効率的な方法を提供し、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0260】
いくつかの実施形態では、複数の仮想オブジェクト(例えば、
図9Aの904a、906a)のうちの1つ以上を移動させる要求に対応する入力を受信する前に、電子デバイス(例えば、101a)は、表示生成コンポーネント(例えば、120a)を介して、複数の仮想オブジェクト(例えば、904a、906a)に関連付けられた複数のユーザインタフェース要素を表示し(1018)、1つ以上の第1の基準は、入力が複数のユーザインタフェース要素のうちの個別のオブジェクトに関連付けられた個別のユーザインタフェース要素に向けられたときに満たされ、入力が個別のユーザインタフェース要素に向けられたときに、電子デバイスに、三次元環境(例えば、902a)内の複数の仮想オブジェクトのうちの個別のオブジェクトを移動させるプロセスを開始させる基準を含む。いくつかの実施形態では、複数の仮想オブジェクトは、第1の仮想オブジェクト及び第2の仮想オブジェクトを含む。いくつかの実施形態では、電子デバイスは、選択されると、電子デバイスに、三次元環境内で第1の仮想オブジェクトを移動させるプロセスを開始させる第1の仮想オブジェクトに近接した第1の選択可能な要素を表示する。いくつかの実施形態では、電子デバイスは、選択されると、電子デバイスに、三次元環境内で第2の仮想オブジェクトを移動させるプロセスを開始させる第2の仮想オブジェクトに近接した第2の選択可能な要素を表示する。いくつかの実施形態では、電子デバイスは、第1の仮想オブジェクトに向けられたユーザの注意(例えば、視線)を検出したことに応じて、任意選択的に、親指が手の別の指の既定の閾値距離(例えば、0.5、1、2、3、4、又は5センチメートル)内にあるピンチ前の手の形状、又は1つ以上の指が伸ばされ、1つ以上の指が手のひらに向かって曲がっている指差しの手の形状などの既定の形状でユーザの個別の部分(例えば、手)を検出しながら、任意選択的に、手が第1のオブジェクトの既定の閾値距離(例えば、1、2、3、5、10、15、30、50、又は100センチメートル)内にある間、第1の選択可能要素を表示する。いくつかの実施形態では、電子デバイスは、第2の仮想オブジェクトに向けられたユーザの注意(例えば、視線)を検出したことに応じて、任意選択的に、ピンチ前の手の形状又は指し示す手の形状などの既定の形状のユーザの個別の部分(例えば、手)を検出しながら、任意選択的に、手が第2のオブジェクトの既定の閾値距離(例えば、1、2、3、5、10、15、30、50、又は100センチメートル)内にある間に、第2の選択可能要素を表示する。
【0261】
電子デバイスに個別の仮想オブジェクトを移動させるプロセスを開始させる、個別のユーザインタフェース要素に向けられた入力に応じて、個別の仮想オブジェクトを移動させること(例えば、複数の仮想オブジェクトを移動させることなく)は、どの仮想オブジェクトを移動させるかを選択する効率的な方法を提供することによって、電子デバイスとのユーザ対話を向上させ、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0262】
いくつかの実施形態では、三次元環境(例えば、902a)を表示している間、電子デバイス(例えば、101a)は、1つ以上の入力デバイスを介して、デジタル原点(例えば、
図9Dの912)に対する1つ以上の空間基準を満たすように三次元環境(例えば、902a)を更新するための要求に対応する入力(例えば、方法800を参照して説明した入力など)を受信する(1020a)。いくつかの実施形態では、要求は、方法800の1つ以上のステップに従って、ユーザの現在の視点及び/又はデジタル原点に対する仮想オブジェクトの距離の範囲及び/又は向きの範囲を指定する1つ以上の基準を満たすように、ユーザの現在の視点に対する複数の仮想オブジェクトの空間配置を更新するための要求に対応する(例えば、である、含む)。いくつかの実施形態では、デジタル原点は、方法800の1つ以上のステップに従って、ユーザの現在の視点及び/又はデジタル原点に対する仮想オブジェクトの距離の範囲及び/又は向きの範囲を指定する1つ以上の空間基準を満たすように、ユーザの現在の視点に対する複数の仮想オブジェクトの空間配置を更新するための要求に応じて三次元環境を更新するときに、電子デバイスが複数の仮想オブジェクト及び/又はユーザの視点に対する1つ以上のロケーション及び/又は向きの基準を評価するために使用する三次元環境内のロケーションに位置する。いくつかの実施形態では、デジタル原点及びユーザの視点は、三次元環境内の同じロケーションに位置する。いくつかの実施形態では、デジタル原点及びユーザの視点は、三次元環境内の異なるロケーションに位置する。
【0263】
いくつかの実施形態では、入力に応答して、電子デバイス(例えば、101a)は、デジタル原点に対する1つ以上の空間基準を満たすように三次元環境(例えば、902a)を更新する(1020b)。いくつかの実施形態では、デジタル原点に対する1つ以上の空間基準を満たすように三次元環境を更新することは、方法800の1つ以上のステップに従って、1つ以上の仮想オブジェクトの空間配置を更新すること及び/又はユーザの視点を更新することに対応する(例えば、である、含む)。いくつかの実施形態では、仮想オブジェクトがデジタル原点に対する1つ以上の基準を満たすが、ユーザの視点がデジタル原点に対する1つ以上の基準を満たさない場合、電子デバイスは、入力に応じてユーザの視点を更新する。いくつかの実施形態では、ユーザの視点がデジタル原点に対する1つ以上の基準を満たすが、1つ以上の仮想オブジェクトがデジタル原点に対する1つ以上の基準を満たさない場合、電子デバイスは、入力に応じて1つ以上の仮想オブジェクトのロケーション及び/又は向きを更新する。
【0264】
デジタル原点に対する1つ以上の空間基準を満たすように三次元環境を更新することは、ユーザが三次元環境を更新するための要求を行うときに一貫した体験を提供することによって電子デバイスとのユーザ対話を向上させ、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0265】
図9Aなどのいくつかの実施形態では、デジタル原点(例えば、912)は、電子デバイス(例えば、101a)が、三次元環境(例えば、902a)を表示することを含む拡張現実又は仮想現実セッションを開始するときに決定される(1022)。いくつかの実施形態では、デジタル原点は、ユーザに対する電子デバイス又は表示生成コンポーネントの空間的向きが所定の空間的向きになったことを電子デバイスが検出したときに決定される。例えば、電子デバイス及び/又は表示生成コンポーネントはウェアラブルデバイスであり、所定の空間ロケーションは、ユーザが電子デバイス及び/又は表示生成コンポーネントを身に着けているとき及び/又は身に着けているときである。いくつかの実施形態では、デジタル原点は、最初に、ユーザの視点の三次元環境内のロケーションにある(例えば、AR若しくはVRセッションが開始するとき、又はユーザに対する電子デバイス若しくは表示生成コンポーネントの空間的向きが最初に所定の空間的向きになるとき)。
【0266】
AR又はVRセッションが開始するときにデジタル原点を決定することは、セッションの開始時に基準点を確立することによって電子デバイスとのユーザ対話を向上させ、それによって、一貫した体験をユーザに提供し、ユーザが、低減されたユーザエラーで電子デバイスを迅速且つ効率的に使用することを可能にする。
【0267】
図9Aなどのいくつかの実施形態では、1つ以上の第2の基準を満たす入力を受信する前に、デジタル原点(例えば、912)は、三次元環境(例えば、902a)内の第1の個別のロケーションに配置される(1024a)。いくつかの実施形態では、デジタル原点の第1の個別のロケーションは、VR又はARセッションの開始時に選択される。いくつかの実施形態では、デジタル原点の第1の個別のロケーションは、以下でより詳細に説明するように、デジタル原点が無効状態を有する間に受信される1つ以上の空間基準を満たすように三次元環境を更新するための要求に応じて選択されるロケーションである。いくつかの実施形態では、デジタル原点の第1の個別のロケーションは、以下で説明するように、1つ以上の第2の基準を満たす前の入力に応じて選択されたロケーションである。
【0268】
図9Cなどのいくつかの実施形態では、1つ以上の第2の基準を満たす入力を受信したことに応じて、入力が1つ以上の第2の基準を満たすという判定に従って、電子デバイス(例えば、101a)は、三次元環境(例えば、902a)内の第1の個別のロケーションとは異なる第2の個別のロケーションに配置されるようにデジタル原点(例えば、912)を更新する(1024b)。いくつかの実施形態では、電子デバイスは、デジタル原点を更新して、デジタル原点と、入力が受信されたときに存在した複数の仮想オブジェクトとの間の空間関係を維持する。いくつかの実施形態では、電子デバイスは、デジタル原点と、入力が受信されたときに存在した複数の仮想オブジェクトとの間の空間関係を変更するように、デジタル原点を更新する。いくつかの実施形態では、ユーザの視点は、1つ以上の基準を満たす入力を受信したことに応じて移動しない。いくつかの実施形態では、電子デバイスは、三次元環境内のユーザの視点のロケーションに位置するようにデジタル原点を更新する。いくつかの実施形態では、デジタル原点のロケーションを更新した後、方法800の1つ以上のステップに従って、デジタル原点及び/又はユーザの視点に対する1つ以上の空間基準を満たす要求に対応する入力を受信したことに応じて、電子デバイスは、ユーザの視点を更新する(例えば、デジタル原点のロケーションに位置するように)。
【0269】
1つ以上の第2の基準を満たす入力に応じてデジタル原点を更新することは、ユーザによって要求された複数のオブジェクトの更新された空間配置に従って仮想オブジェクトの空間的向き及びユーザの視点を評価するために使用される三次元環境内のロケーションを更新することによって、電子デバイスとのユーザ対話を向上させ、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0270】
図9Fなどのいくつかの実施形態では、三次元環境(例えば、902)が第2の電子デバイス(例えば、101b)の第2のユーザにアクセス可能である間(1026a)、電子デバイス(例えば、101a)は、表示生成コンポーネント(例えば、120a)を介して、デジタル原点(例えば、912)が三次元環境内の第1の個別のロケーションに位置する間に電子デバイス(例えば、101a)にアクセス可能であるが第2の電子デバイス(例えば、101b)にはアクセス可能でない個別の仮想オブジェクト(例えば、918a)を含む、三次元環境(例えば、101a)内の複数の仮想オブジェクト(例えば、918a)を表示する(1026b)。いくつかの実施形態では、第2の電子デバイスは、個別の仮想オブジェクトが第2の電子デバイスにアクセス可能でない間、個別の仮想オブジェクトを表示しない。いくつかの実施形態では、それぞれの仮想オブジェクト、ユーザの視点、及びデジタル原点のうちの2つ以上の間の空間関係は、個別の仮想オブジェクトが第2の電子デバイスにアクセス可能でない間、1つ以上の空間基準を満たす。いくつかの実施形態では、個別の仮想オブジェクトが第2の電子デバイスにアクセス可能であった場合、それぞれの仮想オブジェクト、ユーザの視点、デジタル原点、及び第2の電子デバイスの第2のユーザの視点のうちの2つ以上の間の1つ以上の空間関係は、1つ以上の空間基準を満たさない。いくつかの実施形態では、個別の仮想オブジェクトは、電子デバイスにアクセス可能であるが、第2の電子デバイスにはアクセス可能ではないが、個別の仮想オブジェクトは、(例えば、ユーザの)「プライベート」オブジェクトである。
【0271】
図9Fなどのいくつかの実施形態では、三次元環境(例えば、902)が第2の電子デバイス(例えば、101b)の第2のユーザにアクセス可能であり(1026a)、個別の仮想オブジェクト(例えば、918a)が電子デバイス(例えば、101a)にアクセス可能であるが第2の電子デバイス(例えば、101b)にアクセス可能でなく、デジタル原点(例えば、912)が三次元環境(例えば、902)内の第1の個別のロケーションに位置する間、電子デバイス(例えば、101)は、1つ以上の入力デバイス(例えば、314)を介して、個別の仮想オブジェクト(例えば、918a)を電子デバイス(例えば、101a)及び第2の電子デバイス(例えば、101b)にアクセス可能にする要求に対応する入力を受信する(1026c)。
【0272】
図9Gなどのいくつかの実施形態では、三次元環境(例えば、902)が第2の電子デバイスの第2のユーザにアクセス可能である間(1026a)、個別のオブジェクト(例えば、918a)を電子デバイス(例えば、101a)及び第2の電子デバイス(例えば、101b)にアクセス可能にする要求に対応する入力に応じて(1026d)、電子デバイス(例えば、101a)は、個別の仮想オブジェクト(例えば、918a)を電子デバイス(例えば、101a)及び第2の電子デバイス(例えば、101b)にアクセス可能になるように更新する(1026e)。いくつかの実施形態では、個別の仮想オブジェクトが電子デバイス及び第2の電子デバイスにアクセス可能である間、電子デバイスは、表示生成コンポーネントを介して、仮想オブジェクトを三次元環境に表示し、第2の電子デバイスは、第2の電子デバイスと通信する第2の表示生成コンポーネントを介して、仮想オブジェクトを三次元環境に表示する。いくつかの実施形態では、個別の仮想オブジェクトは電子デバイス及び第2の電子デバイスにアクセス可能であるが、個別の仮想オブジェクトは「共有」オブジェクトである。
【0273】
図9Gなどのいくつかの実施形態では、三次元環境(例えば、902)が第2の電子デバイス(例えば、101b)の第2のユーザにアクセス可能である間(1026a)、個別のオブジェクト(例えば、918)を電子デバイス(例えば、101a)及び第2の電子デバイス(例えば、101b)にアクセス可能にする要求に対応する入力に応じて(1026d)、電子デバイス(例えば、101)は、個別の仮想オブジェクト(例えば、918a)のロケーション(及び/又は第2の電子デバイスに関連付けられた三次元環境の第2の視点のロケーション)に従って、三次元環境(例えば、902)内の第1の個別のロケーションとは異なる第2の個別のロケーションに位置するようにデジタル原点(例えば、912)を更新する(1026f)。いくつかの実施形態では、デジタル原点が第2の個別のロケーションに位置する間、それぞれの仮想オブジェクト、ユーザの視点、デジタル原点、及び第2の電子デバイスの第2のユーザの視点のうちの2つ以上の間の1つ以上の空間関係は、1つ以上の空間基準を満たす。いくつかの実施形態では、デジタル原点は、電子デバイスのユーザの視点に関連付けられ、第2のユーザの視点は、デジタル原点とは異なる第2のデジタル原点に関連付けられる。いくつかの実施形態では、デジタル原点は、三次元環境、第1のユーザの視点、及び第2のユーザの視点に関連付けられる。いくつかの実施形態では、電子デバイスは、個別のオブジェクトを電子デバイス及び第2の電子デバイスにアクセス可能にする要求に対応する入力に応じて、使用の視点を更新しない。いくつかの実施形態では、デジタル原点が第2の個別のロケーションにある間に、方法800の1つ以上のステップに従って、複数の仮想オブジェクトの空間配置、ユーザの視点、及びデジタル原点を更新するための要求に対応する入力を受信したことに応じて、電子デバイスは、ユーザの視点を更新する(例えば、第2の個別のロケーションに位置するように)。いくつかの実施形態では、第1の電子デバイス及び第2の電子デバイスの両方が、方法800の1つ以上のステップに従って、複数の仮想オブジェクトの空間配置、ユーザの視点、及びデジタル原点を更新するための要求に対応する入力を受信した場合、両方のユーザの視点は、1つ以上の空間基準を満たすように更新され、それにより、両方のユーザによる個別の仮想オブジェクトとの対話及び個別の仮想オブジェクトの閲覧を容易にするようにユーザ及び個別の仮想オブジェクトの視点を位置決めする。
【0274】
個別の仮想オブジェクトを第2の電子デバイスにアクセス可能にするために入力に応じてデジタル原点を更新することは、個別の仮想オブジェクトを第2の電子デバイスと共有することに適合する三次元環境内で基準点を確立する効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0275】
図9Dなどのいくつかの実施形態では、ユーザの視点が三次元環境(例えば、902)内の第1の視点であり、デジタル原点(例えば、912)が三次元環境(例えば、902)内の第1の個別のロケーションに位置し、三次元環境(例えば、902)内の第1の個別のロケーションで有効ステータス(例えば、デジタル原点が有効)を有する間、電子デバイス(例えば、101b)は、1つ以上の入力デバイスを介して、ユーザの視点を三次元環境内の第1の視点とは異なる第2の視点に更新するための要求に対応する入力を受信する(1028a)。いくつかの実施形態では、デジタル原点、1つ以上の仮想オブジェクト、及びユーザの視点のうちの2つ以上の間の空間配置(単数又は複数)が、1つ以上の空間基準を満たすとき、デジタル原点は、有効ステータスを有する。いくつかの実施形態では、1つ以上の空間基準は、デジタル原点と仮想オブジェクト及び/又はユーザの視点との間の空間関係の閾値数(例えば、1、2、若しくは3、及び/又は25%、50%、若しくは75%)が、方法800を参照して上記で説明される仮想オブジェクトの距離の範囲又は向きの範囲を指定する1つ以上の基準を満たすときに満たされる基準を含む。例えば、デジタル原点が有効であるかどうかを判定するための基準は、空間関係の50%が基準を満たすときに満たされる基準を含む。いくつかの実施形態では、デジタル原点が有効である間、方法800を参照して上述したユーザの現在の視点に対する仮想オブジェクトの距離の範囲又は向きの範囲を指定する1つ以上の基準を満たすように三次元環境を更新するための要求に対応する入力に応じて、電子デバイスは、デジタル原点のロケーションを維持し、デジタル原点に従って仮想オブジェクトとユーザの視点との空間関係を更新する。
【0276】
図9Eなどのいくつかの実施形態では、ユーザの視点を三次元環境(例えば、902b)内の第2の視点に更新するための要求に対応する入力に応じて(1028b)、電子デバイス(例えば、101b)は、表示生成コンポーネント(例えば、120b)を介して、三次元環境(902b)を第2の視点から表示する(1028c)。
【0277】
図9Eなどのいくつかの実施形態では、ユーザの視点を三次元環境(例えば、902b)内の第2の視点に更新するための要求(に対応する入力に応じて1028b)、第2の視点が第1の視点の閾値距離内にあるという判定に従って、電子デバイス(例えば、101)は、三次元環境(例えば、902b)内の第1の個別のロケーションにおけるデジタル原点(例えば、912)の有効ステータスを維持する(1028d)。
【0278】
図9Eなどのいくつかの実施形態では、ユーザの視点を三次元環境内の第2の視点に更新するための要求に対応する入力に応じて(1028b)、第2の視点が第1の視点から閾値距離よりも離れているという判定に従って、電子デバイス(例えば、101b)は、デジタル原点(例えば、912)のステータスを無効ステータスに更新する(例えば、デジタル原点が有効でないと判定する)(1028e)。いくつかの実施形態では、デジタル原点の有効ステータスを無効ステータスに更新したことに応じて、電子デバイスは、デジタル原点に対して(例えば、デジタル原点と仮想オブジェクト及び/又はユーザの視点との間の空間関係に関する1つ以上の基準に従って)三次元環境内の新たなロケーションを選択する。いくつかの実施形態では、デジタル原点が有効でない間、電子デバイスは、方法800を参照して上述したユーザの現在の視点に対する仮想オブジェクトの距離の範囲又は向きの範囲を指定する1つ以上の基準を満たすように三次元環境を更新するための要求に対応する入力を受信するまで、デジタル原点のロケーションを更新せず、次いで、電子デバイスは、デジタル原点のロケーションを更新し、任意選択的に、更新されたデジタル原点に従って仮想オブジェクトとユーザの視点との空間関係を更新する。いくつかの実施形態では、デジタル原点の有効ステータスの基準は、ユーザの視点が閾値距離内に留まるときに満たされ、ユーザの視点が閾値距離を超えて移動するときに満たされない基準を含む。いくつかの実施形態では、電子デバイスは、第2の視点が有効でないという判定に従って、又はデジタル原点のロケーションを更新するときに、ユーザの視点を更新しない。いくつかの実施形態では、方法800の1つ以上のステップによる1つ以上の空間基準に従って仮想オブジェクトの空間配置及びユーザの視点を更新するための要求に対応する入力に応じて、電子デバイスは、更新されたデジタル原点に従ってユーザの視点を更新する。
【0279】
閾値距離を超えるユーザの視点の移動に応じてデジタル原点を無効化することは、ユーザの更新された視点に従ってユーザインタフェースを更新する効率的な方法を提供し、これは、ユーザが三次元環境内で視点を選択することを可能にすることによって電子デバイスとのユーザ対話を向上させ、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0280】
いくつかの実施形態では、表示生成コンポーネント(例えば、120a)を含むデバイス(例えば、及び/又は電子デバイス)が、ユーザの個別の部分(例えば、ユーザの頭部)に対して、1つ以上の姿勢基準を満たす姿勢にあり(例えば、ユーザが所定の方法で表示生成コンポーネントを頭部に装着している)、デジタル原点(例えば、
図9Aなどの912)が三次元環境(例えば、902)内の第1の個別のロケーションに位置する間、電子デバイス(例えば、101a)は、ユーザの個別の部分に対して、1つ以上の姿勢基準を満たさない姿勢への表示生成コンポーネント(例えば、120a)の移動を検出する(1030a)。いくつかの実施形態では、表示生成コンポーネント(例えば、及び/又は電子デバイス)はウェアラブルデバイスであり、1つ以上の姿勢基準は、ユーザが表示生成コンポーネント(例えば、及び/又は電子デバイス)を自身の頭部に装着しているときに満たされる。いくつかの実施形態では、1つ以上の姿勢基準は、ユーザが表示生成コンポーネント(例えば、及び/又は電子デバイス)を自身の頭部に装着していないとき、又はユーザが表示生成コンポーネント(例えば、及び/又は電子デバイス)を自身の頭部に装着しているが、所定の姿勢で自身の顔の前には装着していないときに満たされない。
【0281】
いくつかの実施形態では、表示生成コンポーネント(例えば、120a)を含むデバイスが、1つ以上の姿勢基準を満たさないユーザの個別の部分に対する姿勢にある間、電子デバイス(例えば、101)は、1つ以上の姿勢基準を満たすユーザの個別の部分に対する姿勢への表示生成コンポーネント(例えば、120a)の移動を検出する(1030b)。いくつかの実施形態では、表示生成コンポーネント(例えば、及び/又は電子デバイス)を装着していない後、ユーザは、1つ以上の姿勢基準を満たす姿勢で表示生成コンポーネント(例えば、及び/又は電子デバイス)を装着し始める。
【0282】
いくつかの実施形態では、1つ以上の姿勢基準を満たすユーザの個別の部分に対する姿勢への表示生成コンポーネント(例えば、120)の移動に応じて(1030c)、表示生成コンポーネント(例えば、120a)を含むデバイスが、所定の時間閾値(例えば、1、2、3、5、30、若しくは45秒、又は1、2、3、5、若しくは10分)未満の時間にわたって1つ以上の姿勢基準を満たさないユーザの個別の部分に対する姿勢にあったという判定に従って、電子デバイス(例えば、101a)は、三次元環境(例えば、902)内の第1の個別のロケーションにデジタル原点(例えば、
図9Aなどの912)を維持する(1030d)。いくつかの実施形態では、電子デバイスは、姿勢が所定の時間閾値未満にわたって1つ以上の姿勢基準を満たさない場合、デジタル原点をリセットせず、ユーザの視点を更新しない。
【0283】
いくつかの実施形態では、1つ以上の姿勢基準を満たすユーザの個別の部分に対する姿勢への表示生成コンポーネント(例えば、120a)の移動(に応じて1030c)、表示生成コンポーネント(例えば、120a)を含むデバイスが、所定の時間閾値よりも長い時間にわたって1つ以上の姿勢基準を満たさないユーザの個別の部分に対する姿勢にあったという判定に従って、電子デバイス(例えば、101a)は、デジタル原点(例えば、
図9Aなどの912)を、三次元環境(例えば、902)内の第1の個別のロケーションとは異なる第2の個別のロケーションに更新する(1030e)。いくつかの実施形態では、第2の個別のロケーションは、ユーザ及び/又は表示生成コンポーネント(例えば、及び/又は電子デバイス)の物理的ロケーションに基づいて、三次元環境におけるユーザの視点のロケーションに関連付けられる(例えば、ロケーションである)。いくつかの実施形態では、閾値期間が経過した後に、ユーザの個別の部分に対する姿勢への表示生成コンポーネントの移動が1つ以上の基準を満たすときに、デジタル原点が第1の個別のロケーションにおいて依然として有効である場合、電子デバイスは、デジタル原点を第1の個別のロケーションに維持する。いくつかの実施形態では、デジタル原点を更新することは、ユーザの視点を更新することを含まない。いくつかの実施形態では、方法800の1つ以上のステップによる1つ以上の空間基準に従って仮想オブジェクトの空間配置及びユーザの視点を更新するための要求に対応する入力に応じて、電子デバイスは、更新されたデジタル原点に従ってユーザの視点を更新する。
【0284】
姿勢基準が所定の時間閾値にわたって満たされなかったときに姿勢基準を満たす姿勢への表示生成コンポーネントの移動に応じてデジタル原点を更新することは、表示生成コンポーネント(例えば、及び/又は電子デバイス)の姿勢が1つ以上の姿勢基準を満たすとユーザが三次元環境を更新することを可能にし、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にすることによって、電子デバイスとのユーザ対話を向上させる。
【0285】
図9Aなどのいくつかの実施形態では、ユーザの視点に対する第1の個別の空間配置で複数の仮想オブジェクト(例えば、904a、906a)を含む三次元環境(例えば、902a)を表示している間、第1の個別の空間配置は、ユーザの視点の既定の閾値距離内に複数の仮想オブジェクト(例えば、904a、906a)を表示することを含み、デジタル原点(例えば、912)が三次元環境(例えば、902a)内の第1の個別のロケーションに位置し、三次元環境(例えば、902a)内の第1の個別のロケーションで有効ステータスを有する間、電子デバイス(例えば、101)は、ユーザの視点に対する複数の仮想オブジェクト(例えば、904a、906a)の空間配置を更新するための要求に対応する1つ以上の入力のインジケーションを検出する(1032a)。いくつかの実施形態では、1つ以上の入力は、方法1400を参照して説明される入力など、1つ以上の第1の基準を満たし、1つ以上の第2の基準を満たさない(例えば、1つ以上の入力は、仮想オブジェクトのポジションを個別に更新するための要求に対応する)。
【0286】
図9Dなどのいくつかの実施形態では、1つ以上の入力のインジケーションを検出したことに応じて、電子デバイス(例えば、101)は、表示生成コンポーネント(例えば、120a)を介して、複数の仮想オブジェクト(例えば、904a、904b)をユーザの視点に対して第2の個別の空間配置で表示する(1032b)。
【0287】
図9Cなどのいくつかの実施形態では、第2の個別の空間配置が、複数の仮想オブジェクト(例えば、904a、906a)のうちの少なくとも1つをユーザの視点の既定の閾値距離(例えば、1、2、3、5、10、15、又は30メートル)内に表示することを含むという判定に従って、電子デバイス(例えば、101)は、三次元環境内の第1の個別のロケーションにおけるデジタル原点の有効ステータスを維持する(1032c)。いくつかの実施形態では、デジタル原点が有効ステータスを有する間、方法800を参照して上述した1つ以上の基準を満たすように仮想オブジェクトの空間配置を更新するための要求に応じて、電子デバイスは、デジタル原点の第1の個別のロケーションに従って三次元環境を更新する。いくつかの実施形態では、電子デバイスは、デジタル原点を第1の個別のロケーションに維持するとき、ユーザの視点を更新しない。
【0288】
図9Dなどのいくつかの実施形態では、第2の個別の空間配置が、複数の仮想オブジェクト(例えば、904a、906a)をユーザの視点から既定の閾値距離を超えて表示することを含むとの判定に従って、電子デバイス(例えば、101)は、デジタル原点のステータスを無効ステータスに更新する(1032d)。いくつかの実施形態では、デジタル原点が無効ステータスを有する間、方法800を参照して上述した1つ以上の基準を満たすように仮想オブジェクトの空間配置を更新するための要求に応じて、電子デバイスは、デジタル原点の第2の個別のロケーションに従って三次元環境を更新する。いくつかの実施形態では、第2の個別のロケーションは、デジタル原点の有効ステータスを無効ステータスに更新したことに応じて決定される。いくつかの実施形態では、第2の個別のロケーションは、方法800を参照して上述した1つ以上の基準を満たすように仮想オブジェクトの空間配置を更新するための要求に応じて決定される。
【0289】
複数のオブジェクトがユーザから既定の閾値距離よりも離れているときにデジタル原点を無効にすることは、更新されたデジタル原点を使用して仮想オブジェクトをユーザの視点のより近くに表示するように三次元環境を更新する効率的な方法を提供し、それによって使用が電子デバイスを迅速且つ効率的に使用することを可能にすることによって、電子デバイスとのユーザ対話を強化する。
【0290】
図9Fなどのいくつかの実施形態では、デジタル原点(例えば、912)のロケーションが1つ以上のデジタル原点基準を満たす間、電子デバイス(例えば、101)は、デジタル原点(例えば、912)を三次元環境内の第1の個別のロケーションに維持する(1034a)。いくつかの実施形態では、デジタル原点基準は、閾値距離を超えて移動しないユーザの視点、1つ以上の仮想オブジェクトの閾値距離内にあるユーザの視点、及び/又は仮想オブジェクト、ユーザの視点、及びデジタル原点のうちの2つ以上の間の空間配置に関連する他の基準などの、上述の基準のうちの1つ以上を含む。いくつかの実施形態では、デジタル原点が第1の個別のロケーションにある間に、方法800の1つ以上のステップに従ってユーザの視点に対する空間配置を更新するための要求に応じて、電子デバイスは、第1の個別のロケーションにあるデジタル原点に対する1つ以上の基準を満たすように三次元環境を更新する。
【0291】
図9Gなどのいくつかの実施形態では、デジタル原点(例えば、912)のロケーションが1つ以上のデジタル原点基準をもはや満たさないことを検出したことに応じて、電子デバイス(例えば、101)は、三次元環境(例えば、902)内の、第1の個別のロケーションとは異なる第2の個別のロケーションに位置するようにデジタル原点(例えば、912)を更新し(1034b)、第2の個別のロケーションは、1つ以上のデジタル原点基準を満たす。いくつかの実施形態では、デジタル原点が第2の個別のロケーションに位置する間に方法800の1つ以上のステップに従ってユーザの視点に対する空間配置を更新するための要求に応じて、電子デバイスは、第2の個別のロケーションに位置する更新されたデジタル原点に対する1つ以上の基準を満たすように三次元環境を更新する。いくつかの実施形態では、電子デバイスは、デジタル原点が無効であると判定したことに応じて(例えば、デジタル原点を更新するための要求に対応する入力を受信することなく)、デジタル原点を自動的に更新する。いくつかの実施形態では、デジタル原点を更新することは、ユーザの視点を更新することを含まない。いくつかの実施形態では、方法800の1つ以上のステップによる1つ以上の空間基準に従って仮想オブジェクトの空間配置及びユーザの視点を更新するための要求に対応する入力に応じて、電子デバイスは、更新されたデジタル原点に従ってユーザの視点を更新する。
【0292】
デジタル原点が無効であると判定したことに応じてデジタル原点を更新することは、有効なデジタル原点を使用して三次元環境を迅速に更新することによって電子デバイスとのユーザ対話を向上させ、それによってユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0293】
図9Aなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、904a、906a)を第1の空間配置で表示することは、複数の仮想オブジェクト(例えば、904a、906a)を互いに対して個別の配置(例えば、向き及び/又はポジション及び/又は距離)で表示することを含む(1036a)。
【0294】
図9Cなどのいくつかの実施形態では、複数の仮想オブジェクト(例えば、904a、906a)を第3の空間配置で表示することは、複数の仮想オブジェクト(904a、906a)を互いに対する個別の配置(1036b)で表示することを含む。いくつかの実施形態では、仮想オブジェクトの互いに対するポジション及び向きは、1つ以上の第2の基準を満たす入力に応じて三次元環境を更新したことに応じて維持される。いくつかの実施形態では、仮想オブジェクトを一緒に移動させている間、電子デバイスは、互いに対する仮想オブジェクトの個別の配置を維持しながら、仮想オブジェクトを一緒に表示する。
【0295】
1つ以上の第2の基準を満たす入力に応じて仮想オブジェクトの個別の空間配置を互いに対して維持することは、ユーザが複数の仮想オブジェクトを一緒に迅速且つ効率的に移動させることを可能にすることによって、電子デバイスとのユーザ対話を向上させる。
【0296】
図11A~
図11Eは、本開示のいくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境内にオブジェクトを表示する例示的な方法を示す。
【0297】
図11Aは、ユーザAの電子デバイス1102a及びユーザBの電子デバイス1104bの表示生成コンポーネント120a及び120bによってそれぞれ表示されている三次元環境1122を示す。いくつかの実施形態では、電子デバイス1102a及び1104bは、本開示の範囲から逸脱することなく、二次元環境内で
図11A~
図11Eを参照して説明した1つ以上の技法を利用することを理解されたい。
図1~
図6を参照して上述したように、電子デバイス1102a及び1104b(例えば、各々がデバイス101に対応する)は、任意選択的に、表示生成コンポーネント120a及び120b(例えば、タッチスクリーン)及び複数の画像センサ314a及び314bをそれぞれ含む。画像センサ314a及び314bは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は、ユーザが電子デバイス1102a及び1104bと対話している間に、ユーザ又はユーザの一部の1つ以上の画像を取り込むために使用することができる電子デバイス1102a及び1104bの任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に示すユーザインタフェースは、ユーザにユーザインタフェースを表示する表示生成コンポーネントと、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、及び/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するセンサとを含むヘッドマウントディスプレイに実現することもできる。
【0298】
図11Aに示すように、電子デバイス1102aは、仮想椅子1107(例えば、仮想オブジェクト)に座っているユーザBの表現1106及びアプリケーションAのユーザインタフェース1110を現在表示している。いくつかの実施形態では、アプリケーションAは、シングルユーザゲームアプリケーション、マルチユーザゲームアプリケーション(例えば、ユーザA及びユーザBの両方が任意選択的に対話する)、メディアアプリケーション、ソーシャルアプリケーション、ナビゲーションアプリケーション、ストリーミングアプリケーションなどである。いくつかの実施形態では、電子デバイス1102aは、表現1106、仮想椅子1107、及びユーザインタフェース1110を表示している。なぜなら、これらのオブジェクトは、三次元環境1122のユーザAの現在の視点からの視野内にあるからである。例えば、俯瞰
図1140に示されるように、ユーザAは、現在、三次元環境1122の後方部分から、三次元環境1122の前方部分に向かって向けられる姿勢で、三次元環境1122を見ている。したがって、ユーザAに関連付けられた電子デバイス1102aは、ユーザBのユーザインタフェース1110、仮想椅子1107、及び表現1106を表示しているが、これは、これらのオブジェクトがユーザAの現在の視点からの視野内にあるためである。同様に、
図11Aの例では、ユーザBに関連付けられた電子デバイス1104bは、ユーザインタフェース1110及び仮想椅子1111に座っているユーザAの表現1118を提示しているが、これは、これらのオブジェクトが、
図11Aの俯瞰
図1140に示すように、三次元環境1122のユーザBの現在の視点からの視野内にあるためである。
【0299】
いくつかの実施形態では、三次元環境1122は、電子デバイスの物理的環境(例えば、動作環境100)内の物理的フロアの電子デバイスの推定されたロケーションに対して表示される。例えば、
図11Aでは、電子デバイス1102aは、電子デバイス1102aの物理的環境1121a内の物理的フロアがロケーション1120aにある(電子デバイス1102aの物理的環境内のフロアの真の/実際のロケーションに対応するロケーション1150aにはない)と推定している。いくつかの実施形態では、電子デバイス1102aは、以下で説明されるように、ユーザA(例えば、電子デバイス1102aに関連付けられたユーザ)に関する情報に基づいて、物理的環境1121a内の物理的フロアのロケーションを推定する。
【0300】
いくつかの実施形態では、ユーザAに関連付けられた電子デバイス1102aは、任意選択的に、ユーザAの既知の身長に基づいて、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると推定する。例えば、電子デバイス1102は、ユーザAが60、70、80、100、140、200、220、又は240センチメートルの身長であることを示す情報に(例えば、電子デバイス1102a上のメモリに記憶されたユーザプロファイルから、又は電子デバイス1102aが任意選択的に通信するサーバから)任意選択的にアクセス/取得し、ユーザAの取得された身長に基づいて、電子デバイス1102aは、ユーザAが現在電子デバイス1102aを保持又は装着しているロケーションよりも60、70、80、100、140、200、220、又は240センチメートル低いロケーションにロケーション1120aが対応するので(例えば、電子デバイス1102aがヘッドマウントデバイスである場合)、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると任意選択的に推定する。上述の技法は、ユーザAが立っている姿勢にあると電子デバイス1102aが判定するときに、任意選択的に使用される。いくつかの実施形態では、電子デバイス1102aが、ユーザAが立っている姿勢ではなく、座っている姿勢、膝を曲げている姿勢、屈んでいる姿勢などの異なる姿勢であると判定した場合、電子デバイス1102aは、任意選択的に、物理的環境1121a内の物理的フロアのロケーションが、ユーザAが立っている姿勢であった場合よりも電子デバイス1102aに近い(例えば、6、15、30、45、60、70、又は130センチメートル)と推定する。
【0301】
いくつかの実施形態では、電子デバイス1102aは、1人以上の他のユーザに関する平均情報に基づいて(例えば、ユーザAに関する身長情報に加えて、又はその代替として)、物理的環境1121aの物理的フロアがロケーション1120aにあると推定する。例えば、電子デバイス1102aは、任意選択的に、三次元環境1122に関連付けられた1人以上のユーザ及び/又は三次元環境1122に関連付けられていない1人以上のユーザ(例えば、ユーザの一般住民など)についての平均身長情報へのアクセス権を有する/それを取得する(例えば、メモリ、サーバ、データベースなどから)。いくつかの実施形態では、電子デバイス1102aは、1人以上のユーザについて取得された平均身長情報を使用して、先に説明したのと同様の方法で物理的環境1122内の物理的フロアのロケーションを推定する。物理的環境1121aの物理的フロアのロケーションを推定するために電子デバイス1102aが任意選択的に使用する追加の技法/方法は、方法1200において更に説明される。
【0302】
加えて、
図11Aに示すように、(ユーザBに関連付けられた)電子デバイス1104bは、電子デバイス1104bの物理的環境1123b内の物理的フロアがロケーション1127bにある(物理的環境1123b内の物理的フロアの真の/実際のロケーションであるロケーション1152bにはない)と推定している。いくつかの実施形態では、物理的環境1121a及び1123bは、ユーザA及びB(ユーザA及びBにそれぞれ関連付けられた電子デバイス1102a及び1104b)が同じ物理的環境に位置する場合は同じ物理的環境に対応し、ユーザA及びBが異なる物理的環境に位置する場合は異なる物理的環境に対応する。電子デバイス1104bは、任意選択的に、電子デバイス1102aがその個別の物理的環境1121a内の物理的フロアのロケーションを推定した方法と同様の方法で、物理的環境1123b内の物理的フロアのロケーションがロケーション1127bにあると推定した。本開示の残りの部分における説明を容易にするために、その個別の物理的環境におけるフロアの個別の電子デバイスの推定されたロケーションは、本明細書では、推定された物理的フロアロケーション1120a又は推定された物理的フロアロケーション1127bなど、推定された物理的フロアロケーションと呼ばれる。
【0303】
いくつかの実施形態では、電子デバイスは、三次元環境1122内のオブジェクトを、その個別の物理的環境内の物理的フロアの電子デバイスの推定されたロケーションに対するロケーションに表示するが、これは、三次元環境1122内のオブジェクトのロケーションが、推定されたフロアロケーションに対するものとして任意選択的に定義されるからである。例えば、
図11Aに示すように、電子デバイス1102aは、物理的環境1121a内の物理的フロアがロケーション1120aにあると推定している。この推定の結果として、電子デバイス1102aは、推定された物理的フロアロケーション1120aから距離1114(例えば、15、30、60、150、304、又は610センチメートル)であるロケーションに対応する三次元環境1122内の相対ロケーションにユーザインタフェース1110を表示し、推定された物理的フロアロケーション1120aに対応する三次元環境1122内のロケーションに仮想オブジェクト1107を表示し、推定された物理的フロアロケーション1120aの上方の個別の距離(例えば、15、30、60、150、300、又は600センチメートル)にユーザBの表現1106を表示して、表現1106が仮想椅子1111に着座するようにする。いくつかの実施形態では、三次元環境1122内の全てのオブジェクト(ユーザAの視点からの視野内のオブジェクトだけではない)が、任意選択で、推定された物理的フロアロケーション1120aに対して表示されることが理解される。
【0304】
同様に、電子デバイス1104bは、三次元環境1122において、その推定された物理的フロアロケーション1127bに対するロケーションにオブジェクトを提示している。具体的には、電子デバイス1104bは、物理的環境1123b内の物理的フロアがロケーション1127bにあると推定しているので、電子デバイス1104bは、推定された物理的フロアロケーション1127bからの距離1114であるロケーションに対応する三次元環境1122内の相対ロケーションにユーザインタフェース1110を表示しており、推定された物理的フロアロケーション1127bに対応する三次元環境1122内の相対ロケーションに仮想椅子1111を表示し、推定された物理的フロアロケーション1127bの上方のロケーション/個別の距離(例えば、15、30、60、150、300、又は600センチメートル)にユーザAの表現1118を表示して、表現1118が仮想椅子1111に着座するようにする。
【0305】
いくつかの実施形態では、三次元環境1122内の仮想オブジェクトが物理的フロアの推定されたロケーションから表示される相対距離は、物理的環境内の物理的フロアのデバイスの現在の推定されたロケーションにかかわらず、一定のままである。例えば、電子デバイス1102a及び1104bが、それらのそれぞれの物理的環境内の物理的フロアの異なる推定されたロケーション(例えば、それぞれロケーション1120a及び1127b)に対してオブジェクトを表示していても、ユーザインタフェース1110は依然として、それぞれの推定物理的フロアロケーション1120a及び1127bの両方から距離1114だけ離れて表示される。
【0306】
図11Bでは、電子デバイス1102aが、推定された物理的フロアロケーション1120aに対するロケーションで三次元環境1122内のオブジェクトを表示している間、電子デバイス1102aは、三次元環境1122のユーザAの視点が三次元環境1122内のユーザAの視点から下に移動したことを検出している。いくつかの実施形態では、三次元環境1122におけるユーザAの視点は、ユーザAが物理的環境1121aにおいて対応する姿勢に移動した(例えば、ユーザAが下方向を見始めた、及び/又は電子デバイス1102aが
図11Aにおけるその向きと比較して下方向を向いていた)ので、下方向に移動した。
【0307】
いくつかの実施形態では、電子デバイス1102aが三次元環境1122におけるユーザAの視点の移動を検出したことに応じて、電子デバイス1102aは、任意選択的に、ユーザAの三次元環境1122の新しい/更新された視点から三次元環境1122を表示する。例えば、
図11Bにおいて、デバイス1102aがユーザAの視点の下方への移動を検出したことに応じて、電子デバイス1102aは、ユーザAの視点が
図11Aに示される視点に対応したときに視野内になかった三次元環境1122の新しい部分を表示し、ユーザインタフェース1110、仮想椅子1107、及びユーザBの表現1106を、
図11Aと比較してユーザAの視野内のより高いロケーションに表示する(例えば、三次元環境1122のユーザAの視点が下方向に移動したため)。
図11Bでは、電子デバイス1104bは、三次元環境のユーザBの視点が
図11Aから
図11Bに変化していないので、
図11Aで説明したユーザBの同じ視点からの三次元1122を表示し続ける。
【0308】
加えて、
図11Bでは、電子デバイス1102aは、物理的環境1121aにおける物理的フロアの推定されたロケーションを、ロケーション1120a(
図11Aで説明したような)からロケーション1150a(例えば、物理的環境1121aにおける物理的フロアの実際の/真のロケーション)に更新している。方法1200でより詳細に説明するように、ユーザAの視点が
図11Aに示す視点から
図11Bに示す視点に移動するにつれて、デバイス1102aの1つ以上のセンサ314aが物理的環境1121a内の物理的フロアに向かって方向決めされ、電子デバイス1102が物理的環境1121a内の物理的フロアの一部(例えば、5%、20%、50%、80%、又は100%)に対応する平面を検出することができたので、電子デバイス1102aの物理的環境1121a内の物理的フロアの推定されたロケーションは、任意選択的にロケーション1150aに変化した。代替的に、いくつかの実施形態では、電子デバイス1102aは、電子デバイス1102aがユーザAの更新された身長情報、ユーザA以外の1人以上のユーザに関する更新された身長情報などを受信したため、物理的環境1121aにおける物理的フロアの推定されたロケーションを更新したが、
図11Bでは、電子デバイス1104bは、物理的環境1123bにおける物理的フロアの推定されたロケーションを更新しなかったが、いくつかの実施形態では、電子デバイス1104bは、電子デバイス1102aと同様の理由で、物理的環境1123bにおける物理的フロアの推定されたロケーションを任意選択的に更新することを理解されたい。
【0309】
いくつかの実施形態では、個別の電子デバイスが、電子デバイスの物理的環境内の物理的フロアの推定されたロケーションを更新した後、電子デバイスは、以下及び方法1200でより詳細に説明するように、特定の基準/条件が満たされるまで、物理的フロアの以前の推定されたロケーションに対してオブジェクトを表示し続ける。例えば、
図11Bでは、電子デバイス1102aは、現在、物理的環境1121a内の物理的フロアがロケーション1150aであると推定しているが、電子デバイス1102aは、方法1200で説明した1つ以上の基準がまだ満たされていないので、デバイス1102の以前の推定された物理的フロアロケーション1150a(
図11Aで説明したように)に対して、ロケーション1120aに対してではなく、三次元環境1122内のオブジェクト(例えば、ユーザインタフェース1110、仮想椅子1107、及びユーザBの表現1106など)を依然として表示している。いくつかの実施形態では、電子デバイス1102aは、最初に1つ以上の基準を満たすことなく、物理的フロアのその更新された/直近の推定されたロケーションに対して、三次元環境1122内のオブジェクトの表示を開始する。
【0310】
図11Cでは、電子デバイス1102aは、三次元環境1122のユーザの視点が、
図11Bの俯瞰
図1140に示されるユーザAの視点から
図11Cの俯瞰
図1140に示される視点に移動した(例えば、三次元環境1122内のユーザAのポジションが、三次元環境1122の後方角部に向かって移動した)ことを検出している。いくつかの実施形態では、三次元1122のユーザAの視点は、ユーザAが物理的環境1121a内の対応する姿勢に移動したので、
図11Cに示される視点に移動した。
【0311】
図11Bの俯瞰
図1140に示される視点から
図11Cに示される視点への三次元環境1122におけるユーザAの視点の移動を検出したことに応じて、電子デバイス1102aは、任意選択的に、
図11Cに示されるように、三次元環境1122のユーザの新しい視点から三次元環境1122を表示する。特に、三次元環境1122のその部分がユーザAの三次元環境1122の新しい視点からの視野内にあるので、デバイス101の表示生成コンポーネント120aは、現在、三次元環境1122の後方角部を表示しており、ユーザインタフェース1110、仮想椅子1107、及びユーザBの表現1106は、これらのオブジェクトがもはやユーザAの三次元環境1122の新しい視点からの視野内にないので、もはや表示していない。加えて、電子デバイス1104bは、
図11Cの俯瞰
図1140に示されるように、三次元環境1122におけるユーザAのポジション/視点の移動後に、ユーザAの表現1118が三次元環境1122のユーザBの現在の視点からの視野内にもはや存在しないため、(
図11Bに以前に示されたように)ユーザAの表現1118をもはや提示していない。
【0312】
ユーザインタフェース1110、仮想椅子1107、及び表現1106が、俯瞰
図1140に示されるように、もはやユーザAの視点の視野内にない場合であっても、これらのオブジェクトは、
図11Bで前述したように、推定された物理的フロアロケーション1120aに対する三次元環境1122内のロケーションに依然として任意選択的にあることを理解されたい(例えば、以下で詳細に説明する1つ以上の基準がまだ満たされていないため)。
図11Cでは、デバイス1102aは、選択可能なユーザインタフェースオプション1124aも表示している。いくつかの実施形態では、選択可能なユーザインタフェースオプション1124aは、
図7A~
図7Gで説明した選択可能な再センタリングオプション712と同様であり、同様の理由でデバイス1102aによって任意選択的に表示される。いくつかの実施形態では、電子デバイス1102aは、
図7A~
図7G及び方法800でより詳細に説明するように、三次元環境1122内の1つ以上のオブジェクトのポジション/ロケーションが三次元環境1122のユーザAの新しい視点に対する空間基準を満たさないので、選択可能なユーザインタフェースオプション1124aを表示している。例えば、電子デバイス1102aは、三次元環境1122内の1つ以上のオブジェクトが、現在、ユーザAの三次元環境1122の新しい視点から閾値距離(例えば、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)を超えているので、及び/又は三次元環境1122内の1つ以上のオブジェクトが、ユーザAの三次元環境1122の新しい視点からの視野内にもはや存在しない(例えば、三次元環境1122内のユーザAの以前の視点からの視野内に任意選択的に存在していた)ので、選択可能なユーザインタフェースオプション1124aを任意選択的に表示する。
【0313】
いくつかの実施形態では、電子デバイス1102aは、ユーザAの視線がユーザ選択可能ユーザインタフェースオブジェクト1124aに任意選択的に向けられている間に、ユーザAの手1101が「ポインティング」姿勢(例えば、手1101の1つ以上の指が伸ばされ、手1101の1つ以上の指が手1101の手のひらに向かって曲げられている)及び/又は「ピンチ」姿勢(例えば、手1101の親指と人差し指が互いに閾値距離(例えば、0.2、0.5、1、1.5、2、又は2.5センチメートル)内に収束している)にあることを電子デバイス1102aが検出したときに、選択可能ユーザインタフェースオプション1124aの選択を検出する。例えば、
図11Cに示すように、電子デバイス1102aは、ユーザAの手1101がオプション1124aと接触する「ポインティング」姿勢にあるため、選択可能なユーザインタフェースオプション1124aの選択を検出する。
【0314】
いくつかの実施形態では、電子デバイス1102aは、電子デバイス101が三次元環境1122内のオブジェクトを再センタリングする要求を検出したことに応じて、三次元環境1122内のオブジェクトを、その現在の(例えば、最新の/更新された/直近の)推定された物理的フロアロケーションに対するロケーションに表示する。例えば、
図11Dに示すように、電子デバイス1102aが選択可能なオプション1124aの選択を検出したことに応じて、電子デバイス1102aは、方法800に従って三次元環境1122内のオブジェクトを「再センタリング」する。加えて、電子デバイス1102aが
図11Cの選択可能なユーザインタフェースオプション1124aの選択を検出したことに応じて、電子デバイス1102aは、推定された物理的フロアロケーション1120a(例えば、物理的環境1121aにおける物理的フロアの最新/直近の推定されたロケーション)に対するロケーションに表示される三次元環境1122内のオブジェクト(例えば、ユーザインタフェース1110、仮想椅子1107、ユーザBの表現1106)の相対ロケーションを更新しており、
図11Aで検出されたデバイスの以前に推定された物理的フロアロケーション1150aに対する三次元環境1122内のオブジェクトをもはや表示していない。加えて、
図11Dでは、ユーザBに関連付けられた電子デバイス1104bは、デバイス1104bが新しい/更新された推定された物理的フロアロケーションをまだ決定していないので、推定された物理的フロアロケーション1127bに対するロケーションで三次元環境1122内のオブジェクトを表示し続ける。
図11Dでは、デバイス1104bはまた、ユーザA 1118の表現も表示しているが、これは、ユーザA 1118の表現が、現在、ユーザBの三次元環境1122の現在の視点からの視野内にあるからである。
【0315】
いくつかの実施形態では、三次元環境1122内のオブジェクトが物理的フロアの推定されたロケーションから表示される相対距離は、物理的フロアのデバイスの推定されたロケーションにかかわらず一定のままである。例えば、
図11B及び
図11Dでは、電子デバイス1102aが、2つの異なる推定された物理的フロアロケーションである
図11Bのロケーション1120a及び
図11Dのロケーション1150aに対して三次元環境1122内の仮想オブジェクトを表示していたとしても、ユーザインタフェース1110は、それぞれロケーション1120a及びロケーション1150aに対して一定距離1114で表示される。三次元環境1122内の他のオブジェクトの相対距離は、任意選択的に、ユーザインタフェース1110を参照して説明したのと同様の方法で、個別のデバイスの推定された物理的フロアから一定の距離に表示される。電子デバイス1102aは、デバイス1102aが三次元環境1122を再センタリングする要求を受信した後に、ロケーション1150a(例えば、物理的フロアのデバイスの最新の/更新された推定されたロケーション)に対して三次元環境1122a内の仮想オブジェクトの表示を開始したが、電子デバイス1102aは、任意選択的に、方法1200で説明した基準などの他の基準が満たされたときに、ロケーション1150aに対して表示される仮想オブジェクトを更新することを理解されたい。
【0316】
いくつかの実施形態では、個別の電子デバイス(例えば、デバイス1102a又は1104b)は、三次元環境1122内の1つ以上の新しいアプリケーション(例えば、三次元環境1122内にまだ表示されていないアプリケーション)を起動する要求を受信する。例えば、
図11Dにおいて、アプリケーションBのユーザインタフェース1132は、電子デバイス1102a及び/又はデバイス1102bが三次元環境1122においてアプリケーションBを起動する要求を受信したことに応じて、三次元環境1122において任意選択的に表示される。いくつかの実施形態では、三次元環境1122内で起動された新しいアプリケーションは、三次元環境1122内の他のオブジェクトが表示されている同じ推定された物理的フロアに対して表示される。例えば、アプリケーションBのユーザインタフェース1132は、電子デバイス1102aが、現在、ロケーション1150aに対して三次元環境内のオブジェクトを表示しているため、推定された物理的フロアロケーション1150aに対して表示される。同様に、電子デバイス1104bは、ロケーション1127bに対して三次元環境1122内のオブジェクトを現在表示しているので、デバイス1104bは、推定された物理的フロアロケーション1127bに対してアプリケーションBのユーザインタフェース1132を表示している。いくつかの実施形態では、アプリケーションBの1つ以上の設定/特性が物理的フロアの推定されたロケーションからのデフォルト表示高さを定義するので、ユーザインタフェース1132は、推定物理的フロアロケーション1150a及び1127bから距離1130(例えば、15、30、60、90、200、又は400センチメートル)で表示されている。
【0317】
いくつかの実施形態では、三次元環境1122内のオブジェクトは、三次元環境1122内のユーザの視点が変化するにつれて、物理的フロアの推定されたロケーションに対して表示され続ける。例えば、
図11Eでは、物理的環境1121a内のユーザAの姿勢は、座位姿勢から立位姿勢に変化している。いくつかの実施形態では、電子デバイス1102aが物理的環境1121a内のユーザAの移動を検出したことに応じて、電子デバイス1102aは、任意選択的に、物理的環境1121a内のユーザAの新しい姿勢に対応する新しい/更新された視点から三次元環境1122を表示する。例えば、
図11Eでは、デバイス1102aが物理的環境1121a内のユーザAの移動(例えば、ユーザAが座位姿勢から立位姿勢に移動すること)を検出したことに応じて、電子デバイス1102aは、三次元環境1122の新しい部分を表示し、ユーザインタフェース1110、仮想椅子1107、及びユーザBの表現1106を、
図11Dと比較してユーザAの視野内のより低いロケーションに表示する(例えば、三次元環境1122のユーザAの視点が上方向に移動したため)。したがって、
図11Eに示されるように、三次元環境1122のユーザAの視点が物理的環境1121aにおけるユーザAの移動に応じて変化しても、電子デバイス1102aは、推定されたフロアロケーション1150aに対して三次元環境1122におけるオブジェクトを表示し続ける。加えて、
図11Eのデバイス1104bに示されるように、ユーザAの表現1118は、物理的環境1121a内のユーザAの姿勢が座位姿勢から立位姿勢に変化したため、(
図11Dと比較して)ユーザBの視野内で上方に移動している。
【0318】
【0319】
図12A~
図12Gは、いくつかの実施形態による、三次元環境のフロアの推定されたロケーションに基づいて三次元環境内でオブジェクトを表示する方法1200を示すフローチャートである。いくつかの実施形態では、方法1200は、表示生成コンポーネント(例えば、
図1、
図3、及び
図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)、及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの
図1のコンピュータシステム101)で実施される。いくつかの実施形態では、方法1200は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、
図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1200のいくつかの動作は、任意選択的に、組み合わされ、且つ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0320】
いくつかの実施形態では、方法1200は、表示生成コンポーネント(例えば、120)及び1つ以上の入力デバイス例えば、314)と通信する電子デバイス(例えば、101)において実施される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成コンポーネントは、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0321】
いくつかの実施形態では、電子デバイスは、表示生成コンポーネントを介して、ユーザの視点からの三次元環境(例えば、三次元環境1122)(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(XR)環境である)であって、三次元環境内の第1の推定されたフロアロケーション(例えば、電子デバイスの物理的環境内の物理的フロアの推定されたロケーションに対応する)に少なくとも部分的に基づいて決定されたロケーション(1202b)に三次元環境内の1つ以上の第1の仮想オブジェクト(例えば、いくつかの実施形態では、1つ以上の仮想オブジェクトは、1つ以上のアプリケーションユーザインタフェース及び/又はウィンドウ、オペレーティングシステム要素、三次元環境内の他のユーザの表現、電子デバイスの物理的環境内の物理オブジェクトの表現などに対応する)を含む三次元環境を表示する(1202a)。例えば、ユーザBのユーザインタフェース1110、仮想椅子1107、及び表現1106は、
図11Aの推定された物理的フロアロケーション1120aに基づいて表示されている。例えば、三次元環境内の1つ以上の仮想オブジェクトは、三次元環境内の第1の推定されたフロアロケーションに基づくロケーションに表示される(例えば、1つ以上の仮想オブジェクトのうちの第1の仮想オブジェクトは、第1の推定されたフロアロケーションのロケーションから0、15、30、60、90、180、又は200センチメートル離れて(例えば、上に)表示され、1つ以上の仮想オブジェクトのうちの第2の仮想オブジェクトは、第1の推定されたフロアロケーションから0、1、1.5、3、6、9、又は12センチメートル離れて(例えば、上に)表示されるなど)。いくつかの実施形態では、1つ以上の仮想オブジェクトは、三次元環境内の第1の推定されたフロアロケーションの下のロケーションに表示することができない。いくつかの実施形態では、三次元環境のユーザの視点が変化する場合、電子デバイスは、三次元環境のユーザの新しい視点から三次元環境を表示するが、1つ以上の仮想オブジェクトは、第1の推定されたフロアに対する1つ以上のロケーションに留まる(例えば、三次元環境のユーザの視点が変化しても、三次元環境内のフロアから1つ以上の仮想オブジェクトが表示されている距離は変化しない)。いくつかの実施形態では、電子デバイスは、ユーザの頭部/身体の回転が検出されたとき(例えば、デバイスの回転と同時に)、及び/又は方法800を参照して説明したように、三次元環境のユーザの視点の変化を検出する。
【0322】
いくつかの実施形態では、第1の推定されたフロアロケーションに基づいてユーザの視点から三次元環境を表示している間に、電子デバイスは、電子デバイスの物理的環境内の物理的フロアの推定されたロケーションに対応する、第1の推定されたフロアロケーションとは異なる第2の推定されたフロアロケーションを決定する(1202c)。例えば、
図11Bでは、電子デバイス1102aは、推定された物理的フロアロケーションを
図11Aのロケーション1120aから
図11Bのロケーション1150aに更新する。いくつかの実施形態では、物理的環境内のフロアの推定されたロケーションは、後でより詳細に説明するように、電子デバイスが電子デバイスの物理的環境に関する追加情報を取得/収集/検出するときに更新される。いくつかの実施形態では、電子デバイスは、第2の推定されたロケーションが物理的環境内の物理的フロアの新しい推定されたロケーションに対応するので、三次元のフロアが第2の推定されたロケーションに更新されるべきであると決定する。いくつかの実施形態では、物理的環境内の物理的フロアの推定されたロケーションが変化するとき、三次元環境内の第1の推定されたフロアロケーションは、物理的環境内のフロアの推定されたロケーションともはや対応しない。
【0323】
いくつかの実施形態では、電子デバイスの物理的環境内の物理的フロアの推定されたロケーションに対応する第2の推定されたフロアロケーションを決定した後(1202d)、1つ以上の基準が満たされるという判定に従って(1202e)(例えば、後でより詳細に説明するように、三次元環境内のオブジェクトが第2の推定されたフロアロケーション(例えば、直近に決定されたフロア)に対して表示されるべきである場合)、電子デバイスは、第2の推定されたフロアロケーションに基づいて三次元環境内の更新されたロケーションに1つ以上の第1の仮想オブジェクトを表示する(1202f)。例えば、
図11Dにおいて、電子デバイス1102aは、推定された物理的フロアロケーション1120aに基づいて(もはや推定された物理的フロアロケーション1150aではなく)、三次元環境1122におけるオブジェクトの表示を開始する。例えば、1つ以上の仮想オブジェクトのロケーションは、フロアの新たなロケーション-第2の推定されたロケーションに対して表示される(例えば、1つ以上の仮想オブジェクトは、第1の推定されたフロアロケーションに基づくのではなく、第2の推定されたフロアロケーションに基づいて表示される)。いくつかの実施形態では、三次元環境内のフロアと1つ以上の仮想オブジェクトとの間の同じ相対間隔が、三次元環境内のフロアが第1の推定されたフロアロケーションに対応するか第2の推定されたフロアロケーションに対応するかにかかわらず維持される。例えば、1つ以上の仮想オブジェクトのうちの第1の仮想オブジェクトが、第1の推定されたフロアロケーションの60センチメートル上に表示されていた場合、第1の仮想オブジェクトのロケーションは、第1の仮想オブジェクトが第2の推定されたフロアロケーションの60センチメートル上に表示されるように更新される。いくつかの実施形態では、1つ以上の仮想オブジェクトは、三次元環境内の第2の推定されたフロアロケーションの下のロケーションに表示することができない。いくつかの実施形態では、三次元環境内のフロアが第2の推定されたフロアロケーションにある間に三次元環境のユーザの視点が変化する場合、電子デバイスは、三次元環境のユーザの新しい視点から三次元環境を表示するが、1つ以上の仮想オブジェクトは、三次元環境内の1つ以上の第2のロケーションに留まる(例えば、三次元環境のユーザの視点が変化しても、1つ以上の仮想オブジェクトが表示されているフロアからの距離は変化しない)。
【0324】
いくつかの実施形態では、1つ以上の基準が満たされていないとの判定に従って(1202g)(例えば、三次元環境内のオブジェクトが第2の推定されたフロアロケーション(例えば、直近に判定されたフロア)に対して表示されるべきではなく、第1の推定されたフロアロケーションに対して表示されるべきである場合)、電子デバイスは、第1の推定されたフロアロケーションに基づいて(例えば、第1の推定されたフロアロケーションが不正確であると判定され、第2の推定されたフロアロケーションがより正確であると判定された後であっても)、1つ以上の第1の仮想オブジェクトを三次元環境内のそれらのロケーションに維持する(1202h)。例えば、
図11Bでは、電子デバイス1102aが電子デバイス1102aの物理的環境1121a内の物理的フロアの推定されたロケーションをロケーション1120aからロケーション1150aに更新したとしても、電子デバイス1102aは、(上記の1つ以上の基準が満たされていないので)ロケーション1120aに対して三次元環境内のオブジェクトを表示し続ける。例えば、1つ以上の基準が満たされない場合、1つ以上の仮想オブジェクトは、第1の推定されたフロアロケーションに対するロケーションに位置したままである(例えば、三次元環境内のフロアが第2の推定されたフロアロケーションにまだ更新されていないので、1つ以上の第2のロケーションに移動されない)。
【0325】
新しいフロアロケーションが決定されたとき、及び1つ以上の基準が満たされたときに、三次元環境内の推定フロアを更新することは、ある基準が満たされたときに三次元環境内のオブジェクトのみを移動させる効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0326】
いくつかの実施形態では、1つ以上の基準は、電子デバイスが、1つ以上の入力デバイスを介して、1つ以上の第2の基準を満たすように1つ以上の第1の仮想オブジェクトのロケーションを更新するための要求に対応する個別の入力要素(例えば、表示生成コンポーネント、電子デバイスに含まれる力学的入力要素などを介して表示される)の選択を受信したときに満たされる基準を含む(1204a)。いくつかの実施形態では、方法1200を参照して説明した個別の入力要素を選択する入力及び/又は1つ以上の入力は、方法800を参照して説明したようなエアジェスチャ入力である。例えば、電子デバイス1102aが、
図11Cなどの三次元環境1122内のオブジェクトを再センタリングする要求を検出すると、電子デバイス1102aは、推定された物理的フロアロケーション1150aに基づいて三次元環境1122内のオブジェクトを表示することを停止し、推定された物理的フロアロケーション1120aに基づいて三次元環境1122内のオブジェクトを表示することを開始する。いくつかの実施形態では、個別の入力要素の選択に応じて、1つ以上の第1の仮想オブジェクトのロケーションは、方法800で説明したのと同様の方法で1つ以上の第2の基準を満たすように更新される。いくつかの実施形態では、個別の入力要素は、三次元環境のユーザの視点が1つ以上の第1の仮想オブジェクトから閾値距離(例えば、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)を超えて移動するとき、1つ以上の第1の仮想オブジェクトがもはや三次元環境のユーザの新しい視点に向かって向けられないとき、及び/又は1つ以上の第1の仮想オブジェクトがもはや三次元環境のユーザの新しい視点からの視野内にないときなど(例えば、及び/又は方法800を参照して説明される任意の他の様式)、表示生成コンポーネントを介して表示される。いくつかの実施形態では、個別の入力要素は、三次元環境のユーザの視点が三次元環境の第2の視点に変化/移動するが、1つ以上の第1の仮想オブジェクトが、三次元環境のユーザの以前の視点に基づく三次元環境内の姿勢(例えば、ポジション/向き)で表示されているときに、表示生成コンポーネントを介して表示される。いくつかの実施形態では、電子デバイスは、ユーザの視線が個別のユーザインタフェース要素に向けられている間に(例えば、個別の入力要素が表示生成コンポーネントを介して表示されている場合)、ユーザがユーザの手の人差し指及び親指を使用してピンチジェスチャを実行したときに、個別のユーザインタフェース要素の選択を検出する。いくつかの実施形態では、電子デバイスは、個別のユーザインタフェース要素のロケーションに対応する電子デバイスのタッチスクリーンのロケーションをユーザがタップすると(例えば、個別の入力要素が表示生成コンポーネントを介して表示されている場合)、個別のユーザインタフェース要素の選択を検出する。いくつかの実施形態では、個別のユーザインタフェース要素がフォーカスされている間にマウス又はタッチパッド上でクリック動作が実行されると(例えば、個別の入力要素が表示生成コンポーネントを介して表示されている場合)、個別のユーザインタフェース要素が選択される。いくつかの実施形態では、個別の入力要素は、物理的なボタン、スイッチ、ダイヤルなどである。
【0327】
個別の入力要素の選択が検出されるまで、新しい推定されたフロアロケーション(例えば、第2の推定されたフロアロケーション)に基づいて、三次元環境内の更新されたロケーションでの1つ以上の第1の仮想オブジェクトの表示を遅延させることは、ユーザ入力が受信されるまで、以前の推定されたフロアロケーションで1つ以上の第1の仮想オブジェクトを表示し続ける効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0328】
いくつかの実施形態では、1つ以上の基準は、第2の推定されたフロアロケーション(1206a)を決定した後にユーザの一部分上の表示生成コンポーネントを含むデバイスの配置が変化するときに満たされる(例えば、第2の推定されたフロアロケーションを決定した後にユーザの一部分上の表示生成コンポーネントの配置が変化しないときに満たされない)基準を含む。例えば、新しい推定された物理的フロアロケーション1150aを検出した後、電子デバイス1102aは、デバイス1102aのユーザがデバイス1102aをオフ/オンにするまで、ロケーション1120aに対して三次元環境1102内のオブジェクトを表示し続ける。例えば、電子デバイスが三次元環境の新しい推定されたフロアロケーション(例えば、第2の推定されたフロアロケーション)を決定した後、1つ以上の仮想オブジェクトは、ユーザ上の表示生成コンポーネントの配置が変化するまで、第1の推定されたフロアロケーション(例えば、以前の推定されたフロアロケーション)に基づくロケーションに表示され続ける。いくつかの実施形態では、表示生成コンポーネントがヘッドマウントディスプレイである場合、電子デバイスは、ユーザがもはやヘッドマウントディスプレイを装着していない(例えば、表示生成コンポーネントがもはやユーザの頭部に配置されていない)ことを電子デバイスが検出すると、表示生成コンポーネントの配置が変化したことを検出する。いくつかの実施形態では、電子デバイスは、ユーザがもはや表示生成コンポーネントを保持していないことを電子デバイスが検出したときに、表示生成コンポーネントの配置が変化したことを検出する。いくつかの実施形態では、第2の推定されたフロアロケーションが検出された後、1つ以上の第1の仮想オブジェクトのロケーションは、電子デバイスが以前に取り外された(例えば、第2の推定されたフロアロケーションが決定された後に取り外された)後に電子デバイスがユーザに装着されている(例えば、ユーザの頭部に装着されている)ことに応じて、第2の推定されたフロアロケーションに基づいて更新されたロケーションに表示される。
【0329】
表示生成コンポーネントの配置が変化するまで、新しい推定されたフロアロケーション(例えば、第2の推定されたフロアロケーション)に基づいて、三次元環境内の更新されたロケーションにおける1つ以上の第1の仮想オブジェクトの表示を遅延させることは、特定の基準/条件が満たされるまで、以前の推定されたフロアロケーションにおいて1つ以上の第1の仮想オブジェクトを表示し続ける効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0330】
いくつかの実施形態では、1つ以上の基準は、電子デバイスが、第2の推定されたフロアロケーションを決定した後に仮想環境を三次元環境に表示する要求を受信したときに満たされる基準を含み、仮想環境は、第2の推定されたフロアロケーションが決定されたときに三次元環境に表示されなかった(1208a)(例えば、電子デバイスが、第2の推定されたフロアロケーションを決定した後に仮想環境を三次元環境に表示する要求を受信しないときに満たされない)。例えば、新たな推定された物理的フロアロケーション1150aを検出した後、電子デバイス1102aは、デバイス1102aが仮想環境を表示する要求を検出するまで、ロケーション1120aに対する三次元環境1102内のオブジェクトを表示し続ける。例えば、電子デバイスが電子デバイスの物理的環境内の物理的フロアのより適切な推定されたロケーションを決定した後であっても、新たな仮想環境が三次元環境内に表示されるまで、1つ以上の第1の仮想オブジェクトは、新たに決定されたフロアロケーション(第2の推定されたフロアロケーション)ではなく、第1の推定されたフロアロケーション(例えば、以前の推定されたフロアロケーション)に基づいて三次元環境内に表示され続ける。いくつかの実施形態では、仮想環境を三次元で表示する要求が受信されたとき、三次元環境は、いかなる仮想環境も表示していなかったか、又は異なる仮想環境を表示していた。いくつかの実施形態では、三次元環境は、1つ以上の仮想環境に対応する1つ以上のアフォーダンスを含む。いくつかの実施形態では、仮想環境は、仮想環境に対応するアフォーダンスが選択されたときに表示される。いくつかの実施形態では、仮想環境は、任意選択的に物理的環境の表現の代わりに、又は任意選択的に物理的環境の表現と同時に、三次元環境に表示することができるシミュレートされた三次元環境である。仮想環境のいくつかの例は、湖環境、山環境、夕焼けシーン、日の出シーン、夜間環境、草地環境、コンサートシーン、スポーツゲームなどを含む。
【0331】
電子デバイスが仮想環境を表示する要求を受信するまで、新しい推定されたフロアロケーション(例えば、第2の推定されたフロアロケーション)に基づいて三次元環境内の更新されたロケーションにおける1つ以上の第1の仮想オブジェクトの表示を遅延させることは、特定の基準/条件が満たされるまで、以前の推定されたフロアロケーションにおいて1つ以上の第1の仮想オブジェクトを表示し続ける効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0332】
いくつかの実施形態では、物理的フロアの推定されたロケーションを決定することは、物理的環境内の物理的フロアの少なくとも一部に対応する平面を検出することに基づく(1210a)。例えば、
図11Bでは、デバイス1102aは、物理的環境1121a内のフロアの一部に対応する平面を検出したので、デバイス1102aは、物理的環境1121a内の物理的フロアの新しい推定されたロケーションである、ロケーション1150aを検出した。いくつかの実施形態では、物理的環境内の物理的フロアの少なくとも一部に対応する平面は、電子デバイスの1つ以上の(例えば、画像、レーダー、ライダー、深度、超音波などの)センサを介して検出される。いくつかの実施形態では、電子デバイスは、平面を使用して、物理的環境内の平面と電子デバイスとの間の高さの差(例えば、検出された平面が電子デバイスからY方向にどれだけ離れているか)を決定することによって、ロケーション物理的フロアを推定する。いくつかの実施形態では、電子デバイスは、物理的フロアの一部がユーザ/電子デバイスの視野内にある(例えば、画像センサ(単数又は複数)がユーザに対して位置決めされて視野を画定する)ときに平面を検出する。
【0333】
平面検出に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速に、効率的に、且つ電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なく使用することを可能にする。
【0334】
いくつかの実施形態では、物理的フロアの推定されたロケーションを決定することは、デバイスによって検出されるユーザの第1の部分(例えば、ユーザの頭部)のロケーションに関する情報と、ユーザの第1の部分とフロアに接触していると仮定されるユーザの第2の部分(例えば、ユーザの足)との間の距離の推定とに基づく(1212a)。例えば、
図11Aでは、電子デバイス1102aは、任意選択的に、電子デバイス1102aのユーザ(ユーザA)に関する身長情報に基づいて、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると推定した。いくつかの実施形態では、電子デバイスが物理的環境内の物理的フロアの少なくとも一部に対応する平面を検出しない場合、電子デバイスは、1人以上のユーザに関する情報に基づいて物理的フロアのロケーションを推定する。いくつかの実施形態では、1人以上のユーザに関する情報は、電子デバイスのユーザに関する情報及び/又は電子デバイスのユーザ以外のユーザ(単数又は複数)に関する情報を含む。例えば、電子デバイスが、電子デバイスのユーザの年齢及び/又は性別へのアクセスを有する(例えば、そのような情報を含むユーザプロファイルへのアクセスを有する)場合、物理的フロアのロケーションは、任意選択的に、電子デバイスのユーザと同様の年齢及び/又は性別のユーザの既知の平均起立身長に基づいて推定される。いくつかの実施形態では、物理的フロアにおける物理的フロアのロケーションをより良好に推定するために、上述の平面検出技法に加えて、1人以上のユーザに関する情報が使用される。いくつかの実施形態では、1人以上のユーザの身長情報が、物理的環境内の物理的フロアのロケーションを推定するために使用される。例えば、ユーザが5×150センチメートルの身長である場合、電子デバイスは、任意選択的に、フロアが電子デバイスの5つ下であると推定する。
【0335】
ユーザ情報に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速に、効率的に、且つ電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なく使用することを可能にする。
【0336】
いくつかの実施形態では、ユーザの第1の部分とユーザの第2の部分との間の距離の推定は、電子デバイスのユーザの既知の身長に基づく(1214a)。例えば、
図11Aでは、電子デバイス1102aは、任意選択的に、電子デバイス1102aのユーザ(ユーザA)に関する身長情報に基づいて、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると推定した。例えば、電子デバイスが、ユーザの身長に関する情報(例えば、ユーザプロファイルを含む)へのアクセスを有する場合、電子デバイスは、電子デバイスのユーザの身長に基づいて物理的フロアのロケーションを推定する。例えば、ユーザが現在電子デバイスを装着しており(例えば、電子デバイスがヘッドマウントデバイスである)、電子デバイスが、電子デバイスのユーザが身長180センチメートルであることを示す情報へのアクセスを有する場合、電子デバイスは、任意選択的に、物理的フロアが、電子デバイスが現在装着されている場所の182センチメートル下(又は0.5、5、10、15、20、若しくは30センチメートル下)に現在位置すると推定する。いくつかの実施形態では、電子デバイスは、物理的フロアがユーザの視野内にないとき(例えば、物理的フロアの少なくとも一部の平面が電子デバイスによって検出できないとき)、ユーザの身長情報を用いて物理的フロアのロケーションを推定する。
【0337】
電子デバイスのユーザの身長情報に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なしに、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0338】
いくつかの実施形態では、ユーザの第1の部分とユーザの第2の部分との間の距離の推定は、平均身長(例えば、潜在的ユーザの平均身長、又はデバイスのユーザと同様の人口統計特性を有するユーザの平均身長)に基づくユーザの推定身長に基づく(1216a)。例えば、
図11Aでは、電子デバイス1102aは、任意選択的に、複数のユーザの平均身長情報に基づいて、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると推定した。電子デバイスのユーザの身長に関する情報を使用することに加えて、又はその代わりに、電子デバイスは、任意選択的に、他のユーザの平均身長情報に基づいて、電子デバイスの物理的環境内の物理的フロアのロケーションを推定する。例えば、電子機器のユーザプロファイルが現在、電子デバイスのユーザに関する身長情報を含まない場合、及び電子デバイスが頭部装着型デバイスである場合、電子デバイスは、任意選択的に、物理的フロアが現在、複数のユーザの平均身長より下の個別の距離に位置すると推定する。例えば、ユーザが現在電子デバイスを装着しており(例えば、電子デバイスがヘッドマウントデバイスである場合)、電子デバイスが、複数のユーザの平均身長が180センチメートルの高さであることを示す情報へのアクセスを有する場合、電子デバイスは、任意選択的に、物理的フロアが、電子デバイスが現在装着されている場所の180センチメートル下(又は0.5、5、10、15、20、25、若しくは30センチメートル上又は下)に現在位置すると推定する。いくつかの実施形態では、電子デバイスは、物理的フロアがユーザ/電子デバイスの視野内にない(例えば、画像センサ(単数又は複数)が、視野を画定するようにユーザに対して位置決めされる)ときに、物理的フロアのロケーションを推定する。いくつかの実施形態では、複数のユーザは、三次元環境に含まれるユーザ、一般大衆のユーザ、三次元環境に含まれないユーザなどである。複数のユーザについての平均身長情報に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なしに、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0339】
いくつかの実施形態では、ユーザの第1の部分とユーザの第2の部分との間の距離の推定は、電子デバイスの物理的環境における電子デバイスのユーザの現在の姿勢に基づく(1218a)。例えば、
図11Aにおいて、電子デバイス1102aは、任意選択的に、物理的環境1121aにおける電子デバイス1102aのユーザ(ユーザA)の姿勢に基づいて、物理的環境1121aにおける物理的フロアのロケーションがロケーション1120aにあると推定した。例えば、電子デバイスは、電子デバイスのユーザの現在の姿勢に基づいて、物理的環境内の物理的フロアのロケーションを推定する。例えば、電子デバイスのユーザが「着座」姿勢にある間に電子デバイスを保持又は装着している場合、電子デバイスは、任意選択的に、ユーザが立っている場合よりも物理的フロアが電子デバイスに近いと判定する。同様に、電子デバイスのユーザが「立っている」姿勢にあると電子デバイスが判定した場合、電子デバイスは、ユーザが座っていた場合よりも物理的フロアが電子デバイスから離れていると任意選択的に判定する。いくつかの実施形態では、膝を曲げている姿勢、屈んでいる姿勢などのユーザの他の姿勢も電子デバイスによって検出することができ、これは、電子デバイスが物理的環境内の物理的フロアからどれだけ近いか、又は離れているかを推定するために電子デバイスによって使用されてもよい。いくつかの実施形態では、電子デバイスは、1つ以上の活動センサを使用してユーザの姿勢をとる。いくつかの実施形態では、電子デバイスは、任意選択的に、デバイスが物理的環境内の物理オブジェクトから第1の個別の高さにあるか、又は第1の個別の高さ内にあることを電子デバイスが検出した場合、ユーザが座っていると判定し、任意選択的に、デバイスが物理オブジェクトから少なくとも第1の個別の高さにない場合、ユーザが立っていると判定する。いくつかの実施形態では、電子デバイスは、ユーザの姿勢が変化したときに、物理的環境内の物理的フロアの推定されたロケーションを更新する。
【0340】
電子デバイスのユーザの現在の姿勢に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なしに、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0341】
いくつかの実施形態では、電子デバイスの現在ロケーションが既知のロケーションであるという判定に従って、物理的フロアの推定されたロケーションを判定することは、(例えば、電子デバイスによって以前に検出/観測された)電子デバイスの物理的環境に関する以前の情報に基づく(1220a)。例えば、
図11Aでは、電子デバイス1102aは、デバイス1102aの現在ロケーションが既知のロケーションであることを電子デバイス1102aが検出したので、物理的環境1121a内の物理的フロアのロケーションがロケーション1120aにあると任意選択的に推定した。いくつかの実施形態では、電子デバイスは、それが操作された場所に関する情報(例えば、1つ以上の物理的環境のロケーション情報)を保存する。例えば、電子デバイスが現在位置しているロケーションで電子デバイスが以前に操作されている場合、電子デバイスは、物理的フロアのロケーションを推定するために、以前の操作セッションで保存された情報を使用する。いくつかの実施形態では、以前の動作セッション中に保存された情報は、物理的フロアのロケーションについての情報、フロアが物理的にどこに位置していないかについての情報、物理的フロアの一部に対応する以前に検出された平面についてのロケーション情報、物理オブジェクトから物理的フロアまでの距離についての情報などを含む。いくつかの実施形態では、電子の現在ロケーションが既知のロケーションでない(例えば、電子デバイスが現在ロケーションで以前に操作されたことがない)場合、電子デバイスは、前述の技法のうちの1つ以上を使用する。
【0342】
電子デバイスの現在ロケーションについて検出された以前の情報に基づいて物理的フロアの推定されたロケーションを決定することは、物理的環境における物理的フロアのロケーションを自動的に推定する効率的な方法を提供し、それによって、電子デバイスのユーザが物理的環境における物理的フロアのロケーションを手動で設定する必要なしに、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0343】
いくつかの実施形態では、第2の推定されたフロアロケーションに基づいて1つ以上の仮想オブジェクトを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、三次元環境内で1つ以上の第1の仮想オブジェクトとは異なる1つ以上の第2の仮想オブジェクトを表示する要求(例えば、1つ以上の第2のアプリケーションウィンドウ、1つ以上の第2のオペレーティングシステム要素、1人以上の第2のユーザの1つ以上の第2の表現、1つ以上の第2のコンテンツアイテムなどを表示する要求)に対応する入力を受信する(1222a)。いくつかの実施形態では、入力を受信したことに応じて、電子デバイスは、第2の推定されたフロアロケーションに基づいて、三次元環境内の1つ以上のロケーションに1つ以上の第2の仮想オブジェクトを表示する(1222b)。例えば、
図11Dでは、三次元環境1122内の他のオブジェクトが推定された物理的フロアロケーション1150aに対して表示されているので、電子デバイス1102aは、推定された物理的フロアロケーション1150aに対してアプリケーションBのユーザインタフェース1132を表示する。例えば、電子デバイスが、第2の推定されたフロアロケーション(例えば、直近に決定された推定されたフロアロケーション)に基づいて、更新されたロケーションに表示されるべき1つ以上の第1の仮想オブジェクトを更新した後、将来表示される仮想オブジェクトも、第1の推定されたフロアロケーション(例えば、物理的環境内の物理的フロアの以前に推定されたロケーション)ではなく、第2の推定されたフロアロケーションに基づいて表示される。いくつかの実施形態では、上述の1つ以上の基準が満たされる前に仮想オブジェクトが三次元環境に追加される場合、仮想オブジェクトは、第1の推定されたフロアロケーションに基づくロケーションに表示される。いくつかの実施形態では、1つ以上の第2のオブジェクトは、第2の推定されたフロアロケーションからデフォルトの高さ(例えば、15、30、45、2、60、150、又は200センチメートル)に配置される。
【0344】
三次元環境内で現在表示されている仮想オブジェクトのロケーションが基づく同じ推定されたフロアロケーションに基づくロケーションに新しい仮想オブジェクトを表示することは、同じ推定されたフロアロケーションに基づいて三次元環境内で新しい及び現在の仮想オブジェクトを表示する効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知的負担を低減する。
【0345】
いくつかの実施形態では、第1の推定されたフロアロケーションは、1つ以上の第1の仮想オブジェクトがそれを超えて移動することができない三次元環境の第1の境界を画定し、第2の推定されたフロアロケーションは、1つ以上の第1の仮想オブジェクトが超えて移動することができない三次元環境の、第1の境界とは異なる第2の境界を画定する(1224a)。例えば、
図11Dでは、電子デバイス1102aがロケーション1150aに対して三次元環境1122内のオブジェクトを表示している間、電子デバイス101は、三次元環境1304内のオブジェクトをロケーション1150aの下に移動させる入力に応答しない。例えば、1つ以上の第1の仮想オブジェクトが第1の推定されたフロアロケーションに基づいて決定されたロケーションに表示されている間、1つ又は第1の仮想オブジェクトは、第1の推定されたフロアロケーションの下に表示/移動されることができない。同様に、1つ以上の第1の仮想オブジェクトが第2の推定されたフロアロケーションに基づいて決定されたロケーションに表示されている間、1つ又は第1の仮想オブジェクトは、第2の推定されたフロアロケーションの下に表示/移動されることができない。
【0346】
三次元環境内の推定されたフロアロケーションが変化するにつれて三次元環境の境界を変化させることは、三次元環境内の現在の推定されたフロアロケーションを超える三次元環境内の仮想オブジェクトの移動を制限する効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0347】
いくつかの実施形態では、1つ以上の仮想オブジェクトは、
図11AのユーザBの表現1106などの、電子デバイス(1226a)のユーザ以外の三次元環境内の1人以上のユーザの1つ以上の表現を含む。例えば、いくつかの実施形態では、三次元環境は、電子デバイスのユーザ及び1人又は他のユーザを含む2人以上のユーザを含む。いくつかの実施形態では、ユーザに関連付けられた電子デバイスは、三次元環境内の1人以上の他のユーザのアバターを、三次元環境内のそれらの他のユーザの視点のロケーションに表示する。いくつかの実施形態では、三次元環境における1人以上のユーザの1つ以上の表現のロケーションは、三次元環境におけるフロアの推定されたロケーションが変化するにつれて更新される。例えば、三次元環境におけるフロアのロケーションは、第1の推定されたフロアロケーションに対応するが、1人以上のユーザの表現は、任意選択的に、第1の推定されたフロアロケーションに基づくロケーションに表示される。同様に、三次元環境におけるフロアのロケーションが第2の推定されたフロアロケーションに対応する一方で、1人以上のユーザの表現は、(例えば、上述した1つ以上の基準が満たされる場合には)任意選択的に、第2の推定されたフロアロケーションに基づくロケーションに表示される。三次元環境内で、三次元環境における現在の推定されたフロアロケーションに基づくロケーションにおけるユーザの表現を表示することは、三次元環境における推定されたフロアロケーションに対してそのような仮想オブジェクトを表示する効率的な方法を提供し、それによって、三次元環境に関与するときのユーザに対する見当識障害及び認知負担を低減する。
【0348】
いくつかの実施形態では、電子デバイスが第2の推定されたフロアロケーションに基づいて1つ以上の第1の仮想オブジェクトを表示している間に、第2の電子デバイスは、第2の電子デバイスの第2のユーザの視点から三次元環境を表示している(例えば、第2の電子デバイスは、電子デバイスと同じ三次元環境を表示しているが、第2のユーザの視点から(電子デバイスのユーザの視点からではない)。いくつかの実施形態では、第2の電子デバイスは、第2の電子デバイスが第2のユーザの視点に対応する第2の電子デバイスの物理的環境内のロケーション及び/又は向きにあるので、第2のユーザの視点から三次元環境を表示しており)、1つ以上の第1の仮想オブジェクトは、第2の電子デバイスの物理的環境内の物理的フロアの推定されたロケーションに基づいて第2の電子デバイスによって表示される(1230a)。例えば、電子デバイス1102aは、その推定された物理的フロアロケーション1120aに対して三次元環境1102a内にオブジェクトを表示しており、電子デバイス1104bは、その推定された物理的フロアロケーション1127bに対して三次元環境1122内にオブジェクトを表示している。例えば、第2の電子デバイスは、第2の電子デバイスの物理的環境における物理的フロアの推定されたロケーションに対して三次元環境を表示しており、電子デバイスは、第1の電子デバイスの物理的環境における物理的フロアの推定されたロケーションに対して三次元環境を表示している。したがって、三次元環境は、それぞれのユーザの推定されたフロアロケーションに対して表示されるので、仮想オブジェクトも、それらのそれぞれのユーザの推定されたフロアロケーションに対して表示される。例えば、電子デバイスが、三次元環境内で、第2の推定されたフロアロケーションの上方の個別の距離(例えば、0、15、30、45、60、90、180、又は200センチメートル)に1つ以上の第1の仮想オブジェクトのうちの個別の仮想オブジェクトを表示している場合、第2の電子デバイスも、三次元環境内で、第2の電子デバイスの物理的環境における物理的フロアの推定されたロケーションの上方の個別の距離(例えば、0、15、30、45、60、90、180、又は200センチメートル)に個別の仮想オブジェクトを表示している。いくつかの実施形態では、電子デバイスの物理的環境における物理的フロアの推定されたロケーション及び第2の電子デバイスの物理的環境における物理的フロアの推定されたロケーションは、それぞれの物理的フロアの実際のロケーションから異なる距離である(例えば、電子デバイスの物理的における物理的フロアの推定されたロケーションは、実際の物理的フロアから0、15、40、又は90センチメートル離れていてもよく、物理的フロアにおける物理的の推定されたロケーションは、実際の物理的フロアから100、200、300、又は400センチメートル離れていてもよい)。
【0349】
三次元環境(及び三次元環境のオブジェクト)を、三次元環境内の1人以上のユーザの物理的フロアの推定されたロケーションに対して表示することは、三次元環境の複数のユーザに対して三次元環境を表示する効率的な方法を提供し、それによって、三次元環境に関与するときのユーザの見当識障害及び認知負担を低減する。
【0350】
いくつかの実施形態では、三次元環境を表示している間、電子デバイスは、1つ以上の入力デバイスを介して、三次元環境内で第1の動作を実行するための(例えば、三次元環境内でアプリケーションを起動するための)入力を受信する(1232a)。いくつかの実施形態では、入力を受信したことに応じて(1232b)、第1の動作が第1の精度レベルでの物理的環境内の物理的フロアの推定されたロケーションの決定を必要とするという判定に従って(1232c)(例えば、起動されているアプリケーションが、第1の量の精度で推定される物理的フロアの推定されたロケーションを必要とする場合)。いくつかの実施形態では、物理的フロアのロケーションが第1の精度レベルで推定されることを必要とする動作/アプリケーションは、第1の動作に関連付けられたユーザインタフェース/要素が表示され得る境界をユーザが画定することを必要とする動作/アプリケーションを含む。いくつかのそのような例では、境界を必要とするアプリケーションは、ゲームアプリケーション及び/又は規則的なユーザ移動を必要とするアプリケーションを含み(例えば、ユーザは、静止したままであるか又は座っている間にアプリケーションと対話することができない)、電子デバイスは、物理的環境内の物理的フロアの推定されたロケーションを決定するために使用される情報を収集する命令を提供する(1232d)。例えば、
図11Aのユーザインタフェース1110に関連付けられた動作が第1の精度レベルを必要とする場合、電子デバイス1102aは、上述のように、物理的環境1121a内の物理的フロアを見て、デバイス1102aが物理的フロアに対応する平面を検出できるようにする命令をデバイス1102aのユーザに任意選択的に提供する。例えば、電子デバイスは、電子デバイスが第1の精度レベルで物理的フロアのロケーションを推定することを可能にするためにユーザが実行する必要がある1つ以上のアクションを示す視覚及び/又は音声インジケーションを提供する。いくつかの実施形態では、そのようなアクションは、電子デバイスが物理的フロアの少なくとも一部に対応する平面を検出することによって物理的フロアのロケーションを推定することができるように、ユーザに、物理的フロアの一部を見て、及び/又は物理的フロアの一部に向かって電子デバイスを向けるように必要とすることを含むことができる。
【0351】
電子デバイスが物理的フロアの推定されたロケーションを第1の精度で決定することを可能にするインジケーションを提供することは、そのようなフロアが必要なときに決定されることを保証し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0352】
いくつかの実施形態では、入力を受信したことに応じて(1234a)、第1の動作が第1の精度レベルでの物理的環境内の物理的フロアの推定されたロケーションの決定を必要としないという判定に従って(1234b)(例えば、起動されているアプリケーションが、第1の精度量で推定される物理的フロアの推定されたロケーションを必要としない場合)。いくつかの実施形態では、物理的フロアのロケーションが第1の精度レベルで推定されることを必要としない動作/アプリケーションは、ユーザがアプリケーション/動作と対話しながら座っているか又は静止していることを可能にする動作/アプリケーションを含む。)、電子デバイスは、物理的環境における物理的フロアの推定されたロケーションを決定するために使用される情報を収集する命令を提供することなく、物理的環境における物理的フロアの推定されたロケーションを決定する(1234c)。例えば、
図11Aのユーザインタフェース1110に関連付けられた動作が第1の精度レベルを必要としない場合、電子デバイス1102aは、電子デバイス1102aの物理的環境1121a内の物理的フロアを見るようにユーザに命令を提供しない。例えば、動作が、物理的フロアの推定されたロケーションが第1の精度レベルで推定されることを必要とせずに機能することができる場合、物理的フロアのロケーションを推定するための任意の技法が使用されてもよく、これには、第1の精度レベルよりも低いレベルの精度をもたらし得る技法、例えば、前述の技法のうちの1つ以上が含まれる。いくつかの実施形態では、インジケーションを提供することなく物理的フロアの推定されたロケーションを決定することは、アプリケーション/動作が使用されている間に、物理的フロアのロケーションを明示的に推定するためのユーザからのアクションを必要とせずに、物理的フロアの推定されたロケーションを決定することを含む。インジケーションを提供することなく物理的フロアの推定されたロケーションを決定することは、ある程度の精度が必要とされないときに第1の動作を進めるための効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0353】
いくつかの実施形態では、第1の推定されたフロアロケーションに基づいて1つ以上の第1の仮想オブジェクトを表示している間、電子デバイスは、三次元環境内で、第1の推定されたフロアロケーションにフロアを表示する(1236a)。例えば、電子デバイス1102aは、
図11Aのロケーション1120aに対応する三次元環境1122内の仮想フロアを表示する。いくつかの実施形態では、第1の推定されたフロアロケーションが電子デバイスの物理的環境内の物理的フロアの推定されたロケーションに対応するので、三次元環境のフロアは第1の推定されたフロアロケーションに表示される。例えば、物理的フロアの推定されたロケーションが、電子デバイスの下30、60、90、120、150、200、又は400センチメートルであるロケーションにあると推定される場合、三次元環境のフロアは、三次元環境内の対応するロケーションに任意選択的に表示される(例えば、三次元環境内のフロアは、電子デバイスの下30、60、90、120、150、200、又は400センチメートルである物理的ロケーションに対応する三次元環境内のロケーションに表示される)。いくつかの実施形態では、三次元環境内のフロアは、フロアが現在三次元環境のユーザの視点からの視野内にない場合、電子デバイスの表示生成コンポーネントを介して表示されない。いくつかの実施形態では、三次元環境内のフロアは、フロアの仮想表現(例えば、フォトリアリスティックな表現、簡略化された表現、漫画、カリカチュアなど)である。いくつかの実施形態では、三次元環境内のフロアは、三次元環境内に表示又は含まれないが、三次元環境内の仮想及び/又は物理オブジェクトの配置のための基準として作用する、論理オブジェクトである。実施形態では、フロアは三次元環境に表示されないが、表示生成コンポーネントの透明部分を通して見ることができる(例えば、真又は真のパススルー)。
【0354】
いくつかの実施形態では、1つ以上の第1の仮想オブジェクトが第2の推定されたフロアロケーションに基づいている間、電子デバイスは、三次元環境内で、第2の推定されたフロアロケーションにフロアを表示する(1236b)。例えば、電子デバイス1102aは、
図11Dのロケーション1150aに対応する三次元環境1122内の仮想フロアを表示する。いくつかの実施形態では、第2の推定されたロケーションにおけるフロアを表示することは、第1の推定されたフロアロケーションにおけるフロアを表示することに類似している。三次元環境内でフロアを表示することは、仮想オブジェクトのロケーションが基づくフロアのポジションを示すための効率的な方法を提供し、それによって、ユーザが電子デバイスを迅速且つ効率的に使用することを可能にする。
【0355】
図13A~
図13Dは、本開示のいくつかの実施形態による、三次元環境内でオブジェクトを移動させる例示的方法を示す。
【0356】
図13Aは、電子デバイス101の表示生成コンポーネント120によって表示されている三次元環境1320を示す。
図1~
図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成コンポーネント(例えば、タッチスクリーン)と、複数の画像センサ(例えば、
図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又は任意の他のセンサのうちの1つ以上を含み、電子デバイス101は、ユーザが電子デバイス101と相互作用している間、ユーザ又はユーザの一部の1つ以上の画像をキャプチャするために使用することができる。いくつかの実施形態では、以下に示されるユーザインタフェースはまた、ユーザインタフェースをユーザに表示する表示生成コンポーネントと、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、並びに/あるいはユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサと、を含む、ヘッドマウントディスプレイに実現され得る。
【0357】
図13Aでは、電子デバイス101は、アプリケーションEのユーザインタフェース1302、アプリケーションAのユーザインタフェース1304、アプリケーションBのユーザインタフェース1306、アプリケーションCのユーザインタフェース1308、アプリケーションDのユーザインタフェース1310を含む三次元環境1320を表示している。いくつかの実施形態では、アプリケーションA~Eは、メディアアプリケーション、ソーシャルアプリケーション、ナビゲーションアプリケーション、ストリーミングアプリケーション、インターネットブラウジングアプリケーションなどである。いくつかの実施形態では、電子デバイス101は、電子デバイス101が三次元環境1320においてアプリケーションA~Eを起動する1つ以上の要求を検出したことに応じて、アプリケーションA~Eのユーザインタフェース1302~1310を表示している。
図13Aに示されるように、三次元環境1320はまた、ソファの表現1322、テーブルの表現1324、コーナーテーブルの表現1326を含む、電子デバイスの物理的環境1352内の実オブジェクトの表現を含む。
【0358】
図13Aでは、電子デバイス101は、デフォルトの外観を有するユーザインタフェース1302~1310を表示している。いくつかの実施形態では、ユーザインタフェース1302~1310は、ユーザインタフェース1302~1310が三次元環境1320における移動のために選択されていないので、デフォルトの視覚的外観で表示されている。いくつかの実施形態では、デフォルト外観は、ユーザインタフェース1302~1310が現在「非選択」状態に対応することを示す(例えば、ユーザインタフェース1302~1310は、三次元環境1320内の移動のために現在選択されていない)。いくつかの実施形態では、インタフェース1302~1310がデフォルトの視覚的外観で表示されている間、ユーザインタフェース1302~1310は、任意選択的に、
図13Aに示すように、三次元環境1320の部分をこれらのユーザインタフェースによって(例えば、完全に)覆い隠す/遮らせる不透明度を有する。
【0359】
いくつかの実施形態では、ユーザインタフェース1302~1310及び表現1322~1326は、これらのオブジェクトが三次元環境1320のユーザ(例えば、電子デバイス101のユーザ)の現在の視点からの視野内にあるため、表示生成コンポーネント120によって表示されている。いくつかの実施形態では、電子デバイス101のユーザが電子デバイス101の物理的環境(例えば、動作環境100)において対応する姿勢/ポジションにいるため、電子デバイス101は、
図13Aに示される視点から三次元環境1320を表示している。
図13A~
図13Dは、デバイス101によって表示されている複数のユーザインタフェースと、それらのユーザインタフェースの移動中にそれらのユーザインタフェースの表示を変更する複数の方式とを示すが、いくつかの実施形態では、デバイス101は、それらのユーザインタフェースを独立して表示し、且つ/又は独立した移動入力に応じて以下で説明する方式で独立して応答することが理解される。
【0360】
図13Bでは、電子デバイス101が三次元環境1320においてユーザインタフェース1302~1310を表示している間に、電子デバイス101は、三次元環境1320における移動のためにユーザインタフェース1302~1310のうちの1つを選択する入力を検出する。いくつかの実施形態では、ユーザインタフェースが三次元環境1320における移動のために選択されると、電子デバイス101は、以下で説明され、方法1400を参照してより詳細に説明されるように、選択されたユーザインタフェースの表示を様々な方法で任意選択的に修正する。逆に、いくつかの実施形態では、ユーザインタフェースが三次元環境1320内での移動のために選択されると、電子デバイスは、
図13Aで説明したデフォルトの外観でユーザインタフェースを表示し続ける(例えば、個別のユーザインタフェースが非選択状態で表示されるのと同じ外観/視覚的強調で)。
【0361】
本開示の残りの部分から、本明細書で説明されるユーザインタフェースを修正する様々な方法が、三次元環境1320内のユーザインタフェースの現在ロケーションを電子デバイスのユーザに示す技術的利益を含む多くの技術的利益を提供することが明らかになるであろう。三次元環境1320内のユーザインタフェースの現在ロケーションのインジケーションを提供することは、ユーザインタフェースが三次元環境のユーザの視点に近づくか又はユーザの視点から遠ざかるにつれて、電子デバイスがユーザインタフェースのサイズを自動的/動的にスケーリングする状況において特に有益であり得る(例えば、三次元環境内の異なる距離/ロケーションにおけるそのユーザインタフェースの継続的な対話性を保証するために)。三次元環境内のユーザインタフェースが本明細書で説明される様式で修正されないいくつかの状況では、電子デバイスのユーザが、ユーザインタフェースに向けられた移動入力が実際にユーザインタフェースを三次元環境1320のユーザの現在の視点から遠くに又は近くに移動させることを理解することは困難であり得る。例えば、三次元環境1320内で移動されているユーザインタフェースが、ユーザインタフェースが三次元環境1320内で移動されているときにユーザの視野内でユーザインタフェースによって占有される空間の量が一定のままであるように動的にスケーリングされている場合、ユーザインタフェースがユーザの視点から離れるにつれてユーザインタフェースがより小さいサイズで(又はユーザインタフェースがユーザの視点に近づくにつれてより大きいサイズで)表示されていないので、ユーザインタフェースが三次元環境1320のユーザの視点に実際に更に(又はより近く)移動していることをユーザが理解することは混乱している可能性がある。
【0362】
いくつかの実施形態では、電子デバイス101は、ユーザの視線1330が任意選択的にユーザインタフェース1302~1310のうちの1つに向けられている間に(例えば、デバイス101がヘッドマウントデバイスである場合)、ユーザの手1318が「ポインティング」姿勢(例えば、手1318の1つ以上の指が伸ばされ、手1318の1つ以上の指が手のひら1318に向かって曲げられている)又は「ピンチ」姿勢(例えば、ユーザの手1318の親指及び人差し指が互いの閾値距離(例えば、0.2、0.5、1、1.5、2、又は2.5センチメートル)に又はその範囲内に収束している)にあることを電子デバイス101が検出すると、三次元環境1320における移動のためにユーザインタフェース1302~1320のうちの1つを選択する要求を検出する。いくつかの実施形態では、電子デバイスは、閾値時間量(0.5、1、1.1、1.5、2、2.5、5、又は10秒)を超えて、ユーザインタフェース1302~1310のうちの1つに対応する表示生成コンポーネント120上のロケーションに手1318の指がタッチダウンしたことを電子デバイスが検出すると(例えば、表示生成コンポーネント120がタッチスクリーンである場合)、三次元環境1320における移動のためにユーザインタフェースのうちの1つを選択する要求を検出する。例えば、電子デバイス101は、任意選択的に、手1318が(
図13Bに示すような)ポインティング姿勢にあり、ユーザインタフェース1302にタッチしているときに、三次元環境1320内での移動のためにユーザインタフェース1302を選択する要求を検出する。
【0363】
いくつかの実施形態では、電子デバイス101は、ユーザインタフェースが移動のために選択されたときに、三次元環境1320に対して個別のユーザインタフェースを視覚的に強調解除する。いくつかの実施形態では、三次元環境1320に対して個別のユーザインタフェースを視覚的に強調解除することは、三次元環境1320における移動のために選択された個別のユーザインタフェースの透明度を変更することを含む。例えば、
図13Bでは、電子デバイス101は、
図13Aのユーザインタフェース1302と比較して、ユーザインタフェース1302の透明度を増加させている。いくつかの実施形態では、電子デバイス101は、上述したように、三次元環境1320における移動のためにユーザインタフェース1302を選択する要求を電子デバイス101が検出したことに応じて、ユーザインタフェース1302の透明度を変更した。いくつかの実施形態では、電子デバイス101は、電子デバイス101が三次元環境1320における移動のためにユーザインタフェース1302を選択する要求を受信したことに応じて、ユーザインタフェース1302の透明度を変更しない。
【0364】
図13Bに示される例では、電子デバイス101は、ユーザインタフェース1302の全ての部分の透明度を増加させた。しかしながら、いくつかの実施形態では、電子デバイス101が三次元環境1320内での移動のためにユーザインタフェース1302を選択する要求を検出したことに応じて、電子デバイス101は、ユーザインタフェース1302の個別の部分(例えば、ユーザインタフェース1302の全体サイズの10%、20%、40%、60%、又は80%)の透明度を任意選択的に変更(例えば、増加)し、ユーザインタフェース1302の残りの部分の透明度は変更されない。
【0365】
いくつかの実施形態では、三次元環境1320における移動のためにユーザインタフェースが選択されると、電子デバイス101は、選択されたユーザインタフェースの複数の部分の透明度を変更する。例えば、電子デバイス101が三次元環境1320内での移動のためのユーザインタフェース1302の選択を検出したことに応じて、電子デバイス101は、ユーザインタフェース1302の複数の部分の透明度を任意選択的に変更する。いくつかの実施形態では、電子デバイス101がユーザインタフェース1302の複数の部分の透明度を変更する量は、ユーザインタフェース1302の中心とユーザインタフェース1302の個別の部分との間の距離の関数である。例えば、ユーザインタフェース1302の第1の部分がユーザインタフェース1302の第2の部分よりもユーザインタフェース1302の中心に近い場合、ユーザインタフェース1302の第1の部分は、任意選択的に、ユーザインタフェース1302の第2の部分よりも透明度が低い。逆に、ユーザインタフェース1302の第1の部分が、ユーザインタフェース1302の第2の部分よりもユーザインタフェース1302の中心から離れている場合、ユーザインタフェース1302の第1の部分は、任意選択的に、ユーザインタフェース1302の第2の部分よりも透明である。
【0366】
いくつかの実施形態では、電子デバイス101は、個別のユーザインタフェースが移動のために選択されると、三次元環境内の個別のユーザインタフェースのロケーションを示すインジケーションを表示する。例えば、
図13Bでは、電子デバイス101は、ユーザインタフェース1310に関連して仮想影1332(例えば、ドロップシャドウ)を表示している。いくつかの実施形態では、ドロップシャドウは、三次元環境1320内のユーザインタフェース1310の(任意選択で直接)下にある三次元環境1320の表面上に表示され、ユーザの視点に対するその表面上のドロップシャドウのロケーションは、視点からのユーザインタフェース1310の距離を示す。いくつかの実施形態では、電子デバイス101は、三次元環境1320における移動のためにユーザインタフェース1310を選択する要求を電子デバイス101が受信したことに応じて、仮想影1332を表示している。
図13Bに示されるように、仮想影1332は、ユーザインタフェース1310が現在、三次元環境1320内のテーブルの表現1324の一部の上でホバリングしているので、テーブルの表現1324上に表示されている。いくつかの実施形態では、仮想影1332のサイズは、ユーザインタフェース1310がテーブルの表現1324に近づくにつれて(例えば、Y方向に)増加し、ユーザインタフェース1310がテーブルの表現1324から離れるにつれて(例えば、Y方向に)減少する。いくつかの実施形態では、電子デバイス101は、三次元環境1332における移動のためにユーザインタフェース1310を選択する要求を受信したことに応じて、仮想影1332を表示しない。個別のユーザインタフェースが三次元環境1320における移動のために選択されたときに電子デバイス101が応答する、本明細書に記載される様々な方法は、任意選択的に、互いに独立して又は同時に行われることを理解されたい。例えば、電子デバイス101は、任意選択的に、三次元環境1320内での移動のためにユーザインタフェース1310を選択する要求を電子デバイス101が受信したことに応じて、ユーザインタフェース1302と同様なやり方でユーザインタフェース1310の透明度を変更し、ドロップシャドウ(例えば、ドロップシャドウ1332と同様)を表示する。
【0367】
いくつかの実施形態では、電子デバイス101は、個別のユーザインタフェースが移動のために選択されたときのユーザの視線に基づいて、三次元環境1320内の個別のユーザインタフェースの1つ以上の部分を視覚的に強調解除する。例えば、
図13Bでは、電子デバイス101は、ユーザの視線1330とユーザインタフェース1308の1つ以上の部分との間の距離に基づいて、ユーザインタフェース1308の透明度を変更している。いくつかの実施形態では、ユーザインタフェース1308の1つ以上の部分の透明度は、電子デバイス101が三次元環境1320における移動のためにユーザインタフェース1308を選択する要求を検出したことに応じて、ユーザの視線1330に基づいて変更される。
【0368】
いくつかの実施形態において、ユーザの現在の注視ロケーション1330により近いユーザインタフェース1308の部分は、ユーザの現在の注視ロケーション1330からより遠い部分よりも透明度が低い。例えば、
図13Bに示されるように、ユーザインタフェース1308の左上部分は、ユーザインタフェース1308の右下部分よりもユーザの視線に近いので、ユーザインタフェース1308の左上部分は、ユーザインタフェース1308の右下部分よりも透明度が低い。いくつかの実施形態では、電子デバイス101は、ユーザの現在の注視ロケーション1330から閾値距離(例えば、1、5、10、20、30、40、50、100、200、300、400、500、1000、又は2000センチメートル)以内にあるユーザインタフェース1308の部分の透明度を変更せず、ユーザの現在の注視ロケーションから閾値距離よりも遠いユーザインタフェース1308の部分の透明度を変更する。例えば、
図13Bにおいて、上述の閾値距離内にあるユーザインタフェース1308の部分、及び上述の閾値距離外にあるユーザインタフェース1308の部分は、(任意選択的に三次元環境1320に表示されない)インジケーション1316によって示される。
図13Bの例では、電子デバイス101は、
図13Aと比較して、インジケーション1316によって示される上述の閾値距離内にあるユーザインタフェース1308の部分の透明度を変更していないが、インジケーション1316によって示される上記閾値距離内にないユーザインタフェース1308の部分の透明度を増加させている。いくつかの実施形態では、インジケーション1316は、ユーザの中心視野ゾーンと周辺視野ゾーンとの間の境界に対応する。いくつかの実施形態では、電子デバイス101が三次元環境1320内での移動のためにユーザインタフェース1308を選択する要求を受信したことに応じて、電子デバイス101は、任意選択的に、ユーザの視線に基づいてユーザインタフェース1308の部分の透明度を変更しない。
【0369】
いくつかの実施形態では、電子デバイス101は、三次元環境1320内の個別のユーザインタフェースに関連して、以下でより詳細に説明するように、個別のユーザインタフェースが三次元環境1320内の特定のロケーションに移動された場合に個別のユーザインタフェースが三次元環境1320のユーザの視野内で占有する空間の量を三次元環境1320内のサイズがインジケーションに示させる視覚インジケーションを表示する。例えば、
図13Bでは、電子デバイス101は、ユーザインタフェース1304に関連して視覚インジケーション1334を表示している。インジケーション1334は、任意選択的に、
図13Cを参照してより詳細に説明されるように、三次元環境1320における領域/体積の輪郭である。いくつかの実施形態では、視覚インジケーション1334は、電子デバイス101が三次元環境1320内での移動のためにユーザインタフェース1304を選択する要求を受信したことに応じて、三次元環境1320内に表示されている。
図13Bに示されるように、視覚インジケーション1334は、ユーザインタフェース1304が
図13Bに示されるロケーションにある間に電子デバイス101がユーザインタフェース1304を選択解除する入力を検出した場合に、三次元環境1320におけるユーザインタフェース1304のサイズが変化しないことを電子デバイス101に示させる三次元環境1320におけるサイズを有する。いくつかの実施形態では、電子デバイス101は、手1318の親指が上述の閾値距離内にあった後に手1318の別の指から閾値距離(例えば、0.1、0.2、0.3、0.5、1、2、3、又は5センチメートル)離れて移動したとき、及び/又は以前に「ポインティング」姿勢にあった後に手1318がもはや「ポインティング」姿勢にないことを電子デバイス101が検出したときに、ユーザインタフェース1304を選択解除する入力を検出する。いくつかの実施形態では、電子デバイス101が三次元環境1320内での移動のためにユーザインタフェース1304を選択する要求を受信したことに応じて、電子デバイス101は、任意選択的に、インジケーション1304を表示しない。
【0370】
いくつかの実施形態では、個別のユーザインタフェースが三次元環境1320における移動のために選択されるとき、三次元環境における個別のユーザインタフェースの視覚的外観は変化しない。例えば、
図13A及び13Bにおけるユーザインタフェース1306の視覚的外観は、ユーザインタフェース1306が(
図13Bに示されるように)三次元環境1320における移動のために選択されていても同じである。
【0371】
図13Cは、三次元環境1320内の異なるロケーションへのユーザインタフェース1302~1310の移動を示す。
図13Cでは、ユーザインタフェース1302は、
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動している。いくつかの実施形態では、
図13Bに記載されるようにユーザインタフェース1302を選択した後、電子デバイス101は、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを検出したため、ユーザインタフェース1302は、
図13Cに示されるロケーションに移動した。いくつかの実施形態では、ユーザインタフェース1302が
図13Bに示されるロケーションから
図13Cに示されるロケーションに移動している間、電子デバイス101は、三次元環境1320内の新たなロケーションへのユーザインタフェース1302の移動中に、同じ変更された透明度でユーザインタフェース1302を表示し続ける。例えば、
図13Cに示すように、
図13B及び
図13Cのユーザインタフェース1302の透明度は、ユーザインタフェース1302が
図13Bに示すロケーションから
図13Cに移動している間、同じままであった。いくつかの実施形態では、ユーザインタフェース1302が三次元環境1320内の異なるロケーションに移動すると、電子デバイス101は、例えば、移動の速度に基づいて、ユーザインタフェース1302が三次元環境1320内の移動のために選択された後にユーザインタフェース1302が表示される透明度と比較して、ユーザインタフェース1302の透明度を任意選択的に増加させる(又は任意選択的に減少させる)。
【0372】
いくつかの実施形態では、電子デバイス101は、任意選択的に、電子デバイス101が個別のユーザインタフェースの移動を検出するまで、三次元環境1320内の個別のユーザインタフェースの透明度を変更しない。したがって、
図13Cでは、電子デバイス101は、任意選択的に、
図13Bにおけるユーザインタフェース1302の選択に続いて電子デバイス101がユーザインタフェース1302の移動を検出した後にのみ、
図13Cに示される変更された透明度を有するユーザインタフェース1302を表示する。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1302の10%、20%、40%、60%、80%、又は100%にわたるユーザインタフェース1302の部分を修正する(例えば、その透明度を増加させる)。
【0373】
いくつかの実施形態では、ユーザインタフェース1302が
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境内のロケーションに移動している間、電子デバイス101が三次元環境1320に対してユーザインタフェース1302を視覚的に強調解除する量は、ユーザインタフェース1302の移動特性に基づく。例えば、ユーザインタフェース1302が
図13Cに示されるロケーションに移動している間に、ユーザインタフェースが閾値量(例えば、1、2、10、50、100、400、又は1000センチメートル)を超えて移動した場合、電子デバイス101は、任意選択的に、ユーザインタフェース1302の透明度を第1の透明度だけ変更する。逆に、ユーザインタフェース1302が
図13Cに示されるロケーションに移動している間にユーザインタフェース1302が閾値量を超えて移動しなかった場合、電子デバイス101は、ユーザインタフェース1302が上述の閾値移動量を超えて移動した場合よりも少ない量だけ、ユーザインタフェース1302の透明度を任意選択的に変更する。電子デバイス101がユーザインタフェース1302の移動特性に基づいてユーザインタフェース1302を視覚的に強調解除する他の例が、方法1400において説明される。
【0374】
いくつかの実施形態では、電子デバイス101が、
図13Cに示されるロケーションへのユーザインタフェース1302の移動後にユーザインタフェース1302を選択解除するための入力を受信した場合、電子デバイス101は、任意選択的に、
図13Aに記載されるようなデフォルトの外観を有するユーザインタフェース1302を表示し、もはやユーザインタフェース1302を視覚的に強調解除しない。いくつかの実施形態では、ユーザインタフェース1302を
図13Cに示されるロケーションに移動させた後、電子デバイス101は、ユーザインタフェース1302に適用される視覚的強調解除を少なくとも部分的に反転させる(ユーザインタフェース1302は、三次元環境1320における移動のために依然として任意選択的に選択されている)。例えば、ユーザインタフェース1302を
図13Cに示す三次元環境内のロケーションに移動させた後、ユーザインタフェース1302が三次元環境1320内での移動のために依然として選択されている間、電子デバイス101は、ユーザインタフェース1302が個別の時間量(例えば、0.5、1、2、4、10、20、又は40秒)の間に閾値量(例えば、1、2、10、50、100、400、又は1000センチメートル)を超えて三次元環境1320内で移動しなかった場合、ユーザインタフェース1302の透明度を(ユーザインタフェース1302が
図13Cのロケーションに移動していた間のユーザインタフェース1302の透明度と比較して)任意選択的に低減する。
【0375】
加えて、
図13Cでは、ユーザインタフェース1310は、
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動している。いくつかの実施形態では、
図13Bに記載されるようにユーザインタフェース1310を選択した後、電子デバイス101は、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを検出したため、ユーザインタフェース1310は、
図13Cに示されるロケーションに移動した。
図13Cに示すように、ユーザインタフェース1310の移動の結果として、仮想影1332は、三次元環境1320内で移動しており、ユーザインタフェース1310が現在、コーナーテーブルの表現1326の一部及び三次元環境1320内のフロアの一部(例えば、方法1200における三次元環境内のフロアと同様)の上でホバリングしていることを示す。いくつかの実施形態では、ユーザインタフェース1310が
図13Cに示される三次元環境1320内のロケーションに移動しているとき、仮想影1332は、ユーザインタフェース1310とともに(例えば、リアルタイムで)連続的に移動して、三次元環境1320のどの部分(単数又は複数)の上にユーザインタフェース1310が現在ホバリングしているかを示す。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1310が選択された三次元環境1320内のロケーションからのユーザインタフェース1310の移動(例えば、
図13Bのユーザインタフェース1310のロケーションからの移動)を電子デバイス101が検出するまで、仮想影1332を表示しない。
【0376】
いくつかの実施形態では、ユーザインタフェース1310を
図13Cに示されるロケーションに移動させた後、電子デバイス101は、ユーザインタフェース1310が個別の時間量(例えば、0.5、1、2、4、10、20、又は40秒)の間に閾値量(例えば、1、2、10、50、100、400、又は1000センチメートル)を超えて移動しなかったことを電子デバイス101が検出した場合、三次元環境1320における仮想影1332の表示を停止する。
【0377】
加えて、
図13Cに示されるように、ユーザインタフェース1304は、
図13Bの三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動している。いくつかの実施形態では、
図13Bに記載されるようにユーザインタフェース1304を選択した後に、電子デバイス101が、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを検出したため、ユーザインタフェース1310は、
図13Bに示されるロケーションから
図13Cに示されるロケーションに移動した。
【0378】
いくつかの実施形態では、三次元環境1320内の個別のユーザインタフェースが、三次元環境1320内のユーザの視点から更に離れるように移動するにつれて、個別のユーザインタフェースがユーザの視野内で占有する空間の量は、対応して減少する。逆に、いくつかの実施形態では、三次元環境1320内の個別のユーザインタフェースが、三次元環境1320のユーザの視点に近づくにつれて、個別のユーザインタフェースがユーザの視野内で占有する空間の量は、それに応じて増加する。例えば、
図13Cでは、ユーザインタフェース1304は、
図13Bよりも三次元環境1320のユーザの視点から更に離れて移動している。結果として、ユーザインタフェース1304は、ユーザインタフェースが
図13Bに示される三次元環境1320内のロケーションにあったときと比較して、ユーザの視野内のより少ない量の空間を占有している。いくつかの実施形態では、ユーザインタフェース1310が
図13Cに示される三次元環境1320内のロケーションに移動するにつれて、ユーザインタフェース1304がユーザの視野内で占有する空間の量は、ユーザインタフェース1304が三次元環境1320のユーザの視点から更に離れて移動するため、連続的に減少することを理解されたい。
【0379】
図13Cにも示されるように、電子デバイス101は、視覚インジケーション1334を表示している。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1302が移動のために選択された三次元環境1320内のロケーションからのユーザインタフェースの移動(例えば、
図13Bのユーザインタフェース1302のロケーションからの移動)を電子デバイス101が検出するまで、視覚インジケーション1334を表示しない。
図13Cに示すように、視覚インジケーション1334は、三次元環境1320において、関連付けられたユーザインタフェースである、ユーザインタフェース1304よりも大きいサイズを有する。視覚インジケーション1334は、ユーザインタフェース1304の移動が完了したときに電子デバイス101がユーザインタフェース1304をスケーリングするサイズを視覚インジケーションが示しているので(例えば、ユーザインタフェース1304のコンテンツが三次元環境1320内のその現在ロケーションで対話可能であり続けることを確実にするために)、三次元環境1320内のユーザインタフェース1304よりも大きいサイズを任意選択的に有する。いくつかの実施形態では、視覚インジケーション1334のサイズは、ユーザインタフェース1304と三次元環境1320におけるユーザの現在の視点のポジションとの間の距離に基づく(例えば、ユーザインタフェース1304は、ユーザインタフェース1304がユーザの視点から遠くに移動するにつれてより大きいサイズで表示され、ユーザインタフェース1304がユーザの視点に近づくにつれてより小さいサイズで表示され、インジケーション1334は、ユーザインタフェース1304に向けられた移動入力の完了時にユーザインタフェース1304がデバイス101によってスケーリングされるサイズを示す輪郭である)。
【0380】
いくつかの実施形態では、ユーザインタフェース1304が
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動しているとき、ユーザインタフェース1304のコンテンツが三次元環境1320内のその現在のロケーションで対話可能であるように、視覚インジケーション1334はユーザインタフェース1304とともに移動して、電子デバイス101が移動入力の完了時にユーザインタフェース1304を表示するサイズを連続的に示す。したがって、いくつかの実施形態では、ユーザインタフェース1304が
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに(例えば、動的に)移動しているとき、ユーザインタフェース1304が三次元環境1320のユーザの視点から更に移動しているので、ユーザインタフェース1304がユーザの視野内で占有している空間の量が連続的に減少している間、視覚インジケーション1334のサイズは任意選択的に連続的に増加する。いくつかの実施形態では、電子デバイス101は、電子デバイス101が三次元環境1320におけるユーザインタフェース1304の移動をもはや検出していないときに(任意選択的に、三次元環境1320における移動のために依然として選択されている間に)、ユーザインタフェース1304を、視覚インジケーション1334によって示されるサイズを有するように更新する。
【0381】
加えて、
図13Cに示されるように、ユーザインタフェース1308は、
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動している。いくつかの実施形態では、
図13Bに記載されるようにユーザインタフェース1308を選択した後に、電子デバイス101が、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを検出したため、ユーザインタフェース1308は、
図13Bに示されるロケーションから
図13Cに示されるロケーションに移動した。
図13Cに示すように、電子デバイス101は、ユーザの視線1330とユーザインタフェース1308の部分との間の距離に基づいて、ユーザインタフェース1308の部分を強調解除している(例えば、複数の部分の透明度を変更している)。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1308が三次元環境1320内の移動のために選択された三次元環境1320内のロケーション(例えば、
図13Bのユーザインタフェース1308のロケーション)からのユーザインタフェースの移動を電子デバイス101が検出するまで、ユーザインタフェース1302の透明度を変更しなかった。
【0382】
いくつかの実施形態において、ユーザの現在の注視ロケーション1330により近いユーザインタフェース1308の部分は、ユーザの現在の注視ロケーション1330からより遠い部分よりも透明度が低い。例えば、
図13Cに示すように、ユーザインタフェース1308の左上部分は、ユーザインタフェース1308の右下部分よりも透明度が低い。いくつかの実施形態では、電子デバイス101は、ユーザの現在の注視ロケーション1330の閾値距離内にあるユーザインタフェース1308の部分の透明度を変更せず、ユーザの現在の注視ロケーション1330から閾値距離よりも遠いユーザインタフェース1308の部分の透明度を変更する。例えば、
図13Cでは、上述の閾値距離内にあるユーザインタフェース1308の部分、及び上述の閾値距離外にあるユーザインタフェース1308の部分は、インジケーション1316(三次元環境1320に任意選択的に表示されない)によって示され、ユーザインタフェース1308の移動により
図13Bに対して変化している。
図13Cの例では、電子デバイス101は、
図13Bと比較して、インジケーション1316によって示される上述の閾値距離内にあるユーザインタフェース1308の部分の透明度を変更していないが、インジケーション1316によって示される上述の閾値距離内にないユーザインタフェース1308の部分の透明度を増加させている。いくつかの実施形態では、ユーザインタフェース1308が
図13Bに示される三次元環境1320内のロケーションから
図13Cの三次元環境1320内のロケーションに(例えば、動的に)移動しているとき、電子デバイス101は、ユーザの注視ロケーション1330に対するユーザインタフェース1308の現在ロケーション及び/又はインジケーション1316内若しくは外のそれらのロケーションの間の距離に基づいて、ユーザインタフェースの部分の透明度を任意選択的に連続的に変更する。
【0383】
加えて、
図13Cに示されるように、ユーザインタフェース1306は、
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動している。いくつかの実施形態では、
図13Bに記載されるようにユーザインタフェース1306を選択した後に、電子デバイス101が、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを検出したため、ユーザインタフェース1306は、
図13Bに示されるロケーションから
図13Cに示されるロケーションに移動した。
【0384】
いくつかの実施形態では、個別のユーザインタフェースが三次元環境1320内で移動されているとき(例えば、ユーザの視点から遠くに又は近くに)、三次元環境1320内のそれぞれのユーザインタフェースオブジェクトのサイズは変化しない。したがって、いくつかの実施形態では、三次元環境1320内の個別のユーザインタフェースが三次元環境1320内のユーザの視点から更に離れるように移動するにつれて、個別のユーザインタフェースがユーザの視野内で占有する空間の量は、対応して減少する。逆に、いくつかの実施形態では、三次元環境1320内の個別のユーザインタフェースが、三次元環境1320のユーザの視点に近づくにつれて、個別のユーザインタフェースがユーザの視野内で占有する空間の量は、それに応じて増加する。例えば、
図13Cでは、ユーザインタフェース1306は、
図13Bよりも三次元環境1320のユーザの視点から更に離れて移動している。結果として、ユーザインタフェース1306は、ユーザインタフェースが
図13Bに示される三次元環境1320内のロケーションにあったときと比較して、ユーザの視野内のより少ない量の空間を占有している。いくつかの実施形態では、ユーザインタフェース1306が、
図13Cに示される三次元環境1320内のロケーションに(例えば、動的に)移動するにつれて、ユーザインタフェース1306がユーザの視野内で占有する空間の量は、ユーザインタフェース1306が三次元環境1320のユーザの視点から更に離れて移動するため、連続的に減少することを理解されたい。
【0385】
いくつかの実施形態では、電子デバイス101が、ユーザインタフェース1306がもはや三次元環境1320内で移動されていないことを検出すると、電子デバイス101は、ユーザインタフェース1306のサイズを、ユーザの視点からのユーザインタフェース1306の距離に基づくサイズに(例えば、その現在の距離におけるユーザインタフェース1306との継続的な対話性を保証するサイズに)更新する。例えば、
図13Dでは、電子デバイス101は、ユーザインタフェース1306がもはや三次元環境1320内で移動されていないことを検出している。結果として、電子デバイス101は、三次元環境1320におけるユーザインタフェース1306のサイズを増大させる。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1306が個別の時間量(例えば、0.1、0.2、2、3、4、5、又は10秒)の間に閾値量(例えば、0、0.5、1、3、5、10、20、40、60、又は200センチメートル)未満移動した場合、ユーザインタフェース1306が三次元環境1320内でもはや移動していないことを検出する。いくつかの実施形態では、ユーザインタフェース1306の移動が比較される時間量は、ユーザインタフェース1306が
図13Cに示されるロケーションから
図13Dに示されるロケーションに移動した速度に基づく(例えば、ユーザインタフェース1306のより速い移動速度は、ユーザインタフェース1306が、ユーザインタフェース1306のより遅い移動速度と比較してより長い時間量にわたって上述の閾値量未満で移動することを必要とする)。いくつかの実施形態では、電子デバイス101は、ユーザインタフェース1306のサイズを
図13Dに示されるサイズに増加させるが、これは、このサイズが、ユーザインタフェース1306のコンテンツが三次元環境1320内のその現在ロケーションで対話可能であることを可能にするためである。
【0386】
加えて、
図13Dに示されるように、ユーザインタフェース1302、1308、及び1310は、
図13Cに示されるロケーションから
図13Dに示されるロケーションに移動している。いくつかの実施形態では、前述のように、ユーザインタフェース1302、1306、1308、及び1310を
図13Cに示されるロケーションに移動させた後に、ユーザの手1318が電子デバイス101の物理的環境1352内の対応するロケーションに移動したことを電子デバイス101が検出したため、ユーザインタフェース1302、1306、1308、及び1310は、
図13Dに示されるロケーションに移動した。加えて、
図13Dに示されるように、ユーザインタフェース1302、1306、1308、及び1310の移動の結果として、電子デバイス101は、これらのユーザインタフェースが
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境内のロケーションに移動したときと同様に、これらのユーザインタフェース(及び関連するユーザインタフェース要素)を更新した。
【0387】
【0388】
図14A~
図14Gは、いくつかの実施形態による、三次元環境内でオブジェクトを移動させる方法1400を示すフローチャートである。いくつかの実施形態では、方法1400は、表示生成コンポーネント(例えば、
図1、
図3、及び
図4の表示生成コンポーネント120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)、及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの
図1のコンピュータシステム101)で実施される。いくつかの実施形態では、方法1400は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、
図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1400のいくつかの動作は、任意選択的に、組み合わされ、且つ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0389】
いくつかの実施形態では、方法1400は、表示生成コンポーネント(例えば、120)及び1つ以上の入力デバイス例えば、314)と通信する電子デバイス(例えば、101)において実施される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成コンポーネントは、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又はコンポーネントを含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0390】
いくつかの実施形態では、電子デバイスは、表示生成コンポーネントを介して、三次元環境内の第1のロケーションに第1のユーザインタフェースオブジェクトを含むユーザの第1の視点からの三次元環境(例えば、三次元環境1320)(例えば、三次元環境は、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(XR)環境である)を表示する(1402a)。いくつかの実施形態では、第1のオブジェクトは、アプリケーションウィンドウ、オペレーティングシステム要素、コンテンツアイテムなどの仮想オブジェクトである。いくつかの実施形態では、三次元環境は、電子デバイスが物理的に位置する環境内の物理オブジェクトの表現を更に含む。いくつかの実施形態では、電子デバイスは、第1の個別の視点に対応する物理的環境内のロケーション及び/又は向きにあるので、電子デバイスは、第1の個別の視点から三次元環境を表示している。いくつかの実施形態では、ユーザの視点が第1の個別の視点に対応するとき、第1のオブジェクトはユーザの視野内に位置する。
【0391】
いくつかの実施形態では、ユーザの第1の視点から三次元環境内に第1のオブジェクトを表示している間(例えば、いくつかの実施形態では、電子デバイスがユーザの第1の視点から三次元環境内に第1のオブジェクトを表示している間、電子デバイスは、第1の外観で第1のオブジェクトを表示する。いくつかの実施形態では、第1の外観は、第1のオブジェクトのデフォルトの外観に対応する。いくつかの実施形態では、第1のオブジェクトが第1の外観で表示されているとき、第1のオブジェクトは完全に(又は部分的に)不透明である。いくつかの実施形態では、第1のオブジェクトが電子デバイスのユーザによって選択されていない(例えば、アプリケーション状態が非選択状態に対応する)ので、第1のオブジェクトは第1の外観で表示される。いくつかの実施形態では、電子機器のユーザが現在第1のオブジェクトと対話していないので、第1のオブジェクトは第1の外観で表示される。)、電子デバイスは、1つ以上の入力デバイスを介して、ユーザインタフェース1302を
図13Bに示される三次元環境1320内のロケーションから
図13Cに示される三次元環境1320内のロケーションに移動させるための入力など、第1のユーザインタフェースオブジェクトを三次元環境内の第1のロケーションから第2のロケーションに移動させるための第1の入力を受信する(1402b)。いくつかの実施形態では、方法1400を参照して説明した第1の入力及び/又は1つ以上の入力は、方法800を参照して説明したようなエアジェスチャ入力である。いくつかの実施形態では、電子デバイスは、ユーザの視線が第1のオブジェクトに向けられている間に(例えば、電子デバイスがヘッドマウントデバイスである場合)、電子デバイスのユーザがユーザの手の人差し指及び親指を使用してピンチジェスチャを実行し、その後、ピンチハンド形状を維持しながらユーザの手の移動が続くときに、第1の入力を受信する。いくつかの実施形態では、第1の入力は、ユーザの手が電子デバイスのタッチスクリーン上でのドラッグ/移動ジェスチャを介して第1のオブジェクトを移動させていることを電子デバイスが検出したときに受信される(例えば、電子デバイスに関連付けられた表示生成コンポーネントがタッチスクリーンである場合)。いくつかの実施形態では、第1のオブジェクトを移動させるための第1の入力は、方法1000を参照して説明した1つ以上のオブジェクトを移動させるための入力の特性のうちの1つ以上を有する。
【0392】
いくつかの実施形態では、第1の入力を受信している間、電子デバイスは、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させ、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させている間(1402c)、電子デバイスは、三次元環境に対して第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除する(1402d)。例えば、
図13Bに示されるロケーションから
図13Cに示されるロケーションへのユーザインタフェース1302の移動中に、電子デバイス101は、ユーザインタフェース1302が三次元環境1320内で移動されなかったときと比較して、ユーザインタフェース1302の透明度を増加させる。いくつかの実施形態では、第1のオブジェクトのサイズは、第1のオブジェクトの移動中に変化しない。いくつかの実施形態では、視覚的に強調解除される第1のユーザインタフェースオブジェクトの部分は、第1のユーザインタフェースオブジェクトの合計サイズの5%、10%、20%、40%、60%、90%、又は100%に対応する。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の輝度を5%、7%、9%、11%、13%、又は20%下げることを含む。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の透明度を5%、7%、9%、11%、13%、又は20%増加させることを含む。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の遮蔽を5%、7%、9%、11%、13%、又は20%低減することを含む。
【0393】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部が三次元環境に対して視覚的に強調解除されている間、電子デバイスは、第1のユーザインタフェースオブジェクトと第1の視点との間の距離が変化するにつれて、第1のユーザインタフェースオブジェクトが表示されるサイズを変化させる(1402e)。例えば、
図13Cでは、ユーザインタフェース1302が三次元環境1320のユーザの視点から遠くに移動するにつれて、ユーザの視野内でユーザインタフェース1302が占有する空間の量が減少する。逆に、
図13Cでは、ユーザインタフェース1302がユーザの視野内で占有する空間の量は、ユーザインタフェース1302が三次元環境1320のユーザの視点に近づくにつれて増加する。いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させる間、三次元環境内の第1のユーザインタフェースオブジェクトのサイズは変化せず、むしろオブジェクトの角度サイズ(例えば、第1のユーザインタフェースオブジェクトがユーザの視野内で占有する空間の量)が変化する。例えば、第1のユーザインタフェースオブジェクトがユーザの視点から更に離れるにつれて(例えば、第2のロケーションが第1のロケーションよりもユーザの視点から更に離れている場合)、第1のユーザインタフェースオブジェクトの角度サイズは、任意選択的に、第1のユーザインタフェースオブジェクトがユーザの視野内で占める空間が小さくなるように減少する(ただし、三次元環境内の第1のユーザインタフェースオブジェクトのサイズは同じままである)。逆に、第1のユーザインタフェースオブジェクトがユーザの視点のより近くに移動する場合(例えば、第2のロケーションが第1のロケーションよりもユーザの視点に近い場合)、第1のユーザインタフェースオブジェクトの角度サイズは、任意選択的に、第1のユーザインタフェースオブジェクトがユーザの視野内でより多くの空間を占有するように増加する(ただし、三次元環境内の第1のユーザインタフェースオブジェクトのサイズは同じままである)。三次元環境内でオブジェクトを移動させるときにオブジェクトの少なくとも一部分を視覚的に強調解除することは、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって、三次元環境と対話するときのユーザに対する認知的負担を低減する。
【0394】
いくつかの実施形態では、三次元環境に対して第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの移動が1つ以上の基準を満たすという判定に従って、(例えば、いくつかの実施形態では、三次元環境内で、第1のユーザインタフェースオブジェクトが第1の閾値量未満(例えば、1、2、5、10、20、40、又は60センチメートル未満)の移動をしたときに、第1のユーザインタフェースオブジェクトの移動が1つ以上の基準を満たすことを含む(1404a)。いくつかの実施形態では、第1のユーザインタフェースオブジェクトが第1の速度閾値(例えば、毎秒1.1、1.9、2.1、5、5.5、10、20、40、又は60センチメートル)以下で移動されているとき、第1のユーザインタフェースオブジェクトの移動は、1つ以上の基準を満たす。いくつかの実施形態では、第1のユーザインタフェースオブジェクトが第1の加速度閾値(例えば、毎秒1.1、1.9、2.1、5、5.5、10、20、40、60センチメートル)以下で加速しているとき、第1のユーザインタフェースオブジェクトの移動は1つ以上の基準を満たし、第1のユーザインタフェースオブジェクトの一部を第1の量だけ視覚的に強調解除する(1404b)。例えば、ユーザインタフェース1302の移動が1つ以上の基準を満たす場合、電子デバイス101は、ユーザインタフェース1302の透明度を第1の量だけ変更する。例えば、第1のユーザインタフェースオブジェクトが移動している移動量及び/又は速度が1つ以上の基準を満たすので、第1のユーザインタフェースの部分は、第1の量だけ視覚的に強調解除される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を第1の量だけ視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の輝度を5%、7%、9%、11%、13%、又は20%下げることを含む。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を第1の量だけ視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の透明度を5%、7%、9%、11%、13%、又は20%増加させることを含む。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を第1の量だけ視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの一部の遮蔽を5%、7%、9%、11%、13%、又は20%だけ低減することを含む。
【0395】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトの移動が1つ以上の第2の基準を満たすという判定に従って(例えば、いくつかの実施形態では、第1のユーザインタフェースオブジェクトが、三次元環境内で、第1の閾値移動量を超えて(例えば、1、2、5、10、20、40、又は60センチメートルを超えて)移動したが、任意選択的に、第2の閾値移動量未満(例えば、1.9、2.5、5.5、10、15、30、又は70センチメートル未満)移動した場合、第1のユーザインタフェースオブジェクトの移動は、1つ以上の第2の基準を満たす。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの移動は、第1のユーザインタフェースオブジェクトが第1の速度閾値(例えば、毎秒1.1、1.9、2.1、5、5.5、10、20、40、又は60センチメートルより大きい)より大きい速度だが、任意選択的に第2の速度閾値(例えば、毎秒1.9、2.5、3.1、7、9.5、13、25、45、又は70センチメートル)より小さい速度で移動しているとき、1つ以上の第2の基準を満たす。いくつかの実施形態では、第1のユーザインタフェースオブジェクトが第1の加速度閾値(例えば、毎秒1.1、1.9、2.1、5、5.5、10、20、40、又は60センチメートル)を超えて加速しているとき、第1のユーザインタフェースオブジェクトの移動は1つ以上の第2の基準を満たし、電子デバイスは、第1の量よりも大きい第2の量だけ第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除する(1404c)。例えば、ユーザインタフェース1302の移動が1秒以上を満たす場合、電子デバイス101は、ユーザインタフェース1302の透明度を第2の量だけ変更する。例えば、第1のユーザインタフェースオブジェクトの移動の(例えば、速度及び/又は量及び/又は加速度)が1つ以上の第2の基準を満たすとき、第1のユーザインタフェースオブジェクトの一部は、視覚的により強調解除される。例えば、第1のユーザインタフェースオブジェクトの移動が1つ以上の第2の基準を満たす場合、第1のユーザインタフェースオブジェクトの輝度部分は、任意選択的に、第1のユーザインタフェースオブジェクトの移動が1つ以上の基準を満たす(1つ又は第2の基準を満たさない)場合よりも更に(例えば、10%、20%、30%、40%、又は50%だけ)低減される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの移動が1つ以上の第2の基準を満たす場合、第1のユーザインタフェースオブジェクトの一部の透明度は、第1のユーザインタフェースオブジェクトの移動が1つ以上の基準を満たす(及び1つ又は第2の基準を満たさない)場合よりも更に(例えば、10%、20%、30%、40%、又は50%だけ)任意選択的に増加される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの移動が1つ以上の第2の基準を満たす場合、第1のユーザインタフェースオブジェクトの一部の遮蔽は、第1のユーザインタフェースオブジェクトの移動が1つ以上の基準を満たす(及び1つ又は第2の基準を満たさない)場合よりも更に(例えば、10%、20%、30%、40%、又は50%だけ)低減される。
【0396】
三次元環境における第1のユーザインタフェースオブジェクトの移動に関連付けられた1つ以上の基準に基づいて異なる量だけ第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、三次元環境内でオブジェクトを移動させるための効率的な方法を提供し、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって三次元環境と対話するときのユーザに対する認知的負担を低減する。
【0397】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを三次元環境内で(例えば、三次元環境内の第1のロケーションから三次元環境内の第2のロケーションへ)移動させている間に、第1のユーザインタフェースオブジェクトが個別の時間量(例えば、0.5、1、2、4、10、又は20秒)にわたって移動閾値(例えば、10、20、40、60、80、又は200センチメートル)未満移動したという判定に従って、電子デバイスは、三次元環境に対する第1のユーザインタフェースオブジェクトの一部の視覚的強調解除を少なくとも部分的に反転させる(1406a)。例えば、ユーザインタフェース1302を
図13Cに示されるロケーションに移動させた後、電子デバイス101は、オブジェクトが上述の個別の時間量の間に上述の閾値量未満移動したとき、
図13Aに示されるユーザインタフェース1302の外観を有するユーザインタフェースを任意選択的に表示する。例えば、第1のユーザインタフェースオブジェクトが個別の時間量(例えば、1、2、4、又は10秒)の間に閾値量(例えば、5、10、20、30、又は40センチメートル)を超えて移動しなかった場合、第1のユーザインタフェースの部分は、第1のユーザインタフェースオブジェクトが個別の時間量の間に閾値量を超えて移動する場合と比較して、より少ない量だけ強調解除される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部分の視覚的強調解除は、第1のユーザインタフェースオブジェクトが上述の個別の時間量の間に上述の閾値移動量を超えて移動するまで、少なくとも部分的に反転されたままである。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部分の視覚的強調解除を少なくとも部分的に反転させることは、第1のユーザインタフェースオブジェクトが個別の時間量の間に閾値量を超えて移動しているときと比較して、第1のユーザインタフェースオブジェクトの一部分の輝度を増加させること、透明度を減少させること、遮蔽を増加させることなどを含む。例えば、三次元環境内で第1のユーザインタフェースオブジェクトを移動させている間にその部分が第1の量だけ視覚的に強調解除されていた場合、第1のユーザインタフェースオブジェクトのその部分は、第1のユーザインタフェースが上述の個別の時間量の間に上述の閾値移動量未満移動した後に、第1の量よりも少ない量だけ視覚的に強調解除される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部の視覚的強調解除は、第1のユーザインタフェースオブジェクトが第1の入力によって依然として選択されているか否か、又は第1のユーザインタフェースオブジェクトが第1の入力によってもはや選択されていないか否かに基づいて、異なる量だけ反転される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部の視覚的強調解除は、上述したように、第1のユーザインタフェースオブジェクトが閾値移動量を超えて移動していない時間が長ければ長いほど、更に反転する。いくつかの実施形態では、強調解除を少なくとも部分的に反転させることは、第1のユーザインタフェースオブジェクトが第1の入力によって移動される前に有していたエンファシスに完全に戻すことを含む。
【0398】
第1のユーザインタフェースオブジェクトの移動が移動基準を満たさないときにユーザインタフェースオブジェクトの部分の視覚的強調解除を低減することは、以前に強調解除された第1のユーザインタフェースオブジェクトの一部を反転させる効率的な方法を提供し、したがって、三次元環境内で第1のユーザインタフェースオブジェクトを移動させた後にユーザが三次元環境と効率的に対話することを可能にする機構を提供し、それによって、三次元環境と対話するときのユーザに対する認知的負担を低減する。
【0399】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションに表示している間、及び第1の入力を受信する前に、第1のユーザインタフェースオブジェクトは、三次元環境内で第1のサイズを有する(1408a)(例えば、第1のユーザインタフェースオブジェクトの第1のサイズは、三次元環境における第1のユーザインタフェースオブジェクトの実際のサイズに対応する)。いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させている間(1408b)、電子デバイスは、三次元環境内で第1のユーザインタフェースオブジェクトを第1のサイズに維持する(1408c)。例えば、第1のユーザインタフェースオブジェクトは、第1のユーザインタフェースオブジェクトが第1のロケーションから第2のロケーションに移動しているとき、三次元環境内で同じサイズを有し続ける。したがって、第1のユーザインタフェースは、三次元環境における第1のユーザインタフェースオブジェクトの移動にかかわらず、同じ(例えば、仮想)サイズを有し続ける。しかしながら、第1のユーザインタフェースオブジェクトがユーザの視野内で占有する空間の量は、第1のユーザインタフェースオブジェクトが三次元環境内で移動するにつれて変化し得る(例えば、第1のユーザインタフェースの角度サイズ(例えば、見かけのサイズ))。例えば、第1のユーザインタフェースオブジェクトがユーザの視点から更に離れるように移動するにつれて、第1のユーザインタフェースオブジェクトの角度サイズは、任意選択的に、第1のユーザインタフェースオブジェクトがユーザの視野内で占める空間が小さくなるように減少する。逆に、第1のユーザインタフェースオブジェクトがユーザの視点のより近くに移動する場合、第1のユーザインタフェースオブジェクトの角度サイズは、任意選択的に、第1のユーザインタフェースオブジェクトがユーザの視野内でより多くの空間を占有するように増加する。いくつかの実施形態では、電子デバイスは、第1のユーザインタフェースオブジェクトに関連して、三次元環境内で第2のサイズを有する視覚インジケーション(例えば、第1のユーザインタフェースオブジェクトに関連付けられる)を表示し(1408d)、第2のサイズは、視覚インジケーション1334のような、ユーザの第1の視点からの第1のユーザインタフェースオブジェクトの現在の距離に基づく。例えば、第1のユーザインタフェースオブジェクトが三次元環境内の第1のロケーションから三次元環境内の第2のロケーションに移動しているとき、輪郭(例えば、視覚インジケーション)が第1のユーザインタフェースオブジェクトに関連して(例えば、第1のユーザインタフェースオブジェクトを囲んで)表示される。いくつかの実施形態では、第2のサイズは、三次元環境における第1のユーザインタフェースオブジェクトの現在ロケーション及び/又はユーザの視点からの第1のユーザインタフェースオブジェクトの現在距離に基づいて、第1のユーザインタフェースオブジェクトのターゲット角度サイズを示す。いくつかの実施形態では、目標角度サイズは、第1のユーザインタフェースオブジェクトが、三次元環境のユーザの現在の視点に対して対話可能であることを可能にする。したがって、第1のユーザインタフェースオブジェクトが三次元環境のユーザの視点から離れて移動している場合、視覚インジケーションは、任意選択的に、第1の入力がもはや第1のユーザインタフェースオブジェクトを選択又は移動していないときに第1のユーザインタフェースオブジェクトが占有するユーザの視野内の空間の量を示すために、第1のユーザインタフェースオブジェクトよりも大きいサイズを有する。逆に、第1のユーザインタフェースオブジェクトが三次元環境のユーザの視点のより近くに移動している場合、視覚インジケーションは、任意選択的に、第1の入力がもはや第1のユーザインタフェースオブジェクトを選択又は移動しないときに第1のユーザインタフェースオブジェクトが占有するユーザの視野内の空間の量を示すために、第1のユーザインタフェースオブジェクトよりも小さいサイズを有する。いくつかの実施形態では、視覚インジケーションのサイズは、電子デバイスのユーザの視点に対する第1のユーザインタフェースオブジェクトの距離の関数である。例えば、視覚インジケーションのサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から遠くにあるほど増大する。いくつかの実施形態では、視覚インジケーションのサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から近いほど減少する。いくつかの実施形態では、視覚インジケーションは、第1のユーザインタフェースオブジェクトが第1のロケーションから第2のロケーションに移動する際に、第1のユーザインタフェースオブジェクトとともに移動する。したがって、視覚インジケーションは、任意選択的に、第1のユーザインタフェースオブジェクトと同様に視点から遠くなる/視点に近くなる。
【0400】
第1のユーザインタフェースオブジェクトが三次元環境内で移動しているときに第1のユーザインタフェースオブジェクトに関連して視覚インジケーションを表示することは、第1のユーザインタフェースオブジェクトが三次元環境内の所望のロケーションに移動した後に第1のユーザインタフェースオブジェクトが有するサイズを示す効率的な方法を提供し、したがって、ユーザが第1のユーザインタフェースオブジェクトを移動させながら三次元環境と安全に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザの認知的負担を低減する機構を提供する。
【0401】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを三次元環境内の第2のロケーションに移動させた後、電子デバイスは、第2のサイズを有する第1のユーザインタフェースオブジェクトを三次元環境内に表示する(1410a)。例えば、電子デバイス101は、ユーザインタフェース1304がもはや三次元環境1320内で移動されていないことを電子デバイス101が検出したときに、ユーザインタフェース1304を視覚インジケーション1334によって示されるサイズにサイズ変更する。例えば、第1のユーザインタフェースオブジェクトが三次元環境内の第2のロケーションに移動した後(例えば、第1の入力の終了を検出したことに応じて)、第1のユーザインタフェースオブジェクトは、視覚インジケーションによって示されるサイズで表示される。いくつかの実施形態では、電子デバイスは、第1のユーザインタフェースオブジェクトが第1の入力によって依然として選択されており、第1のユーザインタフェースオブジェクトが閾値時間量(例えば、0.5、1、2、4、10、又は20秒)内に閾値移動量(例えば、10、20、40、60、80、又は200センチメートル)を超えて移動していない場合、第2のサイズを有する第1のユーザインタフェースオブジェクトを表示する。追加的に又は代替的に、第1の入力がもはや第1のユーザインタフェースオブジェクトを選択していないことを電子デバイスが検出した場合、第1のユーザインタフェースオブジェクトは、三次元環境内で第2のサイズを有して任意選択的に表示される。いくつかの実施形態では、電子デバイスは、第2の(例えば、仮想)サイズで第1の仮想オブジェクトを表示するが、その理由は、第2の(例えば、仮想)サイズは、電子デバイスに、ユーザの視点からの現在の距離に対するターゲット角度サイズで第1の仮想オブジェクトを表示させる(例えば、第1のユーザインタフェースオブジェクトに、ユーザの視野内のターゲット空間量を占有させる)からである。いくつかの実施形態では、電子デバイスは、第1のユーザインタフェースオブジェクトを第2のサイズで表示するが、これは、そのサイズにより、第1のユーザインタフェースオブジェクト(三次元環境内の第2のロケーションにある)が、第1のユーザインタフェースオブジェクトが三次元環境内の第1のロケーションに表示されたときと比較して、ユーザの視野内の同じ又は同様の(例えば、1%、5%、10%、又は20%以内の)空間量を占有するためである。
【0402】
第1のユーザインタフェースオブジェクトを三次元環境内の所望のロケーションに移動させた後に、視覚インジケーションによって示されるサイズで第1のユーザインタフェースオブジェクトを表示することは、第1のユーザインタフェースオブジェクトのサイズをそのオブジェクトの移動後に(しかし、移動前ではなく)更新するための効率的な方法を提供し、したがって、ユーザが三次元環境と効率的に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザへの認知的負担を低減する機構を提供する。
【0403】
いくつかの実施形態では、三次元環境に対して第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトの透明度を変更することを含む(1412a)。例えば、ユーザインタフェース1302が
図13Bに示されるロケーションから
図13Cに示されるロケーションに移動している間、電子デバイス101は、ユーザインタフェース1302の透明度を変更する。例えば、第1のユーザインタフェースオブジェクトが三次元環境内で移動している間、視覚的に強調解除されている第1のユーザインタフェースオブジェクトの一部の透明度は、(第1のユーザインタフェースオブジェクトが第1の入力によって選択されなかった及び/又は移動されていないときと比較して)増加する。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部の透明度は均一であり、第1のユーザインタフェースオブジェクトの複数の(又は任意選択的に全ての)部分は、同等の透明度を有する。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトが第1の入力によって選択されなかった及び/又は移動されていないときと比較して、第1のユーザインタフェースオブジェクトの一部の輝度を下げることを含む。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、第1のユーザインタフェースオブジェクトが第1の入力によって選択されなかった及び/又は移動されていないときと比較して、第1のユーザインタフェースオブジェクトの一部の遮蔽を低減することを含む。
【0404】
視覚的に強調解除されている第1のユーザインタフェースオブジェクトの一部の透明度を変更することは、三次元環境内で第1のユーザインタフェースオブジェクトを移動させながら第1のユーザインタフェースオブジェクトを強調解除するための効率的な方法を提供し、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって、三次元環境と対話するときのユーザへの認知的負担を低減する。
【0405】
いくつかの実施形態では、三次元環境に対して第1のユーザインタフェースオブジェクトの一部を視覚的に強調解除することは、
図13Cのユーザインタフェース1308のように、第1のユーザインタフェースオブジェクトの一部の透明度を第1の量だけ修正することと、第1の量とは異なる第2の量だけ第1のユーザインタフェースオブジェクトの第2の部分の透明度を修正することとを含む(1414a)。例えば、第1のユーザインタフェースオブジェクトが三次元環境内で移動している間、第1のユーザインタフェースオブジェクトの複数の部分が視覚的に強調解除される。いくつかの実施形態では、第1のユーザインタフェースの一部分の透明度と第2の部分の透明度とは異なる。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの一部分が、第1のユーザインタフェースオブジェクトの第2の部分にあるか、又は第1のユーザインタフェースオブジェクトの第2の部分よりも第1のユーザインタフェースオブジェクトの中心に近い場合、第1のユーザインタフェースオブジェクトの一部分は、任意選択的に、第1のユーザインタフェースオブジェクトの第2の部分よりも透明度が低い。逆に、第1のユーザインタフェースオブジェクトの一部が第1のユーザインタフェースオブジェクトの第2の部分よりも第1のユーザインタフェースオブジェクトの中心から離れている場合、第1のユーザインタフェースオブジェクトの一部は、任意選択的に、第1のユーザインタフェースオブジェクトの第2の部分よりも透明である。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの異なる部分(例えば、部分及び第2の部分)に適用される強調解除の量は、ユーザが現在注視している三次元環境内のロケーションまでのこれらの異なる部分間の距離に基づく(例えば、第1のユーザインタフェースオブジェクトの個別の部分がユーザの現在の注視ロケーションに近いほど、個別の部分の透明度が低くなり、第1のユーザインタフェースオブジェクトの個別の部分がユーザの現在の注視ロケーションから遠いほど、個別の部分の透明度が高くなる)。
【0406】
第1のユーザインタフェースオブジェクトを三次元環境に移動させながら、第1のユーザインタフェースオブジェクトの異なる部分を異なる量の透明度で修正することは、三次元環境内で第1のユーザインタフェースオブジェクトを移動させながら第1のユーザインタフェースオブジェクトを強調解除するための効率的な方法を提供し、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって、三次元環境と対話するときのユーザの認知的負担を低減する。
【0407】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させている間、電子デバイスは、第1のユーザインタフェースオブジェクトに関連付けて、仮想影1332などの、三次元環境における第1のユーザインタフェースオブジェクトの現在ロケーションを示す第1のユーザインタフェースオブジェクトの仮想影(例えば、第1のユーザインタフェースオブジェクトとは別個の)を表示する(1416a)。いくつかの実施形態では、仮想影は、第1の入力が第1のユーザインタフェースオブジェクトを選択するまで表示されない。いくつかの実施形態では、仮想影は、第1のユーザインタフェースオブジェクトが三次元環境内で第1のロケーションから第2のロケーションへ移動し始めるまで表示されない。いくつかの実施形態では、仮想影は、第1のユーザインタフェースオブジェクトの下に表示される。いくつかの実施形態では、影は、三次元環境内のフロア又は三次元環境内の物理オブジェクトの表現などの、三次元環境内の第1のユーザインタフェースオブジェクトの下にある1つ以上のオブジェクト及び/又は表面に投影される(例えば、オーバーレイする)。いくつかの実施形態では、仮想影は、三次元環境内の第1のユーザインタフェースオブジェクトの現在ロケーション(例えば、及び/又はユーザの視点からの現在距離)を示す。例えば、第1のユーザインタフェースオブジェクトが現在、三次元環境内のテーブルの表現の上でホバリングしている場合、仮想影は、第1のユーザインタフェースオブジェクトの現在ロケーションを示すためにテーブルの表現上に表示される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトが第1のロケーションから第2のロケーションに移動しているとき、仮想影は、第1のユーザインタフェースオブジェクトとともに移動して、三次元環境における第1のユーザインタフェースオブジェクトの現在ロケーションを示す。
【0408】
第1のユーザインタフェースオブジェクトのための仮想影を表示することは、三次元環境における第1のユーザインタフェースオブジェクトのロケーションを示す効率的な方法を提供し、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、したがって、ユーザが三次元環境と安全に対話することができる機構を提供し、それによって、三次元環境と対話するときのユーザの認知的負担を低減する。
【0409】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションに表示している間、且つ第1の入力を受信する前に、第1のユーザインタフェースオブジェクトは、三次元環境内で第1のサイズを有する(1418a)(例えば、三次元環境における第1のユーザインタフェースオブジェクトの実際のサイズは第1のサイズである)。いくつかの実施形態では、三次元環境内で第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させている間、電子デバイスは、ユーザインタフェース1306が
図13Bのロケーションから
図13Cのロケーションに移動しているときにユーザインタフェース1306の(例えば、実際の)サイズが変化しないなど、三次元環境内で第1のサイズを有する第1のユーザインタフェースオブジェクトを維持する(1418b)。例えば、第1のユーザインタフェースオブジェクトが第1のロケーションから第2のロケーションに移動しているとき、三次元環境における第1のユーザインタフェースオブジェクトのサイズは変化しない。しかしながら、三次元環境における移動の方向(例えば、ユーザの視点に近づく、又はユーザの視点から離れる)に基づいて、第1のユーザインタフェースオブジェクトの角度サイズが変化してもよい。例えば、第1のユーザインタフェースオブジェクトがユーザの視点のより近くに移動する(例えば、第2のロケーションが第1のロケーションよりもユーザの視点に近い)場合、第1のユーザインタフェースオブジェクトは、任意選択的に、第1のロケーションにおける第1のユーザインタフェースオブジェクトと比較して、ユーザの視野においてより多くの空間を占める(例えば、第1のユーザインタフェースオブジェクトの角度サイズが変更される)。逆に、第1のユーザインタフェースオブジェクトがユーザの視点から遠くに移動する(例えば、第2のロケーションが第1のロケーションよりもユーザの視点から遠くにある)場合、第1のユーザインタフェースオブジェクトは、任意選択的に、第1のユーザインタフェースオブジェクトが第1のロケーションにある(例えば、第1のユーザインタフェースオブジェクトの角度サイズが変更された)ときと比較して、ユーザの視野内でより少ない空間を占有する。
【0410】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを三次元環境内の第2のロケーションに移動させた後、1つ以上の基準が満たされたという判定に従って(例えば、第1のユーザインタフェースオブジェクトが第2のロケーションに移動した後に、第1のユーザインタフェースオブジェクトが閾値量(例えば、1、5、10、15、20、又は40センチメートル)未満移動した場合、第1のユーザインタフェースオブジェクトが三次元環境内の第2のロケーションに移動した後に閾値時間量(例えば、0、0.5、1、3、5、10、又は20秒)が経過した場合、第1のユーザインタフェースオブジェクトが第1の入力によって依然として選択されている場合、第1のユーザインタフェースオブジェクトが第1の入力によってもはや選択されていない場合、及び/又は任意の他の適切な基準)、電子デバイスは、
図13Dのユーザインタフェース1306のサイズなど、第1のサイズとは異なる第2のサイズを有する第1のユーザインタフェースオブジェクトを三次元環境内に表示し(1418c)、第2のサイズは、第1のユーザインタフェースオブジェクト(例えば、第2のロケーションにおける)からユーザの第1の視点までの距離に基づく。例えば、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させた後、第1のユーザインタフェースオブジェクトは第2のサイズにサイズ変更されるが、任意選択的に、第1のユーザインタフェースオブジェクトが三次元環境内の第2のロケーションに到達する前ではない。いくつかの実施形態では、第2のサイズは、ユーザの視点からの第1のユーザインタフェースオブジェクトの現在の距離に基づいて、第1のユーザインタフェースオブジェクトを目標角度サイズで表示させる(例えば、第1のユーザインタフェースオブジェクトにユーザの視野内の目標空間量を占有させる)ので、第1のユーザインタフェースオブジェクトは第2のサイズで表示される。いくつかの実施形態では、第2のサイズが、第1のユーザインタフェースオブジェクトが三次元環境内のその現在のロケーション及び/又はユーザの視点からの距離において対話可能であることを可能にするので、第1のユーザインタフェースオブジェクトは第2のサイズで表示される。したがって、第1のユーザインタフェースオブジェクトが三次元環境のユーザの視点から離れて移動している場合、第1のユーザインタフェースオブジェクトの様々なコンテンツは、任意選択的に、三次元環境内で第1のユーザインタフェースオブジェクトをユーザの視点から離れて移動させた後であっても、ユーザが第1のユーザインタフェースオブジェクトと対話し続けることを可能にするサイズを有する(例えば、第1のユーザインタフェースオブジェクトの一部は、ユーザが第1のユーザインタフェースオブジェクトと対話するために第1のユーザインタフェースオブジェクトの近くに移動しなければならないほど小さくない)。逆に、第1のユーザインタフェースオブジェクトが三次元環境のユーザの視点の近くに移動している場合、第1のユーザインタフェースオブジェクトの様々なコンテンツは、三次元環境内で第1のユーザインタフェースオブジェクトをユーザの視点の近くに移動させた後であっても、ユーザが第1のユーザインタフェースオブジェクトと対話し続けることを可能にするサイズを有する(例えば、第1のユーザインタフェースオブジェクトの一部は、ユーザが第1のユーザインタフェースオブジェクトと対話するために第1のユーザインタフェースオブジェクトから離れて移動しなければならないほど大きくない)。いくつかの実施形態では、第1のユーザインタフェースオブジェクトのサイズは、電子デバイスのユーザの視点に対する第1のユーザインタフェースオブジェクトのロケーション/距離の関数である。例えば、第2のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から遠くなるほど増加する。いくつかの実施形態では、第2のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点に近いほど減少する。第1のユーザインタフェースオブジェクトを三次元環境内の所望のロケーションに移動させた後に第2のサイズで第1のユーザインタフェースオブジェクトを表示することは、そのオブジェクトの移動後に第1のユーザインタフェースオブジェクトのサイズを更新するための効率的な方法を提供し、したがって、ユーザが第1のユーザインタフェースオブジェクトを移動させながら三次元環境と安全に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザに対する認知的負担を低減する機構を提供する。
【0411】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させている間(1420a)、第1のサイズを有する第1のユーザインタフェースオブジェクトを三次元で表示した後、第1のユーザインタフェースオブジェクトを第2のロケーションに表示する前(1420b)(例えば、第1のユーザインタフェースオブジェクトが第2のロケーションにまだ移動されていない間)、電子デバイスは、第1のサイズとは異なる第3のサイズを有する第1のユーザインタフェースオブジェクトを表示し(1420c)、三次元環境における第3のサイズは、ユーザの第1の視点からの第1のユーザインタフェースオブジェクトの現在の距離に基づく。例えば、
図13Cに示されるロケーションからユーザインタフェース1306を移動させた後、及び
図1306に示されるロケーションにユーザインタフェース1306を移動させる前に、電子デバイス101は、ユーザインタフェース1306が三次元環境1320のユーザの視点からどれだけ近く/遠くに移動したかに基づいて、ユーザインタフェース1306を第3のサイズに更新する。例えば、第1のユーザインタフェースオブジェクトが三次元環境内で移動しているが、三次元環境内のその最終ロケーションにまだ移動されていない間に、第1のユーザインタフェースオブジェクトのサイズが変化する。いくつかの実施形態では、第3のサイズは、ユーザの視点からのユーザインタフェースオブジェクトの現在の距離に基づいて、電子デバイスを目標角度サイズで表示させる(例えば、第1のユーザインタフェースオブジェクトにユーザの視野内の目標空間量を占有させる)ので、第1のユーザインタフェースオブジェクトは第3のサイズで表示される。いくつかの実施形態では、第3のサイズは、第1のユーザインタフェースオブジェクトが、三次元環境内のその現在のロケーション及びユーザの視点からの距離において対話可能であることを可能にするため、第1のユーザインタフェースオブジェクトは、第3のサイズで表示される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトの第3のサイズは、電子デバイスのユーザの視点に対する第1のユーザインタフェースオブジェクトのロケーションの関数である。例えば、第3のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から遠くにあるほど増加する。いくつかの実施形態では、第3のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から近いほど減少する。
【0412】
第1のユーザインタフェースオブジェクトが三次元環境内で移動しているときに第1のユーザインタフェースオブジェクトのサイズを更新することは、三次元環境内で第1のユーザインタフェースオブジェクトを移動させている間にターゲット角度サイズに対応するサイズを有する第1のユーザインタフェースを表示するための効率的な方法を提供し、したがって、ユーザが第1のユーザインタフェースオブジェクトを移動させている間に三次元環境と安全に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザに対する認知的負担を低減する機構を提供する。
【0413】
いくつかの実施形態では、第1のユーザインタフェースを第1のロケーションから第2のロケーションに移動させることは、第1の入力の第1の部分に対応する(1422a)。いくつかの実施形態では、第1の入力の第1の部分(例えば、速度、距離、持続時間、方向など)に従って第1のユーザインタフェースオブジェクトを第2のロケーションに移動させた後、且つ第2のサイズを有する第1のユーザインタフェースオブジェクトを第2のロケーションに表示している間、電子デバイスは、1つ以上の入力デバイスを介して、第1のユーザインタフェースオブジェクトを第2のロケーションから三次元環境内の第3のロケーションに移動させるための第1の入力の第2の部分を受信する(1422b)。例えば、電子デバイスが、三次元環境内の第2のロケーションにおいて第2のサイズを有するように第1のユーザインタフェースオブジェクトのサイズを更新した後、第1の入力は、三次元環境内の第3のロケーションに第1のユーザインタフェースオブジェクトを更に移動させる。いくつかの実施形態では、電子デバイスは、第1のユーザインタフェースオブジェクトを第2のロケーションに移動させた後に第1の入力が第1のユーザインタフェースオブジェクトの選択を維持した後に、第1の入力の第2の部分を検出し、第2の部分は、検出されている第1の入力の更なる移動に対応する。
【0414】
いくつかの実施形態では、三次元環境内で第1のユーザインタフェースオブジェクトを第2のロケーションから第3のロケーションに移動させている間に、電子デバイスは、第1のユーザインタフェースオブジェクトを、三次元環境内で、第2のサイズを有するものから、第2のサイズとは異なる第3のサイズを有するものに更新し(1422c)、三次元環境における第3のサイズは、ユーザの第1の視点からの第1のユーザインタフェースオブジェクトの現在の距離に基づく。例えば、第1のユーザインタフェースオブジェクトを三次元環境内の第2のロケーションに移動させたことに応じて第1のユーザインタフェースオブジェクトのサイズを第2のサイズを有するように更新した後、第1のユーザインタフェースオブジェクトの更なる移動(例えば、任意選択的に同じ入力による)は、第1のユーザインタフェースのサイズを再び更新させる。いくつかの実施形態では、第1のユーザインタフェースオブジェクトのサイズは、オブジェクトが第2のロケーションに移動された後、及びオブジェクトが第3のロケーションに移動される前に複数回変化する。いくつかの実施形態では、第3の(例えば、仮想)サイズは、第1のユーザインタフェースオブジェクトのユーザの視点までの現在の距離に基づいて、第1のユーザインタフェースオブジェクトを目標角度サイズで表示させる(例えば、第1のユーザインタフェースオブジェクトにユーザの視野内の目標空間量を占有させる)ので、第1のユーザインタフェースオブジェクトは第3のサイズで表示される。いくつかの実施形態では、第3のサイズは、第1のユーザインタフェースオブジェクトが、三次元環境内のその現在のロケーション及びユーザの視点からの距離において対話可能であることを可能にするため、第1のユーザインタフェースオブジェクトは、第3のサイズで表示される。いくつかの実施形態では、第1のユーザインタフェースオブジェクトのサイズは、電子デバイスのユーザの視点に対する第1のユーザインタフェースオブジェクトのロケーションの関数である。例えば、第3のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から遠くにあるほど増加する。いくつかの実施形態では、第3のサイズは、第1のユーザインタフェースオブジェクトがユーザの視点から近いほど減少する。
【0415】
三次元環境内で第2のロケーションから離れる第1のユーザインタフェースオブジェクトの更なる移動を検出した後に第3のサイズを有する第1のユーザインタフェースオブジェクトを表示することは、第1のユーザインタフェースオブジェクトが三次元環境内で移動するときに第1のユーザインタフェースオブジェクトのサイズを更新するための効率的な方法を提供し、したがって、ユーザが第1のユーザインタフェースオブジェクトを移動させながら三次元環境と安全に対話することを可能にし、眩暈又は乗り物酔い症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザの認知的負担を低減する機構を提供する。
【0416】
いくつかの実施形態では、1つ以上の基準は、第1のユーザインタフェースオブジェクトを三次元環境内の第2のロケーションに移動させた後に閾値時間量(例えば、0.5、1、2、3、4、5、10、15、20、又は30秒)が経過したときに満たされる基準を含む(1424a)。例えば、電子デバイス(101)は、ユーザインタフェース(1306)を
図13Dに示されたロケーションに移動させた後、上述した閾値時間量が経過したため、ユーザインタフェース(1306)を
図13Dに示されたサイズにサイズ変更する。例えば、三次元環境内で第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションに移動させた後、第1のユーザインタフェースオブジェクトが第2のロケーションに移動してから閾値時間量(例えば、0.5、1、2、3、5、6、12、20、40、又は60秒)が経過した場合、第1のユーザインタフェースオブジェクトは第2のサイズを有するように更新される。したがって、電子デバイスは、任意選択的に、上述の閾値時間量が経過したとき、第1のユーザインタフェースオブジェクトのサイズを第2のサイズに更新する。いくつかの実施形態では、1つ以上の基準は、第1のユーザインタフェースオブジェクトを三次元環境内の第2のロケーションに移動させた後、第1のユーザインタフェースが個別の時間量(例えば、0.5、1、2、4、10、又は20秒)にわたって移動閾値(例えば、10、20、40、60、80、又は200センチメートル)未満移動したときに満たされる基準を含む。
【0417】
第1のユーザインタフェースオブジェクトが個別の時間量にわたって三次元環境内の第2のロケーションに配置された後に第2のサイズを有する第1のユーザインタフェースオブジェクトを表示することは、ユーザが第1のユーザインタフェースオブジェクトを移動させながら三次元環境と安全に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって三次元環境と対話するときのユーザに対する認知的負担を低減する機構を提供する。
【0418】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトが三次元環境内で第1の速度で第1のロケーションから第2のロケーションに移動したとの判定に従って、閾値時間量は第1の時間量である(1426a)。例えば、ユーザインタフェース1306が
図13Cに示されるロケーションから
図13Dに示されるロケーションに第1の量の速度で移動した場合、電子デバイス101は、第1の時間量が経過した後、ユーザインタフェース1306を
図13Dのサイズにサイズ変更する。例えば、第1の入力が第1のユーザインタフェースオブジェクトを第1の速度で第1のロケーションから第2のロケーションに移動させた場合、第1のユーザインタフェースオブジェクトは、第1のユーザインタフェースオブジェクトが第2のサイズに更新される前に、第1の時間量(例えば、1、2、3、4、5、20、40、又は60秒)の間、第2のロケーションに留まらなければならない。
【0419】
いくつかの実施形態では、第1のユーザインタフェースオブジェクトが第1の速度よりも速い第2の速度で三次元環境内の第1のロケーションから第2のロケーションに移動したとの判定に従って、閾値時間量は、第1の時間量よりも長い第2の時間量である(1426b)。例えば、ユーザインタフェース1306が
図13Cに示されるロケーションから
図13Dに示されるロケーションに第2の量の速度で移動した場合、電子デバイス101は、第2の時間量が経過した後、ユーザインタフェース1306を
図13Dのサイズにサイズ変更する。例えば、第1の入力が第1のユーザインタフェースオブジェクトを第1のロケーションから第2のロケーションへ第2の速度(例えば、より速い速度)で移動させた場合、第1のユーザインタフェースオブジェクトは、第1のユーザインタフェースオブジェクトが第2のサイズに更新される前に、第2の時間量(例えば、2、4、6、8、10、20、40、又は60秒)にわたって第2のロケーションに留まらなければならない。したがって、いくつかの実施形態では、第1のユーザインタフェースオブジェクトが三次元環境内の第2のロケーションに速く移動するほど、電子デバイスが第2のサイズを有する第1のユーザインタフェースを表示するまでの時間遅延が長くなる。
【0420】
第1のユーザインタフェースオブジェクトが異なる時間量にわたって三次元環境内の第2のロケーションに配置された後に第2のサイズを有する第1のユーザインタフェースオブジェクトを表示することは、第1のユーザインタフェースオブジェクトの過度の再スケーリングを回避し、したがって、ユーザが、第1のユーザインタフェースオブジェクトを移動させながら三次元環境と安全に対話することを可能にし、眩暈又は動揺病症状につながり得る潜在的な方向感覚喪失を低減し、それによって、三次元環境と対話するときのユーザに対する認知的負担を低減する機構を提供する。
【0421】
いくつかの実施形態では、方法800、1000、1200、及び1400の態様/動作は、これらの方法の間で交換、置換、及び/又は追加され得る。例えば、方法800、1000、1200、及び/若しくは1400の三次元環境、並びに/又は方法800及び/若しくは1000の空間基準は、これらの方法の間で任意選択的に交換、置換、及び/又は追加される。簡潔にするために、それらの詳細はここでは繰り返さない。
【0422】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。