IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

特表2024-535372三次元環境内でオブジェクトを移動させるための方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-30
(54)【発明の名称】三次元環境内でオブジェクトを移動させるための方法
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240920BHJP
   G06T 19/00 20110101ALI20240920BHJP
【FI】
G06F3/01 570
G06T19/00 600
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518497
(86)(22)【出願日】2022-09-21
(85)【翻訳文提出日】2024-05-01
(86)【国際出願番号】 US2022076808
(87)【国際公開番号】W WO2023049767
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】63/261,556
(32)【優先日】2021-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ベーゼル, ベンジャミン エイチ.
(72)【発明者】
【氏名】チウ, シー-サン
(72)【発明者】
【氏名】ラヴァシュ, ジョナサン.
(72)【発明者】
【氏名】マッキンタイア, トレヴァー ジェイ.
(72)【発明者】
【氏名】ルメイ, スティーブン オー.
(72)【発明者】
【氏名】マッケンジー, クリストファー ディー.
(72)【発明者】
【氏名】パランジェ, アレクシ エイチ.
(72)【発明者】
【氏名】テイラー, ゾーイ シー.
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050BA09
5B050CA07
5B050DA04
5B050DA05
5B050EA07
5B050EA12
5B050EA13
5B050EA19
5B050FA06
5B050FA10
5E555AA64
5E555BA38
5E555BB38
5E555BC08
5E555BE17
5E555CA42
5E555CB65
5E555CB66
5E555CC22
5E555CC26
5E555DB53
5E555DC19
5E555DC21
5E555DD05
5E555EA11
5E555EA22
5E555FA00
(57)【要約】
いくつかの実施形態では、電子デバイスは、三次元環境内でオブジェクトを移動させるために、かかる移動の方向に基づいて異なるアルゴリズムを使用する。いくつかの実施形態では、電子デバイスは、そのオブジェクトとユーザの視点との間の距離が変化するにつれて、三次元環境内のオブジェクトのサイズを修正する。いくつかの実施形態では、電子デバイスは、オブジェクトが三次元環境内の別のオブジェクトと接触するとき、そのオブジェクトの移動に選択的に抵抗する。いくつかの実施形態では、電子デバイスは、他のオブジェクトがそのオブジェクトの有効なドロップターゲットであるかどうかに基づいて、オブジェクトを三次元環境内の別のオブジェクトに選択的に追加する。いくつかの実施形態では、電子デバイスは、三次元環境内で同時に複数のオブジェクトの移動を容易にする。いくつかの実施形態では、電子デバイスは、三次元環境内のオブジェクトのスローイングを容易にする。
【特許請求の範囲】
【請求項1】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、三次元環境内に第1のオブジェクトを表示し、前記第1のオブジェクトが前記三次元環境内での移動のために選択されている間に、前記1つ以上の入力デバイスを介して、前記表示生成構成要素が位置する物理的環境内の前記電子デバイスのユーザの身体の個別の部分の移動に対応する第1の入力を検出することと、
前記第1の入力を検出したことに応じて、
前記第1の入力が、第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で第1の出力方向に前記第1のオブジェクトを移動させることは、前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して第1の関係を有する、前記第1の出力方向に前記第1のオブジェクトを移動させ、
前記第1の入力が、前記第1の入力方向とは異なる第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で、前記第1の出力方向とは異なる第2の出力方向に前記第1のオブジェクトを移動させることは、前記第2の出力方向への前記第1のオブジェクトの前記移動は、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して、前記第1の関係とは異なる第2の関係を有する、前記第2の出力方向に前記第1のオブジェクトを移動させることと、を含む、方法。
【請求項2】
前記第1の出力方向における前記第1のオブジェクトの前記移動の大きさは、前記第1の入力方向における前記ユーザの前記身体の前記個別の部分の前記移動の速度とは無関係であり、
前記第2の出力方向への前記第1のオブジェクトの前記移動の大きさは、前記第2の入力方向への前記ユーザの前記身体の前記個別の部分の前記移動の速度とは無関係である、請求項1に記載の方法。
【請求項3】
前記第1の出力方向は、前記三次元環境内の前記ユーザの視点に対して水平方向であり、
前記第2の出力方向は、前記三次元環境内の前記ユーザの前記視点に対して垂直方向である、請求項1又は2に記載の方法。
【請求項4】
前記第1の入力方向及び前記第2の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動は、第1の大きさを有し、
前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の大きさよりも大きい第2の大きさを有し、
前記第2の出力方向における前記第1のオブジェクトの前記移動は、前記第1の大きさよりも大きく、前記第2の大きさとは異なる第3の大きさを有する、請求項3に記載の方法。
【請求項5】
前記第1の関係は、前記ユーザの前記身体の第2の個別の部分と前記ユーザの前記身体の前記個別の部分との間のオフセットに基づいており、前記第2の関係は、前記ユーザの前記身体の前記第2の個別の部分と前記ユーザの前記身体の前記個別の部分との間の前記オフセットに基づいている、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1の出力方向は、前記三次元環境内の前記ユーザの視点から離れる移動に対応し、
前記第2の出力方向は、前記三次元環境内の前記ユーザの前記視点に向かう移動に対応し、
前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記ユーザの前記個別の部分の前記移動を、前記ユーザの一部と前記第1のオブジェクトに対応するロケーションとの間の距離に基づく第1の値だけ増加させたものであり、
前記第2の出力方向における前記第1のオブジェクトの前記移動は、前記第2の入力方向における前記ユーザの前記個別の部分の前記移動を、前記三次元環境内の前記ユーザの視点と前記第1のオブジェクトに対応する前記ロケーションとの間の距離に基づく、前記第1の値とは異なる第2の値だけ増加させたものである、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第1の値は、前記第1の入力方向における前記ユーザの前記個別の部分の前記移動が進行するにつれて変化し、かつ/又は前記第2の値は、前記第2の入力方向における前記ユーザの前記個別の部分の前記移動が進行するにつれて変化する、請求項6に記載の方法。
【請求項8】
前記第1の値は、前記第1の入力方向における前記ユーザの前記個別の部分の前記移動が進行するにつれて、第1の方式で変化し、前記第2の値は、前記第2の入力方向における前記ユーザの前記個別の部分の前記移動が進行するにつれて、前記第1の方式とは異なる第2の方式で変化する、請求項7に記載の方法。
【請求項9】
前記第1の値は、前記第1の入力方向における前記ユーザの前記個別の部分の前記移動の所与の部分の間に一定のままであり、前記第2の値は、前記第2の入力方向における前記ユーザの前記個別の部分の前記移動の所与の部分の間に一定のままではない、請求項8に記載の方法。
【請求項10】
第1の乗数及び第2の乗数は、前記ユーザの腕の長さに対する距離の比に基づいている、請求項6から9のいずれか一項に記載の方法。
【請求項11】
前記第2の値は、前記第1のオブジェクトが移動のために選択されたときの前記ユーザの前記個別の部分のポジションに基づいている、請求項6から10のいずれか一項に記載の方法。
【請求項12】
前記第1のオブジェクトが前記三次元環境内の移動のために選択されている間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記ユーザの視点に対して水平である方向における前記ユーザの前記個別の部分の個別の移動を検出することと、
前記ユーザの前記個別の部分の前記個別の移動を検出したことに応じて、前記ユーザの前記個別の部分のノイズ低減された個別の移動に基づいて、前記三次元環境内の前記第1のオブジェクトのロケーションを更新することと、を更に含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記ユーザの前記個別の部分の前記個別の移動が検出されたときに、前記第1のオブジェクトに対応するロケーションが前記ユーザの前記個別の部分から第1の距離にあるという判定に従って、前記ユーザの前記個別の部分の前記個別の移動は、前記三次元環境内の前記第1のオブジェクトの前記ロケーションを更新するために使用される調整された移動を生成するために、ノイズ低減の第1の量に基づいて調整され、
前記ユーザの前記個別の部分の前記個別の移動が検出されたときに、前記第1のオブジェクトに対応する前記ロケーションが前記ユーザの前記個別の部分から前記第1の距離よりも小さい第2の距離にあるという判定に従って、前記ユーザの前記個別の部分の前記個別の移動は、前記三次元環境内の前記第1のオブジェクトの前記ロケーションを更新するために使用される調整された移動を生成するために使用されるノイズ低減の前記第1の量よりも小さい第2の量に基づいて調整される、請求項12に記載の方法。
【請求項14】
前記第1のオブジェクトが移動のために選択されている間、かつ前記第1の入力の間に、前記第1の入力の対応する複数の配向制御部分に従って、前記三次元環境内の前記第1のオブジェクトの配向を複数の方向に制御することを更に含む、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記第1のオブジェクトの前記配向を前記複数の方向に制御している間に、前記第1のオブジェクトが前記三次元環境内の表面の閾値距離内にあることを検出することと、
前記第1のオブジェクトが前記三次元環境内の前記表面の前記閾値距離内にあることを検出したことに応じて、前記表面の配向に基づくように、前記三次元環境内の前記第1のオブジェクトの1つ以上の配向を更新することと、を更に含む、請求項14に記載の方法。
【請求項16】
前記第1のオブジェクトの前記配向を前記複数の方向に制御している間に、前記第1のオブジェクトがもはや移動のために選択されていないことを検出することと、
前記第1のオブジェクトがもはや移動のために選択されていないことを検出したことに応じて、前記三次元環境内の前記第1のオブジェクトのデフォルトの配向に基づくように、前記三次元環境内の前記第1のオブジェクトの1つ以上の配向を更新することと、を更に含む、請求項14又は15に記載の方法。
【請求項17】
前記第1の入力は、前記ユーザの前記個別の部分が前記第1のオブジェクトに対応するロケーションの閾値距離内にある間に行われ、前記方法は、
前記第1のオブジェクトが移動のために選択されている間、かつ前記三次元環境内の前記第1のオブジェクトの移動に対応する第2の入力であって、前記第2の入力の間に、前記ユーザの前記個別の部分は、前記第1のオブジェクトに対応する前記ロケーションから前記閾値距離よりも離れている、第2の入力の間に、
前記第1のオブジェクトが二次元オブジェクトであるという判定に従って、前記三次元環境内の前記ユーザの視点に対する前記第1のオブジェクトの配向が一定のままである間に、前記第2の入力に従って前記三次元環境内で前記第1のオブジェクトを移動させることと、
前記第1のオブジェクトが三次元オブジェクトであるという判定に従って、前記三次元環境内の表面に対する前記第1のオブジェクトの配向が一定のままである間に、前記第2の入力に従って前記三次元環境内で前記第1のオブジェクトを移動させることと、を更に含む、請求項14から16のいずれか一項に記載の方法。
【請求項18】
前記第1のオブジェクトが移動のために選択されている間、かつ前記第1の入力の間に、
前記三次元環境内の前記ユーザの視点に対する前記第1のオブジェクトの配向を維持している間に、前記第1の入力に従って前記三次元環境内で前記第1のオブジェクトを移動させることと、
前記ユーザの前記視点に対する前記第1のオブジェクトの前記配向を維持している間に前記第1のオブジェクトを移動させた後、前記第1のオブジェクトが前記三次元環境内の第2のオブジェクトの閾値距離内にあることを検出することと、
前記第1のオブジェクトが前記第2のオブジェクトの前記閾値距離内にあることを検出したことに応じて、前記ユーザの前記視点に対する前記第1のオブジェクトの配向とは無関係に、前記第2のオブジェクトの配向に基づいて前記三次元環境内の前記第1のオブジェクトの前記配向を更新することと、を更に含む、請求項1から17のいずれか一項に記載の方法。
【請求項19】
前記第1のオブジェクトが前記三次元環境内の移動のために選択される前に、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、前記方法は、
前記三次元環境内の移動のための前記第1のオブジェクトの選択を検出したことに応じて、前記三次元環境内で前記第1のサイズとは異なる第2のサイズであって、前記第2のサイズは、移動のための前記第1のオブジェクトの前記選択が検出されたときの前記三次元環境内の前記第1のオブジェクトに対応するロケーションと前記ユーザの視点との間の距離に基づく、第2のサイズを有するように、前記第1のオブジェクトをスケーリングすることを更に含む、請求項1から18のいずれか一項に記載の方法。
【請求項20】
前記第1のオブジェクトは、前記ユーザの視線が前記第1のオブジェクトに向けられている間に、前記ユーザの前記個別の部分が第1のジェスチャであって、閾値時間期間の間、第1の形状を維持することが続く、第1のジェスチャを実行することを含む第2の入力を検出したことに応じて、前記三次元環境内の移動のために選択される、請求項1から19のいずれか一項に記載の方法。
【請求項21】
前記第1のオブジェクトは、前記ユーザの視線が前記第1のオブジェクトに向けられている間に、前記三次元環境内の前記ユーザの視点に向かう前記ユーザの個別の部分の移動閾値よりも大きい移動を含む第2の入力を検出したことに応じて、前記三次元環境内の移動のために選択される、請求項1から19のいずれか一項に記載の方法。
【請求項22】
前記第1のオブジェクトが移動のために選択されている間、かつ前記第1の入力の間に、
前記第1のオブジェクトが前記三次元環境内の第2のオブジェクトの閾値距離内にあることを検出することと、
前記第1のオブジェクトが前記第2のオブジェクトの前記閾値距離内にあることを検出したことに応じて、
前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであるという判定に従って、前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであることを示す第1の視覚的インジケーションを表示し、
前記第2のオブジェクトが前記第1のオブジェクトに対して有効なドロップターゲットではないという判定に従って、前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対して有効なドロップターゲットではないことを示す第2の視覚的インジケーションを表示することと、を含む、請求項1から21のいずれか一項に記載の方法。
【請求項23】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、三次元環境内に第1のオブジェクトを表示し、前記第1のオブジェクトが前記三次元環境内での移動のために選択されている間に、1つ以上の入力デバイスを介して、前記表示生成構成要素が位置する物理的環境内の前記電子デバイスのユーザの身体の個別の部分の移動に対応する第1の入力を検出し、
前記第1の入力を検出したことに応じて、
前記第1の入力が、第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で第1の出力方向に前記第1のオブジェクトを移動させることは、前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して第1の関係を有する、前記第1の出力方向に前記第1のオブジェクトを移動させ、
前記第1の入力が、前記第1の入力方向とは異なる第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で、前記第1の出力方向とは異なる第2の出力方向に前記第1のオブジェクトを移動させることは、前記第2の出力方向への前記第1のオブジェクトの前記移動は、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して、前記第1の関係とは異なる第2の関係を有する、前記第2の出力方向に前記第1のオブジェクトを移動させる、電子デバイス。
【請求項24】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、三次元環境内に第1のオブジェクトを表示し、前記第1のオブジェクトが前記三次元環境内での移動のために選択されている間に、1つ以上の入力デバイスを介して、前記表示生成構成要素が位置する物理的環境内の前記電子デバイスのユーザの身体の個別の部分の移動に対応する第1の入力を検出することと、
前記第1の入力を検出したことに応じて、
前記第1の入力が、第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で第1の出力方向に前記第1のオブジェクトを移動させることは、前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して第1の関係を有する、前記第1の出力方向に前記第1のオブジェクトを移動させ、
前記第1の入力が、前記第1の入力方向とは異なる第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で、前記第1の出力方向とは異なる第2の出力方向に前記第1のオブジェクトを移動させることは、前記第2の出力方向への前記第1のオブジェクトの前記移動は、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して、前記第1の関係とは異なる第2の関係を有する、前記第2の出力方向に前記第1のオブジェクトを移動させることと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項25】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、三次元環境内に第1のオブジェクトを表示し、前記第1のオブジェクトが前記三次元環境内での移動のために選択されている間に、1つ以上の入力デバイスを介して、前記表示生成構成要素が位置する物理的環境内の前記電子デバイスのユーザの身体の個別の部分の移動に対応する第1の入力を検出する手段と、
前記第1の入力を検出したことに応じて、
前記第1の入力が、第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で第1の出力方向に前記第1のオブジェクトを移動させることは、前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して第1の関係を有する、前記第1の出力方向に前記第1のオブジェクトを移動させ、
前記第1の入力が、前記第1の入力方向とは異なる第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で、前記第1の出力方向とは異なる第2の出力方向に前記第1のオブジェクトを移動させることは、前記第2の出力方向への前記第1のオブジェクトの前記移動は、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して、前記第1の関係とは異なる第2の関係を有する、前記第2の出力方向に前記第1のオブジェクトを移動させる、手段と、を備える、電子デバイス。
【請求項26】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、三次元環境内に第1のオブジェクトを表示し、前記第1のオブジェクトが前記三次元環境内での移動のために選択されている間に、1つ以上の入力デバイスを介して、前記表示生成構成要素が位置する物理的環境内の前記電子デバイスのユーザの身体の個別の部分の移動に対応する第1の入力を検出する手段と、
前記第1の入力を検出したことに応じて、
前記第1の入力が、第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で第1の出力方向に前記第1のオブジェクトを移動させることは、前記第1の出力方向における前記第1のオブジェクトの前記移動は、前記第1の入力方向における前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して第1の関係を有する、前記第1の出力方向に前記第1のオブジェクトを移動させ、
前記第1の入力が、前記第1の入力方向とは異なる第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の移動を含むという判定に従って、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に従って、前記三次元環境内で、前記第1の出力方向とは異なる第2の出力方向に前記第1のオブジェクトを移動させることは、前記第2の出力方向への前記第1のオブジェクトの前記移動は、前記第2の入力方向への、前記物理的環境内の前記ユーザの前記身体の前記個別の部分の前記移動に対して、前記第1の関係とは異なる第2の関係を有する、前記第2の出力方向に前記第1のオブジェクトを移動させる、手段と、を備える、情報処理装置。
【請求項27】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項1から22のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項28】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項1から22のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項29】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項1から22のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項30】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、三次元環境内の第1のロケーションに、第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占有する、第1のオブジェクトを含む前記三次元環境を表示することと、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記第2のロケーションは、前記個別の視点から前記第1のロケーションよりも遠い、第2のロケーションまで、前記個別の視点から離れるように移動させ、
前記第1のオブジェクトが前記第2のロケーションに位置するとき、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の第2の量であって、前記第2の量は、前記第1の量よりも小さい、第2の量を占有するように、前記第1のオブジェクトをスケーリングすることと、を含む、方法。
【請求項31】
前記第1の入力を受信している間に、前記第1の入力が前記第1のオブジェクトを前記個別の視点から離れるように移動させる前記要求に対応するという前記判定に従って、前記第1のオブジェクトが前記個別の視点から更に移動するにつれて、前記第1のオブジェクトを増加するサイズに連続的にスケーリングすることを更に含む、請求項30に記載の方法。
【請求項32】
前記第1のオブジェクトは、第1のタイプのオブジェクトであり、前記三次元環境は、前記第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクトを更に含み、前記方法は、
前記三次元環境内の第3のロケーションに、前記第2のオブジェクトであって、前記第2のオブジェクトは、前記三次元環境内の第3のサイズを有し、前記個別の視点からの前記視野の第3の量を占有する、前記第2のオブジェクトを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第3のロケーションから離れるように前記第2のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第3の入力を受信したことに応じて、かつ前記第2の入力が前記第2のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第2の入力に従って、前記三次元環境内で前記第3のロケーションから第4のロケーションに前記個別の視点から離れるように前記第2のオブジェクトを移動させることと、を更に含む、方法であって、前記第2のオブジェクトが前記第4のロケーションに位置するときに、前記第2のオブジェクトが前記三次元環境内で前記第3のサイズを有し、前記個別の視点からの前記視野の、前記第3の量よりも少ない第4の量を占有するように、前記第2のオブジェクトをスケーリングすることなく、前記第4のロケーションは、前記個別の視点から前記第3のロケーションよりも遠い、請求項30又は31に記載の方法。
【請求項33】
前記第2のオブジェクトは、前記第2のオブジェクトに関連付けられた1つ以上の動作を制御するための制御ユーザインタフェースとともに表示され、
前記第2のオブジェクトが前記第3のロケーションに表示されるとき、前記制御ユーザインタフェースは、前記第3のロケーションに表示され、前記三次元環境内で第4のサイズを有し、
前記第2のオブジェクトが前記第4のロケーションに表示されるとき、前記制御ユーザインタフェースは、前記第4のロケーションに表示され、前記三次元環境内で前記第4のサイズよりも大きい第5のサイズを有する、請求項32に記載の方法。
【請求項34】
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、前記第1のオブジェクトは、前記三次元環境内で前記第1のサイズを有し、前記個別の視点は、第1の視点であり、前記第1の視点から、前記ユーザの前記視点と前記第1のオブジェクトとの間の距離を変化させる第2の視点への前記ユーザの視点の移動を検出することと、
前記第1の視点から前記第2の視点への前記視点の前記移動を検出したことに応じて、前記三次元環境内の前記第1のロケーションにおける前記第1のオブジェクトのサイズをスケーリングすることなく、前記三次元環境の表示を前記第2の視点からのものであるように更新することと、を更に含む、請求項30から33のいずれか一項に記載の方法。
【請求項35】
前記第1のオブジェクトは、第1のタイプのオブジェクトであり、前記三次元環境は、前記第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクトを更に含み、前記方法は、
前記第2のオブジェクトを含む前記三次元環境を前記三次元環境内の第3のロケーションに表示している間に、前記第2のオブジェクトは、前記三次元環境内で第3のサイズを有し、前記ユーザの前記視点は、前記第1の視点であり、前記ユーザの前記視点と前記第2のオブジェクトとの間の距離を変化させる前記第1の視点から前記第2の視点への前記視点の移動を検出することと、
前記個別の視点の前記移動を検出したことに応じて、
前記第2の視点からの前記三次元環境の表示を更新し、
前記第3のロケーションにおける前記第2のオブジェクトのサイズを、前記三次元環境内で、前記第3のサイズとは異なる第4のサイズになるようにスケーリングすることと、を更に含む、請求項34に記載の方法。
【請求項36】
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、第1の視点から、前記視点と前記第1のオブジェクトとの間の距離を変化させる第2の視点への、前記三次元環境内の前記ユーザの視点の移動を検出することと、
前記視点の前記移動を検出したことに応じて、前記三次元環境内の前記第1のロケーションにおける前記第1のオブジェクトのサイズをスケーリングすることなく、前記三次元環境の表示を前記第2の視点からのものであるように更新することと、
前記第2の視点から前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れて、前記第1のロケーションよりも前記第2の個別のロケーションから遠い前記三次元環境内の第3のロケーションに前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を検出している間に、かつ前記第1のオブジェクトを前記第1のロケーションから離れるように移動させる前に、前記第2の入力の開始が検出されたときに、前記第1のオブジェクトと前記第2の視点との間の距離に基づいて、前記第1のオブジェクトのサイズを前記第1のサイズとは異なる第3のサイズになるようにスケーリングすることと、を更に含む、請求項30から35のいずれか一項に記載の方法。
【請求項37】
前記三次元環境は、前記三次元環境内の第3のロケーションに第2のオブジェクトを更に含み、前記方法は、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記三次元環境内の第4のロケーションであって、前記第4のロケーションは、前記個別の視点から第1の距離にある、第4のロケーションに移動させる要求に対応するという判定に従って、前記第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第3のサイズを有する、前記第1のオブジェクトを前記三次元環境内の前記第4のロケーションに表示し、
前記第1の入力は、前記第1の入力が前記第1のオブジェクトを前記三次元環境内の前記第3のロケーションであって、前記第3のロケーションは、前記個別の視点から前記第1の距離にある、前記第3のロケーションに移動させる要求に対応するときに満たされる個別の基準を含む1つ以上の基準を満たすという判定に従って、前記第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で前記第3のサイズとは異なる第4のサイズを有する、前記第1のオブジェクトを前記三次元環境内の前記第3のロケーションに表示することと、を更に含む、請求項30から36のいずれか一項に記載の方法。
【請求項38】
前記第1のオブジェクトの前記第4のサイズは、前記第2のオブジェクトのサイズに基づいている、請求項37に記載の方法。
【請求項39】
前記第1のオブジェクトが前記三次元環境内の前記第3のロケーションにあり、前記第2のオブジェクトの前記サイズに基づく前記第4のサイズを有している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第3のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記第1のオブジェクトを、第5のサイズであって、前記第5のサイズは、前記第2のオブジェクトの前記サイズに基づかない、第5のサイズで表示することと、を更に含む、請求項38に記載の方法。
【請求項40】
前記個別の基準は、前記第1の入力が、前記第3のロケーションを含む前記三次元環境内のボリューム内の任意のロケーションに前記第1のオブジェクトを移動させる要求に対応するときに満たされる、請求項37から39のいずれか一項に記載の方法。
【請求項41】
前記第1の入力を受信している間に、前記第1のオブジェクトが前記第1の入力に従って前記第3のロケーションに移動したという判定、かつ前記1つ以上の基準が満たされるという判定に従って、前記第2のオブジェクトが前記第1のオブジェクトの有効なドロップターゲットであることを示すように前記第1のオブジェクトの外観を変更することを更に含む、請求項37から40のいずれか一項に記載の方法。
【請求項42】
前記1つ以上の基準は、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであるときに満たされ、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットでないときに満たされない基準を含み、前記方法は、
前記第1の入力を受信したことに応じて、
前記個別の基準は満たされるが、前記第2のオブジェクトが前記第1のオブジェクトの有効なドロップターゲットではないため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記三次元環境内の前記第4のロケーションに、前記第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で前記第3のサイズを有する、前記第1のオブジェクトを表示することを更に含む、請求項37から41のいずれか一項に記載の方法。
【請求項43】
前記第1の入力を受信したことに応じて、
前記第1の入力が前記1つ以上の基準を満たすという前記判定に従って、前記個別の視点に対する前記第2のオブジェクトの配向に基づいて、前記個別の視点に対する前記第1のオブジェクトの配向を更新することを更に含む、請求項37から42のいずれか一項に記載の方法。
【請求項44】
前記三次元環境は、前記三次元環境内の第3のロケーションに第2のオブジェクトを更に含み、前記方法は、
前記第1の入力を受信している間に、
前記第1の入力が、前記第3のロケーションを通って、前記第3のロケーションよりも前記個別の視点から遠くに前記第1のオブジェクトを移動させる要求に対応するという判定に従って、
前記個別の視点と前記第1のオブジェクトとの間の距離に基づいて前記三次元環境内の前記第1のオブジェクトをスケーリングしながら、前記第1の入力に従って前記第1のオブジェクトを前記個別の視点から離れるように前記第1のロケーションから前記第3のロケーションに移動させ、
前記第1のオブジェクトが前記第3のロケーションに到達した後、前記第1の入力を受信し続けながら、前記第1のオブジェクトをスケーリングすることなく、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持することを更に含む、請求項30から43のいずれか一項に記載の方法。
【請求項45】
前記第1のオブジェクトをスケーリングすることは、前記第2のサイズで前記第1のオブジェクトによって占有される前記個別の視点からの前記視野の前記第2の量が前記視野の閾値量よりも大きいという判定に従い、前記方法は、
前記第1のオブジェクトであって、前記第1のオブジェクトは、前記個別の視点から前記視野の第1の個別の量を占有する、前記第1のオブジェクトを、前記三次元環境内で個別のサイズで表示している間に、前記1つ以上の入力デバイスを介して、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、
前記個別の視点からの前記視野の前記第1の個別の量が前記視野の前記閾値量未満であるという判定に従って、前記三次元環境内の前記第1のオブジェクトのサイズをスケーリングすることなく、前記第2の入力に従って前記個別の視点から離れるように前記第1のオブジェクトを移動させることと、を更に含む、請求項30から43のいずれか一項に記載の方法。
【請求項46】
前記第1の入力は、前記第1のオブジェクトを前記個別の視点から離れるように移動させる前記要求に対応し、前記方法は、
前記第1の入力の第1の部分を受信したことに応じて、前記第1のオブジェクトを前記個別の視点から離れるように移動させる前に、
前記第1のサイズが前記第1のオブジェクトと前記個別の視点との間の現在の距離に対応しないときに満たされる基準を含む、前記第1のオブジェクトの前記第1のサイズが1つ以上の基準を満たすという判定に従って、前記第1のオブジェクトと前記個別の視点との間の前記現在の距離に基づく、前記第1のサイズとは異なる第3のサイズを有するように前記第1のオブジェクトをスケーリングすることを更に含む、請求項30から45のいずれか一項に記載の方法。
【請求項47】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、三次元環境内の第1のロケーションに、第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占有する、第1のオブジェクトを含む前記三次元環境を表示し、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信し、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記第2のロケーションは、前記個別の視点から前記第1のロケーションよりも遠い、第2のロケーションまで、前記個別の視点から離れるように移動させ、
前記第1のオブジェクトが前記第2のロケーションに位置するとき、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の第2の量であって、前記第2の量は、前記第1の量よりも小さい、第2の量を占有するように、前記第1のオブジェクトをスケーリングする、電子デバイス。
【請求項48】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、三次元環境内の第1のロケーションに、第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占有する、第1のオブジェクトを含む前記三次元環境を表示させることと、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記第2のロケーションは、前記個別の視点から前記第1のロケーションよりも遠い、第2のロケーションまで、前記個別の視点から離れるように移動させ、
前記第1のオブジェクトが前記第2のロケーションに位置するとき、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の第2の量であって、前記第2の量は、前記第1の量よりも小さい、第2の量を占有するように、前記第1のオブジェクトをスケーリングさせることと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項49】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、三次元環境内の第1のロケーションに、第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占有する、第1のオブジェクトを含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記第2のロケーションは、前記個別の視点から前記第1のロケーションよりも遠い、第2のロケーションまで、前記個別の視点から離れるように移動させ、
前記第1のオブジェクトが前記第2のロケーションに位置するとき、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の第2の量であって、前記第2の量は、前記第1の量よりも小さい、第2の量を占有するように、前記第1のオブジェクトをスケーリングする手段と、を備える、電子デバイス。
【請求項50】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、三次元環境内の第1のロケーションに、第1のオブジェクトであって、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占有する、第1のオブジェクトを含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が、前記第1のオブジェクトを前記個別の視点から離れるように移動させる要求に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記第2のロケーションは、前記個別の視点から前記第1のロケーションよりも遠い、第2のロケーションまで、前記個別の視点から離れるように移動させ、
前記第1のオブジェクトが前記第2のロケーションに位置するとき、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の第2の量であって、前記第2の量は、前記第1の量よりも小さい、第2の量を占有するように、前記第1のオブジェクトをスケーリングする手段と、を備える、情報処理装置。
【請求項51】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項30から46のいずれか一項に記載の方法を実行する、命令を含む、電子デバイス。
【請求項52】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項30から46のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項53】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項30から46のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項54】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項30から46のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項55】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の前記第1のオブジェクトから第1の距離だけ離れた前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示することと、
前記三次元環境内の前記第1のロケーションにある前記第1のオブジェクトと、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを、第2の距離であって、前記第2の距離は、前記第1の距離よりも大きい第2の距離だけ移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が1つ以上の基準の第1のセットであって、前記基準の第1のセットは、前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応するという要件を含む、基準の第1のセットを満たすという判定に従って、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応しないため、前記第1の入力が1つ以上の基準の前記第1のセットを満たさないという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第2の距離だけ離れるように移動させることと、を含む、方法。
【請求項56】
前記第1の入力が1つ以上の基準の前記第1のセットを満たすために、前記第1の入力に従って前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れて前記第1のオブジェクトを移動させた後に、
前記1つ以上の入力デバイスを介して、前記第1のオブジェクトを前記三次元環境内の前記第2のロケーションから第3の距離だけ離れるように移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、
1つ以上の基準の第2のセットであって、1つ以上の基準の前記第2のセットは、前記第2の入力が移動閾値よりも大きい移動に対応するという要件を含む、1つ以上の基準の第2のセットを、前記第2の入力が満たすという判定に従って、前記第2の入力に従って前記第1のオブジェクトを前記第2のオブジェクトを通して前記三次元環境内の第3のロケーションに移動させ、
前記第2の入力が前記移動閾値よりも大きい移動に対応しないため、前記第2の入力が前記第2の基準のセットを満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから離れた前記第1の距離に維持することと、を更に含む、請求項55に記載の方法。
【請求項57】
前記第2の入力に従って、前記第1のオブジェクトを前記第2のオブジェクトを通して前記三次元環境内の前記第3のロケーションに移動させることは、
前記第2の入力に従って、前記第1のオブジェクトが前記第2のオブジェクトを通って前記三次元環境内の前記第3のロケーションに移動されたときに、前記第1のオブジェクトのロケーションに対応する前記第2のオブジェクトの一部に視覚的フィードバックを表示することを含む、請求項56に記載の方法。
【請求項58】
前記第2の入力に従って前記第1のオブジェクトを、前記第2のオブジェクトであって、前記第2のオブジェクトは、前記第3のロケーションと前記表示生成構成要素を介して表示された前記三次元環境の視点との間にある、前記第2のオブジェクトを通して前記三次元環境内の前記第3のロケーションに移動させた後に、
前記表示生成構成要素を介して、前記第2のオブジェクトを通して前記第1のオブジェクトの視覚的インジケーションを表示することを更に含む、請求項56又は57に記載の方法。
【請求項59】
前記第2の入力に従って前記第1のオブジェクトを、前記第2のオブジェクトであって、前記第2のオブジェクトは、前記第3のロケーションと前記表示生成構成要素を介して表示された前記三次元環境の視点との間にある、前記第2のオブジェクトを通して前記三次元環境内の前記第3のロケーションに移動させた後に、
前記1つ以上の入力デバイスを介して、前記第2のオブジェクトが前記第1のオブジェクトと前記三次元環境の前記視点との間に留まっている間に前記第1のオブジェクトを移動させる要求に対応する第3の入力を受信し、
前記第3の入力を受信したことに応じて、前記三次元環境内で前記第3の入力に従って前記第1のオブジェクトを移動させることを更に含む、請求項56から58のいずれか一項に記載の方法。
【請求項60】
前記第1の入力に従って前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように前記第1のオブジェクトを移動させることは、
前記第2のオブジェクトが前記第1のオブジェクトの有効なドロップターゲットであるときに満たされる基準と、前記第1のオブジェクトが前記第2のオブジェクトの閾値距離内にあるときに満たされる基準と、を含む、1つ以上の基準の第2のセットが満たされるという判定に従って、前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトの前記有効なドロップターゲットであることを示す視覚的インジケーションを表示することを含む、請求項55から59のいずれか一項に記載の方法。
【請求項61】
前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対する前記有効なドロップターゲットであることを示す前記視覚的インジケーションを表示することは、前記三次元環境内の前記第1のオブジェクトのサイズを変更することを含む、請求項60に記載の方法。
【請求項62】
前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対する前記有効なドロップターゲットであることを示す前記視覚的インジケーションを表示することは、前記表示生成構成要素を介して、前記第1のオブジェクト上にオーバーレイされた第1の視覚的インジケータを表示することを含む、請求項60又は61に記載の方法。
【請求項63】
前記第1の入力が前記1つ以上の基準の第1のセットを満たすことに従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させることは、
前記第1のオブジェクトが前記第2のロケーションに到達する前に、前記第2のロケーションを通る方向とは異なる個別の方向における動きの第1の大きさに対応する前記第1の入力の第1の部分を受信したことに応じて、前記個別の方向に第1の量だけ前記第1のオブジェクトを移動させることと、
前記第1のオブジェクトが前記第2のロケーションに到達した後に、前記個別の方向における動きの前記第1の大きさに対応する前記第1の入力の第2の部分を受信したことに応じて、前記個別の方向において、前記第1の量よりも少ない第2の量だけ前記第1のオブジェクトを移動させることと、を含む、請求項55から62のいずれか一項に記載の方法。
【請求項64】
前記第2のロケーションへの移動を超えた前記第2のロケーションを通る移動に対応する個別の入力は、前記第1のオブジェクトに向けられており、
前記個別の入力が第2の大きさを有するという判定に従って、前記個別の方向における前記第1のオブジェクトの移動の前記第2の量は、第1の個別の量であり、
前記個別の入力が前記第2の大きさよりも大きい第3の大きさを有するという判定に従って、前記個別の方向における前記第1のオブジェクトの移動の前記第2の量は、前記第1の個別の量よりも小さい第2の個別の量である、請求項63に記載の方法。
【請求項65】
前記第1の入力が1つ以上の基準の前記第1のセットを満たすために、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから離れるように前記第1の距離だけ移動させながら、前記表示生成構成要素を介して、前記第2のオブジェクト上にオーバーレイされた前記第1のオブジェクトの仮想影を表示することを更に含み、前記第1のオブジェクトが前記三次元環境内の前記第1のロケーションから離れるように前記第1の距離だけ移動されるにつれて、前記第2のオブジェクト上にオーバーレイされた前記第1のオブジェクトの前記仮想影のサイズは、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離の変化に従ってスケーリングされる、請求項55から64のいずれか一項に記載の方法。
【請求項66】
前記第1のオブジェクトは、二次元オブジェクトであり、前記第1の距離は、前記第1のオブジェクトの平面上の点と前記第2のオブジェクトとの間の距離に対応する、請求項55から64のいずれか一項に記載の方法。
【請求項67】
前記第1のオブジェクトは、三次元オブジェクトであり、前記第1の距離は、前記第2のオブジェクトに最も近い前記第1のオブジェクトの表面上の点と、前記第2のオブジェクトとの間の距離に対応する、請求項55から64のいずれか一項に記載の方法。
【請求項68】
基準の前記第1のセットは、前記第1のオブジェクトが前記第2のロケーションにあるとき、前記第1のオブジェクトの少なくとも一部が前記第2のオブジェクトの少なくとも一部と一致するという要件を含む、請求項55から67のいずれか一項に記載の方法。
【請求項69】
前記第1の基準のセットは、前記第2のオブジェクトが前記第1のオブジェクトの有効なドロップターゲットであるという要件を含む、請求項55から67のいずれか一項に記載の方法。
【請求項70】
前記第1のオブジェクトは、前記第1の入力を受信する前に前記三次元環境内で第1の配向を有し、前記第2のオブジェクトは、前記三次元環境内で、前記第1の配向とは異なる第2の配向を有し、前記方法は、
前記第2のオブジェクトの前記第2の配向に対応するように前記第1のオブジェクトの配向を調整するための配向調整入力を受信することなく、
前記第1の入力が前記1つ以上の基準の第1のセットを満たすために、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離して移動させた後に、前記第2のオブジェクトの前記第2の配向に対応するように前記第1のオブジェクトの前記配向を調整することを更に含む、請求項55から69のいずれか一項に記載の方法。
【請求項71】
前記三次元環境は、前記三次元環境内の第4のロケーションに第3のオブジェクトを含み、前記第2のオブジェクトは、前記第4のロケーションと、前記表示生成構成要素を介して表示される前記三次元環境の前記視点との間にあり、前記方法は、
前記三次元環境内の前記第4のロケーションにおける前記第3のオブジェクトと、前記第4のロケーションと前記三次元環境の前記視点との間にある前記第2のロケーションにおける前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記第3のオブジェクトを、前記第2のオブジェクトを通る個別の距離だけ、前記第2のロケーションと前記三次元環境の前記視点との間の個別のロケーションに移動させる要求に対応する第4の入力を受信することと、
前記第4の入力を受信したことに応じて、前記第4の入力に従って、前記第3のオブジェクトを、前記第2のオブジェクトを通る前記個別の距離だけ、前記第2のロケーションと前記三次元環境の前記視点との間の前記個別のロケーションに移動させることと、を更に含む、請求項55から70のいずれか一項に記載の方法。
【請求項72】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の前記第1のオブジェクトから第1の距離だけ離れた前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示し、
前記三次元環境内の前記第1のロケーションにある前記第1のオブジェクトと、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを、第2の距離であって、前記第2の距離は、前記第1の距離よりも大きい第2の距離だけ移動させる要求に対応する第1の入力を受信し、
前記第1の入力を受信したことに応じて、
前記第1の入力が1つ以上の基準の第1のセットであって、前記基準の第1のセットは、前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応するという要件を含む、基準の第1のセットを満たすという判定に従って、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応しないため、前記第1の入力が1つ以上の基準の前記第1のセットを満たさないという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第2の距離だけ離れるように移動させる、電子デバイス。
【請求項73】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の前記第1のオブジェクトから第1の距離だけ離れた前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示することと、
前記三次元環境内の前記第1のロケーションにある前記第1のオブジェクトと、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを、第2の距離であって、前記第2の距離は、前記第1の距離よりも大きい第2の距離だけ移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が1つ以上の基準の第1のセットであって、前記基準の第1のセットは、前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応するという要件を含む、基準の第1のセットを満たすという判定に従って、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応しないため、前記第1の入力が1つ以上の基準の前記第1のセットを満たさないという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第2の距離だけ離れるように移動させることと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項74】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の前記第1のオブジェクトから第1の距離だけ離れた前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションにある前記第1のオブジェクトと、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを、第2の距離であって、前記第2の距離は、前記第1の距離よりも大きい第2の距離だけ移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が1つ以上の基準の第1のセットであって、前記基準の第1のセットは、前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応するという要件を含む、基準の第1のセットを満たすという判定に従って、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応しないため、前記第1の入力が1つ以上の基準の前記第1のセットを満たさないという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第2の距離だけ離れるように移動させる手段と、を備える、電子デバイス。
【請求項75】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の前記第1のオブジェクトから第1の距離だけ離れた前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションにある前記第1のオブジェクトと、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトと、を含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを、第2の距離であって、前記第2の距離は、前記第1の距離よりも大きい第2の距離だけ移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が1つ以上の基準の第1のセットであって、前記基準の第1のセットは、前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応するという要件を含む、基準の第1のセットを満たすという判定に従って、前記第1の入力に従って前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第1の距離だけ離れるように移動させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションを通る移動に対応しないため、前記第1の入力が1つ以上の基準の前記第1のセットを満たさないという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトを前記三次元環境内の前記第1のロケーションから前記第2の距離だけ離れるように移動させる手段と、を備える、情報処理装置。
【請求項76】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項55から71のいずれか一項に記載の方法を実行する、命令を含む、電子デバイス。
【請求項77】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項55から71のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項78】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項55から71のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項79】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項55から71のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項80】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示することと、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含み、前記三次元環境内の前記第2のロケーションに前記第2のオブジェクトを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が、オブジェクトを含まない前記三次元環境内の第3のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの表現を前記三次元環境内の前記第3のロケーションに移動させ、
前記第1の入力が終了した後、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持し、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、かつ1つ以上の基準が満たされるという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの前記表現を前記三次元環境内の前記第2のロケーションに移動させ、
前記三次元環境内の前記第2のロケーションにおいて、前記第1のオブジェクトを前記第2のオブジェクトに追加することと、を含む、方法。
【請求項81】
前記第1の入力を受信する前に、前記第1のオブジェクトは、前記三次元環境内の前記第1のロケーションにある第3のオブジェクト内に包含される、請求項80に記載の方法。
【請求項82】
前記第1の入力に従って前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させることは、
前記第1の入力の第1の部分に従って、前記三次元環境内の前記第1のロケーションにある前記第3のオブジェクトから前記第1のオブジェクトの前記表現を除去し、前記第3のオブジェクトが前記三次元環境内の前記第1のロケーションに留まっている間に、前記第1の入力の第2の部分に従って、前記三次元環境内の前記第1のオブジェクトの前記表現を移動させることを含む、請求項81に記載の方法。
【請求項83】
前記第1の入力に従って前記第1のオブジェクトの前記表現を前記三次元環境内の前記第1のロケーションから離れるように移動させている間に、前記表示生成構成要素を介して、前記第1のオブジェクトの前記表現とは異なる前記第1のオブジェクトの第2の表現を、前記三次元環境内の前記第1のロケーションにある前記第3のオブジェクト内に表示することを更に含む、請求項81又は82に記載の方法。
【請求項84】
前記第1の入力に従って前記第1のオブジェクトの前記表現を前記三次元環境内の前記第1のロケーションから離れるように移動させた後、前記第1の入力の終了を検出したことに応じて、
前記第1のオブジェクトの現在のロケーションが、前記三次元環境内の前記現在のロケーションが前記第1のオブジェクトに対する無効なロケーションであるときに満たされる基準を含む1つ以上の第2の基準を満たすという判定に従って、前記三次元環境内の前記第1のロケーションに移動する前記第1のオブジェクトの前記第1の表現のアニメーションを表示することを更に含む、請求項80から83のいずれか一項に記載の方法。
【請求項85】
前記三次元環境内の前記第3のロケーションがオブジェクトを含まないため、前記第1の入力に従って前記第1のオブジェクトの前記表現を前記三次元環境内の前記第3のロケーションに移動させた後、前記第1の入力の終了を検出したことに応じて、
前記三次元環境内の前記第3のロケーションに第3のオブジェクトを生成し、
前記三次元環境内の前記第3のロケーションにおける前記第3のオブジェクト内に前記第1のオブジェクトを表示することを更に含む、請求項80から84のいずれか一項に記載の方法。
【請求項86】
前記1つ以上の基準は、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであるときに満たされる基準を含み、前記方法は、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するため、前記第1の入力に従って前記三次元環境内の前記第2のロケーションに前記第1のオブジェクトの前記表現を移動させた後に、
前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであるため、前記1つ以上の基準が満たされるという判定に従って、
前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対する前記有効なドロップターゲットであることを示す視覚的インジケータを前記第1のオブジェクト上にオーバーレイして表示し、
前記三次元環境内の前記第2のロケーションにおける前記第3のオブジェクトの生成を取り止めることを更に含む、請求項80から85のいずれか一項に記載の方法。
【請求項87】
前記1つ以上の基準は、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであるときに満たされる基準を含み、前記方法は、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するため、前記第1の入力に従って前記三次元環境内の前記第2のロケーションに前記第1のオブジェクトの前記表現を移動させた後、前記第1の入力の終了を検出したことに応じて、
前記第2のオブジェクトが前記第1のオブジェクトに対する無効なドロップターゲットであるため、前記1つ以上の基準が満たされないという判定に従って、
前記三次元環境内の前記第2のロケーションにおける前記第1のオブジェクトの前記表現の表示を中止し、
前記三次元環境内の前記第2のロケーションにおける前記第3のオブジェクトの生成を取り止めることを更に含む、請求項85又は86に記載の方法。
【請求項88】
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するため、前記第1の入力に従って前記三次元環境内の前記第2のロケーションに前記第1のオブジェクトの前記表現を移動させた後、前記第2のオブジェクトが前記第1のオブジェクトに対する無効なドロップターゲットであるために前記1つ以上の基準が満たされないという前記判定に従って、前記表示生成構成要素を介して、前記第2のオブジェクトが前記第1のオブジェクトに対する無効なドロップターゲットであることを示す視覚的インジケータを前記第1のオブジェクト上にオーバーレイして表示することを更に含む、請求項87に記載の方法。
【請求項89】
前記第2のオブジェクトは、前記第2のオブジェクトがオブジェクトの有効なドロップターゲットであるときに前記オブジェクトを受信するための三次元ドロップゾーンを含み、前記ドロップゾーンは、前記三次元環境内で前記第2のオブジェクトから前記ユーザの視点に向かって延在する、請求項80から88のいずれか一項に記載の方法。
【請求項90】
前記第1のオブジェクトが前記第1の入力に従って前記第2のオブジェクトの前記ドロップゾーンに到達する前に、前記第1のオブジェクトは、前記三次元環境内で第1のサイズを有し、前記方法は、
前記第1の入力の一部として前記第1のオブジェクトの前記表現を前記第2のオブジェクトの前記ドロップゾーン内に移動させることに応じて、前記第1のサイズとは異なる第2のサイズを有するように前記三次元環境内の前記第1のオブジェクトをサイズ変更することを更に含む、請求項89に記載の方法。
【請求項91】
前記三次元環境は、前記三次元環境内の第4のロケーションに第5のオブジェクトを包含し、前記第5のオブジェクトは、第6のオブジェクトを含み、前記方法は、
前記三次元環境内の前記第4のロケーションに前記第6のオブジェクトを含む前記第5のオブジェクトを包含する前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第2のロケーションに前記第5のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、
前記第5のオブジェクトが個別の特性を有するという判定に従って、
前記第6のオブジェクトを前記三次元環境内の前記第2のロケーションで前記第2のオブジェクトに追加し、
前記三次元環境内の前記第5のオブジェクトの表示を中止することと、を更に含む、請求項80から90のいずれか一項に記載の方法。
【請求項92】
前記第2の入力を受信したことに応じて、
前記第5のオブジェクトが前記個別の特性を有していないという判定に従って、
前記第5のオブジェクトに含まれる前記第6のオブジェクトを包含する前記第5のオブジェクトを、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトに追加することを更に含む、請求項91に記載の方法。
【請求項93】
前記三次元環境は、前記三次元環境内の第4のロケーションに第5のオブジェクトを包含し、前記第5のオブジェクトは、第6のオブジェクトを含み、前記方法は、
前記三次元環境内の前記第4のロケーションに前記第6のオブジェクトを包含する前記第5のオブジェクトを含む前記三次元環境を表示している間に、
前記電子デバイスのユーザの視線が前記第5のオブジェクトに向けられるときに満たされる基準を含む、1つ以上の第2の基準が満たされるという判定に従って、前記表示生成構成要素を介して、前記第5のオブジェクトに関連付けられた1つ以上のインタフェース要素を前記三次元環境内の前記第4のロケーションに表示することと、
前記1つ以上の第2の基準が満たされていないという判定に従って、前記第5のオブジェクトに関連付けられた前記1つ以上のインタフェース要素の表示を取り止めることと、を更に含む、請求項80から92のいずれか一項に記載の方法。
【請求項94】
前記1つ以上の第2の基準は、前記電子デバイスの前記ユーザの既定の部分が個別のポーズを有するときに満たされ、前記電子デバイスの前記ユーザの前記既定の部分が前記個別のポーズを有しないときに満たされない基準を含む、請求項93に記載の方法。
【請求項95】
前記第1の入力を受信したことに応じて、
前記第1の入力が前記オブジェクトを含まない前記三次元環境内の前記第3のロケーションへの前記第1のオブジェクトの移動に対応するという前記判定に従って、前記第1のオブジェクトは、前記三次元環境内で前記第1のオブジェクトを移動させるための前記第1のオブジェクトに関連付けられた第1の個別のユーザインタフェース要素とともに前記第3のロケーションに表示され、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという前記判定に従って、かつ前記1つ以上の基準が満たされるという判定に従って、前記第1のオブジェクトを前記三次元環境内で移動させるための、前記第1のオブジェクトに関連付けられた前記第1の個別のユーザインタフェース要素なしに、前記第1のオブジェクトが前記第2のロケーションに表示される、請求項80から94のいずれか一項に記載の方法。
【請求項96】
前記三次元環境内で前記第1の個別のオブジェクトを移動させるために、前記第1の個別のオブジェクトに関連付けられた前記第1の個別のユーザインタフェース要素を用いて前記第3のロケーションに前記第1のオブジェクトを表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内で前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信している間に、
前記第1の個別のユーザインタフェース要素の表示を中止し、
前記第2の入力に従って前記三次元環境内で前記第1のオブジェクトの表現を移動させることと、を更に含む、請求項95に記載の方法。
【請求項97】
前記三次元環境は、前記三次元環境内の第4のロケーションに第3のオブジェクトを含み、前記方法は、
前記三次元環境内の前記第2のロケーションに前記第1のオブジェクトを包含する前記第2のオブジェクトと、前記三次元環境内の前記第4のロケーションに前記第3のオブジェクトと、を含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記第1のオブジェクトを前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクトから離れるように移動させる要求に対応する第2の入力の第1の部分であって、前記第2の入力の第2の部分が続く、第1の部分を含む前記第2の入力を受信することと、
前記第2の入力の前記第1の部分を受信している間に、前記第2の入力の前記第1の部分に従って、前記三次元環境内の前記第2のロケーションで前記第1のオブジェクトの前記表現を前記第2のオブジェクトから離れるように移動させることと、
前記第2の入力の前記第2の部分の終了を検出したことに応じて、
前記第2の入力の前記第2の部分が前記三次元環境内の前記第4のロケーションへの前記第1のオブジェクトの移動に対応するという判定、かつ前記第3のオブジェクトが前記第1のオブジェクトの有効なドロップターゲットではないために1つ以上の第2の基準が満たされないという判定に従って、前記三次元環境内の前記第2のロケーションにおける前記第2のオブジェクト内の前記第1のオブジェクトの表示を維持し、
前記第2の入力の前記第2の部分が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、前記三次元環境内の前記第2のロケーションにある前記第2のオブジェクト内の前記第1のオブジェクトの表示を維持することと、を更に含む、請求項80から96のいずれか一項に記載の方法。
【請求項98】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示し、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含み、前記三次元環境内の前記第2のロケーションに前記第2のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信し、
前記第1の入力を受信したことに応じて、
前記第1の入力が、オブジェクトを含まない前記三次元環境内の第3のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの表現を前記三次元環境内の前記第3のロケーションに移動させ、
前記第1の入力が終了した後、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持し、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、かつ1つ以上の基準が満たされるという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの前記表現を前記三次元環境内の前記第2のロケーションに移動させ、
前記三次元環境内の前記第2のロケーションにおいて、前記第1のオブジェクトを前記第2のオブジェクトに追加する、電子デバイス。
【請求項99】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示することと、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含み、前記三次元環境内の前記第2のロケーションに前記第2のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
前記第1の入力が、オブジェクトを含まない前記三次元環境内の第3のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの表現を前記三次元環境内の前記第3のロケーションに移動させ、
前記第1の入力が終了した後、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持し、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、かつ1つ以上の基準が満たされるという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの前記表現を前記三次元環境内の前記第2のロケーションに移動させ、
前記三次元環境内の前記第2のロケーションにおいて、前記第1のオブジェクトを前記第2のオブジェクトに追加することと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項100】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含み、前記三次元環境内の前記第2のロケーションに前記第2のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が、オブジェクトを含まない前記三次元環境内の第3のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの表現を前記三次元環境内の前記第3のロケーションに移動させ、
前記第1の入力が終了した後、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、かつ1つ以上の基準が満たされるという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの前記表現を前記三次元環境内の前記第2のロケーションに移動させ、
前記三次元環境内の前記第2のロケーションにおいて、前記第1のオブジェクトを前記第2のオブジェクトに追加する手段と、を備える、デバイス。
【請求項101】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクトと、前記三次元環境内の第2のロケーションにある第2のオブジェクトと、を含む前記三次元環境を表示する手段と、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含み、前記三次元環境内の前記第2のロケーションに前記第2のオブジェクトを含む前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信する手段と、
前記第1の入力を受信したことに応じて、
前記第1の入力が、オブジェクトを含まない前記三次元環境内の第3のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの表現を前記三次元環境内の前記第3のロケーションに移動させ、
前記第1の入力が終了した後、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持させ、
前記第1の入力が前記三次元環境内の前記第2のロケーションへの前記第1のオブジェクトの移動に対応するという判定に従って、かつ1つ以上の基準が満たされるという判定に従って、
前記第1の入力に従って、前記第1のオブジェクトの前記表現を前記三次元環境内の前記第2のロケーションに移動させ、
前記三次元環境内の前記第2のロケーションにおいて、前記第1のオブジェクトを前記第2のオブジェクトに追加する手段と、を備える、情報処理装置。
【請求項102】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項80から97のいずれか一項に記載の方法を実行する、命令を含む、電子デバイス。
【請求項103】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項80から97のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項104】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項80から97のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項105】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項80から97のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項106】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、第1のオブジェクトと、前記第1のオブジェクトとは異なる第2のオブジェクトと、を含む複数のオブジェクトを含む三次元環境を表示することと、
前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、前記第1の入力の終了が続く、第1の入力を検出することと、
前記第1の入力を検出している間に、前記第1の入力に従って、前記三次元環境内の前記複数のオブジェクトの表現を一緒に前記第1のロケーションに移動させることと、
前記第1の入力の前記終了を検出したことに応じて、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置することと、を含む、方法。
【請求項107】
前記第1の入力は、前記電子デバイスのユーザの個別の部分の第1の移動であって、前記第1の移動は、前記三次元環境内の前記第1のロケーションへの前記移動に対応する、第1の移動であって、前記第1の入力の前記終了が続く、第1の移動を含む、請求項106に記載の方法。
【請求項108】
前記第1の入力の前記終了を検出し、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置した後、前記1つ以上の入力デバイスを介して、前記第1のオブジェクトを前記三次元環境内の第2のロケーションに移動させる要求に対応する第2の入力を検出することと、
前記第2の入力を受信したことに応じて、前記第2のオブジェクトを前記三次元環境内で移動させることなく、前記第1のオブジェクトを前記三次元環境内の前記第2のロケーションに移動させることと、
前記第1の入力の前記終了を検出し、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置した後、前記1つ以上の入力デバイスを介して、前記第2のオブジェクトを前記三次元環境内の第3のロケーションに移動させる要求に対応する第3の入力を検出することと、
前記第3の入力を受信したことに応じて、前記第1のオブジェクトを前記三次元環境内で移動させることなく、前記第2のオブジェクトを前記三次元環境内の前記第2のロケーションに移動させることと、を更に含む、請求項106又は107に記載の方法。
【請求項109】
前記第1の入力を検出している間に、前記三次元環境内で、前記第1の入力が向けられている前記複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションを表示することを更に含む、請求項106から108のいずれか一項に記載の方法。
【請求項110】
前記第1の入力を検出している間に、前記複数のオブジェクトは、順序に関連付けられた個別の配置内のポジションを有する前記個別の配置に配置され、前記複数のオブジェクトに含まれる前記オブジェクトの数の前記視覚的インジケーションは、前記個別の配置内のプライマリポジションに位置する前記複数のオブジェクト内の個別のオブジェクトに対する個別のロケーションに表示される、請求項109に記載の方法。
【請求項111】
前記複数のオブジェクトに含まれる前記オブジェクトの数の前記視覚的インジケーションを、前記個別の配置内の前記プライマリポジションに位置する前記個別のオブジェクトに対する前記個別のロケーションに表示している間に、前記1つ以上の入力デバイスを介して、第3のオブジェクトを前記複数のオブジェクトに追加する要求に対応する第2の入力を検出することと、
前記第2の入力を検出したことに応じて、
前記第3のオブジェクトであって、前記第3のオブジェクトは、前記個別のオブジェクトではなく、前記個別の配置内の前記プライマリポジションに配置される、前記第3のオブジェクトを前記個別の配置に追加し、
前記複数のオブジェクトに含まれる前記オブジェクトの数の前記視覚的インジケーションを、前記第3のオブジェクトに対する前記個別のロケーションに表示することと、を更に含む、請求項110に記載の方法。
【請求項112】
前記複数のオブジェクトに含まれる前記オブジェクトの数の前記視覚的インジケーションは、前記複数のオブジェクト内の個別のオブジェクトに基づくロケーションに表示され、
前記個別のオブジェクトが二次元オブジェクトであるという判定に従って、前記視覚的インジケーションは、前記二次元オブジェクト上に表示され、
前記個別のオブジェクトが三次元オブジェクトであるという判定に従って、前記視覚的インジケーションは、前記個別のオブジェクトを含むバウンディングボリュームの境界上に表示される、請求項109から111のいずれか一項に記載の方法。
【請求項113】
前記複数のオブジェクトを、前記複数のオブジェクトに含まれる前記オブジェクトの数の前記視覚的インジケーションとともに表示している間に、前記1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第3のオブジェクトに移動させる要求に対応する第2の入力を検出することと、
前記第2の入力を検出している間に、
前記複数のオブジェクトの前記表現を前記第3のオブジェクトに移動させ、
前記第3のオブジェクトが有効なドロップターゲットである前記複数のオブジェクトに含まれる前記オブジェクトの数であって、前記複数のオブジェクトに含まれる前記オブジェクトの前記数は、前記第3のオブジェクトが有効なドロップターゲットである前記複数のオブジェクトに含まれる前記オブジェクトの前記数とは異なる、前記オブジェクトの数を示すように、前記視覚的インジケーションを更新することと、を更に含む、請求項109から112のいずれか一項に記載の方法。
【請求項114】
前記第1の入力の前記終了を検出したことに応じて、前記第1の入力の前記終了が検出された前記第1のロケーションが前記三次元環境内の空き空間であるという判定に従って、前記複数のオブジェクトが前記ユーザの視点から異なる距離に配置されるように、前記第1のロケーションに基づいて前記複数のオブジェクトを別々に配置することを更に含む、請求項106から113のいずれか一項に記載の方法。
【請求項115】
前記複数のオブジェクトを別々に配置することは、前記複数のオブジェクトを前記三次元環境内に螺旋パターンで配置することを含む、請求項114に記載の方法。
【請求項116】
前記螺旋パターンの半径は、前記ユーザの前記視点からの距離の関数として増加する、請求項115に記載の方法。
【請求項117】
前記別々に配置された複数のオブジェクトは、前記三次元環境内の前記第1のロケーションによって画定されるボリュームに閉じ込められる、請求項114から116のいずれか一項に記載の方法。
【請求項118】
前記第1の入力を検出している間に、前記複数のオブジェクトは、順序に関連付けられた個別の配置内のポジションを有する前記個別の配置で配置され、前記第1のロケーションに基づいて前記複数のオブジェクトを別々に配置することは、
前記第1のロケーションにおける前記個別の配置内のプライマリポジションに個別のオブジェクトを配置することと、
前記第1のロケーションに基づいて、前記複数のオブジェクト内の他のオブジェクトを前記三次元環境内の異なるロケーションに配置することと、を含む、請求項114から117のいずれか一項に記載の方法。
【請求項119】
前記第1の入力の前記終了を検出したことに応じて、
前記第1の入力の前記終了が検出された前記第1のロケーションが前記三次元環境内の空き空間であるという判定に従って、
前記三次元環境内で前記第1のオブジェクトを移動させるための第1のユーザインタフェース要素を用いて、前記三次元環境内に前記第1のオブジェクトを表示し、
前記三次元環境内で前記第2のオブジェクトを移動させるための第2のユーザインタフェース要素を用いて、前記三次元環境内に前記第2のオブジェクトを表示することと、
前記第1の入力の前記終了が検出された前記第1のロケーションが第3のオブジェクトを含むという判定に従って、前記第1のユーザインタフェース要素及び前記第2のユーザインタフェース要素を表示することなく、前記三次元環境内に前記第1のオブジェクト及び前記第2のオブジェクトを表示することと、を更に含む、請求項106から118のいずれか一項に記載の方法。
【請求項120】
前記第1の入力の前記終了を検出したことに応じて、かつ前記第1の入力の前記終了が検出された前記第1のロケーションが第3のオブジェクトを含むという判定に従って、
前記第3のオブジェクトが前記第1のオブジェクトに対する無効なドロップターゲットであるという判定に従って、前記表示生成構成要素を介して、前記第1の入力が検出されたときに前記第1のオブジェクトが位置していた前記三次元環境内のロケーションに移動する前記第1のオブジェクトの前記表現のアニメーションを表示することと、
前記第3のオブジェクトが前記第2のオブジェクトに対する無効なドロップターゲットであるという判定に従って、前記表示生成構成要素を介して、前記第1の入力が検出されたときに前記第2のオブジェクトが位置していた前記三次元環境内のロケーションに移動する前記第2のオブジェクトの前記表現のアニメーションを表示することと、を更に含む、請求項106から119のいずれか一項に記載の方法。
【請求項121】
前記第1の入力の前記終了を検出した後、かつ前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置した後に、前記1つ以上の入力デバイスを介して、前記三次元環境内の移動のために前記複数のオブジェクトのうちの1つ以上を選択する要求に対応する第2の入力を検出することと、
前記第2の入力を検出したことに応じて、
前記第1の入力の前記終了を検出する個別の時間閾値内に前記第2の入力が検出されていたという判定に従って、前記三次元環境内の移動のために前記複数のオブジェクトを選択し、
前記第1の入力の前記終了を検出する前記個別の時間閾値の後に前記第2の入力が検出されたという判定に従って、前記三次元環境内の移動のために前記複数のオブジェクトを選択することを取り止めることと、を更に含む、請求項106から120のいずれか一項に記載の方法。
【請求項122】
前記第1の入力の前記終了が検出されたときに前記複数のオブジェクトが速度閾値よりも速い速度で移動していたという判定に従って、前記個別の時間閾値は、第1の時間閾値であり、
前記第1の入力の前記終了が検出されたときに前記複数のオブジェクトが前記速度閾値未満の速度で移動していたという判定に従って、前記個別の時間閾値は、前記第1の時間閾値未満の第2の時間閾値である、請求項121に記載の方法。
【請求項123】
前記第1の入力を検出し、前記第1の入力に従って前記複数のオブジェクトの表現を一緒に移動させている間に、前記1つ以上の入力デバイスを介して、第2の入力を検出することであって、前記ユーザの視線が前記三次元環境内の第3のオブジェクトであって、前記第3のオブジェクトは、前記複数のオブジェクトに含まれない、第3のオブジェクトに向けられている間に個別のジェスチャを実行する前記電子デバイスのユーザの個別の部分を検出することを含む、ことと、
前記第2の入力を検出したことに応じて、前記第1の入力に従って前記三次元環境内で一緒に移動されている前記複数のオブジェクトに前記第3のオブジェクトを追加することと、を更に含む、請求項106から122のいずれか一項に記載の方法。
【請求項124】
前記第1の入力を検出し、前記第1の入力に従って前記複数のオブジェクトの表現を一緒に移動させている間に、前記1つ以上の入力デバイスを介して、第2の入力を検出することであって、ユーザの視線が前記三次元環境内の第3のオブジェクトであって、前記第3のオブジェクトは、前記複数のオブジェクトに含まれず、前記三次元環境内の前記複数のオブジェクトの現在のロケーションへの前記第3のオブジェクトの移動に対応する前記ユーザの前記個別の部分の移動が続く、第3のオブジェクトに向けられている間に個別のジェスチャを実行する前記電子デバイスの前記ユーザの個別の部分を検出することを含む、ことと、
前記第2の入力を検出したことに応じて、前記第1の入力に従って前記三次元環境内で一緒に移動されている前記複数のオブジェクトに前記第3のオブジェクトを追加することと、を更に含む、請求項106から123のいずれか一項に記載の方法。
【請求項125】
前記第1の入力を検出し、前記第1の入力に従って前記複数のオブジェクトの表現を一緒に移動させている間に、前記1つ以上の入力デバイスを介して、第3のオブジェクトを前記複数のオブジェクトに追加する要求に対応する第2の入力を検出することと、
前記第2の入力を検出したことに応じて、前記第3のオブジェクトが二次元オブジェクトであるという判定に従って、
前記第1の入力に従って前記三次元環境内で一緒に移動されている前記複数のオブジェクトに前記第3のオブジェクトを追加し、
前記複数のオブジェクト内の前記第1のオブジェクトの対応する寸法に基づいて、前記第3のオブジェクトの少なくとも1つの寸法を調整することと、を更に含む、請求項106から124のいずれか一項に記載の方法。
【請求項126】
前記第1のオブジェクトは、二次元オブジェクトであり、
前記第2のオブジェクトは、三次元オブジェクトであり、
前記第1の入力を検出する前に、前記第1のオブジェクトは、前記三次元環境内で前記第2のオブジェクトよりも小さいサイズを有し、
前記複数のオブジェクトが前記第1の入力に従って一緒に移動している間に、前記第2のオブジェクトの前記表現は、前記第1のオブジェクトの前記表現よりも小さいサイズを有する、請求項106から125のいずれか一項に記載の方法。
【請求項127】
前記第1の入力を検出している間に、前記複数のオブジェクトは、順序に関連付けられた個別の配置内のポジションを有する前記個別の配置で配置され、
前記第1のオブジェクトは、三次元オブジェクトであり、前記第2のオブジェクトは、二次元オブジェクトであり、
前記第1のオブジェクトは、前記第2のオブジェクトが前記複数のオブジェクトに追加される前に前記第1のオブジェクトが前記複数のオブジェクトに追加されたか、又は前記第2のオブジェクトが前記複数のオブジェクトに追加された後に前記第1のオブジェクトが前記複数のオブジェクトに追加されたかにかかわらず、前記個別の配置において前記第2のオブジェクトに対して優先されたポジションに表示される、請求項106から126のいずれか一項に記載の方法。
【請求項128】
前記第1の入力を検出している間に、前記1つ以上の入力デバイスを介して、第2の入力を検出することであって、ユーザの視線が前記複数のオブジェクトに向けられている間に個別のジェスチャを実行する前記電子デバイスの前記ユーザの個別の部分を検出することを含む、ことと、
前記第2の入力を検出したことに応じて、前記複数のオブジェクトのうちの個別のオブジェクトが前記第1の入力に従って前記三次元環境内でもはや移動されないように、前記個別のオブジェクトを前記複数のオブジェクトから除去することと、を更に含む、請求項106から127のいずれか一項に記載の方法。
【請求項129】
前記複数のオブジェクトは、第3のオブジェクトを含み、
前記第1のオブジェクト及び前記第2のオブジェクトは、二次元オブジェクトであり、
前記第3のオブジェクトは、三次元オブジェクトであり、
前記第1の入力を検出している間に、
前記第1のオブジェクトの表現は、前記第2のオブジェクトの表現と平行に表示され、
前記第3のオブジェクトの前記表現の既定の表面は、前記第1及び第2のオブジェクトの前記表現に対して垂直に表示される、請求項106から128のいずれか一項に記載の方法。
【請求項130】
前記第1の入力を検出している間に、
前記第1のオブジェクトは、前記電子デバイスのユーザの視点から第1の距離に、かつ前記電子デバイスのユーザの視点に対して第1の相対的な配向で表示され、
前記第2のオブジェクトは、前記ユーザの前記視点から第2の距離に、前記ユーザの前記視点に対する前記第1の相対的な配向とは異なる第2の相対的な配向で表示される、請求項106から129のいずれか一項に記載の方法。
【請求項131】
前記第1の入力を検出している間に、前記複数のオブジェクトは、前記三次元環境内の1つ以上の他のオブジェクトに対するドロップターゲットとして動作する、請求項106から130のいずれか一項に記載の方法。
【請求項132】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、第1のオブジェクトと、前記第1のオブジェクトとは異なる第2のオブジェクトと、を含む複数のオブジェクトを含む三次元環境を表示し、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、前記第1の入力の終了が続く、第1の入力を検出し、
前記第1の入力を検出している間に、前記第1の入力に従って、前記三次元環境内の前記複数のオブジェクトの表現を一緒に前記第1のロケーションに移動させ、
前記第1の入力の前記終了を検出したことに応じて、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置する、電子デバイス。
【請求項133】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、第1のオブジェクトと、前記第1のオブジェクトとは異なる第2のオブジェクトと、を含む複数のオブジェクトを含む三次元環境を表示することと、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、前記第1の入力の終了が続く、第1の入力を検出することと、
前記第1の入力を検出している間に、前記第1の入力に従って、前記三次元環境内の前記複数のオブジェクトの表現を一緒に前記第1のロケーションに移動させることと、
前記第1の入力の前記終了を検出したことに応じて、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置することと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項134】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、第1のオブジェクトと、前記第1のオブジェクトとは異なる第2のオブジェクトと、を含む複数のオブジェクトを含む三次元環境を表示する手段と、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、前記第1の入力の終了が続く、第1の入力を検出する手段と、
前記第1の入力を検出している間に、前記第1の入力に従って、前記三次元環境内の前記複数のオブジェクトの表現を一緒に前記第1のロケーションに移動させる手段と、
前記第1の入力の前記終了を検出したことに応じて、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置する手段と、を備える、電子デバイス。
【請求項135】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、第1のオブジェクトと、前記第1のオブジェクトとは異なる第2のオブジェクトと、を含む複数のオブジェクトを含む三次元環境を表示する手段と、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、前記複数のオブジェクトを前記三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、前記第1の入力の終了が続く、第1の入力を検出する手段と、
前記第1の入力を検出している間に、前記第1の入力に従って、前記三次元環境内の前記複数のオブジェクトの表現を一緒に前記第1のロケーションに移動させる手段と、
前記第1の入力の前記終了を検出したことに応じて、前記第1のオブジェクト及び前記第2のオブジェクトを前記三次元環境内に別々に配置する手段と、を備える、情報処理装置。
【請求項136】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項106から131のいずれか一項に記載の方法を実行する、命令を含む、電子デバイス。
【請求項137】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項106から131のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項138】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項106から131のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項139】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項106から131のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項140】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して、第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示することと、
前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、個別の速度及び個別の方向で前記三次元環境内に前記第1のオブジェクトをスローする要求を含む、前記第1のオブジェクトに向けられた第1の入力を検出することと、
前記第1の入力を検出したことに応じて、
前記第1のオブジェクトをスローする前記要求が検出されたときに第2のオブジェクトが前記ユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させ、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第2のオブジェクト以外の個別のロケーションであって、前記個別のロケーションは、前記三次元環境内の前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて判定された前記三次元環境内の経路上にある、個別のロケーションに移動させることと、を含む、方法。
【請求項141】
前記第1の入力は、前記個別の速度及び前記個別の方向に対応する前記電子デバイスの前記ユーザの個別の部分の移動を含む、請求項140に記載の方法。
【請求項142】
前記第2のオブジェクトは、前記電子デバイスの前記ユーザの視線が前記第1の入力の間に前記第2のオブジェクトに向けられていることに基づいてターゲットにされる、請求項140又は141に記載の方法。
【請求項143】
前記第1のオブジェクトを前記第2のオブジェクトに移動させることは、前記第1の入力の前記個別の速度に基づく速度で前記第1のオブジェクトを前記第2のオブジェクトに移動させることを含む、請求項140から142のいずれか一項に記載の方法。
【請求項144】
前記第1のオブジェクトを前記第2のオブジェクトに移動させることは、第1の物理モデルに基づいて前記三次元環境内で前記第1のオブジェクトを移動させることを含み、
前記第1のオブジェクトを前記個別のロケーションに移動させることは、前記第1の物理モデルとは異なる第2の物理モデルに基づいて、前記三次元環境内で前記第1のオブジェクトを移動させることを含む、請求項140から143のいずれか一項に記載の方法。
【請求項145】
前記第1の物理モデルに基づいて前記第1のオブジェクトを移動させることは、前記第1の物理モデルによって設定された第1の最大速度に前記第1のオブジェクトの移動を制限することを含み、前記第2の物理モデルに基づいて前記第1のオブジェクトを移動させることは、前記第2の物理モデルによって設定された第2の最大速度に前記第1のオブジェクトの移動を制限することを含み、前記第2の最大速度は、前記第1の最大速度とは異なる、請求項144に記載の方法。
【請求項146】
前記第1の最大速度は、前記第2の最大速度よりも大きい、請求項145に記載の方法。
【請求項147】
前記第1の物理モデルに基づいて前記第1のオブジェクトを移動させることは、前記第1の物理モデルによって設定される第1の最小速度に前記第1のオブジェクトの移動を制限することを含み、前記第2の物理モデルに基づいて前記第1のオブジェクトを移動させることは、前記第2の物理モデルによって設定される第2の最小速度に前記第1のオブジェクトの移動を制限することを含み、前記第2の最小速度は、前記第1の最小速度とは異なる、請求項144から146のいずれか一項に記載の方法。
【請求項148】
前記第1の最小速度は、前記第1の入力がスローイング入力として識別されるための最小速度要件よりも大きく、
前記第2の最小速度は、前記第1の入力が前記スローイング入力として識別されるための前記最小速度要件に対応する、請求項147に記載の方法。
【請求項149】
前記第2のオブジェクトは、前記電子デバイスの前記ユーザの視線が前記第1の入力の間に前記第2のオブジェクトに向けられていること、かつ前記第1の入力の前記個別の方向が前記第2のオブジェクトに向けられていることに基づいてターゲットにされる、請求項140から148のいずれか一項に記載の方法。
【請求項150】
前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させることは、前記第1のオブジェクトが前記三次元環境を通って前記第2のオブジェクトに移動する第1のアニメーションを表示することを含み、
前記第1のオブジェクトを前記三次元環境内の前記個別のロケーションに移動させることは、前記第1のオブジェクトが前記三次元環境を通って前記個別のロケーションに移動する第2のアニメーションを表示することを含む、請求項140から149のいずれか一項に記載の方法。
【請求項151】
前記第1のオブジェクトが前記三次元環境内の空間を通って前記第2のオブジェクトまで移動する前記第1のアニメーションは、
前記第1のオブジェクトの前記第1のアニメーションが、前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて決定された前記三次元環境内の前記経路に沿った移動に対応する第1の部分と、
前記第1の部分に続く第2の部分であって、その間、前記第1のオブジェクトの前記第1のアニメーションが、前記第2のオブジェクトに向かう異なる経路に沿った移動に対応する、第2の部分と、を含む、請求項150に記載の方法。
【請求項152】
前記第1のオブジェクトが前記三次元環境内の空間を通って前記個別のロケーションに移動する前記第2のアニメーションは、前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて決定された前記三次元環境内の前記個別のロケーションへの前記経路に沿った移動に対応する前記第1のオブジェクトのアニメーションを含む、請求項150又は151に記載の方法。
【請求項153】
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったという判定に従って、前記第1の入力がスローイング入力として識別されるための最小速度要件は、第1の速度要件であり、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていたという判定に従って、前記第1の入力が前記スローイング入力として識別されるための前記最小速度要件は、前記第1の速度要件とは異なる第2の速度要件である、請求項140から152のいずれか一項に記載の方法。
【請求項154】
前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させることは、前記電子デバイスの前記ユーザの視線に基づいて決定された前記第2のオブジェクト内のロケーションに前記第1のオブジェクトを移動させることを含む、請求項140から153のいずれか一項に記載の方法。
【請求項155】
前記第2のオブジェクトが前記第1のオブジェクトの複数の異なる有効なロケーションを含むコンテンツ配置領域を含み、前記ユーザの前記視線が前記第2のオブジェクト内の前記コンテンツ配置領域に向けられているという判定に従って、
前記ユーザの前記視線が前記第1のオブジェクトに対する前記複数の異なる有効なロケーションのうちの第1の有効なロケーションに向けられているという判定に従って、前記ユーザの前記視線に基づいて判定された前記第2のオブジェクト内の前記ロケーションは、前記第1の有効なロケーションであり、
前記ユーザの前記視線が、前記第1のオブジェクトについての前記複数の異なる有効なロケーションのうちの、前記第1の有効なロケーションとは異なる第2の有効なロケーションに向けられているという判定に従って、前記ユーザの前記視線に基づいて決定された前記第2のオブジェクト内の前記ロケーションは、前記第2の有効なロケーションである、請求項154に記載の方法。
【請求項156】
前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させることは、
前記第2のオブジェクトが、前記第1のオブジェクトの有効なロケーションを含む入力フィールドを含むという判定に従って、前記第1のオブジェクトを前記入力フィールドに移動させることを含む、請求項140から155のいずれか一項に記載の方法。
【請求項157】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備える、電子デバイスであって、前記1つ以上のプログラムは前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、命令を含み、前記命令が、
表示生成構成要素を介して、第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示し、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、個別の速度及び個別の方向で前記三次元環境内に前記第1のオブジェクトをスローする要求を含む、前記第1のオブジェクトに向けられた第1の入力を検出し、
前記第1の入力を検出したことに応じて、
前記第1のオブジェクトをスローする前記要求が検出されたときに第2のオブジェクトが前記ユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させ、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第2のオブジェクト以外の個別のロケーションであって、前記個別のロケーションは、前記三次元環境内の前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて判定された前記三次元環境内の経路上にある、個別のロケーションに移動させる、電子デバイス。
【請求項158】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
表示生成構成要素を介して、第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示することと、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、個別の速度及び個別の方向で前記三次元環境内に前記第1のオブジェクトをスローする要求を含む、前記第1のオブジェクトに向けられた第1の入力を検出することと、
前記第1の入力を検出したことに応じて、
前記第1のオブジェクトをスローする前記要求が検出されたときに第2のオブジェクトが前記ユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させ、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第2のオブジェクト以外の個別のロケーションであって、前記個別のロケーションは、前記三次元環境内の前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて判定された前記三次元環境内の経路上にある、個別のロケーションに移動させることと、を含む方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項159】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
表示生成構成要素を介して、第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示する手段と、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、個別の速度及び個別の方向で前記三次元環境内に前記第1のオブジェクトをスローする要求を含む、前記第1のオブジェクトに向けられた第1の入力を検出する手段と、
前記第1の入力を検出したことに応じて、
前記第1のオブジェクトをスローする前記要求が検出されたときに第2のオブジェクトが前記ユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させ、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第2のオブジェクト以外の個別のロケーションであって、前記個別のロケーションは、前記三次元環境内の前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて判定された前記三次元環境内の経路上にある、個別のロケーションに移動させる手段と、を備える、電子デバイス。
【請求項160】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
表示生成構成要素を介して、第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示する手段と、
前記三次元環境を表示している間に、1つ以上の入力デバイスを介して、個別の速度及び個別の方向で前記三次元環境内に前記第1のオブジェクトをスローする要求を含む、前記第1のオブジェクトに向けられた第1の入力を検出する手段と、
前記第1の入力を検出したことに応じて、
前記第1のオブジェクトをスローする前記要求が検出されたときに第2のオブジェクトが前記ユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第1のオブジェクトを前記第2のオブジェクトに移動させ、
前記第1のオブジェクトをスローする前記要求が検出されたときに前記第2のオブジェクトが前記ユーザによって現在ターゲットにされていなかったため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記第1のオブジェクトを前記三次元環境内の前記第2のオブジェクト以外の個別のロケーションであって、前記個別のロケーションは、前記三次元環境内の前記第1のオブジェクトをスローする前記要求の前記個別の速度及び前記個別の方向に基づいて判定された前記三次元環境内の経路上にある、個別のロケーションに移動させる手段と、を備える、情報処理装置。
【請求項161】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項140から156のいずれか一項に記載の方法を実行する、命令を含む、電子デバイス。
【請求項162】
1つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項140から156のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項163】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
請求項140から156のいずれか一項に記載の方法を実行する手段と、を備える、電子デバイス。
【請求項164】
電子デバイスで使用するための情報処理装置であって、前記情報処理装置が、
請求項140から156のいずれか一項に記載の方法を実行する手段を備える、情報処理装置。
【請求項165】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項1から18のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年9月23日に出願された米国特許仮出願第63/261,556号の利益を主張し、その内容は、全ての目的のためにその全体が参照により本明細書に組み込まれる。
【0002】
本発明は、概して、表示生成構成要素と、三次元環境内のオブジェクトの移動を容易にする電子デバイスを含むがこれに限定されない、グラフィカルユーザインタフェースを提示する1つ以上の入力デバイスとを有するコンピュータシステムに関する。
【背景技術】
【0003】
拡張現実のためのコンピュータシステムの開発は、近年顕著に進んでいる。例示的な拡張現実環境は、物理的世界を置換又は強化する少なくともいくつかの仮想要素を含む。コンピュータシステム及び他の電子コンピューティングデバイス用のカメラ、コントローラ、ジョイスティック、タッチ感知面、及びタッチスクリーンディスプレイなどの入力デバイスが、仮想/拡張現実環境と相互作用するために使用される。例示的な仮想要素は、デジタル画像、ビデオ、テキスト、アイコン、並びにボタン及びその他のグラフィックなどの制御要素を含む仮想オブジェクトを含む。
【0004】
しかし、少なくともいくつかの仮想要素を含む環境(例えばアプリケーション、拡張現実環境、複合現実環境、及び仮想現実環境)と相互作用する方法及びインタフェースは、煩雑で、非効率で、限定されたものである。例えば、仮想オブジェクトに関連付けられたアクションを実行するのに不十分なフィードバックしか提供しないシステム、拡張現実環境において所望の結果を達成するために一連の入力を必要とするシステム、及び仮想オブジェクトの操作が複雑で、エラーを起こしやすいシステムは、ユーザに対して大きな認知負担を引き起こしし、仮想/拡張現実環境での体験を損なう。加えて、それらの方法は必要以上に時間がかかり、それによってエネルギを浪費する。この後者の考慮事項は、バッテリ動作式デバイスにおいて特に重要である。
【発明の概要】
【0005】
したがって、コンピュータシステムとの相互作用をユーザにとってより効率的かつ直感的にするコンピュータ生成体験をユーザに提供するための改善された方法及びインタフェースを有するコンピュータシステムが必要とされている。このような方法及びインタフェースは、ユーザにコンピュータ生成現実体験を提供する従来の方法を任意選択で補完又は置換することができる。このような方法及びインタフェースは、提供された入力とその入力に対するデバイス応答との間の接続をユーザが理解することを補助することにより、ユーザからの入力の数、程度及び/又は種類を低減し、それによって、より効率的なヒューマンマシンインタフェースを生成する。
【0006】
表示生成構成要素及び1つ以上の入力デバイスを有するコンピュータシステムのためのユーザインタフェースに関連する上記の欠陥及び他の問題は、開示されたシステムによって低減又は排除される。いくつかの実施形態では、コンピュータシステムは、関連付けられたディスプレイを備えたデスクトップコンピュータである。いくつかの実施形態では、コンピュータシステムは、ポータブルデバイスである(例えばノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイスである)。いくつかの実施形態では、コンピュータシステムは、パーソナル電子デバイス(例えば腕時計やヘッドマウントデバイスなどのウェアラブル電子デバイス)である。いくつかの実施形態では、コンピュータシステムは、タッチパッドを有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のカメラを有する。いくつかの実施形態では、コンピュータシステムは、タッチ感知ディスプレイ(「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる)を有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のアイトラッキング構成要素を有する。いくつかの実施形態では、コンピュータシステムは、1つ以上のハンドトラッキング構成要素を有する。いくつかの実施形態では、コンピュータシステムは、表示生成構成要素に加えて1つ以上の出力デバイスを有し、出力デバイスは、1つ以上の触知出力ジェネレータ及び1つ以上のオーディオ出力デバイスを含む。いくつかの実施形態では、コンピュータシステムは、グラフィカルユーザインタフェース(GUI)、1つ以上のプロセッサ、メモリ、及び複数の機能を実行するためのメモリに記憶された1つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは、タッチ感知面上のスタイラス及び/又は指の接触及びジェスチャ、カメラ及び他の移動センサによってキャプチャされたときのGUI又はユーザの身体に対する空間内のユーザの目及び手の移動、並びに1つ以上のオーディオ入力デバイスによってキャプチャされたときの音声入力を通じてGUIと相互作用する。いくつかの実施形態では、相互作用を通じて実行される機能は、任意選択的に、画像編集、描画、プレゼンティング、ワードプロセッシング、スプレッドシートの作成、ゲームプレイ、電話をかけること、ビデオ会議、電子メール送信、インスタントメッセージング、トレーニングサポート、デジタル写真撮影、デジタルビデオ撮影、ウェブブラウジング、デジタル音楽の再生、メモ取り、及び/又はデジタルビデオの再生を含む。それらの機能を実行する実行可能命令は任意選択で、非一時的コンピュータ可読記憶媒体又は1つ以上のプロセッサによって実行されるように構成された他のコンピュータプログラム製品に含まれる。
【0007】
三次元環境内のオブジェクトと相互作用するための改善された方法及びインタフェースを備えた電子デバイスが必要とされている。そのような方法及びインタフェースは、三次元環境内のオブジェクトと相互作用するための従来の方法を補完又は置換することができる。そのような方法及びインタフェースは、ユーザからの入力の数、程度、及び/又は種類を削減し、より効率的なヒューマンマシンインタフェースを生成する。
【0008】
いくつかの実施形態では、電子デバイスは、三次元環境内でオブジェクトを移動させるために、かかる移動の方向に基づいて異なるアルゴリズムを使用する。いくつかの実施形態では、電子デバイスは、そのオブジェクトとユーザの視点との間の距離が変化するにつれて、三次元環境内のオブジェクトのサイズを修正する。いくつかの実施形態では、電子デバイスは、オブジェクトが三次元環境内の別のオブジェクトと接触するとき、そのオブジェクトの移動に選択的に抵抗する。いくつかの実施形態では、電子デバイスは、他のオブジェクトがそのオブジェクトの有効なドロップターゲットであるかどうかに基づいて、オブジェクトを三次元環境内の別のオブジェクトに選択的に追加する。いくつかの実施形態では、電子デバイスは、三次元環境内で同時に複数のオブジェクトの移動を容易にする。いくつかの実施形態では、電子デバイスは、三次元環境内のオブジェクトのスローイングを容易にする。
【0009】
前述の様々な実施形態は、本明細書に記載の任意の他の実施形態と組み合わせることができることに留意されたい。本明細書で説明する特徴及び利点は、包括的なものではなく、特に、図面、明細書及び特許請求の範囲を鑑みると、多くの追加の特徴及び利点が当業者には明らかになるであろう。更に、本明細書において使用される文言は、専ら読みやすさ及び説明の目的で選択されたものであり、本発明の主題を画定又は制限するために選択されたものではないことに留意されたい。
【図面の簡単な説明】
【0010】
説明される様々な実施形態をより良く理解するため、以下の図面と併せて、以下の「発明を実施するための形態」が参照されるべきであり、類似の参照番号は、以下の図の全てを通じて、対応する部分を指す。
【0011】
図1】いくつかの実施形態による、CGR体験を提供するためのコンピュータシステムの動作環境を示すブロック図である。
【0012】
図2】いくつかの実施形態による、ユーザのCGR体験を管理及び調整するように構成されたコンピュータシステムのコントローラを示すブロック図である。
【0013】
図3】いくつかの実施形態による、CGR体験の視覚的構成要素をユーザに提供するように構成されたコンピュータシステムの表示生成構成要素を示すブロック図である。
【0014】
図4】いくつかの実施形態による、ユーザのジェスチャ入力をキャプチャするように構成されたコンピュータシステムのハンドトラッキングユニットを示すブロック図である。
【0015】
図5】いくつかの実施形態による、ユーザの視線入力をキャプチャするように構成されたコンピュータシステムのアイトラッキングユニットを示すブロック図である。
【0016】
図6A】いくつかの実施形態による、グリント支援視線トラッキングパイプラインを示すフローチャートである。
【0017】
図6B】いくつかの実施形態による、CGR体験を提供するための電子デバイスの例示的な環境を示す。
【0018】
図7A】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
図7B】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
図7C】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
図7D】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
図7E】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
【0019】
図8A】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8B】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8C】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8D】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8E】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8F】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8G】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8H】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8I】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8J】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
図8K】いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する方法を示すフローチャートである。
【0020】
図9A】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
図9B】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
図9C】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
図9D】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
図9E】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
【0021】
図10A】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10B】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10C】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10D】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10E】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10F】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10G】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10H】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
図10I】いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)方法を示すフローチャートである。
【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】いくつかの実施形態による、それぞれのオブジェクトを三次元環境内のオブジェクトに選択的に追加する方法を示すフローチャートである。
図14H】いくつかの実施形態による、それぞれのオブジェクトを三次元環境内のオブジェクトに選択的に追加する方法を示すフローチャートである。
【0026】
図15A】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする電子デバイスの例を示す。
図15B】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする電子デバイスの例を示す。
図15C】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする電子デバイスの例を示す。
図15D】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする電子デバイスの例を示す。
【0027】
図16A】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16B】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16C】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16D】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16E】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16F】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16G】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16H】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16I】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
図16J】いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする方法を示すフローチャートである。
【0028】
図17A】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする電子デバイスの例を示す。
図17B】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする電子デバイスの例を示す。
図17C】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする電子デバイスの例を示す。
図17D】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする電子デバイスの例を示す。
【0029】
図18A】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
図18B】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
図18C】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
図18D】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
図18E】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
図18F】いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法を示すフローチャートである。
【発明を実施するための形態】
【0030】
本開示は、いくつかの実施形態による、コンピュータ生成現実(CGR)体験をユーザに提供するユーザインタフェースに関する。
【0031】
本明細書に記載されるシステム、方法、かつGUIは、電子デバイスが三次元環境内のオブジェクトとの相互作用を容易にし、オブジェクトを操作するための改善された方法を提供する。
【0032】
いくつかの実施形態では、コンピュータシステムは、三次元環境において仮想環境を表示する。いくつかの実施形態では、仮想環境は、(例えば、任意選択的に、デバイスの周囲の現実世界環境を模擬する)三次元環境の幾何学的形状(例えば、サイズ及び/又は形状)に基づいて、遠距離場プロセス又は近距離場プロセスを介して表示される。いくつかの実施形態では、遠距離場プロセスは、ユーザの視点から最も遠いロケーションから仮想環境を導入することと、(例えば、環境内のオブジェクトのロケーション、ポジション、距離などについての情報を使用して)ユーザの視点に向かって仮想環境を徐々に拡張することと、を含む。いくつかの実施形態では、近距離場プロセスは、環境内のオブジェクトの距離及び/又はポジションを考慮せずに、ユーザの視点から最も遠いロケーションから仮想環境を導入し、初期ロケーションから外向きに拡張すること(例えば、表示生成構成要素に対して仮想環境のサイズを拡張すること)を含む。
【0033】
いくつかの実施形態では、コンピュータシステムは、三次元環境内に仮想環境及び/又は雰囲気効果を表示する。いくつかの実施形態では、雰囲気効果を表示することは、三次元環境において1つ以上の照明効果及び/又は粒子効果を表示することを含む。いくつかの実施形態では、デバイスの移動を検出したことに応じて、仮想環境の一部が非強調表示されるが、任意選択的に、雰囲気効果は低減されない。いくつかの実施形態では、ユーザの身体の回転を検出したことに応じて(例えば、デバイスの回転と同時に)、仮想環境は、任意選択的にユーザの身体と位置合わせされた、三次元環境内の新しいロケーションに移動される。
【0034】
いくつかの実施形態では、コンピュータシステムは、アプリケーションのユーザインタフェースと同時に仮想環境を表示する。いくつかの実施形態では、アプリケーションのユーザインタフェースは、仮想環境内に移動され、仮想環境内に存在する仮想オブジェクトとして扱うことができる。いくつかの実施形態では、ユーザインタフェースは、仮想環境内に移動されたときのユーザインタフェースの距離に基づいて、仮想環境内に移動されたときに自動的にサイズ変更される。いくつかの実施形態では、仮想環境及びユーザインタフェースの両方を表示している間に、ユーザは、ユーザインタフェースが没入感型環境として表示されることを要求することができる。いくつかの実施形態では、ユーザインタフェースを没入感型環境として表示する要求に応じて、以前に表示された仮想環境は、ユーザインタフェースの没入感型環境と置き換えられる。
【0035】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、第1の方向における移動入力を検出したことに応じて、コンピュータシステムは、第1の移動アルゴリズムを使用して仮想オブジェクトを第1の出力方向に移動させる。いくつかの実施形態では、第2の異なる方向における移動入力を検出したことに応じて、コンピュータシステムは、第2の異なる移動アルゴリズムを使用して仮想オブジェクトを第2の出力方向に移動させる。いくつかの実施形態では、移動中、第1のオブジェクトが第2のオブジェクトに近接して移動すると、第1のオブジェクトは第2のオブジェクトに位置合わせされるようになる。
【0036】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、オブジェクトに向けられた移動入力を検出したことに応じて、コンピュータシステムは、オブジェクトがユーザの視点に向かって、又はユーザの視点から離れて移動された場合、オブジェクトをサイズ変更する。いくつかの実施形態では、ユーザの視点の移動を検出したことに応じて、コンピュータシステムは、視点とオブジェクトとの間の距離が変化しても、オブジェクトをサイズ変更しない。
【0037】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、別の仮想オブジェクトを包含する個別の方向への個別の仮想オブジェクトの移動に応じて、個別の仮想オブジェクトが他の仮想オブジェクトと接触するとき、個別の仮想オブジェクトの移動が抵抗される。いくつかの実施形態では、個別の仮想オブジェクトの移動は、他の仮想オブジェクトが個別の仮想オブジェクトの有効なドロップターゲットであるため、抵抗される。いくつかの実施形態では、他の仮想オブジェクトを通る個別の仮想オブジェクトの移動が個別の大きさ閾値を超えるとき、個別の仮想オブジェクトは、個別の方向に他の仮想オブジェクトを通って移動される。
【0038】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、個別の仮想オブジェクトに対する有効なドロップターゲットである別の仮想オブジェクトへの個別の仮想オブジェクトの移動に応じて、個別のオブジェクトは、他の仮想オブジェクトに追加される。いくつかの実施形態では、個別の仮想オブジェクトの無効なドロップターゲットである別の仮想オブジェクトへの個別の仮想オブジェクトの移動に応じて、個別の仮想オブジェクトは、他の仮想オブジェクトに追加されず、個別の仮想オブジェクトが最初に移動された個別のロケーションに戻される。いくつかの実施形態では、仮想環境内の空き空間内の個別のロケーションへの個別の仮想オブジェクトの移動に応じて、個別の仮想オブジェクトは、空き空間内の個別のロケーションにおいて新たに生成された仮想オブジェクトに追加される。
【0039】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、複数のオブジェクトに向けられた移動入力に応じて、コンピュータシステムは、三次元環境内で複数のオブジェクトを一緒に移動させる。いくつかの実施形態では、移動入力の終了を検出したことに応じて、コンピュータシステムは、複数のオブジェクトのうちのオブジェクトを三次元環境内に別々に配置する。いくつかの実施形態では、複数のオブジェクトは、移動されている間、スタック配置で配置される。
【0040】
いくつかの実施形態では、コンピュータシステムは、1つ以上の仮想オブジェクトを有する三次元環境を表示する。いくつかの実施形態では、スローイング入力に応じて、コンピュータシステムは、第2のオブジェクトがスローイング入力の一部としてターゲットにされた場合、第1のオブジェクトを第2のオブジェクトに移動させる。いくつかの実施形態では、第2のオブジェクトがスローイング入力の一部としてターゲットにされなかった場合、コンピュータシステムは、スローイング入力の速度及び/又は方向に従って三次元環境内で第1のオブジェクトを移動させる。いくつかの実施形態では、第2のオブジェクトをターゲットにすることは、ユーザの視線及び/又はスローイング入力の方向に基づく。
【0041】
後述のプロセスは、改善された視覚的フィードバックをユーザに提供すること、操作を実行するために必要な入力の数を減らすこと、表示される追加のコントロールでユーザインタフェースを雑然とさせることなく追加の制御オプションを提供すること、条件のセットが満たされたときに更なるユーザ入力を必要とせずに操作を実行すること、プライバシー及び/又はセキュリティを改善すること及び/又は、他の技術を含む、様々な技術により、(例えば、ユーザがデバイスを操作/対話する際に適切な入力を行うのを助け、ユーザの誤りを減らすことによって)デバイスの操作性を高め、ユーザとデバイスのインタフェースを効率化するものである。これらの技術はまた、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、デバイスのバッテリ寿命を改善する。
【0042】
図1図6は、(方法800、1000、1200、1400、及び1600、及び/又は1800に関して以下で説明されるような)CGR体験をユーザに提供するための例示的なコンピュータシステムの説明を提供する。いくつかの実施形態では、図1に示されるように、CGR体験は、コンピュータシステム101を含む動作環境100を介してユーザに提供される。コンピュータシステム101は、コントローラ110(例えば、ポータブル電子デバイス又はリモートサーバのプロセッサ)と、表示生成構成要素120(例えば、ヘッドマウントデバイス(HMD)、ディスプレイ、プロジェクタ、タッチスクリーンなど)と、1つ以上の入力デバイス125(例えば、アイトラッキングデバイス130、ハンドトラッキングデバイス140、他の入力デバイス150)と、1つ以上の出力デバイス155(例えば、スピーカ160、触知出力ジェネレータ170、及び他の出力デバイス180)と、1つ以上のセンサ190(例えば、画像センサ、光センサ、深度センサ、触覚センサ、配向センサ、近接センサ、温度センサ、ロケーションセンサ、運動センサ、速度センサなど)と、任意選択的に1つ以上の周辺デバイス195(例えば、家電製品、ウェアラブルデバイスなど)と、を含む。いくつかの実施形態では、入力デバイス125、出力デバイス155、センサ190、及び周辺デバイス195のうちの1つ以上は、(例えば、ヘッドマウントデバイス又はハンドヘルドデバイス内で)表示生成構成要素120と統合される。
【0043】
CGR体験を説明するとき、ユーザが感知する、及び/又は(例えば、CGR体験を生成するコンピュータシステムに、CGR体験を生成するコンピュータシステム101に提供される様々な入力に対応するオーディオ、視覚、及び/又は触覚フィードバックを生成させる、コンピュータシステム101によって検出された入力を用いて)ユーザが相互作用することができる、いくつかの関連するが、別個の環境に個別的に言及するために様々な用語が使用される。以下は、これらの用語のサブセットである。
【0044】
物理的環境:物理的環境とは、人々が電子システムの助けなしに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び嗅覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
【0045】
コンピュータ生成現実(又はエクステンデッドリアリティ(XR)):対照的に、コンピュータ生成現実(CGR)環境は、人々が電子システムを介して感知及び/又は相互作用する、全体的又は部分的に模倣環境を指す。CGRでは、人物の身体運動のサブセット又はその表現が追跡され、それに応じて、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調節される。例えば、CGRシステムは、人物の頭部の回転を検出し、それに応じて、そのようなビュー及び音が物理的環境においてどのように変化するかと同様の方法で、人物に提示されるグラフィックコンテンツ及び音場を調節することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調節は、身体運動の表現(例えば、音声コマンド)に応じて行われてもよい。人物は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知し、かつ/又はCGRオブジェクトと相互作用してもよい。例えば、人物は、3D空間において点音源の知覚を提供する、3D又は空間的広がりを有するオーディオ環境を作り出すオーディオオブジェクトを感知し、かつ/又はそれと相互作用することができる。別の例では、オーディオオブジェクトによって、コンピュータ生成オーディオを含めて、又は含めずに、物理的環境から周囲音を選択的に組み込むオーディオ透過性が可能になり得る。いくつかのCGR環境では、人物は、オーディオオブジェクトのみを感知し、かつ/又はそれと相互作用してもよい。
【0046】
CGRの例としては、仮想現実及び複合現実が挙げられる。
【0047】
仮想現実:仮想現実(VR)環境とは、1つ以上の感覚について、コンピュータ生成感覚入力に全面的に基づくように設計された模倣環境を指す。VR環境は、人物が感知かつ/又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人物は、コンピュータ生成環境内に人物が存在することのシミュレーションを通じて、かつ/又はコンピュータ生成環境内での人物の物理的移動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、かつ/又はそれと相互作用することができる。
【0048】
複合現実:複合現実(MR)環境とは、コンピュータ生成感覚入力に全面的に基づくように設計されたVR環境とは対照的に、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計された模倣環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。いくつかのMR環境では、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変化に応じ得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(すなわち、物理的環境からの物理的物品又はその表現)と相互作用することを可能にするために、物理的環境に対するロケーション及び/又は配向を追跡してもよい。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、移動を考慮することができる。
【0049】
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
【0050】
拡張現実:拡張現実(AR)環境とは、1つ以上の仮想オブジェクトが物理的環境上又はその表現上に重ね合わされた模倣環境を指す。例えば、AR環境を提示するための電子システムは、人物が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイに仮想オブジェクトを提示するように構成されていてもよく、それによって、人物はシステムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを知覚する。代替的に、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする1つ以上の撮像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明ディスプレイ上に提示する。人物はこのシステムを使用して、物理的環境を、物理的環境の画像又はビデオによって間接的に見て、物理的環境に重ね合わされた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムが仮想オブジェクトを、例えば、ホログラムとして物理的環境の中に、又は物理的表面に投影するプロジェクションシステムを有してもよく、それによって、人物はシステムを使用して、物理的環境に重ね合わされた仮想オブジェクトを知覚する。拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換される模倣環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を、撮像センサがキャプチャした透視図とは別の選択された透視図(例えば、視点)を面付けするように変形してもよい。別の例として、物理的環境の表現を、その一部をグラフィカルに修正(例えば、拡大)することによって変形してもよく、それにより、修正された部分を、元のキャプチャ画像を表すが非写実的な、改変版にすることもできる。更なる例として、物理的環境の表現は、その一部をグラフィカルに除去又は不明瞭化することによって変形されてもよい。
【0051】
拡張仮想:拡張仮想(AV)環境とは、仮想環境又はコンピュータ生成環境が物理的環境から1つ以上の感覚入力を組み込んだ模倣環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVの公園には仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の撮像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽のポジションと一致する影を採用することができる。
【0052】
視点ロック仮想オブジェクト:ユーザの視点がシフト(例えば、変化)しても、コンピュータシステムが仮想オブジェクトをユーザの視点内の同じロケーション及び/又はポジションに表示するとき、仮想オブジェクトは視点ロックされる。コンピュータシステムがヘッドマウントデバイスである実施形態では、ユーザの視点は、ユーザの頭部の前向き方向にロックされる(例えば、ユーザの視点は、ユーザが真っ直ぐ前を見ているときのユーザの視野の少なくとも一部分である)。したがって、ユーザの視点は、ユーザの頭部を動かさずに、ユーザの視線が動いても固定されたままである。コンピュータシステムが、ユーザの頭部に対して再配置され得る表示生成構成要素(例えば、表示画面)を有する実施形態では、ユーザの視点は、コンピュータシステムの表示生成構成要素上でユーザに提示されている拡張現実ビューである。例えば、ユーザの視点が第1の配向にある(例えば、ユーザの頭部が北を向いている)ときにユーザの視点の左上隅に表示される視点ロック仮想オブジェクトは、ユーザの視点が第2の配向に変化しても(例えば、ユーザの頭部が西を向いている)、ユーザの視点の左上隅に表示され続ける。言い換えれば、視点ロック仮想オブジェクトがユーザの視点において表示されるロケーション及び/又はポジションは、物理的環境におけるユーザのポジション及び/又は配向とは無関係である。コンピュータシステムがヘッドマウントデバイスである実施形態では、ユーザの視点は、仮想オブジェクトが「頭部ロック仮想オブジェクト」とも称されるように、ユーザの頭部の配向にロックされる。
【0053】
環境ロック仮想オブジェクト:仮想オブジェクトは、コンピュータシステムが、三次元環境(例えば、物理的環境又は仮想環境)内のロケーション及び/又はオブジェクトに基づく(例えば、それを参照して選択される、及び/又はそれに固定される)ユーザの視点内のロケーション及び/又はポジションに仮想オブジェクトを表示するとき、環境ロック(代替的に「世界ロック」)される。ユーザの視点がシフトすると、ユーザの視点に対する環境内のロケーション及び/又はオブジェクトが変化し、その結果、環境ロック仮想オブジェクトがユーザの視点内の異なるロケーション及び/又はポジションに表示される。例えば、ユーザの直前にある木にロックされた環境ロック仮想オブジェクトは、ユーザの視点の中心に表示される。ユーザの視点が右にシフトして(例えば、ユーザの頭部が右に向けられて)木がユーザの視点において左寄りになる(例えば、ユーザの視点における木のポジションがシフトする)場合、木にロックされた環境ロック仮想オブジェクトは、ユーザの視点において左寄りに表示される。言い換えれば、環境ロック仮想オブジェクトがユーザの視点において表示されるロケーション及び/又はポジションは、仮想オブジェクトがロックされる環境におけるロケーション及び/又はオブジェクトのポジション及び/又は配向に依存する。いくつかの実施形態では、コンピュータシステムは、ユーザの視点において環境ロック仮想オブジェクトを表示するポジションを決定するために、静止基準フレーム(例えば、物理的環境における固定ロケーション及び/又はオブジェクトに固定される座標系)を使用する。環境ロック仮想オブジェクトは、環境の静止部分(例えば、床、壁、テーブル、又は他の静止オブジェクト)にロックされることができ、又は環境の可動部分(例えば、車両、動物、人、又はユーザの手、手首、腕、足など、ユーザの視点とは無関係に移動するユーザの身体の部分の表現)にロックされることができ、それにより、仮想オブジェクトは、仮想オブジェクトと環境の部分との間の固定された関係を維持するために、視点又は環境の部分が移動するにつれて移動する。
【0054】
いくつかの実施形態では、環境ロック又は視点ロックされた仮想オブジェクトは、仮想オブジェクトが追従している基準点の移動に対して、環境ロック又は視点ロックされた仮想オブジェクトの動きを低減又は遅延させる遅延追従挙動を示す。いくつかの実施形態では、遅延追従挙動を示すとき、コンピュータシステムは、仮想オブジェクトが追従している基準点(例えば、環境の一部、視点、又は視点から5~300cmの間にある点等の視点に対して固定された点)の移動を検出すると、仮想オブジェクトの移動を意図的に遅延させる。例えば、基準点(例えば、環境の一部又は視点)が第1の速度で移動するとき、仮想オブジェクトは、基準点にロックされたままであるようにデバイスによって移動されるが、第1の速度よりも遅い第2の速度で移動する(例えば、基準点が移動を停止又は減速するまで、その時点で仮想オブジェクトが基準点に追いつき始める)。いくつかの実施形態では、仮想オブジェクトが遅延追従挙動を示すとき、デバイスは、基準点の少量の移動を無視する(例えば、0~5度の移動又は0~50cmの移動など、閾値移動量未満である基準点の移動を無視する)。例えば、基準点(例えば、仮想オブジェクトがロックされる環境の部分又は視点)が第1の量だけ移動するとき、基準点と仮想オブジェクトとの間の距離は増加し(例えば、仮想オブジェクトがロックされる基準点とは異なる視点又は環境の部分に対して固定又は実質的に固定されたポジションを維持するように仮想オブジェクトが表示されているので)、基準点(例えば、仮想オブジェクトがロックされる環境の部分又は視点)が第1の量よりも大きい第2の量だけ移動するとき、基準点と仮想オブジェクトとの間の距離は最初に増加し(例えば、仮想オブジェクトがロックされる基準点とは異なる視点又は環境の部分に対して固定又は実質的に固定されたポジションを維持するように仮想オブジェクトが表示されているので)、次いで、仮想オブジェクトが基準点に対して固定又は実質的に固定されたポジションを維持するようにコンピュータシステムによって移動されるので、基準点の移動量が閾値(例えば、「遅延追従」閾値)を超えて増加するにつれて減少する。いくつかの実施形態では、基準点に対して実質的に固定されたポジションを維持する仮想オブジェクトは、1つ以上の次元(例えば、基準点のポジションに対して上/下、左/右、及び/又は前/後)において基準点の閾値距離(例えば、1、2、3、5、15、20、又は50cm)内に表示されている仮想オブジェクトを含む。
【0055】
ハードウェア:人物が様々なCGR環境を感知し、及び/又はそれと相互作用することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(heads-up displays、HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人物の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、装着型コントローラ又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。代替的に、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受容するように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境のオーディオをキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人物の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィカル画像を人物の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、仮想オブジェクトを、例えば、ホログラムとして、又は物理的表面として物理的環境に投影するように構成されてもよい。いくつかの実施形態では、コントローラ110は、ユーザのCGR体験を管理及び調整するように構成される。いくつかの実施形態では、コントローラ110は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。コントローラ110については、図2を参照して以下により詳細に説明する。いくつかの実施形態では、コントローラ110は、シーン105(例えば、物理的環境)に対してローカル又はリモートであるコンピューティングデバイスである。例えば、コントローラ110は、シーン105内に位置するローカルサーバである。別の例では、コントローラ110は、シーン105の外側に位置するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実施形態では、コントローラ110は、1つ以上の有線又は無線通信チャネル144(例えば、BLUETOOTH(登録商標)、IEEE802.11x、IEEE802.16x、IEEE802.3xなど)を介して、表示生成構成要素120(例えば、HMD、ディスプレイ、プロジェクタ、タッチスクリーンなど)と通信可能に結合される。別の例では、コントローラ110は、表示生成構成要素120(例えば、HMD、又はディスプレイ及び1つ以上のプロセッサなどを含むポータブル電子デバイス)、入力デバイス125のうちの1つ以上、出力デバイス155のうちの1つ以上、センサ190のうちの1つ以上、及び/又は周辺デバイス195のうちの1つ以上の筐体(例えば、物理的ハウジング)内に含まれる、又は上記のうちの1つ以上と同じ物理的筐体又は支持構造を共有する。
【0056】
いくつかの実施形態では、表示生成構成要素120は、CGR体験(例えば、CGR体験の少なくとも視覚的構成要素)をユーザに提供するように構成される。いくつかの実施形態では、表示生成構成要素120は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。表示生成構成要素120について、図3を参照して以下により詳細に説明する。いくつかの実施形態では、コントローラ110の機能は、表示生成構成要素120によって提供される、及び/又は表示生成構成要素120と組み合わされる。
【0057】
いくつかの実施形態によれば、表示生成構成要素120は、ユーザがシーン105内に仮想的及び/又は物理的に存在している間に、CGR体験をユーザに提供する。
【0058】
いくつかの実施形態では、表示生成構成要素は、ユーザの身体の一部(例えば、自身の頭部や自身の手など)に装着される。したがって、表示生成構成要素120は、CGRコンテンツを表示するために提供された1つ以上のCGRディスプレイを含む。例えば、様々な実施形態では、表示生成構成要素120は、ユーザの視野を包囲する。いくつかの実施形態では、表示生成構成要素120は、CGRコンテンツを提示するように構成されたハンドヘルドデバイス(スマートフォン又はタブレットなど)であり、ユーザは、ユーザの視野に向けられるディスプレイ及びシーン105に向けられるカメラを備えたデバイスを保持する。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの頭部に装着された筐体内に配置される。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの前の支持体(例えば、三脚)上に配置される。いくつかの実施形態では、表示生成構成要素120は、ユーザが表示生成構成要素120を着用又は保持しない状態でCGRコンテンツを提示するように構成されたCGRチャンバ、筐体、又は部屋である。CGRコンテンツ(例えば、ハンドヘルドデバイス又は三脚上のデバイス)を表示するための1つのタイプのハードウェアを参照して説明される多くのユーザインタフェースは、CGRコンテンツ(例えば、HMD又は他のウェアラブルコンピューティングデバイス)を表示するための別のタイプのハードウェア上に実施され得る。例えば、ハンドヘルド又は三脚搭載デバイスの前の空間内で起こる相互作用に基づいてトリガされるCGRコンテンツとの相互作用を示すユーザインタフェースは、相互作用がHMDの前の空間で発生し、CGRコンテンツの応答がHMDを介して表示されるHMDと同様に実施され得る。同様に、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するハンドヘルド又は三脚搭載デバイスの移動に基づいてトリガされたCRGコンテンツとの相互作用を示すユーザインタフェースは、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するHMDの移動によって移動が引き起こされるHMDと同様に実施され得る。
【0059】
動作環境100の関連する特徴が図1に示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないように、簡潔化のための様々な他の特徴が示されていないことを、本開示から理解されよう。
【0060】
図2は、いくつかの実施形態による、コントローラ110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実施形態では、コントローラ110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)、THUNDERBOLT(登録商標)、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH、ZIGBEE(登録商標)、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス204を含む。
【0061】
いくつかの実施形態では、1つ以上の通信バス204は、システム構成要素を相互接続し、システム構成要素間の通信を制御する、回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
【0062】
メモリ220は、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)、スタティックランダムアクセスメモリ(static random-access memory、SRAM)、ダブルデータレートランダムアクセスメモリ(double-data-rate random-access memory、DDRRAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ220は、1つ以上の磁気記憶デバイス、光学記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性固体記憶デバイスなどの非揮発性メモリを含む。メモリ220は、任意選択的に、1つ以上の処理ユニット202から遠隔に位置する1つ以上の記憶デバイスを含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ220、又はメモリ220の非一時的コンピュータ可読記憶媒体は、任意選択的なオペレーティングシステム230及びCGR体験モジュール240を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
【0063】
オペレーティングシステム230は、様々な基本システムサービスを処理し、ハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、CGR体験モジュール240は、1人以上のユーザに対する1つ以上のCGR体験(例えば、1人以上のユーザに対する単一のCGR体験、又は1人以上のユーザのそれぞれのグループに対する複数のCGR体験)を管理及び調整するように構成されている。そのために、様々な実施形態では、CGR体験モジュール240は、データ取得ユニット242と、トラッキングユニット244と、調整ユニット246と、データ送信ユニット248とを含む。
【0064】
いくつかの実施形態では、データ取得ユニット242は、少なくとも図1の表示生成構成要素120、並びに任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上からデータ(例えば、提示データ、相互作用データ、センサデータ、ロケーションデータなど)を取得するように構成される。そのために、様々な実施形態では、データ取得ユニット242は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0065】
いくつかの実施形態では、トラッキングユニット244は、シーン105をマッピングし、図1のシーン105に対して、かつ任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に対して、少なくとも表示生成構成要素120のポジション/ロケーションを追跡するように構成される。そのために、様々な実施形態では、トラッキングユニット244は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実施形態では、トラッキングユニット244は、ハンドトラッキングユニット243及び/又はアイトラッキングユニット245を含む。いくつかの実施形態では、ハンドトラッキングユニット243は、図1のシーン105に対する、表示生成構成要素120に対する、かつ/又はユーザの手に対して定義された座標系に対する、ユーザの手の1つ以上の部分のポジション/ロケーション、及び/又はユーザの手の1つ以上の部分の運動を追跡するように構成される。ハンドトラッキングユニット243は、図4に関して以下でより詳細に説明される。いくつかの実施形態では、アイトラッキングユニット245は、シーン105に対する(例えば、物理的環境及び/又はユーザ(例えば、ユーザの手)に対する)、又は表示生成構成要素120を介して表示されたCGRコンテンツに対する、ユーザの視線(又は、より広範にはユーザの目、顔、又は頭部)のポジション及び移動を追跡するように構成される。アイトラッキングユニット245は、図5に関して以下でより詳細に説明される。
【0066】
いくつかの実施形態では、調整ユニット246は、表示生成構成要素120によって、並びに任意選択的に、出力デバイス155及び/又は周辺デバイス195のうちの1つ以上によって、ユーザに提示されるCGR体験を管理及び調整するように構成される。その目的で、様々な実施形態において、調整ユニット246は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0067】
いくつかの実施形態では、データ送信ユニット248は、データ(例えば、提示データ、ロケーションデータなど)を少なくとも表示生成構成要素120、並びに任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に送信するように構成される。そのために、様々な実施形態では、データ送信ユニット248は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0068】
データ取得ユニット242、トラッキングユニット244(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248が、単一のデバイス(例えば、コントローラ110)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット242、トラッキングユニット244(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
【0069】
更に、図2は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図2に別々に示されるいくつかの機能モジュールは、単一のモジュールにおいて実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態において1つ以上の機能ブロックによって実現することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0070】
図3は、いくつかの実施形態による、表示生成構成要素120の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実施形態では、HMD120には、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)デバイス及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のCGRディスプレイ312、1つ以上の任意選択の内向き及び/又は外向き画像センサ314、メモリ320、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス304、が含まれる。
【0071】
いくつかの実施形態では、1つ以上の通信バス304は、システム構成要素間の通信を相互接続及び制御する回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定装置(IMU)、加速度計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などのうちの少なくとも1つを含む。
【0072】
いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ユーザにCGR体験を提供するように構成される。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、液晶オンシリコン(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放射素子ディスプレイ(SED)、電界放射ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、MEMS、及び/又は同様のディスプレイタイプに相当する。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。例えば、HMD120は、単一のCGRディスプレイを含む。別の実施例では、HMD120は、ユーザの各目用のCGRディスプレイを含む。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。
【0073】
いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの目を含むユーザの顔の少なくとも一部分に対応する画像データを取得するように構成される(及び、アイトラッキングカメラと称する場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの手(単数又は複数)及び任意選択的にユーザの腕(単数又は複数)の少なくとも一部分に対応する画像データを取得するように構成される(及び、ハンドトラッキングカメラと称される場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、HMD120が存在しない場合に、ユーザが視認するであろうシーンに対応する画像データを取得するように前方を向くように構成される(及び、シーンカメラと称される場合がある)。1つ以上の任意選択的な画像センサ314は、(例えば、相補型金属酸化膜半導体(CMOS)画像センサ若しくは電荷結合デバイス(CCD)画像センサを備えた)1つ以上のRGBカメラ、1つ以上の赤外線(IR)カメラ、1つ以上のイベントベースのカメラ、及び/又は同様のもの、を含むことができる。
【0074】
メモリ320は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302から遠隔に位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及びCGR提示モジュール340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
【0075】
オペレーティングシステム330は、様々な基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、CGR提示モジュール340は、1つ以上のCGRディスプレイ312を介してCGRコンテンツをユーザに提示するように構成される。その目的で、様々な実施形態では、CGR提示モジュール340は、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348を含む。
【0076】
いくつかの実施形態では、データ取得ユニット342は、少なくとも図1のコントローラ110からデータ(例えば、提示データ、相互作用データ、センサデータ、ロケーションデータなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット342は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0077】
いくつかの実施形態では、CGR提示ユニット344は、1つ以上のCGRディスプレイ312を介してCGRコンテンツを提示するように構成される。その目的で、様々な実施形態では、CGR提示ユニット344は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0078】
いくつかの実施形態では、CGRマップ生成ユニット346は、メディアコンテンツデータに基づいて、CGRマップ(例えば、複合現実シーンの3Dマップ又はコンピュータ生成オブジェクトを配置することができる物理的環境のマップ)を生成するように構成される。その目的で、様々な実施形態では、CGRマップ生成ユニット346は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0079】
いくつかの実施形態では、データ送信ユニット348は、少なくともコントローラ110、及び任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上にデータ(例えば、提示データ、ロケーションデータなど)を伝送するように構成される。その目的で、様々な実施形態では、データ送信ユニット348は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0080】
データ取得ユニット342は、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348は、単一のデバイス(例えば、図1の表示生成構成要素120)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
【0081】
更に、図3は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実装形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図3に別々に示すいくつかの機能モジュールは、単一のモジュール内に実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態では1つ以上の機能ブロックによって実行することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0082】
図4は、ハンドトラッキングデバイス140の例示的な実施形態の概略図である。いくつかの実施形態では、ハンドトラッキングデバイス140(図1)は、図1のシーン105に対する(例えば、ユーザを囲む物理的環境の一部に対する、表示生成構成要素120に対する、又はユーザの一部(例えば、ユーザの顔、目、又は頭部)に対する、及び/又はユーザの手に対して定義された座標系に対する)ユーザの手の1つ以上の部分のロケーション/ポジション、及び/又は、ユーザの手の1つ以上の部分の動きを追跡するように、ハンドトラッキングユニット243(図2)によって制御される。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成構成要素120の一部である(例えば、ヘッドマウントデバイスに埋め込まれる、又はヘッドマウントデバイスに取り付けられる)。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成構成要素120とは別個である(例えば、別個のハウジング内に位置する、又は別個の物理的支持構造に取り付けられる)。
【0083】
いくつかの実施形態では、ハンドトラッキングデバイス140は、人間のユーザの少なくとも手406を含む三次元シーン情報をキャプチャする画像センサ404(例えば、1つ以上のIRカメラ、3Dカメラ、深度カメラ、及び/又はカラーカメラなど)を含む。画像センサ404は、指及びそれらのそれぞれのポジションを区別するのを可能にするのに十分な解像度で手画像をキャプチャする。画像センサ404は、典型的には、ユーザの身体の他の部分の画像、又は身体の全ての画像をキャプチャし、ズーム機能又は高倍率を有する専用センサのいずれかを有して、所望の解像度で手の画像をキャプチャすることができる。いくつかの実施形態では、画像センサ404はまた、手406の2Dカラービデオ画像及びシーンの他の要素をキャプチャする。いくつかの実施形態では、画像センサ404は、シーン105の物理的環境をキャプチャする他の画像センサと併せて使用される、又はシーン105の物理的環境をキャプチャする画像センサとして機能する。いくつかの実施形態では、画像センサ404は、画像センサ又はその一部の視野が使用されて、画像センサによってキャプチャされた手の移動がコントローラ110への入力として処理される相互作用空間を定義するように、ユーザ又はユーザの環境に対して位置決めされる。
【0084】
いくつかの実施形態では、画像センサ404は、3Dマップデータ(及び場合によってはカラー画像データ)を含むフレームのシーケンスをコントローラ110に出力し、これにより、マップデータから高レベル情報を抽出する。この高レベル情報は、典型的には、アプリケーションプログラムインタフェース(API)を介して、コントローラ上で実行されるアプリケーションに提供され、それに応じて表示生成構成要素120を駆動する。例えば、ユーザは、自分の手408を移動させて自分の手の姿勢を変化させることによって、コントローラ110上で実行されるソフトウェアと対話することができる。
【0085】
いくつかの実施形態では、画像センサ404は、手406を含むシーン上にスポットパターンを投影し、投影されたパターンの画像をキャプチャする。いくつかの実施形態では、コントローラ110は、パターンのスポットの横方向シフトに基づいて、三角測量によって(ユーザの手の表面上の点を含む)シーン内の点の3D座標を計算する。このアプローチは、ユーザが任意の種類のビーコン、センサ、又は他のマーカを保持又は着用する必要がないという点で有利である。これは、画像センサ404からの特定の距離で、所定の基準面に対するシーン内の点の深度座標を与える。本開示では、画像センサ404は、シーン内の点の深度座標が画像センサによって測定されたzコンポーネントに対応するように、直交する一連のx、y、z軸を定義すると想定される。代替的に、ハンドトラッキングデバイス440は、単一又は複数のカメラ又は他のタイプのセンサに基づいて、立体撮像又は飛行時間測定などの他の3Dマッピング方法を使用することができる。
【0086】
いくつかの実施形態では、ハンドトラッキングデバイス140は、ユーザが手(例えば、手全体又は1本以上の指)を移動させている間、ユーザの手を含む深度マップの時間シーケンスをキャプチャし処理する。画像センサ404及び/又はコントローラ110内のプロセッサ上で動作するソフトウェアは、3Dマップデータを処理して、これらの深度マップ内の手のパッチ記述子を抽出する。ソフトウェアは、各フレームにおける手のポーズを推定するために、以前の学習プロセスに基づいて、これらの記述子をデータベース408に記憶されたパッチ記述子と照合する。ポーズは、典型的には、ユーザの手関節及び指先の3Dロケーションを含む。
【0087】
ソフトウェアはまた、ジェスチャを識別するために、シーケンス内の複数のフレームにわたって手及び/又は指の軌道を解析することができる。本明細書に記載されるポーズ推定機能は、運動追跡機能とインターリーブされてもよく、それにより、パッチベースのポーズ推定が2つ(又はそれより多く)のフレーム毎に1回のみ実行される一方、追跡は残りのフレームにわたって発生するポーズの変化を発見するために使用される。ポーズ、運動、及びジェスチャ情報は、上述のAPIを介して、コントローラ110上で実行されるアプリケーションプログラムに提供される。このプログラムは、例えば、ポーズ及び/又はジェスチャ情報に応じて、表示生成構成要素120上に提示された画像を移動させ修正する、又は他の機能を実行することができる。
【0088】
いくつかの実施形態では、ジェスチャは、エアジェスチャを含む。エアジェスチャは、ユーザがデバイス(例えば、コンピュータシステム101、1つ以上の入力デバイス125、及び/又は、ハンドトラッキングデバイス140)の一部である入力要素に触れることなく(又はそれとは無関係に)検出されるジェスチャであり、絶対的な基準(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)に対するユーザの身体の動き、ユーザの身体の別の部分(例えば、ユーザの肩に対するユーザの手の移動、ユーザの一方の手のユーザの別の手に対する移動、及び/又はユーザの指の、別の指若しくはユーザの手の一部に対する移動)に対するユーザの身体の動き、及び/又はユーザの身体の一部(例えば、所定の量及び/又は速さによる所定のポーズでの手の移動を含むタップジェスチャ、又は所定の速度又はユーザの身体の一部の回転量を含むシェイクジェスチャ)の絶対的な動きを含む、空中にあるユーザの身体の一部(例えば、頭部、1つ以上の腕、1つ以上の手、1つ以上の指、及び/又は1つ以上の脚)の検出された動きに基づく。
【0089】
いくつかの実施形態では、本明細書で説明される様々な例及び実施形態で使用される入力ジェスチャは、いくつかの実施形態による、CGR又はXR環境(例えば、仮想又は複合現実環境)と相互作用するための、ユーザの指(単数又は複数)の他の指(単数又は複数)又はユーザの手の一部(単数又は複数)に対する移動によって実施されるエアジェスチャを含む。いくつかの実施形態では、エアジェスチャは、ユーザがデバイスの一部である入力要素に触れることなく(又はデバイスの一部である入力要素から独立して)検出されるジェスチャであり、絶対的な基準に対するユーザの身体の動き(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)、ユーザの身体の別の部分に対するユーザの身体の動き(例えば、ユーザの肩に対するユーザの手の動き、ユーザの一方の手に対するユーザの他方の手の移動、及び/又はユーザの手の別の指若しくは部分に対するユーザの指の移動)、及び/又は、ユーザの身体の一部の絶対的な動き(例えば、所定の量及び/又は速さによる所定のポーズでの手の移動を含むタップジェスチャ、又はユーザの身体の一部の所定の速さ又は量の回転を含むシェイクジェスチャ)を含む、ユーザの身体の一部の検出された動きに基づく。
【0090】
入力ジェスチャがエアジェスチャ(例えば、タッチスクリーン上に表示されたユーザインタフェース要素との接触、又はユーザインタフェース要素にカーソルを移動させるためのマウス又はトラックパッドとの接触など、どのユーザインタフェース要素がユーザ入力のターゲットであるかに関する情報をコンピュータシステムに提供する入力デバイスとの物理的接触がない場合)であるいくつかの実施形態では、ジェスチャは、ユーザ入力のターゲット(例えば、以下で説明するように、直接入力の場合)を決定するためにユーザの注意(例えば、視線)を考慮に入れる。したがって、エアジェスチャを含む実装形態では、入力ジェスチャは、例えば、以下でより詳細に説明するように、ピンチ及び/又はタップ入力を実行するためのユーザの指(単数又は複数)及び/又は手の移動と組み合わせて(例えば、同時)ユーザインタフェース要素に対する検出された注意(例えば、視線)である。
【0091】
いくつかの実施形態では、ユーザインタフェースオブジェクトに向けられた入力ジェスチャは、ユーザインタフェースオブジェクトを参照して直接的又は間接的に実行される。例えば、ユーザ入力は、三次元環境(例えば、ユーザの現在の視点に基づいて決定されるように、)におけるユーザインタフェースオブジェクトのポジションに対応するポジションでユーザの手で入力ジェスチャを実行したことに応じて、ユーザインタフェースオブジェクトに対して直接実行される。いくつかの実施形態では、入力ジェスチャは、ユーザインタフェースオブジェクトに対するユーザの注意(例えば、視線)を検出しながら、ユーザの手のポジションが三次元環境におけるユーザインタフェースオブジェクトのポジションに対応するポジションにない間に入力ジェスチャを実行するユーザに従って、ユーザインタフェースオブジェクトに対して間接的に実行される。例えば、直接入力ジェスチャの場合、ユーザは、ユーザインタフェースオブジェクトの表示ポジション(例えば、オプションの外縁又はオプションの中央部分から測定して、0.5cm、1cm、5cm、又は0~5cmの距離内)に対応するポジション又はその付近でジェスチャを開始することによって、ユーザの入力をユーザインタフェースオブジェクトに向けることができる。間接的な入力ジェスチャの場合、ユーザは、ユーザインタフェースオブジェクトに注意を払うことによって(例えば、ユーザインタフェースオブジェクトを注視することによって)ユーザの入力をユーザインタフェースオブジェクトに向けることができ、オプションに注意を払いながら、ユーザは、入力ジェスチャを開始する(例えば、コンピュータシステムによって検出可能な任意のポジションで)(例えば、ユーザインタフェースオブジェクトの表示ポジションに対応しないポジションで)。
【0092】
いくつかの実施形態では、本明細書に記載の様々な例及び実施形態で使用される入力ジェスチャ(例えば、エアジェスチャ)は、いくつかの実施形態に係る、仮想又は複合現実環境と相互作用するためのピンチ入力及びタップ入力を含む。例えば、後述するピンチ入力やタップ入力は、エアジェスチャとして行われる。
【0093】
いくつかの実施形態では、ピンチ入力は、ピンチジェスチャ、ロングピンチジェスチャ、ピンチアンドドラッグジェスチャ、又はダブルピンチジェスチャのうちの1つ以上を含むエアジェスチャの一部である。例えば、エアジェスチャであるピンチジェスチャは、互いに接触するような手の2本以上の指の移動であって、任意選択的に、互いに接触した直後の(例えば、0~1秒以内)中断を含む、移動である。エアジェスチャであるロングピンチジェスチャは、互いに接触している中断を検出する前に、少なくとも閾値時間量(例えば、少なくとも1秒)にわたって互いに接触するように手の2本以上の指を動かすことを含む。例えば、ロングピンチジェスチャは、ユーザがピンチジェスチャ(例えば、2つ以上の指が接触している場合、)を保持することを含み、ロングピンチジェスチャは、2本以上の指の間の接触の中断が検出されるまで継続する。いくつかの実施形態では、エアジェスチャであるダブルピンチジェスチャは、互いに直接(例えば、既定の期間内に)連続して検出される2つ(例えば、又はそれより多く)のピンチ入力(例えば、同じ手で実行される)を含む。例えば、ユーザは、第1のピンチ入力を実行し(例えば、ピンチ入力又はロングピンチ入力)、第1のピンチ入力を解放し(例えば、2つ以上の指の間の接触を破壊する)、第1のピンチ入力を解放した後、既定の期間(例えば、1秒以内又は2秒以内)内に第2のピンチ入力を実行する。
【0094】
いくつかの実施形態では、エアジェスチャであるピンチアンドドラッグジェスチャは、ユーザの手のポジションを第1のポジション(例えば、ドラッグの開始ポジション)から第2のポジション(例えば、抗力の終了ポジション)に変化させるドラッグ入力に関連して(例えば、続いて)実行されるピンチジェスチャ(例えば、ピンチジェスチャ又はロングピンチジェスチャ)を含む。いくつかの実施形態では、ユーザは、ドラッグ入力を実行しながらピンチジェスチャを維持し、(例えば、第2のポジションにおいて)ドラッグジェスチャを終了するためにピンチジェスチャ(例えば、2本以上の指を開く)を解放する。いくつかの実施形態では、ピンチ入力及びドラッグ入力は、同じ手(例えば、ユーザは、2本以上の指をピンチして互いに接触し、ドラッグジェスチャで空中の第2のポジションに同じ手を移動させる)によって実行される。いくつかの実施形態では、ピンチ入力はユーザの第1の手によって実行され、ドラッグ入力はユーザの第2の手によって実行される(例えば、ユーザの第2の手は、ユーザがユーザの第1の手でピンチ入力を継続する間に空中で第1のポジションから第2のポジションに移動する)。いくつかの実施形態では、エアジェスチャである入力ジェスチャは、ユーザの両手の双方を使用して実行される入力(例えば、ピンチ入力及び/又はタップ入力)を含む。例えば、入力ジェスチャは、互いに関連して(例えば、既定の期間と同時に、又は既定の期間内に)行われる2つ(例えば、又はそれより多く)のピンチ入力を含む。例えば、ユーザの第1の手を使用して実行される第1のピンチジェスチャ(例えば、ピンチ入力、ロングピンチ入力、又はピンチ及びドラッグ入力)と、第1の手を使用してピンチ入力を実行することに関連して、他方の手(例えば、ユーザの両手の第2の手)を使用して第2のピンチ入力を実行する。いくつかの実施形態では、(例えば、ユーザの両手の間の距離又は相対的な配向を増加及び/又は減少させるための)ユーザの両手の間の移動。
【0095】
いくつかの実施形態では、エアジェスチャとして実行されるタップ入力(例えば、ユーザインタフェース要素に向けられる)は、ユーザインタフェース要素に向かうユーザの指の移動(単数又は複数)、任意選択的にユーザの指(単数又は複数)をユーザインタフェース要素に向かって伸ばした状態でのユーザの手のユーザインタフェース要素に向かう移動、ユーザの指の下方への動き(例えば、マウスクリック動作又はタッチスクリーン上のタップを模倣する)、又はユーザの手の他の既定の移動を含む。いくつかの実施形態では、エアジェスチャとして実行されるタップ入力は、ユーザの視点から離れて、及び/又は移動の終了が続くタップ入力のターゲットであるオブジェクトに向かって指又は手のタップジェスチャの移動を実行する指又は手の移動特性に基づいて検出される。いくつかの実施形態では、タップジェスチャ(例えば、ユーザの視点から離れる、及び/又はタップ入力の対象であるオブジェクトに向かう移動の終了、指又は手の移動方向の反転、及び/又は指又は手の移動の加速方向の反転)を実行する指又は手の移動特性の変化に基づいて、移動の終了が検出される。
【0096】
いくつかの実施形態では、ユーザの注意は、(任意選択で、他の条件を必要とせずに)三次元環境の一部に向けられた視線の検出に基づいて、三次元環境の一部に向けられていると判定される。いくつかの実施形態では、ユーザの注意が三次元環境の一部に向けられていることをデバイスが判定するために、ユーザの視点が三次元環境の一部から距離閾値内にある間に、少なくとも閾値持続時間(例えば、滞留時間)、視線が三次元環境の一部に向けられていることを必要とすること、及び/又は視線が三次元環境の一部に向けられていることを必要とすることなどの1つ以上の追加の条件を伴う三次元環境の一部に向けられた視線の検出に基づいて、ユーザの注意が三次元環境の一部に向けられていると判定され、追加の条件のうちの1つが満たされていない場合、デバイスは、三次元環境のうちの視線が向けられている部分に注意が向けられていないと判定する(例えば、1つ以上の追加の条件が満たされるまで)。
【0097】
いくつかの実施形態では、ユーザ又はユーザの一部の準備完了状態構成の検出は、コンピュータシステムによって検出される。手の準備完了状態構成の検出は、ユーザが、手によって実行される1つ以上のエアジェスチャ入力(例えば、ピンチ、タップ、ピンチ及びドラッグ、ダブルピンチ、ロングピンチ、又は本明細書に説明される他のエアジェスチャ)を使用して、コンピュータシステムと対話する準備をしている可能性が高いというインジケーションとして、コンピュータシステムによって使用される。例えば、手の準備完了状態は、手が所定の手形状(例えば、親指と1本以上の指が伸ばされて間隔を空けてピンチ若しくはグラブジェスチャを行う準備ができているプレピンチ形状、又は1本以上の指が伸ばされて手のひらがユーザから離れる方向を向いているプレタップ)を有するか否か、手がユーザの視点に対して所定のポジションにあるか否か(例えば、ユーザの頭部の下、ユーザの腰の上、身体から少なくとも15cm、20cm、25cm、30cm、又は50cmだけ伸ばされている)、及び/又は手が特定の方法で移動したか否か(例えば、ユーザの腰の上、ユーザの頭部の下のユーザの正面の領域に向かって移動したか、又はユーザの身体若しくは脚から離れたか)に基づいて決定される。いくつかの実施形態では、準備完了状態は、ユーザインタフェースの対話要素が注意(例えば、視線)入力に応じるかどうかを判定するために使用される。
【0098】
いくつかの実施形態では、ソフトウェアは、例えばネットワーク上で、コントローラ110に電子形態でダウンロードされてもよい、又はその代替的に、光学、磁気、若しくは電子メモリ媒体などの、実体的非一時的媒体に提供されてもよい。いくつかの実施形態では、データベース408は、同様に、コントローラ110に関連付けられたメモリに記憶される。代替的又は追加的に、コンピュータの記載された機能の一部又は全ては、カスタム又は半カスタム集積回路又はプログラム可能なデジタル信号プロセッサ(DSP)などの専用のハードウェアに実装されてもよい。コントローラ110は、例として、画像センサ440からの別個のユニットとして図4に示されているが、コントローラの処理機能の一部又は全部は、好適なマイクロプロセッサ及びソフトウェアによって、又はハンドトラッキングデバイス402のハウジング内の専用回路によって、又は他の方法で画像センサ404に関連付けることができる。いくつかの実施形態では、これらの処理機能のうちの少なくともいくつかは、(例えば、テレビセット、ハンドヘルドデバイス、又はヘッドマウントデバイスにおいて)表示生成構成要素120と統合された好適なプロセッサによって、又はゲームコンソール又はメディアプレーヤなどの任意の他の適切なコンピュータ化されたデバイスを用いて実行されてもよい。画像センサ404の感知機能は、同様に、センサ出力によって制御されるコンピュータ又は他のコンピュータ化された装置に統合することができる。
【0099】
図4は、いくつかの実施形態による、画像センサ404によってキャプチャされた深度マップ410の概略図を更に含む。深度マップは、上述したように、それぞれの深度値を有するピクセルのマトリックスを含む。手406に対応するピクセル412は、このマップで背景及び手首からセグメント化されている。深度マップ410内の各ピクセルの輝度は、深度値、すなわち、画像センサ404からの測定されたz距離に反比例し、深度が上昇するにつれて階調が濃くなる。コントローラ110は、人間の手の特性を有する画像の構成要素(すなわち、隣接ピクセル群)を識別及びセグメント化するために、これらの深度値を処理する。これらの特性は、例えば、深度マップのシーケンスの全体サイズ、形状、フレームからフレームへの動きを含むことができる。
【0100】
図4はまた、いくつかの実施形態による、コントローラ110が手406の深度マップ410から最終的に抽出する手骨格414を概略的に示す。図4では、骨格414は、元の深度マップからセグメント化された手の背景416に重畳される。いくつかの実施形態では、手(例えば、指関節、指先、手のひらの中心、手首に接続する手の終端など)、及び任意選択的に手に接続された手首又は腕上の主要な特徴点が、手骨格414上で識別され配置される。いくつかの実施形態では、複数の画像フレーム上にわたるこれらの主要な特徴点のロケーション及び移動がコントローラ110によって使用されて、いくつかの実施形態により、手によって実行される手ジェスチャ又は手の現在の状態を判定する。
【0101】
図5は、アイトラッキングデバイス130(図1)の例示的な実施形態を示す。いくつかの実施形態では、アイトラッキングデバイス130は、シーン105に対する、又は表示生成構成要素120を介して表示されたCGRコンテンツに対する、ユーザの視線のポジション及び移動を追跡するように、アイトラッキングユニット245(図2)によって制御される。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成構成要素120と統合される。例えば、いくつかの実施形態では、表示生成構成要素120がヘッドセット、ヘルメット、ゴーグル、又は眼鏡などのヘッドマウントデバイス、又はウェアラブルフレームに配置されたハンドヘルドデバイスである場合、ヘッドマウントデバイスは、ユーザによる視聴のためのCGRコンテンツを生成する構成要素及びCGRコンテンツに対するユーザの視線を追跡するための構成要素の両方を含む。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成構成要素120とは別個である。例えば、表示生成構成要素がハンドヘルドデバイス又はCGRチャンバである場合、アイトラッキングデバイス130は、任意選択的に、ハンドヘルドデバイス又はCGRチャンバとは別個のデバイスである。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイス又はヘッドマウントデバイスの一部である。いくつかの実施形態では、ヘッドマウントアイトラッキングデバイス130は、任意選択的に、頭部に装着されている表示生成構成要素又は頭部に装着されていない表示生成構成要素とともに使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、ヘッドマウント表示生成構成要素と組み合わせて使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、非ヘッドマウント表示生成構成要素の一部である。
【0102】
いくつかの実施形態では、表示生成構成要素120は、ユーザの目の前に左及び右の画像を含むフレームを表示して、3D仮想ビューをユーザに提供するディスプレイ機構(例えば、左右の目近傍ディスプレイパネル)を使用する。例えば、ヘッドマウント表示生成構成要素は、ディスプレイとユーザの目との間に位置する左右の光学レンズ(本明細書では接眼レンズと称される)を含んでもよい。いくつかの実施形態では、表示生成構成要素は、表示のためにユーザの環境のビデオをキャプチャする1つ以上の外部ビデオカメラを含んでもよい、又はそれに結合されてもよい。いくつかの実施形態では、ヘッドマウント表示生成構成要素は、ユーザが物理的環境を直接視認し、透明又は半透明ディスプレイ上に仮想オブジェクトを表示することができる透明又は半透明のディスプレイを有してもよい。いくつかの実施形態では、表示生成構成要素は、仮想オブジェクトを物理的環境に投影する。仮想オブジェクトは、例えば、物理的表面上に、又はホログラフとして投影され、それによって、個人は、システムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを観察することができる。そのような場合、左右の目のための別個のディスプレイパネル及び画像フレームが必要とされない場合がある。
【0103】
図5に示されるように、いくつかの実施形態では、視線トラッキングデバイス130は、少なくとも1つのアイトラッキングカメラ(例えば、赤外線(IR)又は近IR(NIR)カメラ)、並びに光(例えば、IR又はNIR光)をユーザの目に向けて発する照明源(例えば、LEDのアレイ若しくはリングなどのIR又はNIR光源)を含む。アイトラッキングカメラは、ユーザの目に向けられて、光源からの反射IR又はNIR光を目から直接受信してもよく、又は代替的に、ユーザの目と、視覚的光が通過することを可能にしながら目からアイトラッキングカメラにIR又はNIR光を反射させるディスプレイパネルとの間に配置される「ホット」ミラーに向けられてもよい。視線トラッキングデバイス130は、任意選択的に、ユーザの目の画像を(例えば、1秒当たり60~120フレーム(fps)でキャプチャされるビデオストリームとして)キャプチャし、画像を解析して、視線トラッキング情報を生成し、視線トラッキング情報をコントローラ110に通信する。いくつかの実施形態では、ユーザの両目は、それぞれのアイトラッキングカメラ及び照明源によって別々に追跡される。いくつかの実施形態では、ユーザの片目のみが、個別のアイトラッキングカメラ及び照明源によって追跡される。
【0104】
いくつかの実施形態では、アイトラッキングデバイス130は、デバイス固有の較正プロセスを使用して較正されて、特定の動作環境100用のアイトラッキングデバイスのパラメータ、例えば、LED、カメラ、ホットミラー(存在する場合)、接眼レンズ、及びディスプレイスクリーンの3D幾何学的関係及びパラメータを判定する。デバイス固有の較正プロセスは、AR/VR機器のエンドユーザへの配送前に、工場又は別の施設で実行されてもよい。デバイス固有の較正プロセスは、自動較正プロセスであってもよく、又は手動較正プロセスであってもよい。ユーザ固有の較正プロセスは、特定のユーザの目パラメータ、例えば、瞳孔ロケーション、中心視覚ロケーション、光軸、視軸、目間隔などの推定を含んでもよい。いくつかの実施形態によれば、いったんアイトラッキングデバイス130についてデバイス固有及びユーザ固有のパラメータが判定されると、アイトラッキングカメラによってキャプチャされた画像は、グリント支援方法を使用して処理され、ディスプレイに対するユーザの現在の視覚軸及び視点を判定することができる。
【0105】
図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に向けられてもよい。
【0106】
いくつかの実施形態では、コントローラ110は、AR又はVRフレーム562(例えば、左及び右のディスプレイパネルの左及び右のフレーム)をレンダリングし、フレーム562をディスプレイ510に提供する。コントローラ110は、様々な目的のために、例えば、表示のためにフレーム562を処理する際に、アイトラッキングカメラ540からの視線トラッキング入力542を使用する。コントローラ110は、任意選択的に、グリント支援方法又は他の適切な方法を使用して、アイトラッキングカメラ540から得られた視線トラッキング入力542に基づいて、ディスプレイ510上のユーザの視点を推定する。視線トラッキング入力542から推定された視点は、任意選択的に、ユーザが現在見ている方向を判定するために使用される。
【0107】
以下、ユーザの現在の視線方向のいくつかの可能な使用事例について説明するが、これは限定することを意図するものではない。例示的な使用例として、コントローラ110は、判定されたユーザの視線方向に基づいて、仮想コンテンツを異なってレンダリングすることができる。例えば、コントローラ110は、周辺領域においてよりもユーザの現在の視線方向から判定された中心視覚領域において、より高い解像度で仮想コンテンツを生成してもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内の仮想コンテンツを位置決め又は移動させてもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内に特定の仮想コンテンツを表示してもよい。ARアプリケーションにおける別の例示的な使用事例として、コントローラ110は、CGR体験の物理的環境をキャプチャして、判定された方向に焦点を合わせるように外部カメラを方向付けることができる。次いで、外部カメラの自動焦点機構は、ユーザが現在ディスプレイ510上で見ている環境内のオブジェクト又は表面に焦点を合わせることができる。別の例示的な使用事例として、接眼レンズ520は集束可能なレンズであってもよく、視線トラッキング情報がコントローラによって使用されて、ユーザが現在見ている仮想オブジェクトが、ユーザの目592の収束に一致するために適切な両目連動を有するように接眼レンズ520の焦点を調整する。コントローラ110は、視線トラッキング情報を活用して、ユーザが見ている近接オブジェクトが正しい距離で現れるように接眼レンズ520を方向付けて焦点を調整することができる。
【0108】
いくつかの実施形態では、アイトラッキングデバイスは、ウェアラブルハウジングに取り付けられた、ディスプレイ(例えば、ディスプレイ510)、2つの接眼レンズ(例えば、接眼レンズ(単数又は複数)520)、アイトラッキングカメラ(例えば、アイトラッキングカメラ(単数又は複数)540)、及び光源(例えば、光源530(例えば、IR又はNIR LED))を含むヘッドマウントデバイスの一部である。光源は、ユーザの目(単数又は複数)592に向かって光(例えば、IR又はNIR光)を発する。いくつかの実施形態では、光源は、図5に示されるように、各レンズの周りにリング又は円状に配置されてもよい。いくつかの実施形態では、8つの光源530(例えば、LED)が、一例として各レンズ520の周りに配置される。しかしながら、より多くの又はより少ない光源530が使用されてもよく、光源530の他の配置及びロケーションが用いられてもよい。
【0109】
いくつかの実施形態では、ディスプレイ510は、可視光範囲内の光を発し、IR又はNIR範囲内の光を発さないため、視線トラッキングシステムにノイズを導入しない。アイトラッキングカメラ(単数又は複数)540のロケーション及び角度は、例として与えられ、限定することを意図するものではないことに留意されたい。いくつかの実施形態では、単一のアイトラッキングカメラ540がユーザの顔の各側に位置する。いくつかの実施形態では、2つ以上のNIRカメラ540をユーザの顔の各側に使用することができる。いくつかの実施形態では、より広い視野(FOV)を有するカメラ540と狭いFOVを有するカメラ540が、ユーザの顔の各側に使用されてもよい。いくつかの実施形態では、1つの波長(例えば、850nm)で動作するカメラ540と異なる波長(例えば、940nm)で動作するカメラ540とが、ユーザの顔の各側に使用されてもよい。
【0110】
図5に示すような視線トラッキングシステムの実施形態は、例えば、コンピュータ生成現実、仮想現実、及び/又は複合現実アプリケーションに使用されて、コンピュータ生成現実、仮想現実、拡張現実、及び/又は拡張仮想の体験をユーザに提供することができる。
【0111】
図6Aは、いくつかの実施形態による、グリント支援視線トラッキングパイプラインを示す。いくつかの実施形態では、視線追跡パイプラインは、グリント支援視線追跡システム(例えば、図1及び図5に示されるようなアイトラッキングデバイス130)によって実現される。グリント支援視線トラッキングシステムは、追跡状態を維持することができる。当初、追跡状態はオフ又は「いいえ」である。追跡状態にあるとき、グリント支援視線トラッキングシステムは、現フレームを解析する際に前のフレームからの先行情報を使用して、現フレーム内の瞳孔輪郭及びグリントを追跡する。追跡状態にない場合、グリント支援視線トラッキングシステムは、現フレーム内の瞳孔及びグリントを検出しようとし、それに成功した場合、追跡状態を「はい」に初期化し、追跡状態で次のフレームに続く。
【0112】
図6Aに示されるように、視線トラッキングカメラは、ユーザの左右の目の左右の画像をキャプチャし得る。次いで、キャプチャされた画像は、610で開始される処理のために視線トラッキングパイプラインに入力される。要素600に戻る矢印によって示されるように、視線トラッキングシステムは、例えば、毎秒60~120フレームの速度で、ユーザの目の画像をキャプチャし続けることができる。いくつかの実施形態では、キャプチャされた画像の各セットが、処理のためにパイプラインに入力されてもよい。しかしながら、いくつかの実施形態、又はいくつかの条件下では、全てのキャプチャされたフレームがパイプラインによって処理されるわけではない。
【0113】
610で、現在のキャプチャされた画像について、追跡状態がはいである場合、この方法は要素640に進む。610で、追跡状態がいいえである場合、620に示されるように、画像が解析されて、画像内のユーザの瞳孔及びグリントを検出する。630で、瞳孔とグリントが正常に検出される場合、方法は要素640に進む。正常に検出されない場合、方法は要素610に戻り、ユーザの目の次の画像を処理する。
【0114】
640において、要素410から進む場合、以前のフレームからの前の情報に部分的に基づいて瞳孔及びグリントを追跡するために、現在のフレームが分析される。640で、要素630から進む場合、現フレーム内の検出された瞳孔及びグリントに基づいて、追跡状態が初期化される。要素640での処理の結果は、追跡又は検出の結果が信頼できることを確認するためにチェックされる。例えば、結果は、瞳孔及び視線推定を実行するための十分な数のグリントが現フレームで正常に追跡又は検出されるかどうかを判定するためにチェックすることができる。650で、結果が信頼できない場合、追跡状態はいいえに設定され、方法は要素610に戻り、ユーザの目の次の画像を処理する。650で、結果が信頼できる場合、方法は要素670に進む。670で、追跡状態は、はいに設定され(まだはいではない場合)、瞳孔及びグリント情報が要素680に渡されて、ユーザの視点を推定する。
【0115】
図6Aは、特定の実装形態で使用され得るアイトラッキング技術の一例として機能することを意図している。当業者によって認識されるように、現在存在するか、又は将来開発される他のアイトラッキング技術は、様々な実施形態によるCGR体験をユーザに提供するためにコンピュータシステム101において、本明細書に記載されるグリント支援アイトラッキング技術の代わりに、又はそれと組み合わせて使用することができる。
【0116】
図6Bは、いくつかの実施形態による、CGR体験を提供するための電子デバイス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から離れて面する側である。
【0117】
いくつかの実施形態では、センサ群612-2は、ユーザの目及び/又は視線を追跡するための1つ以上のセンサを含むアイトラッキングユニット(例えば、図2を参照して上述したアイトラッキングユニット245)を含み、アイトラッキングユニットは、ユーザ608を「見て」、上述の方法でユーザ608の目(単数又は複数)を追跡することができる。いくつかの実施形態では、デバイス101のアイトラッキングユニットは、ユーザ608の目の移動、配向、及び/又は視線をキャプチャし、移動、配向、及び/又は視線を入力として処理することができる。
【0118】
いくつかの実施形態では、センサ群612-1は、図6Bに示すように、デバイス101の「後」側に保持されたユーザ608の1つ以上の手を追跡することができるハンドトラッキングユニット(例えば、図2を参照して上述したハンドトラッキングユニット243)を含む。いくつかの実施形態では、ハンドトラッキングユニットは、デバイス101が1つ以上の手のポジションを追跡する間に、ユーザ608がデバイス101の「前」側に1つ以上の手を追加的に又は代替的に保持することができるように、センサ群612-2に任意選択的に含まれる。上述したように、デバイス101のハンドトラッキングユニットは、ユーザ608の1つ以上の手の移動、ポジション、及び/又はジェスチャをキャプチャし、移動、ポジション、及び/又はジェスチャを入力として処理することができる。
【0119】
いくつかの実施形態において、センサ群612-1は、テーブル604を含む現実世界環境602の画像をキャプチャするように構成された1つ以上のセンサ(例えば、図4を参照して上述した画像センサ404など)を任意選択的に含む。上述したように、デバイス101は、現実世界環境602の部分(例えば、一部又は全部)の画像をキャプチャし、デバイス101の1つ以上の表示生成構成要素(例えば、現実世界環境602のキャプチャされた部分に面するデバイス101の側とは反対の、ユーザに面するデバイス101の側に任意選択的に位置するデバイス101のディスプレイ)を介して、現実世界環境602のキャプチャされた部分をユーザに提示することができる。
【0120】
いくつかの実施形態では、現実世界環境602のキャプチャされた部分は、CGR体験、例えば、1つ以上の仮想オブジェクトが現実世界環境602の表現の上に重ね合わされる複合現実環境をユーザに提供するために使用される。
【0121】
したがって、本明細書の説明は、現実世界オブジェクトの表現及び仮想オブジェクトの表現を含む三次元環境(例えば、CGR環境)のいくつかの実施形態を説明する。例えば、三次元環境は、任意選択的に、(例えば、電子デバイスのカメラ及びディスプレイを介して能動的に、又は電子デバイスの透明若しくは半透明のディスプレイを介して受動的に)三次元環境内でキャプチャされ、表示される、物理的環境内に存在するテーブルの表現を含む。前述のように、三次元環境は、任意選択的に、三次元環境がデバイスの1つ以上のセンサによってキャプチャされ、表示生成構成要素を介して表示される物理的環境に基づく複合現実システムである。複合現実システムとして、物理的環境の部分及び/又はオブジェクトのそれぞれが、電子デバイスによって表示される三次元環境内に存在するかのように見えるように、デバイスは、任意選択的に、物理的環境の部分及び/又はオブジェクトを選択的に表示することができる。同様に、現実世界において、対応するロケーションを有する三次元環境内のそれぞれのロケーションに仮想オブジェクトを配置することによって、仮想オブジェクトが現実世界(例えば、物理的環境)内に存在するかのように見えるように、デバイスは、任意選択的に、三次元環境内の仮想オブジェクトを表示することができる。例えば、デバイスは、任意選択的に、現実の花瓶が物理的環境内のテーブルの上に置かれているかのように見えるように、花瓶を表示する。いくつかの実施形態では、三次元環境内の各ロケーションは、物理的環境内で、対応するロケーションを有する。したがって、デバイスが、物理的オブジェクトに対して個別のロケーション(例えば、ユーザの手のロケーション、若しくはその近くの、又は物理的テーブルに、若しくはその近くなど)に、仮想オブジェクトを表示するものとして説明されるとき、デバイスは、仮想オブジェクトが物理的世界内の物理的オブジェクトに、又はその近くにあるかのように見えるように、三次元環境内の特定のロケーションに仮想オブジェクトを表示する(例えば、仮想オブジェクトが、その特定のロケーションにある現実のオブジェクトであった場合に、仮想オブジェクトが表示された物理的環境内のロケーションに対応する三次元環境内のロケーションに、仮想オブジェクトは表示されるであろう)。
【0122】
いくつかの実施形態では、三次元環境内に表示される物理的環境内に存在する現実世界オブジェクトは、三次元環境内にのみ存在する仮想オブジェクトと相互作用することができる。例えば、三次元環境は、テーブルと、テーブルの上に配置された花瓶と、を含むことができ、テーブルは、物理的環境内の物理的テーブルのビュー(又は表現)であり、花瓶は、仮想オブジェクトである。
【0123】
同様に、仮想オブジェクトが、物理的環境内の現実のオブジェクトであるかのように、ユーザは、任意選択的に、1つ以上の手を使用して三次元環境内の仮想オブジェクトと相互作用することができる。例えば、上述のように、デバイスの1つ以上のセンサは、任意選択的に、ユーザの手のうちの1つ以上をキャプチャし、三次元環境内のユーザの手の表現を(例えば、上述の三次元環境内の現実世界オブジェクトを表示するのと同様の方法で)表示する、あるいは、いくつかの実施形態では、ユーザインタフェース、又は透明/半透明表面へのユーザインタフェースの投影、又はユーザの目若しくはユーザの目の視野へのユーザインタフェースの投影を表示している表示生成構成要素の部分の透明性/半透明性に起因して、ユーザの手は、ユーザインタフェースを通して物理的環境を見る能力によって、表示生成構成要素を介して見ることができる。したがって、いくつかの実施形態では、ユーザの手は、三次元環境内の個別のロケーションに表示され、それらが、物理的環境内の実際の物理的オブジェクトであるかのように、三次元環境内の仮想オブジェクトと相互作用し得る三次元環境内のオブジェクトであるかのように、処理される。いくつかの実施形態では、ユーザは、自身の手を動かして、三次元環境内の手の表現を、ユーザの手の移動と連動して動かすことができる。
【0124】
以下に説明される実施形態のうちのいくつかでは、例えば、物理的オブジェクトが、仮想オブジェクトと相互作用しているか否か(例えば、手が、仮想オブジェクトを、触れているか、掴んでいるか、保持しているかなど、又は仮想オブジェクトからの閾値距離内にあるか否か)を判定する目的で、デバイスは、任意選択的に、物理的世界内の物理的オブジェクトと三次元環境内の仮想オブジェクトとの間の「有効」距離を判定することができる。例えば、ユーザが仮想オブジェクトと相互作用しているか否か、及び/又はユーザが仮想オブジェクトとどのように相互作用しているかを判定するときに、デバイスは、ユーザの手と仮想オブジェクトとの間の距離を判定する。いくつかの実施形態では、デバイスは、三次元環境内の手のロケーションと、三次元環境内の対象の仮想オブジェクトのロケーションとの間の距離を判定することによって、ユーザの手と仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手は、物理的世界内の特定のポジションに配置され、これは、デバイスが、任意選択的に、三次元環境内の特定の対応するポジション(例えば、手が物理的な手ではなく仮想的な手である場合に、手が表示されるであろう三次元環境内のポジション)において、キャプチャして表示する。三次元環境内の手のポジションは、任意選択的に、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するために、三次元環境内の対象の仮想オブジェクトのポジションと比較される。いくつかの実施形態では、デバイスは、任意選択的に、(例えば、三次元環境内のポジションを比較することとは対照的に)物理的世界内のポジションを比較することによって、物理的オブジェクトと仮想オブジェクトとの間の距離を判定する。例えば、ユーザの1つ以上の手と仮想オブジェクトとの間の距離を判定するとき、デバイスは、任意選択的に、仮想オブジェクトの物理的世界内の対応するロケーション(例えば、仮想オブジェクトが、仮想オブジェクトではなく物理的オブジェクトである場合に、仮想オブジェクトが、物理的世界内に位置するであろうポジション)を判定し、次いで、対応する物理的ポジションとユーザの1つ以上の手との間の距離を判定する。いくつかの実施形態では、任意の物理的オブジェクトと任意の仮想オブジェクトとの間の距離を判定するために、同じ技法が、任意選択的に使用される。したがって、本明細書に説明されるように、物理的オブジェクトが仮想オブジェクトと接触しているか否か、又は物理的オブジェクトが仮想オブジェクトの閾値距離内にあるか否か、を判定するとき、デバイスは、任意選択的に、物理的オブジェクトのロケーションを三次元環境にマッピングするために、及び/又は仮想オブジェクトのロケーションを物理的世界にマッピングするために、上述の技術のいずれかを実行する。
【0125】
いくつかの実施形態では、同じ又は同様の技術を使用して、ユーザの視線が、どこに向けられ、何に向けられているか、及び/又はユーザによって保持された物理的スタイラスが、どこに向けられ、何に向けられているか、を判定する。例えば、ユーザの視線が物理的環境内の特定のポジションに向けられている場合、デバイスは、任意選択的に、三次元環境内の対応するポジションを判定し、仮想オブジェクトがその対応する仮想ポジションに位置する場合、デバイスは、任意選択的に、ユーザの視線が、その仮想オブジェクトに向けられていると判定する。同様に、デバイスは、任意選択的に、物理的スタイラスの配向に基づいて、スタイラスが物理的世界のどこを指しているかを判定することができる。いくつかの実施形態では、この判定に基づいて、デバイスは、スタイラスが指している物理的世界内のロケーションに対応する三次元環境内の対応する仮想ポジションを判定し、任意選択的に、スタイラスが三次元環境内の対応する仮想ポジションを指していると判定する。
【0126】
同様に、本明細書で説明される実施形態は、ユーザ(例えば、デバイスのユーザ)のロケーション、及び/又は三次元環境内のデバイスのロケーションを指してもよい。いくつかの実施形態では、デバイスのユーザは、電子デバイスを保持している、装着している、又は他の方法で電子デバイスに位置している、若しくはその近くにある。したがって、いくつかの実施形態では、デバイスのロケーションは、ユーザのロケーションの代理として使用される。いくつかの実施形態では、物理的環境内のデバイス及び/又はユーザのロケーションは、三次元環境内の個別のロケーションに対応する。いくつかの実施形態では、個別のロケーションは、三次元環境の「カメラ」又は「ビュー」が延在するロケーションである。例えば、ユーザが、表示生成構成要素によって表示される物理的環境の個別の部分に面するロケーションに立った場合、デバイスのロケーションは、ユーザが、物理的環境内のオブジェクトを、オブジェクトがデバイスの表示生成構成要素によって表示されたのと同じポジション、配向、及び/又はサイズで(例えば、絶対的に及び/又は互いに対して)見ることになる、物理的環境内のロケーション(及び三次元環境内のその対応するロケーション)であろう。同様に、三次元環境内に表示された仮想オブジェクトが、物理的環境内の物理的オブジェクトであった(例えば、仮想オブジェクトが、三次元環境内と同じ物理的環境内のロケーションに配置され、三次元環境内と同じ物理的環境内のサイズ及び配向を有する)場合、デバイス及び/又はユーザのロケーションは、ユーザが、物理的環境内の仮想オブジェクトを、デバイスの表示生成構成要素によって表示されたのと同じポジション、配向、及び/又はサイズで(例えば、絶対的に、及び/又は互いに対して、並びに現実世界オブジェクトにおいて)見ることになるポジションである。
【0127】
本開示では、コンピュータシステムとの相互作用に関して、様々な入力方法が説明される。一例が1つの入力デバイス又は入力方法を使用して提供され、別の例が別の入力デバイス又は入力方法を使用して提供される場合、各例は、別の例に関して記載された入力デバイス又は入力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な出力方法が、コンピュータシステムとの相互作用に関して説明される。一例が1つの出力デバイス又は出力方法を使用して提供され、別の例が別の出力デバイス又は出力方法を使用して提供される場合、各例は、別の例に関して記載された出力デバイス又は出力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な方法が、コンピュータシステムを介した仮想環境又は複合現実環境との相互作用に関して説明される。一例が仮想環境との相互作用を使用して提供され、別の例が複合現実環境を使用して提供される場合、各例は、別の例に関して説明された方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。したがって、本開示は、各例示的な実施形態の説明における実施形態の全ての特徴を網羅的に列挙することなく、複数の例の特徴の組み合わせである実施形態を開示する。
【0128】
更に、1つ以上のステップが満たされている1つ以上の条件を条件とする本明細書に記載の方法では、記載の方法は、繰り返しの過程にわたって、本方法のステップが条件とする条件の全てが本方法の異なる繰り返しで満たされるように、複数の繰り返しで繰り返されることができることを理解されたい。例えば、ある方法が、条件が満たされた場合に第1のステップを実行し、条件が満たされなかった場合に第2のステップを実行することを必要とする場合、当業者であれば、条件が満たされ、満たされなくなるまで、請求項に記載のステップが、特定の順序で繰り返されることを理解するであろう。したがって、満たされた1つ以上の条件に依存する1つ以上のステップで説明される方法は、方法に記載された各条件が満たされるまで繰り返される方法として書き換えられることができる。しかしながら、これは、システム又はコンピュータ可読媒体が、対応する1つ以上の条件の充足に基づいて条件付き動作を実行する命令を含み、したがって、方法のステップが条件付きである全ての条件が満たされるまで、方法のステップを明示的に繰り返すことなく偶発性が満たされたか否かを判定することができる、システム又はコンピュータ可読媒体の請求項には必要とされない。当業者はまた、条件付きステップを有する方法と同様に、システム又はコンピュータ可読記憶媒体が、条件付きステップの全てが実行されたことを確実にするために必要な回数だけ方法のステップを繰り返すことができることを理解するであろう。
ユーザインタフェース及び関連するプロセス
【0129】
ここで、ユーザインタフェース(「UI」)の実施形態、及び、表示生成構成要素、1つ以上の入力デバイス、及び(任意選択的に)1つ又は複数のカメラを備えた、ポータブル多機能デバイス又はヘッドマウントデバイスなどのコンピュータシステムにおいて実行され得る関連プロセスに注目する。
【0130】
図7A図7Eは、いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるための異なるアルゴリズムを利用する電子デバイスの例を示す。
【0131】
図7Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、(例えば、デバイス101が位置する物理的環境の後壁に面する)俯瞰図に示されるユーザ726の視点から三次元環境702を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。
【0132】
図7Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境702内の物理的環境の表現を表示する。例えば、三次元環境702は、任意選択的に物理的環境内の物理的コーヒーテーブルの表現であるコーヒーテーブルの表現722a(俯瞰図内のテーブル722bに対応する)を含み、三次元環境702は、任意選択的に物理的環境内の物理的ソファの表現であるソファの表現724a(俯瞰図内のソファ724bに対応する)を含む。
【0133】
図7Aでは、三次元環境702はまた、仮想オブジェクト706a(俯瞰図内のオブジェクト706bに対応する)及び708a(俯瞰図内のオブジェクト708bに対応する)を含む。仮想オブジェクト706aは、任意選択的に、ユーザ726の視点から比較的小さい距離にあり、仮想オブジェクト708aは、任意選択的に、ユーザ726の視点から比較的大きい距離にある。仮想オブジェクト706a及び/又は708aは、任意選択的に、アプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース、コンテンツブラウジングユーザインタフェースなど)、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、又はデバイス101の物理的環境に含まれないデバイス101によって表示される任意の他の要素のうちの1つ以上である。
【0134】
いくつかの実施形態では、デバイス101は、三次元環境702内の異なる方向におけるオブジェクトの移動を制御するために、異なるアルゴリズム、例えば、ユーザ726の視点に向かって、又はそこから離れるオブジェクトの移動のための異なるアルゴリズム、あるいは三次元環境702内の垂直又は水平にオブジェクトを移動させるための異なるアルゴリズムを使用する。ある実施形態では、デバイス101は、センサ(例えば、センサ314)を使用して、移動入力を与えるユーザの手705b、手705bに対応するユーザ726の肩705a(例えば、右手が移動入力を与えている場合には右肩)、又は移動入力が向けられるオブジェクトの1つ以上の絶対ポジション及び/又は相対ポジション(例えば、互いに対する及び/又は三次元環境702において移動されるオブジェクトに対する)の1つ以上を検出する。いくつかの実施形態では、オブジェクトの移動は、上記の検出された量に基づく。オブジェクトの移動を制御するために、上記で検出された量がデバイス101によってどのように任意選択的に利用されるかについての詳細は、方法800を参照して提供される。
【0135】
図7Aにおいて、手703aは、オブジェクト708aに向けられた移動入力を提供しており、手703bは、オブジェクト706aに向けられた移動入力を提供している。手703aは、オブジェクト708aをユーザ726の視点のより近くに移動させるための入力を任意選択的に提供しており、手703bは、オブジェクト706aをユーザ726の視点からより遠くに移動させるための入力を任意選択的に提供している。いくつかの実施形態では、かかる移動入力は、ユーザの手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間)、ユーザの手がユーザ726の身体に向かって又はそれから離れて移動することを含む。例えば、図7A図7Bから、デバイス101は、ピンチハンド形状にある間にユーザ726の身体に向かって移動する手703aを任意選択的に検出し、デバイス101は、ピンチハンド形状にある間にユーザ726の身体から離れるように移動する手703bを任意選択的に検出する。複数の手及び対応する入力が図7A図7Eに示されているが、かかる手及び入力は、デバイス101によって同時に検出される必要はないことを理解されたい。むしろ、いくつかの実施形態では、デバイス101は、かかる手及び/又は入力を独立して検出したことに応じて、図示及び説明される手及び/又は入力に独立して応答する。
【0136】
図7A図7Bで検出された移動入力に応じて、デバイス101は、図7Bに示すように、それに応じて三次元環境702内のオブジェクト706a及び708aを移動させる。いくつかの実施形態では、ユーザの手の移動の所与の大きさに対して、デバイス101は、入力がオブジェクトをユーザの視点に向かって移動させるための入力である場合、ターゲットオブジェクトをより多く移動させ、入力がオブジェクトをユーザの視点から離れるように移動させるための入力である場合、ターゲットオブジェクトをより少なく移動させる。いくつかの実施形態では、この差異は、オブジェクトがもはやユーザの現在の視点から合理的に相互作用可能ではない(例えば、合理的相互作用のためにユーザの視野内で小さすぎる)、三次元環境702内のユーザの視点から十分に離れたオブジェクトの移動を回避するためのものである。図7A図7Bでは、手703a及び703bは、任意選択的に、前述したように、同じ大きさの移動を有するが、異なる方向である。ユーザ726の身体に向かう手703aの移動の所与の大きさに応じて、デバイス101は、図7Bの俯瞰図に示すように、その元のロケーションからユーザ726の視点までの距離のほぼ全体にわたってオブジェクト708aを移動させている。ユーザ726の身体から離れる手703bの同じ所与の大きさの移動に応じて、デバイス101は、図7Bの俯瞰図に示すように、オブジェクト706aによってカバーされる距離よりも小さい距離だけ、ユーザ726の視点から離れるようにオブジェクト708aを移動させている。
【0137】
更に、いくつかの実施形態では、デバイス101は、ユーザ726の視点からのそのオブジェクトの距離に基づいて、三次元環境702に含まれるオブジェクトのサイズを制御して、オブジェクトがそれらの現在の視点からユーザ726の視野の大部分を消費することを回避する。したがって、いくつかの実施形態では、オブジェクトは、ユーザ726の視点からのそれらの現在の距離に対して適切又は最適なサイズに関連付けられ、デバイス101は、それらの適切又は最適なサイズに適合するようにオブジェクトのサイズを自動的に変更する。しかしながら、いくつかの実施形態では、デバイス101は、オブジェクトを移動させるためのユーザ入力が検出されるまで、オブジェクトのサイズを調整しない。例えば、図7Aにおいて、オブジェクト706aは、任意選択的に、ユーザ726の視点からのその現在の距離に対するその適切な又は最適なサイズよりも大きいが、デバイス101は、オブジェクト706aをその適切な又は最適なサイズにまだ自動的にスケールダウンしていない。三次元環境702内でオブジェクト706aを移動させるために手703bによって提供される入力を検出したことに応じて、デバイス101は、任意選択的に、図7Bの俯瞰図に示すように、三次元環境702内のオブジェクト706aのサイズを縮小する。オブジェクト706aの縮小サイズは、任意選択的に、ユーザ726の視点からのオブジェクト706aの現在の距離に対応する。ユーザの視点からのオブジェクトの距離に基づいてオブジェクトのサイズを制御することに関する更なる詳細は、図8の一連の図及び方法900を参照して説明される。
【0138】
いくつかの実施形態では、デバイス101は、ユーザ726の視点からのオブジェクトの距離に応じて、異なる量のノイズ低減をオブジェクトの移動に適用する。例えば、図7Cでは、デバイス101は、オブジェクト712a(俯瞰図内のオブジェクト712bに対応する)、オブジェクト716a(俯瞰図内のオブジェクト716bに対応する)、かつオブジェクト714a(俯瞰図内のオブジェクト714bに対応する)を含む三次元環境702を表示している。オブジェクト712a及び716aは、任意選択的に、(例えば、オブジェクト706a及び708aと同様の)二次元オブジェクトであり、オブジェクト714aは、任意選択的に、三次元オブジェクト(例えば、立方体、車の三次元モデルなど)である。図7Cにおいて、オブジェクト712aは、オブジェクト716aよりもユーザ726の視点から遠い。手703eは、任意選択的に、オブジェクト716aに移動入力を現在提供しており、手703cは、任意選択的に、オブジェクト712aに移動入力を現在提供している。手703e及び703cは、任意選択的に、それらのそれぞれのポジションにおいて同じ量のノイズを有する(例えば、同じ長さ/大きさを有する双方向矢印707c及び707eに反映される、手の同じ大きさの揺れ、震え、又は振動)。デバイス101は、任意選択的に、手703eによって制御されるオブジェクト716aの結果として生じる移動よりも、手703cによって制御されるオブジェクト712aの結果として生じる移動により多くのノイズ低減を加えるので(例えば、オブジェクト712aは、ユーザ726の視点からオブジェクト716aよりも遠いので)、手703cのポジションにおけるノイズは、任意選択的に、手703eのポジションにおけるノイズから生じるオブジェクト716aの移動よりも少ないオブジェクト712aの移動をもたらす。ノイズが低減された移動におけるこの差は、任意選択的に、双方向矢印709bよりも小さい長さ/大きさを有する双方向矢印709aに反映される。
【0139】
いくつかの実施形態では、ユーザの視点に向かって、かつそこから離れるオブジェクトの移動のための異なるアルゴリズムを利用することに加えて、又は代替的に、デバイス101は、三次元環境702内で水平及び垂直にオブジェクトを移動させるための異なるアルゴリズムを利用する。例えば、図7Cにおいて、手703dは、オブジェクト714aに向けられた上向きの垂直移動入力を提供しており、手703cは、オブジェクト712aに向けられた右向きの水平移動入力を提供している。いくつかの実施形態では、所与の量の手の移動に応じて、デバイス101は、移動入力が水平の移動入力である場合よりも、移動入力が垂直の移動入力である場合に、三次元環境702内でオブジェクトをより多く移動させる。いくつかの実施形態では、この差は、垂直の手の移動が水平の手の移動よりも(例えば、重力及び/又は解剖学的理由により)困難であり得るため、ユーザが彼らの手を移動させるときに感じ得る負担を低減するためである。例えば、図7Cにおいて、手703c及び703dの移動量は、任意選択的に同じである。それに応じて、図7Dに示すように、デバイス101は、三次元環境702においてオブジェクト712aを水平に移動させたよりも、三次元環境702においてオブジェクト714aを垂直に移動させた。
【0140】
いくつかの実施形態では、(例えば、方法800を参照してより詳細に説明されるように、手が制御しているオブジェクトから閾値距離(例えば、1、3、6、12、24、36、48、60、又は72cm)を超えている間に任意選択的に発生する間接的な手入力に応じて)オブジェクトが三次元環境702内で移動されているとき、それらの配向は、移動されているオブジェクトが二次元オブジェクトであるか三次元オブジェクトであるかに応じて任意選択的に異なって制御される。例えば、二次元オブジェクトが三次元環境内で移動されている間、デバイス101は、ユーザ726の視点に対して垂直のままであるように、オブジェクトの配向を任意選択的に調整する。例えば、図7C図7Dにおいて、オブジェクト712aが水平に移動されている間、デバイス101は、(例えば、三次元環境の俯瞰図に示されるように)ユーザ726の視点に対して垂直のままであるように、オブジェクト712aの配向を自動的に調整している。いくつかの実施形態では、ユーザ726の視点に対するオブジェクト712aの配向の正規性は、任意選択的に、三次元環境702内の任意の方向における移動のために維持される。対照的に、三次元オブジェクトが三次元環境内で移動されている間、デバイス101は、任意選択的に、三次元環境702内のオブジェクト又は表面に対するオブジェクトの特定の表面の相対的な配向を維持する。例えば、図7C図7Dでは、オブジェクト714aが垂直に移動されている間、デバイス101は、オブジェクト714aの底面が物理的環境及び/又は三次元環境702内の床と平行なままであるように、オブジェクト714aの配向を制御している。いくつかの実施形態では、オブジェクト714aの底面と物理的環境及び/又は三次元環境702内の床との間の平行関係は、任意選択的に、三次元環境702内の任意の方向の移動のために維持される。
【0141】
いくつかの実施形態では、方法800を参照してより詳細に説明されるように、手が制御しているオブジェクトから手が閾値距離(例えば、1、3、6、12、24、36、48、60、又は72cm)未満である間に任意選択的に発生する直接移動入力を介して移動されているオブジェクトは、手によって提供される対応する回転入力(例えば、移動入力中の1つ以上の軸を中心とした手の回転)に従って任意選択的に自由に回転(例えば、ピッチ、ヨー、かつ/又はロール)する。オブジェクトのこの自由な回転は、任意選択的に、間接的な移動入力を参照して上述したオブジェクトの制御された配向とは対照的である。例えば、図7Cにおいて、手703eは、任意選択的に、オブジェクト716aに直接移動入力を提供している。図7Cから図7Dまで、手703eは、任意選択的に、左方向に移動して、オブジェクト716aを三次元環境702内で左方向に移動させ、また、図7Dに示すように、回転(例えば、ピッチ、ヨー、かつ/又はロール)入力を提供して、オブジェクト716aの配向を変更している。図7Dに示すように、オブジェクト716aは、手703eによって提供される回転入力に従って回転しており、オブジェクト716aは、ユーザ726の視点に対して垂直のままではない。
【0142】
しかしながら、いくつかの実施形態では、直接移動入力の終了を検出すると(例えば、手によって行われているピンチハンド形状の解放を検出すると、又はユーザの手が制御されているオブジェクトから閾値距離よりも遠くに移動したことを検出すると)、デバイス101は、制御されていたオブジェクトの配向を、そのオブジェクトのタイプ(例えば、二次元又は三次元)に適用される上述のルールに応じて自動的に調整する。例えば、図7Eでは、手703eは、三次元環境702内の空き空間にオブジェクト716aをドロップしている。これに応じて、デバイス101は、図7Eに示すように、オブジェクト716aの配向をユーザ726の視点に対して垂直になるように自動的に調整している(例えば、ドロップされた瞬間のオブジェクトの配向とは異なる)。
【0143】
いくつかの実施形態では、デバイス101は、オブジェクトが別のオブジェクト又は表面に接近すると、そのオブジェクトの配向を別のオブジェクト又は表面に対応するように自動的に調整する(例えば、二次元及び三次元オブジェクトのための前述の配向規則にかかわらず)。例えば、図7Dから図7Eにおいて、手703dは、任意選択的にデバイス101の物理的環境内の物理的なソファの表現であるソファの表現724aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内にオブジェクト714aを移動させるための間接的な移動入力を提供している。これに応じて、図7Eにおいて、デバイス101は、オブジェクト714aの配向を、接近した表現724aの表面に対応するように、かつ/又は平行になるように調整している(例えば、これにより、任意選択的に、オブジェクト714aの底面は、物理的環境及び/又は三次元環境702内の床に対してもはや平行のままではなくなる)。同様に、図7Dから図7Eでは、手703cは、オブジェクト712aを仮想オブジェクト718aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内に移動させるための間接的な移動入力を提供している。これに応じて、図7Eでは、デバイス101は、オブジェクト718aのアプローチされた表面に対応する及び/又は平行になるようにオブジェクト712aの配向を調整している(例えば、これは、任意選択的に、オブジェクト712aの配向がもはやユーザ726の視点に対して垂直のままではないことをもたらす)。
【0144】
更に、いくつかの実施形態では、個別のオブジェクトがオブジェクト(例えば、物理的又は仮想的)の表面の閾値距離内に移動されると、デバイス101は、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットであるか、又は無効なドロップターゲットであるかを示すバッジを個別のオブジェクト上に表示する。例えば、個別のオブジェクトに対する有効なドロップターゲットは、個別のオブジェクトを追加することができるドロップターゲット、かつ/又は個別のオブジェクトを包含することができるドロップターゲットであり、個別のオブジェクトに対する無効なドロップターゲットは、個別のオブジェクトを追加することができないドロップターゲット、かつ/又は個別のオブジェクトを包含することができないドロップターゲットである。図7Eにおいて、オブジェクト718aはオブジェクト712aの有効なドロップターゲットである。したがって、デバイス101は、オブジェクト718aがオブジェクト712aの有効なドロップターゲットであることを示すバッジ720を、オブジェクト712aの右上隅にオーバーレイして表示する。有効及び無効なドロップターゲット、並びに表示される関連付けられたインジケーション、かつデバイス101の他の応答の更なる詳細は、方法1000、1200、1400、かつ/又は1600を参照して説明される。
【0145】
図8A図8Kは、いくつかの実施形態による、三次元環境内で異なる方向にオブジェクトを移動させるために異なるアルゴリズムを利用する方法800を示すフローチャートである。いくつかの実施形態では、方法800は、表示生成構成要素(例えば、図1図3、及び図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)、及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実施される。いくつかの実施形態では、方法800は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)などのコンピュータシステムの1つ以上のプロセッサによって実行される命令によって管理される。方法800のいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0146】
いくつかの実施形態では、方法800は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0147】
いくつかの実施形態では、表示生成構成要素を介して、図7Aのオブジェクト706a又は708a(例えば、表示生成構成要素を取り囲む物理的環境に対応する環境)(例えば、三次元環境に表示されるアプリケーションのウィンドウ、三次元環境に表示される仮想オブジェクト(例えば、仮想時計、仮想テーブルなど)など)などの第1のオブジェクトを三次元環境に表示する。いくつかの実施形態では、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって生成され、表示され、又はそうでなければ見ることができるようにされ、第1のオブジェクトが三次元環境内での移動のために選択されている間、電子デバイスは、1つ以上の入力デバイスを介して、図7Aの手703a、703bからの入力などの、表示生成構成要素が位置する物理的環境内の電子デバイスのユーザの身体の個別の部分の移動(例えば、ユーザの手及び/又は腕の移動)に対応する第1の入力を検出する(802a)(例えば、ユーザの手が第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間にユーザの視線が第1のオブジェクトに向けられている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状の手の移動が続くピンチジェスチャ、又はユーザの手が第1のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状の手の移動が続く、ピンチ)。いくつかの実施形態では、第1の入力は、方法1000、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0148】
いくつかの実施形態では、第1の入力を検出したことに応じて(802b)、第1の入力が、図7Aの手703bなどの第1の入力方向における物理的環境内のユーザの身体の個別の部分の移動を含む(例えば、第1の入力における手の移動が、三次元環境内のユーザの視点から離れる手の移動を含む(又はそれのみを含む))という判定に従って、電子デバイスは、図7Bのオブジェクト706aの移動などの、物理的環境内のユーザの身体の個別の部分の第1の入力方向への移動に従って、第1のオブジェクトを三次元環境内の第1の出力方向に移動させ(802c)(例えば、ユーザの手の移動に基づいて、第1のオブジェクトを三次元環境内のユーザの視点から離れるように移動させる)、第1の出力方向における第1のオブジェクトの移動は、第1の入力方向における物理的環境内のユーザの身体の個別の部分の移動に対する第1の関係を有する(例えば、第1のオブジェクトが第1のユーザの視点から離れるように移動される量及び/又は方法は、ユーザの手の移動(例えば、ユーザの視点から離れる)を第1のオブジェクトの移動(例えば、ユーザの視点から離れる)に変換する第1のアルゴリズムによって制御され、その例示的な詳細は後述される)。
【0149】
いくつかの実施形態では、第1の入力が、図7Aの手703aなどの、第1の入力方向とは異なる第2の入力方向への、物理的環境内のユーザの身体の個別の部分の移動を含む(例えば、第1の入力における手の移動が、三次元環境内のユーザの視点に向かう手の移動を含む(又はそれのみを含む))という判定に従って、電子デバイスは、図7Bのオブジェクト708aの移動などの第2の入力方向における物理的環境内のユーザの身体の個別の部分の移動に従って、三次元環境内で第1の出力方向とは異なる第2の出力方向に第1のオブジェクトを移動させ(例えば、ユーザの手の移動に基づいてユーザの視点に向かって第1のオブジェクトを移動させ)、第2の出力方向における第1のオブジェクトの移動は、第2の入力方向における物理的環境内のユーザの身体の個別の部分の移動に対して、第1の関係とは異なる第2の関係を有する。例えば、第1のオブジェクトが第1のユーザの視点に向かって移動させられる量及び/又は方法は、(例えば、ユーザの視点に向かう)ユーザの手の移動を(例えば、ユーザの視点に向かう)第1のオブジェクトの移動に変換する、第1のアルゴリズムとは異なる第2のアルゴリズムによって制御され、例示的詳細は、後述されるであろう。いくつかの実施形態では、第1及び第2のアルゴリズムにおける手の移動のオブジェクトの移動への変換は、異なる(例えば、所与の量の手の移動に対して異なる量のオブジェクトの移動)。したがって、いくつかの実施形態では、異なる方向(例えば、ユーザの視点に対して水平、ユーザの視点に対して垂直、ユーザの視点から更に離れて、ユーザの視点に向かってなど)への第1のオブジェクトの移動は、ユーザの手の移動を三次元環境内の第1のオブジェクトの移動に異なるように変換する異なるアルゴリズムによって制御される。異なる移動方向について三次元環境内のオブジェクトの移動を制御するために異なるアルゴリズムを使用することは、デバイスが、三次元環境内のオブジェクトのための改善されたロケーション制御を容易にするために、問題となっている移動方向により好適であるアルゴリズムを利用することを可能にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0150】
いくつかの実施形態では、第1の出力方向への第1のオブジェクト(例えば、オブジェクト706a)の移動の大きさ(例えば、図7Bのように視点から離れるなど、第1のオブジェクトが三次元環境内で第1の出力方向に移動する距離)は、第1の入力方向へのユーザの身体の個別の部分(例えば、手703b)の移動の速度とは無関係である(804a)(例えば、三次元環境内の第1のオブジェクトの移動量は、第1の入力方向への入力を提供するユーザの手の移動量、第1の入力方向への入力を提供するときのユーザの手とユーザの肩との間の距離、かつ/又は以下で説明する様々な要因のうちの1つ以上などの要因に基づくが、任意選択的に、第1の入力方向への入力中にユーザの手が移動する速度には基づかない)。
【0151】
いくつかの実施形態では、第2の出力方向への第1のオブジェクト(例えば、オブジェクト708a)の移動の大きさ(例えば、図7Bのように視点に向かうなど、第2の出力方向に三次元環境内で第1のオブジェクトが移動する距離)は、第2の入力方向へのユーザの身体の個別の部分(例えば、手703a)の移動の速度とは無関係である(804b)。例えば、三次元環境内の第1のオブジェクトの移動量は、第2の入力方向への入力を提供するユーザの手の移動量、第2の入力方向への入力を提供するときのユーザの手とユーザの肩との間の距離、かつ/又は以下に説明する様々な要因のうちの1つ以上などの要因に基づくが、任意選択的に、第2の入力方向への入力中にユーザの手が移動する速度には基づかない。いくつかの実施形態では、オブジェクトが三次元環境内で移動する距離は、ユーザの個別の部分の移動の速度から独立しているが、第1のオブジェクトが三次元環境を通して移動する速度は、ユーザの個別の部分の移動の速度に基づく。オブジェクトの移動量をユーザの個別の部分の速度から独立させることは、入力が受信される前に(オブジェクトの移動量がオブジェクトの個別の部分の移動速度から独立していた場合に)オブジェクトをその元のロケーションに戻すことに対応するオブジェクトを移動させるための順次入力が、(例えば、順次入力がユーザの個別の部分の異なる速度で提供されたので)オブジェクトがその元のロケーションに戻されないことをもたらす状況を回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0152】
いくつかの実施形態では、(例えば、第1の入力方向及び)第1の出力方向は、図7C及び図7Dのオブジェクト712aに対するなど、三次元環境内のユーザの視点に対して水平方向である(806a)(例えば、電子デバイスは、電子デバイスのユーザに関連付けられた三次元環境の視点を表示しており、第1の入力方向及び/又は第1の出力方向は、第1のオブジェクトを水平方向に(例えば、三次元環境の床面に実質的に平行に)移動させるための入力及び/又は出力に対応する)。例えば、第1の入力方向は、電子デバイス及び/又は表示生成構成要素の物理的環境内の床に対して実質的に平行に(及び/又は重力に対して実質的に垂直に)移動するユーザの手に対応し、第1の出力方向は、電子デバイスによって表示される三次元環境内の床面に対して実質的に平行な第1のオブジェクトの移動に対応する。
【0153】
いくつかの実施形態では、(例えば、第2の入力方向)及び第2の出力方向は、図7C及び7Dのオブジェクト714aに関してなど、三次元環境内のユーザの視点に対して垂直方向である(806b)。例えば、第2の入力方向及び/又は第2の出力方向は、第1のオブジェクトを垂直方向(例えば、三次元環境の床面に対して実質的に垂直)に移動させるための入力及び/又は出力に対応する。例えば、第2の入力方向は、電子デバイス及び/又は表示生成構成要素の物理的環境内の床に対して実質的に垂直に(及び/又は重力に対して実質的に平行に)移動するユーザの手に対応し、第2の出力方向は、電子デバイスによって表示される三次元環境内の床面に対して実質的に垂直な第1のオブジェクトの移動に対応する。したがって、いくつかの実施形態では、ユーザの個別の部分の所与の移動量に対する第1のオブジェクトの移動量は、第1のオブジェクトの垂直移動及び第1のオブジェクトの水平移動に対して異なる。垂直及び水平移動入力に対して異なる移動量を提供することは、デバイスが、三次元環境内のオブジェクトに対する改善されたロケーション制御を容易にするために、問題となっている移動の方向により好適であるアルゴリズムを利用することを可能にし(例えば、垂直手移動は、重力に起因して、水平手移動よりもユーザにとって完了することが困難であり得るため)、それによって、使用におけるエラーを低減させ、ユーザ-デバイス相互作用を改善する。
【0154】
いくつかの実施形態では、第1の入力方向及び第2の入力方向における物理的環境内のユーザの身体の個別の部分の移動は、図7Aの手703a及び703bの移動の大きさが同じである(例えば、ユーザの手が電子デバイス及び/又は表示生成構成要素の物理的環境内で12cm移動する)などの第1の大きさを有し(808a)、第1の出力方向における第1のオブジェクトの移動は、図7Bのオブジェクト706aに関して示すように、第1の大きさよりも大きい第2の大きさを有する(808b)(例えば、入力が第1のオブジェクトを水平に移動させる入力である場合、第1のオブジェクトは、三次元環境内で1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、1.9、2、4、6、又は10などの第1の乗数の12cm倍だけ水平に移動する)。第2の出力方向への第1のオブジェクトの移動は、図7Bのオブジェクト708aに関して示すように、第1の大きさよりも大きく、第2の大きさとは異なる第3の大きさを有する(808c)(例えば、入力が第1のオブジェクトを垂直に移動させる入力である場合には、第1のオブジェクトは、三次元環境において1.2、1.2、1.3、1.4、1.5、1.6、1.7、1.8、1.9、2、4、6又は10のような第1の乗数よりも大きい第2の乗数の12cm倍だけ垂直に移動する)。したがって、いくつかの実施形態では、第1のオブジェクトを垂直に(例えば、上又は下に)移動させるための入力は、第1のオブジェクトを水平に(例えば、左又は右に)移動させるための入力と比較して、所与の量の手の移動に対して、三次元環境内の第1のオブジェクトのより多くの移動をもたらす。上述の乗数は、任意選択的に、手の移動の全体、又はそれぞれの方向(例えば、水平又は垂直)における手の移動の成分のみに適用されることを理解されたい。垂直及び水平移動入力に対して異なる移動量を提供することは、デバイスが、三次元環境内のオブジェクトに対する改善されたロケーション制御を容易にするために、問題となっている移動の方向により好適であるアルゴリズムを利用することを可能にし(例えば、垂直手移動は、重力に起因して、水平手移動よりもユーザにとって完了することが困難であり得るため)、それによって、使用におけるエラーを低減させ、ユーザ-デバイス相互作用を改善する。
【0155】
いくつかの実施形態では、第1の関係は、ユーザの身体の第2の個別の部分(例えば、705aなどの肩)とユーザの身体の個別の部分(例えば、705bなどの肩に対応する手)との間のオフセットに基づき、第2の関係は、ユーザの身体の第2の個別の部分(例えば、肩)とユーザの身体の個別の部分(例えば、肩に対応する手)との間のオフセットに基づく(810)。いくつかの実施形態では、ユーザの手とユーザの対応する肩との間のオフセット及び/又は分離及び/又は距離及び/又は角度オフセットは、ユーザの視点から離れる、かつ/又はそれに向かう第1のオブジェクトの移動を判定する際の要因である。例えば、ユーザの視点から離れる第1のオブジェクトの移動に関して、ユーザの肩と手との間のオフセットは、第1の入力の開始時に(例えば、ピンチハンド形状の手の移動が検出される前に、親指の先端と人差し指の先端とが一緒になって接触していると検出されるときなど、手の人差し指と親指とのピンチダウンが検出される瞬間に)任意選択的に記録され、このオフセットは、第1のオブジェクトがユーザの視点からどれだけ離れるように移動されるべきかを判定するために手の移動と乗算される係数に対応する。いくつかの実施形態では、この係数は、肩と手との間のオフセットの0から40cm(又は5、10、15、20、30、50、若しくは60cm)まで1の値を有し、次いで、オフセットの40(又は5、10、15、20、30、50、若しくは60cm)から60cm(又は25、30、35、40、50、70、若しくは80cm)まで直線的に増加し、次いで、60cm(又は25、30、35、40、50、70、若しくは80cm)以降からより大きい割合で直線的に増加する。ユーザの視点に向かう第1のオブジェクトの移動に関して、ユーザの肩と手との間のオフセットは、第1の入力の開始時に(例えば、ピンチハンド形状の手の移動が検出される前に、手の人差し指と親指とのピンチダウンが検出される瞬間に)任意選択的に記録され、そのオフセットは半分にされる。初期オフセットから半分にされたオフセットへの手の移動は、任意選択的に、第1のオブジェクトの現在のポジションからユーザの視点までの第1のオブジェクトの移動に対応するように設定される。オブジェクト移動を決定する際に手から肩までのオフセットを利用することは、異なる開始オフセットが与えられた場合に快適で一貫したオブジェクト移動応答を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0156】
いくつかの実施形態では、(例えば、第1の入力方向及び)第1の出力方向は、図7Bのオブジェクト706aで示されるような、三次元環境内のユーザの視点から離れる移動に対応する(812a)。例えば、電子デバイスは、電子デバイスのユーザに関連付けられた三次元環境の視点を表示しており、第1の入力方向及び/又は第1の出力方向は、第1のオブジェクトをユーザの視点から更に離れるように(例えば、三次元環境の床面に実質的に平行に、かつ/又は三次元環境内のユーザの視点の配向に実質的に平行に)移動させるための入力及び/又は出力に対応する。例えば、第1の入力方向は、電子デバイス及び/又は表示生成構成要素の物理的環境においてユーザの身体から離れるように移動するユーザの手に対応し、第1の出力方向は、電子デバイスによって表示される三次元環境内でユーザの視点から離れるような第1のオブジェクトの移動に対応する。
【0157】
いくつかの実施形態では、(例えば、第2の入力方向及び)第2の出力方向は、図7Bのオブジェクト708aで示されるような、三次元環境におけるユーザの視点に向かう移動に対応する(812b)。例えば、第2の入力方向及び/又は第2の出力方向は、第1のオブジェクトをユーザの視点のより近くに(例えば、三次元環境の床面に実質的に平行に、かつ/又は三次元環境内のユーザの視点の配向に実質的に平行に)移動させるための入力及び/又は出力に対応する。例えば、第2の入力方向は、電子デバイス及び/又は表示生成構成要素の物理的環境においてユーザの身体に向かって移動するユーザの手に対応し、第2の出力方向は、電子デバイスによって表示される三次元環境内でユーザの視点に向かう第1のオブジェクトの移動に対応する。
【0158】
いくつかの実施形態では、第1の出力方向への第1のオブジェクトの移動は、ユーザの一部(例えば、ユーザの手、ユーザの肘、ユーザの肩)と第1のオブジェクトに対応するロケーションとの間の距離に基づく第1の値によって増加された(例えば、乗算された)第1の入力方向へのユーザの個別の部分の移動(例えば、図7Aの手703bの移動)である(812c)。例えば、三次元環境内で第1のオブジェクトが第1の出力方向に移動する量は、第1の入力方向におけるユーザの手の移動量に第1の値を乗算したものによって定義される。いくつかの実施形態では、第1の値は、ユーザの特定の部分(例えば、ユーザの手、肩、かつ/又は肘)と第1のオブジェクトのロケーションとの間の距離に基づく。例えば、いくつかの実施形態では、第1の値は、第1のオブジェクトと、オブジェクトを移動させるための入力を提供しているユーザの手に対応する肩との間の距離が増加するにつれて増加し、第1のオブジェクトとユーザの肩との間の距離が減少するにつれて減少する。第1の値の更なる詳細は以下に提供される。
【0159】
いくつかの実施形態では、第2の出力方向への第1のオブジェクトの移動は、第2の入力方向へのユーザの個別の部分の移動(例えば、図7Aの手703aの移動)に、三次元環境内のユーザの視点と第1のオブジェクトに対応するロケーションとの間の距離に基づく(例えば、かつユーザの部分(例えば、ユーザの手、ユーザの肘、ユーザの肩)と第1のオブジェクトに対応するロケーションとの間の距離に基づかない)、第1の値とは異なる第2の値を増加させた(例えば、乗算した)ものである(812d)。例えば、第1のオブジェクトが三次元環境内で第2の出力方向に移動する量は、第2の入力方向におけるユーザの手の移動量に第2の値を乗算したものによって定義される。いくつかの実施形態では、第2の値は、(例えば、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手が親指及び人差し指のピンチジェスチャを実行することを検出すると)第2の入力方向へのユーザの個別の部分の移動が開始されるときの、ユーザの視点と第1のオブジェクトのロケーションとの間の距離に基づく。例えば、いくつかの実施形態では、第2の値は、第1のオブジェクトとユーザの視点との間の距離が増加するにつれて増加し、第1のオブジェクトとユーザとの間の距離が減少するにつれて減少する。第2の値の更なる詳細は、以下に提供される。ユーザの視点から離れる移動及びユーザの視点に向かう移動に対して異なる乗数を提供することは、デバイスが、(例えば、ユーザの視点に向かう最大移動は知られている(例えば、ユーザの視点への移動によって制限される)が、ユーザの視点から離れる最大移動は知られていないことがあるので)三次元環境内のオブジェクトのための改善されたロケーション制御を容易にするために、問題となっている移動の方向により好適であるアルゴリズムを利用することを可能にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0160】
いくつかの実施形態では、第1の値は、第1の入力方向におけるユーザの個別の部分の移動(例えば、図7Aの手703bの移動)が進行するにつれて変化し、かつ/又は第2の値は、第2の入力方向におけるユーザの個別の部分の移動(例えば、図7Aの手703aの移動)が進行するにつれて変化する(814)。いくつかの実施形態では、第1の値は、ユーザの肩からの第1のオブジェクトの距離(例えば、第1の値は、その距離が増加するにつれて増加する)及びユーザの肩からのユーザの手の距離(例えば、第1の値は、その距離が増加するにつれて増加する)の関数である。したがって、いくつかの実施形態では、ユーザの手が第1の入力方向に(例えば、ユーザから離れるように)移動すると、(例えば、ユーザの手の移動に応じて)肩からの第1のオブジェクトの距離が増加し、(例えば、ユーザの身体から離れるユーザの手の移動の結果として)ユーザの肩からのユーザの手の距離が増加する。したがって、第1の値は増加する。いくつかの実施形態では、第2の値は、追加的に又は代替的に、第2の入力方向へのユーザの手の移動をもたらすユーザの手によって実行される初期ピンチの時点での第1のオブジェクトと、ユーザの手とユーザの肩との間の距離との間の距離の関数である。したがって、いくつかの実施形態では、ユーザの手が第2の入力方向に(例えば、ユーザの身体に向かって)移動するにつれて、ユーザの肩からのユーザの手の距離が減少する(例えば、ユーザの身体に向かうユーザの手の移動の結果として)。したがって、第2の値は減少する。ユーザの視点から離れる移動及び視点に向かう移動のための動的乗数を提供することは、オブジェクトの移動の他の範囲においてオブジェクトを長い距離移動させる能力を提供しながら、オブジェクトの移動の特定の範囲において正確なロケーション制御を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0161】
いくつかの実施形態では、第1の値は、第1の入力方向におけるユーザの個別の部分の移動(例えば、図7Aの手703bの移動)が進行するにつれて、第1の方式で変化し、第2の値は、第2の入力方向におけるユーザの個別の部分の移動(例えば、図7Aの手703aの移動)が進行するにつれて、第1の方式とは異なる第2の方式で変化する(816)。例えば、第1の値は、第1のオブジェクトとユーザの手との間及び/又はユーザの手とユーザの肩との間の距離の関数として、第2の値がユーザの手とユーザの肩との間の距離の関数として変化するのとは異なって変化する(例えば、より大きい又はより小さい大きさの変化及び/又は反対方向の変化(例えば、増加又は減少))。ユーザの視点から離れる移動及びユーザの視点に向かう移動について異なるように変化する乗数を提供することは、オブジェクトをユーザの視点から離れて潜在的に未知の距離に移動させるために必要とされるユーザ入力(例えば、手の移動(単数又は複数))と、オブジェクトをユーザの視点に向かって最大距離(例えば、ユーザの視点までの移動によって制限される)に移動させるために必要とされるユーザ入力(例えば、手の移動(単数又は複数))との差を考慮し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0162】
いくつかの実施形態では、第1の値は、第1の入力方向へのユーザの個別の部分の移動(例えば、図7Aの手703bの移動)の所与の部分の間に一定のままであり、第2の値は、第2の入力方向へのユーザの個別の部分の移動(例えば、図7Aの手703aの移動)の(例えば、任意の)所与の部分の間に一定のままではない(818)。例えば、第1の値は、任意選択的に、第1のオブジェクトとユーザの手との間及び/又はユーザの手とユーザの肩との間の第1の距離範囲内(例えば、5、10、20、30、40、50、60、80、100、又は120cm未満の距離などの比較的短い距離)で一定であり、任意選択的に、第1の距離範囲よりも長い距離に対して距離の関数として直線的に増加する。いくつかの実施形態では、第1の距離範囲よりも大きい閾値距離の後(例えば、30、40、50、60、80、100、120、150、200、300、400、500、750、又は1000cmの後)、第1の値は、閾値距離未満のその値よりも大きい一定値にロックされる。対照的に、第2の値は、任意選択的に、ユーザの手とユーザの肩との間の距離が変化するにつれて、連続的に及び/又は指数関数的に及び/又は対数関数的に変化する(例えば、ユーザの手とユーザの肩との間の距離が減少するにつれて減少する)。ユーザの視点から離れる移動及びユーザの視点に向かう移動について異なるように変化する乗数を提供することは、オブジェクトをユーザの視点から離れて潜在的に未知の距離に移動させるために必要とされるユーザ入力(例えば、手の移動(単数又は複数))と、オブジェクトをユーザの視点に向かって最大距離(例えば、ユーザの視点までの移動によって制限される)に移動させるために必要とされるユーザ入力(例えば、手の移動(単数又は複数))との差を考慮し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0163】
いくつかの実施形態では、第1の乗数及び第2の乗数は、ユーザの腕の長さに対する(例えば、ユーザの肩とユーザの個別の部分との間の)距離の比に基づく(820)。例えば、第1の値は、任意選択的に、2つの係数を乗算した結果である。第1の係数は、任意選択的に、第1のオブジェクトとユーザの肩との間の距離であり(例えば、任意選択的に、移動入力を提供する手に対応する全腕の長さのパーセンテージ又は比率として)、第2の係数は、任意選択的に、ユーザの手とユーザの肩との間の距離である(例えば、任意選択的に、移動入力を提供する手に対応する全腕の長さのパーセンテージ又は比率として)。第2の値は、任意選択的に、2つの係数を乗算した結果である。第1の係数は、任意選択的に、ユーザの手によって提供される移動入力に至るユーザの手によって実行される初期ピンチジェスチャの時点における第1のオブジェクトとユーザの視点との間の距離であり(例えば、この第1の係数は、任意選択的に一定である)、任意選択的に、移動入力を提供する手に対応する全腕の長さの割合又は比として提供され、第2の係数は、任意選択的に、ユーザの肩とユーザの手との間の距離である(例えば、任意選択的に、移動入力を提供する手に対応する全腕の長さの割合又は比として)。第2の要因は、任意選択的に、ユーザの手によって実行される初期ピンチジェスチャにおけるユーザの肩と手との間の距離を決定することと、その初期距離の半分へのユーザの手の移動が、その初期/現在のロケーションからユーザの視点のロケーションまでずっと移動する第1のオブジェクトをもたらすことを定義することと、を含む。(例えば、絶対距離ではなく)ユーザの腕の長さのパーセンテージ又は比に基づくものとして移動乗数を定義することは、異なる腕の長さを有するユーザによって提供される入力に対する予測可能で一貫したデバイス応答を可能にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0164】
いくつかの実施形態では、本明細書に記載されるように、電子デバイスは、ユーザの視点から離れる又はユーザの視点に向かう第1のオブジェクトの移動(例えば、それぞれ、ユーザの身体から離れる又はユーザの身体に向かうユーザの手の移動に対応する)を制御するための異なるアルゴリズムを利用する。いくつかの実施形態では、電子デバイスは、(例えば、ピンチハンド形状のままである間に)手の移動を連続的又は周期的に検出しており、手の移動検出の特定の数のフレーム(例えば、2フレーム、3フレーム、5フレーム、10フレーム、20フレーム、40フレーム、又は70フレーム)を平均し、ユーザの手の移動が、それらの平均されたフレームの間にユーザの視点から離れる第1のオブジェクトの移動に対応するか、又はそれらの平均されたフレームの間にユーザの視点に向かう第1のオブジェクトの移動に対応するかを判定する。電子デバイスがこれらの判定を行うとき、電子デバイスは、ユーザの手の移動を三次元環境内の第1のオブジェクトの移動にマッピングする第1のアルゴリズム(例えば、第1のオブジェクトをユーザの視点から離れるように移動させるためのアルゴリズム)又は第2のアルゴリズム(例えば、第1のオブジェクトをユーザの視点に向かって移動させるためのアルゴリズム)の利用を切り替える。電子デバイスは、任意選択的に、ユーザの手の移動を検出した最新の平均結果に基づいて、2つのアルゴリズムを動的に切り替える。
【0165】
第1のアルゴリズムに関して、2つの係数が、移動入力の開始時(例えば、ユーザの親指及び人差し指のピンチダウン時)及び/又はユーザの身体から離れるユーザの手の移動の開始時に任意選択的に決定され、2つの係数は、それらの構成部分が変化するにつれて任意選択的に更新され、かつ/又は手の移動の大きさとともに乗算されて、結果として生じるオブジェクトの移動の大きさを定義する。第1の係数は、任意選択的に、移動されるオブジェクトとユーザの肩との間の距離に対応するオブジェクト対肩係数である。第1の係数は、任意選択的に、0cmから第1の距離閾値(例えば、5cm、10cm、20cm、30cm、40cm、50cm、60cm、又は100cm)までの肩とオブジェクトとの間の距離に対して1の値を有し、任意選択的に、最大係数値(例えば、2、3、4、5、6、7.5、8、9、10、15、又は20)まで距離の関数として線形に増加する値を有する。第2の係数は、任意選択的に、0cmから第1の距離閾値(例えば、5cm、10cm、20cm、30cm、40cm、50cm、60cm、又は100cm、任意選択的に第1の係数の第1の距離閾値と同じ又は異なる)までの肩と手との間の距離に対して1の値を有し、第1の距離閾値から第2の距離閾値(例えば、7.5cm、15cm、30cm、45cm、60cm、75cm、90cm、又は150cm)までの距離の関数として第1の速度で線形に増加する値を有し、次いで、第2の距離閾値から前方への距離の関数として第1の速度よりも大きい第2の速度で線形に増加する値を有する肩-手係数である。いくつかの実施形態では、第1及び第2の係数は、ともに乗算され、手の移動の大きさと乗算され、三次元環境内のユーザの視点から離れるオブジェクトの移動を判定する。いくつかの実施形態では、電子デバイスは、ユーザから離れるユーザの手の所与の移動(例えば、1、3、5、10、30、50、100、又は200メートルの移動)に対して、ユーザから離れるオブジェクトの移動に最大の大きさを課し、したがって、最大の大きさを有する天井関数を上述の乗算の結果に適用する。
【0166】
第2のアルゴリズムに関して、移動入力の開始時(例えば、ユーザの親指及び人差し指のピンチダウン時)及び/又はユーザの身体に向かうユーザの手の移動の開始時に、第3の要因が任意選択的に決定される。第3の係数は、任意選択的に、その構成部分が変化するにつれて更新され、かつ/又は手の移動の大きさとともに乗算されて、結果として生じるオブジェクトの移動の大きさを定義する。第3の要因は、任意選択的に、肩から手への要因である。ユーザの肩と手との間の初期距離は、任意選択的に決定され(「初期距離」)、移動入力の開始時(例えば、ユーザの親指及び人差し指のピンチダウン時)、かつ/又はユーザの身体に向かうユーザの手の移動の開始時に記録される。第3の係数の値は、「初期距離」の半分である手の移動を、三次元環境内のその現在のポジションからユーザの視点まで(又はユーザの人差し指及び親指のピンチダウン時のユーザの手の初期ポジションに対応するポジション、又はそのポジションから0.1cm、0.5cm、1cm、3cm、5cm、10cm、20cm、若しくは50cmなどの所定の量だけオフセットされたポジションまで)のオブジェクトの移動にマッピングする関数によって定義される。いくつかの実施形態では、関数は、比較的高い肩から手までの距離に対して比較的高い値を有し、比較的低い肩から手までの距離に対して比較的低い値(例えば、1以上)を有する。いくつかの実施形態では、関数は、より低い係数値に向かって凹状である曲線である。
【0167】
いくつかの実施形態では、第1及び/又は第2のアルゴリズムにおける上述の距離及び/又は距離閾値は、任意選択的に、代わりに、絶対距離ではなく相対値(例えば、ユーザの腕の長さの割合)として表される。
【0168】
いくつかの実施形態では、(例えば、第1の値及び/又は)第2の値は、第1のオブジェクトが移動のために選択されたときのユーザの個別の部分(例えば、図7Aの手703a又は703b)のポジションに基づく(822)(例えば、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手によって実行される初期ピンチジェスチャを検出すると、第1のオブジェクトを移動させるためのユーザの手の移動につながる)。例えば、上述のように、第2の値を定義する1つ以上の係数は、ユーザの手によって実行される初期ピンチジェスチャの時点での第1のオブジェクトとユーザの視点との間の距離、かつ/又はユーザの手によって実行される初期ピンチジェスチャの時点でのユーザの肩とユーザの手との間の距離に対応する、電子デバイスによって実行される測定値に基づく。移動のための第1のオブジェクトの選択時の腕ポジションに基づいて移動乗数のうちの1つ以上を定義することにより、デバイスは、移動のための第1のオブジェクトの選択時のユーザの初期腕ポジションに応じて第1のオブジェクトの特定の移動が達成不可能になるのではなく、移動入力が開始される様々な(例えば、複数の、任意の)腕ポジションについて第1のオブジェクトの同じ移動量を容易にすることが可能になり、それによって、使用におけるエラーが低減され、ユーザ-デバイス相互作用が改善される。
【0169】
いくつかの実施形態では、第1のオブジェクトが三次元環境内の移動のために選択されている間に、電子デバイスは、1つ以上の入力デバイスを介して、図7Cの手703cの移動707cなどの、三次元環境内のユーザの視点に対して水平である方向のユーザの個別の部分の個別の移動を検出する(824a)。例えば、重力に対して左右であるユーザの手の移動である。いくつかの実施形態では、手の移動は、ユーザの手の移動におけるノイズに対応する(例えば、ユーザの手が揺れるか又は震えている)。いくつかの実施形態では、手の移動は、対応する速度及び/又は加速度閾値未満の速度及び/又は加速度を有する。いくつかの実施形態では、上述の速度及び/又は加速度閾値よりも大きい速度及び/又は加速度を有する横方向の手の移動を検出したことに応じて、電子デバイスは、かかる移動に後述のノイズ低減を適用せず、むしろ、ノイズ低減を適用せずに、ユーザの手の横方向の移動に従って第1のオブジェクトを移動させる。
【0170】
いくつかの実施形態では、ユーザの個別の部分の個別の移動を検出したことに応じて、電子デバイスは、オブジェクト712aを参照して説明したように、ユーザの個別の部分のノイズ低減された個別の移動に基づいて、三次元環境内の第1のオブジェクトのロケーションを更新する(824b)。いくつかの実施形態では、電子デバイスは、ユーザの手の移動のノイズ低減されていない大きさ、周波数、速度、かつ/又は加速度に従うのではなく、(例えば、1ユーロフィルタを使用して)ユーザの手の移動のノイズ低減された大きさ、周波数、速度、かつ/又は加速度に従って、三次元環境内で第1のオブジェクトを移動させる。いくつかの実施形態では、電子デバイスは、ノイズ低減が適用されなかった場合に第1のオブジェクトを移動させるよりも小さい大きさ、頻度、速度、かつ/又は加速度で第1のオブジェクトを移動させる。いくつかの実施形態では、電子デバイスは、かかるノイズ低減を手の移動の横方向(及び/又は横方向成分)に適用するが、かかるノイズ低減を手の移動の垂直方向(及び/又は垂直方向成分)及び/又はユーザの視点に向かう若しくはユーザの視点から離れる手の移動(及び/又は手の移動の成分)に適用しない。横方向の手の移動に対して手の移動におけるノイズを低減することは、ユーザの手の左右及び/又は横方向の移動においてより容易に存在し得るオブジェクトの移動のノイズを低減し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0171】
いくつかの実施形態では、図7Cのオブジェクト712aなどのユーザの個別の部分の個別の移動が検出されたときに、第1のオブジェクトに対応するロケーションがユーザの個別の部分から第1の距離にある(例えば、第1のオブジェクトが、手のそれぞれの横方向移動中にユーザの手から第1の距離にある)という判定に従って、ユーザの個別の部分の個別の移動は、図7Cのオブジェクト712aを参照して説明したように、三次元環境内の第1のオブジェクトのロケーションを更新するために使用される調整された移動を生成するために使用される第1のノイズ低減量に基づいて調整され(826a)、図7Cのオブジェクト716aなどのユーザの個別の部分の個別の移動が検出されたときに、第1のオブジェクトに対応するロケーションがユーザの個別の部分から第1の距離よりも小さい第2の距離にある(例えば、第1のオブジェクトが、手のそれぞれの横方向移動中にユーザの手から第2の距離にある)という判定に従って、ユーザの個別の部分の個別の移動は、図7Cのオブジェクト716aを参照して説明したように、三次元環境内の第1のオブジェクトのロケーションを更新するために使用される調整された移動を生成するために使用されるノイズ低減の第1の量未満の第2の量に基づいて調整される(826b)。したがって、いくつかの実施形態では、電子デバイスは、移動がユーザの手により近いオブジェクトに向けられるときよりも、移動がユーザの手からより離れたオブジェクトに向けられるときに、ユーザの手の左右及び/又は横方向の移動により多くのノイズ低減を適用する。ユーザの手及び/又は視点からのオブジェクトの距離に応じて、異なる量のノイズ低減を印加することは、オブジェクトが、移動入力への変更がより容易に知覚され得る距離にある間、より少なくフィルタリングされた/より直接的な応答を可能にし、オブジェクトが、移動入力への変更がより容易に知覚され得ない距離にある間、より多くフィルタリングされた/より直接的でない応答を可能にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0172】
いくつかの実施形態では、第1のオブジェクトが移動のために選択されている間、かつ第1の入力の間に、電子デバイスは、図7C図7Dのオブジェクト716aに関してなど、第1の入力の対応する複数の配向制御部分に従って、三次元環境内の第1のオブジェクトの配向を複数の方向(例えば、ピッチ、ヨー、又はロールのうちの1つ以上)に制御する(828)。例えば、ユーザの手が第1のオブジェクトに移動入力を提供している間に、第1のオブジェクトの配向(単数又は複数)を変更するためのユーザの手からの入力は、それに応じて第1のオブジェクトに配向(単数又は複数)を変更させる。例えば、第1のオブジェクトを回転させる、オブジェクトを傾斜させるなどのために手が第1のオブジェクトを直接操作している(例えば、第1の入力の間に手が第1のオブジェクトに対して閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも近い)間の手からの入力は、電子デバイスに、かかる入力に従って第1のオブジェクトを回転させる、傾斜させるなどさせる。いくつかの実施形態では、かかる入力は、手が第1のオブジェクトに移動入力を提供している間の手の回転、手の傾きなどを含む。したがって、いくつかの実施形態では、移動入力中に、第1のオブジェクトは、手によって提供される移動入力に従って自由に傾き、回転するなどする。移動入力中にユーザの手によって提供される配向変更入力に従って第1のオブジェクトの配向を変更することは、第1のオブジェクトがユーザによって提供される入力により完全に応答することを可能にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0173】
いくつかの実施形態では、複数の方向における第1のオブジェクトの配向を制御している間(例えば、電子デバイスが、ユーザの手からの入力が第1のオブジェクトのピッチ、ヨー、かつ/又はロールを制御することを可能にしている間)、電子デバイスは、第1のオブジェクトが、図7Eのオブジェクト718aに対するオブジェクト712a又は表現724aに対するオブジェクト714aなどの三次元環境内の表面の閾値距離(例えば、0.1、0.5、1、3、5、10、20、40、又は50cm)内にあることを検出する(830a)。例えば、ユーザの手によって提供される移動入力は、第1のオブジェクトを三次元環境内の仮想又は物理表面の閾値距離内に移動させる。例えば、仮想表面は、任意選択的に、三次元環境内にある仮想オブジェクトの表面(例えば、表示生成構成要素及び/又は電子デバイスの物理的環境内に存在しない仮想テーブルの上部)である。物理的表面は、任意選択的に、電子デバイスの物理的環境内にある物理的オブジェクトの表面であり、その表現は、物理的環境内にある物理的テーブルの上部など、電子デバイスによって(例えば、表示生成構成要素の透明部分を介するなど、デジタルパススルー又は物理的パススルーを介して)三次元環境内に表示される。
【0174】
いくつかの実施形態では、第1のオブジェクトが三次元環境内の表面の閾値距離内にあることを検出したことに応じて、電子デバイスは、三次元環境内の第1のオブジェクトの1つ以上の配向を、図7Eのオブジェクト712a及び714aを参照して説明されるような表面の配向に基づくように(例えば、第1の入力の複数の配向制御部分には基づかずに)更新する(830b)。いくつかの実施形態では、第1のオブジェクトの配向は、表面によって画定される配向に変化する。例えば、表面が(例えば、物理的又は仮想的な)壁である場合、第1のオブジェクトの配向は、第1のオブジェクトの配向を(例えば、壁に平行になるように)変更するための手入力が提供されない場合であっても、壁に平行になるように任意選択的に更新される。表面が(例えば、物理的又は仮想的な)テーブルトップである場合、第1のオブジェクトの配向は、第1のオブジェクトの配向を(例えば、テーブルトップに平行になるように)変更するための手入力が提供されない場合であっても、テーブルトップに平行になるように任意選択的に更新される。近くの表面の配向に基づくように第1のオブジェクトの配向を更新することは、相補的な方法で表面に対して第1のオブジェクトを位置決めするための迅速な方法を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0175】
いくつかの実施形態では、第1のオブジェクトの配向を複数の方向に制御している間に(例えば、電子デバイスが、ユーザの手からの入力が第1のオブジェクトのピッチ、ヨー、かつ/又はロールを制御することを可能にしている間に)、電子デバイスは、図7Eのオブジェクト716aなどに関して、第1のオブジェクトがもはや移動のために選択されていないことを検出する(832a)(例えば、ユーザの手がもはや、人差し指の先端が親指の先端に触れているピンチハンドポーズにないこと、かつ/又はユーザの手が親指の先端から離れるように移動する人差し指の先端のジェスチャを実行したことを検出する)。いくつかの実施形態では、第1のオブジェクトがもはや移動のために選択されていないことを検出したことに応じて、電子デバイスは、図7Eのオブジェクト716aを参照して説明したように、三次元環境内の第1のオブジェクトのデフォルトの配向に基づくように、三次元環境内の第1のオブジェクトの1つ以上の配向を更新する(832b)。例えば、いくつかの実施形態では、オブジェクトのデフォルトの配向は、オブジェクトの配向を変更するためのユーザ入力がない場合、オブジェクトが三次元環境内でデフォルトの配向を有するように、三次元環境によって定義される。例えば、三次元環境内の三次元オブジェクトのデフォルトの配向は、任意選択的に、かかるオブジェクトの底面が三次元環境の床に対して平行であるべきであることである。移動入力中に、ユーザの手は、任意選択的に、オブジェクトの底面を床に対して平行でないようにする配向変更入力を提供することができる。しかしながら、移動入力の終了を検出すると、電子デバイスは、任意選択的に、オブジェクトの配向を変更するための手入力が提供されなくても、オブジェクトの底面が床と平行になるように、オブジェクトの配向を更新する。三次元環境内の二次元オブジェクトは、任意選択的に、異なるデフォルトの配向を有する。いくつかの実施形態では、二次元オブジェクトのデフォルト配向は、オブジェクトの表面に対する法線が三次元環境内のユーザの視点の配向と平行であるものである。移動入力中に、ユーザの手は、任意選択的に、オブジェクトの表面の法線をユーザの視点の配向に平行でないようにする配向変更入力を提供することができる。しかしながら、移動入力の終了を検出すると、電子デバイスは、任意選択的に、オブジェクトの配向を変更するための手入力が提供されなくても、オブジェクトの表面に対する法線がユーザの視点の配向と平行になるように、オブジェクトの配向を更新する。第1のオブジェクトの配向をデフォルトの配向に更新することは、オブジェクトが経時的に使用不能な配向になることがないことを確実にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0176】
いくつかの実施形態では、第1の入力は、ユーザの個別の部分(例えば、図7Cの手703e)が第1のオブジェクトに対応するロケーションの閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)内にある間に発生する(834a)(例えば、電子デバイスがユーザの手からの入力に第1のオブジェクトのピッチ、ヨー、かつ/又はロールを制御させる第1の入力は、第1のオブジェクトに向けられた手からの直接操作入力である)。いくつかの実施形態では、第1のオブジェクトが移動のために選択されている間、かつ三次元環境における第1のオブジェクトの移動に対応する第2の入力であって、第2の入力の間に、ユーザの個別の部分は、第1のオブジェクトに対応するロケーションから閾値距離よりも遠い、第2の入力の間に(834b)、第1のオブジェクトが二次元オブジェクトである(例えば、第1のオブジェクトは、アプリケーションウィンドウ/ユーザインタフェース、ピクチャの表現などである)という判定に従って、(例えば、第2の入力は、第1のオブジェクトに向けられた手からの間接操作入力である)、図7C図7Dのオブジェクト712aを参照して説明したように、電子デバイスは、三次元環境内のユーザの視点に対する第1のオブジェクトの配向が一定のままである間に、第2の入力に従って三次元環境内で第1のオブジェクトを移動させる(834c)(例えば、二次元オブジェクトの場合、間接的な移動入力は、任意選択的に、入力に従って三次元環境内で二次元オブジェクトのポジションを変化させるが、二次元オブジェクトの配向は、二次元オブジェクトの表面の法線がユーザの視点の配向と平行のままであるように電子デバイスによって制御される)。
【0177】
いくつかの実施形態では、第1のオブジェクトが三次元オブジェクトであるという判定に従って、電子デバイスは、図7C図7Dのオブジェクト714aを参照して説明したように、三次元環境内の表面に対する第1のオブジェクトの配向が一定のままである間に、第2の入力に従って三次元環境内で第1のオブジェクトを移動させる(834d)(例えば、三次元オブジェクトの場合、間接移動入力は、任意選択的に、入力に従って三次元環境内で三次元オブジェクトのポジションを変化させるが、三次元オブジェクトの配向は、三次元オブジェクトの底面の法線が三次元環境内の床に対して垂直のままであるように電子デバイスによって制御される)。移動入力中にオブジェクトの配向を制御することは、オブジェクトが経時的に使用不能な配向になることがないことを確実にし、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0178】
いくつかの実施形態では、第1のオブジェクトが移動のために選択されている間、かつ第1の入力の間(836a)、電子デバイスは、図7C図7Dのオブジェクト712aを参照して説明したように、三次元環境内のユーザの視点に対する第1のオブジェクトの配向を維持している間に、第1の入力に従って三次元環境内で第1のオブジェクトを移動させる(836b)。例えば、二次元オブジェクトの間接的な移動操作中に、オブジェクトが三次元環境内の異なるポジションに移動されるときに、オブジェクトの表面の法線をユーザの視点の配向と平行になるように維持する。
【0179】
いくつかの実施形態では、ユーザの視点に対する第1のオブジェクトの配向を維持しながら第1のオブジェクトを移動させた後、電子デバイスは、第1のオブジェクトが、図7Eのオブジェクト718aに対するオブジェクト712aなどの三次元環境内の第2のオブジェクトの閾値距離(例えば、0.1、0.5、1、3、5、10、20、40、又は50cm)内にあることを検出する(836c)。例えば、第1のオブジェクトは、前述のように、アプリケーションウィンドウ/ユーザインタフェース、壁、テーブル、床の表面などの三次元環境内の物理的又は仮想表面の閾値距離内に移動される。
【0180】
いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトの閾値距離内にあることを検出したことに応じて、電子デバイスは、図7Eのオブジェクト712aを参照して説明したように、ユーザの視点に対する第1のオブジェクトの配向とは無関係に、第2のオブジェクトの配向に基づいて三次元環境内の第1のオブジェクトの配向を更新する(836d)。例えば、第1のオブジェクトが第2のオブジェクトの閾値距離内に移動されるとき、第1のオブジェクトの配向は、もはやユーザの視点に基づくものではなく、むしろ、第2のオブジェクトによって定義されるように更新される。例えば、第1のオブジェクトの配向は、第1のオブジェクトの配向を変更するための手の入力が提供されなくても、第2のオブジェクトの表面と平行になるように更新される。近くのオブジェクトの配向に基づくように第1のオブジェクトの配向を更新することは、相補的な方法でオブジェクトに対して第1のオブジェクトを位置決めするための迅速な方法を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0181】
いくつかの実施形態では、第1のオブジェクトが三次元環境内での移動のために選択される前に、第1のオブジェクトは、三次元環境内で第1のサイズ(例えば、三次元環境内のサイズ)を有する(838a)。いくつかの実施形態では、三次元環境内での移動のための第1のオブジェクトの選択を検出したことに応じて(例えば、ユーザの視線が第1のオブジェクトに向けられている間にユーザの手がピンチハンドジェスチャを実行したことを検出したことに応じて)、電子デバイスは、三次元環境内で第1のサイズとは異なる第2のサイズを有するように第1のオブジェクトをスケーリングし(838b)、第2のサイズは、オブジェクト706a及び/又は708aなどに関して、移動のための第1のオブジェクトの選択が検出されたときの三次元環境内の第1のオブジェクトに対応するロケーションとユーザの視点との間の距離に基づく。例えば、オブジェクトは、任意選択的に、(例えば、オブジェクトがユーザからのそれらの現在の距離でユーザによって相互作用可能なままであることを確実にするために)ユーザの視点からのそれらの現在の距離に対して最適又は理想的である定義されたサイズを有する。いくつかの実施形態では、移動のためのオブジェクトの初期選択を検出すると、電子デバイスは、第1のオブジェクトのサイズを変更するための手からの入力を受信しなくても、オブジェクトとユーザの視点との間の現在の距離に基づいて、オブジェクトの最適な又は理想的なサイズになるようにオブジェクトのサイズを変更する。オブジェクト及び/又は距離ベースのサイズのかかる再スケーリングの更なる詳細は、方法1000を参照して説明される。ユーザの視点からのオブジェクトの距離に基づくように第1のオブジェクトのサイズを更新することは、オブジェクトがユーザによって相互作用可能であることを確実にするための迅速な方法を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0182】
いくつかの実施形態では、第1のオブジェクトは、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの個別の部分(例えば、手703a又は703b)が第1のジェスチャを実行することであって、閾値時間期間(例えば、0.2、0.4、0.5、1、2、3、5、又は10秒)にわたって第1の形状を維持することが続く、ことを含む第2の入力を検出したことに応じて、三次元環境内の移動のために選択される(840)。例えば、第1のオブジェクトが現在、三次元環境内の占有されていない空間内に位置する(例えば、コンテナ又はアプリケーションウィンドウに含まれない)場合、移動のための第1のオブジェクトの選択は、任意選択的に、ユーザの視線が第1のオブジェクトに向けられている間にユーザの手によって行われるピンチハンドジェスチャであって、ユーザの手が閾値時間期間にわたってピンチハンド形状を維持することが続く、ピンチハンドジェスチャに応じて行われる、第2の入力の後、ピンチハンド形状を維持しながらの手の移動は、任意選択的に、手の移動に従って第1のオブジェクトを三次元環境内で移動させる。視線+ロングピンチジェスチャに応じて移動のための第1のオブジェクトを選択することは、移動のためのオブジェクトの意図しない選択を回避しながら、移動のための第1のオブジェクトを選択する迅速な方法を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0183】
いくつかの実施形態では、第1のオブジェクトは、ユーザの視線が第1のオブジェクトに向けられている間に、三次元環境内のユーザの視点に向かうユーザの個別の部分(例えば、手703aなどの、移動入力を提供するユーザの手)の移動閾値(例えば、0.1、0.3、0.5、1、2、3、5、10、又は20cm)よりも大きい移動を含む第2の入力を検出したことに応じて、三次元環境内の移動のために選択される(842)。例えば、第1のオブジェクトが別のオブジェクト(例えば、アプリケーションウィンドウ)内に含まれる場合、移動のための第1のオブジェクトの選択は、任意選択的に、ユーザの視線が第1のオブジェクトに向けられている間にユーザの手によって行われるピンチハンドジェスチャであって、ユーザの視点に向かう第1のオブジェクトの移動に対応して、ユーザの手がユーザに向かって移動することが続く、ピンチハンドジェスチャに応答する。いくつかの実施形態では、ユーザに向かう手の移動は、移動閾値を超える移動に対応する必要があり、そうでない場合、第1のオブジェクトは、任意選択的に、移動のために選択されない。第2の入力の後、ピンチハンド形状を維持しながらの手の移動は、任意選択的に、手の移動に従って第1のオブジェクトを三次元環境内で移動させる。視線+ピンチ+引っ張りジェスチャに応じて移動のための第1のオブジェクトを選択することは、移動のためのオブジェクトの意図しない選択を回避しながら、移動のための第1のオブジェクトを選択する迅速な方法を提供し、それによって、使用におけるエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0184】
いくつかの実施形態では、第1のオブジェクトが移動のために選択されている間、かつ第1の入力の間(844a)、電子デバイスは、第1のオブジェクトが三次元環境内の第2のオブジェクトの閾値距離(例えば、0.1、0.5、1、3、5、10、20、40、又は50cm)内にあることを検出する(844b)。例えば、第1のオブジェクトは、前述のように、アプリケーションウィンドウ/ユーザインタフェース、壁、テーブル、床の表面などの三次元環境内の物理的又は仮想表面の閾値距離内に移動される。いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトの閾値距離内にあることを検出したことに応じて(844c)、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットである(例えば、第2のオブジェクトがメッセージングアプリケーションのメッセージングユーザインタフェースであり、第1のオブジェクトが写真の表現、ビデオの表現、テキストコンテンツの表現などの、メッセージングアプリケーションを介して別のユーザに送信することができる何かの表現であるなど、第2のオブジェクトが第1のオブジェクトを包含又は受容することができる)という判定に従って、電子デバイスは、表示生成構成要素を介して、図7Eのオブジェクト712aを参照して説明したように、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであることを示す第1の視覚的インジケーションを表示する(例えば、以下で説明する第2の視覚的インジケーションを表示しない)(844d)。例えば、第2のオブジェクトが有効なドロップターゲットであること、かつ第1のオブジェクトをその現在のロケーションで解放することを示すバッジ(例えば、+記号を含む円)を第1のオブジェクトの右上隅にオーバーレイして表示することにより、第1のオブジェクトが第2のオブジェクトに追加される。
【0185】
いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットではない(例えば、第2のオブジェクトがメッセージングアプリケーションのメッセージングユーザインタフェースであり、第1のオブジェクトが別のアプリケーションのユーザインタフェースであるか、又は三次元オブジェクトであるなど、第2のオブジェクトが第1のオブジェクトを包含又は受容することができない)という判定に従って、電子デバイスは、表示生成構成要素を介して、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットではないことを示す第2の視覚的インジケーションを、図7Eのインジケーション720の代わりにこのインジケーションを表示する(例えば、上述の第1の視覚的インジケーションを表示しない)などして表示する(844e)。例えば、第2のオブジェクトが有効なドロップターゲットではないこと、かつ第1のオブジェクトをその現在のロケーションで解放することを示すバッジ(例えば、X記号を含む円)を第1のオブジェクトの右上隅にオーバーレイして表示しても、第1のオブジェクトは第2のオブジェクトに追加されない。第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットであるかどうかを示すことは、第1のオブジェクトをその現在ポジションにドロップした結果を迅速に伝え、それによって、使用中のエラーを低減し、ユーザ-デバイス相互作用を改善する。
【0186】
方法800における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0187】
図9A図9Eは、いくつかの実施形態による、三次元環境内の仮想オブジェクトを動的にサイズ変更する(又はしない)電子デバイスの例を示す。
【0188】
図9Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、(例えば、デバイス101が位置する物理的環境の後壁に面する)俯瞰図に示されるユーザ926の視点から三次元環境902を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。
【0189】
図9Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境902内の物理的環境の表現を表示する。例えば、三次元環境902は、(俯瞰図におけるソファ924bに対応する)ソファの表現924aを含み、これは、任意選択的に、物理的環境内の物理的ソファの表現である。
【0190】
図9Aでは、三次元環境902はまた、仮想オブジェクト906a(俯瞰図内のオブジェクト906bに対応する)、908a(俯瞰図内のオブジェクト908bに対応する)、910a(俯瞰図内のオブジェクト910bに対応する)、912a(俯瞰図内のオブジェクト912bに対応する)、かつ914a(俯瞰図内のオブジェクト914bに対応する)を含む。図9Aでは、オブジェクト906a、910a、912a、かつ914aは、二次元オブジェクトであり、オブジェクト908aは、三次元オブジェクト(例えば、立方体)である。仮想オブジェクト906a、908a、910a、912a、かつ914aは、任意選択的に、アプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース、コンテンツブラウジングユーザインタフェースなど)、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、又はデバイス101の物理的環境に含まれないデバイス101によって表示される任意の他の要素のうちの1つ以上である。いくつかの実施形態では、オブジェクト906aは、コンテンツを再生するためのユーザインタフェース(例えば、ビデオプレーヤ)であり、コントロールユーザインタフェース907a(俯瞰図内のオブジェクト907bに対応する)とともに表示される。コントロールユーザインタフェース907aは、オブジェクト906a内に提示されているコンテンツの再生を制御するための1つ以上の選択可能なオプションを任意選択的に含む。いくつかの実施形態では、コントロールユーザインタフェース907aは、オブジェクト906aの下に、かつ/又はオブジェクト906aのわずかに前に(例えば、ユーザの視点により近く)表示される。いくつかの実施形態では、オブジェクト908aは、(俯瞰図内のオブジェクト916bに対応する)グラバーバー916aとともに表示される。グラバーバー916aは、任意選択的に、三次元環境902内のオブジェクト908aのロケーションを制御するためにユーザ提供入力が向けられる要素である。いくつかの実施形態では、入力は、三次元環境内のオブジェクト908aのロケーションを制御するために、オブジェクト908aに向けられる(グラバーバー916aには向けられない)。したがって、いくつかの実施形態では、方法1600を参照してより詳細に説明されるように、グラバーバー916aの存在は、オブジェクト908aが三次元環境902内に独立して位置決めされることが可能であることを示す。いくつかの実施形態では、グラバーバー916aは、オブジェクト908aの下及び/又はわずかに前(例えば、ユーザの視点により近い)に表示される。
【0191】
いくつかの実施形態では、デバイス101は、ユーザの視点からのそれらのオブジェクトの距離が変化するにつれて、三次元環境902内のオブジェクトのサイズを動的にスケーリングする。デバイス101がオブジェクトのサイズをスケーリングするかどうか、かつ/又はどの程度スケーリングするかは、任意選択的に、三次元環境902内で移動されているオブジェクトのタイプ(例えば、二次元又は三次元)に基づく。例えば、図9Aにおいて、手903cは、三次元環境902におけるユーザ926の視点からオブジェクト906aを更に移動させるために、オブジェクト906aに移動入力を提供しており、手903bは、三次元環境902におけるユーザ926の視点からオブジェクト908aを更に移動させるために、オブジェクト908aに(例えば、グラバーバー916aに向けられた)移動入力を提供しており、手903aは、三次元環境902におけるユーザ926の視点からオブジェクト914aを更に移動させるために、オブジェクト914aに移動入力を提供している。いくつかの実施形態では、かかる移動入力は、ユーザの手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間)、ユーザの手がユーザ926の身体に向かって又はそれから離れて移動することを含む。例えば、図9A図9Bから、デバイス101は、手903a、903b、かつ/又は903cが、ピンチハンド形状にある間にユーザ926の身体から離れるように移動することを任意選択的に検出する。複数の手及び対応する入力が図9A図9Eに示されているが、かかる手及び入力は、デバイス101によって同時に検出される必要はないことを理解されたい。むしろ、いくつかの実施形態では、デバイス101は、かかる手及び/又は入力を独立して検出したことに応じて、図示及び説明される手及び/又は入力に独立して応答する。
【0192】
図9Aにおいて検出された入力に応じて、デバイス101は、図9Bに示すように、オブジェクト906a、908a及び914aをユーザ926の視点から離れるように移動する。例えば、デバイス101は、オブジェクト906aをユーザ926の視点から更に離れるように移動させている。いくつかの実施形態では、(例えば、オブジェクトの表示サイズが不当に小さくなることを回避することによって)オブジェクトがユーザの視点からより遠くに移動されるときにオブジェクトとの相互作用可能性を維持するために、デバイス101は、三次元環境902内のオブジェクトのサイズを増加させる(例えば、同様に、オブジェクトがユーザの視点により近くに移動されるときに三次元環境902内のオブジェクトのサイズを減少させる)。しかしながら、ユーザの混乱及び/又は方向感覚喪失を回避するために、デバイス101は、任意選択的に、オブジェクトがユーザの視点から更に移動されるにつれて連続的により小さいサイズで表示されることを確実にする量だけオブジェクトのサイズを増加させるが、オブジェクトの表示サイズの減少は、任意選択的に、デバイス101が三次元環境902内のオブジェクトのサイズを増加させなかった場合よりも少ない。更に、いくつかの実施形態では、デバイス101は、かかる動的スケーリングを二次元オブジェクトに適用するが、三次元オブジェクトには適用しない。
【0193】
したがって、例えば、図9Bでは、オブジェクト906aがユーザ926の視点から更に移動されるにつれて、デバイス101は、(例えば、図9Aのオブジェクト906bのサイズと比較して、俯瞰図内のオブジェクト906bの増加されたサイズによって示されるように)三次元環境902内のオブジェクト906aのサイズを増加させたが、オブジェクト906aによって消費される三次元環境902の視野の面積が図9Aから図9Bに減少したことを確実にするために、十分に小さい方法でオブジェクト906aのサイズを増加させた。このようにして、オブジェクト906aがユーザ926の視点から更に移動されるときにオブジェクト906aとの相互作用可能性が任意選択的に維持される一方で、オブジェクト906aがユーザ926の視点から更に移動されるときにオブジェクト906aの表示サイズが小さくならないことから任意選択的に生じるユーザの混乱及び/又は方向感覚喪失が回避される。
【0194】
いくつかの実施形態では、オブジェクト906aとともに表示されるシステムコントロールなどのコントロールは、デバイス101によってスケーリングされないか、又はオブジェクト906aとは異なるようにスケーリングされる。例えば、図9Bにおいて、制御ユーザインタフェース907aは、オブジェクト906aに向けられた移動入力に応じて、ユーザ926の視点から離れて、オブジェクト906aとともに移動する。しかしながら、図9Bでは、デバイス101は、オブジェクト906a及びコントロールユーザインタフェース907aがユーザ926の視点から更に移動されても、コントロールユーザインタフェース907aの表示サイズ(例えば、コントロールユーザインタフェース907aによって消費される視野の部分)が一定のままであるように、(例えば、俯瞰図に反映されるように)三次元環境902内のコントロールユーザインタフェース907aのサイズを十分に増加させている。例えば、図9Aでは、コントロールユーザインタフェース907aは、オブジェクト906aの幅とほぼ同じ幅を有していたが、図9Bでは、デバイス101は、コントロールユーザインタフェース907aの幅がオブジェクト906aの幅よりも大きくなるように、コントロールユーザインタフェース907aのサイズを十分に増加させている。したがって、いくつかの実施形態では、デバイス101は、オブジェクト906a及びコントロールユーザインタフェース907aがユーザ926の視点からより遠くに移動するにつれて、オブジェクト906aのサイズを増加させるよりもコントロールユーザインタフェース907aのサイズを増加させ、デバイス101は、任意選択的に、オブジェクト906a及びコントロールユーザインタフェース907aがユーザ926の視点のより近くに移動するにつれて、オブジェクト906aのサイズを減少させるよりもコントロールユーザインタフェース907aのサイズを同様に減少させる。デバイス101は、図9Bに示すように、オブジェクト908aに関連付けられたグラバーバー916aを任意選択的に同様にスケーリングする。
【0195】
しかしながら、いくつかの実施形態では、デバイス101は、三次元環境902内の三次元オブジェクトがユーザ926の視点からより遠くに又はより近くに移動されるとき、それらをスケーリングしない。デバイス101は、任意選択的に、三次元オブジェクトが、物理的環境内でユーザに近づくか又はユーザから遠ざかるように移動するときに、物理的オブジェクトの外観及び/又は挙動を模倣するように、これを行う。例えば、三次元環境902の俯瞰図に反映されるように、オブジェクト908bは、図9Bでは、図9Aの場合と同じサイズのままである。その結果、図9Aから図9Bにかけて、オブジェクト908bの表示サイズがオブジェクト906aの表示サイズよりも縮小されている。したがって、ユーザ926の視点から離れるオブジェクト906a及び908aの同じ移動量に対して、オブジェクト908aによって消費されるユーザ926の視野の部分は、任意選択的に、図9A図9Bのオブジェクト906aによって消費されるユーザ926の視野の部分よりも少なく低減される。
【0196】
図9Bにおいて、オブジェクト910aは、オブジェクトをオブジェクト910aに追加するためのドロップゾーン930に関連付けられている。ドロップゾーン930は、任意選択的に、オブジェクト910aに隣接する及び/又はその前の三次元環境902内の空間のボリューム(例えば、立方体又は角柱)である。ドロップゾーン930の境界又はボリュームは、任意選択的に、三次元環境902内に表示されず、いくつかの実施形態では、ドロップゾーン930の境界又はボリュームは、三次元環境902内に表示される(例えば、輪郭、ボリュームの強調表示、ボリュームの陰影付けなどによって)。オブジェクトがドロップゾーン930内に移動されると、デバイス101は、任意選択的に、ドロップゾーン930及び/又はドロップゾーン930に関連付けられたオブジェクトに基づいて、そのオブジェクトをスケーリングする。例えば、図9Bにおいて、オブジェクト914aは、ドロップゾーン930内に移動している。その結果、デバイス101は、ドロップゾーン930及び/又はオブジェクト910a内に収まるようにオブジェクト914aをスケールダウンしている。デバイス101がオブジェクト914aをスケーリングした量は、任意選択的に、(例えば、オブジェクト914aを参照して説明したように)ユーザ926の視点からのオブジェクト906aの距離の関数としてデバイス101によって実行されるオブジェクト914aのスケーリングとは異なる(例えば、大きさが異なる、かつ/又は方向が異なる)。したがって、いくつかの実施形態では、オブジェクト914aのスケーリングは、任意選択的に、オブジェクト910a及び/又はドロップゾーン930のサイズに基づき、任意選択的に、ユーザ926の視点からのオブジェクト914aの距離には基づかない。更に、いくつかの実施形態において、デバイス101は、オブジェクト914aがオブジェクト914aの有効なドロップターゲットであるかどうかを示す、オブジェクト910aの右上部分にオーバーレイされたバッジ又はインジケーション932を表示する。例えば、オブジェクト910aがピクチャフレームコンテナであり、オブジェクト914aがピクチャの表現である場合、オブジェクト910aは、任意選択的に、オブジェクト914aの有効なドロップターゲットであり、インジケーション932は、任意選択的に、同じ量を示し、一方、オブジェクト914aがアプリケーションアイコンである場合、オブジェクト910aは、任意選択的に、オブジェクト914aの無効なドロップターゲットであり、インジケーション932は、任意選択的に、同じ量を示す。追加的に、図9Bにおいて、デバイス101は、オブジェクト914aがドロップゾーン930内に移動することに応じて、オブジェクト910aと位置合わせされるように(例えば、オブジェクト910aと平行に)オブジェクト914aの配向を調整している。オブジェクト914aがドロップゾーン930内に移動されなかった場合、オブジェクト914aは、図9Cを参照して説明するように、異なる配向(例えば、図9Aのオブジェクト914aの配向に対応する)を任意選択的に有することになる。
【0197】
いくつかの実施形態では、オブジェクト914aがドロップゾーン930から除去された場合、デバイス101は、(例えば、オブジェクト914aを参照して説明したように)ユーザ926の視点からのオブジェクト914aの距離に基づくサイズにオブジェクト906aを自動的にスケーリングし、かつ/又は、図9Cに示すように、オブジェクト914aの配向を、オブジェクト910aと位置合わせされない場合に有していた配向に戻す。いくつかの実施形態では、デバイス101は、オブジェクト914aがオブジェクト910aに対して無効なドロップターゲットである場合、たとえオブジェクト914aがドロップゾーン930内に及び/又はオブジェクト914aに近接して移動されたとしても、この同じサイズ及び/又は配向でオブジェクト910aを表示する。例えば、図9Cにおいて、オブジェクト914aは、(例えば、図9Bにおける手903aからの移動入力に応じて)ドロップゾーン930から除去されており、かつ/又はオブジェクト910aは、オブジェクト914aに対する有効なドロップターゲットではない。その結果、デバイス101は、ユーザ926の視点からのオブジェクト914aの距離に基づく(例えば、オブジェクト910aに基づかない)三次元環境902内のサイズでオブジェクト914aを表示し、このサイズは、任意選択的に、図9Bのオブジェクト914aのサイズよりも大きい。更に、デバイス101は、追加的に又は代替的に、任意選択的に手903aからの配向入力に基づき、任意選択的に図9Bのオブジェクト914aの配向とは異なる配向である、任意選択的にオブジェクト910aの配向に基づかない配向で、オブジェクト914aを表示する。
【0198】
図9B図9Cから、手903cはまた、オブジェクト906aに向けられた更なる移動入力を提供して、デバイス101にオブジェクト906aをユーザ926の視点から更に移動させている。デバイス101は、結果として(例えば、三次元環境902の俯瞰図に示されるように)オブジェクト906aのサイズを更に増加させているが、前述のように、オブジェクト906aの表示サイズに関連するようなスケーリングの制限を超えていない。デバイス101はまた、任意選択的に、前述したように、コントロールユーザインタフェース907aの表示サイズを維持するために、(例えば、三次元環境902の俯瞰図に示すように)コントロールユーザインタフェース907aを更にスケーリングする。
【0199】
いくつかの実施形態では、デバイス101は、いくつかのオブジェクトを、ユーザ926の視点からのそれらのオブジェクトの距離の関数として、それらの距離の変化が三次元環境902内でそれらのオブジェクトを移動させるための(例えば、ユーザ926からの)入力から生じるときにスケーリングするが、デバイス101は、それらの距離の変化が三次元環境902内のユーザ926の視点の移動から生じるときに(例えば、三次元環境902内のオブジェクトの移動とは対照的に)、ユーザ926の視点からのそれらのオブジェクトの距離の関数としてそれらのオブジェクトをスケーリングしない。例えば、図9Dでは、ユーザ926の視点は、三次元環境902内のオブジェクト906a、908a、かつ910aに向かって移動している(例えば、部屋の後壁に向かう物理的環境内のユーザの移動に対応する)。それに応じて、デバイス101は、図9Dに示すように、ユーザ926の更新された視点からのものであるように、三次元環境902の表示を更新する。
【0200】
三次元環境902の俯瞰図に示すように、デバイス101は、図9Dにおけるユーザ926の視点の移動の結果として、三次元環境902内のオブジェクト906a、908a、又は910aをスケーリングしていない。オブジェクト906a、908a及び908cの表示サイズは、ユーザ926の視点とオブジェクト906a、908a及び910aとの間の距離の減少に起因して増加している。
【0201】
しかしながら、デバイス101は、図9Dにおいてオブジェクト908aをスケーリングしていないが、デバイス101は、(例えば、グラバーバー916aの表示サイズを維持するために)グラバーバー916aとユーザ926の視点との間の減少した距離に基づいて、グラバーバー916aをスケーリングしている(例えば、三次元環境902の俯瞰図に反映されるように、そのサイズを減少させている)。したがって、いくつかの実施形態では、ユーザ926の視点の移動に応じて、デバイス101は、非システムオブジェクト(例えば、アプリケーションユーザインタフェース、ピクチャ又は映画などのコンテンツの表現など)をスケーリングしないが、システムオブジェクト(例えば、グラバーバー916a、コントロールユーザインタフェース907aなど)を、ユーザ926の視点とそれらのシステムオブジェクトとの間の距離の関数としてスケーリングする。
【0202】
いくつかの実施形態では、デバイス101が、オブジェクトとユーザ926の視点との間の距離に基づかないサイズを現在有するオブジェクトに向けられた移動入力を検出したことに応じて、デバイス101は、オブジェクトとユーザ926の視点との間の距離に基づくサイズを有するようにそのオブジェクトをスケーリングする。例えば、図9Dにおいて、デバイス101は、オブジェクト906aに向けられた移動入力を提供する手903bを検出する。それに応じて、図9Eにおいて、デバイス101は、(例えば、三次元環境902の俯瞰図に反映されるような)オブジェクト906aを、ユーザ926の視点とオブジェクト906aとの間の現在の距離に基づくサイズにスケールダウンしている。
【0203】
同様に、オブジェクトのサイズがコンテナオブジェクトに基づき、オブジェクトとユーザ926の視点との間の距離に基づかない、コンテナオブジェクト(例えば、ドロップターゲット)からのオブジェクトの除去をデバイス101が検出したことに応じて、デバイス101は、オブジェクトとユーザ926の視点との間の距離に基づくサイズを有するようにそのオブジェクトをスケーリングする。例えば、図9Dにおいて、オブジェクト940aは、オブジェクト910aに含まれ、オブジェクト910aに基づくサイズを有する(例えば、オブジェクト914a及びオブジェクト910aを参照して上述したように)。図9Dにおいて、デバイス101は、オブジェクト910aからオブジェクト940aを除去するために、オブジェクト940aに向けられた(例えば、ユーザ926の視点に向かう)手903aからの移動入力を検出する。それに応じて、図9Eに示すように、デバイス101は、(例えば、三次元環境902の俯瞰図に反映されるような)オブジェクト940aを、ユーザ926の視点とオブジェクト940aとの間の現在の距離に基づくサイズにスケールアップしている。
【0204】
図10A図10Iは、いくつかの実施形態による、三次元環境内で仮想オブジェクトを動的にサイズ変更する(又はしない)方法1000を示すフローチャートである。いくつかの実施形態では、方法1000は、表示生成構成要素(例えば、図1図3、かつ図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手の下方を指すカメラ(例えば、カラーセンサ、赤外線センサ、かつ他の深度感知カメラ)又はユーザの頭部から前方を指すカメラ)とを含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)において実行される。いくつかの実施形態では、方法1000は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1000におけるいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0205】
いくつかの実施形態では、方法1000は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0206】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、図9Aのオブジェクト906aなどの第1のオブジェクト(例えば、車のモデルなどの三次元仮想オブジェクト、又は電子デバイス上のアプリケーションのユーザインタフェースなどの二次元仮想オブジェクト)を含む三次元環境を三次元環境内の第1のロケーションに表示し(1002a)(例えば、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって任意選択的に生成され、表示され、又は他の方法で視認可能にされる)、第1のオブジェクトは、三次元環境内で第1のサイズを有し、図9Aのオブジェクト906aのサイズ及び表示サイズなどの個別の視点(例えば、三次元環境内の電子デバイスのユーザの視点)からの視野の第1の量(例えば、第1のオブジェクトの表示サイズ及び/又はユーザの視点の現在ロケーションからの第1のオブジェクトの角度サイズ)を占有する。例えば、三次元環境内の第1のオブジェクトのサイズは、任意選択的に、第1のオブジェクトが三次元環境内で占有する空間/ボリュームを定義し、デバイスのユーザの視点から三次元環境内への第1のオブジェクトの距離の関数ではない。第1のオブジェクトが表示生成構成要素を介して表示されるサイズ(例えば、表示生成構成要素を介して第1のオブジェクトによって占有される表示エリア及び/又は視野の量)は、任意選択的に、三次元環境内の第1のオブジェクトのサイズ、かつデバイスのユーザの視点から三次元環境内への第1のオブジェクトの距離に基づく。例えば、三次元環境内の所与のサイズを有する所与のオブジェクトは、ユーザの視点に比較的近い場合、表示生成構成要素を介して比較的大きいサイズで任意選択的に表示され(例えば、個別の視点からの視野の比較的大きい部分を占有する)、ユーザの視点から比較的遠い場合、表示生成構成要素を介して比較的小さいサイズで任意選択的に表示される(例えば、個別の視点からの視野の比較的小さい部分を占有する)。
【0207】
いくつかの実施形態では、三次元環境内の第1のロケーションに第1のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図9Aのオブジェクト906aに向けられた手903cからの入力などの、第1のオブジェクトを三次元環境内の第1のロケーションから離れるように移動させる要求に対応する第1の入力を受信する(1002b)。例えば、ユーザの手が第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間にユーザの視線が第1のオブジェクトに向けられている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状での手の移動が続く、ピンチジェスチャ、又はユーザの手が第1のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状での手の移動が続く、ピンチである。手の移動は、任意選択的に、ユーザの視点から離れており、これは、任意選択的に、三次元環境内で第1のオブジェクトをユーザの視点から離れるように移動させる要求に対応する。いくつかの実施形態では、第1の入力は、方法800、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0208】
いくつかの実施形態では、第1の入力を受信したことに応じて(1002c)、第1の入力が、図9Aのオブジェクト906aに向けられた手903cからの入力などの、第1のオブジェクトを個別の視点から離れるように移動させる要求(例えば、第1のオブジェクトを、電子デバイスが三次元環境を表示している三次元環境内のロケーションから更に離れるように移動させる要求)に対応するという判定に従って(1002d)、電子デバイスは、第1の入力に従って、第1のオブジェクトを個別の視点から離れるように第1のロケーションから三次元環境内の第2のロケーションに移動させ(1002e)、第2のロケーションは、図9Bのオブジェクト906aで示されるように、個別の視点から第1のロケーションよりも遠い(例えば、第1の入力が、第1のオブジェクトをユーザの視点から10メートルのロケーションからユーザの視点から20メートルのロケーションに移動させる入力に対応する場合、三次元環境内の第1のオブジェクトをユーザの視点から10メートルのロケーションからユーザの視点から20メートルのロケーションに移動させる)。いくつかの実施形態では、電子デバイスは、第1のオブジェクトが第2のロケーションに位置するときに、第1のオブジェクトが、図9Bのオブジェクト906aで示されるように、三次元環境内で第1のサイズよりも大きい第2のサイズを有し(例えば、第1のオブジェクトがユーザの視点からより遠くに移動するにつれて、第1のオブジェクトの三次元環境内のサイズを増加させ、任意選択的に、第1のオブジェクトがユーザの視点により近くに移動するにつれて、第1のオブジェクトの三次元環境内のサイズを減少させる)、個別の視点からの視野の第2の量を占有するように、第1のオブジェクトをスケーリングし(1002f)、第2の量は、図9Bのオブジェクト906aで示されるように、第1の量よりも小さい。例えば、第1のオブジェクトがユーザの視点から離れて移動するにつれて、表示生成構成要素を介して第1のオブジェクトによって占有される表示エリアを同じままにするか、又は増加させる量よりも少なく、第1のオブジェクトがユーザの視点から離れて移動するにつれて、三次元環境内の第1のオブジェクトのサイズを増加させる。いくつかの実施形態では、第1のオブジェクトは、ユーザの視点から更に移動するにつれて、ユーザが第1のオブジェクトと相互作用する能力を維持するように、三次元環境内でサイズが増加され、第1のオブジェクトは、任意選択的に、ユーザの視点から更に移動するにつれて、スケールアップされない場合、相互作用するには小さくなりすぎるであろう。しかしながら、第1のオブジェクトが実際にユーザの視点から更に離れて移動していないという感覚(例えば、第1のオブジェクトがユーザの視点から更に離れて移動したときに、第1のオブジェクトの表示サイズが同じままであるか、又は増加した場合に任意選択的に発生する)を回避するために、電子デバイスによって実行される第1のオブジェクトのスケーリングの量は、第1のオブジェクトがユーザの視点から更に離れて移動するにつれて、第1のオブジェクトの表示サイズ(例えば、第1のオブジェクトによって占有される個別の視点からの視野の量)が減少することを確実にするのに十分に低い。第1のオブジェクトの表示又は角度サイズが増加する(第1のオブジェクトがユーザの視点に向かって移動しているとき)か、又は減少する(第1のオブジェクトがユーザの視点から離れて移動しているとき)ことを維持している間に、ユーザの視点からの第1のオブジェクトの距離の関数として第1のオブジェクトをスケーリングすることは、三次元環境内の第1のオブジェクトの提示を混乱させることを回避しながら、ユーザの視点からの距離の範囲における第1のオブジェクトとの継続した相互作用可能性を確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0209】
いくつかの実施形態では、第1の入力を受信している間に、第1の入力が第1のオブジェクトを個別の視点から離れるように移動させる要求に対応するという判定に従って、図9Bのオブジェクト906aを参照して説明したように、第1のオブジェクトが個別の視点から更に移動するにつれて、第1のオブジェクトを増加するサイズ(例えば、第1のサイズよりも大きい)に連続的にスケーリングする(1004)。したがって、いくつかの実施形態では、第1のオブジェクトのサイズの変化は、個別の視点からの第1のオブジェクトの距離が変化するにつれて連続的に生じる(例えば、第1のオブジェクトが個別の視点に近づいているため、第1のオブジェクトのサイズがスケールダウンされているか、又は第1のオブジェクトが個別の視点から更に離れているため、第1のオブジェクトのサイズが拡大されているか)。いくつかの実施形態では、第1のオブジェクトが個別の視点から更に移動するにつれて増加する第1のオブジェクトのサイズは、三次元環境内の第1のオブジェクトのサイズであり、これは、任意選択的に、以下で更に詳細に説明されるように、個別の視点からのユーザの視野内の第1のオブジェクトのサイズと異なる量である。第1のオブジェクトと個別の視点との間の距離が変化するにつれて第1のオブジェクトを連続的にスケーリングすることは、第1のオブジェクトの移動についての即時フィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0210】
いくつかの実施形態では、第1のオブジェクトは、二次元オブジェクトであるオブジェクト906aなどの第1のタイプのオブジェクトであり(例えば、第1のオブジェクトは、他のユーザにメッセージングするためのメッセージングアプリケーションのユーザインタフェースなどの、三次元環境内の二次元オブジェクトである)、三次元環境は、三次元オブジェクトであるオブジェクト908aなどの、第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクトを更に含む(1006a)(例えば、第2のオブジェクトは、三次元環境内の車、建物、時計などの仮想三次元表現などの三次元オブジェクトである)。いくつかの実施形態では、三次元環境内の第3のロケーションに第2のオブジェクトを含む三次元環境を表示している間に、第2のオブジェクトは、三次元環境内で第3のサイズを有し、個別の視点からの視野の第3の量を占有し、電子デバイスは、1つ以上の入力デバイスを介して、図9Aのオブジェクト908aに向けられた手903bからの入力などの、三次元環境内の第3のロケーションから離れるように第2のオブジェクトを移動させる要求に対応する第2の入力を受信する(1006b)。例えば、ユーザの手が第3のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きいとき、ユーザの視線が第2のオブジェクトに向けられている間、ユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状の手の移動が続く、ピンチジェスチャか、又はユーザの手が第3のオブジェクトから閾値距離よりも小さいとき、ユーザの視線のロケーションにかかわらず、ユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状の手の移動が続く、ピンチ。手の移動は、任意選択的にユーザの視点から離れる方向であり、これは任意選択的に三次元環境内で第3のオブジェクトをユーザの視点から離れる方向に移動させる要求に対応し、又は手の移動は、ユーザの視点に向かう方向であり、これは任意選択的に第3のオブジェクトをユーザの視点に向かう方向に移動させる要求に対応する。いくつかの実施形態では、第2の入力は、方法800、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0211】
いくつかの実施形態では、第3の入力を受信したことに応じて、第2の入力が、図9Aのオブジェクト908aに向けられた手903bからの入力などの、個別の視点から離れるように第2のオブジェクトを移動させる要求(例えば、電子デバイスが三次元環境を表示している三次元環境内のロケーションから更に離れるように第3のオブジェクトを移動させる要求)に対応するという判定に従って(1006c)、電子デバイスは、第2の入力に従って、第2のオブジェクトを三次元環境内の第3のロケーションから第4のロケーションへと個別の視点から離れるように移動させ(1006d)、第2のオブジェクトが第4のロケーションに位置するとき、第2のオブジェクトが、三次元環境内で第3のサイズを有し、図9Bのオブジェクト908aで示されるような、個別の視点からの視野の第3の量未満の第4の量を占有するように、第2のオブジェクトをスケーリングすることなく、第4のロケーションは、個別の視点から第3のロケーションより遠い。例えば、三次元オブジェクトは、(ユーザの視点からの距離に基づいて任意選択的にスケーリングされる二次元オブジェクトと比較して)ユーザの視点からの距離に基づいて任意選択的にスケーリングされない。したがって、三次元オブジェクトがユーザの視点からより遠くに移動される場合、三次元オブジェクトによって占有される視野の量は、任意選択的に低減され、三次元オブジェクトがユーザの視点のより近くに移動される場合、三次元オブジェクトによって占有される視野の量は、任意選択的に増加される。三次元オブジェクトではなく二次元オブジェクトをスケーリングすることは、物理的オブジェクトに類似する三次元オブジェクトを扱い、これは、ユーザに馴染みがあり、ユーザによって予期される挙動をもたらし、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減させる。
【0212】
いくつかの実施形態では、第2のオブジェクトは、図9Aのオブジェクト907a又は916aなどの第2のオブジェクトに関連付けられた1つ以上の動作を制御するための制御ユーザインタフェースとともに表示される(1008a)。例えば、第2のオブジェクトは、移動に対応する方法で第2のオブジェクトを三次元環境内で移動させるように選択可能かつ移動可能なユーザインタフェース要素とともに表示される。例えば、ユーザインタフェース要素は、任意選択的に、第2のオブジェクトの下に表示され、三次元環境内で第2のオブジェクトを移動させるために把持可能なグラバーバーである。制御ユーザインタフェースは、任意選択的に、グラバーバー、三次元環境内の第2のオブジェクトの表示を中止するために選択可能な選択可能オプション、第2のオブジェクトを別のユーザと共有するために選択可能な選択可能オプションなどのうちの1つ以上であるか、又はそれらを含む。
【0213】
いくつかの実施形態では、第2のオブジェクトが第3のロケーションに表示されるとき、制御ユーザインタフェースは、第3のロケーションに表示され、三次元環境内で第4のサイズを有する(1008b)。いくつかの実施形態では、(例えば、第2のオブジェクトを移動させるための第2の入力に応じて)第2のオブジェクトが第4のロケーションに表示されると、制御ユーザインタフェースは、第4のロケーションに表示され、オブジェクト907a及び916aで示されるように、三次元環境内で第4のサイズよりも大きい第5のサイズを有する(1008c)。例えば、制御ユーザインタフェースは、同じ第2の入力に従って第2のオブジェクトとともに移動する。いくつかの実施形態では、第2のオブジェクトが第2のオブジェクトとユーザの視点との間の距離に基づいて三次元環境内でスケーリングされない場合であっても、第2のオブジェクトとともに表示される制御ユーザインタフェースは、(例えば、ユーザによる制御ユーザインタフェース要素の継続的な相互作用可能性を保証するために)制御ユーザインタフェースとユーザの視点との間の距離に基づいて三次元環境内でスケーリングされる。いくつかの実施形態では、制御ユーザインタフェース要素は、ユーザの視点に向かう/視点から離れる移動に基づいて第1のオブジェクトがスケーリングされるのと同じ方法でスケーリングされる。いくつかの実施形態では、制御ユーザインタフェースは、ユーザの視点に向かう/視点から離れる移動に基づいて第1のオブジェクトがスケーリングされる方法よりも小さく又は大きくスケーリングされる。いくつかの実施形態では、制御ユーザインタフェースは、第2のオブジェクトがユーザの視点に向かって/視点から離れて移動されるときに、制御ユーザインタフェースによって占有されるユーザの視野の量が変化しないようにスケーリングされる。三次元オブジェクトの制御ユーザインタフェースをスケーリングすることは、三次元オブジェクトとユーザの視点との間の距離にかかわらず、ユーザが制御ユーザインタフェース要素と相互作用することができることを確実にし、それによって、ユーザ-デバイス相互作用を改善し、使用中のエラーを低減する。
【0214】
いくつかの実施形態では、三次元環境内の第1のロケーションに第1のオブジェクトを含む三次元環境を表示している間に、第1のオブジェクトは三次元環境内で第1のサイズを有し、個別の視点は第1の視点であり、電子デバイスは、図9Dのユーザ926の視点の移動など、ユーザの視点と第1のオブジェクトとの間の距離を変化させる、第1の視点から第2の視点へのユーザの視点の移動を検出する(1010a)。例えば、ユーザは、電子デバイスがユーザの更新された視点から三次元環境を表示するように、三次元環境内の第1の個別のロケーションから第2の個別のロケーションにユーザの視点を移動させるために、電子デバイスの物理的環境内で移動し、かつ/又は電子デバイスに入力を提供する。視点の移動は、任意選択的に、視点が第1の視点であったときの距離と比較して、視点を第1のオブジェクトに近づける、又は第1のオブジェクトから遠ざける。
【0215】
いくつかの実施形態では、第1の視点から第2の視点への視点の移動を検出したことに応じて、電子デバイスは、図9Dのオブジェクト906a、908a、かつ910aを参照して説明したように、三次元環境内の第1のロケーションにある第1のオブジェクトのサイズをスケーリングすることなく、三次元環境の表示を第2の視点からのものであるように更新する(1010b)。例えば、第1のオブジェクトは、視点が第1の視点であったときと同じ三次元環境内のサイズのままであるが、視点が第2の視点であるときに第1のオブジェクトによって占有される視野の量は、任意選択的に、視点が第1の視点であったときに第1のオブジェクトによって占有される視野の量よりも大きい(視点が第1のオブジェクトの近くに移動した場合)か、又は小さい(視点が第1のオブジェクトから遠くに移動した場合)。(オブジェクトの移動とは対照的に)視点の移動の結果としての第1のオブジェクトとユーザの個別の視点との間の距離の変化に応じて第1のオブジェクトをスケーリングすることを取り止めることは、(例えば、ユーザ入力に応じて)予想されるときに三次元環境の変化が生じることを保証し、ユーザの方向感覚喪失を低減し、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0216】
いくつかの実施形態では、第1のオブジェクトは、第1のタイプのオブジェクト(例えば、電子デバイス上のアプリケーションの二次元ユーザインタフェース、車などのオブジェクトの三次元表現などのコンテンツオブジェクト、より一般的には、電子デバイスのシステム(例えば、オペレーティングシステム)ユーザインタフェースであるか、又はそれに対応するオブジェクトではなく、コンテンツであるか、又はそれに対応するオブジェクト)であり、三次元環境は、図9Cのオブジェクト916aなどの第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクト(例えば、三次元環境内で個別のオブジェクトを移動させるためのグラバーバーなどの、前述のような個別のオブジェクトのための制御ユーザインタフェース)を更に含む(1012a)。いくつかの実施形態では、第2のオブジェクトが三次元環境内で第3のサイズを有し、ユーザの視点が第1の視点である、三次元環境内の第3のロケーションに第2のオブジェクトを含む三次元環境を表示する(例えば、三次元環境内の第3のロケーションにもある個別のオブジェクトのためのグラバーバーを表示する)間に、電子デバイスは、図9Dのユーザ926の視点の移動などの、ユーザの視点と第2のオブジェクトとの間の距離を変化させる、第1の視点から第2の視点への視点の移動を検出する(1012b)。例えば、ユーザは、電子デバイスがユーザの更新された視点から三次元環境を表示するように、三次元環境内の第1の個別のロケーションから第2の個別のロケーションにユーザの視点を移動させるために、電子デバイスの物理的環境内で移動し、かつ/又は電子デバイスに入力を提供する。視点の移動は、任意選択的に、視点が第1の視点であったときの距離と比較して、視点を第2のオブジェクトに近づけるか、又は第2のオブジェクトから遠ざける。
【0217】
いくつかの実施形態では、個別の視点の移動を検出したことに応じて(1012c)、電子デバイスは、図9Dに示すように、三次元環境の表示を第2の視点からのものであるように更新する(1012d)。いくつかの実施形態では、電子デバイスは、第3のロケーションにある第2のオブジェクトのサイズを、図9Dのスケーリングオブジェクト916aのように、三次元環境内で第3のサイズとは異なる第4のサイズになるようにスケーリングする(1012e)。例えば、第2のオブジェクトは、ユーザの視点と第2のオブジェクトとの間の更新された距離に基づいて、ユーザの視点の移動に応じてスケーリングされる。いくつかの実施形態では、ユーザの視点が第2のオブジェクトに近づく場合、第2のオブジェクトは、三次元環境内でサイズが縮小され、ユーザの視点がユーザの視点から離れる場合、第2のオブジェクトは、サイズが拡大される。第2のオブジェクトによって占有される視野の量は、任意選択的に、本明細書に記載される方法で一定のままであるか、又は増加若しくは減少する。ユーザの視点の移動に応じていくつかのタイプのオブジェクトをスケーリングすることは、距離の変化が視点の移動に起因する場合であっても、オブジェクトとユーザの視点との間の距離にかかわらず、ユーザがオブジェクトと相互作用することが可能であることを確実にし、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減させる。
【0218】
いくつかの実施形態では、三次元環境内の第1のロケーションに第1のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、図9Dのユーザ926の視点の移動などの、視点と第1のオブジェクトとの間の距離を変化させる、第1の視点から第2の視点への三次元環境内のユーザの視点の移動を検出する(1014a)。例えば、ユーザは、電子デバイスがユーザの更新された視点から三次元環境を表示するように、電子デバイスの物理的環境内で移動し、かつ/又はユーザの視点を三次元環境内の第2の視点に移動させるための入力を電子デバイスに提供する。視点の移動は、任意選択的に、視点が第1の視点にあったときの距離と比較して、視点を第1のオブジェクトに近づけるか、又は第1のオブジェクトから遠ざける。
【0219】
いくつかの実施形態では、視点の移動を検出したことに応じて、電子デバイスは、図9Dのオブジェクト906a、908a、又は910aで示すように、三次元環境内の第1のロケーションにある第1のオブジェクトのサイズをスケーリングすることなく、三次元環境の表示を第2の視点からのものであるように更新する(1014b)。第1のオブジェクトは、任意選択的に、前述のように、視点の移動に応じてスケーリングされない。
【0220】
いくつかの実施形態では、第2の視点から三次元環境内の第1のロケーションに第1のオブジェクトを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図9Dのオブジェクト906aに向けられた移動入力などの、第1のオブジェクトを三次元環境内の第1のロケーションから、第1のロケーションよりも第2の個別のロケーションから遠い三次元環境内の第3のロケーションに移動させる要求に対応する第2の入力を受信する(1014c)。例えば、ユーザの手が第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間にユーザの視線が第1のオブジェクトに向けられている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状での手の移動が続く、ピンチジェスチャ、又はユーザの手が第1のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状での手の移動が続く、ピンチである。手の移動は、任意選択的に、ユーザの視点から離れており、これは、任意選択的に、三次元環境内で第1のオブジェクトをユーザの視点から離れるように移動させる要求に対応する。いくつかの実施形態では、第2の入力は、方法800、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0221】
いくつかの実施形態では、第2の入力を検出している間に、第1のオブジェクトを第1のロケーションから離れるように移動させる前に(例えば、ユーザの人差し指と親指のピンチダウンを検出したことに応じて、例えば、親指の先端と人差し指の先端が一緒になってタッチしていると検出されたとき、ピンチハンド形状を維持しながら手の移動を検出する前に)、電子デバイスは、オブジェクト906aが移動される前の図9Eのオブジェクト906aのスケーリングなど、第2の入力の開始が検出されたときの第1のオブジェクトと第2の視点との間の距離に基づいて、第1のオブジェクトのサイズを第1のサイズとは異なる第3のサイズになるようにスケーリングする(1014d)(例えば、ユーザの人差し指と親指のピンチダウンが検出されたとき)。視点が第1のオブジェクトにより近いロケーションに移動した場合、第1のオブジェクトは任意選択的にサイズがスケールダウンされ、視点が第1のオブジェクトからより遠いロケーションに移動した場合、第1のオブジェクトは任意選択的にサイズが拡大される。第1のオブジェクトのスケーリングの量(及び/又は第1のオブジェクトによって占有される視点の視野の結果として生じる量)は、任意選択的に、第1のオブジェクトを参照して以前に説明された通りである。したがって、いくつかの実施形態では、第1のオブジェクトがユーザの視点の移動に応じてスケーリングされなくても、後続の移動入力の開始を検出すると、第1のオブジェクトとユーザの視点との間の現在の距離に基づくようにスケーリングされる。移動入力を検出したときに第1のオブジェクトをスケーリングすることは、第1のオブジェクトがユーザの視点からのその現在の距離に対して適切にサイズ決定されることを確実にし、それによってユーザ-デバイス相互作用を改善する。
【0222】
いくつかの実施形態では、三次元環境は更に、三次元環境内の第3のロケーションに第2のオブジェクトを含む(1016a)。いくつかの実施形態では、第1の入力を受信したことに応じて(1016b)、第1の入力が第1のオブジェクトを三次元環境内の第4のロケーションであって、第4のロケーションは、個別の視点から第1の距離にある、第4のロケーション(例えば、別のオブジェクトを含まない三次元環境内のロケーション)に移動させる要求に対応するという判定に従って、電子デバイスは、三次元環境内の第4のロケーションに第1のオブジェクトを表示し(1016c)、第1のオブジェクトは、三次元環境内で第3のサイズを有する。例えば、第1のオブジェクトは、前に説明したように、第1の距離に基づいてスケーリングされる。
【0223】
いくつかの実施形態では、第1の入力が、図9Aのオブジェクト914aに向けられた入力(例えば、第1のオブジェクトの第2のオブジェクトへの移動、ここで第2のオブジェクトは第1のオブジェクトの有効なドロップターゲットである。有効なドロップターゲット及び無効なドロップターゲットについては、方法1200及び/又は1400を参照してより詳細に説明する)などの、第1の入力が第1のオブジェクトを三次元環境内の第3のロケーションに移動させる要求に対応するときに満たされる個別の基準を含む、1つ以上の基準を満たすという判定に従って、第3のロケーション、個別の視点からの第1の距離(例えば、第2のオブジェクトは、ユーザの視点からの第4のロケーションの距離と同じユーザの視点からの距離である)、電子デバイスは、三次元環境内の第3のロケーションに第1のオブジェクトを表示し(1016d)、第1のオブジェクトは、図9Bのオブジェクト914aで示すように、三次元環境内で第3のサイズとは異なる第4のサイズを有する。いくつかの実施形態では、第1のオブジェクトが、第1のオブジェクトの有効なドロップターゲットであるオブジェクト(例えば、ウィンドウ)に、又はオブジェクトの0.1、0.2、0.5、1、2、3、5、10、20、30、若しくは50cmなどの閾値距離内に移動されるとき、電子デバイスは、第1のオブジェクトがオブジェクトに移動されないときに第1のオブジェクトをスケーリングするのとは異なるように第1のオブジェクトをスケーリングする(例えば、ユーザの視点と第1のオブジェクトとの間の距離に基づかずに第1のオブジェクトをスケーリングする)。したがって、第1のオブジェクトが第3のロケーションに移動されたときに第1のオブジェクトが依然としてユーザの視点から第1の距離にあるとしても、第1のオブジェクトは、第1のオブジェクトが第4のロケーションに移動されたときとは異なるサイズを有し、したがって、ユーザの視野の異なる量を占有する。第1のオブジェクトが別のオブジェクトに移動されるときに第1のオブジェクトを異なるようにスケーリングすることは、第1のオブジェクトが、潜在的に第1のオブジェクトのドロップターゲット/コンテナである別のオブジェクトに移動されたという視覚的フィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0224】
いくつかの実施形態では、第1のオブジェクトの第4のサイズは、図9Bのオブジェクト914aで示されるように、第2のオブジェクトのサイズに基づく(1018)。例えば、第1のオブジェクトは、第2のオブジェクト内に適合するようにサイズ決定される。第2のオブジェクトがメッセージングアプリケーションのユーザインタフェースであり、第1のオブジェクトが写真の表現である場合、第1のオブジェクトは、例えば、第2のオブジェクトに含める/表示するのに適切なサイズになるように、任意選択的にスケールアップ又はスケールダウンされる。いくつかの実施形態では、第1のオブジェクトは、第2のオブジェクトのサイズの特定の割合(例えば、1%、5%、10%、20%、30%、40%、50%、60%、又は70%)であるようにスケーリングされる。第2のオブジェクトのサイズに基づいて第1のオブジェクトをスケーリングすることは、第1のオブジェクトが第2のオブジェクトに対して適切にサイズ決定される(例えば、第2のオブジェクトを妨害するほど大きすぎず、第2のオブジェクト内で適切に可視及び/又は相互作用可能であるほど小さすぎない)ことを確実にし、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0225】
いくつかの実施形態では、第1のオブジェクトが三次元環境内の第3のロケーションにあり、第2のオブジェクトのサイズに基づく第4のサイズを有する間(例えば、第1のオブジェクトが、写真ブラウジング及びビューイングユーザインタフェース内に包含される写真の表現など、第2のオブジェクト内に包含される間)、電子デバイスは、1つ以上の入力デバイスを介して、図9Dのオブジェクト940aなどに関して、三次元環境内の第3のロケーションから離れるように第1のオブジェクトを移動させる要求に対応する第2の入力(例えば、第2のオブジェクトから0.1、0.2、0.5、1、2、5、10、20、又は30cmなどの閾値距離を超える第1のオブジェクトの移動など、第2のオブジェクトから第1のオブジェクトを除去する入力)を受信する(1020a)。例えば、ユーザの手が第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間にユーザの視線が第1のオブジェクトに向けられている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状での手の移動が続く、ピンチジェスチャ、又はユーザの手が第1のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状での手の移動が続く、ピンチである。手の移動は、任意選択的に、ユーザの視点に向かい、これは、任意選択的に、三次元環境内で第1のオブジェクトをユーザの視点に向かって(例えば、かつ/又は第2のオブジェクトから離れるように)移動させる要求に対応する。いくつかの実施形態では、第2の入力は、方法800、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0226】
いくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイスは、第1のオブジェクトを第5のサイズで表示し(1020b)、第5のサイズは、図9Eのオブジェクト940aで示されるように、第2のオブジェクトのサイズに基づかない。いくつかの実施形態では、電子デバイスは、第1のオブジェクトが第2のオブジェクトから除去されると(例えば、第3のロケーションから離れる第1のオブジェクトの移動を検出する前に)、第1のオブジェクトを直ちにスケーリングする。いくつかの実施形態では、電子デバイスが第1のオブジェクトをスケーリングするサイズは、第1のオブジェクトとユーザの視点との間の距離に基づき(例えば、第1のオブジェクトが第2のオブジェクトから除去される瞬間に)、もはや第2のオブジェクトのサイズに基づくものでも比例するものでもない。いくつかの実施形態では、第5のサイズは、第1の入力の間に第2のオブジェクトに到達する/追加される直前に第1のオブジェクトが表示されていたサイズと同じサイズである。第1のオブジェクトが第2のオブジェクトから除去されるとき、第2のオブジェクトのサイズに基づかないように第1のオブジェクトをスケーリングすることは、第1のオブジェクトが、ユーザの視点からのその現在の距離に対して適切にサイズ決定されることを確実にし、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0227】
いくつかの実施形態では、個別の基準は、第1の入力が、図9Bのボリューム930内など、第3のロケーションを含む三次元環境内のボリューム内の任意のロケーションに第1のオブジェクトを移動させる要求に対応するときに満たされる(1022)。いくつかの実施形態では、第2のオブジェクトのためのドロップゾーンは、第2のオブジェクトの全てではなく一部を包含するか、又は全てを含むことのうちの少なくとも一部を包含する、三次元環境内のボリューム(例えば、その境界は、任意選択的に、三次元環境内に表示されない)である。いくつかの実施形態では、ボリュームは、第2のオブジェクトの表面からユーザの視点に向かって延在する。いくつかの実施形態では、第1のオブジェクトをボリューム内の任意の場所に移動させることは、(例えば、第1のオブジェクトとユーザの視点との間の距離に基づくのではなく)第2のオブジェクトのサイズに基づいて第1のオブジェクトをスケーリングさせる。いくつかの実施形態では、第1のオブジェクトがボリューム内にある間に第1の入力の終了を検出すること(例えば、ユーザの手によるピンチハンド形状の解放を検出すること)は、方法1200及び/又は1400を参照して説明したように、第1のオブジェクトを第2のオブジェクトに追加させる。第1のオブジェクトが第2のオブジェクトに基づいてスケーリングされるボリュームを提供することは、第1のオブジェクトと第2のオブジェクトとの間のより容易な相互作用を容易にし、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0228】
いくつかの実施形態では、第1の入力を受信している間に(例えば、前述のように、第1の入力の終了を検出する前に)、第1のオブジェクトが第1の入力に従って第3のロケーションに移動したという判定、かつ1つ以上の基準が満たされているという判定に従って、電子デバイスは、図9Bのオブジェクト914aを参照して説明したように、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであることを示すように、第1のオブジェクトの外観を変更する(1024)。例えば、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであることを示すために、第1のオブジェクトのサイズを変更すること、第1のオブジェクトの色を変更すること、第1のオブジェクトの半透明性又は輝度を変更すること、第1のオブジェクトの右上隅にオーバーレイされた「+」記号を有するバッジを表示すること、かつ/又はその他である。第1のオブジェクトの外観の変化は、任意選択的に、有効なドロップターゲットとの関連で方法1200及び/又は1400を参照して説明した通りである。第1のオブジェクトが有効なドロップターゲットに移動されたことを示すように第1のオブジェクトの外観を変更することは、ユーザが移動入力を終了した場合に第1のオブジェクトが第2のオブジェクトに追加されるという視覚的フィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善し、使用中のエラーを低減する。
【0229】
いくつかの実施形態では、1つ以上の基準は、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットであるときに満たされ、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットでないときに満たされない基準を含む(1026a)(例えば、有効及び無効なドロップターゲットの例は、方法1200及び/又は1400を参照して説明される)。いくつかの実施形態では、第1の入力を受信したことに応じて(1026b)、個別の基準は満たされるが、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットではない(例えば、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであった場合に、第1のオブジェクトが第2のオブジェクトに追加されることを可能にするロケーションに第1のオブジェクトが移動されている)ため、第1の入力が1つ以上の基準を満たさないという判定に従って、電子デバイスは、三次元環境内の第4のロケーションに第1のオブジェクトを表示し(1026c)、第1のオブジェクトは、図9Cのオブジェクト914aで示されるように、三次元環境内で第3のサイズを有する。例えば、第2のオブジェクトは第1のオブジェクトの有効なドロップターゲットではないため、第1のオブジェクトは、第2のオブジェクトのサイズに基づいてスケーリングされるのではなく、ユーザの視点と第1のオブジェクトとの間の現在の距離に基づいてスケーリングされる。第2のオブジェクトに基づいて第1のオブジェクトのスケーリングを取り止めることは、第2のオブジェクトが第1のオブジェクトのための有効なドロップターゲットではないという視覚的フィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善し、使用におけるエラーを低減する。
【0230】
いくつかの実施形態では、第1の入力を受信したことに応じて(1028a)、第1の入力が1つ以上の基準を満たす(例えば、第1のオブジェクトが第2のオブジェクトのドロップロケーションに移動されており、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットである)という判定に従って、電子デバイスは、図9Bのオブジェクト910aに対するオブジェクト914aで示されるように、個別の視点に対する第2のオブジェクトの配向に基づいて、個別の視点に対する第1のオブジェクトの配向を更新する(1028b)。追加的に又は代替的に、第1のオブジェクトが有効なドロップターゲットに移動されたときに第1のオブジェクトをスケーリングすることに加えて又はその代わりに、電子デバイスは、第2のオブジェクトの配向と位置合わせされるように第1のオブジェクトのピッチ、ヨー、かつ/又はロールを更新/変更する。例えば、第2のオブジェクトが平面オブジェクトであるか、又は平面表面を有する(例えば、平面表面を有する三次元オブジェクトである)場合、第1のオブジェクトが第2のオブジェクトに移動されると、電子デバイスは、第1のオブジェクト(又は、第1のオブジェクトが三次元オブジェクトである場合、その上の表面)が第2のオブジェクト(又は第2のオブジェクトの表面)と平行になるように、第1のオブジェクトの配向を変更する。第1のオブジェクトが第2のオブジェクトに移動されるときに第1のオブジェクトの配向を変更することは、第1のオブジェクトが、第2のオブジェクト内にドロップされた場合に第2のオブジェクト内に適切に配置されることを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0231】
いくつかの実施形態では、三次元環境は更に、三次元環境内の第3のロケーションに第2のオブジェクトを含む(1030a)。いくつかの実施形態では、第1の入力を受信している間(1030b)、第1の入力が、第3のロケーションを通って第3のロケーションよりも個別の視点から遠くに第1のオブジェクトを移動させる要求に対応するという判定(例えば、方法1200を参照して説明されるような、第2のオブジェクトを通る第1のオブジェクトの移動に対応する入力)に従って(1030c)、電子デバイスは、第1の入力に従って、個別の視点と第1のオブジェクトとの間の距離に基づいて三次元環境内で第1のオブジェクトをスケーリングしながら、第1のオブジェクトを個別の視点から離れるように第1のロケーションから第3のロケーションに移動させ(1030d)、例えば、オブジェクト914aがオブジェクト910aに到達するまで図9Aから図9Bに移動及びスケーリングする。例えば、第1のオブジェクトは、方法1200を参照して説明したように、第2のオブジェクトに到達するまで、第1の入力に従ってユーザの視点から離れて後方に自由に移動される。第1のオブジェクトは、第2のオブジェクトに向かって後方に移動しているときにユーザの視点から更に離れて移動しているため、電子デバイスは、任意選択的に、前述したように、第1のオブジェクトとユーザの視点との間の現在の変化する距離に基づいて第1のオブジェクトをスケーリングする。
【0232】
いくつかの実施形態では、第1のオブジェクトが第3のロケーションに到達した後、電子デバイスは、オブジェクト914aに向けられた手903aからの入力が、オブジェクト914aが図9Bのボリューム930内に留まっている間にオブジェクト910aを通る継続した移動に対応した場合などに、第1の入力を受信し続けながら、第1のオブジェクトをスケーリングすることなく、第3のロケーションにおける第1のオブジェクトの表示を維持する(1030e)。例えば、方法1200を参照して説明されるものと同様に、第1のオブジェクトは、第2のオブジェクトを通して第1のオブジェクトを移動させるためのユーザの手からの更なる入力が検出される場合であっても、第2のオブジェクトと衝突する、かつ/又はそれに到達すると、第2のオブジェクトを通した移動に抵抗する。第1のオブジェクトが第2のロケーション/第3のロケーションに留まっている間、ユーザの視点と第1のオブジェクトとの間の距離は変化していないため、電子デバイスは、第1のオブジェクトを第2のオブジェクトを通して/越えて移動させるための更なる入力に従って、三次元環境内で第1のオブジェクトをスケーリングすることを停止する。(例えば、方法1200を参照して説明したように)第2のオブジェクトを突破するのに十分な大きさの、第2のオブジェクトを通じた入力が受信された場合、電子デバイスは、任意選択的に、第1のオブジェクトとユーザの視点との間の現在の変化する距離に基づいて、第1のオブジェクトのスケーリングを再開する。第1のオブジェクトが第2のオブジェクトに対してピン留めされているときに第1のオブジェクトをスケーリングすることを取り止めることは、第1のオブジェクトがもはや三次元環境内で移動していないというフィードバックをユーザに提供し、それによってユーザ-デバイス相互作用を改善する。
【0233】
いくつかの実施形態では、第1のオブジェクトをスケーリングすることは、第2のサイズの第1のオブジェクトによって占有される個別の視点からの視野の第2の量が視野の閾値量よりも大きいという判定に従う(1032a)(例えば、電子デバイスは、第1のオブジェクトが占有するユーザの視野の量が視野の0.1%、0.5%、1%、3%、5%、10%、20%、30%、又は50%などの閾値量よりも大きい限り、第1のオブジェクトとユーザの視点との間の距離に基づいて第1のオブジェクトをスケーリングする)。いくつかの実施形態では、第1のオブジェクトが個別の視点からの視野の第1の個別の量を占有する、第1のオブジェクトを三次元環境内に個別のサイズで表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、第1のオブジェクトを個別の視点から離れるように移動させる要求に対応する第2の入力を受信する(1032b)。例えば、ユーザの手が第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間にユーザの視線が第1のオブジェクトに向けられている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状での手の移動が続く、ピンチジェスチャ、又はユーザの手が第1のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状での手の移動が続く、ピンチである。手の移動は、任意選択的に、ユーザの視点から離れており、これは、任意選択的に、三次元環境内で第1のオブジェクトをユーザの視点から離れるように移動させる要求に対応する。いくつかの実施形態では、第2の入力は、方法800、1200、1400、かつ/又は1600を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0234】
いくつかの実施形態では、第2の入力を受信したことに応じて(1032c)、個別の視点からの視野の第1の個別の量が視野の閾値量未満である(例えば、第1のオブジェクトによって占有される視野の量が視野の閾値量に達した、かつ/又は閾値量未満である、三次元環境内のユーザの視点からの距離まで第1のオブジェクトが移動された)という判定に従って、電子デバイスは、デバイス101が図9Bから図9Cへのオブジェクト906aのスケーリングを中止した場合などに、三次元環境内の第1のオブジェクトのサイズをスケーリングすることなく、第2の入力に従って個別の視点から離れるように第1のオブジェクトを移動させる(1032d)。いくつかの実施形態では、電子デバイスは、第1のオブジェクトによって占有される視野の量が閾値量未満であるように、第1のオブジェクトがユーザの視点から十分に遠いとき、第1のオブジェクトとユーザの視点との間の距離に基づいて、三次元環境内の第1のオブジェクトのサイズをもはやスケーリングしない。いくつかの実施形態では、この時点で、第1のオブジェクトのサイズは、第1のオブジェクトがユーザの視点から更に離れ続けるにつれて、三次元環境内で一定のままである。いくつかの実施形態では、第1のオブジェクトによって占有される視野の量が閾値量に達する及び/又は閾値量を超えるように、第1のオブジェクトが続いてユーザの視点のより近くに移動される場合、電子デバイスは、第1のオブジェクトとユーザの視点との間の距離に基づいて、第1のオブジェクトのスケーリングを再開する。第1のオブジェクトがユーザの閾値視野未満を消費するときに第1のオブジェクトをスケーリングすることを取り止めることは、第1のオブジェクトとの相互作用が有効でないときにデバイスの処理リソースを節約し、それによって、電子デバイスの電力使用量を低減する。
【0235】
いくつかの実施形態では、第1の入力は、第1のオブジェクトを個別の視点から離れるように移動させる要求に対応する(1034a)。いくつかの実施形態では、第1の入力の第1の部分を受信したことに応じて、かつ第1のオブジェクトを個別の視点から離れるように移動させる前に(1034b)(例えば、人差し指の先端が親指の先端に近づいて接触するピンチダウンジェスチャを実行するユーザの手を検出したことに応じて、かつピンチハンド形状の手が続いて移動する前に)、第1のオブジェクトの第1のサイズが、第1のサイズが第1のオブジェクトと個別の視点との間の現在の距離に対応しないときに満たされる基準を含む1つ以上の基準を満たすという判定に従って(例えば、第1の入力の第1の部分が検出されたときの第1のオブジェクトの現在のサイズがユーザの視点と第1のオブジェクトとの間の距離に基づいていない場合)、電子デバイスは、オブジェクト906aが図9Aのオブジェクトとユーザ926の視点との間の現在の距離に基づいてサイズ決定されなかった場合などに、第1のオブジェクトと個別の視点との間の現在の距離に基づく、第1のサイズとは異なる第3のサイズを有するように第1のオブジェクトをスケーリングする(1034c)。したがって、いくつかの実施形態では、第1の入力の第1の部分に応じて、電子デバイスは、第1のオブジェクトとユーザの視点との間の現在の距離に基づくように、第1のオブジェクトを適切にサイズ決定する。第3のサイズは、任意選択的に、第1のオブジェクトとユーザの視点との間の現在の距離に応じて、第1のサイズよりも大きいか又は小さい。移動入力の第1の部分を検出したときに第1のオブジェクトをスケーリングすることは、第1のオブジェクトがユーザの視点からのその現在の距離に対して適切にサイズ決定されることを確実にし、第1のオブジェクトとの後続の相互作用を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0236】
方法1000における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0237】
図11A図11Eは、いくつかの実施形態による、三次元環境内のオブジェクトの移動に選択的に抵抗する電子デバイスの例を示す。
【0238】
図11Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、(例えば、デバイス101が位置する物理的環境の後壁に面する)俯瞰図に示されるユーザ1126の視点から三次元環境1102を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。デバイス101は、1つ以上のボタン(例えば、物理ボタン)を任意選択的に含み、これは、任意選択的に電源ボタン1140及びボリューム制御ボタン1141であってもよい。
【0239】
図11Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境1102内の物理的環境の表現を表示する。例えば、三次元環境1102は、任意選択的に物理的環境内の物理的コーヒーテーブルの表現であるコーヒーテーブルの表現1122a(俯瞰図内のテーブル1122bに対応する)を含み、三次元環境1102は、任意選択的に物理的環境内の物理的ソファの表現であるソファの表現1124a(俯瞰図内のソファ1124bに対応する)を含む。
【0240】
図11Aでは、三次元環境1102はまた、仮想オブジェクト1104a(俯瞰図内のオブジェクト1104bに対応する)、1106a(俯瞰図内のオブジェクト1106bに対応する)、1107a(俯瞰図内のオブジェクト1107bに対応する)、かつ1109a(俯瞰図内のオブジェクト1109bに対応する)を含む。仮想オブジェクト1104a及び1106aは、任意選択的に、ユーザ1126の視点から比較的小さい距離にあり、仮想オブジェクト1107a及び1109aは、任意選択的に、ユーザ1126の視点から比較的大きい距離にある。図11Aでは、仮想オブジェクト1109aは、ユーザ1126の視点から最も遠い距離にある。いくつかの実施形態では、仮想オブジェクト1107aは、仮想オブジェクト1104aの有効なドロップターゲットであり、仮想オブジェクト1109aは、仮想オブジェクト1106aの無効なドロップターゲットである。例えば、仮想オブジェクト1107aは、任意選択的に二次元写真である仮想オブジェクト1104aを受容する及び/又は表示するように構成されたアプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース)である。仮想オブジェクト1109aは、任意選択的に二次元写真でもある仮想オブジェクト1106aを受容及び/又は表示することができないアプリケーションの任意選択的にユーザインタフェース(例えば、コンテンツブラウジングユーザインタフェース)である。いくつかの実施形態では、仮想オブジェクト1104a及び1106aは、任意選択的に、コンテンツを包含するアプリケーションのユーザインタフェース(例えば、写真を表示するクイックルックウィンドウ)、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、又はデバイス101の物理的環境に含まれないデバイス101によって表示される任意の他の要素のうちの1つ以上である。
【0241】
いくつかの実施形態では、仮想オブジェクトは、(例えば、三次元環境1102において、後述される仮想オブジェクトと相互作用する入力を受信する前に)ユーザ1126の視点に対するそれぞれの配向で三次元環境1102に表示される。図11Aに示すように、仮想オブジェクト1104a及び1106aは、第1の配向を有し(例えば、ユーザ1126の視点に面する仮想オブジェクト1104a及び1106aの前向き表面は、ユーザ1126の視点に対して上向きに傾斜/若干角度付けられる)、仮想オブジェクト1107aは、第1の配向と異なる第2の配向を有し(例えば、ユーザ1126の視点に面する仮想オブジェクト1107aの前向き表面は、俯瞰図内の1107bによって示されるように、ユーザ1126の視点に対して左向きに傾斜/若干角度付けられる)、仮想オブジェクト1109aは、第1の配向及び第2の配向と異なる第3の配向を有する(例えば、ユーザ1126の視点に面する仮想オブジェクト1109aの前向き表面は、俯瞰図内の1109bによって示されるように、ユーザ1126の視点に対して右向きに傾斜/若干角度付けられる)。図11Aのオブジェクトの配向は単なる例示であり、他の配向も可能であることを理解されたい。例えば、オブジェクトは、任意選択的に、三次元環境1102において全て同じ配向を共有する。
【0242】
いくつかの実施形態では、仮想オブジェクトの影が、任意選択的に、デバイス101によって、その仮想オブジェクトの有効なドロップターゲット上に表示される。例えば、図11Aでは、仮想オブジェクト1104aの影が、仮想オブジェクト1104aの有効なドロップターゲットである仮想オブジェクト1107a上にオーバーレイされて表示される。いくつかの実施形態では、仮想オブジェクト1104aの影の相対的なサイズは、任意選択的に、仮想オブジェクト1107aに対する仮想オブジェクト1104aのポジションの変化に応じて変化し、したがって、いくつかの実施形態では、仮想オブジェクト1104aの影は、オブジェクト1104aと1107aとの間の距離を示す。例えば、仮想オブジェクト1107aに近づく(例えば、ユーザ1126の視点から離れる)仮想オブジェクト1104aの移動は、任意選択的に、仮想オブジェクト1107a上にオーバーレイされる仮想オブジェクト1104aの影のサイズを減少させ、仮想オブジェクト1107aから離れる(例えば、ユーザ1126の視点に近づく)仮想オブジェクト1104aの移動は、任意選択的に、仮想オブジェクト1107a上にオーバーレイされる仮想オブジェクト1104aの影のサイズを増加させる。図11Aでは、仮想オブジェクト1106aが仮想オブジェクト1109aに対して無効なドロップターゲットであるため、仮想オブジェクト1109aの影は仮想オブジェクト1106a上にオーバーレイして表示されない。
【0243】
いくつかの実施形態では、デバイス101は、三次元環境1102内の特定の経路に沿った、又は特定の方向へのオブジェクトの移動に抵抗する。例えば、デバイス101は、別のオブジェクトを包含する経路に沿った、かつ/又は三次元環境1102内の別のオブジェクトを通る方向へのオブジェクトの移動に抵抗する。いくつかの実施形態では、他のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるという判定に従って、別のオブジェクトを通る第1のオブジェクトの移動が阻止される。いくつかの実施形態では、別のオブジェクトを通る第1のオブジェクトの移動は、他のオブジェクトが第1のオブジェクトの無効なドロップターゲットであるという判定に従って、抵抗されない。上記のオブジェクト移動に関する追加の詳細は、方法1200を参照して以下に提供される。
【0244】
図11Aにおいて、(例えば、手の状態Aにある)手1103aは、オブジェクト1104aに向けられた移動入力を提供しており、(例えば、手の状態Aにある)手1105aは、オブジェクト1106aに向けられた移動入力を提供している。手1103aは、任意選択的に、オブジェクト1104aをユーザ1126の視点からより遠くに、三次元環境1102内の仮想オブジェクト1107aの方向に移動させるための入力を提供しており、手1105aは、任意選択的に、オブジェクト1106aをユーザ1126の視点からより遠くに、三次元環境1102内の仮想オブジェクト1109aの方向に移動させるための入力を提供している。いくつかの実施形態では、かかる移動入力は、ユーザの手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間)、ユーザの手がユーザ1126の身体から離れるように移動することを含む。例えば、図11A図11Bから、デバイス101は、手1103aがピンチハンド形状にある間にユーザ1126の身体から離れて移動することを任意選択的に検出し、デバイス101は、手1105aがピンチハンド形状にある間にユーザ1126の身体から離れて移動することを任意選択的に検出する。複数の手及び対応する入力が図11A図11Eに示されているが、かかる手及び入力は、デバイス101によって同時に検出される必要はないことを理解されたい。むしろ、いくつかの実施形態では、デバイス101は、かかる手及び/又は入力を独立して検出したことに応じて、図示及び説明される手及び/又は入力に独立して応答する。
【0245】
図11Aにおいて検出された移動入力に応じて、デバイス101は、図11Bに示すように、それに応じて三次元環境1102においてオブジェクト1104a及び1106aを移動させる。図11Aでは、手1104a及び1106aは、任意選択的に、前述したように、同じ方向に同じ大きさの移動を有する。ユーザ1126の身体から離れる手1103aの移動の所与の大きさに応じて、デバイス101は、オブジェクト1104aをユーザ1126の視点から離れて仮想オブジェクト1107aの方向に移動させており、仮想オブジェクト1104aの移動は、図11Bの俯瞰図に示すように、三次元環境1102内の仮想オブジェクト1107aによって停止されている(例えば、仮想オブジェクト1104aが仮想オブジェクト1107aに到達及び/又は衝突したとき)。ユーザ1126の身体から離れる手1105aの移動の同じ所与の大きさに応じて、デバイス101は、図11Bの俯瞰図に示すように、オブジェクト1106aによってカバーされる距離よりも大きい距離だけ、ユーザ1126の視点から離れるようにオブジェクト1104aを移動させている。上述したように、仮想オブジェクト1107aは、任意選択的に、仮想オブジェクト1104aの有効なドロップターゲットであり、仮想オブジェクト1109aは、任意選択的に、仮想オブジェクト1106aの無効なドロップターゲットである。したがって、手1103aの移動の所与の大きさに応じて、仮想オブジェクト1104aがデバイス101によって仮想オブジェクト1107aの方向に移動させられると、仮想オブジェクト1104aが仮想オブジェクト1107aの表面の少なくとも一部に到達/接触するとき、仮想オブジェクト1104aを通る仮想オブジェクト1107aの移動は、図11Bの俯瞰図に示すように、デバイス101によって任意選択的に抵抗される。一方、仮想オブジェクト1106aは、手1105aの所与の大きさの移動に応じて、デバイス101によって仮想オブジェクト1109aの方向に移動させられるため、仮想オブジェクト1106aが仮想オブジェクト1109aの表面に到達/接触する場合、仮想オブジェクト1106aの移動は抵抗されないが、図11Bでは、図11Bの俯瞰図に示すように、仮想オブジェクト1106aはまだ仮想オブジェクト1109aに到達していない。
【0246】
更に、いくつかの実施形態では、デバイス101は、他のオブジェクトがそのオブジェクトに対して有効なドロップターゲットである場合、そのオブジェクトが他のオブジェクト又は表面に近づくと、別のオブジェクト又は表面に対応するようにオブジェクトの配向を自動的に調整する。例えば、手1103aの移動の所与の大きさに応じて、仮想オブジェクト1104aが仮想オブジェクト1107aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内に移動されると、仮想オブジェクト1107aが仮想オブジェクト1104aの有効なドロップターゲットであるため、デバイス101は、任意選択的に、(例えば、図11Bの俯瞰図に示すように)仮想オブジェクト1104aのアプローチされた表面に対応する及び/又は平行になるように、仮想オブジェクト1107aの配向を調整する。いくつかの実施形態では、デバイス101は、他のオブジェクトがそのオブジェクトに対する無効なドロップターゲットである場合、そのオブジェクトが他のオブジェクト又は表面に近づいたときに、別のオブジェクト又は表面に対応するようにオブジェクトの配向を自動的に調整することを取り止める。例えば、仮想オブジェクト1106aが、手1105aの所与の大きさの移動に応じて、仮想オブジェクト1109aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内に移動されるとき、デバイス101は、仮想オブジェクト1109aが仮想オブジェクト1106aの無効なドロップターゲットであるため、(例えば、図11Bの俯瞰図に示されるように)仮想オブジェクト1109aのアプローチされた表面に対応する及び/又は平行であるように仮想オブジェクト1106aの配向を調整することを取り止める。
【0247】
更に、いくつかの実施形態では、個別のオブジェクトがオブジェクト(例えば、物理的又は仮想的)の表面の閾値距離内に移動されると、デバイス101は、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットであるか、又は無効なドロップターゲットであるかを示すバッジを個別のオブジェクト上に表示する。図11Bにおいて、オブジェクト1107aは、オブジェクト1104aの有効なドロップターゲットであり、従って、デバイス101は、仮想オブジェクト1104aが仮想オブジェクト1107aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内で移動されたときにオブジェクト1107aがオブジェクト1104aの有効なドロップターゲットであることを示すバッジ1125をオブジェクト1104aの右上隅にオーバーレイして表示する。いくつかの実施形態では、バッジ1125は、任意選択的に、1つ以上の記号又は文字(例えば、仮想オブジェクト1107aが仮想オブジェクト1104aの有効なドロップターゲットであることを示す「+」記号)を含む。別の例では、仮想オブジェクト1107aが仮想オブジェクト1104aの無効なドロップターゲットであった場合、バッジ1125は、任意選択的に、仮想オブジェクト1107aが仮想オブジェクト1104aの無効なドロップターゲットであることを示す1つ以上の記号又は文字(例えば、「-」記号又は「x」記号)を含む。いくつかの実施形態において、個別のオブジェクトがオブジェクトの閾値距離内に移動されると、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットである場合、デバイス101は、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットであることを示すように、個別のオブジェクトをサイズ変更する。例えば、図11Bでは、仮想オブジェクト1104aが仮想オブジェクト1107aの表面の閾値距離内に移動されると、仮想オブジェクト1104aは、三次元環境1102において(例えば、角度)サイズがスケールダウン(又はスケールアップ)される。オブジェクト1104aがスケーリングされるサイズは、任意選択的に、オブジェクト1107aのサイズ、かつ/又はオブジェクト1107aを受容することができるオブジェクト1104a内の領域のサイズに基づく(例えば、オブジェクト1107aが大きいほど、オブジェクト1104aのスケーリングされたサイズは大きくなる)。有効及び無効なドロップターゲット、並びに表示される関連付けられたインジケーション、かつデバイス101の他の応答の更なる詳細は、方法1000、1200、1400、かつ/又は1600を参照して説明される。
【0248】
更に、いくつかの実施形態では、デバイス101は、ユーザ1126の視点からのそのオブジェクトの距離に基づいて、三次元環境1102に含まれるオブジェクトのサイズを制御して、オブジェクトがそれらの現在の視点からユーザ1126の視野の大部分を消費することを回避する。したがって、いくつかの実施形態では、オブジェクトは、ユーザ1126の視点からのそれらの現在の距離に対して適切又は最適なサイズに関連付けられ、デバイス101は、それらの適切又は最適なサイズに適合するようにオブジェクトのサイズを自動的に変更する。しかしながら、いくつかの実施形態では、デバイス101は、オブジェクトを移動させるためのユーザ入力が検出されるまで、オブジェクトのサイズを調整しない。例えば、図11Aにおいて、オブジェクト1104a及び1106aは、三次元環境内で第1のサイズでデバイス101によって表示される。三次元環境1102内でオブジェクト1104aを移動させるための手1103a、かつ三次元環境1102内でオブジェクト1106aを移動させるための手1105aによって提供される入力を検出したことに応じて、デバイス101は、図11Bの俯瞰図に示すように、三次元環境1102内のオブジェクト1104a及び1106aのサイズを任意選択的に増加させる。オブジェクト1104a及び1106aの増加したサイズは、任意選択的に、ユーザ1126の視点からのオブジェクト1104a及び1106aの現在の距離に対応する。ユーザの視点からのオブジェクトの距離に基づいてオブジェクトのサイズを制御することに関する追加の詳細は、図9シリーズの図及び方法1000を参照して説明される。
【0249】
いくつかの実施形態では、デバイス101は、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットであるかどうかに応じて、第2のオブジェクトの表面に沿った第1のオブジェクトの移動に様々なレベルの抵抗を加える。例えば、図11Bにおいて、(例えば、手の状態Bにある)手1103bは、オブジェクト1104aに向けられた上向きの斜めの移動の入力を提供しており、(例えば、手の状態Bにある)手1105bは、オブジェクト1104aが既にオブジェクト1107aと接触している間に、オブジェクト1106aに上向きの斜めの移動の入力を提供している。手の状態B(例えば、手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間))では、手1103bは、任意選択的に、オブジェクト1104aをユーザ1126の視点から更に、三次元環境1102内の仮想オブジェクト1107aの表面内に斜めに(例えば、右に横切って)移動させるための入力を提供しており、手1105bは、任意選択的に、オブジェクト1106aをユーザ1126の視点から更に、三次元環境1102内の仮想オブジェクト1109aの表面内に斜めに(例えば、右に横切って)移動させるための入力を提供している。
【0250】
いくつかの実施形態では、所与の量の手の移動に応じて、デバイス101は、第1のオブジェクトが第2のオブジェクトの表面に接触しているかどうか、かつ第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるかどうかに応じて、第1のオブジェクトを三次元環境1102内で異なる量だけ移動させる。例えば、図11Bにおいて、手1103b及び1105bの移動量は、任意選択的に同じである。これに応じて、図11Cに示すように、デバイス101は、三次元環境1102においてオブジェクト1104aを横方向に及び/又はユーザ1126の視点から離れるように移動させるよりも、三次元環境1102においてオブジェクト1106aを斜めに移動させている。具体的には、図11Cにおいて、任意選択的に右横方向成分及びユーザ1126の視点から離れる成分を含む三次元環境1102内の斜めの手1103bの移動に応じて、デバイス101は、(例えば、ユーザ1126の視点から離れる手1303bの移動の成分に従って)ユーザ1126の視点から離れるオブジェクト1104aの移動に抵抗した(例えば、許可しなかった)。なぜなら、オブジェクト1104aはオブジェクト1107aと接触しており、オブジェクト1107aはオブジェクト1104aの有効なドロップターゲットであり、ユーザ1126の視点から離れる手1303bの移動の成分は、後述するようにオブジェクト1107aを突破するのに十分ではないからである。更に、図11Cでは、デバイス101は、オブジェクト1104aがオブジェクト1107aと接触しており、オブジェクト1107aがオブジェクト1104aの有効なドロップターゲットであるため、オブジェクト1107aの表面にわたって(例えば、手1303bの移動の右横方向成分に従って)比較的少量(例えば、オブジェクト1106aの横方向の移動よりも少ない)だけオブジェクト1104aを移動させている。追加的に、又は代替的に、図11Cでは、手1105bの移動に応じて、デバイス101は、仮想オブジェクト1106aを三次元環境1102内で斜めに移動させており、したがって、図11Cの俯瞰図に示すように、仮想オブジェクト1106aは、デバイス101によって、ユーザ1126の視点から仮想オブジェクト1109a及び1107aの背後に表示される。仮想オブジェクト1109aは、仮想オブジェクト1106aに対して無効なドロップターゲットであるため、仮想オブジェクト1109aを斜めに通る仮想オブジェクト1106aの移動は、デバイス101によって任意選択的に抵抗されず、オブジェクト1106aの横方向移動及びユーザ1126の視点から離れるオブジェクト1106aの移動(例えば、それぞれ、手1105bの移動の右横方向成分に従って、かつユーザ1126の視点から離れる手1303bの移動の成分に従って)は、オブジェクト1104aの横方向移動及びユーザ1126の視点から離れるオブジェクト1104aの移動よりも大きい。
【0251】
いくつかの実施形態では、デバイス101は、個別のオブジェクトがオブジェクトの表面に接触しているときに個別のオブジェクトがオブジェクトを通過することを可能にするために、オブジェクトを通る個別のオブジェクトの動きの少なくとも閾値の大きさを必要とする。例えば、図11Cでは、手1103c(例えば、手の状態Cにある)は、ユーザ1126の視点から仮想オブジェクト1107aの表面を通して仮想オブジェクト1104aを移動させるために、仮想オブジェクト1104aに向けられた移動入力を提供している。手の状態C(例えば、手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間))において、手1103cは、任意選択的に、オブジェクト1104aをユーザ1126の視点から更に三次元環境1102内の仮想オブジェクト1107aの表面内に(例えば、垂直に)移動させるための入力を提供している。移動入力の第1の部分が仮想オブジェクト1104aを仮想オブジェクト1107aの中へ/仮想オブジェクト1107aを通して移動させることに応じて、デバイス101は、任意選択的に、仮想オブジェクト1107aを通る仮想オブジェクト1104aの移動に抵抗する。手1103cが、移動入力の第2の部分において仮想オブジェクト1107aを通して仮想オブジェクト1104aを移動させる、より大きい大きさの移動を適用すると、デバイス101は、任意選択的に、増加する動きの大きさに任意選択的に比例する増加する抵抗レベルで動きに抵抗する。いくつかの実施形態では、仮想オブジェクト1104aに向けられた動きの大きさが(例えば、0.3、0.5、1、2、3、5、10、20、40、又は50cmの移動に対応する)個別の大きさ閾値に達する及び/又は超えると、デバイス101は、図11Dに示すように、仮想オブジェクト1107aを通して仮想オブジェクト1104aを移動させる。
【0252】
図11Dでは、仮想オブジェクト1104aに向けられた移動入力が個別の大きさ閾値を超えることを検出したことに応じて、デバイス101は、仮想オブジェクト1107aを通る仮想オブジェクト1104aの移動に抵抗することを取り止め、仮想オブジェクト1107aが仮想オブジェクト1104aを通過することを可能にする。図11Dでは、仮想オブジェクト1104aは、図11Dの俯瞰図に示すように、デバイス101によって、三次元環境1102内の仮想オブジェクト1107aの背後のロケーションに移動される。いくつかの実施形態では、仮想オブジェクト1104aに向けられた移動入力が個別の大きさ閾値を超えたことを検出すると、デバイス101は、仮想オブジェクト1104aがユーザ1126の視点から仮想オブジェクト1107aの表面を通って移動したことを示す視覚的インジケーション1116を三次元環境1102内に(例えば、オブジェクト1104aが通過したロケーションのオブジェクト1107aの表面上に)提供する。例えば、図11Dにおいて、デバイス101は、ユーザ1126の視点からの仮想オブジェクト1107aの表面上にリップル1116を表示し、仮想オブジェクト1104aが移動入力に従って仮想オブジェクト1107aを通って移動したことを示す。
【0253】
いくつかの実施形態では、デバイス101は、三次元環境1102内の仮想オブジェクト1107aの背後の仮想オブジェクト1104aの存在の視覚的インジケーションを提供する。例えば、図11Dでは、デバイス101は、仮想オブジェクト1104aの外観及び/又は仮想オブジェクト1107aの外観を変更して、仮想オブジェクト1104aが三次元環境1102内で仮想オブジェクト1107aの背後に位置していても、仮想オブジェクト1104aの個別のロケーションがユーザ1126の視点から識別可能であるようにする。いくつかの実施形態では、三次元環境1102内の仮想オブジェクト1107aの背後の仮想オブジェクト1104aの視覚的インジケーションは、オブジェクト1107aを通して表示される(例えば、その上にオーバーレイされる)オブジェクト1104aのフェード又はゴースト化されたバージョン、オブジェクト1107aを通して表示される(例えば、その上にオーバーレイされる)オブジェクト1104aの輪郭などである。いくつかの実施形態では、デバイス101は、仮想オブジェクト1107aの透明度を増加させ、三次元環境1102内の仮想オブジェクト1107aの背後の仮想オブジェクト1104aの存在の視覚的インジケーションを提供する。
【0254】
いくつかの実施形態では、個別のオブジェクトが三次元環境1102内のオブジェクトの背後にある間、個別のオブジェクトの横方向の移動、又はユーザ1126の視点からより遠い個別のオブジェクトの移動は、デバイス101によって抵抗されない。例えば、図11Eにおいて、手1103dが、仮想オブジェクト1104aを三次元環境1102内の仮想オブジェクト1107aの背後の新しいロケーションに横方向右向きに移動させるために、仮想オブジェクト1104aに向けられた移動入力を提供する場合、デバイス101は、任意選択的に、移動入力に従って移動に抵抗することなく、オブジェクト1104aを新しいロケーションに移動させる。更に、いくつかの実施形態では、デバイス101は、ユーザ1126の視点からのオブジェクト1104aの更新された距離に基づいて、異なるサイズを有するように、かつ/又はユーザ1126の視点から仮想オブジェクト1107aの背後のオブジェクト1104aの新しいロケーションに対応する仮想オブジェクト1107aの表面を通る新しい部分を有するように、三次元環境1102内のオブジェクト1104aの視覚的インジケーション(例えば、仮想オブジェクト1104aのゴースト、輪郭など)の表示を更新するであろう。
【0255】
いくつかの実施形態では、ユーザ1126の視点からの仮想オブジェクト1107aの背後から仮想オブジェクト1107aの前の個別のロケーションへの(例えば、仮想オブジェクト1107aを通る)仮想オブジェクト1104aの移動は、デバイス101によって抵抗されない。図11Dでは、手1103d(例えば、手の状態Dにある)は、図11Eに示すように、仮想オブジェクト1107aを通る経路に沿って、ユーザ1126の視点から、仮想オブジェクト1107aの背後から仮想オブジェクト1107aの前の個別のロケーションに仮想オブジェクト1104aを移動させるために、仮想オブジェクト1104aに向けられる移動入力を提供している。手の状態D(例えば、手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間))において、手1103dは、任意選択的に、オブジェクト1104aをユーザ1126の視点のより近くに、かつ三次元環境1102内の仮想オブジェクト1107aの背面内に(例えば、垂直に)移動させるための入力を提供している。
【0256】
図11Eでは、仮想オブジェクト1107aの背後から仮想オブジェクト1107aの前への仮想オブジェクト1104aの移動を検出したことに応じて、デバイス101は、図11Eの俯瞰図に示すように、ユーザ1126の視点から、仮想オブジェクト1104aを、仮想オブジェクト1107aを通して、三次元環境1102内の仮想オブジェクト1107aの前の個別のロケーションに移動させる。図11Eでは、仮想オブジェクト1104aが三次元環境1102内の個別のロケーションに移動されるとき、仮想オブジェクト1107aを通る仮想オブジェクト1104aの移動は、デバイス101によって抵抗されない。いくつかの実施形態では、(例えば、ユーザ1126の視点から離れて)三次元環境1102内の仮想オブジェクト1107aに向かって戻る(例えば、手1103eによって提供される移動入力に応答した)仮想オブジェクト1104aの後続移動は、以前に説明されたように、仮想オブジェクト1104aがユーザ1126の視点から仮想オブジェクト1107aの表面に到達/接触するとき、デバイス101に仮想オブジェクト1104aの移動に抵抗させることを理解されたい。
【0257】
いくつかの実施形態では、第2の仮想オブジェクトの背後から第2の仮想オブジェクトを通って第2の仮想オブジェクトの前のロケーションへの第1の仮想オブジェクトの移動は、第2の仮想オブジェクトが第1の仮想オブジェクトの有効なドロップターゲットであるかどうかにかかわらず、抵抗を受けない。例えば、図11Eにおいて、仮想オブジェクト1106aが(例えば、手1105cによって提供された移動入力に応じて)、任意選択的に仮想オブジェクト1106aの無効なドロップターゲットである仮想オブジェクト1109aの背後から、仮想オブジェクト1109aを通って、ユーザ1126の視点から仮想オブジェクト1109aの前の個別のロケーションに移動された場合、デバイス101は、任意選択的に、仮想オブジェクト1106aが仮想オブジェクト1109aを通って三次元環境1102内の仮想オブジェクト1109aの前の個別のロケーションに移動することに抵抗することを取り止める。
【0258】
図12A図12Gは、いくつかの実施形態による、三次元環境内のオブジェクトの移動に選択的に抵抗する方法1200を示すフローチャートである。いくつかの実施形態では、方法1200は、表示生成構成要素(例えば、図1図3、及び図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)、及び1つ以上のカメラ(例えば、ユーザの手で下を向くカメラ(例えば、カラーセンサ、赤外線センサ、及び他の深度感知カメラ)、又はユーザの頭部から前方を向くカメラ)を含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実施される。いくつかの実施形態では、方法1200は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1200のいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0259】
いくつかの実施形態では、方法1200は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0260】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクト(例えば、図11Aの仮想オブジェクト1107a及び/又は1109a)と、三次元環境内の第1のオブジェクトから第1の距離だけ離れた三次元環境内の第2のロケーションにある第2のオブジェクト(例えば、図11Aの仮想オブジェクト1104a及び/又は1106a)とを含む三次元環境(例えば、図11Aの三次元環境1102)を表示する(1202a)。いくつかの実施形態では、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって生成され、表示され、又は他の方法で視認可能にされる。例えば、第1のオブジェクトは、第2のオブジェクトにドロップすることができる写真(又は写真の表現)であり、第2のオブジェクトは、任意選択的に、写真を受容する及び/又は表示することができるコンテナであり(例えば、第2のオブジェクトは、写真をドロップして第2のオブジェクトに表示されたメッセージング会話に追加することができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである)、第1のオブジェクトから第1の距離(例えば、1、2、3、5、10、12、24、26、50、又は100cm)離れて(例えば、三次元環境内のデバイスのユーザの視点の透視図から第1のオブジェクトの背後に、したがって、ユーザの視点から第1のオブジェクトよりも遠くに)位置する。
【0261】
いくつかの実施形態では、三次元環境内の第1のロケーションに第1のオブジェクトを含み、三次元環境内の第2のロケーションに第2のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、第1のオブジェクトを三次元環境内の第1のロケーションから第2の距離だけ離れるように(例えば、三次元環境内の第3のロケーションまで)移動させる要求に対応する第1の入力を受信し(1202a)、第2の距離は、図11Aにおける手1103aによる仮想オブジェクト1104aの移動及び/又は手1105aによる仮想オブジェクト1106aの移動(例えば、ユーザの視線が第1のオブジェクトに向けられている間、ユーザの手の人差し指及び親指のピンチジェスチャであって、三次元環境内の第3のロケーションに向かうピンチされた手の形状の手の移動が続き、第3のロケーションは、任意選択的に、第1のロケーションから第2の距離(例えば、2、3、5、10、12、24、26、又は30cm)離れており、第2の距離は、任意選択的に、第1の距離よりも大きい)など、第1の距離よりも大きい、ピンチジェスチャである。いくつかの実施形態では、第1の入力の間、ユーザの手は、第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも離れている。いくつかの実施形態では、第1の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指及び親指のピンチであって、三次元環境内の第3のロケーションに向かうピンチされた手の形状の手の移動が続く、ピンチである。いくつかの実施形態では、第1の入力は、三次元環境内のユーザの視点から更に離れる第1のオブジェクトの移動に対応する。いくつかの実施形態では、第1の入力は、方法800、1000、1400、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0262】
いくつかの実施形態では、第1の入力を受信したことに応じて(1202c)、第1の入力が1つ以上の基準の第1のセットであって、基準の第1のセットは、第1の入力が、図11Aに示されるような仮想オブジェクト1107aに向かう仮想オブジェクト1104aの移動などの、三次元環境内の第2のロケーションを通る移動に対応するという要件を含む、第1のセットを満たすという判定に従って、(例えば、手の移動は、三次元環境内の第2のロケーションから十分に離れた及び/又は第2のロケーションを通る第1のオブジェクトの移動に対応する。いくつかの実施形態では、第1のオブジェクトの移動が三次元環境内の第2のロケーションを通らない場合、例えば、移動が第2のロケーションに向かう方向以外の方向であるため、1つ以上の基準の第1のセットは満たされない。)電子デバイスは、第1の入力(例えば、図11Bに示すようなユーザ1126の視野から離れる仮想オブジェクト1104aの移動)に従って、第1のオブジェクトを三次元環境内の第1のロケーションから第1の距離だけ離れるように移動させる(1202d)。例えば、第1のオブジェクトは、三次元環境内の第1のロケーションから三次元環境内の第2のロケーションにある第2のオブジェクトまで第1の距離だけ移動され、第1のオブジェクトが三次元環境内の第3のロケーションに向かって移動されているときに、第2のロケーションにある第2のオブジェクトと衝突する(又は0.1、0.2、0.5、1、2、3、5、10、若しくは20cmなどの閾値距離内に留まる)。いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトと衝突すると、第1の距離よりも遠い第1のオブジェクトの移動に対応する手の追加の移動は、任意選択的に、第1のオブジェクトの更なる移動(例えば、第2のオブジェクトを越える)をもたらさない。
【0263】
いくつかの実施形態では、第1の入力が三次元環境内の第2のロケーションを通る移動に対応しない(例えば、第2のオブジェクトの第2のロケーションが第1のオブジェクトの第1のロケーションの背後にない、又は第2のオブジェクトの第2のロケーションが第1のオブジェクトの第1のロケーションと第3のロケーションとの間の経路内にない(例えば、手の移動が第2のロケーションに向かう第1のオブジェクトの移動に対応しない。いくつかの実施形態では、第1のオブジェクトの第1のロケーションと入力に関連付けられた第3のロケーションとの間の経路内に他のオブジェクト(例えば、他の有効なドロップターゲット)は存在しない))ため、第1の入力が1つ以上の基準の第1のセットを満たさないという判定に従って(1202e)、電子デバイスは、第1の入力に従って、第1のオブジェクトを三次元環境内の第1のロケーションから第2の距離だけ離れるように移動させる(1202f)(例えば、図11Bに示すようなユーザ1126の視野から離れる仮想オブジェクト1106aの移動)。例えば、第1のオブジェクトは、第1の入力に従って、第1のロケーションから離れて第2の距離まで(例えば、三次元環境内の第3のロケーションまで)移動され、第1のオブジェクトの移動は、有効なドロップターゲットオブジェクトが介在することに起因して抵抗されることも、切断されることもない。オブジェクトがそのオブジェクトの有効なドロップターゲットにタッチするか、又はその有効なドロップターゲットの閾値距離内にあるときに三次元環境内のオブジェクトの移動を調整することは、オブジェクトをドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又はドロップターゲットが有効なドロップターゲットであることの発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0264】
いくつかの実施形態では、第1の入力が1つ以上の基準の第1のセットを満たすため、第1の入力に従って第1のオブジェクトを三次元環境内の第1のロケーションから第1の距離だけ移動させた後に(1204a)(例えば、第1のオブジェクトは、三次元環境内の第1のロケーションから離れて移動された後、三次元環境内の第2のロケーションに位置し、第2のオブジェクトと接触している(又は、0.1、0.2、0.5、1、2、3、5、10、若しくは20cmなどの閾値距離内に留まる))、電子デバイスは、1つ以上の入力デバイスを介して、図11Cに示すような手1103cによる仮想オブジェクト1104aの移動(例えば、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手の人差し指及び親指のピンチジェスチャであって、続いて、三次元環境内の第2のロケーションから離れる第3の距離の移動に対応するピンチされた手の形状の手の移動が続く)などの、三次元環境内の第2のロケーションから離れる第3の距離だけ第1のオブジェクトを移動させる要求に対応する第2の入力を受信する(1204b)。いくつかの実施形態では、第2の入力の間、ユーザの手は、第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも離れている。いくつかの実施形態では、第2の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときに、ユーザの視線のロケーションにかかわらず、ユーザの手の人差し指と親指のピンチであって、ピンチされた手の形状での手の移動が続く、ピンチである。いくつかの実施形態では、第2の入力は、三次元環境内のユーザの視点から更に離れる第1のオブジェクトの移動に対応する。いくつかの実施形態では、第2の入力は、方法800、1000、1400、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0265】
いくつかの実施形態では、第2の入力を受信したことに応じて(1204c)、第2の入力が1つ以上の基準の第2のセットを満たすという判定に従って、以下を行い、1つ以上の基準の第2のセットは、第2の入力が移動閾値よりも大きい移動に対応する(例えば、手の移動が、三次元環境内の第2のオブジェクトから十分に離れた及び/又は第2のオブジェクトを通る第1のオブジェクトの移動に対応する)という要件を含む。いくつかの実施形態では、1つ以上の基準の第2のセットは、例えば、移動が第2のオブジェクトに向かう以外の方向であるため、第1のオブジェクトの移動が十分に遠くない、かつ/又は三次元環境内の第2のオブジェクトを通過しない場合、満たされない。いくつかの実施形態では、移動閾値は、第1のオブジェクトが第2のオブジェクトと接触していなかった場合の三次元環境内の第1のオブジェクトの1、3、5、10、20、40、50、又は100cmの移動に対応する)、電子デバイスは、第2の入力に従って、第1のオブジェクトを第2のオブジェクトを通して三次元環境内の第3のロケーションに移動させる(1204d)(例えば、図11Dに示すような仮想オブジェクト1104aの仮想オブジェクト1107aを通る移動)。例えば、第1のオブジェクトは、三次元環境内の第2のロケーションから第2のオブジェクトを通して三次元環境内の第3のロケーションに(例えば、ユーザの視点の透視図から三次元環境内の第2のオブジェクトの背後のロケーションに)移動される。
【0266】
いくつかの実施形態では、第2の入力が移動閾値よりも大きい移動に対応しない(例えば、手の移動が、三次元環境内の第2のオブジェクトから十分に離れた及び/又は第2のオブジェクトを通る第1のオブジェクトの移動に対応しない)ため、第2の入力が第2の基準のセットを満たさないという判定に従って、電子デバイスは、三次元環境内の第1のロケーションから離れた第1の距離に第1のオブジェクトを維持する(例えば、図11Cに示すような仮想オブジェクト1104aの表示)(1204e)。例えば、第1のオブジェクトは、三次元環境内の第2のロケーションに、かつ/又は第2のオブジェクトと接触して表示される(例えば、第1のオブジェクトは、三次元環境内の第2のオブジェクトの背後のロケーションに移動されない)。そのオブジェクトに対する有効なドロップターゲットを通るオブジェクトの移動に抵抗することは、オブジェクトが有効なドロップターゲットを通って移動されるべきであることを確認するためのユーザ入力を容易にし、かつ/又はオブジェクトが有効なドロップターゲットを通って移動できることを発見することを容易にし、それにより、ユーザ-デバイス相互作用を改善する。
【0267】
いくつかの実施形態では、第2の入力に従って第1のオブジェクトを第2のオブジェクトを通して三次元環境内の第3のロケーションに移動させることは、第2の入力に従って第1のオブジェクトが第2のオブジェクトを通して三次元環境内の第3のロケーションに移動されたときに、第1のオブジェクトのロケーションに対応する第2のオブジェクトの一部に視覚的フィードバックを表示する(1206b)こと(例えば、ユーザの視点から第1のオブジェクトの前にある第2のオブジェクトの一部の外観を変更すること)(例えば、図11Dに示すような視覚的インジケーション1116の表示)を含む(1206a)。例えば、第1のオブジェクトが三次元環境内の第3のロケーションに移動される(例えば、第1のオブジェクトが第2のオブジェクトを通って第2のオブジェクトの背後のロケーションに移動される)とき、第1のオブジェクトが第2のオブジェクトを通って移動されたことをユーザに示すために視覚的フィードバックが提供される。いくつかの実施形態では、第2のオブジェクトの一部は、外観が変化する(例えば、第2のオブジェクトを通る移動のロケーションは、第1のオブジェクトが第2のオブジェクトを通って移動した後、閾値時間量(例えば、0.5、0.7、0.9、1、1.5、又は2秒)の間、波及効果で表示される)。オブジェクトが有効なドロップターゲットを通って移動された後に有効なドロップターゲットの外観を調整することは、オブジェクトが有効なドロップターゲットの背後に移動されたことを発見することを容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0268】
いくつかの実施形態では、第2の入力に従って第1のオブジェクトを第2のオブジェクトを通して三次元環境内の第3のロケーションに移動させた後(1208a)、第2のオブジェクトは、第3のロケーションと、表示生成構成要素を介して表示された三次元環境の視点との間にあり、電子デバイスは、表示生成構成要素を介して、第2のオブジェクトを通して第1のオブジェクトの視覚的インジケーション(例えば、第1のオブジェクトのロケーションの視覚的インジケーション)(例えば、図11Dに示すような仮想オブジェクト1104aの可視性)を表示する(1208b)。例えば、第1のオブジェクトが、三次元環境内の第3のロケーションに移動され(例えば、第1のオブジェクトが、第2のオブジェクトを通して、第2のオブジェクトの背後のロケーションに移動され)、第2のオブジェクトが、第1のオブジェクトとユーザの視点との間にある(例えば、第1のオブジェクトの視認が、第2のオブジェクトによって妨害される)とき、第1のオブジェクトの視覚的インジケーションが、第2のオブジェクトを通して表示される。いくつかの実施形態では、第1のオブジェクトの少なくとも一部(例えば、第1のオブジェクトの輪郭)は、第2のオブジェクトを通して、かつ/又はその上に表示される(例えば、第1のオブジェクトのロケーションに対応する第2のオブジェクトの少なくとも一部は、若干透明である)。オブジェクトが有効なドロップターゲットを通って移動された後にオブジェクトの外観及び/又は有効なドロップターゲットの外観を調整することは、現在有効なドロップターゲットの背後にあるオブジェクトの追加の移動のためのユーザ入力を容易にし、かつ/又は有効なドロップターゲットの背後にあるオブジェクトが移動され続けることができるという発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0269】
いくつかの実施形態では、第2の入力に従って、第1のオブジェクトを第2のオブジェクトを通して三次元環境内の第3のロケーションに移動させた後(1210a)、第2のオブジェクトは、第3のロケーションと、表示生成構成要素を介して表示された三次元環境の視点との間にある(例えば、第1のオブジェクトは、三次元環境内の第2のロケーションから離れて第2のオブジェクトを通して移動された後、三次元環境内の第3のロケーションに配置される)。いくつかの実施形態では、第2のオブジェクトは、第3のロケーションにある第1のオブジェクトとユーザの視点との間にある(例えば、第1のオブジェクトの閲覧が第2のオブジェクトによって妨げられる)))、電子デバイスは、1つ以上の入力デバイスを介して、図11Dの仮想オブジェクト1104aの移動など、第2のオブジェクトが第1のオブジェクトと三次元環境の視点との間に留まっている間に第1のオブジェクトを移動させる要求に対応する第3の入力を受信する(1210b)(例えば、ユーザの視線が第1のオブジェクトに向けられ続け、続いて、三次元環境内の第3のロケーションから離れるようにピンチされた手の形状の手の移動が続く)。いくつかの実施形態では、第3の入力中に、ユーザの手は、第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい。いくつかの実施形態では、第3の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指及び親指のピンチであって、三次元環境内の第3のロケーションから離れるピンチされた手の形状の手の移動が続く、ピンチである。いくつかの実施形態では、第3の入力は、三次元環境内のユーザの視点から更に離れる第1のオブジェクトの移動に対応する。いくつかの実施形態では、第3の入力は、方法800、1000、1400、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0270】
いくつかの実施形態では、第3の入力を受信したことに応じて、電子デバイスは、図11Dを参照して上述したように、三次元環境内で第3の入力に従って第1のオブジェクトを移動させる(1210c)。例えば、第1のオブジェクトは、第2のオブジェクトの背後の三次元環境内の第3のロケーションから離れて、三次元環境内の新しいロケーション(例えば、第4のロケーション)に(例えば、三次元環境内の第2のオブジェクトの更に背後のロケーション又は三次元環境内の第2のオブジェクトの側方のロケーションに)移動される。いくつかの実施形態では、第2のオブジェクトは、第2のロケーションに留まる一方、第1のオブジェクトは、三次元環境内の第3のロケーションから離れて移動される。いくつかの実施形態では、第1のオブジェクトは、第3の入力に応じて、第2のオブジェクトの背後に留まる(例えば、第3の入力は、ユーザから更に離れる、かつ/又は第2のオブジェクトの更に背後への第1のオブジェクトの移動に対応する)。オブジェクトがオブジェクトの有効なドロップターゲットの背後にある間にオブジェクトの移動を可能にすることは、オブジェクトを有効なドロップターゲットの前に戻すための、かつ/又は三次元環境内の新しいロケーションに移動させるためのユーザ入力を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0271】
いくつかの実施形態では、第1の入力に従って第1のオブジェクトを三次元環境内の第1のロケーションから第1の距離だけ離れるように移動させることは、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットであるときに満たされる基準と、第1のオブジェクトが第2のオブジェクトの閾値距離内にあるときに満たされる基準と、を含む1つ以上の基準の第2のセットが満たされるという判定に従って(例えば、第2のオブジェクトは、第1のオブジェクトを受容する及び/又は包含することができるオブジェクトなどの第1のオブジェクトに対する有効なドロップターゲットであり、第1のオブジェクトは、0.5、1、1.5、2、2.5、3、又は5cmなどの第2のオブジェクトの閾値距離内に移動される)、第1のオブジェクトを移動させることを含む(1212a)。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトに対する有効なドロップターゲットでない場合、及び/又は第1のオブジェクトが第2のオブジェクトの閾値距離内にない場合、1つ以上の基準の第2のセットは満たされない)、表示生成構成要素を介して、第2のオブジェクトが第1のオブジェクトに対する有効なドロップターゲットであることを示す視覚的インジケーション(例えば、図11B及び図11Cのバッジ1125)を表示することを含む(1212b)。例えば、第2のオブジェクトが第1のオブジェクトを受容及び/又は包含することができることをユーザに示す視覚的インジケーション(例えば、第1のオブジェクト及び/又は第2のオブジェクトの外観の変化)が表示される。いくつかの実施形態では、視覚的インジケーションは、第1のオブジェクトが第2のロケーションにある第2のオブジェクトまで第1の距離だけ移動された後、閾値時間量(例えば、0.5、0.7、0.9、1、1.5、又は2秒)内に表示される。三次元環境内のドロップターゲットがオブジェクトの有効なドロップターゲットであるという視覚的インジケーションを提供することにより、オブジェクトを有効なドロップターゲットに追加するためのユーザ入力が容易になり、かつ/又はドロップターゲットが有効なドロップターゲットであるという発見が容易になり、それによってユーザ-デバイス相互作用が改善される。
【0272】
いくつかの実施形態では、表示生成構成要素を介して、第2のオブジェクトが第1のオブジェクトに対する有効なドロップターゲットであることを示す視覚的インジケーションを表示することは、三次元環境内の第1のオブジェクトのサイズを変更すること(例えば、図11Bに示すように仮想オブジェクト1104aのサイズを変更すること)を含む(1214)。例えば、表示生成構成要素を介して表示される視覚的インジケーションは、任意選択的に、方法1000を参照して説明されるような、第1のオブジェクトのサイズの変化である。いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトまで第1の距離だけ移動され、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットである場合、第1のオブジェクトは、三次元環境内で(例えば、角度)サイズがスケールダウンされる。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットでない場合、第1のオブジェクトは、三次元環境内で(例えば、角度)サイズがスケールダウンされない。ドロップターゲットがオブジェクトの有効なドロップターゲットであることを示すためにオブジェクトのサイズを変更することは、オブジェクトを有効なドロップターゲットに追加し、オブジェクトを有効なドロップターゲット内に表示するためのユーザ入力を容易にし、かつ/又はドロップターゲットが有効なドロップターゲットであることの発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0273】
いくつかの実施形態では、表示生成構成要素を介して、第2のオブジェクトが第1のオブジェクトに対する有効なドロップターゲットであることを示す視覚的インジケーションを表示することは、表示生成構成要素を介して、第1のオブジェクト上にオーバーレイされた第1の視覚的インジケータ(例えば、図11B及び図11Cのバッジ1125)を表示することを含む(1216)。例えば、表示生成構成要素を介して表示される視覚的インジケーションは、任意選択的に、第1のオブジェクト上にオーバーレイされたバッジ(例えば、「+」インジケータ)であり、バッジは、方法1600を参照して説明したバッジの特性のうちの1つ以上を有する。いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトまで第1の距離だけ移動され、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットである場合、バッジは、三次元環境内の第1のオブジェクトの上部隅/縁部に表示される。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットでない場合、バッジは第1のオブジェクト上にオーバーレイして表示されない。ドロップターゲットがオブジェクトの有効なドロップターゲットであることを示すためにオブジェクト上にオーバーレイされたバッジを表示することは、オブジェクトを有効なドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又はドロップターゲットが有効なドロップターゲットであることの発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0274】
いくつかの実施形態では、第1の入力が1つ以上の基準の第1のセットを満たすことに従って、第1のオブジェクトを三次元環境内の第1のロケーションから第1の距離だけ離れるように移動させることは、第1のオブジェクトが第2のロケーションに到達する前に、図11Bの手1103bによる仮想オブジェクト1104aの移動の対角成分などの、第2のロケーションを通る方向とは異なる個別の方向の第1の大きさの移動に対応する第1の入力の第1の部分を受信したことに応じて(例えば、第1のオブジェクトが三次元環境内の第2のロケーションにある第2のオブジェクトまで第1の距離だけ移動されるとき、ピンチされた手の形状の第1の大きさの手の移動は、第2のロケーションを通る方向とは異なる方向の移動を含む。いくつかの実施形態では、ピンチされた手の形状の手の移動は、第2のロケーションにおける第2のオブジェクトの表面に平行な方向であり、かつ/又は第2のオブジェクトの表面に平行な移動の成分を有する)、(1218a)、図11Cに示すような仮想オブジェクト1104aの移動など、第1のオブジェクトを個別の方向に第1の量だけ移動させる(1218b)(例えば、第1のオブジェクトは、手の移動の方向に移動させられる。いくつかの実施形態では、第1のオブジェクトは、第1の大きさに比例する量だけ移動される。いくつかの実施形態では、第1のオブジェクトが個別の方向に第1の量だけ移動された後、第1のオブジェクトは第2のオブジェクトにまだ接触していない。)。
【0275】
いくつかの実施形態では、第1のオブジェクトが第2のロケーションに到達した後(例えば、第1のオブジェクトが第2のオブジェクトと接触して第2のロケーションに留まっている間)、図11Bの手1103bによる仮想オブジェクト1104aの移動の水平成分などの、個別の方向の移動の第1の大きさに対応する第1の入力の第2の部分を受信したことに応じて(例えば、第1のオブジェクトが三次元環境内の第2のロケーションにある第2のオブジェクトまで第1の距離だけ移動した後、ピンチされた手の形状の手の移動は、第2のロケーションを通る方向とは異なる方向の移動を含む。いくつかの実施形態では、ピンチされた形状の手の移動は、第2のロケーションにおけるオブジェクトの表面に平行な方向であり、かつ/又は第2のオブジェクトの表面に平行な移動の成分を有する)、電子デバイスは、第1のオブジェクトを、第1の量よりも少ない第2の量だけ個別の方向に移動させる(1218c)(例えば、図11Cに示すような仮想オブジェクト1104aの移動)。例えば、第1のオブジェクトは、第1の入力の第2の部分に従って手の移動の方向に移動されるが、第1の入力の第1の部分の間に第1の量より少なく移動される。いくつかの実施形態では、第1のオブジェクトが第2のオブジェクトに接触しているとき、又は第2のオブジェクトの閾値距離(例えば、0.5、1、1.5、2、2.5、3、又は5cm)内で移動されるとき、第1のオブジェクトの移動は、個別の方向において抵抗され、これは、任意選択的に、第1のオブジェクトを個別の方向において以前よりも少ない量だけ移動させる。オブジェクトの有効なドロップターゲットを通る方向とは異なるそれぞれの方向へのオブジェクトの移動の応答性を低下させることは、オブジェクトを有効なドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又は促進し、それによってユーザ-デバイス相互作用を改善する。
【0276】
いくつかの実施形態では、第2のロケーションへの移動を超えた第2のロケーションを通る移動に対応する個別の入力は、第1のオブジェクトに向けられている(1220a)(例えば、個別の入力が第2のオブジェクトを通る第1のオブジェクトの移動に対応するように、ピンチされた形状の手の移動は、第2のロケーションを通る移動に対応する)。いくつかの実施形態では、個別の入力は、第1のオブジェクトが第2のオブジェクトまで個別の方向に第2の量だけ移動された後の手の移動に対応する。いくつかの実施形態では、個別の入力が受信された後であっても、第1のオブジェクトは、第2のオブジェクトと接触したままである(例えば、第2のオブジェクトを突破していない))、個別の入力が第2の大きさを有するという判定に従って、個別の方向における第1のオブジェクトの移動の第2の量は、図11Bに示すような仮想オブジェクト1104aの移動量などの第1の個別の量である(1220b)(例えば、第2のロケーションを通る(例えば、第2のオブジェクトを通る)移動に対応するピンチされた形状の手の移動は、第2の大きさを有する)。いくつかの実施形態では、第2の大きさは、第1の大きさよりも大きいか又は小さい。いくつかの実施形態では、第2のオブジェクトを通る移動に対応する第1のオブジェクトに向けられた移動入力が第2の大きさを有し、第1のオブジェクトが第2のオブジェクトをまだ突破していない場合、第2のロケーションにおける第2のオブジェクトの表面に平行な方向の、かつ/又は第2のオブジェクトの表面に平行な移動の成分を有する、ピンチされた手の形状の手の移動は、第1のオブジェクトが第2のオブジェクトの表面上を第1の個別の量だけ横方向に移動することをもたらす。いくつかの実施形態では、第1の個別の量は、第1の量未満である。例えば、第1のオブジェクトが第2のオブジェクトに接触しているか、又は第2のオブジェクトの閾値距離(例えば、0.5、1、1.5、2、2.5、3、又は5cm)内で移動されるとき、第1のオブジェクトの移動は、個別の方向に抵抗される。いくつかの実施形態では、第1のオブジェクトは、個別の方向に、第1の大きさに比例する、かつ/又は第2の大きさに反比例する第1の個別の量だけ移動される。
【0277】
いくつかの実施形態では、個別の入力が第2の大きさよりも大きい第3の大きさを有するという判定に従って、個別の方向における第1のオブジェクトの移動の第2の量は、図11Cに示すような仮想オブジェクト1104aの移動量など、第1の個別の量よりも小さい第2の個別の量である(1220c)(例えば、第2のロケーションを通る(例えば、第2のオブジェクトを通る)移動に対応するピンチされた形状の手の移動は、第3の大きさを有する)。いくつかの実施形態では、第3の大きさは第2の大きさよりも大きい。いくつかの実施形態では、第2のオブジェクトを通る移動に対応する第1のオブジェクトに向けられた移動入力が第3の大きさを有し、第1のオブジェクトが第2のオブジェクトをまだ突破していない場合、第2のロケーションにおける第2のオブジェクトの表面に平行な方向の、かつ/又は第2のオブジェクトの表面に平行な移動の成分を有する、ピンチされた手の形状の手の移動は、第1のオブジェクトが第1の個別の量よりも少ない第2の個別の量だけ第2のオブジェクトの表面上を横方向に移動することをもたらす。例えば、第1のオブジェクトが第2のオブジェクトに接触しているとき、又は第2のオブジェクトの閾値距離(例えば、0.5、1、1.5、2、2.5、3、又は5cm)内で移動されるとき、第1のオブジェクトの移動は、個別の方向においてより大きな量で抵抗され、これは、任意選択的に、第1のオブジェクトを、個別の方向において以前に(例えば、個別の入力が第2の大きさを有するとき)移動したであろう量よりも少ない量で移動させる。いくつかの実施形態では、第1のオブジェクトは、個別の方向に、第1の大きさに比例する、かつ/又は第3の大きさに反比例する第2の個別の量だけ移動される。例えば、個別の方向への第1のオブジェクトの移動は、第1のオブジェクトが第2のロケーション及び/又は第2のオブジェクトに移動されるほど(例えば、より遠くに)、より大きなレベルで任意選択的に抵抗される。オブジェクトのためのドロップターゲットの表面に沿ったオブジェクトの移動に対する抵抗を増加させることは、オブジェクトをドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又は促進し、かつ/又はドロップターゲットがオブジェクトのための有効なドロップターゲットであるという発見を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0278】
いくつかの実施形態では、第1の入力が1つ以上の基準の第1のセットを満たすために、第1の入力に従って第1のオブジェクトを三次元環境内の第1のロケーションから第1の距離だけ離れるように移動させている間に、電子デバイスは、表示生成構成要素を介して、第2のオブジェクトにオーバーレイされた第1のオブジェクトの仮想影を表示し(1222)、第2のオブジェクトにオーバーレイされた第1のオブジェクトの仮想影のサイズは、第1のオブジェクトが三次元環境内の第1のロケーションから第1の距離だけ離れるように移動されるときの第1のオブジェクトと第2のオブジェクトとの間の距離の変化に従ってスケーリングされる(例えば、図11Aに示すような仮想オブジェクト1104aの影の表示)。例えば、第1の入力が1つ以上の基準の第1のセットを満たす(例えば、第1の入力が第2のロケーションを通る移動に対応する)ため、第1のオブジェクトが三次元環境内の第1のロケーションから離れて第1の距離だけ移動されると、第1のオブジェクトの仮想影が第2のオブジェクト上に表示される。いくつかの実施形態では、第1のオブジェクトの仮想影のサイズは、任意選択的に、第1のオブジェクトと第2のオブジェクトとの間の距離の変化に従ってスケーリングされる。例えば、第1のオブジェクトが三次元環境内の第1のロケーションから第2のオブジェクトに近づくにつれて、第2のオブジェクトにオーバーレイされる第1のオブジェクトの仮想影のサイズは減少する。したがって、影は、任意選択的に、第1のオブジェクトと第2のオブジェクトとの間の距離を示す。オブジェクトがドロップターゲットに向かって移動されるときに、オブジェクトの潜在的なドロップターゲット上にオーバーレイされたオブジェクトの影を表示することは、オブジェクトからドロップターゲットまでの距離の視覚的インジケーションを提供し、かつ/又はドロップターゲットへのオブジェクトの移動を容易にするための視覚的ガイダンスを提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0279】
いくつかの実施形態では、第1のオブジェクトは、二次元オブジェクトであり、第1の距離は、第1のオブジェクトの平面上の点と第2のオブジェクトとの間の距離(例えば、図11Aの仮想オブジェクト1104aの表面上の点と仮想オブジェクト1107aの表面上の点との間の距離)に対応する(1224)。例えば、三次元環境内の第1のオブジェクトは、任意選択的に、二次元オブジェクト(例えば、写真)である。いくつかの実施形態では、第1のオブジェクトと第2のオブジェクトとの間の第1の距離は、(例えば、第2のオブジェクトも二次元オブジェクトである場合)二次元の第1のオブジェクトの平面上の点(例えば、x、y座標)と第2のオブジェクトの平面上の点との間の距離によって定義される。例えば、第2のオブジェクトが三次元オブジェクトである場合、第2のオブジェクト上の点は、第1のオブジェクトに最も近い第2のオブジェクトの表面上の点に対応する(例えば、第1のオブジェクトが第2のオブジェクトに向かって戻るときに第1のオブジェクトと最初に衝突/接触する第2のオブジェクト上の点)。三次元環境内の二次元オブジェクトがその二次元オブジェクトの潜在的なドロップターゲットにタッチするか又はその閾値距離内にあるときにその二次元オブジェクトの移動を調整することにより、二次元オブジェクトをドロップターゲットに追加するためのユーザ入力が容易になり、かつ/又はドロップターゲットが有効なドロップターゲットであるという発見が容易になり、それによってユーザ-デバイス相互作用が改善される。
【0280】
いくつかの実施形態では、第1のオブジェクトは、三次元オブジェクトであり、第1の距離は、図11Aの仮想オブジェクト1107aに最も近い仮想オブジェクト1104aの表面上の点と仮想オブジェクト1107aの表面上の点との間の距離など、第2のオブジェクトに最も近い第1のオブジェクトの表面上の点と第2のオブジェクトとの間の距離に対応する(1226)。例えば、三次元環境内の第1のオブジェクトは、任意選択的に、三次元オブジェクト(例えば、立方体のモデル)である。いくつかの実施形態では、第1のオブジェクトと第2のオブジェクトとの間の第1の距離は、第2のオブジェクトに最も近い第1のオブジェクトの表面上の点(例えば、第1のオブジェクトが第2のオブジェクトに向かって戻るときに第2のオブジェクトと最初に衝突/接触する第1のオブジェクト上の点などの、立方体の個別の面上の点)と、第2のオブジェクトの平面上の点との間の距離によって定義される(例えば、第2のオブジェクトが二次元オブジェクトである場合)。例えば、第2のオブジェクトが三次元オブジェクトである場合、第2のオブジェクト上の点は、第1のオブジェクトに最も近い(例えば、第1のオブジェクトが第2のオブジェクトに向かって戻るときに第1のオブジェクトと最初に衝突/接触する第2のオブジェクト上の点など、立方体の個別の面に最も近い)第2のオブジェクトの表面上の点に対応する。三次元環境内の三次元オブジェクトの移動を、その三次元オブジェクトがその三次元オブジェクトの潜在的なドロップターゲットにタッチするか又はその潜在的なドロップターゲットの閾値距離内にあるときに調整することは、三次元オブジェクトをドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又はドロップターゲットが有効なドロップターゲットであることの発見を容易にし、それにより、ユーザ-デバイス相互作用を改善する。
【0281】
いくつかの実施形態では、基準の第1のセットは、図11Bに示されるような仮想オブジェクト1104aの仮想オブジェクト1107aとの重複など、第1のオブジェクトが第2のロケーションにあるとき、第1のオブジェクトの少なくとも一部が第2のオブジェクトの少なくとも一部と一致するという要件を含む(1228)。例えば、第1の基準セットは、第1のオブジェクトが三次元環境内の第2のロケーションに移動されたときに、第1のオブジェクトの少なくとも一部が三次元環境内の第2のロケーションで第2のオブジェクトの少なくとも一部と重複するという要件を含む。いくつかの実施形態では、要件は、第1のオブジェクトの少なくとも一部が、三次元環境内の第2のロケーションにおける第2のオブジェクトの少なくとも一部と重複しないとき、満たされない。いくつかの実施形態では、基準の第1のセットは、第1のオブジェクトの一部のみが第2のオブジェクトと一致する/接触するとき、第1のオブジェクトの他の部分がそうでない場合であっても、満たされる。ドロップターゲットがオブジェクトを受容し、かつ/又はオブジェクトの移動に影響を及ぼすために、オブジェクトが潜在的なドロップターゲットに少なくとも部分的に重複しなければならないという要件を課すことは、ドロップターゲットにオブジェクトを追加するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0282】
いくつかの実施形態では、基準の第1のセットは、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるという要件を含む(1230)(例えば、仮想オブジェクト1107aは、図11Aのオブジェクト1104aの有効なドロップターゲットである)。例えば、基準の第1のセットは、第2のオブジェクトが、第1のオブジェクトを受容し、かつ/又は包含することができるオブジェクトなどの、第1のオブジェクトに対する有効なドロップターゲットであるという要件を含む。いくつかの実施形態では、第2のオブジェクトが、第1のオブジェクトを受容及び/又は包含することができないオブジェクトなどの、第1のオブジェクトに対する無効なドロップターゲットであるとき、要件は満たされない。有効及び無効なドロップターゲットの更なる詳細は、方法1000、1400、1600、かつ/又は1800を参照して説明される。ドロップターゲットがオブジェクトの移動に影響を及ぼすために、ドロップターゲットが有効なドロップターゲットでなければならないという要件を課すことは、有効なドロップターゲットであるドロップターゲットにオブジェクトを追加するためのユーザ入力を容易にし、有効なドロップターゲットでないドロップターゲットへのオブジェクトの移動を回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0283】
いくつかの実施形態では、第1のオブジェクトは、第1の入力(例えば、図11Aの仮想オブジェクト1104aの配向)を受信する前に三次元環境内で第1の配向(例えば、ピッチ、ヨー、かつ/又はロール)を有し(1232a)、第2のオブジェクトは、図11Aの仮想オブジェクト1107aの配向など、三次元環境において第1の配向とは異なる第2の配向(例えば、ピッチ、ヨー、かつ/又はロール)を有する(例えば、第1のオブジェクトは、三次元環境内のユーザの視点に対して三次元環境内の第1のロケーションで初期の配向(例えば、垂直、傾斜など)を有し、第2のオブジェクトは、三次元環境内のユーザの視点に対して三次元環境内の第2のロケーションで第1のオブジェクトの初期の配向とは異なる初期の配向を有する。例えば、第1及び第2のオブジェクトは、互いに平行ではなく、かつ/又は互いに対して回転される)。
【0284】
いくつかの実施形態では、第2のオブジェクトの第2の配向に対応するように第1のオブジェクトの配向を調整するための配向調整入力を受信することなく(1232b)(例えば、第1のオブジェクトが三次元環境内の第1のロケーションから離れて三次元環境内の第2のロケーションにある第2のオブジェクトまで第1の距離だけ移動されるとき)、第2のオブジェクトの配向に位置合わせするために第1のオブジェクトの配向を意図的に変更するための入力は受信されない(例えば、第1及び第2のオブジェクトを互いに平行にするための入力は受信されない、かつ/又は第1及び第2のオブジェクトを互いに対して回転させないための入力は受信されない)。いくつかの実施形態では、第1のオブジェクトの配向は、第1のオブジェクトが第1のロケーションから第1の距離だけ離れて移動されるにつれて、その初期配向を維持し、第2のオブジェクトの配向は、第1のオブジェクトが第1のロケーションから第1の距離だけ離れて移動されるにつれて、その初期配向を維持する。いくつかの実施形態では、第1の入力は第1のオブジェクトの配向を意図的に変更する入力を含むため、第1のオブジェクトの配向(例えば、ピッチ、ヨー、かつ/又はロール)は、第1の入力に応じて及び/又は第1の入力の間に変更されるが、その入力に応答した又はその入力中の配向の変化は、第1のオブジェクトが第2のオブジェクトに接触する(又は0.1、0.2、0.5、1、2、3、5、10、又は20cmなどの閾値距離に留まる)ときに生じる配向の変化と同じではない。換言すれば、第1のオブジェクトの配向を変更する入力は、第1のオブジェクトの配向を第2のオブジェクトの配向に合わせるように意図的に変更せず、第1の入力が1つ以上の基準の第1のセットを満たすため、第1の入力に従って三次元環境内の第1のロケーションから第1の距離だけ離れて第1のオブジェクトを移動させた後に(例えば、第1の入力が三次元環境内の第2のロケーションを通る第1のオブジェクトの移動に対応したため、第1のオブジェクトは、三次元環境内の第2のロケーションから離れて第1の距離だけ移動された後、三次元環境内の第2のロケーション及び/又は第2のオブジェクトに配置される)、電子デバイスは、第2のオブジェクトの第2の配向に対応する(例えば、整列する)ように第1のオブジェクトの配向を調整する(1232c)(例えば、図11Bに示すように仮想オブジェクト1107aの配向に対応するように仮想オブジェクト1104aの配向を調整する)。例えば、第1のオブジェクトは、第2のオブジェクトと接触している(又は、0.1、0.2、0.5、1、2、3、5、10、若しくは20cmなどの閾値距離内に留まる)。いくつかの実施形態では、第1のオブジェクトは、第2のオブジェクトの配向を調整することなく、三次元環境内の第2のロケーションにおける第1のオブジェクトの現在の配向が第2のオブジェクトの現在の配向に対応するように、第2のオブジェクトに整合する。例えば、第1のオブジェクトの配向は、第1のオブジェクトが第2のオブジェクトに対して平行になるように、かつ/又は第2のオブジェクトに対してもはや回転しないように変更される。いくつかの実施形態では、第2のオブジェクトの現在の配向は、第2のオブジェクトの初期の配向である。オブジェクトがドロップターゲットに移動されるときに、オブジェクトの配向を潜在的なドロップターゲットの配向に揃えることは、オブジェクトをドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又はドロップターゲットがオブジェクトの有効なドロップターゲットであることの発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0285】
いくつかの実施形態では、三次元環境は、三次元環境内の第4のロケーションに第3のオブジェクトを含み、第2のオブジェクトは、第4のロケーションと、図11Dの仮想オブジェクト1104aなどの表示生成構成要素を介して表示される三次元環境の視点との間にある(1234a)(例えば、三次元環境は、任意選択的に写真(又は写真の表現)であり、三次元環境内の第4のロケーションに位置する第3のオブジェクトを含む)。いくつかの実施形態では、第4のロケーションは、第2のオブジェクトから第3の距離(例えば、1、2、3、5、10、12、24、26、50、又は100cm)だけ離れている(例えば、三次元環境内のデバイスのユーザの視点の透視図から第2のオブジェクトの背後にあり、したがって、ユーザの視点から第2のオブジェクトよりも遠い)。いくつかの実施形態では、第3のオブジェクトは、最初に、第2のオブジェクトの正面の個別のロケーションから、第2のオブジェクトを通して三次元環境内の第4のロケーションにプッシュされ、いくつかの実施形態では、第3のオブジェクトは、最初に、第2のオブジェクトを通して三次元環境内の第4のロケーションにプッシュされなかった)。
【0286】
いくつかの実施形態では、三次元環境内の第4のロケーションに第3のオブジェクトを含み、第4のロケーションと三次元環境の視点との間にある第2のロケーションに第2のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図11Dの手1103dによる仮想オブジェクト1104aの移動(例えば、ユーザの視線が第3のオブジェクトに向けられている間に、ユーザの手の人差し指及び親指のピンチジェスチャであって、三次元環境内の第5のロケーションに向かうピンチされた手の形状の手の移動が続く、ピンチジェスチャ、第5のロケーションは、任意選択的に、三次元環境内の第2のロケーションと三次元環境の視点との間に位置する)などの、第2のロケーションと三次元環境の視点との間の個別のロケーションまで(例えば、三次元環境内の第5のロケーションまで)第2のオブジェクトを通して個別の距離だけ第3のオブジェクトを移動させる要求に対応する第4の入力を受信する(1234b)。いくつかの実施形態では、第4の入力中、ユーザの手は、第3のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい。いくつかの実施形態では、第4の入力は、ユーザの手が第3のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指及び親指のピンチであって、三次元環境内の第5のロケーションに向かうピンチされた手の形状の手の移動が続く、ピンチである。いくつかの実施形態では、第4の入力は、三次元環境内のユーザの視点に向かう第3のオブジェクトの移動に対応する。いくつかの実施形態では、個別の距離は、第4の入力中のユーザの手の移動量に対応する。いくつかの実施形態では、第4の入力は、方法800、1000、1400、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0287】
いくつかの実施形態では、第4の入力を受信したことに応じて、電子デバイスは、第4の入力(例えば、図11Eに示すような仮想オブジェクト1104aの移動)に従って、第3のオブジェクトを、第2のオブジェクトを通る、第2のロケーションと三次元環境の視点との間の個別のロケーションまでの個別の距離だけ移動させる(1234c)。例えば、第3のオブジェクトは、三次元環境内の第4のロケーションから第2のオブジェクトを通って三次元環境内の第5のロケーションに(例えば、ユーザの視点の透視図から三次元環境内の第2のオブジェクトの前のロケーションに)移動される。いくつかの実施形態では、三次元環境内の第2のオブジェクトの背後から第2のオブジェクトの前への第3のオブジェクトの移動は、第3のオブジェクトが第2のオブジェクトの後面の閾値距離(例えば、0.1、0.2、0.5、1、2、3、5、10、又は20cm)に接触するか又はその中にあるときに第3のオブジェクトの移動が停止されないように、任意選択的に抵抗を受けず、第3のオブジェクトがユーザの視点に向かって三次元環境内で移動する個別の距離は、第2のオブジェクト(例えば、他のオブジェクトではない)が第4のロケーションと個別のロケーションとの間になかった(例えば、第4の入力が別のオブジェクトを通って第3のオブジェクトを移動させるための入力ではなかった)間に同じ第4の入力が検出された場合に第3のオブジェクトが三次元環境内で移動したであろう距離と同じである。したがって、いくつかの実施形態では、第3のオブジェクトは、遮られていないかのように三次元環境内で移動する。三次元環境内のオブジェクトがドロップターゲットの背面にタッチするか、又はドロップターゲットの背面の閾値距離内にあるときに、そのオブジェクトの移動の調整を取り止めることは、ユーザのクリアビュー内へのオブジェクトの容易な移動を容易にし、これは、三次元環境内の個別のロケーションにオブジェクトを移動させるための更なる入力を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0288】
方法1200における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0289】
図13A図13Dは、いくつかの実施形態による、三次元環境内のオブジェクトにそれぞれのオブジェクトを選択的に追加する電子デバイスの例を示す。
【0290】
図13Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、(例えば、デバイス101が位置する物理的環境の後壁に面する)俯瞰図に示されるユーザ1326の視点からの三次元環境1302を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。デバイス101は、1つ以上のボタン(例えば、物理ボタン)を任意選択的に含み、これは、任意選択的に電源ボタン1340及びボリューム制御ボタン1341であってもよい。
【0291】
図13Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境1302内の物理的環境の表現を表示する。例えば、三次元環境1302は、任意選択的に物理的環境内の物理的コーヒーテーブルの表現であるコーヒーテーブルの表現1322a(俯瞰図内のテーブル1322bに対応する)を含み、三次元環境1302は、任意選択的に物理的環境内の物理的ソファの表現であるソファの表現1324a(俯瞰図内のソファ1324bに対応する)を含む。
【0292】
図13Aでは、三次元環境1302はまた、仮想オブジェクト1304a(例えば、俯瞰図内のオブジェクト1304bに対応するオブジェクト1)、1306a(例えば、俯瞰図内のオブジェクト1306bに対応するオブジェクト2)、1307a(例えば、俯瞰図内のオブジェクト1307bに対応するウィンドウ2)、1309a(例えば、俯瞰図内のオブジェクト1309bに対応するウィンドウ4)、1311a(例えば、俯瞰図内のオブジェクト1311bに対応するウィンドウ1)、かつ1313a(例えば、俯瞰図内のオブジェクト1313bに対応するウィンドウ3)を含む。仮想オブジェクト1311aは、任意選択的に、仮想オブジェクト1304aを包含及び/又は表示しており、仮想オブジェクト1313aは、任意選択的に、仮想オブジェクト1306aを包含及び/又は表示している。仮想オブジェクト1311aは、任意選択的に、三次元環境1302内の空き空間に配置され、仮想オブジェクト1304aを表示するクイックルックウィンドウであり、仮想オブジェクト1304aは、方法1400を参照して以下でより詳細に説明するように、任意選択的に二次元写真である。図13Aでは、仮想オブジェクト1311aは、デバイス101に三次元環境1302内の仮想オブジェクト1304aを包含する仮想オブジェクト1311aの移動を開始させるために(例えば、ユーザ1326によって)選択可能である、任意選択的にグラバー又はハンドルバーである個別のユーザインタフェース要素1315とともに表示される。仮想オブジェクト1313aは、任意選択的に、仮想オブジェクト1306aを包含するアプリケーション(例えば、ウェブブラウジングアプリケーション)のユーザインタフェースであり、これは任意選択的に、二次元写真の表現でもある。図13Aでは、仮想オブジェクト1309aはクイックルックウィンドウではないため、仮想オブジェクト1309aは、個別のユーザインタフェース要素1315とともに表示されない。
【0293】
いくつかの実施形態では、仮想オブジェクト1307aは、仮想オブジェクト1304a及び/又は仮想オブジェクト1311aに対する有効なドロップターゲットであり、仮想オブジェクト1309aは、仮想オブジェクト1306aに対する無効なドロップターゲットである。例えば、仮想オブジェクト1307aは、メッセージングユーザインタフェース上に表示される会話に仮想オブジェクト1304aを追加するために、仮想オブジェクト1304aを受容する及び/又は表示するように構成されるアプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース)である。仮想オブジェクト1309aは、任意選択的に、仮想オブジェクト1306aを受容及び/又は表示することができないアプリケーションのユーザインタフェース(例えば、コンテンツブラウジングユーザインタフェース)である。いくつかの実施形態では、仮想オブジェクト1304a及び1306aは、任意選択的に、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、二次元オブジェクト、アプリケーションのユーザインタフェース、又はデバイス101の物理的環境に含まれない、デバイス101によって表示される任意の他の要素のうちの1つ以上である。
【0294】
いくつかの実施形態では、デバイス101は、それぞれのオブジェクト(及び/又はそれぞれのオブジェクトのコンテンツ)を三次元環境1302内の他のオブジェクトに選択的に追加し、例えば、デバイス101は、三次元環境1302内の第1のオブジェクトの第2のオブジェクトへの移動に応じて、第1のオブジェクト(及び/又は第1のオブジェクトのコンテンツ)を第2のオブジェクトに追加する。いくつかの実施形態において、デバイス101は、他のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるという判定に従って、第1のオブジェクト(及び/又は第1のオブジェクトのコンテンツ)を別のオブジェクトに追加する。いくつかの実施形態において、デバイス101は、他のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットであるという判定に従って、第1のオブジェクト(及び/又は第1のオブジェクトのコンテンツ)を別のオブジェクトに追加することを取り止める。上記のオブジェクト移動に関する追加の詳細は、方法1400を参照して以下に提供される。
【0295】
図13Aにおいて、(例えば、手の状態Aにある)手1303aは、オブジェクト1311aに向けられた移動入力を提供しており、(例えば、手の状態Aにある)手1305aは、オブジェクト1306aに向けられた移動入力を提供している。手の状態Aでは、手1303aは、オブジェクト1311aのコンテンツ(例えば、オブジェクト1304a)を三次元環境1302内のオブジェクト1307aに追加するために、オブジェクト1311aを仮想オブジェクト1307aに向かって移動させるための入力を任意選択的に提供しており、手1305aは、仮想オブジェクト1306aを三次元環境1302内のオブジェクト1309aに追加するために、オブジェクト1306aを仮想オブジェクト1309aに向かって移動させるための入力を任意選択的に提供している。いくつかの実施形態では、かかる移動入力は、ユーザの手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間)にユーザの手が移動することを含む。例えば、図13A図13Bから、デバイス101は、手1303aがピンチハンド形状にある間にユーザ1326の身体に対して水平に移動することを任意選択的に検出し、デバイス101は、手1305aがピンチハンド形状にある間にユーザ1326の身体に対して水平に移動することを任意選択的に検出する。いくつかの実施形態では、手1303aは、仮想オブジェクト1304a及び/又は1311aに直接向けられた(例えば、仮想オブジェクト1304a及び/又は1311aの表面に向かう)移動入力を提供し、いくつかの実施形態では、手1303aは、個別のユーザインタフェース要素1315に向けられた移動入力を提供する。複数の手及び対応する入力が図13A図13Dに示されているが、かかる手及び入力は、デバイス101によって同時に検出される必要はないことを理解されたい。むしろ、いくつかの実施形態では、デバイス101は、かかる手及び/又は入力を独立して検出したことに応じて、図示及び説明される手及び/又は入力に独立して応答する。
【0296】
図13Aにおいて検出された移動入力に応じて、デバイス101は、図13Bに示すように、それに応じて三次元環境1302においてオブジェクト1304a及び1306aを移動させる。図13Aでは、手1303a及び1305aは、任意選択的に、各手のそれぞれのターゲットの方向に異なる大きさの移動を有する。例えば、三次元環境1302において、オブジェクト1304aをオブジェクト1307aに移動させる手1303aの移動の大きさは、任意選択的に、オブジェクト1306aをオブジェクト1309aに移動させる手1305aの移動の大きさよりも大きい。手1303aの移動の所与の大きさに応じて、デバイス101は、図13Bの俯瞰図に示すように、オブジェクト1304aをユーザ1326の視点に対して水平に三次元環境1302内の仮想オブジェクト1307aに移動させている。手1305aの移動の所与の大きさに応じて、デバイス101は、オブジェクト1304aからオブジェクト1306aを除去し、図13Bの俯瞰図に示すように、オブジェクト1313aによってカバーされる距離よりも小さい距離だけオブジェクト1306aを移動させている。上述したように、仮想オブジェクト1307aは、任意選択的に、仮想オブジェクト1304aの有効なドロップターゲットであり、仮想オブジェクト1309aは、任意選択的に、仮想オブジェクト1306aの無効なドロップターゲットである。したがって、仮想オブジェクト1304aが、手1303aの移動の所与の大きさに応じて仮想オブジェクト1307aの方向にデバイス101によって移動させられるとき、仮想オブジェクト1304aが仮想オブジェクト1307aの表面の少なくとも一部に到達/接触すると、デバイス101は、以下で説明するように、仮想オブジェクト1304aの仮想オブジェクト1307aへの追加を開始する。一方、仮想オブジェクト1306aが、手1305aの所与の大きさの移動に応じてデバイス101によって仮想オブジェクト1309aの方向に移動させられるとき、仮想オブジェクト1306aが仮想オブジェクト1309aの表面の少なくとも一部に到達/接触するとき、デバイス101は、以下で説明するように、仮想オブジェクト1306aの仮想オブジェクト1309aへの追加を開始することを取り止める。
【0297】
いくつかの実施形態では、デバイス101が、個別の仮想オブジェクトに向けられた移動入力に応じて個別の仮想オブジェクトを移動させている間、デバイス101は、三次元環境1302内の個別の仮想オブジェクトの元のロケーションに個別の仮想オブジェクトのゴースト表現を表示する。例えば、図13Bでは、デバイス101が、手1303aによって提供される移動入力に従って、仮想オブジェクト1304a(例えば、オブジェクト1)及び/又は仮想オブジェクト1311a(例えば、ウィンドウ1)を移動させると、デバイス101は、任意選択的に仮想オブジェクト1304aのゴースト又はフェード表現である表現1304cを仮想オブジェクト1311a内に表示する。同様に、図13Bでは、デバイス101が、手1305aによって提供された移動入力に従って、仮想オブジェクト1306a(例えば、オブジェクト2)を仮想オブジェクト1313a(例えば、ウィンドウ3)から除去した後、デバイス101は、任意選択的に仮想オブジェクト1306aのゴースト又はフェード表現である表現1306cを仮想オブジェクト1309a内に表示する。いくつかの実施形態では、個別の仮想オブジェクトのゴースト表現は、個別の仮想オブジェクトの移動に先立って、個別の仮想オブジェクトのロケーションに対応する三次元環境1302内の個別のロケーションに表示される。例えば、図13Bでは、表現1304cは、三次元環境1302内の仮想オブジェクト1304aの移動に先立って、(例えば、図13Aに示されるように)仮想オブジェクト1304aの個別のロケーションに表示される。同様に、表現1306cは、三次元環境1302内での仮想オブジェクト1309aの移動に先立って、(例えば、図13Aに示されるように)仮想オブジェクト1306a内の仮想オブジェクト1306aの個別のロケーションに表示される。
【0298】
更に、いくつかの実施形態では、デバイス101は、三次元環境1302内のオブジェクトの移動中に、三次元環境1302内のオブジェクトの表示を変更する。例えば、上述したように、仮想オブジェクト1311a(例えば、ウィンドウ1)は、任意選択的に、オブジェクト1304aを表示するクイックルックウィンドウである。仮想オブジェクト1311aは、任意選択的に、三次元環境1304a内のオブジェクト1304aの一時的なプレースホルダとして機能する。したがって、図13Bに示すように、三次元環境1302内の仮想オブジェクト1311a及び/又は仮想オブジェクト1304aの移動中、デバイス101は、三次元環境1302内の仮想オブジェクト1311aの外観を変更する。例えば、デバイス101は、三次元環境1302におけるグラバー/ハンドルバー1315の表示をフェード又は停止する。
【0299】
いくつかの実施形態では、ドロップターゲットであるオブジェクトは、それぞれのオブジェクトを受容する/受け取るように構成されたドロップゾーンを含み、かつ/又はそれに関連付けられる。例えば、図13Bでは、仮想オブジェクト1307aは、オブジェクト1307aの表面からユーザ1326の視点に向かって延在する、ドロップゾーン1318を含む。ドロップゾーン1318は、任意選択的に、図13Bのドロップゾーン1318内へのオブジェクト1304a/1311aの移動など、オブジェクト1307aに追加されるべきオブジェクトをオブジェクト1307aに追加するためにそれらのオブジェクトをドロップすることができる三次元環境1302内のボリュームである。いくつかの実施形態では、ドロップゾーン1318は、三次元環境1302内に表示される(例えば、ドロップゾーンの輪郭及び/又はボリュームは、三次元環境1302内に表示され、いくつかの実施形態では、ドロップゾーン1318は、三次元環境1302内に表示されない)。いくつかの実施形態では、デバイス101は、図13Bに示すように、仮想オブジェクト1304aがドロップゾーン1318内で移動されるときに、ドロップゾーン1318のサイズに対応するようにオブジェクト1304aをサイズ変更する。有効及び無効なドロップターゲット、並びに表示される関連付けられたインジケーション、かつデバイス101の他の応答の更なる詳細は、方法1000、1200、1400、かつ/又は1600を参照して説明される。
【0300】
更に、いくつかの実施形態では、個別のオブジェクトがオブジェクト(例えば、物理的又は仮想的)の表面の閾値距離内に移動されると、デバイス101は、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットであるか、又は無効なドロップターゲットであるかを示すバッジを個別のオブジェクト上に表示する。図13Bにおいて、オブジェクト1307aは、オブジェクト1304aに対する有効なドロップターゲットであり、従って、デバイス101は、仮想オブジェクト1304aが仮想オブジェクト1307aの表面及び/又はドロップゾーン1318の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内で移動されたときにオブジェクト1304aがオブジェクト1307aに対する有効なドロップターゲットであることを示すバッジ1325をオブジェクト1304aの右上隅にオーバーレイして表示する。いくつかの実施形態では、バッジ1325は、1つ以上のシンボル又は文字(例えば、仮想オブジェクト1307aが仮想オブジェクト1304aの有効なドロップターゲットであることを示す「+」記号)を含む。図13Bにおいて、オブジェクト1309aは、オブジェクト1306aに対して無効なドロップターゲットであり、従って、デバイス101は、仮想オブジェクト1309aが仮想オブジェクト1306aの表面及び/又はドロップゾーン1318の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内で移動されたときにオブジェクト1306aがオブジェクト1309aに対して無効なドロップターゲットであることを示すバッジ1327をオブジェクト1306aの右上隅にオーバーレイして表示する。いくつかの実施形態では、バッジ1327は、仮想オブジェクト1309aが仮想オブジェクト1306aの無効なドロップターゲットであることを示す1つ以上の記号又は文字(例えば、「x」記号又は「-」記号)を含む。
【0301】
更に、いくつかの実施形態では、個別のオブジェクトがオブジェクトの閾値距離内(例えば、オブジェクトのドロップゾーンの閾値距離内)に移動されると、デバイス101は、オブジェクトが個別のオブジェクトに対して有効なドロップターゲットであるか、又は無効なドロップターゲットであるかに応じて、個別のオブジェクトを選択的にサイズ変更する。例えば、図13Bでは、仮想オブジェクト1304aが、オブジェクト1304aの有効なドロップターゲットである仮想オブジェクト1307aの表面及び/又はドロップゾーン1318の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内に移動されると、仮想オブジェクト1304aは、三次元環境1302内で(例えば、角度)サイズがスケールダウン(又はスケールアップ)される。オブジェクト1304aがスケーリングされるサイズは、任意選択的に、オブジェクト1307aのサイズ、かつ/又はオブジェクト1304aを受容することができるオブジェクト1307a内の領域(例えば、ドロップゾーン1318)のサイズに基づく(例えば、オブジェクト1307aが大きいほど、オブジェクト1304aのスケーリングされたサイズも大きくなる)。一方、図13Bに示すように、デバイス101は、仮想オブジェクト1306aが、オブジェクト1306aの無効なドロップターゲットである仮想オブジェクト1309aの表面及び/又はドロップゾーンの閾値距離内に移動されたときに、三次元環境1302内の仮想オブジェクト1306aをサイズ変更しない。
【0302】
いくつかの実施形態において、デバイス101は、第2のオブジェクトが第1のオブジェクトに対する有効なドロップターゲットであるかどうかに応じて、第2のオブジェクトへの第1のオブジェクトの追加を選択的に開始する。例えば、図13Bにおいて、手1303b(例えば、手の状態Bにある)は、オブジェクト1304aの解放に対応する入力を提供しており(例えば、手の状態Bは、手の親指及び人差し指の先端が互いに離れるように移動することを含む、ピンチハンド形状を解放した後の手の状態に対応する)、手1305b(例えば、手の状態Bにある)は、オブジェクト1306aの解放に対応する入力を提供している。手1303bからの入力は、任意選択的に、仮想オブジェクト1304aを三次元環境1302内の仮想オブジェクト1307aに追加する要求に対応し、手1305bからの入力は、任意選択的に、仮想オブジェクト1306aを三次元環境1302内の仮想オブジェクト1309aに追加する要求に対応する。上述のように、仮想オブジェクト1307aは、任意選択的に、仮想オブジェクト1304aの有効なドロップターゲットであり、仮想オブジェクト1309aは、任意選択的に、仮想オブジェクト1306aの無効なドロップターゲットである。
【0303】
図13Cでは、仮想オブジェクト1304a及び1306aを仮想オブジェクト1307a及び1309aにそれぞれ追加する要求に対応する入力を検出したことに応じて、デバイス101は、仮想オブジェクト1304aを仮想オブジェクト1307aに追加し、仮想オブジェクト1306aを仮想オブジェクト1309aに追加することを取り止める。図13Cにおいて、デバイス101は、仮想オブジェクト1307aが仮想オブジェクト1304aの有効なドロップターゲットであるため、仮想オブジェクト1304aの解放を検出したことに応じて、仮想オブジェクト1307a内に仮想オブジェクト1304aを表示し、デバイス101は、仮想オブジェクト1309aが仮想オブジェクト1306aの無効なドロップターゲットであるため、仮想オブジェクト1306aの解放を検出したことに応じて、仮想オブジェクト1313a内に仮想オブジェクト1306aを再表示する。いくつかの実施形態では、個別の仮想オブジェクトに対する無効なドロップターゲットである仮想オブジェクトに個別の仮想オブジェクトを追加する要求に対応する入力を検出したことに応じて、デバイス101は、入力を検出する前に個別のロケーションに戻る個別の仮想オブジェクトのアニメーションを三次元環境1302内に表示する。例えば、任意選択的に仮想オブジェクト1306aの無効なドロップターゲットである仮想オブジェクト1309aに仮想オブジェクト1306aを追加する要求に対応する入力を検出したことに応じて、デバイス101は、任意選択的に、仮想オブジェクト1309aの表面又はその近くのロケーションから仮想オブジェクト1306aの元のロケーション(例えば、図13Aの仮想オブジェクト1306aのロケーションに対応する)に戻る仮想オブジェクト1306aの移動をアニメーション化し、仮想オブジェクト1306aを仮想オブジェクト1309aに表示しない。
【0304】
更に、いくつかの実施形態では、オブジェクト1304aをオブジェクト1307aに追加した後、デバイス101は、三次元環境1302におけるオブジェクト1311aの表示を中止する。例えば、上記で説明したように、図13A図13Bでは、仮想オブジェクト1311a(例えば、ウィンドウ1)は、仮想オブジェクト1304aを表示するクイックルックウィンドウである。図13Cでは、仮想オブジェクト1304aを仮想オブジェクト1307aに追加した後、デバイス101は、三次元環境1302内の仮想オブジェクト1311aの表示を中止する。いくつかの実施形態では、仮想オブジェクト1311aがクイックルックウィンドウでなかった場合、デバイス101は、任意選択的に、仮想オブジェクト1311aを仮想オブジェクト1307aに追加した後に、三次元環境1302内の仮想オブジェクト1304aの表示を中止しなかったであろう。更に、いくつかの実施形態では、仮想オブジェクト1311aがクイックルックウィンドウでなかった場合、仮想オブジェクト1304aを包含する仮想オブジェクト1311aを仮想オブジェクト1307aに追加する入力を検出したことに応じて、デバイス101は、仮想オブジェクト1311a及び仮想オブジェクト1304aの両方を三次元環境1302内の仮想オブジェクト1307aに追加したであろう。
【0305】
いくつかの実施形態では、デバイス101は、三次元環境1302において新たに作成されたオブジェクト内の空き空間にドロップされた個別のオブジェクトを表示する。例えば、図13Cにおいて、手1305c(例えば、手の状態Cにある)は、仮想オブジェクト1306a(例えば、オブジェクト2)に向けられた移動入力を提供している。手の状態C(例えば、手がピンチハンド形状である間(例えば、手の親指及び人差し指の先端がタッチしている間))では、手1305cは、任意選択的に、オブジェクト1306aをオブジェクト1313aからユーザ1326の視点に向かって移動させて、オブジェクト1306aを三次元環境1302内の空き空間(例えば、オブジェクト(例えば、物理的又は仮想的)を包含しない個別のロケーション)に移動させるための入力を提供している。
【0306】
図13Dでは、仮想オブジェクト1306aに向けられた移動入力を検出したことに応じて、デバイス101は、オブジェクト1306aをオブジェクト1313aから除去し、俯瞰図に示すように、移動入力に従って、ユーザ1326の視点から仮想オブジェクト1306aの前の個別のロケーションに仮想オブジェクト1313aを移動させる。上記で説明したように、いくつかの実施形態では、仮想オブジェクト1306aを仮想オブジェクト1313aの前の個別のロケーションに移動させることは、仮想オブジェクト1306aを仮想オブジェクト1313aから除去することを含む。図13Dでは、入力が仮想オブジェクト1306aを仮想オブジェクト1313aの前の個別のロケーションに移動させた後、デバイス101は、三次元環境1302内の個別のロケーションでの仮想オブジェクト1306aの解放を検出する(例えば、手の状態Dに対応する、手の親指及び人差し指の上部がもはや触れていないような、手1305dのピンチハンド形状の解放を介して)。上述したように、ユーザ1326の視点から仮想オブジェクト1313aの前の個別のロケーションは、任意選択的に、三次元環境1302内の空き空間に対応する。
【0307】
いくつかの実施形態では、三次元環境1302内の空き空間内の仮想オブジェクト1306aの解放を検出した後、デバイス101は、仮想オブジェクト1306aを包含するように新しいオブジェクト(例えば、新しいウィンドウ)を生成する。図13Dでは、デバイス101は、オブジェクト1306aが三次元環境1302内の新しいオブジェクト1317a内に表示されるように、空き空間内の仮想オブジェクト1306aの解放を検出したことに応じて、仮想オブジェクト1306aを新しいオブジェクト1317a(例えば、ウィンドウ5)に追加している。いくつかの実施形態では、三次元環境1302内の新しいオブジェクトは、クイックルックウィンドウである。したがって、仮想オブジェクト1317aは、デバイス101に、三次元環境1302内のオブジェクト1306aを包含する仮想オブジェクト1317aの移動を開始させるように選択可能である個別のユーザインタフェース要素(例えば、グラバー又はハンドルバー)1315とともに表示される。
【0308】
いくつかの実施形態において、デバイス101は、オブジェクトがクイックルックウィンドウである場合、三次元環境1302内のオブジェクトに関連付けられた1つ以上のインタフェース要素を選択的に表示する。例えば、図13Dでは、ユーザ1326の視線1321(例えば、ユーザ1326の目の検出された焦点に対応する)は、三次元環境1302内の仮想オブジェクト1317a内の仮想オブジェクト1306aに向けられる。視線1321が仮想オブジェクト1306aに向けられていることを検出したことに応じて、デバイス101は、任意選択的に、三次元環境1302内のオブジェクト1317aの上に配置されたツールバー1323を表示する。いくつかの実施形態では、ツールバー1323は、仮想オブジェクト1306aに関連付けられた1つ以上のアクションを実行するために(例えば、ユーザ1326の手によって提供される選択入力を介して)選択可能な1つ以上のインタフェース要素を含む。例えば、ツールバー1323の1つ以上のインタフェース要素は、任意選択的に、仮想オブジェクト1306aの配置、表示、又は他の特性を制御するための1つ以上のコントロールである。いくつかの実施形態では、仮想オブジェクト1306aに関連付けられる1つ以上のインタフェース要素をデバイス101に表示させるために、意図が必要とされる。例えば、意図が必要とされる場合、図13Dでは、ツールバー1323は、視線1321が仮想オブジェクト1306aに向けられていることをデバイス101が検出したとき、かつ/又は手1305dが持ち上げられていることをデバイス101が検出したとき、かつ/又は三次元環境1302内の仮想オブジェクト1306aに向けられたプレピンチハンド形状(例えば、手の親指及び人差し指が互いに向かってカールしているが、タッチしていないプレピンチハンド形状)でのみ表示される。
【0309】
いくつかの実施形態では、デバイス101は、移動入力が検出されたときに個別のオブジェクトが位置していたオブジェクトに戻る個別のオブジェクトの移動に対応する入力を検出したことに応じて、個別のオブジェクトに向けられた移動入力をキャンセルする。例えば、図13Dにおいて、手1303cが仮想オブジェクト1304aに向けられた移動入力を提供して、仮想オブジェクト1304aを仮想オブジェクト1307aから離れるように移動させる場合、デバイス101は、任意選択的に、仮想オブジェクト1304aを仮想オブジェクト1307aから除去し、(例えば、図13Bに同様に示されるように)仮想オブジェクト1304aのゴースト表現を仮想オブジェクト1307a内に任意選択的に表示する。次いで、手1303cが、仮想オブジェクト1304aを仮想オブジェクト1307aに戻す移動入力を提供し、仮想オブジェクト1307aの表面の閾値距離(例えば、0.1、0.5、1、3、6、12、24、36、又は48cm)内及び/又はドロップゾーン1318内で仮想オブジェクト1304aを解放した場合、デバイス101は、オブジェクト1304aに向けられた移動入力を任意選択的にキャンセルし、仮想オブジェクト1304aを仮想オブジェクト1307a内のその前のポジションに任意選択的に再表示する。
【0310】
更に、いくつかの実施形態では、デバイス101は、個別のオブジェクトの無効なロケーションへの個別のオブジェクトの移動に対応する入力を検出したことに応じて、個別のオブジェクトに向けられた移動入力をキャンセルする。例えば、図13Dにおいて、手1303cが仮想オブジェクト1304aに向けられた移動入力を提供して、仮想オブジェクト1304aを仮想オブジェクト1307aから離してユーザ1326の視点の視野の境界の外側の個別のロケーションに移動させる場合、デバイス101は、個別のロケーションがユーザ1326の現在の視野内でデバイス101によって任意選択的に検出不能であるため、仮想オブジェクト1304aの個別のロケーションへの移動を任意選択的に取り止める。したがって、かかる移動入力を検出したことに応じて、デバイス101は、任意選択的に、仮想オブジェクト1307a内の仮想オブジェクト1304aの表示を維持する(例えば、オブジェクト1307a内のその初期ポジションに戻るオブジェクト1304aのアニメーションを表示する)。したがって、本明細書に記載されるように、デバイス101は、任意選択的に、個別のオブジェクトの個別のオブジェクトの無効なロケーション(例えば、個別のオブジェクトの無効なドロップターゲットである第2のオブジェクト、又はユーザ1326の視点の視野の境界の外側のロケーション)への移動、又は個別のオブジェクトのオブジェクトへ戻る移動に対応する入力を検出したことに応じて、個別のオブジェクトを包含するオブジェクトから離れる個別のオブジェクトの移動を取り止める。
【0311】
図14A図14Hは、いくつかの実施形態による、三次元環境内でそれぞれのオブジェクトを他のオブジェクトに選択的に追加する方法1400を示すフローチャートである。いくつかの実施形態では、方法1400は、表示生成構成要素(例えば、図1図3、かつ図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手の下方を指すカメラ(例えば、カラーセンサ、赤外線センサ、かつ他の深度感知カメラ)又はユーザの頭部から前方を指すカメラ)とを含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)において実行される。いくつかの実施形態では、方法1400は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1400のいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0312】
いくつかの実施形態では、方法1400は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0313】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、三次元環境内の第1のロケーションにある第1のオブジェクト(例えば、図13Aの仮想オブジェクト1304a及び/又は仮想オブジェクト1306a)と、三次元環境内の第2のロケーションにある第2のオブジェクト(例えば、図13Aの仮想オブジェクト1307a及び/又は仮想オブジェクト1309a)とを含む三次元環境(例えば、三次元環境1302)を表示する(1402a)。いくつかの実施形態では、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって生成され、表示され、又は他の方法で視認可能にされる。例えば、第1のオブジェクトは、任意選択的に写真(又は写真の表現)である。いくつかの実施形態では、第1のオブジェクトは、ビデオコンテンツ(例えば、フィルム又はTVショークリップ)、ウェブベースのコンテンツ(例えば、ウェブサイトURL又はリンク)、三次元コンテンツ(例えば、三次元仮想クロック、仮想車、仮想テントなど)、アプリケーションのユーザインタフェース(例えば、メッセージングアプリケーションのユーザインタフェース、ウェブブラウザアプリケーションのユーザインタフェース、音楽ブラウジング及び/又は再生アプリケーションのユーザインタフェースなど)、アイコン(例えば、アプリケーションのユーザインタフェースを表示するために選択可能なアプリケーションアイコン、三次元環境内の仮想環境を表示するために選択可能な仮想環境アイコンなど)などのコンテンツのうちの1つ以上のいずれかである。いくつかの実施形態では、第1のオブジェクトは、任意選択的に、第3のオブジェクト内に表示される(例えば、第3のオブジェクトは、写真を表示しているウェブブラウザアプリケーションのウェブページ、又は写真を表示している電子メールアプリケーション若しくはメッセージングアプリケーションのユーザインタフェースである)。いくつかの実施形態では、第2のオブジェクトは、任意選択的に、第1のオブジェクト(例えば、写真)を受容及び/又は表示することができる別のコンテナである。例えば、第2のオブジェクトは、任意選択的に、写真をドロップして第2のオブジェクトに表示されたメッセージング会話に追加することができるテキスト入力フィールドを含む、メッセージングアプリケーションのユーザインタフェースである。
【0314】
いくつかの実施形態では、三次元環境内の第1のロケーションに第1のオブジェクトを含み、三次元環境内の第2のロケーションに第2のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図13Aの手1303aによる仮想オブジェクト1304aの移動及び/又は手1305aによる仮想オブジェクト1306aの移動などの、三次元環境内の第1のロケーションから離れるように第1のオブジェクトを移動させる要求に対応する第1の入力を受信する(1402b)(例えば、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手の人差し指及び親指のピンチジェスチャであって、続いて、三次元環境内の個別のロケーションに向かう(例えば、第1のロケーションから離れる)ピンチされた手の形状の手の移動が続く、ピンチジェスチャ)。いくつかの実施形態では、第1の入力の間、ユーザの手は、第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも離れている。いくつかの実施形態では、第1の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指と親指とのピンチであって、ピンチされた手の形状の手を三次元環境内の個別のロケーションに向かっての移動が続く、ピンチである。いくつかの実施形態では、第1の入力は、方法800、1000、1200、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0315】
いくつかの実施形態では、第1の入力を受信したことに応じて(1402c)、第1の入力が、図13Cの手1305cによる仮想オブジェクト1306aの移動などの、オブジェクトを含まない三次元環境内の第3のロケーションへの第1のオブジェクトの移動に対応する(例えば、手の移動は、三次元環境内の第3のロケーションへの第1のオブジェクトの移動に対応し、第3のロケーションは、オブジェクトを含まない(例えば、第3のロケーションは、任意選択的に、三次元環境内の「空の」空間に対応する)。いくつかの実施形態では、手の移動は、代替的に、オブジェクトを含むが、オブジェクトが第1のオブジェクトの有効なドロップターゲットではない(例えば、オブジェクトは、第1のオブジェクトを包含、受容、かつ/又は表示することができるオブジェクトではない)ロケーションへの第1のオブジェクトの移動に対応する))、という判定に従って(1402d)、電子デバイスは、第1の入力(例えば、図13Dに示すような仮想オブジェクト1306aの移動)に従って、第1のオブジェクトの表現を三次元環境内の第3のロケーションに移動させる(1402e)。例えば、第1のオブジェクトの表現(例えば、第1のオブジェクトのフェード又はゴースト化された表現、第1のオブジェクトのコピーなど)は、第1の入力に従って、三次元環境内の第1のロケーションから三次元環境内の第3のロケーションに移動される。
【0316】
いくつかの実施形態では、電子デバイスは、第1の入力が終了した後、第3のロケーションにおける第1のオブジェクトの表示(例えば、図13Dに示すような仮想オブジェクト1306aの表示)を維持する(1402f)。例えば、第1のオブジェクトは、三次元環境内の第3のロケーションに表示される(例えば、第1のオブジェクトは、三次元環境内の「空の」空間内に表示される)。
【0317】
いくつかの実施形態では、第1の入力が、図13Aの手1303aによる仮想オブジェクト1304aの移動などの三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応する(例えば、手の移動が、三次元環境内の第2のロケーションにおける第2のオブジェクトへの/第2のオブジェクトに向かう第1のオブジェクトの移動に対応する)という判定に従って、かつ1つ以上の基準が満たされる(例えば、第2のオブジェクトが、第1のオブジェクトを受容及び/又は包含することができるオブジェクトなどの第1のオブジェクトに対する有効なドロップターゲットである。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットでない場合、1つ以上の基準は満たされない。)という判定に従って(1402g)、電子デバイスは、第1の入力(例えば、図13Bに示すような仮想オブジェクト1304aの移動)に従って、第1のオブジェクトの表現を三次元環境内の第2のロケーションに移動させる(1402h)。例えば、第1のオブジェクトの表現は、入力に従って、三次元環境内の第1のロケーションから三次元環境内の第2のロケーションに移動され、第2のロケーションは、第2のオブジェクトを含む。
【0318】
いくつかの実施形態では、電子デバイスは、図13Cに示すような仮想オブジェクト1307aへの仮想オブジェクト1304aの追加など、三次元環境内の第2のロケーションで第1のオブジェクトを第2のオブジェクトに追加する(1402i)(例えば、第4のオブジェクトを生成することなくなど、第1のオブジェクトを包含するための別のオブジェクトを生成することなく)。例えば、第2のオブジェクトは、三次元環境内で第1のオブジェクトを受信及び/又は表示する(例えば、第2のオブジェクトは、任意選択的に、第2のオブジェクトに表示されたメッセージング会話に追加するために第1のオブジェクト(例えば、写真)をドロップすることができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである)。オブジェクトが三次元環境内の空き空間にドロップされたときにオブジェクトを三次元環境に表示すること、又はオブジェクトが既存のオブジェクトにドロップされたときにオブジェクトを既存のオブジェクトに追加することは、有効なドロップターゲットが三次元環境内のドロップロケーションに存在するか否かにかかわらず、三次元環境内でオブジェクトを自由に移動させるためのユーザ入力を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0319】
いくつかの実施形態では、第1の入力を受信する前に、第1のオブジェクトは、三次元環境内の第1のロケーションにある第3のオブジェクト内に包含される(1404)(例えば、図13Aに示すように、仮想オブジェクト1304aを包含する仮想オブジェクト1311a及び/又は仮想オブジェクト1306aを包含する仮想オブジェクト1313a)。例えば、第3のオブジェクトは、任意選択的に第1のオブジェクトを包含するコンテナであり、第1のオブジェクトは、任意選択的に写真(又は写真の表現)である。第3のオブジェクトは、任意選択的に、第1のオブジェクトを表示している(例えば、第3のオブジェクトは、写真を表示しているウェブブラウザアプリケーションのウェブページであり、第3のオブジェクトは、異なるユーザにメッセージングするためのメッセージングアプリケーションのユーザインタフェースであり、会話内の写真を表示しているなど)。既存のオブジェクトから三次元環境内の空き空間への、又は三次元環境内の別の既存のオブジェクトへのオブジェクトの移動を可能にすることは、情報の利用のためにオブジェクトに対応する情報のコピー/抽出を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0320】
いくつかの実施形態では、第1の入力に従って第1のオブジェクトを三次元環境内の第1のロケーションから離れるように移動させることは、第1の入力の第1の部分に従って三次元環境内の第1のロケーションにある第3のオブジェクトから第1のオブジェクトの表現を除去し、第3のオブジェクトが三次元環境内の第1のロケーションに留まっている間に第1の入力の第2の(例えば、後続の)部分に従って三次元環境内の第1のオブジェクトの表現を移動させること(1406b)(例えば、図13Bに示すような仮想オブジェクト1313aからの仮想オブジェクト1306aの除去)を含む(1406a)。例えば、第1のオブジェクトは、第3のオブジェクトから除去され(例えば、第1のオブジェクトは、0.1、0.2、0.5、1、2、3、5、又は10cmなど、第3のオブジェクトから視覚的に分離されるようになる)、したがって、ユーザは、第3のオブジェクトを移動させることなく、三次元環境内の別のオブジェクトに/に向かって、かつ/又は三次元環境内の個別のロケーションに/に向かって、第1のオブジェクトを選択的に移動させることが可能である。いくつかの実施形態では、第1の入力の第1の部分は、ユーザの手がピンチジェスチャを実行し、第3のオブジェクトから離れるように(例えば、0.1、0.2、0.5、1、2、3、5、10、20、又は40cmなどの閾値量を超えて)手を移動させながらピンチハンド形状を保持することを検出することを含み、第2の部分は、ピンチハンド形状を保持し続けながら、第3のオブジェクトから離れる第1のオブジェクトの移動に対応するように手を移動させることを含む。既存のオブジェクトから三次元環境内の空き空間への、又は三次元環境内の別の既存のオブジェクトへのオブジェクトの移動を可能にすることは、情報の利用のためにオブジェクトに対応する情報のコピー/抽出を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0321】
いくつかの実施形態では、第1の入力に従って第1のオブジェクトの表現を三次元環境内の第1のロケーションから離れるように移動させている間に、電子デバイスは、表示生成構成要素を介して、第1のオブジェクトの表現とは異なる第1のオブジェクトの第2の表現(例えば、第1のオブジェクトの部分的に半透明又は低減された彩度又は低減されたコントラストの表現などの第1のオブジェクトの強調解除された表現)を三次元環境内の第1のロケーションの第3のオブジェクト内に表示する(1408)(例えば、図13Bに示すようなゴースト表現1304c及び/又はゴースト表現1306cの表示)。いくつかの実施形態では、第1のオブジェクトが、三次元環境内の個別のロケーションに/に向かって移動されるにつれて、第1のオブジェクトの第2の表現が、三次元環境内の第1のロケーションにおける第3のオブジェクト内に表示される。例えば、第1のオブジェクトは任意選択的に写真であり、第3のオブジェクトは任意選択的にウェブブラウザアプリケーションのウェブページ像であり、写真がウェブページ像から離れるように移動される間、写真のゴースト化された/フェードされた表現が任意選択的にウェブページ像内に表示される。オブジェクトが三次元環境内の空き空間に、又は三次元環境内の別の既存のオブジェクトに移動されるときに、オブジェクトが発生した既存のオブジェクト内のオブジェクトのゴーストを表示することは、オブジェクトに対応する情報がコピー/抽出されることになるという発見を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0322】
いくつかの実施形態では、第1の入力の終了は、第1のオブジェクトの現在ロケーションが、三次元環境内の現在ロケーションが第1のオブジェクトに対する無効なロケーションであるときに満たされる基準を含む1つ以上の第2の基準を満たすという判定に従って、ユーザの手によるピンチハンド形状の解放(例えば、ユーザの人差し指の先端がユーザの親指の先端から離れて、人差し指及び親指がもはやタッチしていない)を検出することを含み、電子デバイスは、(例えば、そうするための対応するユーザ入力を検出することなく)図13Cに示す仮想オブジェクト1306aの移動のアニメーションなどの、三次元環境内の第1のロケーションに移動させる第1のオブジェクトの第1の表現のアニメーションを表示する(1410b)。いくつかの実施形態では、個別のロケーション及び/又はターゲット(例えば、オブジェクト)への三次元環境内の第1のオブジェクトの移動は、個別のロケーション及び/又はターゲットが第1のオブジェクトに対する無効なロケーションである場合、不成功である。例えば、個別のロケーションは、任意選択的に、第1のオブジェクトに対する無効なロケーションであり、かつ/又はターゲットは、第1のオブジェクトに対する無効なドロップターゲットである。第1のオブジェクトは、任意選択的に、写真であり、個別のロケーションは、任意選択的に、ユーザの視野の境界の外側のロケーションであり、ターゲットは、任意選択的に、写真を追加することができる入力フィールドを包含しないウェブブラウジングアプリケーションのウェブページなどの、第1のオブジェクトを受容及び/又は包含することができないオブジェクトである。したがって、ユーザの視野の境界の外側のロケーション又はウェブブラウジングアプリケーションのウェブページへの写真の移動は無効である。いくつかの実施形態では、個別のロケーション及び/又はターゲットへの移動が不成功であることを検出したことに応じて、第1のオブジェクトは、任意選択的に、三次元環境内の第1のロケーションに戻される(例えば、第1のオブジェクトが生じたオブジェクトに戻される)。オブジェクトの移動のターゲットが無効であるときに、オブジェクトを、オブジェクトが生じた既存のオブジェクトに戻すことは、オブジェクトの移動のターゲットが無効であるという発見を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0323】
いくつかの実施形態では、三次元環境内の第3のロケーションがオブジェクトを含まないため、第1の入力に従って第1のオブジェクトの表現を三次元環境内の第3のロケーションに移動させた後、第3のロケーションがオブジェクト(例えば、第1のオブジェクトを受容する及び/又は表示することができるアプリケーションウィンドウ。いくつかの実施形態では、第1の入力の終了は、ユーザの手によるピンチハンド形状の解放を検出することを含む(例えば、ユーザの人差し指の先端がユーザの親指の先端から離れて、人差し指及び親指がもはやタッチしていない。))を包含しないため、第1の入力の終了を検出したことに応じて(1412a)(例えば、第1のオブジェクトは、三次元環境内の第1のロケーションから離れるように移動された後に三次元環境内の第3のロケーションに配置される)、電子デバイスは、図13Dの仮想オブジェクト1317aなどの第3のオブジェクトを三次元環境内の第3のロケーションに生成する(1412b)(例えば、第3のオブジェクトが(空き空間内の)第3のロケーションに生成され、第3のオブジェクトは、第1の入力の終了を検出する前に三次元環境内に存在せず、第3のオブジェクトは、任意選択的に、コンテンツ(例えば、画像、ビデオ、歌など)を表示又はアクセス可能にするコンテンツアプリケーションのウィンドウ、ラッパー、又はユーザインタフェースなどの第1のオブジェクトを受容する及び/又は表示することができるコンテナである)。
【0324】
いくつかの実施形態では、電子デバイスは、三次元環境内の第3のロケーションにおける第3のオブジェクト内に第1のオブジェクトを表示する(1412c)(例えば、図13Dに示すような仮想オブジェクト1317a内の仮想オブジェクト1306aの表示)。例えば、第3のオブジェクトは、第1のオブジェクト(例えば、写真)が任意選択的に表示され、ユーザによる後の取り出しのために包含されるクイックルックウィンドウである。いくつかの実施形態では、第1のオブジェクトは、第3のオブジェクトの表面全体又は表面の実質的な量を占有する。いくつかの実施形態では、クイックルックウィンドウは、上述したように、写真又は他のコンテンツの配置、表示、又は他の特性を制御するための1つ以上のコントロールに任意選択的に関連付けられる。いくつかの実施形態では、三次元環境内の写真を包含するクイックルックウィンドウの表示は、任意選択的に一時的であり、クイックルックウィンドウから新しいロケーションへの(例えば、写真の有効なドロップターゲットである既存のオブジェクトへの)写真の移動は、写真を包含していたクイックルックウィンドウを閉じさせる。いくつかの実施形態では、1つ以上のコントロールは、ツールバー内のクイックルックウィンドウの上方及び/又は上に任意選択的に表示される。いくつかの実施形態では、(例えば、ユーザの視線が第3のオブジェクトに向けられていることを検出したことに応じて)1つ以上のコントロールを包含するツールバーが三次元環境に表示されるための意図が必要とされる。オブジェクトが三次元環境内の空き空間にドロップされたときに新しいオブジェクト内にオブジェクトを表示することは、オブジェクトを操作するためのユーザ入力を容易にし、かつ/又は新しいオブジェクトから三次元環境内の空き空間に、若しくは三次元環境内の既存のオブジェクトにオブジェクトを移動させるためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0325】
いくつかの実施形態では、1つ以上の基準は、仮想オブジェクト1307aが図13Aの仮想オブジェクト1304aの有効なドロップターゲットである(例えば、第1のオブジェクトが写真であり、第2のオブジェクトが、写真を第2のオブジェクト上に表示されたメッセージング会話に追加するために写真を追加することができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである)など、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるときに満たされる基準を含む(1414a)。
【0326】
いくつかの実施形態では、第1の入力が三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応するため、第1の入力に従って第1のオブジェクトの表現を三次元環境内の第2のロケーションに移動させた後(1414b)、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットである(例えば、第2のオブジェクトは、第1のオブジェクトを受容及び/又は包含することができるオブジェクトなどの、第1のオブジェクトに対して有効なドロップターゲットである。いくつかの実施形態では、1つ以上の基準は、第1のオブジェクトが0.5、1、1.5、2、2.5、3、又は5cmなどの第2のオブジェクトの閾値距離内にあるときに満たされる基準を含む。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットでない場合、1つ以上の基準は満たされない)ため、1つ以上の基準が満たされるという判定に従って(1414c)、電子デバイスは、表示生成構成要素を介して、図13Bのバッジ1325などの、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであることを示す、第1のオブジェクト上にオーバーレイされた視覚的インジケータを表示する(1414d)(例えば、視覚的インジケータ(例えば、第1のオブジェクト上のバッジの表示などの、第1のオブジェクトの外観の変化)が表示されて、第2のオブジェクトが第1のオブジェクトを受容及び/又は包含することができることをユーザに示す)。いくつかの実施形態では、視覚的インジケータは、第1のオブジェクトが第2のオブジェクトに移動され、第2のオブジェクトにおいて維持された後、閾値時間量(例えば、0.5、0.7、0.9、1、1.5、又は2秒)表示される。いくつかの実施形態では、バッジは、第1の入力の終了を検出する前に(例えば、ピンチハンドジェスチャが保持され、三次元環境内の第2のロケーションにある第1のオブジェクトに向けられている間に)、任意選択的に表示される。いくつかの実施形態では、バッジは、任意選択的に、第1のオブジェクトの解放が第1のオブジェクトを第2のオブジェクトに追加することを示す記号又は文字(例えば、「+」記号)を含む。例えば、バッジは、任意選択的に、第1のオブジェクトの上隅に、又は縁部/境界に沿って表示される。
【0327】
いくつかの実施形態では、電子デバイスは、三次元環境内の第2のロケーションにおける第3のオブジェクトの生成を取り止める(1414e)(例えば、図13Cの仮想オブジェクト1317aの生成を取り止める)。例えば、第3のオブジェクト(例えば、クイックルックウィンドウ)は生成されず、第1のオブジェクトを包含する/表示するための三次元環境内の第2のロケーションに表示されない。いくつかの実施形態では、第1のオブジェクトは、第2のオブジェクトに追加され、(例えば、生成されていない)第3のオブジェクトには追加されない。オブジェクトが既存のオブジェクトに追加されることを示す視覚的インジケータを提供することは、既存のオブジェクトがオブジェクトの有効なドロップターゲットであることの発見を容易にし、かつ/又はオブジェクトを既存のオブジェクトに追加するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0328】
いくつかの実施形態では、1つ以上の基準は、仮想オブジェクト1307aが図13Aの仮想オブジェクト1304aの有効なドロップターゲットである(例えば、第1のオブジェクトが写真であり、第2のオブジェクトが、写真を第2のオブジェクト上に表示されたメッセージング会話に追加するために写真を追加することができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである)など、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットであるときに満たされる基準を含む(1416a)。
【0329】
いくつかの実施形態では、第1の入力が三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応するため、第1の入力に従って三次元環境内の第2のロケーションに第1のオブジェクトの表現を移動させた後、第1の入力の終了を検出したことに応じて(1416b)(例えば、第1のオブジェクトは、三次元環境内の第1のロケーションから離れて移動された後に三次元環境内の第2のロケーションに配置される)、いくつかの実施形態では、第1の入力の終了は、第2のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットであるために1つ以上の基準が満たされない(例えば、第2のオブジェクトが第1のオブジェクトを受容する及び/又は包含することができないために1つ以上の基準が満たされない)という判定に従って、ユーザの手によるピンチハンド形状の解放を検出することを含む(1416c)(例えば、ユーザの人差し指の先端がユーザの親指の先端から離れて、人差し指と親指がもはやタッチしていない)。例えば、第2のオブジェクトは、第1のオブジェクト(例えば、写真)を追加することができる入力フィールドを包含しないウェブブラウジングアプリケーションのウェブページである。代替的に、ウェブブラウジングアプリケーションのウェブページは、テキスト入力のみを受容するように構成され、したがって、写真を受容及び/又は包含することができない。いくつかの実施形態では、第1のオブジェクトは、1つ以上の基準が評価されるとき、0.5、1、1.5、2、2.5、3、又は5cmなどの第2のオブジェクトの閾値距離内にある。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトに対して有効なドロップターゲットである場合、1つ以上の基準が満たされ、電子デバイスは、図13Cに示すような仮想オブジェクト1309aにおける仮想オブジェクト1306aの表示を中止するなど、三次元環境内の第2のロケーションにおける第1のオブジェクトの表現(例えば、第2のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットであるため、第1のオブジェクトが三次元環境内の第2のロケーションにもはや表示されない場合の表現)の表示を中止する(1416d)。いくつかの実施形態では、第1のオブジェクトの表現は、三次元環境内の第1のロケーションに戻される(例えば、第1のオブジェクトが発生したオブジェクト及び/又はロケーションに戻される)。
【0330】
いくつかの実施形態では、電子デバイスは、三次元環境内の第2のロケーションでの第3のオブジェクトの生成を取り止める(1416e)(例えば、図13Cに示すような仮想オブジェクト1309aのロケーションでの図13Dの仮想オブジェクト1317aの生成を取り止める)。例えば、第3のオブジェクト(例えば、クイックルックウィンドウ)は生成されず、第1のオブジェクトを包含する/表示するための三次元環境内の第2のロケーションに表示されない。いくつかの実施形態では、第1のオブジェクトは、第2のオブジェクトに追加されず、(例えば、生成されていない)第3のオブジェクトに追加されない。個別のロケーションへのオブジェクトの移動後に個別のロケーションにある既存のオブジェクトがオブジェクトの無効なドロップターゲットであるときに新しいオブジェクトの生成を取り止めることは、既存のオブジェクトがオブジェクトの有効なドロップターゲットではないことの発見を容易にし、かつ/又はオブジェクトを三次元環境内の空き空間に、若しくはオブジェクトの有効なドロップターゲットである三次元環境内の別の既存のオブジェクトに移動させるためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0331】
いくつかの実施形態では、第1の入力が三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応するため、第1の入力に従って、かつ第2のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットである(例えば、第1の入力が第2のロケーションへの第1のオブジェクトの移動に対応したため、第1のオブジェクトが三次元環境内の第1のロケーションから離れて移動された後に三次元環境内の第2のロケーションに配置される。いくつかの実施形態では、第2のオブジェクトは、第1のオブジェクトを受容及び/又は包含することができないオブジェクトなど、第1のオブジェクトに対する無効なドロップターゲットである。)ため、1つ以上の基準が満たされないという判定に従って、第1のオブジェクトの表現を三次元環境内の第2のロケーションに移動させた後に、電子デバイスは、表示生成構成要素を介して、第2のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットであることを示す視覚的インジケータ(例えば、図13Bに示すバッジ1327の表示)を第1のオブジェクト上にオーバーレイして表示する(1418)。例えば、視覚的インジケータ(例えば、第1のオブジェクト上のバッジの表示などの第1のオブジェクトの外観の変化)が表示され、第2のオブジェクトが第1のオブジェクトを受容及び/又は包含することができないことをユーザに示す。いくつかの実施形態では、視覚的インジケータは、第1のオブジェクトが第2のオブジェクトに移動され、第2のオブジェクトにおいて維持された後、閾値時間量(例えば、0.5、0.7、0.9、1、1.5、又は2秒)表示される。いくつかの実施形態では、バッジは、第1の入力の終了を検出する前に(例えば、ピンチハンドジェスチャが保持され、三次元環境内の第2のロケーションにある第1のオブジェクトに向けられている間に)、任意選択的に表示される。いくつかの実施形態では、バッジは、任意選択的に、第1のオブジェクトの解放が第1のオブジェクトを第2のオブジェクトに追加しないことを示す記号又は文字(例えば、「X」)を含む。例えば、バッジは、任意選択的に、第1のオブジェクトの上隅に、又は縁部/境界に沿って表示される。オブジェクトが既存のオブジェクトに追加されないことを示す視覚的インジケータを提供することは、既存のオブジェクトがオブジェクトの無効なドロップターゲットであることの発見を容易にし、かつ/又はオブジェクトを空き空間に、若しくはオブジェクトの有効なドロップターゲットである三次元環境内の別の既存のオブジェクトに移動させるためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0332】
いくつかの実施形態では、第2のオブジェクトは、第2のオブジェクトがオブジェクトの有効なドロップターゲットであるときにオブジェクトを受信するための三次元ドロップゾーンを含み、ドロップゾーンは、第2のオブジェクトから三次元環境(1420)内のユーザの視点に向かって延在する(例えば、図13Bのドロップゾーン1318)。いくつかの実施形態では、第2のオブジェクトは、任意選択的に、オブジェクト(例えば、写真)を受容する及び/又は表示することができるコンテナである。例えば、第2のオブジェクトは、任意選択的に、メッセージングアプリケーションのユーザインタフェースであり、三次元ドロップゾーンは、第2のオブジェクト内に表示されたテキスト入力フィールド/メッセージング会話に追加するために写真をドロップすることができる、メッセージングアプリケーションのユーザインタフェース内のテキスト入力フィールドを任意選択的に含む。ドロップゾーンは、任意選択的に、写真が第2のオブジェクトの閾値距離(例えば、0.5、1、1.5、2、2.5、3、又は5cm)内に移動されたときに写真を受け取るために、第2のオブジェクトの表面から三次元環境内にユーザの視点に向かって延在する。いくつかの実施形態では、ドロップゾーンは、三次元環境に表示されない。例えば、第2のオブジェクトは、第1のオブジェクト(例えば、写真)を受信するための三次元ドロップゾーンを任意選択的に含むが、ドロップゾーンは、電子デバイスのユーザには見えない。オブジェクトのための有効なドロップターゲットであるドロップターゲットのためのボリュームドロップゾーンを提供することは、ドロップゾーン、したがってドロップターゲットにオブジェクトを追加するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0333】
いくつかの実施形態では、第1のオブジェクトが第1の入力に従って第2のオブジェクトのドロップゾーンに到達する前に、第1のオブジェクトは、図13Aの仮想オブジェクト1304aのサイズなどの、三次元環境内の第1のサイズを有する(1422a)(例えば、第1のオブジェクトは、任意選択的に、第2のオブジェクトのドロップゾーンに到達する直前の三次元環境内で、0.2、0.5、1、2、3、5、10、12、24、又は26cmなどの第1の幅、かつ0.2、0.5、1、2、3、5、10、12、24、又は26cmなどの第1の高さを有する写真である)。
【0334】
いくつかの実施形態では、第1の入力の一部として第1のオブジェクトの表現を第2のオブジェクトのドロップゾーン内に移動させたことに応じて、電子デバイスは、第1のサイズとは異なる(例えば、第1のサイズよりも小さい又は大きい)第2のサイズを有するように三次元環境内の第1のオブジェクトをサイズ変更する(1422b)(例えば、図13Bに示すようなドロップゾーン1318内の仮想オブジェクト1304aのサイズ変更)。いくつかの実施形態では、第2のオブジェクトは、任意選択的に、第1のオブジェクトを受容及び/又は表示することができるコンテナである。例えば、第2のオブジェクトは、任意選択的に、メッセージングアプリケーションのユーザインタフェースであり、任意選択的に、写真をドロップすることができるドロップゾーンを有する。いくつかの実施形態では、第1のオブジェクトが(例えば、三次元)ドロップゾーン内に移動されると、第1のオブジェクトは、三次元環境内でより小さいサイズを有するように(例えば、第2のオブジェクト及び/又は第2のオブジェクト内の要素内に収まるように)サイズ変更される。例えば、写真がメッセージングアプリケーションのユーザインタフェースの(例えば、テキスト)入力フィールド内に移動されると、写真は、(例えば、テキスト)入力フィールド内に収まるように、それぞれ第1の幅及び第1の長さよりも小さい第2の幅及び第2の長さを有するようにサイズ変更される。いくつかの実施形態では、オブジェクトがドロップゾーンに到達したときのオブジェクトのサイズ変更は、方法1000を参照して説明される特性のうちの1つ以上を有する。そのオブジェクトに対して有効なドロップターゲットであるドロップターゲットのドロップゾーン内のオブジェクトをサイズ変更することは、オブジェクトを視覚的ドロップゾーンに、したがってドロップターゲットに追加するためのユーザ入力を容易にし、かつ/又はドロップターゲットがそのオブジェクトに対して有効なドロップターゲットであるという発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0335】
いくつかの実施形態では、三次元環境は、三次元環境内の第4のロケーションに第5のオブジェクトを包含し、第5のオブジェクトは、図13Aに示すような仮想オブジェクト1304aを含む仮想オブジェクト1311aなどの第6のオブジェクトを包含する(1424a)(例えば、第5のオブジェクトは、任意選択的に、三次元環境内の第4のロケーションに第6のオブジェクトを表示するコンテナである)。第5のオブジェクトは、任意選択的に、ウェブブラウジングアプリケーションのウェブページであり、第6のオブジェクトは、任意選択的に、ウェブブラウジングアプリケーションのウェブページに表示される写真である。いくつかの実施形態では、第5のオブジェクトは、任意選択的にクイックルックウィンドウであり、その中に第6のオブジェクト(例えば、写真)が任意選択的に表示され、ユーザによる後の取り出しのために包含される。いくつかの実施形態では、三次元環境内の写真を包含するクイックルックウィンドウの表示は、任意選択的に一時的であり、クイックルックウィンドウから新しいロケーションへの(例えば、写真の有効なドロップターゲットである既存のオブジェクトへの)写真の移動は、写真を包含していたクイックルックウィンドウを閉じさせる。いくつかの実施形態では、クイックルックウィンドウは、写真の配置、表示、又は他の特性を制御するための1つ以上のコントロールと任意選択的に関連付けられる。いくつかの実施形態では、1つ以上のコントロールは、ツールバー内のクイックルックウィンドウの上方及び/又は上に任意選択的に表示される。いくつかの実施形態では、(例えば、ユーザの視線が第3のオブジェクトに向けられていることを検出したことに応じて)1つ以上のコントロールを包含するツールバーが三次元環境に表示されるための意図が必要とされる。
【0336】
いくつかの実施形態では、三次元環境内の第4のロケーションに第6のオブジェクトを包含する第5のオブジェクトを含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、三次元環境内の第2のロケーションに第5のオブジェクトを移動させる要求に対応する第2の入力、例えば、図13Aに示すような手1303aによる仮想オブジェクト1304aの移動(例えば、ユーザの視線が第5のオブジェクトに向けられている間の、ユーザの手の人差し指及び親指のピンチジェスチャであって、続いて、三次元環境内の第2のロケーションに向かう(例えば、第4のロケーションから離れて第2のロケーションにある第2のオブジェクトへの)ピンチされた手の形状の手の移動が続く、ピンチジェスチャ)を受信する(1424b)。いくつかの実施形態では、第2の入力の間に、ユーザの手は、第5のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい。いくつかの実施形態では、第2の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指と親指のピンチであって、ピンチされた手の形状の手を三次元環境内の第2のロケーションに向かっての移動が続く、ピンチである。いくつかの実施形態では、第2の入力は、方法800、1000、1200、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0337】
いくつかの実施形態では、第2の入力を受信したことに応じて(1424c)、(例えば、かつ第2のオブジェクトが第6のオブジェクトの有効なドロップターゲットであるという判定に従って。いくつかの実施形態では、第2のオブジェクトは、第6のオブジェクト(例えば、写真)を受容及び/又は表示することができるコンテナである。例えば、第2のオブジェクトは、任意選択的に、写真を追加することができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである。いくつかの実施形態では、第2のオブジェクトが第6のオブジェクトの有効なドロップターゲットではないという判定に従って、第6のオブジェクトは、第2のロケーションにある第2のオブジェクトに移動されず、第6のオブジェクトは、第5のオブジェクト内に包含及び/又は表示され続ける。)、第5のオブジェクトが個別の特性を有するという判定に従って(例えば、第5のオブジェクトがオブジェクト(例えば、第6のオブジェクト)を包含及び/又は表示するクイックルックウィンドウであるという判定に従って)(1424d)、電子デバイスは、図13Cの仮想オブジェクト1307a内の仮想オブジェクト1304aの表示など、三次元環境内の第2のロケーションにある第2のオブジェクトに第6のオブジェクトを追加する(1424e)(例えば、第6のオブジェクトを包含するための別のオブジェクトを生成することなく、例えば、第7のオブジェクトを生成することなく)。例えば、第2のオブジェクトは、三次元環境内で第6のオブジェクトを受信及び/又は表示する(例えば、第2のオブジェクトは、任意選択的に、第6のオブジェクト(例えば、写真)が第2のオブジェクト内に表示されたメッセージング会話に追加されたメッセージングアプリケーションのユーザインタフェースである)。
【0338】
いくつかの実施形態では、電子デバイスは、図13Cに示すように仮想オブジェクト1311aの表示を中止するなど、三次元環境内の第5のオブジェクトの表示を中止する(1424f)(例えば、三次元環境内で第6のオブジェクト(例えば、写真)を包含及び/又は表示していたクイックルックウィンドウは、第6のオブジェクトが第2のオブジェクトに追加された後に閉じられる/三次元環境にもはや存在しない)。それぞれのオブジェクトをドロップターゲットに追加した後に、それぞれのオブジェクトを包含するプレースホルダオブジェクトを閉じることは、空き空間内でオブジェクトを一時的に移動及び/又はドロップし、次いでオブジェクトをドロップターゲットに追加するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0339】
いくつかの実施形態では、第2の入力を受信したことに応じて(1426a)、(例えば、かつ第2のオブジェクトが第5のオブジェクトの有効なドロップターゲットであるという判定に従って。いくつかの実施形態では、第2のオブジェクトは、第5のオブジェクト及び/又は第6のオブジェクトを受容及び/又は表示することができるコンテナである。例えば、第5のオブジェクトは、任意選択的に写真である第6のオブジェクトを包含する及び/又は表示する画像フォルダ及び/又はユーザインタフェース及び/又はウィンドウであり、第2のオブジェクトは、任意選択的に、写真を含む画像フォルダ及び/又はユーザインタフェース及び/又はウィンドウを追加することができるテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである。いくつかの実施形態では、第2のオブジェクトが第6のオブジェクトの有効なドロップターゲットではないという判定に従って、第6のオブジェクトは、第2のロケーションにある第2のオブジェクトに移動されず、第6のオブジェクトは、第5のオブジェクト内に包含及び/又は表示され続ける。)第5のオブジェクトが個別の特性を有していないという判定に従って(1426b)(例えば、第5のオブジェクトが、オブジェクト(例えば、第6のオブジェクト)を包含及び/又は表示するクイックルックウィンドウではないという判定に従って。いくつかの実施形態では、第5のオブジェクトは、任意選択的に、第6のオブジェクト(例えば、写真)を包含及び/又は表示する任意選択的に画像フォルダ及び/又はユーザインタフェース及び/又はウィンドウである)、電子デバイスは、図13Dを参照して前述したように、第5のオブジェクトに包含される第6のオブジェクトを含む第5のオブジェクトを、三次元環境内の第2のロケーションにある第2のオブジェクトに追加する(1426c)(例えば、第5のオブジェクト及び第6のオブジェクトを包含するための別のオブジェクトを生成することなく、例えば、第7のオブジェクトを生成することなく)。例えば、第2のオブジェクトは、三次元環境内に第6のオブジェクトを包含する第5のオブジェクトを受信及び/又は表示する(例えば、第2のオブジェクトは、任意選択的に、第5のオブジェクト(例えば、第6のオブジェクト(例えば、写真)を含む画像フォルダ及び/又はユーザインタフェース及び/又はウィンドウ)が第2のオブジェクト内に表示されたメッセージング会話に追加されたメッセージングアプリケーションのユーザインタフェースである)。第1のオブジェクトと、第2のオブジェクトがドロップターゲットに追加されたときにドロップターゲット内に第1のオブジェクトを包含する第2のオブジェクトと、を表示することは、複数のネストされたオブジェクトを単一のドロップターゲットに追加するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0340】
いくつかの実施形態では、三次元環境は、三次元環境内の第4のロケーションに第5のオブジェクトを含み、第5のオブジェクトは、図13Aに示されるような仮想オブジェクト1304aを包含する仮想オブジェクト1311a及び/又は図13Dに示されるような仮想オブジェクト1306aを包含する仮想オブジェクト1317aなどの第6のオブジェクトを包含する(1428a)(例えば、第5のオブジェクトは、任意選択的に、三次元環境内の第4のロケーションに第6のオブジェクトを表示するコンテナである)。いくつかの実施形態では、第5のオブジェクトは、任意選択的にクイックルックウィンドウであり、その中に第6のオブジェクト(例えば、写真)が任意選択的に表示され、ユーザによる後の取り出しのために包含される。いくつかの実施形態では、三次元環境内の写真を包含するクイックルックウィンドウの表示は、任意選択的に一時的であり、クイックルックウィンドウから新しいロケーションへの(例えば、写真の有効なドロップターゲットである既存のオブジェクトへの)写真の移動は、写真を包含していたクイックルックウィンドウを閉じさせる。いくつかの実施形態では、クイックルックウィンドウは、写真の配置、表示、又は他の特性を制御するための1つ以上のコントロールと任意選択的に関連付けられる。いくつかの実施形態では、1つ以上のコントロールは、ツールバー内のクイックルックウィンドウの上方及び/又は上に任意選択的に表示される。いくつかの実施形態では、(例えば、ユーザの視線が第3のオブジェクトに向けられていることを検出したことに応じて)1つ以上のコントロールを包含するツールバーが三次元環境に表示されるための意図が必要とされる。
【0341】
いくつかの実施形態では、三次元環境内の第4のロケーションに第6のオブジェクトを包含する第5のオブジェクトを含む三次元環境を表示している間(1428b)、電子デバイスのユーザの視線(例えば、視線1321)が第5のオブジェクトに向けられているときに満たされる基準を含む1つ以上の第2の基準が満たされるという判定に従って(例えば、ユーザの手が第5のオブジェクトに向けられたユーザの手のピンチジェスチャ又は人差し指と親指のピンチハンド形状を実行しているかどうかに関係なく)、電子デバイスは、表示生成構成要素を介して、図13Dに示すようなツールバー1323の表示など、三次元環境内の第4のロケーションに第5のオブジェクトに関連付けられた1つ以上のインタフェース要素を表示する(1428c)(例えば、第5のオブジェクトは、任意選択的にクイックルックウィンドウであり、第5のオブジェクトに関連付けられた1つ以上のインタフェース要素は、任意選択的に、第6のオブジェクト(例えば、写真)の配置、表示、又は他の特性を制御するための1つ以上のコントロールである)。いくつかの実施形態では、1つ以上のインタフェース要素は、三次元環境内の第5のオブジェクトの上方及び/又は上に水平に表示される。いくつかの実施形態では、1つ以上のインタフェース要素は、三次元環境内の第5のオブジェクトの下に水平に、又は三次元環境内の第5のオブジェクトの側面に垂直に表示される。いくつかの実施形態では、1つ以上のコントロールは、三次元環境内で第5の及び第6のオブジェクトを移動させるためにユーザによって選択可能な「グラバーバー」を含む。いくつかの実施形態では、1つ以上のコントロールを表示することは、クイックルックウィンドウの外観が、クイックルックが包含するオブジェクト(例えば、第6のオブジェクト)と区別可能であるように、クイックルックウィンドウの境界/外縁部を表示することを含む。
【0342】
いくつかの実施形態では、1つ以上の第2の基準が満たされないという判定に従って(例えば、電子デバイスのユーザの視線が第5のオブジェクトに向けられていないという判定に従って)、電子デバイスは、図13Aに示すようなツールバー1323の表示を取り止めるなど、第5のオブジェクトに関連付けられた1つ以上のインタフェース要素の表示を取り止める(1428d)(例えば、第6のオブジェクト(例えば、写真)の配置、表示、又は他の特性を制御するための1つ以上のコントロールは、三次元環境内に表示されない。いくつかの実施形態では、クイックルックウィンドウをクイックルックウィンドウが包含するオブジェクト(例えば、第6のオブジェクト)と区別するクイックルックウィンドウの境界/外縁部は、三次元環境内に表示されない。)。視線に基づいて三次元環境内のオブジェクトに関連付けられたコントロールを表示することは、ユーザがオブジェクトを見ていないときに空間を消費することなく、コントロールのうちの1つ以上を使用してオブジェクトを操作するためのユーザ入力を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0343】
いくつかの実施形態では、1つ以上の第2の基準は、図13Dを参照して上述したように、電子デバイスのユーザの既定の部分が個別のポーズを有する(例えば、ユーザの頭部が第5のオブジェクトの少なくとも一部に向かって(例えば、クイックルックウィンドウの少なくとも一部(例えば、隅部、縁部、又は中間領域)に向かって)角度を付けられる/傾けられる/配向される、かつ/又はユーザの手が持ち上げられて、手の人差し指及び親指が互いに接触していないが互いの閾値距離(例えば、0.1、0.2、0.5、1、2、3、5、10、又は20cm)内にあるプレピンチハンド形状であるなど)ときに満たされ、電子デバイスのユーザの既定の部分が個別のポーズを有しない(例えば、ユーザの頭部が第5のオブジェクトに向かって角度を付けられない/傾けられない/配向されない、かつ/又はユーザの手が持ち上げられない及び/又はプレピンチハンド形状でないなど)ときに満たされない基準を含む(1430)。オブジェクトに関連付けられたコントロールの表示が意図的であることを必要とすることは、三次元環境内のオブジェクトに関連付けられたコントロールの意図しない表示を回避し、それによって、ユーザ-デバイス相互作用を改善し、コントロールとの偶発的な相互作用を回避する。
【0344】
いくつかの実施形態では、第1の入力を受信したことに応じて(1432a)、第1の入力が、図13Cに示すような手1305cによる仮想オブジェクト1306aの移動などの、オブジェクトを含まない三次元環境内の第3のロケーションへの第1のオブジェクトの移動に対応するという判定に従って(例えば、手の移動は、三次元環境内の第3のロケーションへの第1のオブジェクトの移動に対応し、第3のロケーションは、任意選択的に、三次元環境内の「空の」空間に対応する)。いくつかの実施形態では、手の移動は、代替的に、オブジェクトを含むロケーションへの第1のオブジェクトの移動に対応するが、オブジェクトは、第1のオブジェクトの有効なドロップターゲットではない(例えば、オブジェクトは、第1のオブジェクトを包含する、受容及び/又は表示することができるオブジェクトではない)。いくつかの実施形態では、任意選択的に写真である第1のオブジェクトは、個別の特性を有するオブジェクト内の三次元環境内に表示される(例えば、写真はクイックルックウィンドウ内に表示される)。)、第1のオブジェクトは、図13Dに示すようなグラバー又はハンドルバー1315の表示などの、三次元環境内で第1のオブジェクトを移動させるための第1のオブジェクトに関連付けられた第1の個別のユーザインタフェース要素とともに第3のロケーションに表示される(1432b)(例えば、第1の個別のユーザインタフェース要素は、第1のオブジェクト(例えば、写真)を三次元環境内の個別のロケーションに移動させるために選択可能であるように構成されたグラバー又はハンドルバーである)。いくつかの実施形態では、グラバー又はハンドルバーは、第1のオブジェクトの下に表示される。いくつかの実施形態では、グラバー又はハンドルバーは、第1のオブジェクトの上/上方、又は側面に表示される。いくつかの実施形態では、グラバー又はハンドルバーに向けられた/向けられたユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチされた手の形状での手の移動が続く、ピンチジェスチャが、任意選択的に、第1のオブジェクトを三次元環境内の個別のロケーションに向かって移動させる。第1のオブジェクトが三次元環境内の第3のロケーションにあるクイックルックウィンドウ内に表示されるいくつかの実施形態では、グラバー又はハンドルバーは、クイックルックウィンドウ、したがって第1のオブジェクトを三次元環境内の個別のロケーションに移動させるために、クイックルックウィンドウの一部として(例えば、クイックルックウィンドウの下部/縁部に、又はそれに沿って)表示される。
【0345】
いくつかの実施形態では、その第1の入力が、図13Aに示されるような手1303aによる仮想オブジェクト1304aの移動などの三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応する(例えば、手の移動が、三次元環境内の第2のロケーションにおける第2のオブジェクトへの/第2のオブジェクトに向かう第1のオブジェクトの移動に対応する)という判定に従って、かつ1つ以上の基準が満たされる(例えば、第2のオブジェクトが、第1のオブジェクトを受容及び/又は包含することができるオブジェクトなどの第1のオブジェクトに対する有効なドロップターゲットである。例えば、第2のオブジェクトは、任意選択的に、写真をドロップして第2のオブジェクトに表示されたメッセージング会話に追加することができるテキスト入力フィールドを含む、メッセージングアプリケーションのユーザインタフェースである。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの有効なドロップターゲットでない場合、1つ以上の基準は満たされない。)という判定に従って、第1のオブジェクトは、三次元環境において第1のオブジェクトを移動させるために、第1のオブジェクトに関連付けられた第1の個別のユーザインタフェース要素なしに第2のロケーションに表示され(1432c)、例えば、図13Cに示されるように、グラバー又はハンドルバー1315なしに、仮想オブジェクト1307a内の仮想オブジェクト1304aの表示である(例えば、第1のオブジェクトは、入力に従って、三次元環境における第1のロケーションから三次元環境における第2のロケーションに移動され、第2のロケーションは、第2のオブジェクトを含む)。例えば、第2のオブジェクトは、三次元環境内で第1のオブジェクトを受信及び/又は表示する(例えば、第2のオブジェクトは、任意選択的に、第1のオブジェクト(例えば、写真)がドロップされ、第2のオブジェクトに表示されたメッセージング会話に追加されたテキスト入力フィールドを含むメッセージングアプリケーションのユーザインタフェースである)。いくつかの実施形態では、第2のオブジェクト内に表示される第1のオブジェクトは、第1のオブジェクト(例えば、写真)を三次元環境内の個別のロケーションに移動させるために選択可能であるように構成される、グラバー又はハンドルバーを用いて表示されない。例えば、第1のオブジェクトがクイックルックウィンドウではないオブジェクト(例えば、第2のオブジェクト)内に表示されるため、グラバー又はハンドルバーは任意選択的に表示されない。いくつかの実施形態では、第1のオブジェクトではなく第2のオブジェクトが、三次元環境内で第2のオブジェクトを移動させるためのそれ自体のグラバーバーとともに表示される。いくつかの実施形態では、グラバー又はハンドルバーの選択は、第1のオブジェクトの移動のために必要としないが、それでもなお、第1のオブジェクトが三次元環境内の他のオブジェクトから独立して移動され得ることを示す。例えば、必ずしもグラバー又はハンドルバーではなく、第1のオブジェクト自体に向けられた移動入力は、任意選択的に、三次元環境内の第1のオブジェクトの移動に十分である。いくつかの実施形態では、グラバー又はハンドルバーは、第1のオブジェクトの選択及び/又は移動に応じて外観を変化させ(例えば、薄くなる、又は半透明になる、又はより低いコントラストで表示されるなど)、かつ/又は第1のオブジェクト及び/又はグラバーが(例えば、第1のオブジェクトのその後の移動のために)選択可能であることを示すために第1のオブジェクトの閾値距離(例えば、0.1、0.3、0.5、1、2、3、5、10、20、50、又は100cm)内に移動するユーザの手に応じて外観を変化させる(例えば、より薄くなる、又はより半透明になる、又はより不透明になる、又はより高いコントラストで表示されるなど)。いくつかの実施形態では、グラバー又はハンドルバーは、第1のオブジェクトのための管理コントロール(例えば、上述の1つ以上のインタフェース要素)を第1のオブジェクトのために表示するように選択可能である(例えば、第1のオブジェクトを最小化するために選択可能な最小化ツール、第1のオブジェクトを別のユーザと共有するために選択可能な共有ツール、第1のオブジェクトを閉じるために選択可能な閉じるツールなど)。オブジェクトを包含するプレースホルダオブジェクトのためのグラバーを表示することは、三次元環境内でプレースホルダオブジェクト及びオブジェクトを移動させるためのユーザ入力を容易にし、かつ/又はオブジェクトを包含するプレースホルダオブジェクトを三次元環境内で移動させることができるという発見を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0346】
いくつかの実施形態では、図13Aに示すようなグラバー又はハンドルバー1315を有する仮想オブジェクト1304aの表示など、三次元環境内で第1の個別のオブジェクトを移動させるために、第1の個別のオブジェクトに関連付けられた第1の個別のユーザインタフェース要素を有する第3のロケーションに第1のオブジェクトを表示している間(例えば、第1のオブジェクトは、三次元環境内の第3のロケーションにあるクイックルックウィンドウ内に包含及び/又は表示される写真である。いくつかの実施形態では、写真は、任意選択的に三次元環境内の「空の」空間に対応する第3のロケーションに移動されてドロップされた後、クイックルックウィンドウ内に表示される。いくつかの実施形態では、第1の個別のユーザインタフェース要素は、第1のオブジェクトを包含するクイックルックウィンドウを移動させるために選択可能であるように構成されたグラバー又はハンドルバーである。例えば、グラバー又はハンドルバーは、クイックルックウィンドウ、したがって第1のオブジェクトを三次元環境内の個別のロケーションに移動させるために、クイックルックウィンドウの一部として(例えば、クイックルックウィンドウの下部/縁部に、又はそれに沿って)表示される。いくつかの実施形態では、ハンドルバー又はグラバーバーを使用したクイックルックウィンドウの移動は、クイックルックウィンドウの移動と同時に第1のオブジェクト(例えば、写真)の移動を引き起こす)、電子デバイスは、1つ以上の入力デバイスを介して、図13Aに示すような手1303aによる仮想オブジェクト1304aの移動(例えば、ユーザの視線が第1のオブジェクト、クイックルックウィンドウ、かつ/又はクイックルックウィンドウのグラバーバーに向けられている間に、第1のオブジェクト及び/又は第1の個別のユーザインタフェース要素(例えば、グラバー/ハンドルバー)に向けられた/向かうユーザの手の人差し指及び親指のピンチジェスチャであって、三次元環境内の個別のロケーションに向かう(例えば、第3のロケーションから離れる)ピンチされた手の形状の手の移動が続く、ピンチジェスチャ)などの、三次元環境内で第1のオブジェクトを移動させる要求に対応する第2の入力を受信する(1434a)。いくつかの実施形態では、第2の入力の間、ユーザの手は、第1のオブジェクト及び/又はグラバー/ハンドルバーから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい。いくつかの実施形態では、第1の個別のユーザインタフェース要素又は第1のオブジェクトのいずれかに向けられたピンチジェスチャは、三次元環境内の個別のロケーションへの第1のオブジェクトの移動のために、第1のオブジェクト及び/又は第1のオブジェクトを包含するクイックルックウィンドウの選択をもたらす。いくつかの実施形態では、第2の入力は、ユーザの手が第1の個別のユーザインタフェース要素及び/又は第1のオブジェクトから閾値距離未満であるときに、ユーザの視線のロケーションにかかわらず、ユーザの手の人差し指と親指ピンチであって、ピンチされた手の形状の手を三次元環境内の個別のロケーションに向かっての移動が続く、ピンチである。いくつかの実施形態では、第2の入力は、方法800、1000、1200、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0347】
いくつかの実施形態では、第2の入力を受信している間(1434b)、電子デバイスは、図13Cに示すように、グラバー又はハンドルバー1315の表示を中止するなど、第1の個別のユーザインタフェース要素の表示を中止する(1434c)(例えば、第1のオブジェクトを包含するクイックルックウィンドウが三次元環境内の個別のロケーションに向かって移動されると、グラバー又はハンドルバーはもはや三次元環境内に表示されない。いくつかの実施形態では、ユーザの手の人差し指及び親指のピンチジェスチャがグラバー又はハンドルバーに向けられているかどうかにかかわらず、グラバー又はハンドルバーはもはや表示されない(例えば、ピンチジェスチャが第1のオブジェクトに向けられており、グラバー/ハンドルバーに向けられていない場合でも、グラバー/ハンドルバーはもはや三次元環境に表示されない。))。
【0348】
いくつかの実施形態では、電子デバイスは、図13Bに示すような仮想オブジェクト1304aの移動など、第2の入力に従って三次元環境内の第1のオブジェクトの表現を移動させる(1434d)(例えば、写真を包含する及び/又は表示するクイックルックウィンドウは、三次元環境内で個別のロケーションに移動される。いくつかの実施形態では、クイックルックウィンドウが写真を包含するため、写真はクイックルックウィンドウと同時に移動される。)。オブジェクトが三次元環境内で移動されているときにオブジェクトのグラバーバーの表示を中止することは、オブジェクトが三次元環境内で移動されるときにグラバーバーがユーザの視野を遮ることを防止し、それによってユーザ-デバイス相互作用を改善する。
【0349】
いくつかの実施形態では、三次元環境は、図13Aの仮想オブジェクト1306aなどの三次元環境内の第4のロケーションにおける第3のオブジェクトを含む(1436a)(例えば、第3のオブジェクトは、任意選択的に、第1のオブジェクトを受容及び/又は表示することができるコンテナではない。第3のオブジェクトは、任意選択的に、1つ以上のオブジェクト(例えば、画像、テキストなど)を表示するウェブブラウジングアプリケーションのウェブページであるが、第1のオブジェクト(例えば、写真)を受容及び/又は包含するようには構成されていない。)。
【0350】
いくつかの実施形態では、三次元環境内の第2のロケーションに第1のオブジェクトを包含する第2のオブジェクトと、三次元環境内の第4のロケーションに第3のオブジェクトと、を含む三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、三次元環境内の第2のロケーションで第1のオブジェクトを第2のオブジェクトから離れるように移動させる要求に対応する第2の入力の第1の部分であって、図13Aに示すような手1305aによる仮想オブジェクト1306aの移動などの第2の入力の第2の部分が続く、第1の部分を含む第2の入力を受信する(1436b)(例えば、ユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手の人差し指及び親指のピンチジェスチャが第2のオブジェクト内の第1のオブジェクトに向けられ/向けられ、続いて、ピンチされた手の形状の手が三次元環境内の個別のロケーションに向かって(例えば、第2のロケーションから離れて)移動が続く)。例えば、第2の入力の第1の部分は、任意選択的に、第1のオブジェクトを第2のオブジェクトから離れるように移動させ、第1の部分の後の第2の入力の第2の部分は、任意選択的に、第1のオブジェクトを三次元環境内の個別のロケーションに移動させる。いくつかの実施形態では、第2の入力の間に、ユーザの手は、第2のオブジェクトに包含される第1のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい。いくつかの実施形態では、第2の入力は、ユーザの手が第1のオブジェクトから閾値距離未満であるときのユーザの視線のロケーションにかかわらず、ユーザの手の人差し指及び親指のピンチであって、三次元環境内の個別のロケーションに向かうピンチされた手の形状の手の移動が続く、ピンチである。いくつかの実施形態では、第2の入力は、方法800、1000、1200、1600、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0351】
いくつかの実施形態では、第2の入力の第1の部分を受信している間に、電子デバイスは、図13Bに示すような仮想オブジェクト1306aの移動など、第2の入力の第1の部分に従って、第1のオブジェクトの表現を三次元環境内の第2のロケーションにある第2のオブジェクトから離れるように移動させ(1436c)(例えば、第1のオブジェクトは、三次元環境内の第2のロケーションにある第2のオブジェクトから除去され(例えば、ユーザの視点に向かって移動され)、その後、ユーザの手の人差し指及び親指のピンチジェスチャに続いて移動される。第2のオブジェクトは、任意選択的に写真である第1のオブジェクトを含むメッセージング会話を表示するメッセージングアプリケーションの任意選択的にユーザインタフェースであり、第2の入力の第1の部分は、任意選択的に、メッセージング会話から写真の表現を除去する)。
【0352】
いくつかの実施形態では、図13Bに示すように、手1305bによる仮想オブジェクト1306aの解放など、第2の入力の第2の部分の終了を検出したことに応じて(例えば、ユーザの手がピンチハンド形状を解放した(例えば、ユーザの手の人差し指と親指が互いに離れる)ことを検出するなど、三次元環境内の個別のロケーションへの第1のオブジェクトの移動の終了を検出したことに応じて)(1436d)、第2の入力の第2の部分が三次元環境内の第4のロケーションへの第1のオブジェクトの移動に対応し、仮想オブジェクト1309aが図13Bの仮想オブジェクト1306aの無効なドロップターゲットであるなど、第3のオブジェクトが第1のオブジェクトの有効なドロップターゲットではないために1つ以上の第2の基準が満たされないという判定に従って(例えば、第2の入力の第2の部分は、任意選択的に、第1のオブジェクト(例えば、写真)を、任意選択的に第1のオブジェクトを包含及び/又は受容することができるコンテナではない三次元環境内の第4のロケーションにある第3のオブジェクトに移動させる。第3のオブジェクトは、任意選択的に、写真を受容することができないウェブブラウジングアプリケーションのウェブページである。)、電子デバイスは、図13Cに示すような仮想オブジェクト1313a内の仮想オブジェクト1306aの表示など、三次元環境内の第2のロケーションにおける第2のオブジェクト内の第1のオブジェクトの表示を維持する(1436e)(例えば、第1のオブジェクトは、第3のオブジェクトに追加されず、かつ/又は第3のオブジェクト内に表示されない)。いくつかの実施形態では、第1のオブジェクトの表現は、第2のオブジェクト(例えば、元のオブジェクト)に戻り、三次元環境内の第2のロケーションにおける第2のオブジェクト内に表示される。例えば、写真は、第2の入力が検出される前に表示されていた、第2のオブジェクト内に表示されたメッセージング会話内の同じロケーションに表示されたままである。
【0353】
いくつかの実施形態では、第2の入力の第2の部分が三次元環境内の第2のロケーションへの第1のオブジェクトの移動に対応するという判定に従って、図13Dを参照して上述したように(例えば、第2の入力の第1の部分が第2のオブジェクトから第1のオブジェクトの表現を除去した後に、第2の部分は、第1のオブジェクトの表現を第2のオブジェクト(例えば、元のオブジェクト)に戻す。第2のオブジェクトは、任意選択的に、第1のオブジェクトが第2のオブジェクトから除去された後であっても、第1のオブジェクトを受容及び/又は包含することができるコンテナである。)、電子デバイスは、図13Cに示すような仮想オブジェクト1313a内の仮想オブジェクト1306aの表示など、三次元環境内の第2のロケーションにある第2のオブジェクト内の第1のオブジェクトの表示を維持する(1436f)(例えば、第1のオブジェクトは、新しいオブジェクトとして第2のオブジェクトに追加及び/又は表示されないが、元の第1のオブジェクトとして第2のオブジェクト内に表示される)。写真は、任意選択的に、メッセージング会話内の元のロケーション(例えば、第2の入力の第1の部分の前)に維持され、写真を包含する新しいメッセージとしてメッセージング会話に追加されない。三次元環境内の(例えば、三次元環境内の空き空間への、又はドロップターゲットへの)オブジェクトの移動をキャンセルするための機能を提供することは、もはや所望されないオブジェクトの移動を回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0354】
方法1400における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0355】
図15A図15Dは、いくつかの実施形態による、三次元環境内の複数の仮想オブジェクトの移動及び/又は配置を容易にする電子デバイスの例を示す。
【0356】
図15Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、電子デバイス101のユーザの視点からの三次元環境1502を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。
【0357】
図15Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境1502内の物理的環境の表現を表示する。例えば、三次元環境1502は、任意選択的に物理的環境内の物理的テーブルの表現であるテーブルの表現1522を含み、三次元環境1502は、物理的環境内でデバイス101が配置されるか又は置かれるテーブルの一部を含む。三次元環境1502は、デバイス101が配置されている部屋の物理的な床及び後壁の表現も含む。
【0358】
図15Aでは、三次元環境1502はまた、仮想オブジェクト1506a、1506b、かつ1506Lを含む。仮想オブジェクト1506a、1506b、かつ1506Lは、任意選択的に、アプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース、コンテンツブラウジングユーザインタフェースなど)、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、又はデバイス101の物理的環境に含まれないデバイス101によって表示される任意の他の要素のうちの1つ以上である。図15Aにおいて、仮想オブジェクト1506aは、二次元オブジェクトであり、仮想オブジェクト1506b及び1506Lは、三次元オブジェクトである。
【0359】
いくつかの実施形態では、デバイス101のユーザは、三次元環境1502内の1つ以上の仮想オブジェクトを移動させるために、デバイス101に入力を提供することができる。例えば、ユーザは、任意選択的に、ユーザの第1の手(例えば、右手)を使用して、ユーザの他方の手(例えば、左手)の移動に基づいて三次元環境1502内で一緒に移動させられる1つ以上のオブジェクトの集合に1つ以上のオブジェクトを追加するための入力を提供することができる。具体的には、いくつかの実施形態では、手1503bがオブジェクト1506Lから閾値距離(例えば、0.1、0.3、0.5、1、3、5、10、20、30、又は50cm)よりも近い間に手1503bによって行われるピンチジェスチャ(例えば、親指と人差し指の先端が一緒になってタッチする)、かつその後の手1503bによるピンチハンド形状の維持(例えば、親指と人差し指の先端がタッチしたままである)に応じて、デバイス101は、ピンチハンド形状を維持している間に、手1503bの移動に従って三次元環境1502内でオブジェクト1506Lを移動させる。いくつかの実施形態では、オブジェクト1506Lの移動を制御するための入力は、代わりに、ユーザの視線1508がオブジェクト1506Lに向けられている間に手1503bがオブジェクト1506Lから閾値距離よりも遠い間に手1503bによって実行されるピンチジェスチャ、かつ手1503bによるピンチハンド形状の後続の維持である。次いで、オブジェクト1506Lの移動は、任意選択的に、ピンチハンド形状を維持している間に、手1503bの移動から生じる。
【0360】
追加の仮想オブジェクトが、手1503bによって制御されている仮想オブジェクト(単数又は複数)の集合に追加され得る。例えば、手1503bがオブジェクト1506Lを制御している間に、ユーザの視線1508がオブジェクト1506bに向けられている間に手1503aによって実行されるピンチジェスチャであって、ピンチジェスチャの解放(例えば、親指と人差し指の先端が離れて移動すること)が続く、ピンチジェスチャのデバイス101による検出は、任意選択的に、デバイス101に、三次元環境1502内でオブジェクト1506bをオブジェクト1506Lの近くに/オブジェクト1506Lに近接して/オブジェクト1506Lに隣接して移動させ、その結果、ここで、手1503bがピンチハンド形状を維持している間に、オブジェクト1506bとオブジェクト1506Lの両方が、手1503bの移動に従って三次元環境1502内で一緒に移動される。いくつかの実施形態では、手1503bによって制御されている仮想オブジェクトの集合にオブジェクトを追加することは、手1503bの一部(例えば、人差し指の先端と親指との間のピンチポイント)に対する集合内の既存の仮想オブジェクト(単数又は複数)の相対ポジション(単数又は複数)を変化させ、その結果、手の一部は、仮想オブジェクトの集合内で中心に置かれたままである(又は相対的に中心に置かれるか、又は別の既定の相対ポジションを有する)。
【0361】
図15Aでは、オブジェクト1506L及び1506bは、前述のように、両方とも手1503bによって制御されている。いくつかの実施形態では、2つ以上(又は0、2、3、5、7、又は10などの別の閾値よりも多い)のオブジェクトが手1503bによって制御されているとき、デバイス101は、三次元環境1502において、手1503bによって制御されているオブジェクトの数のインジケーション1510を表示する。インジケーション1510は、任意選択的に、手1503bによって制御されているオブジェクトのうちの1つの既定の部分(例えば、右上部分)上、手1503bによって制御されているオブジェクトのうちの1つを囲むバウンディングボックス若しくはボリュームの境界上、又は手1503bによって制御されている複数の(例えば、全ての)オブジェクトを囲むバウンディングボックス若しくはボリュームの境界上に表示される。いくつかの実施形態では、バウンディングボックス又はボリュームは、三次元環境1502内に表示されず、いくつかの実施形態では、バウンディングボックス又はボリュームは、三次元環境1502内に表示される。インジケーション1510及び/又はインジケーション1510の配置についての更なる詳細は、方法1600を参照して提供される。
【0362】
図15Aにおいて、デバイス101は、手1503bによって制御されているオブジェクトの集合に別のオブジェクト(オブジェクト1506a)を追加するための入力を検出する。例えば、デバイス101は、ユーザの視線1508がオブジェクト1506aに向けられている間、かつ手1503bがオブジェクト1506L及び1506bを制御している間に、手1503aがピンチアンドリリースジェスチャを実行することを検出する。これに応じて、デバイス101は、図15Bに示すように、手1503bによって制御されているオブジェクトの集合にオブジェクト1506aを追加する。図15Bでは、手1503bは、現在、オブジェクト1506L、1506b、かつ1506aを制御している。いくつかの実施形態では、デバイス101が、手1503bによって制御されているオブジェクトのスタックにオブジェクトを追加するとき、デバイス101は、オブジェクトのスタック内の他のオブジェクトの寸法に対応するように、追加されたオブジェクトをスケーリングし(例えば、そのオブジェクトがスタック内に残っている間に)、オブジェクトのスタックに追加されたオブジェクトのスケーリングに関する追加の詳細は、方法1600を参照して提供される。図15Bでは、手1503bも図15Aに対して移動しており、したがって、オブジェクト1506L、1506b、かつ1506aは、三次元環境1502内の新しいロケーションに一緒に移動している。更に、デバイス101は、手1503bによって制御されている3つのオブジェクトが現在存在することを示すようにインジケーション1510を更新している。
【0363】
いくつかの実施形態では、手1503bによって制御されている三次元オブジェクトは、三次元オブジェクトがスタックに追加された後にいくつかの二次元オブジェクトがスタックに追加された場合でも、手1503bによって制御されているオブジェクトのスタックの一番上(例えば、ユーザの視点に最も近い)に表示される。通常、いくつかの実施形態では、より最近追加されたオブジェクトは、スタックの上部のより近くに表示され、それほど最近追加されていないオブジェクトは、スタックの下部のより近く(例えば、ユーザの視点から最も遠く)に表示される。しかしながら、三次元オブジェクトは、任意選択的に、それらがスタックに追加された順序とは無関係にスタックの最上部に昇格される。ただし、いくつかの実施形態では、三次元オブジェクトは、それら自体の中でスタックに追加された最近性に基づいて順序付けられ、二次元オブジェクトは、それら自体の中でスタックに追加された最近性に基づいて順序付けられる。このため、図15Bに示すように、手1503bで制御されているオブジェクトのスタックにおいて、三次元オブジェクトであるオブジェクト1506L、1506bの背後に、二次元オブジェクトであるオブジェクト1506aが追加される。更に、いくつかの実施形態では、オブジェクト1506L及び1506bの底部平面又は表面(例えば、三次元環境1502内の床に向かって配向されるそれらのオブジェクトの平面又は表面)は、オブジェクト1506aに垂直又は実質的に垂直である。いくつかの実施形態では、インジケーション1510は、手1503bによって制御されているスタック内の一番上のオブジェクトの既定の部分(例えば、右上部分)上に、又は手1503bによって制御されているスタック内の一番上のオブジェクトを囲むバウンディングボックス若しくはボリュームの境界上に表示される。
【0364】
図15Cにおいて、手1503bは、現在、オブジェクト1506L及び1506a~fを制御している。例えば、図15Bに関して、デバイス101は、任意選択的に、手1503bによって制御されているオブジェクトのスタックにオブジェクト1506c~fを追加するための、前述のような1つ以上の入力を検出している。手1503bも図15Bに対して移動しており、したがって、オブジェクト1506L、1506a~fは、三次元環境1502内の新しいロケーションに一緒に移動している。更に、デバイス101は、手1503bによって制御されている7つのオブジェクトが現在存在することを示すようにインジケーション1510aを更新している。追加的に、手1503bによって制御されているオブジェクトのスタックが2つ以上の二次元オブジェクトを含むとき、二次元オブジェクトは、オブジェクト1506a及び1506c~fについて示されるように、オブジェクトがオブジェクトのスタック内のポジションのシーケンスに沿って互いに対してユーザの視点の軸線を中心に回転されるように、上から下にファンアウト方式で任意選択的に配置される。更に、オブジェクト1506a及び1506c~fは、任意選択的に互いに平行であり、かつ/又は任意選択的に互いに接触している(又は0.01、0.05、0.1、0.3、0.5、1、2、3、5、10、20、30、又は50cmなどの互いからの少量の分離を有する)。
【0365】
図15Cはまた、オブジェクト1506g~kのスタックを制御する手1503cを示す。いくつかの実施形態では、手1503cは、手1503bと同じ手であるが、手1503bを参照して示されるものとは異なる時間にデバイス101によって検出される。いくつかの実施形態では、手1503cは、手1503bとは異なる手であり、手1503bを参照して示されるものと同時に検出されるか、又は手1503bを参照して示されるものとは異なる時間に検出される。仮想オブジェクト1506mは、任意選択的に、1つ以上の仮想オブジェクトのドロップターゲットである(例えば、それらの1つ以上の仮想オブジェクトをオブジェクト1506mに追加することができる)。例えば、オブジェクト1506mは、任意選択的に、メッセージングアプリケーションのユーザインタフェースであり、その中に仮想オブジェクトを追加して、オブジェクト1506mによって表示及び/又は容易にされているメッセージング会話にそれらの仮想オブジェクトを追加することができる。図15Cでは、手1503cが、オブジェクト1506g~kのスタックをオブジェクト1506mの上に移動させている。いくつかの実施形態において、オブジェクト1506g~kのスタックがオブジェクト1506mの上に移動されたことに応じて、デバイス101は、オブジェクト1506g~kのスタックとともに表示されるインジケーション1510bを更新して、スタックに含まれるオブジェクトの総数を示すのではなく、むしろ、オブジェクト1506mが有効なドロップターゲットであるスタック内のオブジェクトの総数を示す。したがって、図15Cでは、デバイス101は、オブジェクト1506mがオブジェクト1506g~kのスタック内の2つのオブジェクトに対して有効なドロップターゲットであることを示すようにインジケーション1510bを更新しており、したがって、オブジェクト1506mは、任意選択的に、オブジェクト1506g~kのスタック内の残りの5つのオブジェクトに対して有効なドロップターゲットではない。方法1600を参照して以下でより詳細に説明するように、スタックがオブジェクト1506mの上/上方にある間に、手1503cがオブジェクト1506g~kのスタックをドロップするための入力(例えば、ピンチハンド形状の解放)を提供する場合、スタック内のオブジェクトのうちの2つのみが任意選択的にオブジェクト1506mに追加され、スタック内の他のオブジェクトは追加されない。
【0366】
いくつかの実施形態では、デバイス101は、オブジェクトが別のオブジェクト(例えば、ドロップターゲット)にドロップされるのではなく、空き空間(例えば、いかなる仮想オブジェクト及び/又は物理オブジェクトも包含しない)にドロップされるときに、それらのオブジェクトを三次元環境1502に異なるように配置する。例えば、図15Dにおいて、デバイス101は、手1503bがオブジェクト1506a~f及び1506Lを三次元環境1502内の空き空間に(例えば、ピンチハンド形状の解放を介して)ドロップしたことを検出している。ドロップ入力に応じて、オブジェクト1506a~f及び1506Lは、デバイス101上に、かつ図15Dのオブジェクト1506a’~f’及び1506L’(それぞれオブジェクト1506a~f及び1506Lに対応する)を含む三次元環境1502の俯瞰図に示すように、任意選択的に、三次元環境1502内で螺旋パターンで分散及び/又は離間される。いくつかの実施形態では、デバイス101は、オブジェクト1506a~f及び1506Lを、それらのオブジェクトが手1503bによって制御されているオブジェクトのスタックに追加される前及び/又は追加されたときにそれらのオブジェクトが有していたそれぞれのサイズに再スケーリングする。デバイス101はまた、任意選択的に、インジケーション1510aの表示を中止する。(例えば、ユーザの視点に最も近い)螺旋パターンの先端は、任意選択的に、ピンチハンド形状が解放されたときの手1503bのピンチポイントに対応する三次元環境1502内のロケーション(例えば、親指及び人差し指がタッチしていたときの親指の先端と人差し指の先端との間のポイントに対応するロケーション)によって定義され、いくつかの実施形態では、スタックの最上部にあったオブジェクト(例えば、オブジェクト1506b)は、そのロケーションに配置される。スタック内の残りのオブジェクトは、任意選択的に、ユーザの視点からの距離に応じて任意選択的に広くなる螺旋パターンに従って、水平方向及び/又は垂直方向により大きい量だけ扇形に広がりながら、ユーザの視点からの連続的により大きい距離に配置される。
【0367】
更に、残りのオブジェクトは、任意選択的に、オブジェクトのスタック内のそれらのオブジェクトのポジションに従って、(例えば、ユーザの視点からますます遠くに)螺旋パターンで配置される。例えば、オブジェクト1506Lは、任意選択的にスタック内の2番目に高いオブジェクトであり、任意選択的に螺旋パターンに従ってオブジェクト1506bの背後に配置される。オブジェクト1506a、c、d、e、fは、任意選択的に、スタック内のその後に順序付けられたオブジェクトであり、それらは、任意選択的に、螺旋パターンに従って、ユーザの視点からますます遠い距離でオブジェクト1506Lの背後に順次配置される。ユーザの視点の軸に沿った螺旋パターン内のオブジェクト1506L及び1506a~fの分離は、任意選択的に、オブジェクトがオブジェクトのスタック内に配置されたときにユーザの視点の軸に沿ってオブジェクトが互いに有していた分離よりも大きい。ドロップされたオブジェクトを螺旋パターンに従って配置することは、任意選択的に、ユーザに対するオブジェクトの可視性を容易にし、それによって、オブジェクトがドロップされた後のオブジェクトとの個々の相互作用を可能にする。
【0368】
図15Dにおいて、デバイス101は、追加的に又は代替的に、手1503cがオブジェクト1506g~kをオブジェクト1506m内に(例えば、ピンチハンド形状の解放を介して)ドロップしたことを検出している。ドロップ入力に応じて、オブジェクト1506j~kはオブジェクト1506mに追加されており(例えば、オブジェクト1506mがオブジェクト1506j~kの有効なドロップターゲットであるため)、オブジェクト1506g~iはオブジェクト1506mに追加されていない(例えば、オブジェクト1506mがオブジェクト1506g~iの有効なドロップターゲットではないため)。有効及び無効なドロップターゲットに関する追加の詳細は、方法1600を参照して提供される。デバイス101はまた、任意選択的に、インジケーション1510bの表示を中止する。オブジェクト1506mが有効なドロップターゲットではないオブジェクト1506g~iは、それらのオブジェクトが手1503cによって制御されているオブジェクトのスタックに追加される前及び/又は追加されたときにオブジェクト1506g~iが位置していた三次元環境1502内のロケーションに、デバイス101によって任意選択的に移動される。いくつかの実施形態では、デバイス101は、オブジェクト1506g~iを、それらのオブジェクトが手1503cによって制御されているオブジェクトのスタックに追加される前及び/又は追加されたときにそれらのオブジェクトが有していたそれぞれのサイズに再スケーリングする。いくつかの実施形態では、デバイス101は、方法1000を参照してより詳細に説明されるように、オブジェクト1506mのサイズに基づいてオブジェクト1506j~kを再スケーリングする。
【0369】
いくつかの実施形態では、オブジェクトが三次元環境1502内の空き空間に表示されるとき、それらは、図15Dに示すように、それぞれのグラバーバーとともに表示される。グラバーバーは、任意選択的に、三次元環境1502内の対応するオブジェクトのロケーションを制御するためにユーザ提供入力が向けられる要素であるが、いくつかの実施形態では、入力は、三次元環境内のオブジェクトのロケーションを制御するためにオブジェクト自体に向けられる(グラバーバーには向けられない)。したがって、いくつかの実施形態では、方法1600を参照してより詳細に説明されるように、グラバーバーの存在は、オブジェクトが三次元環境内に独立して位置決めされることが可能であることを示す。いくつかの実施形態では、グラバーバーは、それらの対応するオブジェクトの下及び/又はわずかに前(例えば、ユーザの視点により近い)に表示される。例えば、図15Dでは、オブジェクト1506a~i及び1506Lは、三次元環境1502内のそれらのオブジェクトのロケーションを個々に制御するためのグラバーバーとともに表示される。対照的に、オブジェクトが別のオブジェクト(例えば、ドロップターゲット)内に表示されるとき、それらのオブジェクトは、グラバーバーとともに表示されない。例えば、図15Dでは、オブジェクト1506m内に表示されるオブジェクト1506j~kは、グラバーバーとともに表示されない。
【0370】
図16A図16Jは、いくつかの実施形態による、複数の仮想オブジェクトの移動及び/又は配置を容易にする方法1600を示すフローチャートである。いくつかの実施形態では、方法1600は、表示生成構成要素(例えば、図1図3、かつ図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手の下方を指すカメラ(例えば、カラーセンサ、赤外線センサ、かつ他の深度感知カメラ)又はユーザの頭部から前方を指すカメラ)とを含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法1600は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)など、コンピュータシステムの1つ以上のプロセッサによって実行される命令によって統御される。方法1600のいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0371】
いくつかの実施形態では、方法1600は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0372】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、図15Aのオブジェクト1506b及び1506Lなどの第1のオブジェクト及び第1のオブジェクトとは異なる第2のオブジェクトを含む複数のオブジェクト(例えば、二次元及び/又は三次元オブジェクト)を含む三次元環境を表示する(1602a)。いくつかの実施形態では、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって生成され、表示され、又は他の方法で視認可能にされる。いくつかの実施形態では、三次元環境は、電子デバイス上にインストールされたアプリケーションのユーザインタフェース(例えば、メッセージングアプリケーションのユーザインタフェース、ビデオ通話アプリケーションのユーザインタフェースなど)及び/又はコンテンツの表現(例えば、写真の表現、ビデオの表現など)などの1つ以上の二次元オブジェクトを含む。二次元オブジェクトは、任意選択的に、主に二次元であるが、ガラス板などの三次元材料又は材料特性とともに、又はその上に表示されるか、又はその中に組み込まれることによって、三次元環境内のある(例えば、非ゼロの)ボリュームを占有し得る。いくつかの実施形態では、三次元環境は、車の三次元モデル、目覚し時計の三次元モデルなどの1つ以上の三次元オブジェクトを含む。
【0373】
いくつかの実施形態では、三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、複数のオブジェクトを三次元環境内の第1のロケーションに移動させる要求に対応する第1の入力であって、図15A図15Dの手1503bの移動及び図15Dの手1503bからの移動入力の終了などの第1の入力の終了が続く、第1の入力を検検出する(1602b)。例えば、第1の入力は、ユーザの手が複数のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間に複数のオブジェクトが移動のために選択されている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状の手の移動が続く、ピンチジェスチャ(以下でより詳細に説明する)、又はユーザの手が複数のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状の手の移動が続く、ピンチを任意選択的に含む。いくつかの実施形態では、第1の入力の終了は、ピンチハンド形状の解放である(例えば、ユーザの手の人差し指と親指が互いに離れるように移動する)。いくつかの実施形態では、ピンチハンド形状を維持しながらのユーザの手の移動は、三次元環境内の第1のロケーションへの複数のオブジェクトの移動に対応する。いくつかの実施形態では、第1の入力は、方法800、1000、1200、1400、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。
【0374】
いくつかの実施形態では、第1の入力を検出している間に、電子デバイスは、図15A図15Cに示すように、第1の入力に従って、三次元環境内の複数のオブジェクトの表現を一緒に第1のロケーションに移動させる(1602c)。例えば、複数のオブジェクトは、手が移動するにつれて、ピンチハンド形状のユーザの手のロケーションに対する相対ロケーションで、三次元環境内にグループ、集合、配置、順序、かつ/又はクラスタで表示され、これは、任意選択的に、複数のオブジェクトが同時に、かつユーザの手の移動に従って三次元環境内の第1のロケーションに移動されることをもたらす。
【0375】
いくつかの実施形態では、第1の入力の終了を検出したこと(例えば、ピンチハンド形状の解放(例えば、ユーザの手の人差し指と親指が互いに離れるように移動する)を検出したこと)に応じて、電子デバイスは、図15Dのオブジェクト1506a~f及びLで示されるように、第1のオブジェクト及び第2のオブジェクトを三次元環境内に(例えば、第1のロケーションに、又はその近くに、又はそれに近接して)別々に配置する(1602d)。例えば、第1の入力の終了を検出すると、電子デバイスは、第1及び第2のオブジェクトを、三次元環境内の第1のロケーションに、又は第1のロケーションの近くに、又は第1のロケーションに近接してドロップする。オブジェクトが第1のロケーションでドロップされたことに応じて、電子デバイスは、任意選択的に、以下でより詳細に説明するように、移動されている間にオブジェクトのセットが表示されたグループ、集合、配置、順序、かつ/又はクラスタを再配置する。同じ移動入力に応じて同時に複数のオブジェクトの移動を容易にすることは、デバイスとのオブジェクト移動相互作用の効率を改善し、それによってユーザ-デバイス相互作用を改善する。
【0376】
いくつかの実施形態では、第1の入力は、電子デバイスのユーザの個別の部分の第1の移動であって、第1の入力の終了が続く、第1の移動を含み、第1の移動は、図15A図15Dの手1503bに関して説明したような、三次元環境内の第1のロケーションへの移動に対応する(1604)。例えば、第1の入力は、ユーザの手が複数のオブジェクトから閾値距離(例えば、0.2、0.5、1、2、3、5、10、12、24、又は26cm)よりも大きい間に複数のオブジェクトが移動のために選択されている間にユーザの手の人差し指及び親指のピンチジェスチャであって、ピンチハンド形状の手の移動が続く、のピンチジェスチャ(以下でより詳細に説明する)、又はユーザの手が複数のオブジェクトから閾値距離よりも小さいときにユーザの視線のロケーションに関係なくユーザの手の人差し指及び親指のピンチであって、ピンチハンド形状の手の移動が続く、ピンチを任意選択的に含む。いくつかの実施形態では、第1の入力の終了は、ピンチハンド形状の解放である(例えば、ユーザの手の人差し指と親指が互いに離れるように移動する)。いくつかの実施形態では、ピンチハンド形状を維持しながらのユーザの手の移動は、三次元環境内の第1のロケーションへの複数のオブジェクトの移動に対応する。いくつかの実施形態では、第1の入力は、方法800、1000、1200、1400、かつ/又は1800を参照して説明される入力(単数又は複数)の特性のうちの1つ以上を有する。ユーザの個別の部分の同じ移動に応じて複数のオブジェクトの移動を同時に容易にすることは、デバイスとのオブジェクト移動相互作用の効率を改善し、それによってユーザ-デバイス相互作用を改善する。
【0377】
いくつかの実施形態では、第1の入力の終了を検出し、第1のオブジェクト及び第2のオブジェクトを三次元環境内に別々に配置した後、電子デバイスは、1つ以上の入力デバイスを介して、図15Dの環境1502内に配置された後のオブジェクト1506Lに向けられた入力などの、第1のオブジェクトを三次元環境内の第2のロケーションに移動させる要求に対応する第2の入力を検出する(1606a)。第2の入力は、ユーザの視線が第1のオブジェクトに向けられている間にユーザによって実行されるピンチハンドジェスチャと、ピンチハンド形状でのユーザの手の移動とを任意選択的に含む。第2の入力は、任意選択的に、上述の第1の入力の特性のうちの1つ以上を有する。
【0378】
いくつかの実施形態では、第2の入力を受信したことに応じて、電子デバイスは、図15Dのオブジェクト1506bを移動させることなく図15Dのオブジェクト1506Lを移動させるなど、第2のオブジェクトを三次元環境内で移動させることなく、第1のオブジェクトを三次元環境内の第2のロケーションに移動させる(1606b)。いくつかの実施形態では、第1のオブジェクトは、三次元環境内に別々に配置された後、第2の入力に従って三次元環境内で第2のオブジェクトとは別々に移動させることができる。
【0379】
いくつかの実施形態では、第1の入力の終了を検出し、第1のオブジェクト及び第2のオブジェクトを三次元環境内に別々に配置した後、電子デバイスは、1つ以上の入力デバイスを介して、図15Dの環境1502内に配置された後のオブジェクト1506bに向けられた入力などの、第2のオブジェクトを三次元環境内の第3のロケーションに移動させる要求に対応する第3の入力を検出する(1606c)。第3の入力は、任意選択的に、ユーザの視線が第2のオブジェクトに向けられている間にユーザによって実行されるピンチハンドジェスチャと、ピンチハンド形状でのユーザの手の移動とを含む。第3の入力は、任意選択的に、上述の第1の入力の特性のうちの1つ以上を有する。
【0380】
いくつかの実施形態では、第3の入力を受信したことに応じて、電子デバイスは、図15Dのオブジェクト1506Lを移動させることなく図15Dのオブジェクト1506bを移動させるなど、第1のオブジェクトを三次元環境内で移動させることなく、第2のオブジェクトを三次元環境内の第2のロケーションに移動させる(1606d)。いくつかの実施形態では、第2のオブジェクトは、三次元環境内に別々に配置された後、第3の入力に従って三次元環境内で第1のオブジェクトとは別々に移動させることができる。複数のオブジェクトの別個の独立した移動を容易にすることは、デバイスとのオブジェクト移動相互作用のロバスト性を改善し、それによってユーザ-デバイス相互作用を改善する。
【0381】
いくつかの実施形態では、第1の入力を検出している間に、電子デバイスは、三次元環境内で、図15Cのインジケーション1510aなどの、第1の入力が向けられている複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションを表示する(1606e)。例えば、複数のオブジェクトは、移動入力が検出されている間、かつ/又はオブジェクトの表現が移動入力に従って三次元環境内で移動されている間、オブジェクトのスタックとして表示される。いくつかの実施形態では、移動されているオブジェクトのセットに2つ以上のオブジェクトが含まれる場合、電子デバイスは、スタックに含まれるオブジェクトの数を示すオブジェクトのセット/スタックを有するバッジを表示する(例えば、スタックにそれぞれ3つ又は5つのオブジェクトが存在する場合、数字3を表示するバッジ、又は数字5を表示するバッジ)。三次元環境内で一緒に移動されているオブジェクトの数を表示することは、発生している移動に関するフィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0382】
いくつかの実施形態では、第1の入力を検出している間に、複数のオブジェクトは、図15Cの手1503bによって制御されるオブジェクトのスタック内などの、順序に関連付けられた個別の配置内のポジションを有する個別の配置に配置され(例えば、複数のオブジェクトはオブジェクトのスタックとして表示され、スタック内の第1のポジションはユーザの視点に最も近く、スタック内の第2のポジション(例えば、第1のポジションのオブジェクトの背後)はユーザの視点に2番目に近いなど)、複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションは、図15Cの手1503bによって制御されるオブジェクトのスタック内のオブジェクトの右上部分などの、個別の配置内のプライマリポジションに位置する複数のオブジェクト内の個別のオブジェクトに対する個別のロケーションに表示される(1608)。いくつかの実施形態では、視覚的インジケーションが表示されるロケーションは、スタックの最上部にあるオブジェクトによって制御され、例えば、視覚的インジケーションは、スタックの最上部にあるそのオブジェクトに対して何らかの個別のロケーションに任意選択的に表示される(例えば、以下でより詳細に説明するように)。複数のオブジェクト内のプライマリオブジェクトに対して視覚的インジケーションを表示することは、視覚的インジケーションが明確に可視であることを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0383】
いくつかの実施形態では、複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションを、個別の配置内のプライマリポジションに配置された個別のオブジェクトに対する個別のロケーションに表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図15Aのインジケーション1510を表示している間などに、第3のオブジェクトを複数のオブジェクトに追加する要求に対応する第2の入力を検出する(1610a)(例えば、ユーザの視線が第3のオブジェクトに向けられている間に、デバイスのユーザの手が人差し指及び親指でピンチジェスチャを実行していることを検出する。いくつかの実施形態では、ユーザの他方の手は、ピンチハンド形状であり、その他方の手からの入力は、三次元環境内で複数のオブジェクトを移動させることに向けられる。))。
【0384】
いくつかの実施形態では、第2の入力を検出したことに応じて(1610b)、電子デバイスは、第3のオブジェクトを個別の配置に追加し(1610c)、個別のオブジェクトではない第3のオブジェクトは、図15Aの手1503bによって制御されるオブジェクトのスタックに別の三次元オブジェクトを追加するなど、個別の配置内のプライマリポジションに配置される(例えば、オブジェクトのスタックに新たに追加されたオブジェクトは、スタックの上部/プライマリポジションに追加され、以前のプライマリポジションのオブジェクトをセカンダリのポジションに変位させるなど)。
【0385】
いくつかの実施形態では、電子デバイスは、手1503bによって制御されるオブジェクトのスタックに新たに追加された三次元オブジェクトに対する個別のロケーションに図15Aのインジケーション1510を表示するなど、第3のオブジェクトに対する個別のロケーションに複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションを表示する(1610d)。例えば、第3のオブジェクトが現在プライマリポジションにあるため、スタック内のオブジェクトの数を示すバッジは、前のプライマリオブジェクトではなく第3のオブジェクトに基づくポジションに表示される。更に、バッジは、第3のオブジェクトがオブジェクトのスタックに追加されたことを反映するように、任意選択的に更新される(例えば、1だけ増加される)。新しいオブジェクトをオブジェクトのスタックの一番上に追加することは、新しいオブジェクトが実際にスタックに追加されたというフィードバックを提供し(例えば、それらはスタックの一番上で容易に見ることができるので)、それによってユーザ-デバイス相互作用を改善する。
【0386】
いくつかの実施形態では、複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションは、複数のオブジェクト内の個別のオブジェクトに基づく(例えば、オブジェクトのスタックの一番上にあるか、又はプライマリポジションにあるオブジェクトに基づく。個別のオブジェクトは、任意選択的に、オブジェクトのスタックの最上部にあるか、又はオブジェクトのスタックのプライマリポジションにある。)ロケーションに表示される(1612a)。
【0387】
いくつかの実施形態では、個別のオブジェクトが二次元オブジェクトであるという判定に従って、図15Bのオブジェクト1506a上のインジケーション1510などの視覚的インジケーションが、二次元オブジェクト上に表示される(1612b)(例えば、バッジは、二次元オブジェクトの右上隅(又は他のロケーション)にオーバーレイされて、かつ/又は接触して表示される)。
【0388】
いくつかの実施形態では、個別のオブジェクトが三次元オブジェクトであるという判定に従って、図15Aのオブジェクト1506bに関するインジケーション1510などの視覚的インジケーションが、個別のオブジェクトを含むバウンディングボリュームの境界上に表示される(1612c)。例えば、三次元オブジェクトは、三次元オブジェクトを包含するバウンディングボリュームに関連付けられる。いくつかの実施形態では、バウンディングボリュームは、1つ以上の寸法において三次元オブジェクトより大きく、かつ/又は三次元オブジェクトのボリュームを上回るボリュームを有する。いくつかの実施形態では、バッジは、バウンディングボリュームの表面/境界の右上隅(又は他のロケーション)に表示される。バウンディングボリューム、バウンディングボリュームの表面及び/又は境界は、任意選択的に三次元環境内に表示されない。いくつかの実施形態では、スタックの一番上のオブジェクトが三次元オブジェクトであっても、バッジは、スタックの一番上に最も近いスタック内の二次元オブジェクトの右上隅(又は他のロケーション)にオーバーレイして及び/又は接触して表示される。バッジを表示しているオブジェクトのタイプに依存して異なる相対的ロケーションにバッジを表示することは、バッジが異なるタイプのオブジェクトに対して可視的にかつ一貫して表示されることを確保し、それによりユーザ-デバイス相互作用を改善する。
【0389】
いくつかの実施形態では、複数のオブジェクトに含まれるオブジェクトの数の視覚的インジケーションとともに複数のオブジェクトを表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図15Cの手1503cからの入力などの、複数のオブジェクトを三次元環境内の第3のオブジェクトに移動させる要求に対応する第2の入力を検出する(1614a)。例えば、三次元環境内のオブジェクトのスタックを移動させているピンチハンド形状のユーザの手は、オブジェクトのスタックを第3のオブジェクトに移動させることに対応する方式で移動する。第3のオブジェクトは、任意選択的に、オブジェクトのスタック内の1つ以上のオブジェクトを受容し、包含し、かつ/又は表示することができる。例えば、第3のオブジェクトは、任意選択的に、他のユーザにメッセージングするためのメッセージングアプリケーション用のユーザインタフェースであり、(例えば、他のユーザと共有するために)テキストコンテンツ、画像コンテンツ、ビデオコンテンツ、かつ/又はオーディオコンテンツに対応するオブジェクトを受容することができる。
【0390】
いくつかの実施形態では、第2の入力を検出している間(1614b)、電子デバイスは、複数のオブジェクトの表現を第3のオブジェクトに移動させる(1614c)(例えば、第2の入力に従って、三次元環境内で第3のオブジェクトに移動するオブジェクトのスタックを表示する)。
【0391】
いくつかの実施形態では、電子デバイスは、図15Cのインジケーション1510bを参照して説明されるように、第3のオブジェクトが有効なドロップターゲットである複数のオブジェクトに含まれるオブジェクトの数を示すように視覚的インジケーションを更新し(1614d)、複数のオブジェクトに含まれるオブジェクトの数は、第3のオブジェクトが有効なドロップターゲットである複数のオブジェクトに含まれるオブジェクトの数とは異なる。例えば、オブジェクトのスタック内のオブジェクトのうちのいくつが第3のオブジェクトにドロップ/追加され得るかを示すようにバッジを更新する(例えば、スタック内の10個のオブジェクトのために、数字10を示すことから数字8を示すことにバッジを更新することは、8個のみが第3のオブジェクトによって受容され得、2個は第3のオブジェクトによって受容され得ない)。例えば、メッセージングユーザインタフェースは、任意選択的に、画像コンテンツに対応するオブジェクトを受容することができるが、アプリケーションに対応するオブジェクトを受容することはできない。有効及び無効なドロップターゲットの更なる詳細は、方法800、1000、1200、1400、かつ/又は1800を参照して説明される。有効なドロップオブジェクトの数を示すようにバッジを更新することにより、ユーザがオブジェクトのスタックをそれらの現在のロケーションでドロップした場合にどのような結果が生じるかについてのフィードバックがユーザに提供され、それにより、ユーザ-デバイス相互作用が改善される。
【0392】
いくつかの実施形態では、第1の入力の終了を検出したことに応じて、第1の入力の終了が検出された第1のロケーションが三次元環境内の空き空間である(例えば、オブジェクトのスタックが三次元環境内のオブジェクトを含まないロケーションにドロップされた)という判定に従って、電子デバイスは、複数のオブジェクトが、図15Dの手1503bによって制御されるオブジェクトに対してなど、ユーザの視点から異なる距離に配置されるように、第1のロケーションに基づいて複数のオブジェクトを別々に配置する(1616)。例えば、オブジェクトのスタック内のオブジェクトは、任意選択的に、三次元環境内に別々に配置され、ユーザの視点からのオブジェクトの距離に関して互いに視覚的に分離される(例えば、第1のオブジェクトは、ユーザの視点から第1の距離に配置され、第2のオブジェクトは、ユーザの視点から第1の距離とは異なる第2の距離に配置されるなど)。いくつかの実施形態では、オブジェクトが空き空間にドロップされた後のユーザの視点に対するオブジェクト間の距離差は、オブジェクトがオブジェクトのスタック内に配置されている間のユーザの視点に対するオブジェクト間の距離差よりも大きい(例えば、オブジェクトは、第1の入力の終了時に空き空間にドロップされたことに応じて、ユーザの視点に対応する方向に離間される)。ユーザの視点に対してオブジェクトを離して分散させることは、オブジェクトがドロップされた後のオブジェクトの個々のアクセス可能性及び/又はオブジェクトとの相互作用を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0393】
いくつかの実施形態では、複数のオブジェクトを別々に配置することは、図15Dのオブジェクト1506a~f及びLのように、複数のオブジェクトを三次元環境内に螺旋パターンで配置することを含む(1618)。例えば、空き空間にドロップされると、オブジェクトは、任意選択的に、オブジェクトがドロップされた三次元環境内のロケーションから開始して、ユーザの視点から離れるように延在する螺旋パターンに従って離間される。いくつかの実施形態では、螺旋パターン内のオブジェクトの配置は、オブジェクトが移動されている間のオブジェクトのスタック内のオブジェクトの配置に対応する(例えば、スタック内のプライマリオブジェクトは、螺旋内のプライマリポジション(例えば、ユーザの視点に最も近い)を有し、スタック内のセカンダリオブジェクトは、螺旋内のセカンダリポジション(例えば、ユーザの視点に次に近い)を有するなど)。ユーザの視点に対してオブジェクトを離して分散させることは、オブジェクトがドロップされた後のオブジェクトの個々のアクセス可能性及び/又はオブジェクトとの相互作用を容易にし、それによってユーザ-デバイス相互作用を改善する。
【0394】
いくつかの実施形態では、螺旋パターンの半径は、図15Dのオブジェクト1506a~f及びLのように、ユーザの視点からの距離の関数として増加する(1620)。例えば、オブジェクトの配置の螺旋パターンは、オブジェクトがユーザの視点から遠ざかるほど広くなる(例えば、オブジェクトは、ユーザの視点と三次元環境内のドロップロケーションとを結ぶ軸からますます離れて配置される)。ユーザの視点からの距離の関数として、ユーザの視点に対して垂直にオブジェクトを更に離して広げることは、オブジェクトがドロップされた後のオブジェクトの個々のアクセス可能性及び/又はオブジェクトとの相互作用を容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0395】
いくつかの実施形態では、別々に配置された複数のオブジェクトは、図15Dのボリュームに閉じ込められているオブジェクト1506a~f及びLなど、三次元環境内の第1のロケーションによって画定されるボリュームに閉じ込められる(1622)。いくつかの実施形態では、オブジェクトの螺旋パターンは、オブジェクトの螺旋パターンが、三次元環境及び/又はユーザの視野の閾値サイズ(例えば、1%、3%、5%、10%、20%、30%、50%、60%、又は70%)を上回って消費することができないように、三次元環境内でサイズ/ボリュームが境界される。したがって、いくつかの実施形態では、複数のオブジェクト内のオブジェクトの数が多いほど、オブジェクトが有界ボリューム内で有界のままであることを確実にするために、ユーザの視点からの距離及び/又はユーザの視点に垂直な距離に対して、オブジェクトが互いに離間されることが少なくなる。いくつかの実施形態では、有界ボリュームは、三次元環境内のドロップロケーションを含む。いくつかの実施形態では、ドロップロケーションは、有界ボリュームの表面上の点である。オブジェクトを有界ボリューム内に維持しながらオブジェクトをユーザの視点に対して離して広げることは、オブジェクトがドロップされた後にオブジェクトがユーザの視野を圧倒しないことを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0396】
いくつかの実施形態では、第1の入力を検出している間に、複数のオブジェクトは、順序に関連付けられた個別の配置内のポジションを有する個別の配置に配置され(例えば、複数のオブジェクトはオブジェクトのスタックとして表示され、スタック内の第1のポジションはユーザの視点に最も近く、スタック内の第2のポジション(例えば、第1のポジションのオブジェクトの背後)はユーザの視点に2番目に近いなど)、第1のロケーションに基づいて複数のオブジェクトを別々に配置することは、図15Dのオブジェクト1506bなどの個別のオブジェクトを第1のロケーションの個別の配置内のプライマリポジションに配置すること(1624b)を含む(1624a)。
【0397】
いくつかの実施形態では、電子デバイスは、図15Dのオブジェクト1506a、1506c~f、かつ1506Lなど、複数のオブジェクト内の他のオブジェクトを、第1のロケーションに基づいて三次元環境内の異なるロケーションに配置する(1624c)。例えば、オブジェクトがドロップされるとき、オブジェクトのスタック内の最上部/プライマリポジションにあるオブジェクトは、三次元環境内のドロップロケーションに配置される。いくつかの実施形態では、残りのオブジェクトは、螺旋パターン内の第1のオブジェクトの背後に配置され(例えば、スタック内のそれらの順序に従って)、第1のオブジェクトは、螺旋パターンの先端を画定する。スタック内の一番上のアイテムをドロップロケーションに配置することは、オブジェクトの配置がユーザによって提供される入力に対応することを確実にし、したがって、2つの間の切断を回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0398】
いくつかの実施形態では、第1の入力の終了の検出に応じて(1626a)、第1の入力の終了が検出された第1のロケーションが三次元環境内の空き空間である(例えば、オブジェクトのスタックが三次元環境内のオブジェクトを含まないロケーションにドロップされた)という判定に従って(1626b)、電子デバイスは、図15Dのオブジェクト1506a~f及びLとともに表示されたグラバーバーなどの、三次元環境内で第1のオブジェクトを移動させるための第1のユーザインタフェース要素とともに、三次元環境内に第1のオブジェクトを表示する(1626c)。
【0399】
いくつかの実施形態では、電子デバイスは、図15Dのオブジェクト1506a~f及びLとともに表示されるグラバーバーなどの、三次元環境内で第2のオブジェクトを移動させるための第2のユーザインタフェース要素とともに、三次元環境内に第2のオブジェクトを表示する(1626d)。例えば、オブジェクトのスタックが空き空間にドロップされた場合、オブジェクトのスタック内の複数のオブジェクト(例えば、各オブジェクト)は、任意選択的に、ドロップロケーション又はその近くの三次元環境内に(例えば、螺旋パターンで)別々に配置され、複数のオブジェクト(例えば、各オブジェクト)は、三次元環境内の対応するオブジェクトを別々に移動させるように相互作用可能な対応する自身のグラバーバー要素とともに表示される。いくつかの実施形態では、ユーザは、オブジェクトを移動させるためにグラバーバー要素と相互作用する必要はないが、代わりに、オブジェクトがグラバーバー要素とともに表示されているときでも、オブジェクト自体に向けられた入力を使用してオブジェクトを移動させることができる。したがって、いくつかの実施形態では、グラバーバー要素は、オブジェクトが三次元環境内で別々に移動可能であることを示す。いくつかの実施形態では、ドロップされたオブジェクトは、追加的に又は代替的に、方法1400を参照してより詳細に説明されるそれら自体のクイックルックウィンドウに表示される。
【0400】
いくつかの実施形態では、第1の入力の終了が検出された第1のロケーションが第3のオブジェクトを含むという判定に従って(例えば、方法1400を参照してより詳細に説明されるように、第3のオブジェクトがオブジェクトのスタック内の複数のオブジェクトのうちの1つ以上の有効なドロップターゲットであるという判定に従って)、電子デバイスは、図15Dのオブジェクト1506j及び1506kがグラバーバーなしで表示されるように、第1のユーザインタフェース要素及び第2のユーザインタフェース要素を表示することなく、三次元環境内に(例えば、第3のオブジェクト内に)第1のオブジェクト及び第2のオブジェクトを表示する(1626e)。例えば、オブジェクトが空き空間ではなく別のオブジェクトにドロップされた場合、オブジェクトは、他のオブジェクトに追加され(例えば、ドロップターゲットとしての受信オブジェクトの有効性に従って)、三次元環境内でオブジェクトを移動させるための個々のグラバーバーとともに表示されることなく、他のオブジェクト内に表示される。いくつかの実施形態では、代わりに、受信オブジェクトは、受信オブジェクト及び受信オブジェクト内に包含されるオブジェクトを三次元環境内で移動させるためのグラバーバーとともに表示される。オブジェクトが空き空間に配置されているか、又は別のオブジェクトに配置されているかに基づいて、個々のグラバーバーを用いて又は用いずにオブジェクトを表示することは、ドロップされた後に個々に相互作用することができるオブジェクトが、受信オブジェクトに含まれるオブジェクトのためのかかるグラバーバーを用いて三次元環境を混乱させることなく明確に伝達されることを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0401】
いくつかの実施形態では、第1の入力の終了を検出したことに応じて、第1の入力の終了が検出された第1のロケーションが第3のオブジェクトを含む(例えば、オブジェクトのスタックが受信オブジェクト内にドロップされる)という判定に従って、第3のオブジェクトが第1のオブジェクトに対する無効なドロップターゲットである(例えば、第1のオブジェクトは、第3のオブジェクト内に追加及び/又は表示することができないタイプのものである。有効なドロップターゲット及び無効なドロップターゲットの詳細は、方法1400を参照して説明される。)という判定に従って(1628a)、電子デバイスは、表示生成構成要素を介して、図15Dのオブジェクト1506g~Iを参照して説明されるように、第1の入力が検出されたとき(例えば、その開始時)に第1のオブジェクトが位置していた三次元環境内のロケーションに移動する第1のオブジェクトの表現のアニメーションを表示する(1628b)。
【0402】
いくつかの実施形態では、第3のオブジェクトが第2のオブジェクトに対する無効なドロップターゲットである(例えば、第2のオブジェクトは、第3のオブジェクト内に追加及び/又は表示することができないタイプのものである。有効及び無効なドロップターゲットの詳細は、方法1400を参照して説明される。)という判定に従って、電子デバイスは、図15Dのオブジェクト1506g~Iを参照して説明されるように、表示生成構成要素を介して、第1の入力(例えば、その開始)が検出されたときに第2のオブジェクトが位置していた三次元環境内のロケーションに移動する第2のオブジェクトの表現のアニメーションを表示する(1628c)。例えば、ドロップターゲットがオブジェクトのスタック内のオブジェクトのいずれかに対して無効である場合、ユーザがそれらのオブジェクトをドロップターゲットにドロップしたことを検出すると、無効なオブジェクトは、それらがピックアップされてオブジェクトのスタックに追加された三次元環境内のロケーションに飛んで戻るようにアニメーション化される。ドロップターゲットが有効なドロップターゲットであるオブジェクトは、任意選択的に、ドロップターゲットに追加される/ドロップターゲット内に表示され、電子デバイスは、任意選択的に、それらのオブジェクトがピックアップされてオブジェクトのスタックに追加された三次元環境内のロケーションに戻るように飛行するそれらのオブジェクトのアニメーションを表示しない。ドロップターゲットに追加することができないオブジェクトがそれらの元のロケーションに移動するアニメーションを表示することは、それらのオブジェクトをドロップターゲットに追加することができなかったことを伝え、また、それらのアイテムにロケーションの変更を適用することを回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0403】
いくつかの実施形態では、第1の入力の終了を検出した後、かつ第1のオブジェクト及び第2のオブジェクトを三次元環境内(例えば、空き空間内及び/又はドロップターゲット内)に別々に配置した後、電子デバイスは、1つ以上の入力デバイスを介して、図15Dの手1503bからの入力などの、三次元環境内での移動のために複数のオブジェクトのうちの1つ以上を選択する要求に対応する第2の入力を検出する(1630a)。例えば、オブジェクトのスタック内にあったオブジェクト以外の、三次元環境内の他のオブジェクトに向けられた他の入力を検出する前に、ユーザの視線が三次元環境内に別々に配置されたオブジェクトのいずれかに向けられている間に、ピンチアンドホールドジェスチャを行うユーザの手を検出する。
【0404】
いくつかの実施形態では、第2の入力を検出したことに応じて(1630b)、第1の入力の終了を検出した個別の時間閾値(例えば、0.1、0.2、0.5、1、2、3、4、5、又は10秒)内に第2の入力が検出されていたという判定に従って、電子デバイスは、図15Dの手1503bによって制御されるオブジェクト1506a~f及びLを再スタックするなど、三次元環境内での移動のために複数のオブジェクトを選択する(1630c)(例えば、オブジェクトがドロップされる前に配置された順序でオブジェクトをスタック配置に戻すことと、ピンチハンド形状のままである間のユーザの手の後続の移動が、後続の移動に従って三次元環境内のオブジェクトのスタックの移動を継続することとを含む)。
【0405】
いくつかの実施形態では、第1の入力の終了を検出した個別の時間閾値(例えば、0.1、0.2、0.5、1、2、3、4、5、又は10秒)の後に第2の入力が検出されたという判定に従って、電子デバイスは、三次元環境内での移動のために複数のオブジェクトを選択することを取り止める(1630d)(例えば、移動のためにユーザの視線が向けられたオブジェクトのみを移動のために選択し、移動のために他のオブジェクトを選択せず、後続の移動に従って三次元環境内で選択されたオブジェクトを移動させるが他のオブジェクトは移動させないピンチハンド形状のままでユーザの手の後続の移動を行う)。したがって、いくつかの実施形態では、ドロップされた後のオブジェクトの比較的迅速な再選択は、デバイスに、三次元環境内のオブジェクトのスタックの移動を再開させる。ドロップされたオブジェクトの再選択を容易にすることは、三次元環境内の複数のオブジェクトの移動を継続する効率的な方法を提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0406】
いくつかの実施形態では、複数のオブジェクトが速度閾値(例えば、0cm/s、0.3cm/s、0.5cm/s、1cm/s、3cm/s、5cm/s、又は10cm/s)を超える速度で移動していたという判定に従って、第1の入力の終了が検出されたとき(例えば、ユーザの手が三次元環境内でオブジェクトのスタックを移動させながら速度閾値を超える速度で移動していた間にユーザの手がピンチハンド形状を解放したとき)、個別の時間閾値は、図15Dで手1503bがオブジェクトのスタックをドロップしたときに手1503bが速度閾値を超える速度で移動していた場合などの第1の時間閾値である(1632a)。
【0407】
いくつかの実施形態では、複数のオブジェクトが速度閾値(例えば、0cm/s、0.3cm/s、0.5cm/s、1cm/s、3cm/s、5cm/s、又は10cm/s)未満の速度で移動していたという判定に従って、第1の入力の終了が検出された(例えば、ユーザの手が三次元環境内のオブジェクトのスタックを移動させながら速度閾値未満の速度で移動していた間にユーザの手がピンチハンド形状を解放した、又はユーザの手がピンチハンド形状を解放したときにユーザの手が移動していなかった)とき、個別の時間閾値は、図15Dにおいて手1503bがオブジェクトのスタックをドロップしたときに手1503bが速度閾値未満の速度で移動していた場合など、第1の時間閾値未満の第2の時間閾値である(1632b)。したがって、いくつかの実施形態では、電子デバイスは、複数のオブジェクトが移動中にドロップされた場合、移動のために複数のオブジェクトを再選択するためのより長い時間閾値を提供し、かつ/又はドロップされたときに複数のオブジェクトがより速く移動していた場合、移動のために複数のオブジェクトを再選択するためのより長い時間閾値を提供し、ドロップされたときに複数のオブジェクトがより遅く移動していた場合、移動のために複数のオブジェクトを再選択するためのより短い時間閾値を提供する。移動のためにオブジェクトを再選択するための多少の時間を可能にすることは、迅速に移動するとき、かつ/又は潜在的に偶発的にオブジェクトをドロップするときに、ユーザが複数のオブジェクトの移動を継続することをより容易にし、それによって、ユーザ-デバイス相互作用を改善する。
【0408】
いくつかの実施形態では、第1の入力を検出し、第1の入力に従って複数のオブジェクトの表現を一緒に移動させながら(例えば、第1の入力は、ピンチハンド形状を維持するユーザの第1の手からの入力であり、その移動は、三次元環境内のオブジェクトのスタックの移動に対応する)、電子デバイスは、1つ以上の入力デバイスを介して、第2の入力を検出し(1634a)、検出することは、ユーザの視線が三次元環境内の第3のオブジェクトに向けられている間に個別のジェスチャを実行する電子デバイスのユーザの個別の部分(例えば、ユーザの第2の手)を検出することを含み、第3のオブジェクトは、図15Aのオブジェクト1506aに向けられた入力(例えば、ユーザが第3のオブジェクトを見ている間にユーザの第2の手の人差し指及び親指によって実行されるピンチアンドリリースジェスチャ)など、複数のオブジェクトに含まれない。
【0409】
いくつかの実施形態では、第2の入力を検出したことに応じて、電子デバイスは、オブジェクト1506aがオブジェクトのスタックに追加された図15Bに示すように、第1の入力に従って三次元環境内で一緒に移動されている複数のオブジェクトに第3のオブジェクトを追加する(1634b)。例えば、第3のオブジェクトは、オブジェクトのスタックに追加され、第1の手の移動は、ここで、三次元環境内の第3のオブジェクトに加えて、オブジェクトのスタックの移動を制御する。同時移動のためにオブジェクトのスタックへのオブジェクトの追加を容易にすることは、三次元環境内で複数のオブジェクトを移動させるための柔軟性を改善し、それによって、ユーザ-デバイス相互作用を改善する。
【0410】
いくつかの実施形態では、第1の入力を検出し、第1の入力に従って複数のオブジェクトの表現を一緒に移動させながら(例えば、第1の入力は、ピンチハンド形状を維持するユーザの第1の手からの入力であり、その移動は、三次元環境内のオブジェクトのスタックの移動に対応する)、電子デバイスは、第2の入力を検出し(1636a)、検出することは、1つ以上の入力デバイスを介して、ユーザの視線が三次元環境内の第3のオブジェクトに向けられている間にそ個別のジェスチャ(例えば、ユーザが第3のオブジェクトを見ている間にユーザの第2の手の人差し指及び親指によって実行されるピンチアンドホールドジェスチャ)を実行する電子デバイスのユーザの個別の部分(例えば、ユーザの第2の手)を検出することを含み、第3のオブジェクトは、複数のオブジェクトに含まれず、手1503aから図15Aのオブジェクト1506aに向けられた移動入力などの、三次元環境内の複数のオブジェクトの現在ロケーションへの第3のオブジェクトの移動に対応するユーザの個別の部分の移動が続く(例えば、ユーザの第2の手は、ピンチハンド形状を維持しながら、ユーザの第1の手によって保持及び/又は制御されるオブジェクトのスタックに第3のオブジェクトを移動させるように移動する)。
【0411】
いくつかの実施形態では、第2の入力を検出したことに応じて、電子デバイスは、手1503aが図15Aのオブジェクトのスタックにオブジェクト1506aへの移動入力を提供した場合など、第1の入力に従って三次元環境内で一緒に移動されている複数のオブジェクトに第3のオブジェクトを追加する(1636b)。例えば、第3のオブジェクトは、オブジェクトのスタックに追加され、第1の手の移動は、ここで、三次元環境内の第3のオブジェクトに加えて、オブジェクトのスタックの移動を制御する。同時移動のためにオブジェクトのスタックへのオブジェクトの追加を容易にすることは、三次元環境内で複数のオブジェクトを移動させるための柔軟性を改善し、それによって、ユーザ-デバイス相互作用を改善する。
【0412】
いくつかの実施形態では、第1の入力を検出し、第1の入力に従って複数のオブジェクトの表現を一緒に移動させながら(例えば、第1の入力は、ピンチハンド形状を維持するユーザの第1の手からの入力であり、その移動は、三次元環境内のオブジェクトのスタックの移動に対応する)、電子デバイスは、1つ以上の入力デバイスを介して、第3のオブジェクトを複数のオブジェクトに追加する要求に対応する第2の入力(例えば、上述したように、第3のオブジェクトをオブジェクトのスタックに追加するためのピンチアンド解放又はピンチアンドドラッグ入力)を検出する(1638a)。
【0413】
いくつかの実施形態では、第2の入力を検出したことに応じて、第3のオブジェクトが二次元オブジェクトであるという判定に従って(1638b)、電子デバイスは、図15Bのオブジェクトのスタックにオブジェクト1506aを追加する(例えば、本明細書に記載されるように、オブジェクトのスタックに第3のオブジェクトを追加する)など、第1の入力に従って三次元環境内で一緒に移動されている複数のオブジェクトに第3のオブジェクトを追加する(1638c)。
【0414】
いくつかの実施形態では、電子デバイスは、図15Bのオブジェクト1506aの幅及び/又は高さをスケーリングするなど、複数のオブジェクト内の第1のオブジェクトの対応する寸法に基づいて、第3のオブジェクトの少なくとも1つの寸法を調整する(1638d)。いくつかの実施形態では、二次元オブジェクトがオブジェクトのスタックに追加されると、電子デバイスは、追加されたオブジェクトの少なくとも1つの寸法が、スタック内の少なくとも1つの既存のオブジェクト(例えば、二次元又は三次元などの一致するタイプの)の対応する寸法に一致するか、それよりも大きいか、それよりも小さいか、又は別様でそれに基づくように、追加された二次元オブジェクトをスケーリングする。例えば、オブジェクトのスタックがXの高さを有する二次元オブジェクトを有する場合、電子デバイスは、(例えば、追加されたオブジェクトがスタック内にある間に)Xの高さを有するように追加された二次元オブジェクトを任意選択的にスケーリングする。いくつかの実施形態では、オブジェクトがスタックから除去され、かつ/又は三次元環境内に配置されると、電子デバイスは、任意選択的に、スタックに追加される前に、オブジェクトをその元の寸法に再スケーリングする。既にスタック内にあるオブジェクト(単数又は複数)に基づいて追加されたオブジェクトをスケーリングすることは、スタック内の所与のオブジェクトがスタック内の他のオブジェクト(例えば、全て)を覆い隠す可能性を低減し、それによって、ユーザ-デバイス相互作用を改善する。
【0415】
いくつかの実施形態では、第1のオブジェクトは二次元オブジェクト(1640a)である。いくつかの実施形態では、第2のオブジェクトは三次元オブジェクト(1640b)である。いくつかの実施形態では、第1の入力を検出する前に、第1のオブジェクトは、第2のオブジェクトよりも三次元環境内で小さいサイズを有し(1640c)、例えば、オブジェクト1506bは、それらのオブジェクトがオブジェクトのスタックに追加される前の環境1502内のオブジェクト1506aよりも大きいサイズを有する(例えば、第1及び第2のオブジェクトが三次元環境内のオブジェクトのスタックの外側にある間、第2のオブジェクトの(例えば、最大)断面積は、第1のオブジェクトの断面積よりも大きい)。
【0416】
いくつかの実施形態では、複数のオブジェクトが第1の入力に従って一緒に移動している間に、第2のオブジェクトの表現は、第1のオブジェクトの表現よりも小さいサイズを有し(1640d)、例えば、オブジェクト1506bは、それらのオブジェクトがオブジェクトのスタックに追加されるとき、オブジェクト1506aよりも小さいサイズを有する(例えば、第1及び第2のオブジェクトが三次元環境内のオブジェクトのスタックに含まれる間、第2のオブジェクトの(例えば、最大の)断面積は、第1のオブジェクトの断面積よりも小さい)。したがって、いくつかの実施形態では、三次元オブジェクトは、オブジェクトのスタック内の二次元オブジェクトよりも小さいサイズでオブジェクトのスタック内に表示される(例えば、オブジェクトのスタック内にドラッグされる前/後の三次元環境内のそれぞれのサイズに関係なく)。いくつかの実施形態では、三次元オブジェクトは、以下で説明されるように、移動されているオブジェクトのスタックの前/上に配置される。したがって、いくつかの実施形態では、スタック内にある二次元オブジェクトよりも大きい三次元オブジェクトは、スタックに追加されるとサイズが縮小され、スタック内の二次元オブジェクトよりも小さくなる。オブジェクトのスタック内の三次元オブジェクトを二次元オブジェクトよりも小さいサイズで表示することは、スタック内の所与の三次元オブジェクトがスタック内の他のオブジェクト(例えば、全て)を覆い隠す可能性を低減し、それによって、ユーザ-デバイス相互作用を改善する。
【0417】
いくつかの実施形態では、第1の入力を検出している間に、複数のオブジェクトは、図15Bに示すように、順序に関連付けられた個別の配置内のポジションを有する個別の配置で配置される(1642a)(例えば、複数のオブジェクトは、前述したように、第1の入力の間にオブジェクトのスタックで表示される)。いくつかの実施形態では、第1のオブジェクトは、三次元オブジェクトであり、第2のオブジェクトは、図15Bのオブジェクト1506a及び1506bなどの二次元オブジェクトである(1642b)。
【0418】
いくつかの実施形態では、第1のオブジェクトは、オブジェクト1506a、b、及びLを有する図15Bに示すように、第2のオブジェクトが複数のオブジェクトに追加される前又は後に第1のオブジェクトが複数のオブジェクトに追加されたかどうかにかかわらず、個別の配置において第2のオブジェクトに対して優先ポジションに表示される(1642c)。いくつかの実施形態では、三次元オブジェクト(単数又は複数)の後に二次元オブジェクトがスタックに追加されても、三次元オブジェクトは常にオブジェクトのスタックの一番上に表示される。オブジェクトのスタックの最上部に三次元オブジェクトを配置することは、スタック内のオブジェクトの組織化された配置を提供しながら、スタック内の更に下のオブジェクトの可視性を確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0419】
いくつかの実施形態では、第1の入力(例えば、第1の入力は、ピンチハンド形状を維持するユーザの第1の手からの入力であり、その移動は、三次元環境内のオブジェクトのスタックの移動に対応する)を検出している間に、電子デバイスは、1つ以上の入力デバイスを介して、第2の入力を検出し(1644a)、ユーザの視線がオブジェクトのスタックに向けられ、手1503aが個別のジェスチャ(例えば、ユーザがオブジェクトのスタック及び/又はオブジェクトのスタック内の特定のオブジェクトを見ている間にユーザの第2の手の人差し指及び親指によって行われるピンチアンドリリースジェスチャ)を行っていた場合、図15Bのように、ユーザの視線が複数のオブジェクトに向けられている間に個別のジェスチャを行う電子デバイスのユーザの個別の部分を検出することを含む。いくつかの実施形態では、第2の入力は、ユーザの第2の手の対応する移動が検出されないピンチアンドリリースジェスチャである。いくつかの実施形態では、第2の入力は、ユーザの第2の手によって実行されるピンチアンドホールドジェスチャであって、第2の手がピンチハンド形状を維持している間の(例えば、オブジェクトのスタックから離れる移動に対応する)第2の手の移動が続く、ピンチアンドホールドジェスチャである。
【0420】
いくつかの実施形態では、第2の入力の検出に応じて、電子デバイスは、図15Bのオブジェクトのスタックからオブジェクト1506a、b、又はLのうちの1つを除去するなど、複数のオブジェクトのうちの個別のオブジェクトが第1の入力に従って三次元環境内でもはや移動されないように、複数のオブジェクトのうちの個別のオブジェクトを複数のオブジェクトから除去する(1644b)。いくつかの実施形態では、スタックの一番上のオブジェクトは、第2の入力が検出されたときにユーザの視線がどのオブジェクトに向けられていたかに関係なく、スタックから除去され、三次元環境に表示される。いくつかの実施形態では、ユーザの視線が向けられたスタック内のオブジェクトは、スタックから除去され、三次元環境内に表示される。いくつかの実施形態では、個別のオブジェクトは、ユーザの第2の手を用いて三次元環境内で制御可能である一方、ユーザの第1の手は、オブジェクトのスタック内の残りのオブジェクトを制御し続ける。オブジェクトのスタックからのオブジェクトの除去を容易にすることは、三次元環境内で複数のオブジェクトを移動させるための柔軟性を改善し、それによって、ユーザ-デバイス相互作用を改善する。
【0421】
いくつかの実施形態では、複数のオブジェクトは、第3のオブジェクトを含む(1646a)(例えば、スタック内の複数のオブジェクトは、少なくとも第1のオブジェクト、第2のオブジェクト、かつ第3のオブジェクトを含む)。いくつかの実施形態では、第1のオブジェクト及び第2のオブジェクトは、二次元オブジェクトである(1646b)。いくつかの実施形態では、第3のオブジェクトは、図15Cの手1503bによって制御されるオブジェクトのスタックに示されるような三次元オブジェクトである(1646c)。
【0422】
いくつかの実施形態では、第1の入力を検出している間(1646d)、図15Cのオブジェクト1506a及び1506cで示されるように、第1のオブジェクトの表現が第2のオブジェクトの表現と平行に表示される(1646e)(例えば、二次元オブジェクトがオブジェクトのスタック内で互いに平行に表示される)。
【0423】
いくつかの実施形態では、第3のオブジェクトの表現の既定の表面は、図15Cのオブジェクト1506bで示されるように、第1及び第2のオブジェクトの表現に対して垂直(例えば、又は垂直から1、2、5、10、15、20、若しくは30度以内など、実質的に垂直)に表示される(1646f)。例えば、三次元オブジェクトは、それらのオブジェクトの特定の表面がスタック内の二次元オブジェクトの平面に対して垂直になるように配向される。いくつかの実施形態では、特定の表面は、三次元オブジェクトの底面として定義される表面である(例えば、方法800を参照して説明されるように、ユーザが三次元環境内でオブジェクトを別々に移動させているときに、デバイスが仮想及び/又は物理的な床と平行に維持するオブジェクトの表面)。したがって、いくつかの実施形態では、三次元オブジェクト(単数又は複数)の底面は、三次元環境内で個別に移動されるときには床に平行であるが、オブジェクトのスタックの一部として移動されるときにはオブジェクトのスタック内の二次元オブジェクトに垂直である(例えば、任意選択的に床に平行ではない)。説明したように二次元オブジェクト及び三次元オブジェクトを位置合わせすることは、スタック内のオブジェクトの組織化された配置を提供しながら、スタック内の更に下のオブジェクトの可視性を保証し、それによってユーザ-デバイス相互作用を改善する。
【0424】
いくつかの実施形態では、第1の入力を検出している間(1648a)、第1のオブジェクトは、電子デバイスのユーザの視点から第1の距離に、かつ電子デバイスのユーザの視点に対して第1の相対的配向で表示される(1648b)。
【0425】
いくつかの実施形態では、第2のオブジェクトは、図15Cのオブジェクトのスタック内のファンアウトされたオブジェクトなど、ユーザの視点から第2の距離に、かつユーザの視点に対して第1の相対的配向と異なる第2の相対的配向で表示される(1648c)(例えば、第2のオブジェクトは、スタック内で第1のオブジェクトより低く、したがって、ユーザの視点からより遠い)。例えば、スタック内のオブジェクトは、任意選択的に、複数のオブジェクトがスタック内で互いの上にスタックされているときでも、スタック内のオブジェクトの少なくとも一部が見えるように、スタックを下方に移動する扇形に広がるパターンで、スタック内の直接隣接するオブジェクトに対してわずかに(例えば、1、3、5、10、15、又は20度だけ)回転される。いくつかの実施形態では、オブジェクトがスタック内でより下にあるほど、ユーザの視点に対してより大きく回転される。いくつかの実施形態では、回転は、ユーザの視点とオブジェクトのスタックとを接続するものとして定義される軸を中心とする。いくつかの実施形態では、かかる回転は、スタック内の二次元及び三次元オブジェクトの両方に適用される。いくつかの実施形態では、かかる回転は、スタック内の二次元オブジェクトに適用されるが、三次元オブジェクトには適用されない。説明されるようにオブジェクトを配向させることは、スタック内のオブジェクトの組織化された配置を提供しながら、スタック内の更に下のオブジェクトの可視性を確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0426】
いくつかの実施形態では、第1の入力を検出している間に、複数のオブジェクトは、オブジェクトのスタックにオブジェクトを追加するためのドロップゾーンとして動作する図15Cのオブジェクトのスタックなどの、三次元環境内の1つ以上の他のオブジェクトのドロップターゲットとして動作する(1650)。例えば、オブジェクトのスタックは、方法1200及び/又は1400を参照して説明されるように、異なるタイプのオブジェクトのための有効及び/又は無効なドロップゾーンのオブジェクトを受信することに関する1つ以上の特性を有する。したがって、いくつかの実施形態では、オブジェクトのスタックは、電子デバイスがオブジェクトのスタックを三次元環境内にドロップする入力を検出したときに存在しなくなる、オブジェクトのスタックのロケーション(例えば、オブジェクトのスタックが三次元環境内のどこに移動されても)にある一時的ドロップゾーンである。ドロップゾーンの1つ以上の特性を用いてオブジェクトのスタックを動作させることは、三次元環境内の一貫した予測可能なオブジェクトの移動及び配置の相互作用を提供し、それによってユーザ-デバイス相互作用を改善する。
【0427】
方法1600における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0428】
図17A図17Dは、いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする電子デバイスの例を示す。
【0429】
図17Aは、表示生成構成要素(例えば、図1の表示生成構成要素120)を介して、電子デバイス101のユーザの視点から三次元環境1702を表示する電子デバイス101を示す。図1図6を参照して上述したように、電子デバイス101は、任意選択的に、表示生成構成要素(例えば、タッチスクリーン)と、複数の画像センサ(例えば、図3の画像センサ314)と、を含む。画像センサは、任意選択的に、可視光カメラ、赤外線カメラ、深度センサ、又はユーザが電子デバイス101と相互作用する間にユーザ若しくはユーザの一部(例えば、ユーザの1つ以上の手)の1つ以上の画像をキャプチャするために電子デバイス101が使用することができるであろう任意の他のセンサのうちの1つ以上を含む。いくつかの実施形態では、以下に図示及び説明されるユーザインタフェースはまた、ユーザインタフェース又は三次元環境をユーザに表示する表示生成構成要素と、物理的環境及び/又はユーザの手の移動(例えば、ユーザから外向きに面する外部センサ)、かつ/又はユーザの視線(例えば、ユーザの顔に向かって内向きに面する内部センサ)を検出するためのセンサとを含む、ヘッドマウントディスプレイ上に実現され得る。
【0430】
図17Aに示すように、デバイス101は、デバイス101の周囲の物理的環境内の1つ以上のオブジェクトを含む、デバイス101の周囲の物理的環境(例えば、動作環境100)の1つ以上の画像をキャプチャする。いくつかの実施形態では、デバイス101は、三次元環境1702内の物理的環境の表現を表示する。例えば、三次元環境1702は、ソファの表現1724aを含み、これは、任意選択的に、物理的環境内の物理的ソファの表現である。三次元環境1702は、デバイス101が配置されている部屋の物理的な床及び後壁の表現も含む。
【0431】
図17Aでは、三次元環境1702はまた、仮想オブジェクト1706a、1710a、かつ1710bを含む。仮想オブジェクト1706a、1710a、かつ1710bは、任意選択的に、アプリケーションのユーザインタフェース(例えば、メッセージングユーザインタフェース、コンテンツブラウジングユーザインタフェースなど)、三次元オブジェクト(例えば、仮想時計、仮想ボール、仮想車など)、コンテンツの表現(例えば、写真、ビデオ、映画、音楽などの表現)、又はデバイス101の物理的環境に含まれないデバイス101によって表示される任意の他の要素のうちの1つ以上である。図17Aでは、仮想オブジェクト1706a、1710a、かつ1710bは、二次元オブジェクトであるが、本明細書に説明される例は、三次元オブジェクトに類似して適用され得る。
【0432】
いくつかの実施形態では、デバイス101のユーザは、三次元環境1702内で1つ以上の仮想オブジェクトをスローするための入力をデバイス101に提供することができる(例えば、物理的環境内で物理オブジェクトをスローすることに類似した方法で)。例えば、オブジェクトをスローするための入力は、任意選択的に、ユーザの手がオブジェクトの閾値距離(例えば、0.1、0.5、1、2、3、5、10、20、50、又は100cm)内にあるときにユーザの手の親指と人差し指が一緒になる(例えば、タッチする)ことを含むピンチハンドジェスチャであって、手がピンチハンド形状を維持している間の手の移動、手がまだ移動している間にピンチハンド形状の解放が(例えば、親指と人差し指が離れて移動する)続く、ピンチハンドジェスチャを含む。いくつかの実施形態では、スローするための入力は、ユーザの手がオブジェクトから閾値距離より遠い間、かつユーザの視線がオブジェクトに向けられている間に、ユーザの手の親指と人差し指が一緒になることを含むピンチハンドジェスチャであって、手がピンチハンド形状を維持している間の手の移動、かつ手がまだ移動している間のピンチハンド形状の解放(例えば、親指と人差し指が離れて移動する)が続く、ピンチハンドジェスチャである。いくつかの実施形態では、スローイング入力は、オブジェクトをスローする三次元環境1702内の方向(例えば、入力中及び/又はピンチハンド形状の解放時の手の移動の方向に対応する)及び/又はオブジェクトをスローする速度(例えば、入力中及び/又はピンチハンド形状の解放時の手の移動の速度に対応する)を定義する。
【0433】
例えば、図17Aにおいて、デバイス101は、オブジェクト1710aに向けられた1つ以上のスローイング入力を実行する手1703aと、オブジェクト1710bに向けられたスローイング入力を実行する手1703bとを検出する。複数の手及び対応する入力が図17A図17Dに示されているが、かかる手及び入力は、デバイス101によって同時に検出される必要はないことを理解されたい。むしろ、いくつかの実施形態では、デバイス101は、かかる手及び/又は入力を独立して検出したことに応じて、図示及び説明される手及び/又は入力に独立して応答する。
【0434】
いくつかの実施形態では、三次元環境内のオブジェクトの軌道は、三次元環境内のオブジェクトがスローイング入力によってターゲットにされたかどうかに依存する。例えば、ターゲティングは、任意選択的に、スローイング入力を提供するユーザの視線情報及び/又はスローイング入力によって指定された方向に基づく。いくつかの実施形態では、ユーザの視線が三次元環境内の特定のオブジェクトに向けられている場合、特定のオブジェクトはスローされているオブジェクトに対して有効なコンテナであり(例えば、特定のオブジェクトは、特定のコンテナがメッセージング会話のユーザインタフェースであり、スローされているオブジェクトがメッセージング会話に追加される写真の表現であるなど、スローされているオブジェクトを包含する/含むことができる)、かつ/又は、スローイング入力の方向が特定のオブジェクトに向けられている配向の範囲内(例えば、3、5、10、15、20、30、45、60、90、又は120度以内)である場合、特定のオブジェクトは、スローイング入力によってターゲットにされるものとしてデバイス101によって指定される。いくつかの実施形態では、上記の条件のうちの1つ以上が満たされない場合、特定のオブジェクトは、スローイング入力によってターゲットにされているものとしてデバイス101によって指定されない。特定のオブジェクトがスローイング入力によってターゲットにされた場合、三次元環境内のスローされたオブジェクトの軌道は、任意選択的にターゲットオブジェクトのロケーションに基づき、特定のオブジェクトがターゲットにされなかった場合(例えば、オブジェクトがターゲットにされなかった場合)にスローされたオブジェクトが有する軌道とは異なる。
【0435】
図17Aでは、ユーザの視線1708は、任意選択的にオブジェクト1710a及び/又は1710bの有効なコンテナであるオブジェクト1706aに向けられている。手1703aは、オブジェクト1710aに対して2つの代替的なスローイング入力を提供するものとして示されており、1つは方向1701aを有し、1つは方向1701bを有する。手1703aからの複数のスローイング入力が図17Aに示されているが、かかる入力は、任意選択的に、デバイス101によって同時に検出されず、むしろ、いくつかの実施形態では、デバイス101は、以下に説明する方法でそれらの入力を独立して検出し、それらの入力に応答することを理解されたい。方向以外は、2つの代替的なスローイング入力は、任意選択的に同じである(例えば、同じ速度、手の同じ移動など)。方向1701aは、任意選択的に、オブジェクト1706aのターゲティングを可能にする配向の範囲外であり、方向1701bは、任意選択的に、オブジェクト1706aのターゲティングを可能にする配向の範囲内である。
【0436】
図17Aはまた、方向1701cでオブジェクト1710bにスローイング入力を提供する手1703bを示す。手1703bによってオブジェクト1710bに向けられたスローイング入力は、任意選択的に、三次元環境1702内のオブジェクトをターゲットとしない。
【0437】
デバイス101によって検出された様々なスローイング入力に応じて、デバイス101は、図17Bに示すように、三次元環境1702内のオブジェクト1710a及び1710bを様々な方法で移動させる。例えば、手1703bによってオブジェクト1710bに提供された方向1701cのスローイング入力は、三次元環境1702内のオブジェクトをターゲットとしていなかったため、デバイス101は、任意選択的に、オブジェクト1710bに提供されたスローイング入力の速度及び/又は方向に対応する軌道である、図17Bに示すような軌道1707cに沿ってユーザの視点から離れて移動するオブジェクト1710bをアニメーション化する。オブジェクト1710bは、任意選択的に、図17Cに示すように、三次元環境1702内のユーザの視点から更に移動し続けるときに軌道1707cから逸脱せず、三次元環境1702内のその終了ロケーションに到達するまで軌道1707cに沿って移動し続ける。
【0438】
図17Bに戻ると、手1703aによってオブジェクト1710aに提供された方向1701aのスローイング入力は、(例えば、スローイング入力が検出されたときにユーザの視線1708がオブジェクト1706aに向けられていたとしても)オブジェクト1706aのターゲティングを可能にする配向の範囲外であったため、デバイス101は、図17Bに示すように、オブジェクト1710a’に提供された方向1701aのスローイング入力の速度及び/又は方向に対応する軌道であり、任意選択的に三次元環境1702内のオブジェクト1706aのロケーションに基づかない軌道1707aに沿ってユーザの視点から離れるように移動するオブジェクト1710a’(図17Aの方向1701aにスローされたオブジェクト1710aに対応する)を表示する。オブジェクト1710a’は、任意選択的に、図17Cに示すように、三次元環境1702内のユーザの視点から更に移動し続けるときに軌道1707aから逸脱せず、三次元環境1702内のその終了ロケーションに到達するまで軌道1707aに沿って移動し続ける。
【0439】
対照的に、手1703aによってオブジェクト1710aに提供された方向1701bのスローイング入力はオブジェクト1706aをターゲットにしたため、デバイス101は、三次元環境1702内のオブジェクト1706aのロケーションに基づく軌道に沿ってユーザの視点から離れるように移動するオブジェクト1710aを表示する。更に、いくつかの実施形態では、軌跡は、ユーザの視線1708のロケーションに更に基づく。例えば、図17Bにおいて、軌道1707b’は、任意選択的に、オブジェクト1706aがスローイング入力によってターゲットにされていなかった場合に、オブジェクト1710aに提供されたスローイング入力の方向1701bに基づいてオブジェクト1710aが辿る軌道である。軌道1707b’は、任意選択的に、オブジェクト1710aに提供された方向1701bのスローイング入力の速度及び/又は方向に対応する軌道であり、任意選択的に、三次元環境1702内のオブジェクト1706aのロケーションに基づかない。
【0440】
しかしながら、オブジェクト1706aがスローイング入力によってターゲットにされたため、デバイス101は、図17Bに示すように、任意選択的に軌道1707b’とは異なる軌道である軌道1707bに沿ってユーザの視点から離れるように移動するオブジェクト1710aを任意選択的に表示する。軌道1707bは、任意選択的に、軌道の初期部分の間は軌道1707b’に従うが、その後、軌道1707b’からオブジェクト1706aに向かって逸脱する。いくつかの実施形態では、軌道1707bは、(例えば、図17Bに示されるように)オブジェクト1706a内の視線1708のロケーションに向かって軌道1707b’から逸脱する。例えば、オブジェクト1706aが、オブジェクト1710aを配置する複数の有効なポジションを含むオブジェクト(例えば、オブジェクト1710aを自由に配置することができる空白キャンバス)である場合、軌道1707bが向けられるオブジェクト1706a内のポジション(例えば、したがって、オブジェクト1710aが静止するオブジェクト1706a内のポジション)は、任意選択的に、視線1708によって定義される。オブジェクト1710aは、図17Cに示すように、三次元環境1702内のユーザの視点から更に移動し続けるにつれて、任意選択的に、軌道1707bを辿り、オブジェクト1706a内のその終了ロケーションに到達するまで、軌道1707bに沿って移動し続ける。
【0441】
いくつかの実施形態では、スローイング入力によってターゲットとされるオブジェクトが、スローされたオブジェクトが配置することができる1つ以上の別個のロケーションを含む場合、デバイス101によって判定されるオブジェクトの軌道は、任意選択的に、ターゲットオブジェクト内のユーザの視線に向かって方向付けられず、むしろ1つ以上の別個のロケーションのうちの1つに向かって方向付けられ、いくつかの実施形態では、1つ以上の別個のロケーションのうちの選択された1つは、ユーザの視線に基づく(例えば、ターゲットオブジェクト内のユーザの視線に最も近い別個のロケーション)。例えば、図17Dは、(例えば、図17Aの)手1703aによって方向1701bでオブジェクト1710aに向けられたスローイング入力によってオブジェクト1706bがターゲットにされ、オブジェクト1706bが、オブジェクト1710aの有効なターゲットロケーションであるロケーション1714bを含む例を示す。例えば、ロケーション1714bは、(例えば、メッセージング会話にコンテンツ又はテキストを追加するためのメッセージングユーザインタフェースの)コンテンツ又はテキスト入力フィールドであり、その中に、任意選択的にオブジェクト1710bに対応するコンテンツ又はテキストを配置することができる。オブジェクト1706bはまた、オブジェクト1710aの有効なターゲットロケーションではない別の領域1714aを任意選択的に含む。例えば、領域1714aは、任意選択的に、コンテンツ又はテキストを表示するが、編集可能ではない(例えば、コンテンツ及び/又はテキストを領域1714aに配置することができない)コンテンツ表示領域である。
【0442】
図17Dの例では、ユーザの視線1708は、ロケーション又は領域1714bの外側にあるオブジェクト1706bの一部に向けられたが、オブジェクト1706bが、有効なターゲットロケーションであるロケーション又は領域1714bを含むため、かつ/又はロケーション又は領域1714bが、オブジェクト1706b内の視線1708に最も近い有効なターゲットロケーションであるため、デバイス101は、オブジェクト1710aが三次元環境1702内のユーザの視点から図17Dに示すオブジェクト1706b内のロケーション又は領域1714b内のその終了ロケーションに更に移動したときに、図17Cの軌道1707bとは任意選択的に異なる軌道1707b’’に沿ってオブジェクト1710aを移動させている。軌道1707bと同様に、軌道1707b’’は、任意選択的に、軌道1707b’とは異なる軌道である。更に、軌道1707b’’は、任意選択的に、軌道の初期部分の間は軌道1707b’に追従するが、その後、軌道1707b’からオブジェクト1706b内のロケーション又は領域1714bに向かって逸脱する。いくつかの実施形態では、軌道1707b’’は、ロケーション又は領域1714b内の固定又はデフォルトロケーション(例えば、視線1708のロケーションに基づいて変化しないロケーション)に向かって軌道1707b’から逸脱する。いくつかの実施形態では、軌道1707b’’は、軌道1707b’から、視線1708によって画定されるロケーション又は領域1714b内のロケーション(例えば、視線1708に最も近いロケーション又は領域1714b内のロケーション)に向かって逸脱する。
【0443】
図18A図18Fは、いくつかの実施形態による、三次元環境内の仮想オブジェクトのスローイングを容易にする方法1800を示すフローチャートである。いくつかの実施形態では、方法1800は、表示生成構成要素(例えば、図1図3、かつ図4の表示生成構成要素120)(例えば、ヘッドアップディスプレイ、ディスプレイ、タッチスクリーン、プロジェクタなど)と、1つ以上のカメラ(例えば、ユーザの手の下方を指すカメラ(例えば、カラーセンサ、赤外線センサ、かつ他の深度感知カメラ)又はユーザの頭部から前方を指すカメラ)とを含むコンピュータシステム(例えば、タブレット、スマートフォン、ウェアラブルコンピュータ、又はヘッドマウントデバイスなどの図1のコンピュータシステム101)で実行される。いくつかの実施形態では、方法1800は、非一時的コンピュータ可読記憶媒体に記憶され、コンピュータシステム101の1つ以上のプロセッサ202(例えば、図1Aの制御ユニット110)などのコンピュータシステムの1つ以上のプロセッサによって実行される命令によって管理される。方法1800のいくつかの動作は、任意選択的に、組み合わされ、かつ/又はいくつかの動作の順序は、任意選択的に、変更される。
【0444】
いくつかの実施形態では、方法1800は、表示生成構成要素(例えば、120)及び1つ以上の入力デバイス(例えば、314)と通信する電子デバイス(例えば、101)において実行される。例えば、モバイルデバイス(例えば、タブレット、スマートフォン、メディアプレーヤ、又はウェアラブルデバイス)、又はコンピュータである。いくつかの実施形態では、表示生成構成要素は、電子デバイス(任意選択的にタッチスクリーンディスプレイ)と一体化されたディスプレイ、モニタ、プロジェクタ、テレビなどの外部ディスプレイ、又はユーザインタフェースを投影し1人以上のユーザにユーザインタフェースが可視であるようにするためのハードウェア構成要素(任意選択的に組み込み若しくは外部)などである。いくつかの実施形態では、1つ以上の入力デバイスは、ユーザ入力(例えば、ユーザ入力をキャプチャし、ユーザ入力を検出する等)を受信し、ユーザ入力に関連する情報を電子デバイスに送信することができる電子デバイス又は構成要素を含む。入力デバイスの例は、タッチスクリーン、マウス(例えば、外部)、トラックパッド(任意選択で統合又は外部)、タッチパッド(任意選択で統合又は外部)、リモートコントロールデバイス(例えば、外部)、別のモバイルデバイス(例えば、電子デバイスとは別個)、ハンドヘルドデバイス(例えば、外部)、コントローラ(例えば、外部)、カメラ、深度センサ、アイトラッキングデバイス、及び/又はモーションセンサ(例えば、ハンドトラッキングデバイス、ハンドモーションセンサ)などを含む。いくつかの実施形態では、電子デバイスは、ハンドトラッキングデバイス(例えば、1つ以上のカメラ、深度センサ、近接センサ、タッチセンサ(例えば、タッチスクリーン、トラックパッド)と通信する。いくつかの実施形態では、ハンドトラッキングデバイスは、スマートグローブなどのウェアラブルデバイスである。いくつかの実施形態では、ハンドトラッキングデバイスは、リモートコントロール又はスタイラスなどのハンドヘルド入力デバイスである。
【0445】
いくつかの実施形態では、電子デバイスは、表示生成構成要素を介して、図17Aのオブジェクト1710a及び1706aなどの第1のオブジェクト及び第2のオブジェクトを含む三次元環境を表示する(1802a)。いくつかの実施形態では、三次元環境は、電子デバイス(例えば、仮想現実(VR)環境、複合現実(MR)環境、又は拡張現実(AR)環境などのコンピュータ生成現実(CGR)環境)によって生成され、表示され、又は他の方法で視認可能にされる。いくつかの実施形態では、第1及び/又は第2のオブジェクトは、方法1600を参照して説明されるようなオブジェクトである。いくつかの実施形態では、第1及び/又は第2のオブジェクトは、電子デバイス上にインストールされたアプリケーションのユーザインタフェース(例えば、メッセージングアプリケーションのユーザインタフェース、ビデオ通話アプリケーションのユーザインタフェースなど)及び/又はコンテンツの表現(例えば、写真の表現、ビデオの表現など)などの二次元オブジェクトである。いくつかの実施形態では、第1及び/又は第2のオブジェクトは、車の三次元モデル、目覚し時計の三次元モデルなどの三次元オブジェクトである。
【0446】
いくつかの実施形態では、三次元環境を表示している間に、電子デバイスは、1つ以上の入力デバイスを介して、図17Aのオブジェクト1710aに向けられた手1703aからの入力などの、個別の速度及び個別の方向で三次元環境内に第1のオブジェクトをスローする要求を含む、第1のオブジェクトに向けられた第1の入力を検出する(1802b)。例えば、第1の入力は、任意選択的に、手が第1のオブジェクトの閾値距離(例えば、0.1、0.5、1、2、3、5、10、20、50、又は100cm)内にあるときにユーザの手の親指と人差し指が一緒になる(例えば、タッチする)ピンチハンドジェスチャであって、手がピンチハンド形状を維持している間の手の移動、かつ手がまだ移動している間のピンチハンド形状の解放(例えば、親指と人差し指が離れる)が続く、ピンチハンドジェスチャである。いくつかの実施形態では、第1の入力は、ユーザの手が第1のオブジェクトから閾値距離よりも遠い間、かつユーザの視線が第1のオブジェクトに向けられている間に、ユーザの手の親指と人差し指が一緒になるピンチハンドジェスチャであって、手がピンチハンド形状を維持している間の手の移動、かつ手が依然として移動している間のピンチハンド形状の解放(例えば、親指と人差し指が離れて移動する)が続く、ピンチハンドジェスチャである。いくつかの実施形態では、第1の入力は、第1のオブジェクトをスローする三次元環境内の方向(例えば、第1の入力中及び/又はピンチハンド形状の解放時の手の移動の方向に対応する)及び/又は第1のオブジェクトをスローする速度(例えば、第1の入力中及び/又はピンチハンド形状の解放時の手の移動の速度に対応する)を定義する。
【0447】
いくつかの実施形態では、第1の入力を検出したことに応じて(1802c)、第1の入力が、図17Aの手1703aからの入力によってターゲットにされているオブジェクト1706aなどの第1のオブジェクトをスローする要求が検出されたときに第2のオブジェクトがユーザによって現在ターゲットにされていたときに満たされる基準を含む1つ以上の基準を満たすという判定に従って(例えば、ユーザが第1の入力で手又は腕を移動させている間又はその直後に指を離す(例えば、以前にタッチしていたときに親指及び人差し指の先端を互いに離れるように移動させる)、又は手を開くときなど、第1のオブジェクトの解放に対応する第1の入力の一部が検出された時間に対応する時間に。いくつかの実施形態では、第2のオブジェクトが現在ターゲットにされていたかどうかの判定は、ユーザによるピンチハンド形状の解放の瞬間、ユーザによるピンチハンド形状の解放前のある時点、かつ/又はユーザによるピンチハンド形状の解放後のある時点における特性(例えば、スローイング入力の特性、三次元環境の特性など)に基づく。いくつかの実施形態では、ユーザの手の移動の方向が第2のオブジェクトに向けられていない場合であっても、第1の入力におけるピンチハンド形状の解放時などの第1の入力中のユーザの視線が第2のオブジェクトに向けられていること、ユーザの手の移動の方向(例えば、第1の入力の終了時)が第2のオブジェクトに向けられていないが、第2のオブジェクトに向けられている角度の閾値範囲内(例えば、5、10、30、45、90、又は180度以内)であること、又は手の移動の方向(例えば、第1の入力の終了時)が第2のオブジェクトに向けられていることのうちの1つ以上が真である場合、第2のオブジェクトは現在ターゲットにされていた。いくつかの実施形態では、第2のオブジェクトは、ユーザ入力に応答した第2のオブジェクトの明示的な選択(例えば、第1のオブジェクトをスローする要求を検出する前の第2のオブジェクトの強調表示及び/又は選択)及び/又は暗黙的な選択(例えば、ユーザの視線が第2のオブジェクトに向けられていることに基づく、上述した特性のうちの1つ以上に基づくなど)に基づいて現在ターゲットにされていた))、電子デバイスは、オブジェクト1710aに関して図17B図17Cから示されるように、第1のオブジェクトを三次元環境内の第2のオブジェクトに移動させる(1802d)(第2のオブジェクトは、三次元環境内の第1のオブジェクトをスローする要求の個別の速度及び/又は個別の方向に基づいて決定された三次元環境内の経路上で移動されない)。例えば、第2のオブジェクトがターゲットにされなかった場合(例えば、オブジェクトがターゲットにされなかった場合)、第1のオブジェクトは、任意選択的に、特定のオブジェクトへの誘引によって個別の経路から逸脱することなく、スローイング入力の方向によって定義される三次元環境内の個別の経路に沿って移動される。いくつかの実施形態では、個別の経路は、第2のオブジェクトにつながらない/第2のオブジェクトと交差しない。しかしながら、第2のオブジェクトがターゲットとされる場合、第1のオブジェクトは、任意選択的に、個別の経路に沿って開始するが、次いで、その個別の経路から逸脱し、第2のオブジェクトに到達する。したがって、いくつかの実施形態では、第1のオブジェクトが移動する経路は、第1のオブジェクトをスローする要求が検出されたときにオブジェクトが現在ターゲットにされているかどうかに応じて、ユーザの手からの同じ第1の入力に対して異なる。例えば、第2のオブジェクトがターゲットにされる場合、三次元環境内で第1のオブジェクトをスローすることにより、電子デバイスは、第1の入力の終了(例えば、ピンチハンド形状の解放)後に、三次元環境を通して第1のオブジェクトを第2のオブジェクトに移動させる。いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトのための有効なコンテナである場合、第1のオブジェクトは、第2のオブジェクトに追加され、かつ/又はそれによって包含される。例えば、第2のオブジェクトが、第2のオブジェクトによって表示されたメッセージング会話にコンテンツを追加するためのコンテンツ入力フィールドを含むメッセージングユーザインタフェースである場合、1つ以上の基準が満たされると、第1のオブジェクト(例えば、写真、画像、ビデオ、歌などの表現)を三次元環境にスローすることによって、第1のオブジェクトがコンテンツ入力フィールド及び/又はメッセージング会話に追加される。ユーザの手の移動の方向が第2のオブジェクトに向けられず、第2のオブジェクトが上述のようにターゲットにされるいくつかの実施形態では、第2のオブジェクトへの第1のオブジェクトの移動の初期部分は、手の移動の方向に基づくが、第2のオブジェクトへの第1のオブジェクトの移動の後続の部分は、手の移動の方向に基づかない(例えば、第1のオブジェクトは、1つ以上の基準を満たすことに基づいて第2のオブジェクトに到達するために、スローイング入力の方向によって定義された経路から逸脱する)。
【0448】
いくつかの実施形態では、図17Aの手1703aによる方向1701aへの入力など、第1のオブジェクトをスローする要求が検出されたときに第2のオブジェクトがユーザによって現在ターゲットにされていなかったため、(例えば、第2のオブジェクトがターゲットにされたが、第1のオブジェクトをスローする要求が検出されたときにはターゲットにされなかった(例えば、ユーザの視線が以前に第2のオブジェクトに向けられたが、ターゲットにすることが決定されたときの第1の入力中の瞬間又はその間にはターゲットにされなかった)、三次元環境内の異なるオブジェクトがターゲットにされたか、又はオブジェクトがターゲットにされなかった。いくつかの実施形態では、第1の入力におけるピンチハンド形状の解放時などの第1の入力中のユーザの視線が第2のオブジェクトに向けられていない、ユーザの手の移動の方向(例えば、第1の入力の終了時)が第2のオブジェクトに向けられておらず、第2のオブジェクトに向けられている角度の閾値範囲外(例えば、5、10、30、45、90、又は180度以内)である、又は手の移動の方向(例えば、第1の入力の終了時)が第2のオブジェクトに向けられていない、のうちの1つ以上が真である場合、第2のオブジェクトはターゲットにされない。)第1の入力が1つ以上の基準を満たさないという判定に従って、電子デバイスは、第1のオブジェクトを三次元環境内の第2のオブジェクト以外の個別のロケーションに移動させ、個別のロケーションは、図17B図17Cのオブジェクト1710a’で示すような三次元環境内の第1のオブジェクトをスローする要求の個別の速度及び個別の方向に基づいて決定された三次元環境内の経路上にある(例えば、電子デバイスに、第1のオブジェクトを第2のオブジェクトに追加することなく、又は第1のオブジェクトを任意の他のオブジェクトに追加することなく、第1の入力の終了時の手の移動の方向及び/又は手の移動の速度に基づいて、第1の入力の終了後に三次元環境内で第1のオブジェクトを移動させる)。いくつかの実施形態では、個別のロケーションはオブジェクトを含まず、したがって、第1のオブジェクトは、スローイング入力に従って空間内で移動される。三次元環境内のターゲットオブジェクトへのオブジェクトの移動を容易にすることは、デバイスへのオブジェクト移動入力の効率を改善し、誤ったオブジェクト移動結果を回避し、それによって、ユーザ-デバイス相互作用を改善する。
【0449】
いくつかの実施形態では、第1の入力は、図17Aの手1703a及び1703bを参照して説明したように、個別の速度及び個別の方向に対応する電子デバイスのユーザの個別の部分の移動を含む(1804)。例えば、スローイング入力は、ピンチハンド形状にある間にユーザの手によって提供される入力であり、手は、個別の速度及び個別の方向に対応する速度及び方向で移動する。三次元環境内の手の移動に基づいてターゲットオブジェクトへのオブジェクトの移動を容易にすることは、デバイスへのオブジェクト移動入力の効率を改善し、それによってユーザ-デバイス相互作用を改善する。
【0450】
いくつかの実施形態では、第2のオブジェクトは、図17Aの視線1708などの、第1の入力中に第2のオブジェクトに向けられている電子デバイスのユーザの視線に基づいてターゲットにされる(1806)。例えば、ユーザの視線が第2のオブジェクトに向けられている場合(例えば、スローイング入力のピンチジェスチャの解放前、スローイング入力のピンチジェスチャの解放時、スローイング入力のピンチジェスチャの解放後など、オブジェクトターゲティングが決定されている間)、第2のオブジェクトは、スローイング入力によってターゲットにされていると任意選択的に決定される。いくつかの実施形態では、ユーザの視線が第2のオブジェクトに向けられていない場合、第2のオブジェクトは、任意選択的に、ターゲットにされていないと判定される。視線に基づいてオブジェクトをターゲットにすることは、デバイスへのオブジェクト移動入力の効率を改善し、それによって、ユーザ-デバイス相互作用を改善する。
【0451】
いくつかの実施形態では、第1のオブジェクトを第2のオブジェクトに移動させることは、図17Aの手1703a及び/又は1703bからの入力を参照して説明したように、第1の入力の個別の速度に基づく速度で第1のオブジェクトを第2のオブジェクトに移動させることを含む(1808)。例えば、電子デバイスは、任意選択的に、三次元環境内で第1のオブジェクトが第2のオブジェクトに移動するアニメーションを表示する。いくつかの実施形態では、第1のオブジェクトが三次元環境内で移動するようにアニメーション化される速度は、スローイング入力(例えば、スローイング入力を提供する手)の速度に基づき、例えば、スローイング入力がより速い速度を有する場合はより速く、スローイング入力がより遅い速度を有する場合はより遅い。スローイング入力の速度に基づく速度でオブジェクトを移動させることは、デバイス応答をユーザ入力と一致させ、それによって、ユーザ-デバイス相互作用を改善する。
【0452】
いくつかの実施形態では、第1のオブジェクトを第2のオブジェクトに移動させることは、(例えば、第1の速度、第1の加速度、第1の移動経路などを使用して)図17A図17Cの軌道1707bに沿ってオブジェクト1710aを移動させるなど、第1の物理モデルに基づいて三次元環境内で第1のオブジェクトを移動させることを含む(1810a)。
【0453】
いくつかの実施形態では、第1のオブジェクトを個別のロケーションに移動させることは、(例えば、第2の速度、第2の加速度、第2の移動経路などを使用して)図17B図17Cの軌道1707aに沿ってオブジェクト1710aを移動させるなど、第1の物理モデルとは異なる第2の物理モデルに基づいて三次元環境内で第1のオブジェクトを移動させることを含む(1810b)。いくつかの実施形態では、第1のオブジェクトがどのように空間を通って第2のオブジェクトに移動するか、かつ/又は第1のオブジェクトがどのように第2のオブジェクトに移動するかに対する第1の入力の関係を任意選択的に制御する第1の物理モデルは、第1のオブジェクトがどのように空間を通って個別のロケーションに移動するか、かつ/又は第1のオブジェクトがどのように個別のロケーションに移動するかに対する第1の入力の関係を任意選択的に制御する第2の物理モデルとは異なる。したがって、いくつかの実施形態では、第1のオブジェクトが上述の2つのシナリオにおいて異なるロケーションに移動しているという事実の他に、第1のオブジェクトは、同じスローイング入力が与えられると、それらの異なるロケーションに異なるように移動する。第1のオブジェクトの移動のために異なる物理モデルを利用することは、三次元環境内のオブジェクト移動がかかる移動のターゲットによく適していることを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0454】
いくつかの実施形態では、第1の物理モデルに基づいて第1のオブジェクト(例えば、1710a)を移動させることは、第1の物理モデルによって設定された第1の最大速度に第1のオブジェクトの移動を制限することを含み(例えば、第1のオブジェクトを第2のオブジェクトに移動させるアニメーションのある時点で、及び/又は第1のオブジェクトが移動する最大速度を制御する第1の最大速度閾値をスローイング入力に適用することで)、第2の物理モデルに基づいて第1のオブジェクト(例えば、1710a’)を移動させることは、第1のオブジェクトの移動を、第2の物理モデルによって設定される第2の最大速度に制限することを含み、第2の最大速度は、第1の最大速度とは異なる(1812)(例えば、第1のオブジェクトを個別のロケーションに移動させる、及び/又は第1のオブジェクトが移動する最大速度を制御する第2の最大速度閾値をスローイング入力に適用するアニメーションのある時点で)。いくつかの実施形態では、更なる入力速度が第1のオブジェクトの移動の速度の増加(及び/又は第1のオブジェクトが三次元環境内で移動する距離の増加)をもたらさない速度閾値は、第1の物理モデルと第2の物理モデルとで異なる。いくつかの実施形態では、所与の物理モデルに対する個別の入力速度閾値未満では、より速い入力速度はより速いオブジェクト移動をもたらし、より遅い入力速度はより遅いオブジェクト移動をもたらす。いくつかの実施形態では、第1のオブジェクトの移動の最大速度を制限することは、同様に、三次元環境内の第1のオブジェクトに対する(例えば、第1のオブジェクトの所与の質量に対する)最大シミュレート慣性を制限する。異なるタイプのオブジェクト移動に対して異なる最大速度閾値を利用することは、三次元環境内のオブジェクト移動がかかる移動のターゲットに好適であることを保証し、それによって、ユーザ-デバイス相互作用を改善する。
【0455】
いくつかの実施形態では、第1の最大速度は第2の最大速度よりも大きい(1814)。いくつかの実施形態では、オブジェクトをターゲットとする入力に対する最大入力速度閾値は、オブジェクトをターゲットとしない入力(例えば、三次元環境内の空き空間に向けられた入力)に対するものよりも高い。いくつかの実施形態では、これは、オブジェクトがスローイング入力のターゲットになっていない場合に、オブジェクトをスローすることができる距離を制限する場合であり、スローされた後にユーザによって相互作用可能な距離にオブジェクトがまだあることを確実にする。したがって、いくつかの実施形態では、ユーザは、オブジェクトを、空き空間内のロケーションよりも迅速にオブジェクトに移動させることができる。オブジェクトターゲット移動に対してより高い最大速度閾値を利用することは、オブジェクトがもはや相互作用可能でない距離にスローされることを回避しながら、適切なときに移動の速度を増加させることを可能にし、それによって、ユーザ-デバイス相互作用を改善する。
【0456】
いくつかの実施形態では、第1の物理モデルに基づいて第1のオブジェクト(例えば、1710a)を移動させることは、(例えば、第1のオブジェクトを第2のオブジェクトに移動させるアニメーションのある時点で、及び/又は第1のオブジェクトが移動する最小速度を制御する第1の最小速度閾値をスローイング入力に適用して)第1の物理モデルによって設定された第1の最小速度に第1のオブジェクトの移動を制限することを含み、第2の物理モデルに基づいて第1のオブジェクト(例えば、1710a’)を移動させることは、第1のオブジェクトの移動を、第2の物理モデルによって設定される第2の最小速度に制限することを含み、第2の最小速度は、第1の最小速度とは異なる(1816)(例えば、第1のオブジェクトが移動する最小速度を制御する第2の最小速度閾値をスローイング入力に適用して、第1のオブジェクトを個別のロケーションに移動させるアニメーションのある時点で)。いくつかの実施形態では、より小さい入力速度が第1のオブジェクトの移動の速度の減少(及び/又は第1のオブジェクトが三次元環境内で移動する距離の減少)をもたらさない速度閾値、かつ/又はより小さい入力速度がスローイング入力として識別されない速度閾値は、第1の物理モデルと第2の物理モデルとで異なる。いくつかの実施形態では、所与の物理モデルに対する個別の入力速度閾値を上回ると、より速い入力速度は、より速いオブジェクト移動をもたらし、より遅い入力速度は、より遅いオブジェクト移動をもたらす。いくつかの実施形態では、第1のオブジェクトの移動の最小速度を制限することは、同様に、三次元環境内の第1のオブジェクトに対する(例えば、第1のオブジェクトの所与の質量に対する)最小シミュレート慣性を制限する。異なるタイプのオブジェクト移動に対して異なる最小速度閾値を利用することは、三次元環境内のオブジェクト移動がかかる移動のターゲットに好適であることを保証し、それによって、ユーザ-デバイス相互作用を改善する。
【0457】
いくつかの実施形態では、第1の最小速度は、手1703aからの入力がスローイング入力として識別されるのに必要な手1703aの移動の速度など、第1の入力がスローイング入力として識別されるのに必要な最小速度よりも大きい(1818a)。例えば、オブジェクト(例えば、第2のオブジェクト)がユーザ入力によってターゲットにされるとき、ユーザ入力は、電子デバイスが、第1のオブジェクトを三次元環境内の第2のオブジェクトに(例えば、第1の最小速度で)移動させる第1のオブジェクトに向けられたスローイング又はフリンギング入力として入力に応答するために、第1の最小速度を有することが必要とされる。いくつかの実施形態では、入力が第1の最小速度未満の速度を有する場合、第1のオブジェクトは第2のオブジェクトに移動しない(例えば、第2のオブジェクトが入力によって別の方法でターゲットにされたとしても)。いくつかの実施形態では、入力は、スローイング入力として認識されず、第1のオブジェクトは、三次元環境内のその現在のロケーションに留まり、かつ/又はそのポジションは、ユーザの手の移動によって制御されたままである。いくつかの実施形態では、入力は、スローイング入力として認識されるが、第1のオブジェクトは、第2のオブジェクトの手前の三次元環境内のロケーションにスローされる。いくつかの実施形態では、この第1の最小速度は、入力によってターゲットにされるオブジェクトがない場合(例えば、入力が三次元環境内の空き空間に向けられる場合)に入力をスローイング入力として認識するためにデバイスによって必要とされる最小入力速度よりも大きい。
【0458】
いくつかの実施形態では、第2の最小速度は、手1703aからの入力がスローイング入力として識別されるのに必要な手1703aの移動の速度など、第1の入力がスローイング入力(1818b)として識別されるのに必要な最小速度に対応する。例えば、オブジェクト(例えば、第2のオブジェクト)がユーザ入力によってターゲットにされていないとき、ユーザ入力は、電子デバイスが、第1のオブジェクトを三次元環境内の個別のロケーションに(例えば、第2の最小速度で)移動させる第1のオブジェクトに向けられたスローイング又はフリンギング入力として入力に応じるために、第2の最小速度を有することが必要とされる。いくつかの実施形態では、入力が第2の最小速度未満の速度を有する場合、第1のオブジェクトは、個別のロケーションに移動せず、いくつかの実施形態では、入力は、スローイング入力として認識されず、第1のオブジェクトは、三次元環境内のその現在のロケーションのままであり、かつ/又はそのポジションは、ユーザの手の移動によって制御されたままであり、いくつかの実施形態では、入力は、スローイング入力として認識されるが、第1のオブジェクトは、個別のロケーションの手前の三次元環境内のロケーションにスローされる。いくつかの実施形態では、この第2の最小速度は、入力をスローイング入力として認識するためにデバイスによって必要とされる最小入力速度と同じである(例えば、入力が三次元環境内の空き空間に向けられる場合)。オブジェクトをターゲットとする移動に対してより高い最小速度閾値を利用することは、入力が、スローされているオブジェクトがターゲットオブジェクトに到達するのに十分な速度を有することを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0459】
いくつかの実施形態では、第2のオブジェクトは、図17Aの視線1708及び方向1701bなど、第1の入力中に電子デバイスのユーザの視線が第2のオブジェクトに向けられていること、かつ第1の入力の個別の方向が第2のオブジェクトに向けられていることに基づいてターゲットにされる(1820)。いくつかの実施形態では、第2のオブジェクトがターゲットにされるために、ユーザの視線が第2のオブジェクトに向けられなければならず(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後)、かつ第1の入力の方向が第2のオブジェクトに向けられなければならない(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後)。いくつかの実施形態では、ユーザの視線が第2のオブジェクトと一致する、かつ/又はユーザの視線が第2のオブジェクトを包囲するボリューム(例えば、第2のオブジェクトより1、5、10、20、30、又は50パーセント大きいボリューム)と一致するとき、ユーザの視線は、第2のオブジェクトに向けられる。いくつかの実施形態では、第1の入力の方向は、その方向が第2のオブジェクトに向けられていることから0、1、3、5、10、15、30、45、60、又は90度以内であるとき、第2のオブジェクトに向けられる。いくつかの実施形態では、視線又は方向が第2のオブジェクトに向けられていない場合、第1のオブジェクトは、第2のオブジェクトに移動されない。例えば、ユーザの視線が第2のオブジェクトに向けられているが、入力の方向が第2のオブジェクトに向けられていない場合、第1のオブジェクトは、入力の速度及び/又は方向に基づいて三次元環境内のロケーションに移動され、第2のオブジェクトには移動されない。視線及び方向の両方が第2のオブジェクトに向けられることを必要とすることは、入力が第2のオブジェクトに向けられていると誤って決定されないことを確実にし、それによって、ユーザ-デバイス相互作用を改善する。
【0460】
いくつかの実施形態では、三次元環境内で第1のオブジェクトを第2のオブジェクトに移動させることは、軌道1707bに沿って移動するオブジェクト1710aのアニメーションなど、三次元環境を通して第2のオブジェクトに移動する第1のオブジェクトの第1のアニメーションを表示することを含む(1822a)。
【0461】
いくつかの実施形態では、第1のオブジェクトを三次元環境内の個別のロケーションに移動させることは、軌道1707aに沿って移動するオブジェクト1710a’のアニメーションなど、三次元環境を通って個別のロケーションに移動する第1のオブジェクトの第2のアニメーションを表示することを含む(1822b)。いくつかの実施形態では、第1及び第2のアニメーションは異なる(例えば、第1のオブジェクトが横断する経路、経路を横断する速度、ユーザの視点に対する経路の方向、ユーザの視点に対する第1のオブジェクトの経時的なポジションの変化(例えば、視点からの距離及び視点に対する横方向ポジションの両方のうちの1つ以上)など)。いくつかの実施形態では、第1のオブジェクトによって占有されるユーザの視野の量は、第1及び/又は第2のアニメーションが進行するにつれて変化する(例えば、第1のオブジェクトがユーザの視点から更に離れて移動するにつれて低減される)。いくつかの実施形態では、第1及び/又は第2のアニメーションの様々な特性は、第1の入力(例えば、アニメーションにおける第1のオブジェクトの移動の速度、アニメーションにおけるオブジェクトの移動の方向など)に基づく。三次元環境を通して第1のオブジェクトの移動をアニメーション化することは、ユーザの入力の結果のフィードバックをユーザに提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0462】
いくつかの実施形態では、第1のオブジェクトが三次元環境内の空間を通って第2のオブジェクトまで移動する第1のアニメーションは、第1のオブジェクトの第1のアニメーションが、軌道1707b及び1707b’の開始部分が同じであることに対応するなど、第1のオブジェクトをスローする要求の個別の速度及び個別の方向に基づいて決定された三次元環境内の経路に沿った移動に対応する第1の部分(1824b)を含む(1824a)。例えば、第1のアニメーションの第1の部分は、第2のアニメーションの対応する第1の部分に対応する(例えば、同じである)。したがって、いくつかの実施形態では、第1のオブジェクトのアニメーションの初期部分は、第1の入力の速度及び/又は方向に一致する(例えば、第2のオブジェクトのターゲティングによって影響されない)。いくつかの実施形態では、第1のアニメーションの第1の部分は、直線経路に沿った第1のオブジェクトの移動を含み、第2のアニメーションは、直線経路に沿った第1のオブジェクトの移動を含み(例えば、第2のアニメーションの全体に対して)、いくつかの実施形態では、同じ直線経路である。
【0463】
いくつかの実施形態では、三次元環境内の空間を通って第2のオブジェクトに移動する第1のオブジェクトの第1のアニメーションは、第1の部分に続く第2の部分(1824c)を含み、その間、第1のオブジェクトの第1のアニメーションは、図17Bの軌道1707b’から軌道1707bに逸脱するオブジェクト1710aなど、第2のオブジェクトに向かう異なる経路に沿った移動に対応する。例えば、第1のアニメーションの第1の部分の後、第1のオブジェクトは、第1の入力の速度及び/又は方向によって定義される(例えば、直線の)経路から逸脱し、第2のオブジェクトのターゲティングによっても定義される経路に沿って移動する。いくつかの実施形態では、第1のオブジェクトの経路は、第1のアニメーションの第1の部分の後に湾曲し、第2のオブジェクトに向かって湾曲し、先に辿った直線経路から離れる。第1のアニメーションの初期部分を第1の入力の速度及び/又は方向と一致させることは、ユーザ入力に対応し、ユーザ入力と一致し、ユーザ入力から切断されない結果を提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0464】
いくつかの実施形態では、第1のオブジェクトが三次元環境内の空間を通って個別のロケーションに移動する第2のアニメーションは、第1のオブジェクトをスローする要求の個別の速度及び個別の方向に基づいて決定された三次元環境内の個別のロケーションへの経路に沿った移動に対応する第1のオブジェクトのアニメーションを含み、かかるアニメーションは、軌道1707aに沿った移動に対応する(1826)。いくつかの実施形態では、第1のオブジェクトは、第2のアニメーションの間(例えば、その全体にわたって)直線経路に沿って移動する。いくつかの実施形態では、直線経路の方向は、第1の入力の方向に対応する(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後)。いくつかの実施形態では、直線経路の長さは、第1の入力の速度(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後)に対応し、第1の入力のより速い速度は、より長い経路をもたらし、第1の入力のより遅い速度は、より短い経路をもたらす。第1の入力の速度及び/又は方向に基づいて第1のオブジェクトの経路を定義することは、ユーザ入力に対応し、ユーザ入力と一致し、ユーザ入力から切断されない結果を提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0465】
いくつかの実施形態では、第1のオブジェクトをスローする要求が検出された(例えば、第1の入力が第1のオブジェクトを三次元環境内の空き空間にスローイング入力に対応する)ときに第2のオブジェクトがユーザによって現在ターゲットにされていなかったという判定に従って、第1の入力がスローイング入力として識別されるための最小速度要件は、図17Aの方向1701aの手1703aからの入力などの第1の速度要件である(1828a)(例えば、オブジェクトがターゲットにされていないときに第1の入力がスローイング入力として識別されるためには、少なくとも0cm/s、0.3cm/s、0.5cm/s、1cm/s、3cm/s、5cm/s、又は10cm/sの入力速度が必要とされる(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後))。いくつかの実施形態では、最小速度要件が満たされない場合、入力は、スローイング入力として識別されず、第1のオブジェクトは、前述のように、三次元環境内にスローされない。
【0466】
いくつかの実施形態では、第1のオブジェクトをスローする要求が検出された(例えば、第1の入力が三次元環境内で第1のオブジェクトを第2のオブジェクトにスローイング入力に対応する)ときに第2のオブジェクトがユーザによって現在ターゲットにされていたという判定に従って、第1の入力がスローイング入力として識別されるための最小速度要件は、図17Aの方向1701bの手1703aからの入力などの第1の速度要件とは異なる第2の速度要件である(1828b)(例えば、第1の速度要件よりも大きいか又は小さい)。例えば、少なくとも0.1cm/s、0.3cm/s、0.5cm/s、1cm/s、3cm/s、5cm/s、又は10cm/sの入力速度が、(例えば、第1の入力中、第1の入力の終了/解放時、かつ/又は第1の入力後に)オブジェクトがターゲットにされたときに第1の入力がスローイング入力として識別されるために必要とされる。いくつかの実施形態では、最小速度要件が満たされない場合、入力は、スローイング入力として識別されず、第1のオブジェクトは、前述のように、三次元環境内にスローされない。オブジェクトをターゲットとする移動に対して異なる最小速度閾値を利用することは、入力が、スローされているオブジェクトがターゲットオブジェクトに到達するのに十分な速度を有することを保証し、それによって、ユーザ-デバイス相互作用を改善する。
【0467】
いくつかの実施形態では、三次元環境内で第1のオブジェクトを第2のオブジェクトに移動させることは、図17Cに示すように、電子デバイスのユーザの視線に基づいて決定された第2のオブジェクト内のロケーションに第1のオブジェクトを移動させることを含む(1830)。例えば、第2のオブジェクトが、第1のオブジェクトが配置することができる/第1のオブジェクトがスローされ得る複数のロケーション(例えば、異なる入力フィールド、同じ入力フィールド又は領域内の異なるロケーションなど)を含む場合、それらのロケーションのうちのどれが第1のオブジェクトの目的地として選択されるかは、任意選択的に、ユーザの視線に基づく。例えば、ユーザの視線がそれらのロケーションのうちの第1のロケーションに向けられているか、又はそれにより近い場合、第1のオブジェクトは、任意選択的に、第2のオブジェクト内の第1のロケーション(それらのロケーションのうちの第2のロケーションではない)に移動され、ユーザの視線がそれらのロケーションのうちの第2のロケーションに向けられているか、又はそれにより近い場合、第1のオブジェクトは、任意選択的に、第2のオブジェクト内の第2のロケーション(それらのロケーションのうちの第1のロケーションではない)に移動される。第1のオブジェクトの移動を示すために第2のオブジェクト内の視線を利用することは、スローイングのターゲットを指定するためのより大きな制御及び柔軟性をユーザに提供し、それによってユーザ-デバイス相互作用を改善する。
【0468】
いくつかの実施形態では、第2のオブジェクトが第1のオブジェクトの複数の異なる有効なロケーションを含むコンテンツ配置領域を含み(例えば、第2のオブジェクトがキャンバス又は複数のロケーションが第1のオブジェクトをスローするのに有効なロケーションである他の領域を含む)、ユーザの視線が第2のオブジェクト内のコンテンツ配置領域に向けられているという判定に従って(1832a)、ユーザの視線が第1のオブジェクトの複数の異なる有効なロケーションのうちの第1の有効なロケーションに向けられているという判定に従って、ユーザの視線に基づいて判定された第2のオブジェクト内のロケーションは、図17Cの視線のロケーション1708などの第1の有効なロケーションである(1832b)(例えば、第1のオブジェクトがコンテンツ配置領域内の第1の有効なロケーションにスローされる/移動される)。いくつかの実施形態では、ユーザの視線が第1のオブジェクトの複数の異なる有効ロケーションのうちの第1の有効ロケーションとは異なる第2の有効ロケーションに向けられているという判定に従って、ユーザの視線に基づいて判定された第2のオブジェクト内のロケーションは、視線1708が図17Cのオブジェクト1706a内の別のロケーションに向けられた(例えば、第1のオブジェクトがコンテンツ配置領域内の第2の有効ロケーションにスローされた/移動された)場合など、第2の有効ロケーションである(1832c)。したがって、いくつかの実施形態では、第2のオブジェクトにスローされた結果として第1のオブジェクトの配置に柔軟性を提供するコンテンツ配置領域内で、ユーザの視線を利用して、第1のオブジェクトが視線のロケーション及び/又はユーザの視線の閾値近傍内(例えば、ユーザの視線ロケーションの0.1、0.5、1、3、5、10、15、20、30、50、又は100mm以内)に着地するように、第1のオブジェクトの終了ロケーションに対する細かい制御を提供する。第1のオブジェクトのターゲットロケーションの細かい制御を提供するために第2のオブジェクト内の視線を利用することは、スローイングのターゲットを指定するためのより大きな制御及び柔軟性をユーザに提供し、それによってユーザ-デバイス相互作用を改善する。
【0469】
いくつかの実施形態では、三次元環境内で第1のオブジェクトを第2のオブジェクトに移動させることは、図17Dに示すように、第2のオブジェクトが第1のオブジェクトの有効なロケーションを含む入力フィールドを含むという判定に従って、第1のオブジェクトを入力フィールドに移動させること(1834b)を含む(1834a)。いくつかの実施形態では、第1のオブジェクトをスローする要求が検出されたときに、ユーザの視線が第2のオブジェクトに向けられている場合、かつ/又は第2のオブジェクトがユーザによってターゲットにされている場合、並びに第2のオブジェクトが入力フィールド(例えば、1つのみの入力フィールド)を含む場合、電子デバイスは、ユーザの視線が入力フィールドに向けられていないが、第2のオブジェクトの別の部分に向けられている場合であっても、第1のオブジェクトを入力フィールドに移動させる。別の例として、第2のオブジェクトが、1つ以上の入力フィールドなどの第1のオブジェクトがターゲットにされ得る離散ロケーションを含み、入力フィールドがユーザの視線によってターゲットにされ得るが、入力フィールド内の特定のロケーションがユーザの視線によってターゲットにされ得ない(例えば、ユーザの視線がターゲット入力フィールド内の第1のロケーションに向けられているか、それとも第2のロケーションに向けられているかにかかわらず、第1のオブジェクトがターゲット入力フィールド内のデフォルトロケーションに着地する)場合、電子デバイスは、第1の入力のターゲット部分の間に、どの入力フィールドがユーザの視線に最も近いかに基づいて、第1のオブジェクトをどの入力フィールドに向けるかを任意選択的に判定する。例えば、ユーザの視線が第2のオブジェクト内の第2の入力フィールドよりも第1の入力フィールドに近い場合(例えば、視線が第1の入力フィールド内のロケーションに向けられていないが、第1の入力フィールドの外側の第2のオブジェクトの一部に向けられている場合であっても)、第1の入力フィールドがターゲットにされ、第1のオブジェクトは、第1の入力フィールド内のロケーションに移動する(例えば、第2の入力フィールドではない)。ユーザの視線が、第2のオブジェクト内の第1の入力フィールドよりも第2の入力フィールドに近い場合(例えば、視線が、第2の入力フィールド内のロケーションに向けられていないが、第2の入力フィールドの外側の第2のオブジェクトの一部に向けられている場合でも)、第2の入力フィールドがターゲットにされ、第1のオブジェクトは、第2の入力フィールド内のロケーションに移動する(例えば、第1の入力フィールドではない)。第1のオブジェクトのターゲットロケーションの粗い制御を提供するために第2のオブジェクト内の視線を利用することは、細かいターゲット設定が利用可能でないときでさえ、スローするターゲットを指定するための制御及び柔軟性をユーザに提供し、それによって、ユーザ-デバイス相互作用を改善する。
【0470】
方法1800における動作が説明された特定の順序は、例示的なものにすぎず、説明された順序が、動作が実行され得る唯一の順序であることを示すものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。
【0471】
いくつかの実施形態では、方法800、1000、1200、1400、1600及び/又は1800の態様/動作は、これらの方法の間で交換、置換、かつ/又は追加され得る。例えば、方法800、1000、1200、1400、1600、かつ/又は1800の三次元環境、方法800、1000、1200、1400、1600、かつ/又は1800において移動されるオブジェクト、かつ/又は方法800、1000、1200、1400、1600、かつ/又は1800の有効及び無効なドロップターゲットは、任意選択的に、これらの方法の間で交換、置換、かつ/又は追加される。簡潔にするために、それらの詳細はここでは繰り返さない。
【0472】
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。
【0473】
上述したように、本技術の一態様は、ユーザのXR体験を改善するために、様々なソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの場合には、この収集されたデータが、特定の人を一意に識別する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを考察する。そのような個人情報データとしては、人口統計データ、ロケーションベースのデータ、電話番号、電子メールアドレス、ツイッター(登録商標)ID、自宅の住所、ユーザの健康若しくはフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、生年月日、又は任意の他の識別情報若しくは個人情報を挙げることができる。
【0474】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データは、ユーザのXR体験を向上させるために使用することができる。更に、ユーザに利益をもたらす個人情報データに関する他の使用も本開示によって意図されている。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求する技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【0475】
本開示は、そのような個人情報データの収集、分析、開示、送信、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変更されるにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。その上、そのようなエンティティは、そのような個人情報データへのアクセスを保護及び安全化し、個人情報データへのアクセス権を有する他者が、それらのプライバシーポリシー及び手順を忠実に守ることを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更に、そのようなエンティティは、広く受け入れられているプライバシーポリシー及び慣行に対する自身の遵守を証明するために、サードパーティによる評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はそれへのアクセスは、医療保険の相互運用性と説明責任に関する法律(HIPAA)などの、連邦法及び/又は州法に準拠し得る。その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国において、異なる個人データのタイプに関して異なるプライバシー慣行が保たれるべきである。
【0476】
前述のことがらにもかかわらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するために、ハードウェア要素及び/又はソフトウェア要素が提供され得ることを意図している。例えば、XR体験の場合において、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。別の例では、ユーザは、サービスのカスタマイズのためにデータを提供しないことを選択することができる。更に別の実施例では、ユーザは、データが維持される時間長を制限するか、又はカスタマイズされたサービスの展開を完全に禁止するかを選択することができる。「オプトイン」及び「オプトアウト」のオプションを提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを意図している。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
【0477】
更には、本開示の意図は、個人情報データを、非意図的若しくは許可のないアクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなると削除することにより、リスクを最小化することができる。加えて、特定の健康関連アプリケーションにおいて適用可能な場合、ユーザのプライバシーを保護するために、データの匿名化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、ロケーションデータを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)及び/又は他の方法によって、容易にすることができる。
【0478】
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することも可能であることを想到する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部が欠如することにより、動作不可能にされるものではない。例えば、ユーザに関連付けられたデバイスによって要求されているコンテンツなどの非個人情報データ若しくは必要最小量の個人情報、サービスに利用可能な他の非個人情報、又は公的に入手可能な情報に基づき嗜好を推測することによって、XR体験を生成できる。
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図7C
図7D
図7E
図8A
図8B
図8C
図8D
図8E
図8F
図8G
図8H
図8I
図8J
図8K
図9A
図9B
図9C
図9D
図9E
図10A
図10B
図10C
図10D
図10E
図10F
図10G
図10H
図10I
図11A
図11B
図11C
図11D
図11E
図12A
図12B
図12C
図12D
図12E
図12F
図12G
図13A
図13B
図13C
図13D
図14A
図14B
図14C
図14D
図14E
図14F
図14G
図14H
図15A
図15B
図15C
図15D
図16A
図16B
図16C
図16D
図16E
図16F
図16G
図16H
図16I
図16J
図17A
図17B
図17C
図17D
図18A
図18B
図18C
図18D
図18E
図18F
【手続補正書】
【提出日】2024-06-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
表示生成構成要素及び1つ以上の入力デバイスと通信する電子デバイスにおいて、
前記表示生成構成要素を介して三次元環境を表示することであって、前記三次元環境は、前記三次元環境内の第1のロケーションに、前記三次元環境内で第1のサイズを有し、個別の視点からの視野の第1の量を占める第1のオブジェクトを含むことと、
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第1の入力を受信することと、
前記第1の入力を受信したことに応じて、
記個別の視点から離れるように前記第1のオブジェクトを移動させる要求に前記第1の入力が対応するという判定に従って、
前記第1の入力に従って、前記第1のロケーションから前記三次元環境内の第2のロケーションであって、前記個別の視点から前記第1のロケーションよりも遠い第2のロケーション、前記個別の視点から離れるように前記第1のオブジェクトを移動させることと
前記第1のオブジェクトが前記第2のロケーションに位置する場合に、前記第1のオブジェクトが、前記三次元環境内で前記第1のサイズよりも大きい第2のサイズを有し、前記個別の視点からの前記視野の、前記第1の量よりも小さい第2の量を占めるように、前記第1のオブジェクトをスケーリングすることと、を含む、方法。
【請求項2】
前記第1の入力を受信している間に、かつ前記個別の視点から離れるように前記第1のオブジェクトを移動させる前記要求に前記第1の入力が対応するという前記判定に従って、前記第1のオブジェクトが前記個別の視点から更に移動するにつれて、増加するサイズに前記第1のオブジェクトを連続的にスケーリングすることを更に含む、請求項に記載の方法。
【請求項3】
前記第1のオブジェクトは、第1のタイプのオブジェクトであり、前記三次元環境は、前記第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクトを更に含み、前記方法は、
前記三次元環境内の第3のロケーションに、前記三次元環境内第3のサイズを有し、前記個別の視点からの前記視野の第3の量を占める第2のオブジェクトを含む前記三次元環境を表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第3のロケーションから離れるように前記第2のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第の入力を受信したことに応じて、かつ前記個別の視点から離れるように前記第2のオブジェクトを移動させる要求に前記第2の入力が対応するという判定に従って、
前記第2の入力に従って、前記第3のロケーションから、前記三次元環境内の第4のロケーションであって、前記個別の視点から前記第3のロケーションよりも遠い第4のロケーションに、前記個別の視点から離れるように前記第2のオブジェクトを移動させることであって、前記第2のオブジェクトが前記第4のロケーションに位置する場合に、前記第2のオブジェクトが前記三次元環境内で前記第3のサイズを有し、前記個別の視点からの前記視野の、前記第3の量よりも少ない第4の量を占るように、前記第2のオブジェクトをスケーリングしない、ことと、を更に含む、請求項に記載の方法。
【請求項4】
前記第2のオブジェクトは、前記第2のオブジェクトに関連付けられた1つ以上の動作を制御するための制御ユーザインタフェースとともに表示され、
前記第2のオブジェクトが前記第3のロケーションに表示される場合に、前記制御ユーザインタフェースは、前記第3のロケーションに表示され、前記三次元環境内で第4のサイズを有し、
前記第2のオブジェクトが前記第4のロケーションに表示される場合に、前記制御ユーザインタフェースは、前記第4のロケーションに表示され、前記三次元環境内で前記第4のサイズよりも大きい第5のサイズを有する、請求項に記載の方法。
【請求項5】
前記三次元環境内の前記第1のロケーションに、前記三次元環境内で前記第1のサイズを有する前記第1のオブジェクトを含む前記三次元環境を表示している間に、前記個別の視点である第1の視点から、ユーザの視点と前記第1のオブジェクトとの間の距離を変化させる第2の視点への前記ユーザの前記視点の移動を検出することと、
前記第1の視点から前記第2の視点への前記視点の前記移動を検出したことに応じて、前記三次元環境内の前記第1のロケーションにおける前記第1のオブジェクトのサイズをスケーリングすることなく、前記三次元環境の表示を前記第2の視点からのもの更新することと、を更に含む、請求項に記載の方法。
【請求項6】
前記第1のオブジェクトは、第1のタイプのオブジェクトであり、前記三次元環境は、前記第1のタイプとは異なる第2のタイプのオブジェクトである第2のオブジェクトを更に含み、前記方法は、
前記三次元環境内の第3のロケーションに、前記三次元環境内で第3のサイズを有する前記第2のオブジェクトを含む前記三次元環境を表示している間に、前記ユーザの前記視点である前記第1の視点から、前記ユーザの前記視点と前記第2のオブジェクトとの間の距離を変化させる前記第2の視点への前記視点の移動を検出することと、
前記個別の視点の前記移動を検出したことに応じて、
記三次元環境の表示を前記第2の視点からのものに更新することと
前記第3のロケーションにおける前記第2のオブジェクトのサイズを、前記三次元環境内で、前記第3のサイズとは異なる第4のサイズスケーリングすることと、を更に含む、請求項に記載の方法。
【請求項7】
前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを含む前記三次元環境を表示している間に、第1の視点から、前記三次元環境内のユーザの視点と前記第1のオブジェクトとの間の距離を変化させる第2の視点への、前記視点の移動を検出することと、
前記視点の前記移動を検出したことに応じて、前記三次元環境内の前記第1のロケーションにおける前記第1のオブジェクトのサイズをスケーリングすることなく、前記三次元環境の表示を前記第2の視点からのもの更新することと、
前記第2の視点から前記三次元環境内の前記第1のロケーションに前記第1のオブジェクトを表示している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第1のロケーションから離れて、前記第1のロケーションよりも前記第2のロケーションから遠い前記三次元環境内の第3のロケーションに前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を検出している間に、かつ前記第1のロケーションから離れるように前記第1のオブジェクトを移動させる前に、前記第2の入力の開始が検出されたとき前記第1のオブジェクトと前記第2の視点との間の距離に基づいて、前記第1のオブジェクトのサイズを前記第1のサイズとは異なる第3のサイズスケーリングすることと、を更に含む、請求項に記載の方法。
【請求項8】
前記三次元環境は、前記三次元環境内の第3のロケーションに第2のオブジェクトを更に含み、前記方法は、
前記第1の入力を受信したことに応じて、
記三次元環境内の第4のロケーションであって、前記個別の視点から第1の距離にある第4のロケーションに前記第1のオブジェクトを移動させる要求に前記第1の入力が対応するという判定に従って、前記三次元環境内で第3のサイズを有する前記第1のオブジェクトを前記三次元環境内の前記第4のロケーションに表示することと
前記三次元環境内の前記第3のロケーションであって、前記個別の視点から前記第1の距離にある前記第3のロケーションに前記第1のオブジェクトを移動させる要求に前記第1の入力が対応する場合に満たされる個別の基準を含む1つ以上の基準を前記第1の入力が満たすという判定に従って、前記三次元環境内で前記第3のサイズとは異なる第4のサイズを有する前記第1のオブジェクトを前記三次元環境内の前記第3のロケーションに表示することと、を更に含む、請求項に記載の方法。
【請求項9】
前記第1のオブジェクトの前記第4のサイズは、前記第2のオブジェクトのサイズに基づいている、請求項に記載の方法。
【請求項10】
前記第1のオブジェクトが前記三次元環境内の前記第3のロケーションにあり、前記第2のオブジェクトの前記サイズに基づく前記第4のサイズを有している間に、前記1つ以上の入力デバイスを介して、前記三次元環境内の前記第3のロケーションから離れるように前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、前記第2のオブジェクトの前記サイズに基づかない第5のサイズで前記第1のオブジェクトを表示することと、を更に含む、請求項に記載の方法。
【請求項11】
前記個別の基準は、前記第3のロケーションを含む前記三次元環境内のボリューム内の何れかのロケーションに前記第1のオブジェクトを移動させる要求に前記第1の入力が対応する場合に満たされる、請求項に記載の方法。
【請求項12】
前記第1の入力を受信している間に、かつ前記第1のオブジェクトが前記第1の入力に従って前記第3のロケーションに移動しかつ前記1つ以上の基準が満たされるという判定に従って、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットであることを示すように前記第1のオブジェクトの外観を変更することを更に含む、請求項に記載の方法。
【請求項13】
前記1つ以上の基準は、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットである場合に満たされる基準であって、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットでない場合に満たされない基準を含み、前記方法は、
前記第1の入力を受信したことに応じて、
前記個別の基準は満たされるが、前記第2のオブジェクトが前記第1のオブジェクトに対する有効なドロップターゲットではないため、前記第1の入力が前記1つ以上の基準を満たさないという判定に従って、前記三次元環境内の前記第4のロケーションに、前記三次元環境内で前記第3のサイズを有する前記第1のオブジェクトを表示することを更に含む、請求項に記載の方法。
【請求項14】
前記第1の入力を受信したことに応じて、
前記第1の入力が前記1つ以上の基準を満たすという前記判定に従って、前記個別の視点に対する前記第2のオブジェクトの配向に基づいて、前記個別の視点に対する前記第1のオブジェクトの配向を更新することを更に含む、請求項に記載の方法。
【請求項15】
前記三次元環境は、前記三次元環境内の第3のロケーションに第2のオブジェクトを更に含み、前記方法は、
前記第1の入力を受信している間に、
記第3のロケーションを通って、前記第3のロケーションよりも前記個別の視点から遠くに前記第1のオブジェクトを移動させる要求に前記第1の入力が対応するという判定に従って、
前記個別の視点と前記第1のオブジェクトとの間の距離に基づいて前記三次元環境内の前記第1のオブジェクトをスケーリングしながら、前記第1の入力に従って前記第1のロケーションから前記第3のロケーションに、前記個別の視点から離れるように前記第1のオブジェクトを移動させ、
前記第1のオブジェクトが前記第3のロケーションに到達した後、前記第1の入力を受信し続けながら、前記第1のオブジェクトをスケーリングすることなく、前記第3のロケーションにおける前記第1のオブジェクトの表示を維持することを更に含む、請求項に記載の方法。
【請求項16】
前記第1のオブジェクトをスケーリングすることは、前記第2のサイズ前記第1のオブジェクトによって占められる前記個別の視点からの前記視野の前記第2の量が前記視野の閾値量よりも大きいという判定に従い、前記方法は、
記個別の視点から前記視野の第1の個別の量を占める前記第1のオブジェクトを、前記三次元環境内で個別のサイズで表示している間に、前記1つ以上の入力デバイスを介して、前記個別の視点から離れるように前記第1のオブジェクトを移動させる要求に対応する第2の入力を受信することと、
前記第2の入力を受信したことに応じて、
前記個別の視点からの前記視野の前記第1の個別の量が前記視野の前記閾値量未満であるという判定に従って、前記三次元環境内の前記第1のオブジェクトのサイズをスケーリングすることなく、前記第2の入力に従って前記個別の視点から離れるように前記第1のオブジェクトを移動させることと、を更に含む、請求項に記載の方法。
【請求項17】
前記第1の入力は、前記個別の視点から離れるように前記第1のオブジェクトを移動させる前記要求に対応し、前記方法は、
前記第1の入力の第1の部分を受信したことに応じて、かつ前記個別の視点から離れるように前記第1のオブジェクトを移動させる前に、
記第1のオブジェクトと前記個別の視点との間の現在の距離に前記第1のオブジェクトの前記第1のサイズが対応しない場合に満たされる基準を含む1つ以上の基準を前記第1のサイズが満たすという判定に従って、前記第1のオブジェクトと前記個別の視点との間の前記現在の距離に基づく、前記第1のサイズとは異なる第3のサイズを有するように前記第1のオブジェクトをスケーリングすることを更に含む、請求項に記載の方法。
【請求項18】
電子デバイスであって、
1つ以上のプロセッサと、
メモリと、
1つ以上のプログラムと、を備え、前記1つ以上のプログラムは、前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成されており、前記1つ以上のプログラムは、請求項1から17のいずれか一項に記載の方法を実行するための命令を含む、電子デバイス。
【請求項19】
子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項1から17のいずれか一項に記載の方法を実行させる命令を含むプログラム
【国際調査報告】