(57)【要約】  １つの一般的な局面では、方法は、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガすることとを含むことができ、第１の仮想オブジェクトのサイズは第２の仮想オブジェクトのサイズよりも小さく、方法はさらに、第１の仮想オブジェクトとのユーザの対話の指示を受信することを含むことができ、ユーザは第１の仮想オブジェクトのサイズよりも大きな第１のサイズを有し、方法はさらに、第１の仮想オブジェクトとの対話に応答して第２の仮想オブジェクトとの対話をトリガすることを含むことができ、ユーザは、第２の仮想オブジェクトと対話する際は、第１のサイズよりも大きな第２のサイズを有する。
2019530064.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、
第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガすることとを備え、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、
前記第１の仮想オブジェクトとのユーザの対話の指示を受信することを備え、前記ユーザは前記第１の仮想オブジェクトの前記サイズよりも大きな第１のサイズを有し、さらに方法は、
前記第１の仮想オブジェクトとの対話に応答して前記第２の仮想オブジェクトとの対話をトリガすることを備え、前記ユーザは、前記第２の仮想オブジェクトと対話する際は、前記第１のサイズよりも大きな第２のサイズを有する、方法。
【請求項２】
前記第１の仮想オブジェクトとの前記対話は、前記第１の仮想オブジェクト内の場所を選択することを含む、請求項１に記載の方法。
【請求項３】
前記第２の仮想オブジェクトとの前記対話は、前記第１の仮想オブジェクトとの前記対話に応答して、前記第２の仮想オブジェクト内で、前記第１の仮想オブジェクト内の前記場所に対応する前記第２の仮想オブジェクト内の場所に移動することを含む、請求項２に記載の方法。
【請求項４】
前記移動することは、前記第１の仮想オブジェクト内の前記場所に対応する前記第２の仮想オブジェクトにおいて瞬間移動することを含む、請求項３に記載の方法。
【請求項５】
前記第１の仮想オブジェクトは地球の小型地球儀である、請求項２に記載の方法。
【請求項６】
前記第１の仮想オブジェクトは前記場所のストリートレベルビューを含む球体である、請求項２に記載の方法。
【請求項７】
前記第１の仮想オブジェクトは、前記第１の仮想オブジェクトとの前記ユーザの対話の指示を受信する前に前記ユーザのサイズが小さくなった場合には前記球体に変更される、請求項６に記載の方法。
【請求項８】
前記第１の仮想オブジェクトとの前記対話は、前記第２の仮想オブジェクトとの対応の対話に直接に変換される、請求項１に記載の方法。
【請求項９】
前記第１の仮想オブジェクトとの前記対話は、後で前記第２の仮想オブジェクトとの対応の対話に変換される、請求項１に記載の方法。
【請求項１０】
前記第１の仮想オブジェクトとの前記対話は第１のレベルの対話を含み、前記第１のレベルの対話の後に前記第２の仮想オブジェクトとの第２のレベルの対話を伴う、請求項１に記載の方法。
【請求項１１】
前記第２のレベルの対話での前記ユーザは、前記第１のレベルの対話での前記ユーザよりも小さい、請求項１０に記載の方法。
【請求項１２】
前記第１の仮想オブジェクトは前記第２の仮想オブジェクトと同一である、請求項１に記載の方法。
【請求項１３】
方法であって、
物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、
第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガすることとを備え、前記第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、
第２のコントローラを介して前記第１の仮想オブジェクト内の場所を選択して前記第２の仮想オブジェクト中の場所へのユーザの移動をトリガすることと、
前記第２の仮想オブジェクト内の対話の指示を受信することとを備える、方法。
【請求項１４】
前記第１の仮想オブジェクトは、前記第１のコントローラの一部に近接した距離に固定されるように構成される、請求項１３に記載の方法。
【請求項１５】
前記第１の仮想オブジェクトは、前記第１のコントローラの移動に応答して移動するように構成される、請求項１３に記載の方法。
【請求項１６】
前記第１の仮想オブジェクトは、前記第２のコントローラを用いて前記場所を選択することに応答して状態を変更するように構成される、請求項１３に記載の方法。
【請求項１７】
前記第１の仮想オブジェクトのサイズは、前記場所を選択することに応答する際に拡大される、請求項１６に記載の方法。
【請求項１８】
前記第１の仮想オブジェクトのサイズは、場所が選択されない場合は縮小される、請求項１６に記載の方法。
【請求項１９】
システムであって、
ヘッドマウントディスプレイ（ＨＭＤ）装置と、
第１のコントローラおよび第２のコントローラと、
プロセッサとを備え、前記プロセッサは、
物理的環境で動作する前記ＨＭＤ装置において仮想環境の表示をトリガし、かつ
前記第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガするようにプログラミングされ、前記第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに前記プロセッサは、
前記第２のコントローラを介して前記第１の仮想オブジェクト内の場所を選択して前記第２の仮想オブジェクト中の場所へのユーザの移動をトリガし、かつ
前記第２の仮想オブジェクト内の対話の指示を受信するようにプログラミングされる、システム。
【請求項２０】
前記第１の仮想オブジェクトは、前記第２のコントローラを用いて前記場所を選択することに応答して状態を変更するように構成される、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
この出願は、２０１６年１１月１５日に出願されかつ「仮想現実におけるロケーショングローブ」と題された米国仮特許出願第６２／４２２，５６３号の優先権を主張し、その全体が本明細書中に引用により援用される。
【０００２】
分野
この開示は概して、仮想現実または拡張現実環境におけるロケーショングローブ（location globe）に関する。
【背景技術】
【０００３】
背景
拡張現実（ＡＲ）および／または仮想現実（ＶＲ）システムは、没入型三次元（３Ｄ）仮想環境を生成し得る。ユーザは、たとえば、ディスプレイ、表示装置を見る際にユーザが通し見る眼鏡もしくはゴーグルを含むヘルメットまたは他のヘッドマウント装置などのさまざまな電子デバイス、コントローラ、ジョイスティックなどの１つ以上の外部電子デバイス、センサ、キーボード、マウス、および他の電子デバイスが装着される手袋を用いて、この仮想環境で仮想オブジェクト、要素、特徴などと対話（やりとり、インタラクト）し得る。ユーザは、仮想環境に没入しながら仮想環境を進み得、たとえば、物理的移動および／または１つ以上の電子デバイスの操作を通して、仮想環境の仮想要素を操作し得るかつこれと対話し得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
要約
１つの一般的な局面では、方法は、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガ（起動）することと、第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガすることとを含むことができ、第１の仮想オブジェクトのサイズは第２の仮想オブジェクトのサイズよりも小さく、方法はさらに、第１の仮想オブジェクトとのユーザの対話の指示を受信することを含むことができ、ユーザは第１の仮想オブジェクトのサイズよりも大きな第１のサイズを有し、方法はさらに、第１の仮想オブジェクトとの対話に応答して第２の仮想オブジェクトとの対話をトリガすることを含むことができ、ユーザは、第２の仮想オブジェクトと対話する際は、第１のサイズよりも大きな第２のサイズを有する。
【０００５】
別の一般的な局面では、方法は、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガすることとを含み得、第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、第１の仮想オブジェクトのサイズは第２の仮想オブジェクトのサイズよりも小さく、方法はさらに、第２のコントローラを介して第１の仮想オブジェクト内の場所を選択して第２の仮想オブジェクト中の場所へのユーザの移動をトリガすることと、第２の仮想オブジェクト内の対話の指示を受信することとを含み得る。
【０００６】
別の一般的な局面では、機器は、ヘッドマウントディスプレイ（ＨＭＤ）装置と、第１のコントローラおよび第２のコントローラと、プロセッサとを含み、プロセッサは、仮想環境を生成し、かつ第２の仮想オブジェクトを表わす第１の仮想オブジェクトを第１のコントローラを介して表示するようにプログラミングされ、第１の仮想オブジェクトのサイズは第２の仮想オブジェクトのサイズに対して小さくされており、プロセッサはさらに、第２のコントローラを介して第１の仮想オブジェクト内の場所を選択して第２の仮想オブジェクト中の場所へユーザを移動させ、かつ第２の仮想オブジェクト内で対話するようにプログラミングされる。
【０００７】
添付の図面および以下の説明で１つ以上の実現例の詳細を述べる。他の特徴は説明および図面ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１Ａ】本明細書中に記載されるような実現例に従う、ヘッドマウントディスプレイ装置および１つ以上の携帯型電子デバイスを含む拡張現実および／または仮想現実システムの例示的な実現例の三人称視点図である。
【図１Ｂ】本明細書中に記載されるような実現例に従う、ヘッドマウントディスプレイ装置および１つ以上の携帯型電子デバイスを含む拡張現実および／または仮想現実システムの例示的な実現例の三認証視点図である。
【図１Ｃ】本明細書中に記載されるような実現例に従う、ヘッドマウントディスプレイ装置および１つ以上の携帯型電子デバイスを含む拡張現実および／または仮想現実システムの例示的な実現例の三認証視点図である。
【図１Ｄ】第２の仮想オブジェクトに対する第１の仮想オブジェクトを示す図である。
【図２】第１のコントローラおよび第２のコントローラを用いるユーザが見る仮想環境を示す図である。
【図３】地球儀に関連付けられるインジケータを用いる例を示す図である。
【図４】ホバリングおよびトリガ対話を示す状態図である。
【図５Ａ】コントローラによってトリガ可能な付加的な対話を示す図である。
【図５Ｂ】第２のコントローラを用いるユーザが見る表示メニューを示す図である。
【図５Ｃ】第２のコントローラを用いるユーザが見るキーボードを示す図である。
【図６Ａ】別の例示的な実施形態に従う、第１のコントローラおよび第２のコントローラを用いるユーザが見る仮想環境を示す図である。
【図６Ｂ】別の例示的な実施形態に従う、第２の仮想オブジェクト内で移動されるユーザが見る図６Ａの仮想環境を示す図である。
【図７Ａ】本明細書中に記載されるような実施形態に従う、仮想現実環境で対話をトリガする方法のフローチャートである。
【図７Ｂ】本明細書中に記載されるような実施形態に従う、仮想現実環境で対話をトリガする方法のフローチャートである。
【図８Ａ】例示的なヘッドマウントディスプレイ装置の斜視図である。
【図８Ｂ】例示的なヘッドマウントディスプレイ装置の斜視図である。
【図８Ｃ】本明細書中に記載されるような実現例に従う例示的な携帯型電子デバイスを示す図である。
【図９】本明細書中に記載される実現例に従う例示的な拡張および／または仮想現実システムのブロック図である。
【図１０】本明細書中に記載される技術を実現するのに用いることができるコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
【発明を実施するための形態】
【０００９】
詳細な説明
たとえばヘッドマウントディスプレイ（ＨＭＤ）装置を着用して拡張現実（ＡＲ）および／または仮想現実（ＶＲ）環境に没入するユーザは、仮想環境を探検して、さまざまな異なる種類の入力を通して仮想環境中の仮想オブジェクト、特徴などと対話し得る。これらの入力はたとえば、たとえば、ＨＭＤおよび／もしくはＨＭＤとは別個の電子デバイスの物理的移動および／もしくは操作、ならびに／または手／腕のジェスチャー、頭の動きおよび／もしくは頭および／もしくは目による方向性をもった注視などを含む物理的対話を含み得る。ユーザは、これらの異なる種類の対話のうち１つ以上を実現して、たとえば、仮想環境の第１の区域から仮想環境の第２の区域へまたは第１の仮想環境から第２の仮想環境へ、たとえば仮想環境を通って移動するなどして、仮想環境で特定の行為を実行し得る。
【００１０】
本明細書中に記載される実現例に従うシステムおよび方法により、ユーザは、仮想現実または拡張現実環境内で自在に移動し得る。具体的に、仮想または拡張環境内の第１のオブジェクトを用いて仮想または拡張環境内の第１のオブジェクト内で自在に移動することができる。第１のオブジェクトは、第２のオブジェクトの少なくとも一部のより小さな縮尺（たとえば小型化）版であることができる。第２のオブジェクトは、第１のオブジェクトと比べて比較的大きいものであることができるため、仮想または拡張現実環境内で直接に自在に移動することが困難であり得る。第１のオブジェクトは、その比較的小さなサイズのために、ユーザがそれと対話して第２のオブジェクト内を自在に移動することができる、はるかにより容易なオブジェクトであり得る。いくつかの実現例では、第１のオブジェクトは、地球全体のより大きな表現であることができる第２のオブジェクト内で自在に移動するのに用いることができる地球の（ロケーショングローブとも称することができる）小型地球儀であり得る。
【００１１】
図１Ａ−図１Ｃに示される例示的な実現例では、ＨＭＤ１００を着用するユーザは、持ち運び可能な携帯型電子デバイス１０２を保持している。携帯型電子デバイス１０２は、たとえば、ＨＭＤ１００が生成しかつたとえばＨＭＤ１００のディスプレイ上にユーザに対して表示される仮想現実または拡張現実環境内での対話のための、ＨＭＤ１００と対にされ得るかつこれと通信し得る、コントローラ、スマートフォン、ジョイスティック、または別の持ち運び可能な携帯型電子デバイスであり得る。ＨＭＤ１００が生成する没入型仮想現実または拡張現実環境での対話用のＨＭＤ１００と通信するコントローラとして機能するように携帯型電子デバイス１０２を用いることができる。
【００１２】
図１Ａに示されるように、仮想環境では、ＨＭＤ１００を介して第１のオブジェクト１０および第２のオブジェクト１５を見ることができる。説明の目的のため、図１Ａでは、ＨＭＤ１００を着用するユーザ５０、携帯型電子デバイス１０２、第１のオブジェクト１０、および第２のオブジェクト１５を第三者の視点から示す。具体的に、ＨＭＤ１００を着用するユーザから第１のオブジェクト１０および第２のオブジェクト１５が見え、それをこの図１Ａに示す。そのため、第１のオブジェクト１０および第２のオブジェクト１５とのユーザの対話がより容易に図示されかつ説明される。
【００１３】
この実現例では、第１のオブジェクト１０を用いて第２のオブジェクト１５内で自在に移動することができる。第１のオブジェクト１０は、第２のオブジェクト１５の少なくとも一部のより小さな縮尺（たとえば小型化）版であることができる。第１のオブジェクト１０は、第２のオブジェクト１５よりもはるかに小さい（たとえば、１０倍小さい、１００倍小さいなど）ものであることができる。第２のオブジェクト１５は、第１のオブジェクト１０と比べて比較的大きいため、それと直接に対話するまたはその中で直接に自在に移動することが困難であり得る。第１のオブジェクト１０は、比較的小さいために、ユーザがそれと対話することができるはるかにより容易なオブジェクトであり得る。具体例として、第１のオブジェクト１０は、地球（または別の惑星）のより大きな表現であることができる第２のオブジェクト１５を用いて自在に移動するのに用いることができる地球（または別の惑星）の小型表現（たとえば地球儀）であることができる。
【００１４】
ユーザ５０に対する関係において、第１のオブジェクト１０は、図１Ａに示されるように、ユーザのサイズよりも小さいものであり得る。たとえば、第１のオブジェクト１０は、ユーザ５０（および第１のオブジェクト１０の外部）よりも１０倍小さいものであることができる。このことは、ユーザ５０が第１のオブジェクト１０内で自在に移動する（たとえば場所選択を行なう）のを助ける。というのも、ユーザ５０は第１のオブジェクト１０よりも大きいからである。
【００１５】
いくつかの実現例では、第２のオブジェクト１５の表面は、（サイズを倍率変更しているにも拘わらず）第１のオブジェクト１０の表面に対応することができる。いくつかの実現例では、第１のオブジェクト１０との対話を第２のオブジェクト１５との対話に変換することができる。いくつかの実現例では、第１のオブジェクト１０との対話を第２のオブジェクト１５との対応の対話に直接に変換することができる。この実現例では、第２のオブジェクト１５は第１のオブジェクト１０と同一であり得る。たとえば、第１のオブジェクト１０との対話（たとえば、ニューヨーク市の場所を選択すること）により、ユーザは、第２のオブジェクト１５中の場所（たとえば、ニューヨーク市）に直接に平行移動される。
【００１６】
いくつかの実現例では、第１のオブジェクト１０との対話を用いて、第２のオブジェクト１５との後の対話を導くことができる。たとえば、ユーザ５０が第１のオブジェクト１０内の場所（たとえば、ニューヨーク市）を選択すると、ユーザ５０は、（異なる場所で第２のオブジェクト１０内で対話しながら）後の予め定められた時間に第２のオブジェクト１０内で対話し得る。いくつかの実現例では、選択された場所（たとえば、ニューヨーク市）内で後に対話するように、当該選択された場所をインジケータ（または何らかの形態のマーカ）を用いて識別し得る。
【００１７】
いくつかの実現例では、第１のオブジェクト１０との対話は第１のレベルの対話であることができ、その後に第２のオブジェクト１５との第２のレベルの対話を伴うことができる。たとえば、第１のレベルの対話は第１のオブジェクト１０に関連付けられる対話であり得る。すなわち、ユーザ５０は第１のオブジェクト１０と対話して、第１のオブジェクト１０上の場所を選択する。この（第１の）レベルの対話で、ユーザ５０は、図１Ａに示されるように、第１のオブジェクト１０内で自在に移動するには大きい（たとえば、第１のオブジェクト１０よりも大きい）縮尺を有する。第１のレベルでの対話が一旦行なわれると、次に第２のオブジェクト１５に関連付けられる第２のレベルの対話を行ない得る。この（第２の）レベルの対話では、ユーザ５０は、（第１のレベルの対話を行なう際のユーザ５０と比べて）縮尺がより小さいので、ユーザ５０は、図１Ｂまたは図１Ｃに示されるように第２のオブジェクト１５と対話し得る。たとえば、ユーザ５０は、第２のオブジェクト１５の表面上にまたはその近くに存在し得る。別の例では、ユーザ５０は、第２のオブジェクト１５内に存在し得、第２のオブジェクト１５の環境の中に完全に没入し得る。
【００１８】
いくつかの実現例では、第１のオブジェクト１０との対話（たとえば、第１のレベルの対話）は、第１の選択レベルまたは第２の選択レベルにおいてであり得る。たとえば、第１の選択レベルの対話は、第１のオブジェクト上の一般的な場所（たとえば、ヨーロッパに近い場所−たとえばドイツおよびイタリア）であることができ、第２の選択レベルの対話は、第１のオブジェクト１０上のより具体的な場所（たとえば、イタリアの中の都市−たとえばミラノおよびフィレンツェ）であることができる。いくつかの実現例では、２つよりも多くの選択レベルの対話が存在し得る。これらの対話により、第２のオブジェクト１５内で自在に移動するのに用いられるようなより高い精度および精密さを提供することができる。
【００１９】
いくつかの実現例では、第１のオブジェクト１０を、（コントローラと称することができる）携帯型電子デバイス１０２、別のコントローラ（図示せず）、ならびに／または仮想環境内の別の場所および／もしくは特徴に関連付けることができる。いくつかの実現例では、あたかも第１のオブジェクト１０がコントローラ１０２に固く接続されているかのように、コントローラ１０２を用いた移動に応答して移動するように第１のオブジェクト１０を構成することができる。たとえば、コントローラ１０２が左または右に移動すれば、第１のオブジェクト１０は左または右に移動し、コントローラ１０２が上または下に移動すれば、第１のオブジェクト１０は上または下に移動する。本明細書中に記載されるもの以外の他の方向を用い得る。いくつかの実現例では、コントローラ１０２が第１のオブジェクト１０を移動させると、第２のオブジェクト１５は第１のオブジェクト１０の対応の移動をトリガし得る。他の実現例では、コントローラ１０２が第１のオブジェクト１０を移動させると、第２のオブジェクト１５は、第１のオブジェクト１０の対応の移動をトリガせず、固定したビューをユーザに与え得る。
【００２０】
いくつかの実現例では、コントローラ１０２の一部から遠位の（たとえば、それに近位の）ある距離に位置決めされる（たとえば、浮かんでいる）ように、第１のオブジェクト１０を構成することができる。たとえば、第１のオブジェクト１０をコントローラ１０２の真正面に配設することができる。他の例では、第１のオブジェクト１０はコントローラ１０２の上方に存在することができる。本明細書中に記載されるものに加えてまたはその代わりに、コントローラ１０２に対する第１のオブジェクト１０の他の場所を実現し得る。第１のオブジェクト１０は、コントローラ１０２に比較的近いものであり得る。というのも、第１のオブジェクト１０と対話すること（たとえば、自在に移動する、操作する、選択するなどのこと）がより容易であり得るからである。
【００２１】
いくつかの実現例では、図１Ａ中の第三者視点から示されるように、ユーザは、第１のオブジェクト１０の前にいて対話し得る。換言すると、ユーザ５０と第２のオブジェクト１５との間に第１のオブジェクト１を配設し得る。いくつかの実現例では、図１Ｂの第三者視点から示されるように、（より小さな縮尺の）ユーザ５０は、第２のオブジェクト１５の前にいて対話する。この例では、第１のオブジェクト１０は、対話には無関係（たとえば、ユーザには見えないもの）であり得る。いくつかの実現例では、第１のオブジェクト１０は完全に見えないものであり得るまたは除かれ得る。いくつかの実現例では、図１Ｃの第三者視点から示されるように、第１のオブジェクト１０をユーザ５０と第２のオブジェクト１５との間に配設し得る。この例では、（より小さな縮尺の）ユーザ５０は第２のオブジェクト１５と対話していながら、ユーザ１００は第１のオブジェクト１０と対話して第１のオブジェクト１０上の別の場所を選択し得る。さらに、この例では、第１のオブジェクト１０はユーザ５０よりも小さい（かつユーザのサイズが大きかった場合、図１Ａではより小さい）ものであり得る。
【００２２】
いくつかの実現例では、コントローラ１０２を用いた対話に応答して状態を変えるように第１のオブジェクト１０を構成することができる。たとえば、サイズ拡大、サイズ縮小、回転、消滅、色もしくは形状変更、および／またはそれ以外をするように第１のオブジェクト１０を構成することができる。具体例として、第１のオブジェクト１０と交差するコントローラ１０２からのビームによって、第１のオブジェクト１０を拡大および／または縮小させることができる。たとえば、場所を選択することに応答する際に第１の仮想オブジェクト１０を拡大（たとえばサイズ拡大）し得、反対に、コントローラ１０２によって場所が選択されない場合は、第１の仮想オブジェクトを縮小（たとえばサイズ縮小）し得る。
【００２３】
ユーザが同時に見る第１のオブジェクト１０および第２のオブジェクト１５を示す図１Ｄに示されるように、第１のオブジェクト１０は第２のオブジェクト１５よりもはるかに小さい。いくつかの実現例では、第１のオブジェクト１０との対話を即座に第２オブジェクト１５に変換しなくてもよい。たとえば、ユーザは、コントローラ（図示せず）を左もしくは右にまたは±Ｘ方向に移動させる（またはコントローラの別の制御機構を同様の態様で操作する）、コントローラを上もしくは下または±Ｙ方向に移動させることによって上もしくは下または±Ｙ方向に（またはコントローラの別の制御機構を同様の態様で操作すること）、ならびにコントローラを前方および／もしくは後方にまたは±Ｚ方向に移動させる（または携帯型電子デバイス１０２の別の制御機構を同様の態様で操作すること）によって前方および／もしくは後方にまたは±Ｚ方向に、第１のオブジェクト１０と対話（たとえば、６自由度（ＤｏＦ）で対話または３ＤｏＦで対話）し得る。第１のオブジェクト１０との対話は、第２のオブジェクト１５との対話の前に行なわれる。いくつかの実現例では、第１のオブジェクト１０をＹ方向軸に沿って回転させて第１のオブジェクト１０を所望の場所に回転させ得る。この例では、第１のオブジェクト１０の回転は反時計回りであることができる。
【００２４】
いくつかの実現例では、第１のオブジェクト１０との対話を用いて、第２のオブジェクト１５上の場所に移動（たとえば、瞬間移動）することができる。たとえば、第２のオブジェクト１５の縮小版であることができる第１のオブジェクト１０上の場所を携帯型電子デバイス１０２を用いて選択することができる。第１のオブジェクト１０の場所の選択に応答して、ユーザの仮想体験を第２のオブジェクト１５の場所に移動させることができる。第２のオブジェクト１５上の場所は、第１のオブジェクト１０の場所に対応することができる。応じて、第２のオブジェクト１５に関連付けられる対話を第１のオブジェクト１０との対話を介してトリガすることができる。
【００２５】
図１には示さないが、１つよりも多くのコントローラを用いて第１のオブジェクト１０との対話を実現することができる。具体的に、第１のオブジェクトと対話するために、図１に示されるコントローラ１０２に加えて、第２のコントローラを用いることができる。そのような実現例を少なくとも図２に示す。
【００２６】
図２は、第１のコントローラ２１０および第２のコントローラ２２０を用いるユーザが見る仮想環境を示す。仮想環境を見るユーザによって、（仮想環境に示すことができる）第１および第２のコントローラ２１０，２２０を制御することができる。（一次コントローラとも称することができる）第１のコントローラ２１０および第２のコントローラ２２０は、地球儀２５（たとえば、第１のオブジェクト、小型地球儀）と対話するように構成されるため、地球２８（たとえば、第２のオブジェクト）に対するユーザの仮想体験を修正することができる。（地球の少なくとも一部の縮尺変更版である）地球儀２５および地球２８の文脈で図２を論じるが、図２に関連付けられる記載をさまざまな第１および第２のオブジェクトに適用することができる。
【００２７】
いくつかの実現例では、第１のコントローラ２１０および第２のコントローラ２２０は、異なる動作もしくは行為をトリガするように構成可能であるか、または異なる（もしくは重なる）機能を有することができる。たとえば、第１のコントローラ２１０を用いて地球儀２５を回転させることができ、第２のコントローラを用いて（地球２８上の場所に対応することができる）地球儀２５上の場所を識別して瞬間移動することができる。いくつかの実現例では、地球儀２５を第１のコントローラ２１０に関連付けることができる。具体的に、地球儀２５があたかも第１のコントローラ２１０に固く結合されるかまたは第１のコントローラ２１０の延長であるかのように、第１のコントローラ２１０を用いて移動するように地球儀２５を構成することができる。応じて、ユーザが第１のコントローラ２１０を移動させると、地球儀２５は、第１のコントローラ２１０に対応した態様で移動することができる。たとえば、第１のコントローラ２１０が左または右に移動すれば、地球儀２５は左または右に移動し、第１のコントローラ２１０が上または下に移動すれば、地球儀２５は上または下に移動する。本明細書中に記載されるもの以外の他の方向を用い得る。
【００２８】
この実現例では、ユーザ（図示せず）は、第２のコントローラ２２０を用いて地球儀２５上の場所２６を指し示すことができる。たとえば、ユーザは、第２のコントローラ２２０から発せられるビーム２９を向けて地球儀２５上の場所２６を識別し得る。いくつかの実現例では、地球儀２５上の何らかの種類のマーカを用いて場所２６を識別することができる。第２のコントローラ２２０との対話（たとえば、第２のコントローラ２２０上のトリガを引くことまたはボタンをクリックすること）に応答して、ユーザの仮想環境を地球儀２５上の場所に対応する地球２８内の場所に移動（瞬間移動、移送、転送など）させることができる。
【００２９】
いくつかの実現例では、地球儀２５との第２のコントローラ２２０の対話に基づいて、インジケータ（たとえば、カーソルピン、小さい人物、宇宙飛行士）が地球儀２５上の場所でホバリングすることができる。具体的に、地球儀２５の表面とビーム２９とが交差する場所にインジケータを含むことができる。地球儀２５に関連付けられるインジケータの別の例を図３に示す。図３のこの実現例では、ユーザが宇宙にいる場合は、インジケータ（たとえば、ロケーションピン）の代わりに宇宙飛行士３１が示され、ユーザが宇宙モードに遷移するであろうことをユーザに表わすように、インジケータの代わりのゴースト宇宙飛行士３２が示される。この例では、宇宙飛行士３１は、地球儀２５に関連付けられるユーザの所望の場所を示すインジケータを表わし得、ゴースト宇宙飛行士３２は、第２のコントローラ２２０の対話に基づいて現在の場所を指し示す、地球儀２５の周りでホバリングし得るインジケータを表わし得る。たとえば、宇宙飛行士３２が地球儀２５の周りでホバリングして第２のコントローラ２２０の対話に基づいて現在の場所を示しながら、ユーザは、地球儀２５上の場所を選択して、宇宙飛行士３１を用いて場所をマークすることによって場所を示し得る。
【００３０】
いくつかの実現例では、インジケータを用いて、地球儀２５および／または地球２８に対するユーザの向き設定を容易にすることができる。たとえば、いくつかの実現例では、ユーザはコンパスを用いて地球儀２５および／または地球２８内で自身の向きを設定することができる。いくつかの実現例では、ユーザの場所を示すピンの代わりに、矢印または視野オブジェクトが回転して、地球儀２５および／または地球２８内のユーザの現在の頭の方向に倣うことができる。
【００３１】
いくつかの実現例では、地球儀２５上の場所２６を指し示した後に、ユーザは、場所２６に対応する地球２８上の場所への移動（たとえば、瞬間移動、遷移）を直接にトリガすることができる。いくつかの実現例では、遷移のトリガは、コントローラ（たとえば、第２のコントローラ２２０）のトリガ部を引くことであることができる。
【００３２】
いくつかの実現例では、地球儀２５上の場所２６を指し示した後、ユーザは、フェードするように画面をトリガして、場所２６に対応する地球２８上の場所でホバリングする（たとえば、はるか上方でホバリングする、上記（宇宙空間で）宇宙モードでホバリングする）ユーザに遷移していくことができる。いくつかの実現例では、フェードするようにトリガすることは、コントローラの（たとえば、第２のコントローラ２２０の）トリガ部を引くことに応答してのことであることができる。
【００３３】
いくつかの実現例では、地球儀２５および／または地球２８内の（地面レベルにより近い）地表ビューでの場合、地球儀２５および／または地球２８の場所上のインジケータ（たとえば、ピン）は、ユーザの頭が向いている方向を示す矢印を有することができる。たとえば、（地面レベルからさらに遠い）惑星ビューの場合、矢印は、ユーザが惑星の中心を見ている場合は、（北極に向いて）上を向くことができ、ユーザが右に向くと、時計回りに回ることができ、ユーザが左に向くと、反時計回りに回ることができる。
【００３４】
いくつかの実現例では、ユーザがコントローラ（たとえば、第２のコントローラ２２０）から地球儀２５の場所２６にビームを向ける（たとえば、特定される時間の間向ける）と、コントローラ（たとえば、第１のコントローラ２１０）の上方で地球儀２５を修正（たとえば、拡大）することができる。換言すると、第２のコントローラ２２０による地球儀２５との対話（たとえば、ホバリング、ビーム２９の対話）に応答して、図２に示されるサイズに拡大するように地球儀２５を構成することができる。いくつかの実現例では、コントローラが地球儀２５と直接に対話していない場合は、図２に示されるサイズから地球儀２５をサイズ縮小させることができる（図示せず）。いくつかの実現例では、特定されるまたはしきい値時間の間地球儀２５にビームを向けることをホバリングまたはホバリング対話と称することができる。
【００３５】
いくつかの実現例では、ユーザがコントローラ（たとえば、第２のコントローラ２２０）から地球儀２５の場所２６にビームを向ける（たとえば、特定される時間の間向ける）と、ベクトル画像からより詳細な画像（たとえば、衛星画像、国境の画像）へと地球儀２５の質感をクロスフェードさせることができる。いくつかの実現例では、ユーザがコントローラ（たとえば、第２のコントローラ２２０）から地球儀２５の場所２６にビームを向ける（たとえば、特定される時間の間向ける）と、ビームが地球儀２５と交差する地点でインジケータが地球儀２５上に出現することができる。いくつかの実現例では、ユーザがコントローラ（たとえば、第２のコントローラ２２０）から地球儀２５の場所２６にビームを向ける（たとえば、特定される時間の間向ける）と、１つ以上のツールチップ（たとえば、第１のコントローラ２１０のタッチパッドに関連付けられる「回転」、第２のコントローラ２２０のトリガに関連付けられる「瞬間移動」）をトリガして表示させることができる。
【００３６】
いくつかの実現例では、ユーザが第１のコントローラ２１０の右回転ボタンを作動させるのに応答して、たとえば、（正面が右に移動するように）反時計回りに地球儀２５を北極の周りで回転させることができる。いくつかの実現例では、ユーザが第１のコントローラ２１０の左回転ボタンを作動させると、逆のことが当てはまることができる。いくつかの実現例では、場所のインジケータは地球儀２５の回転に追従することができるので、イニジケータはユーザの場所に留まる。
【００３７】
いくつかの実現例では、ビーム２９が地球儀２５に交差している間にユーザがたとえば第２のコントローラ２２０のトリガを作動させると、インジケータ（たとえば、赤いピン）を交差場所で地球儀２５に挿入（たとえば、２０％まで地球儀に挿入）することができる。いくつかの実現例では、ユーザがたとえば第２のコントローラ２２０のトリガを作動させると、インジケータ（たとえば、赤いピン）は、ユーザがトリガを作動させて地球儀２５とのビーム交差に追従するのを止めたときに、ある場所（たとえば、場所２６）に留まることができる。いくつかの実現例では、トリガが依然として作動されていても第２のコントローラ２２０からのユーザのビームが地球儀２５に交差しなくなった場合には、インジケータを削除することができる。
【００３８】
いくつかの実現例では、ビーム（たとえば、ビーム２９）が地球儀２５に交差している間にユーザがたとえば第２のコントローラ２２０のトリガ部を離すと、表示は、黒にフェードインする、および地球２８の所望の場所の上方の惑星ビューにフェードアウトすることができる。いくつかの実現例では、ビーム（たとえば、ビーム２９）が地球儀２５に交差している間にユーザがたとえば第２のコントローラ２２０のトリガ部を離すと、フェードの間に場所２６のインジケータが消えることができる。
【００３９】
いくつかの実現例では、ユーザがたとえば第２のコントローラ２２０のトリガ部を作動させると、ビームが地球儀２５に交差する場所で第１のインジケータ（たとえば、赤いピン）を地球儀２５に挿入することができる。ビーム（たとえば、ビーム２９）が地球儀２５に交差している間にユーザがたとえば第２のコントローラ２２０のトリガ部を離すと、場所の第２のインジケータ（たとえば、青のロケーションピン）が第１のインジケータの位置に移動することができる。いくつかの実現例では、地球儀２５上の場所は回転することができるため、ロケーションピンの第２のインジケータは今回第２のコントローラ２２０前方のデフォルト位置に戻る。
【００４０】
いくつかの実現例では、ビームが地球儀２５に交差していない間にユーザがたとえばコントローラ（たとえば、第２のコントローラ２２０）のトリガ部を離しても、ユーザは地球２８内で移動（たとえば、瞬間移動）しない。いくつかの実現例では、地球儀２５は、特定される持続時間の間拡大状態に留まり、次に縮小し（たとえば縮み）得る。いくつかの実現例では、地球儀２５が回転すると、地球儀２５は、縮小し（たとえば縮み）ながらデフォルト回転するようにさっと動く。
【００４１】
図４は、ホバリングおよびトリガ対話を示す状態図である。この状態図に示されるように、ホバリングおよび／またはトリガ対話のさまざまな組合せに基づいて、第１のオブジェクト（たとえば、地球儀）を拡大または縮小させることができる。第１のオブジェクト（たとえば、地球儀）を拡大または縮小させるには、ユーザは、コントローラ（たとえば、第２のコントローラ２２０）を制御（たとえば、動作）し得る。たとえば、ステップ４０２に示されるように、インジケータ（たとえば、宇宙飛行士）がコントローラ（たとえば、第２のコントローラ２２０）の対話に基づいて、第１のオブジェクト（たとえば、地球儀）上の場所の上方でホバリングしている場合、第１のオブジェクト（たとえば、地球儀）は拡大状態にあり得る。別の例では、ステップ４０３に示されるように、トリガ（たとえば、トリガ部を引くまたはボタンをクリックする）がコントローラに対して行なわれかつインジケータ（たとえば、宇宙飛行士）がコントローラ（たとえば、第２のコントローラ２２０）の対話に基づいて第１のオブジェクト（たとえば、地球儀）上の場所の上方でホバリングしている場合、第１のオブジェクト（たとえば、地球儀）は拡大状態にあり得る。別の例では、ステップ４０４に示されるように、コントローラに対してトリガ（たとえば、トリガ部を引くことまたはボタンをクリックすること）が行なわれる場合、第１のオブジェクト（たとえば、地球儀）は拡大状態にあり得る。ステップ４０１は、トリガが行なわれておらずインジケータ（たとえば、宇宙飛行士）が第１のオブジェクト（たとえば、地球儀）上方の場所の上方でホバリングしていない場合の縮小状態の第１のオブジェクト（たとえば、地球儀）を示す。しかしながら、いくつかの実現例では、トリガが行なわれておらずインジケータが第１のオブジェクト（たとえば、地球儀）上方の場所の上方でホバリングしていない場合でも、第１のオブジェクト（たとえば、地球儀）が拡大状態にあり得る場合が存在し得る。たとえば、ユーザがコントローラ上のトリガ部を離してインジケータ（たとえば、宇宙飛行士）の遅延（予め定められた時間が経過した）が消滅する（たとえば、フェード、満了など）と、第１のオブジェクト（たとえば、地球儀）は拡大状態にあり得る。換言すると、第１のオブジェクト（たとえば、地球儀）は、時間遅延が満了するまで拡大状態にある。
【００４２】
図５Ａは、第１のコントローラ２１０および第２のコントローラ２２０によってトリガすることができる付加的な対話を示す図である。図５Ａに示されるように、第１のオブジェクト（たとえば、地球儀２５）は縮小状態にある。対話（たとえば、訪問）すべき地球儀２５上の場所を決定するために、ユーザは、第１のコントローラ２１０を介して地球儀２５を回転させて、地球儀２５の様々な場所を観察する。いくつかの実現例では、第１のコントローラ２１０は、さまざまな機能のためのいくつかのボタンおよび／またはトリガ部を含む。たとえば、ボタン／トリガ２２２は、地球儀２５の方向付けを決める地球儀２５方向付けボタン（たとえば、地球を上に傾ける）であり、ボタン／トリガ２２４は、訪問した場所を保存（たとえば、長押しして保存）する保存機能を有する。
【００４３】
地球儀２５が拡大（拡張）するために、ユーザは、第２のコントローラ２２０を地球儀２５上の場所に向けて、（たとえば、カーソルピン、小さな人物、または宇宙飛行士を介して）移動（たとえば、瞬間移動）すべき場所を示す。第２のコントローラ２２０から発せられるビーム（図示せず）は、地球儀２５の表面と交差して（かつハイライトされて）、訪問すべき場所を決定し得る。一旦場所が地球儀２５上で決定されると、ユーザは、第２のコントローラ２２０上のボタンおよび／またはトリガ部のうち１つを操作して、所望の場所に瞬間移動する。いくつかの実現例では、第２のコントローラ２２０は、さまざまな機能のためのいくつかのボタンおよび／またはトリガ部を含む。たとえば、ボタン／トリガ２３２は、ユーザを保存された場所に向けるためにメニュー窓をユーザに提供するメニュー機能を有し、ボタン／トリガ２３４は、ユーザが地球儀２５を横断して飛行しかつ方向を付与する飛行機能を有し、ボタン／トリガ２３６は、ユーザがビューをドラッグすることができるようにドラッグ機能を有し、かつボタン／トリガ２３８は、ユーザが見るようなビューを回転させる回転機能を有する。
【００４４】
いくつかの実現例では、図５Ｂに示されるように、ユーザはメニュー表示４１０を通して直接に所望の場所に移動（たとえば、瞬間移動、転送など）し得る。この例示的な実現例では、第２のコントローラ２２０上のボタン（たとえば、メニューボタン）をクリックしてメニュー表示４１０をユーザに表示することによってメニュー表示４１０を表示し得る。メニュー表示４１０は、所望の場所に移動（たとえば、瞬間移動）されるための、記憶された場所を含み得る。たとえば、図５Ｂに示されるように、示されるメニュー表示４１０は、選択対象の６つの目的地（たとえば、イタリアのフィレンツェ、ドイツのノイシュバンシュタイン、日本の東京、ユタ州のベアーズイヤーズ、ニューヨークのマンハッタン、ブラジルのリオデジャネイロ）を含み得る。一旦場所が選択されると、ユーザは選択された場所に直接に移動（たとえば、瞬間移動）され、第２の仮想オブジェクト内で対話される。
【００４５】
いくつかの実現例では、図５Ｃに示されるように、移動されるべき所望の場所をメニュー表示４１０が含有していない場合、ユーザは、キーボード４４０を取出して第２のコントローラ２２０を介して所望の場所をタイプ入力し得る。この例では、ユーザは、英国のエイムズベリーにあるストーンヘンジに移動（たとえば、瞬間移動）することを試みている。いくつかの実現例では、ユーザは、メニュー表示４１０を表示させることなく、対話の間の任意の時間にキーボード４４０を取出して入力窓４５０の中に所望の場所をタイプ入力し得る。換言すると、ユーザは、キーボード４４０を取出して、第１の仮想オブジェクトとの対話の間にまたは第２の仮想オブジェクトとの対話の間に、所望の場所をタイプ入力し得る。便宜上、ユーザは、入力窓４５０中に所望の場所の最初の数文字のみをタイプ入力して、ボックス４６０中に示されるようなタイプ入力された文字から始まる候補場所の一覧を生成することができる。
【００４６】
図６Ａは、別の例示的な実施形態に従う、第１のコントローラおよび第２のコントローラを用いるユーザが見る仮想環境を示す。この例では、ユーザは、世界と比べて比較的サイズが大きい（すなわち、建物、山、地表などがより小さく感知される）。図６Ｂは、第２の仮想オブジェクト内において対話する（たとえば、没入する）ユーザが見る図６Ａの仮想環境を示す。
【００４７】
図６Ａに示されるように、第１の仮想オブジェクトは球体６０１（たとえば、球形にマッピングされるパノラマ画像（たとえばストリートレベル（道路レベル）ビュー））である。球体６０１は、ストリートビュー場所へのポータルとして働き、かつユーザをストリートビュー（道路ビュー）（たとえば、選択された場所のパノラマ画像（ストリートレベルビュー））に移動（たとえば、瞬間移動）させ得る。球体６０１は、その上方にユーザが位置する場所に対応し得る。この例では、ユーザは、イタリアのローマ市を選択しかつその中に位置しており、球体６０１は、それと対話すべきイタリアのローマのピアッツァデルコロッセオ（コロセウム）の場所を表示する。換言すると、ユーザは、球体６０１と対話して、（図６Ａに示されるような）上空飛行モードと、（図６Ｂに示されるような）ストリートビューモードとの間で切換えし得る。
【００４８】
いくつかの実現例では、球体６０１と対話することによってストリートビューモードを実現し得る。たとえば、ユーザは、コントローラ（たとえば、第１のコントローラ２１０）をユーザの顔に近づけて、図６Ｂに示されるようなストリートビューでコロセウムに移動（たとえば、瞬間移動）し得る。ユーザがコントローラ（たとえば、第１のコントローラ２１０）をユーザの顔から遠ざけると、球体６０１は縮小サイズに切換って戻り（ユーザは上空飛行モードに戻るように移動され）、（図６Ａに示されるような）球体６０１のビューを表示する。この方法では、ユーザは、球体６０１を用いてストリートレベルを見て、場所に移動（たとえば、瞬間移動）することができる。いくつかの実現例では、ユーザは、ストリートビュー場所の中を盗み見て、容易に移動（たとえば、瞬間移動）して戻って来得る。
【００４９】
いくつかの実現例では、ユーザは、球体６０１と対話して、第２のコントローラ２２０（図示せず）を用いて球体６０１上をクリックすることによってストリートビューを選択し得る。この対話も、図６Ｂに示されるように（球体６０１中のビューに対応する）ストリートビューにユーザを移動（たとえば、瞬間移動）させる。球体６０１をユーザに近づける方法と比較して、上述のように、この方法は、ユーザを場所に永久的に瞬間移動させる。いくつかの実現例では、ユーザは、コマンドを選択する（たとえば、図６Ａに戻るボタンをクリックする）ことおよび上空飛行モードに戻ることなく、ストリートビューを抜けることはできない。
【００５０】
一旦ストリートビューに入ると、ユーザは、仮想環境中の没入体験を提供するストリートレベルでのさまざまなビューを観察し得る。換言すると、ユーザは、記憶された画像のパノラマ３６０°ビューにおける画像をストリートレベルで観察する。いくつかの実現例では、ストリートビューで異なる場所に移動するには、ユーザは、ストリートビューから出て、図６Ａ中の所望の場所にインジケータを移動させて、新たな場所でストリートビューを選択する。
【００５１】
いくつかの実現例では、ユーザは、（ストリートビューでの）異なる場所に移動して、依然としてストリートビューにいながら他の場所を観察することができる。たとえば、図６Ｂを参照して、ユーザがコロセウムの角を曲がったところ（コロセウムに向かって右側）に何があるかを観察したい場合、ユーザは、コロセウムに向けて移動して新たな場所を観察する。このイベントでは、新たな場所を示す新たな画像が生成されかつ表示される。これにより、ストリートビューを離れることなく、仮想環境でのより没入的な体験が創出される。いくつかの実現例では、新しい場所にいながら、ユーザはストリートレベルビューを抜けて、上空飛行モードで新たな場所を見得る。たとえば、ストリートビューで動き回りながら、ユーザは都市全体に対して新たな場所を観察したいと思うことがあり、したがって、ユーザは、（球体６０１を介して）ストリートビューから抜け出て、上空飛行モードで見られるような新たな場所を決定し得る。
【００５２】
いくつかの実現例では、ユーザは、（図２に示されるような）地球ビューと（図６Ａに示されるような）ストリートビューとの間でビューを変更し得る。１つの実現例では、ユーザの縮尺を変更することによってストリートビューを実現し得る。たとえば、地球ビューでは、第１の仮想オブジェクトは地球儀２５であり、ユーザは、地球儀２５を回転させることによって場所を選択し、訪問する場所を決定し得る。一旦場所を選択すると、ユーザは、ユーザの縮尺を変更してストリートビューに切換え得る。縮尺を変更する１つの方法は、ユーザの縮尺がしきい値を超えるまで第２のコントローラ２２０を介すること（たとえば、第２のコントローラ上のボタン／トリガをクリックすること）であり得る。たとえば、ユーザの縮尺は、しきい値が満たされて第１の仮想オブジェクトが球体に切換わるまで、どんどん小さくなり得る。このイベントでは、（図２に示されるような）地球儀２５は、（図６Ａに示されるような）球体６０１に切換わる。
【００５３】
いくつかの実現例では、ユーザは、第２のコントローラ２２０を用いてストリートビューを選ぶことによって、ストリートビューに直接に変更し得る。たとえば、第２のコントローラ２２０は、第１の仮想オブジェクト（たとえば、地球儀２５）と対話してメニュー窓（図示せず）を表示させかつストリートビューモードに切換えることによって、ストリートビューを選択し得る。
【００５４】
いくつかの実現例では、さまざまな論理的構築を用いて上述のさまざまな対話を規定することができる。いくつかの実現例では、LocationGlobe、SixDofControllerUi、およびLocationGlobeDisplayを扱うのに２つの主なクラスが関与することができる。いくつかの実現例では、LocationGlobeDisplayは、コントローラ変換（位置および／または場所）ならびにユーザの現在の地理位置情報（GeoLocation）を取得することによって、どこにMiniGlobeRenderableおよび／または２つのShapeRenderableピンを描画するかを決定する。いくつかの実現例では、SixDofControllerUiはLocationGlobeDisplayを有し、更新呼出しのたびに、コントローラの変換、現在の地理位置情報、およびユーザの頭の向け方でこれを更新する。いくつかの実現例では、すべての対話を扱いかつLocationGlobeDisplayがいつ拡大すべきかおよびレーザがどこを指し示しているかについてLocationGlobeDisplayを更新するLocationGlobeInteractableと呼ばれるInteractiveAppModeのメンバーとして新たなクラスを追加することができる。いくつかの実現例では、LocationGlobeInteractableは、LocationGlobeDisplayと通信することができる。いくつかの実現例では、GetLocationGlobeDisplay方法をＵｉに追加して、InteractiveAppModeにおいて表示を把握することができる。いくつかの実現例では、LocationGlobeDisplayへのポインタを有することにより、Ｕｉインターフェイスをより複雑にすることを犠牲にして、次々に回していくべき付加的な状態オブジェクトの必要性を排除することができる。
【００５５】
いくつかの実現例では、LocationGlobeInteractableは、LocationGlobeDisplayの変換に基づいて位置決めされる球体サイズの加速器とのビーム衝突を検出する。いくつかの実現例では、レーザ衝突の際、InteractiveAppModeは、現在のコントローラレイアウトを更新して、瞬間移動および回転を可能にすることができる。いくつかの実現例では、同時に、インタラクタブル（interactable）は、地球儀を拡大しカーソルピンの更新を開始するようディスプレイに命じる。いくつかの実現例では、それはInteractiveAppModeのメンバーであるので、MenuAppModeなどの別のアプリケーションモードがアプリケーションモードスタックにプッシュされた場合は、または瞬間移動黒フェードアウト遷移、ChangeViewAppModeの間は、更新を停止させることができる。いくつかの実現例では、ロケーショングローブの変換を算出するための方法がこのクラスの中にないということがあり得る、またはそれは、ユーザがメニューを開いたときに位置決めの更新を停止させることができる。いくつかの実現例では、別の制限は、LocationGlobeInteractableが地球儀の回転についての状態情報を保つので、InteractiveAppModeがアプリケーションモードスタックから取出されると、この情報が失われる可能性があるということである。いくつかの実現例では、LocationGlobeInteractableは、LocationGlobeDisplayクラス上の方法を呼出して、それを縮める／拡大する、カーソルピンを更新する、および／または地球儀を回転させる。
【００５６】
いくつかの実現例では、アクターのメンバーとしてLocationGlobeStateを追加することによって、LocationGlobeInteractableとLocationGlobeDisplayとの間の通信を容易にすることができる。この方法は、LocationGlobeInteractableとLocationGlobeDisplayとの間の依存性を排除し、Ｕｉインターフェイス上の混乱を低減する。しかしながら、この結果、この付加的な状態オブジェクトの間接的なメンテナンスが生じる可能性があり、これはアクターのメンバーとして完全に適合しないことがある。
【００５７】
本明細書中に記載されるような実施形態に従う仮想現実環境中の仮想オブジェクトとの対話の方法を図７Ａおよび図７Ｂに示す。ブロック７００で、システムおよび方法は、ＨＭＤ装置において仮想環境の表示をトリガし得る。仮想環境の表示をトリガすると、システムおよび方法は、第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガし得る。第１の仮想オブジェクトは、第２の仮想オブジェクトよりも小さなサイズを有し得る（ブロック７０２）。ユーザが第１のオブジェクトと対話する（たとえば、場所を選択する）と、ユーザは、第１の仮想オブジェクトのサイズよりも大きな第１のサイズを有し得る（ブロック７０４）。次にユーザは、第１の仮想オブジェクトとの対話に応答して、第２の仮想オブジェクトとの対話をトリガする（ブロック７０６）。この対話レベルの間、ユーザは、第２の仮想オブジェクトと対話する際は、第１のサイズよりも大きな第２のサイズを有する。
【００５８】
同様に、図７Ｂに記載される例示的な方法は、ＨＭＤ装置において仮想環境の表示をトリガし得る（ブロック７０１）。仮想環境の表示をトリガすると、システムおよび方法は、第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガし得る。第１の仮想オブジェクトは第２の仮想オブジェクトを表わし得る。第１の仮想オブジェクトは、第２の仮想オブジェクトよりも小さなサイズを有し得る（ブロック７０３）。第１のオブジェクトの対話の間、ユーザは、第２のコントローラを介して第１の仮想オブジェクト内の場所を選択して、第２の仮想オブジェクト中の場所へのユーザの移動をトリガする（ブロック７０５）。この段階で、ユーザは、第２の仮想オブジェクト内で対話を受信し得る（ブロック７０７）。たとえば、ユーザは、第２のオブジェクトの表面の上および／もしくはその近くに存在し得る、または第２の仮想オブジェクトの環境内部に完全に没入し得る。
【００５９】
いくつかの実現例では、図１Ａに示されるように、コントローラ１０２は、たとえば有線接続またはたとえばワイファイ（登録商標）もしくはブルートゥース（登録商標）接続などの無線接続を介して、ＨＭＤ１００に動作可能に結合されるまたはこれと対にされ得る。コントローラ１０２およびＨＭＤ１００のこのペアリングまたは動作可能な結合は、コントローラ１０２とＨＭＤ１００との間の通信およびコントローラ１０２とＨＭＤ１００との間のデータの交換を提供し得る。これにより、コントローラ１０２は、ＨＭＤ１００によって生成される没入型仮想環境で対話するための、ＨＭＤ１００と通信するコントローラとして機能できるようになり得る。
【００６０】
たとえば、コントローラ１０２および／もしくはコントローラ１０２のタッチ面で受信される入力の操作、ならびに／またはコントローラ１０２の動きは、ＨＭＤ１００によって生成されかつ表示される仮想環境での対応の選択または動きまたは他の種類の対話に変換され得る。
【００６１】
図１Ａに示される例示的な実現例は、ＨＭＤ１００とのデータ交換およびＨＭＤ１００によって生成される仮想環境における特徴、要素、オブジェクトなどとの対話のための、ＨＭＤ１００と通信する１つのコントローラ１０２を含む。しかしながら、いくつかの実現例では、１つよりも多くのコントローラ１０２がＨＭＤ１００に動作可能に結合され得かつそれと通信し得、ともにまたは別個に動作して仮想環境中で対話し得る。
【００６２】
図８Ａおよび図８Ｂは、たとえば図１のユーザが着用するＨＭＤ１００などの例示的なＨＭＤの斜視図であり、図８Ｃは、図１Ｃに示される、たとえばコントローラ１０２などの例示的なコントローラを示す。
【００６３】
コントローラ１０２は、装置１０２の内部構成要素を受ける筐体１０３と、ユーザにアクセス可能な筐体１０３上のユーザインターフェイス１０４とを含み得る。ユーザインターフェイス１０４は、たとえば、ユーザタッチ入力、タッチおよびドラッグ入力などを受けるように構成されるタッチセンサ式表面１０６を含み得る。ユーザインターフェイス１０４は、たとえば、作動トリガ、ボタン、ノブ、トグルスイッチ、ジョイスティックなどのユーザ操作装置１０５も含み得る。
【００６４】
ＨＭＤ１００は、ヘッドフォンに装着され、フレーム１２０に結合もされる、たとえばスピーカを含む音声出力装置１３０とともに、フレーム１２０に結合される筐体１１０を含み得る。図２Ｂで、筐体１１０の正面部分１１０ａは筐体１１０のベース部分１１０ｂから遠ざかるように回転されるため、筐体１１０中で受けられる構成要素のうちいくつかが見えている。ディスプレイ１４０は、筐体１１０の正面部分１１０ａの内側に面する側に搭載され得る。レンズ１５０は、正面部分１１０ａが筐体１１０のベース部分１１０ｂに対して閉じた位置にある場合は、筐体１１０の中でユーザの目とディスプレイ１４０との間に搭載され得る。ＨＭＤ１００は、さまざまなセンサを含む検知システム１６０と、プロセッサ１９０およびＨＭＤ１００の動作を容易にするさまざまな制御システム装置を含む制御システム１７０とを含み得る。
【００６５】
たとえば、いくつかの実現例では、検知システム１６０は、たとえば加速度計、ジャイロスコープ、磁気計、および他のそのようなセンサなどのさまざまな異なる種類のセンサを含む慣性測定ユニット（ＩＭＵ）１６２を含み得る。ＨＭＤ１００の位置および向きは、ＩＭＵ１６２中に含まれるセンサが与えるデータに基づいて検出および追跡され得る。ＨＭＤ１００の検出された位置および向きにより、システムは次にユーザの頭の注視方向および動きを検出および追跡できるようになり得る。
【００６６】
いくつかの実現例では、ＨＭＤ１００は、目の注視方向および動きを検出しかつ追跡するために、たとえば１つ以上のセンサ１６５Ａを含む注視追跡装置１６５を含み得る。センサ１６５Ａが捕捉する画像を処理してユーザの目の注視の方向および動きを検出および追跡し得、検出されかつ追跡された注視をユーザ入力として処理して、没入型仮想体験における対応の対話に変換し得る。カメラ１８０は、ユーザの物理的位置および／またはＨＭＤ１００と通信する／動作可能に結合される他の外部装置を追跡するのを助けるのに用い得る静止画および／または動画を捕捉し得る。捕捉された画像を、透視モードでディスプレイ１４０上にユーザに対して表示もし得る。
【００６７】
ユーザに対する仮想環境の仮想要素の移動を提供するシステムのブロック図を図９に示す。システムは、（たとえば、図１および図８Ａ−図８Ｂについて上述したようなＨＭＤなどの）第１の電子デバイス３００と、第１の電子デバイス３００と通信する（たとえば、図１および図８Ｃについて上述したようなコントローラなどの）少なくとも１つの第２の電子デバイス３０２とを含み得る。
【００６８】
第１の電子デバイス３００は、検知システム３６０および制御システム３７０を含み得、これらはそれぞれ、図８Ａおよび図８Ｂに示される検知システム１６０および制御システム１７０と同様であり得る。検知システム３６０は、たとえば光センサ、音声センサ、画像センサ、距離および／もしくは近接センサを含む異なる種類のセンサ、たとえばジャイロスコープ、加速度計、磁気計などを含むＩＭＵ、タイマ、ならびに／または他のセンサおよび／もしくはセンサの異なる組合せを含み得る。制御システム３７０は、たとえば、電源／一時停止制御装置、音声および映像制御装置、光学制御装置、遷移制御装置、ならびに／またはそのような他の装置および／もしくは装置の異なる組合せを含み得る。検知システム３６０および／または制御システム３７０は、特定の実現例に依存して、より多くのまたはより少ない装置を含み得る。検知システム３６０および／または制御システム３７０に含まれる要素は、図８Ａおよび図８Ｂに示されるＨＭＤ１００以外のたとえばＨＭＤ内では、異なる物理的配置（たとえば、異なる物理的場所）を有し得る。第１の電子デバイス３００は、検知システム３６０および制御システム３７０と通信するメモリ３８０およびプロセッサ３９０も含み得る。プロセッサ３９０は、検知システム３６０およびたとえば第２の電子デバイス３０２などの他の外部ソースから受信する入力を処理し、検出される入力に対応する命令を実行し得る。第１の電子デバイス３００は、第１の電子デバイス３００と、たとえば第２の電子デバイス３０２およびシステム関連情報の扱いに係る他のコンピューティングデバイスなどの他の外部コンピューティングデバイスとの間の通信を提供する通信モジュール３５０も含み得る。
【００６９】
第２の電子デバイス３０２は、第２の電子デバイス３０２とたとえば第１の電子デバイス３００などの別の装置との間での通信およびデータ交換を提供する通信モジュール３０６を含み得る。いくつかの実現例では、第２の電子デバイス３０２の特定の構成（すなわち、コントローラ対キーボードまたはマウス）に依存して、第２の電子デバイス３０２は、たとえばカメラおよびマイクに含まれるものなどのような、たとえば画像センサおよび音声センサ、ＩＭＵ、タイマ、コントローラもしくはスマートフォンのタッチセンサ面に含まれるものなどのようなタッチセンサ、ならびに他のそのようなセンサおよび／もしくはセンサの異なる組合せを含む検知システム３０４を含み得る。プロセッサ３０９は、第２の電子デバイス３０２の検知システム３０４およびコントローラ３０５と通信し得、コントローラ３０５はメモリ３０８へのアクセスを有し、第２の電子デバイス３０２の全体的な動作を制御する。
【００７０】
図１０は、ここに記載される技術とともに用い得る、コンピュータデバイス９００およびモバイルコンピュータデバイス９５０の例を示す。コンピューティングデバイス９００は、プロセッサ９０２と、メモリ９０４と、記憶装置９０６と、メモリ９０４および高速拡張ポート９１０に接続する高速インターフェイス９０８と、低速バス９１４および記憶装置９０６に接続する低速インターフェイス９１２とを含む。構成要素９０２、９０４、９０６、９０８、９１０、および９１２の各々は、さまざまなバスを用いて相互接続され、共通のマザーボード上にまたは適宜他の態様で実装され得る。プロセッサ９０２は、メモリ９０４中または記憶装置９０６上に記憶される命令を含む、コンピューティングデバイス９００内での実行のための命令を処理して、高速インターフェイス９０８に結合されるディスプレイ９１６などの外部入力／出力装置上のＧＵＩ用のグラフィック情報を表示することができる。他の実現例では、適宜複数のプロセッサおよび／または複数のバスを複数のメモリおよび複数の種類のメモリとともに用い得る。また、複数のコンピューティングデバイス９００を接続し得、その場合、（たとえば、サーババンク、ブレードサーバの群、またはマルチプロセッサシステムとして）各々のデバイスが必要な動作の一部を提供する。
【００７１】
メモリ９０４は、コンピューティングデバイス９００内に情報を記憶する。１つの実現例では、メモリ９０４は、揮発性メモリユニットまたはその複数のユニットである。別の実現例では、メモリ９０４は、不揮発性メモリユニットまたはその複数のユニットである。メモリ９０４は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ読出可能媒体でもあり得る。
【００７２】
記憶装置９０６は、コンピューティングデバイス９００用の大容量記憶を設けることができる。１つの実現例では、記憶装置９０６は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置もしくはテープ装置などのコンピュータ読出可能媒体、フラッシュメモリもしくは他の同様の固体メモリデバイス、または記憶領域ネットワークもしくは他の構成の中の装置を含む装置のアレイであり得るまたはそれを含有し得る。コンピュータプログラムプロダクトを情報担体中に実体的に具体化することができる。コンピュータプログラムプロダクトは、実行されると、上述のものなどの１つ以上の方法を実行する命令も含有し得る。情報担体は、メモリ９０４、記憶装置９０６、またはプロセッサ９０２上のメモリなどの、コンピュータまたは機械読出可能媒体である。
【００７３】
高速コントローラ９０８は、コンピューティングデバイス９００の帯域消費型動作を管理する一方で、低速コントローラ９１２は、あまり帯域消費型ではない動作を管理する。そのような機能の割当ては例示にすぎない。１つの実現例では、高速コントローラ９０８は、（たとえば、グラフィックプロセッサまたはアクセラレータを介して）メモリ９０４、ディスプレイ９１６に、およびさまざまな拡張カード（図示せず）を受付け得る高速拡張ポート９１０に結合される。実現例では、低速コントローラ９１２は、記憶装置９０６および低速拡張ポート９１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、ワイヤレスイーサネット（登録商標））を含み得る低速拡張ポートは、たとえばキーボード、ポインティングデバイス、スキャナなどの１つ以上の入／出力装置、またはスイッチもしくはルータなどのネットワーキング装置に、たとえばネットワークアダプタを通して結合され得る。
【００７４】
図に示されるように、コンピューティングデバイス９００を多数の異なる形態で実現し得る。たとえば、標準的なサーバ９２０としてまたはそのようなサーバの群としてこれを何度も実現し得る。それを、ラックサーバシステム９２４の一部としても実現し得る。さらに、それを、ラップトップコンピュータ９２２などのパーソナルコンピュータにおいて実現し得る。これに代えて、コンピューティングデバイス９００からの構成要素を、装置９５０などのモバイル装置（図示せず）中の他の構成要素と組合せ得る。そのような装置の各々は、コンピューティングデバイス９００、９５０のうち１つ以上を内蔵し得、システム全体は、互いに通信する複数のコンピューティングデバイス９００、９５０からなり得る。
【００７５】
コンピューティングデバイス９５０は、他の構成要素のうち、プロセッサ９５２、メモリ９６４、ディスプレイ９５４などの入／出力装置、通信インターフェイス９６６、およびトランシーバ９６８を含む。付加的な記憶を設けるように、装置９５０には、マイクロドライブまたは他の装置などの記憶装置も設け得る。構成要素９５０、９５２、９６４、９５４、９６６、および９６８の各々は、さまざまなバスを用いて相互接続され、構成要素のうちいくつかは、共通のマザーボード上にまたは適宜他の態様で実装され得る。
【００７６】
プロセッサ９５２は、コンピューティングデバイス９５０内で、メモリ９６４中に記憶される命令を含む命令を実行することができる。プロセッサを、別個のおよび複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現し得る。プロセッサは、たとえば、ユーザインターフェイスの制御、装置９５０によって実行されるアプリケーション、装置９５０による無線通信などの、装置９５０の他の構成要素の協調を提供し得る。
【００７７】
プロセッサ９５２は、ディスプレイ９５４に結合される制御インターフェイス９５８と表示インターフェイス９５６とを通してユーザと通信し得る。ディスプレイ９５４は、たとえば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）またはＯＬＥＤ（有機発光ダイオード）ディスプレイまたは他の適切な表示技術であり得る。表示インターフェイス９５６は、グラフィックおよび他の情報をユーザに提示するようにディスプレイ９５４を駆動するための適切な回路構成を備え得る。制御インターフェイス９５８は、ユーザからコマンドを受信して、それらを変換してプロセッサ９５２に送り得る。さらに、装置９５０による他の装置との近距離通信を可能にするために、プロセッサ９５２と通信するように外部インターフェイス９６２を設け得る。外部インターフェイス９６２は、たとえば、いくつかの実現例では有線通信を、または他の実現例では無線通信を提供し得、複数のインターフェイスも用い得る。
【００７８】
メモリ９６４は、コンピューティングデバイス９５０内に情報を記憶する。メモリ９６４を、コンピュータ読出可能媒体もしくはその複数の媒体、揮発性メモリユニットもしくはその複数のユニット、または不揮発性メモリユニットもしくはその複数のユニットのうち１つ以上として実現可能である。拡張メモリ９７４も設けて、拡張インターフェイス９７２を通して装置９５０に接続し得る。これは、たとえば、ＳＩＭＭ（シングルインラインメモリモジュール）カードインターフェイスを含み得る。そのような拡張メモリ９７４は、装置９５０用の追加の記憶空間を設け得る、または装置９５０のためのアプリケーションもしくは他の情報も記憶し得る。具体的に、拡張メモリ９７４は、上述のプロセスを実行するまたは補足する命令を含み得、安全な情報も含み得る。このように、たとえば、拡張メモリ９７４を、装置９５０のためのセキュリティモジュールとして設け得、装置９５０の安全な使用を可能にする命令でプログラミングし得る。さらに、ハッキングされない態様でＳＩＭＭカード上に識別情報を配置するなど、付加的な情報とともにＳＩＭＭカードを介して安全なアプリケーションが提供され得る。
【００７９】
メモリは、たとえば、以下に論じるようにフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。１つの実現例では、コンピュータプログラムプロダクトは、情報担体の中に実体的に具体化される。コンピュータプログラムプロダクトは、実行されると、上述のものなどの１つ以上の方法を行なう命令を含有する。情報担体は、メモリ９６４、拡張メモリ９７４、たとえばトランシーバ９６８もしくは外部インターフェイス９６２上で受けられ得るプロセッサ９５２上のメモリなどのコンピュータまたは機械読出可能媒体である。
【００８０】
装置９５０は、必要な場合、デジタル信号処理回路構成を含み得る通信インターフェイス９６６を介して無線で通信し得る。通信インターフェイス９６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳもしくはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳなどのさまざまなモードまたはプロトコル下での通信を提供し得る。そのような通信は、たとえば無線周波数トランシーバ９６８を通して行なわれ得る。さらに、ブルートゥース（登録商標）、ワイファイ（登録商標）、またはそのような他のトランシーバ（図示せず）を用いるなどする短距離通信が行なわれ得る。さらに、ＧＰＳ（全地球測位システム）受信機モジュール９７０が、付加的なナビゲーションおよび場所関連の無線データを装置９５０に与え得、このデータは、適宜装置９５０上で実行されるアプリケーションによって用いられ得る。
【００８１】
装置９５０は、音声コーデック９６０を用いて聴覚を通じても通信し得、これは、ユーザからの口頭の情報を受信し、これを使用可能なデジタル情報に変換し得る。音声コーデック９６０は同様に、スピーカを通したりなどして、たとえば装置９５０のハンドセットで、ユーザ可聴の音を生成し得る。そのような音は、音声電話通話からの音を含み得、録音（たとえば、音声メッセージ、音楽ファイルなど）を含み得、かつ装置９５０上で動作するアプリケーションによって生成される音も含み得る。
【００８２】
図に示されるように、コンピューティングデバイス９５０を多数の異なる形態で実現し得る。たとえば、これをセルラー電話９８０として実現され得る。これを、スマートフォン９８２、パーソナルデジタルアシスタント、または他の同様のモバイル装置の一部としても実現し得る。
【００８３】
ここに記載されるシステムおよび技術のさまざまな実現例を、デジタル電子回路構成、集積回路構成、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはその組合せで実現することができる。これらのさまざまな実現例は、特殊用途または汎用であり、記憶システムからおよび記憶システムにデータおよび命令を送受信するように結合され得る少なくとも１つのプログラマブルプロセッサ、少なくとも１つの入力装置、および少なくとも１つの出力装置を含むプログラマブルシステム上で実行可能なおよび／または解釈可能な１つ以上のコンピュータプログラム中の実現例を含むことができる。
【００８４】
（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても公知の）これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型言語および／もしくはオブジェクト指向プログラミング言語ならびに／またはアセンブリ／機械言語において実現可能である。本明細書中で用いるように、「機械読出可能媒体」「コンピュータ読出可能媒体」という用語は、機械読出可能信号として機械命令を受信する機械読出可能媒体を含む、機械命令および／またはデータをプログラマブルプロセッサに与えるのに用いられる任意のコンピュータプログラムプロダクト、機器および／または装置（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理回路（ＰＬＤ））を指す。「機械読出可能信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに与えるのに用いられる任意の信号を指す。
【００８５】
ユーザとの対話を提供するために、ここに記載されるシステムおよび技術を、情報をユーザに表示するための表示装置（たとえば、ＣＲＴ（陰極管）もしくはＬＣＤ（液晶ディスプレイ）モニタ）、それによってユーザが入力をコンピュータに与えることができるキーボードおよびポインティングデバイス（たとえば、マウスもしくはトラックボール）を有するコンピュータ上で実現することができる。他の種類の装置を用いてユーザとの対話を提供することもできる。たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚的フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であることができ、ユーザからの入力を、音響、音声、または触覚入力を含む任意の形態で受信することができる。
【００８６】
ここに記載されるシステムおよび技術を、（たとえば、データサーバとしての）バックエンド構成要素を含むまたはミドルウェア構成要素（たとえば、アプリケーションサーバ）を含む、またはフロントエンド構成要素（たとえば、それを通してユーザがここに記載されるシステムおよび技術の実現例と対話することができるグラフィックユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステム中で実現することができる。システムの構成要素を、デジタルデータ通信（たとえば、通信ネットワーク）の任意の形態または媒体によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットを含む。
【００８７】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは一般的に互いから遠隔であり、典型的には通信ネットワークを通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され互いに対してクライアント−サーバ関係を有するコンピュータプログラムによって発生する。
【００８８】
いくつかの実現例では、図９に示されるコンピューティングデバイスは、仮想現実（ＶＲヘッドセット／ＨＭＤ装置９９０）とインターフェイスするセンサを含むことができる。たとえば、図９に示されるコンピューティングデバイス９５０または他のコンピューティングデバイス上に含まれる１つ以上のセンサは、ＶＲヘッドセット９９０に入力を与える、または一般的に入力をＶＲ空間に与えることができる。センサは、タッチ画面、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含むことができるが、それらに限定されない。コンピューティングデバイス９５０は、センサを用いて、ＶＲ空間でのコンピューティングデバイスの絶対的位置および／または検出される回転を判定することができ、次にそれをＶＲ空間への入力として用いることができる。たとえば、コンピューティングデバイス９５０を、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてＶＲ空間の中に組入れ得る。ＶＲ空間に組入れられた際のユーザによるコンピューティングデバイス／仮想オブジェクトの位置決めにより、ユーザはコンピューティングデバイスを位置決めできるようになり、ある態様でＶＲ空間で仮想オブジェクトを見ることができる。たとえば、仮想オブジェクトがレーザポインタを表わす場合、ユーザはコンピューティングデバイスを、それがあたかも実際のレーザポインタであるかのように操作することができる。ユーザは、コンピューティングデバイスを、左右、上下、丸などに動かして、装置をレーザポインタを用いるのと同様の態様で用いることができる。
【００８９】
いくつかの実現例では、コンピューティングデバイス９５０上に含まれるまたはそれに接続する１つ以上の入力装置をＶＲ空間への入力として用いることができる。入力装置は、タッチ画面、キーボード、１つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイク、入力機能を有するイヤホンもしくはバッド、ゲームコントローラ、または他の接続可能な入力装置を含むことができるが、それらに限定されない。コンピューティングデバイスがＶＲ空間に組入れられた際にコンピューティングデバイス９５０上に含まれる入力装置と対話するユーザは、特定の行為をＶＲ空間に発生させることができる。
【００９０】
いくつかの実現例では、コンピューティングデバイス９５０のタッチ画面をＶＲ空間におけるタッチパッドとして描画することができる。ユーザは、コンピューティングデバイス９５０のタッチ画面と対話することができる。対話は、ＶＲヘッドセット９９０において、たとえば、ＶＲ空間中の描画されたタッチパッド上での動きとして描画される。描画される動きは、ＶＲ空間において仮想オブジェクトを制御することができる。
【００９１】
いくつかの実現例では、コンピューティングデバイス９５０上に含まれる１つ以上の出力装置は、ＶＲ空間でＶＲヘッドセット９９０のユーザに出力および／またはフィードバックを与えることができる。出力およびフィードバックは、視覚的、触覚的、または音声であることができる。出力および／またはフィードバックは、振動、１つ以上のライトもしくはストロボのオンおよびオフもしくは明滅および／もしくは点滅、アラームの鳴動、チャイムの鳴動、曲の演奏、ならびに音声ファイルの再生を含むことができるが、それらに限定されない。出力装置は、振動モータ、振動コイル、圧電装置、静電装置、発光ダイオード（ＬＥＤ）、ストロボ、およびスピーカを含むことができるが、それらに限定されない。
【００９２】
いくつかの実現例では、コンピューティングデバイス９５０は、コンピュータで生成される３Ｄ環境中の別のオブジェクトとして出現し得る。ユーザによるコンピューティングデバイス９５０との対話（たとえば、回転させること、揺らすこと、タッチ画面に触れること、タッチ画面を指でスワイプすること）を、ＶＲ空間でのオブジェクトとの対話として解釈することができる。ＶＲ空間でのレーザポインタの例では、コンピューティングデバイス９５０は、コンピュータで生成される３Ｄ環境中の仮想レーザポインタとして出現する。ユーザがコンピューティングデバイス９５０を操作すると、ＶＲ空間中のユーザはレーザポインタの動きを見る。ユーザは、コンピューティングデバイス９５０またはＶＲヘッドセット９９０上で、ＶＲ環境でのコンピューティングデバイス９５０との対話からフィードバックを受信する。
【００９３】
いくつかの実現例では、コンピューティングデバイス９５０はタッチ画面を含み得る。たとえば、ユーザは、ＶＲ空間で起こることとともにタッチ画面上で起こることに倣うことができる特定の態様でタッチ画面と対話することができる。たとえば、ユーザは、ピンチ型の動きを用いて、タッチ画面上に表示される内容をズームし得る。タッチ画面上でのこのピンチ型の動きにより、ＶＲ空間中に与えられる情報をズームすることができる。別の例では、コンピューティングデバイスは、コンピュータで生成される３Ｄ環境中の仮想の書籍として描画され得る。ＶＲ空間では、ＶＲ空間で書籍のページを表示することができ、タッチ画面上でのユーザの指のスワイプを、仮想の書籍のページ捲り／繰りとして解釈することができる。各々のページが捲られる／繰られると、ユーザには、ページの内容の変化を見ることに加えて、書籍のページを捲る音などの音声でのフィードバックが与えられ得る。
【００９４】
いくつかの実現例では、コンピューティングデバイスに加えて１つ以上の入力装置（たとえば、マウス、キーボード）をコンピュータで生成される３Ｄ環境中に描画することができる。描画される入力装置（たとえば、描画されるマウス、描画されるキーボード）を、ＶＲ空間中に描画されるものとして用いて、ＶＲ空間でオブジェクトを制御することができる。
【００９５】
コンピューティングデバイス９００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含むがそれらに限定されないさまざまな形態のデジタルコンピュータおよび装置を表わすことが意図される。コンピューティングデバイス９５０は、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、さまざまな形態のモバイル装置を表わすことが意図される。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示に過ぎないことが意図され、この書類に記載されるおよび／または請求される発明の実現例を限定することを意図しない。
【００９６】
以下の例に、さらなる実現例を要約する。
例１：方法であって、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガすることとを備え、該第１の仮想オブジェクトのサイズは該第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、該第１の仮想オブジェクトとのユーザの対話の指示を受信することを備え、該ユーザは該第１の仮想オブジェクトのサイズよりも大きな第１のサイズを有し、さらに方法は、該第１の仮想オブジェクトとの対話に応答して該第２の仮想オブジェクトとの対話をトリガすることを備え、該ユーザは、該第２の仮想オブジェクトと対話する際は、該第１のサイズよりも大きな第２のサイズを有する、方法。
【００９７】
例２：該第１の仮想オブジェクトとの該対話は、該第１の仮想オブジェクト内の場所を選択することを含む、請求項１に記載の方法。
【００９８】
例３：該第２の仮想オブジェクトとの該対話は、該第１の仮想オブジェクトとの該対話に応答して、該第２の仮想オブジェクト内で、該第１の仮想オブジェクト内の該場所に対応する該第２の仮想オブジェクト内の場所に移動することを含む、請求項１または２に記載の方法。
【００９９】
例４：該移動することは、該第１の仮想オブジェクト内の該場所に対応する該第２の仮想オブジェクトにおいて瞬間移動することを含む、請求項１から３に記載の方法。
【０１００】
例５：該第１の仮想オブジェクトは地球の小型地球儀である、請求項１または２に記載の方法。
【０１０１】
例６：該第１の仮想オブジェクトは該場所のストリートレベルビューを含む球体である、請求項１または２に記載の方法。
【０１０２】
例７：該第１の仮想オブジェクトは、該第１の仮想オブジェクトとの該ユーザの対話の指示を受信する前に該ユーザのサイズが小さくなった場合には該球体に変更される、請求項６に記載の方法。
【０１０３】
例８：該第１のオブジェクトとの該対話は、該第２のオブジェクトとの対応の対話に直接に変換される、請求項１に記載の方法。
【０１０４】
例９：該第１のオブジェクトとの該対話は、後で該第２のオブジェクトとの対応の対話に変換される、請求項１に記載の方法。
【０１０５】
例１０：該第１のオブジェクトとの該対話は第１のレベルの対話を含み、該第１のレベルの対話の後に該第２の仮想オブジェクトとの第２のレベルの対話を伴う、請求項１に記載の方法。
【０１０６】
例１１：該第２のレベルの対話は、該第１のレベルの対話に対して地面レベルにより近い、請求項１から１０に記載の方法。
【０１０７】
例１２：該第２の仮想オブジェクトは該第２の仮想オブジェクトと同一である、請求項１に記載の方法。
【０１０８】
例１３：方法であって、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガすることとを備え、該第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、該第１の仮想オブジェクトのサイズは該第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、第２のコントローラを介して該第１の仮想オブジェクト内の場所を選択して該第２の仮想オブジェクト中の場所へのユーザの移動をトリガすることと、該第２の仮想オブジェクト内の対話の指示を受信することとを備える、方法。
【０１０９】
例１４：該第１の仮想オブジェクトは、該第１のコントローラの一部に近接した距離に固定されるように構成される、請求項１３に記載の方法。
【０１１０】
例１５：該第１の仮想オブジェクトは、該第１のコントローラの移動に応答して移動するように構成される、請求項１３または１４に記載の方法。
【０１１１】
例１６：該第１の仮想オブジェクトは、該第２のコントローラを用いて該場所を選択することに応答して状態を変更するように構成される、請求項１３から１５に記載の方法。
【０１１２】
例１７：該第１の仮想オブジェクトのサイズは、該場所を選択することに応答する際に拡大される、請求項１３から１６に記載の方法。
【０１１３】
例１８：該第１の仮想オブジェクトのサイズは、場所が選択されない場合は縮小される、請求項１３から１６に記載の方法。
【０１１４】
例１９：機器であって、ヘッドマウントディスプレイ（ＨＭＤ）装置と、第１のコントローラおよび第２のコントローラと、プロセッサとを備え、該プロセッサは、物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガし、かつ第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガするようにプログラミングされ、該第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、該第１の仮想オブジェクトのサイズは該第２の仮想オブジェクトのサイズよりも小さく、さらに該プロセッサは、第２のコントローラを介して該第１の仮想オブジェクト内の場所を選択して該第２の仮想オブジェクト中の場所へのユーザの移動をトリガし、かつ該第２の仮想オブジェクト内の対話の指示を受信するようにプログラミングされる、機器。
【０１１５】
例２０：該第１の仮想オブジェクトは、該第２のコントローラを用いて該場所を選択することに応答して状態を変更するように構成される、請求項１９に記載のシステム。
【０１１６】
多数の実施形態を記載した。それにも拘わらず、明細書の精神および範囲から逸脱することなく、さまざまな修正例がなされ得ることが理解される。
【０１１７】
さらに、図に示される論理のフローは、所望の結果を達成するのに、示される特定の順序または順番を要件とするものではない。さらに、他のステップを設け得る、または記載されるフローからステップを排除し得る、また他の構成要素を記載されるシステムに追加し得るまたはそれから削除し得る。
【０１１８】
方法ステップは、コンピュータプログラムを実行して入力データを操作しかつ出力を生成することによって機能を果たす１つ以上のプログラマブルプロセッサによって行なわれ得る。方法ステップは、特殊目的論理回路構成、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）、によっても行なわれ得、かつ機器はそのようなものとして実現され得る。
【０１１９】
約、実質的に、一般的になどの、しかしそれらに限定されない用語は、本明細書中でその正確な値または範囲が要件とされないことかつその特定が必要でないことを示すために用いられる。本明細書で用いられるように、以上で論じた用語は、当業者にとって手近なかつすぐ入手できる意味を有し得る。
【０１２０】
さらに、上、下、頂、底、側、端、前、後などの本明細書中の用語の使用は、現在検討されるまたは例示される向きを参照して用いられる。それらを別の向きについて検討する場合、そのような用語を対応して修正しなければならないことを理解すべきである。
【０１２１】
さらに、この明細書および添付の請求項では、単数形の「ａ」、「an」、および「the」は、文脈が明確にそうでないと述べていなければ、複数を参照することを排除しない。さらに、「および」、「または」、および「および／または」などの接続詞は、文脈が明確にそうでないと述べていなければ、包括的である。たとえば、「Ａおよび／またはＢ」は、Ａ単独、Ｂ単独、およびＢとともにＡを含む。
【０１２２】
これに加えて、提示されるさまざまな図に示される接続線およびコネクタは、さまざまな要素同士の間の例示的な機能的関係ならびに／または物理的もしくは論理的結合を表わすことが意図される。多数の代替的なおよび／もしくは付加的な機能的関係、物理的接続、または論理的接続が存在し得ることに留意すべきである。さらに、要素が「必須」または「不可欠」と具体的に記載されているのでなければ、いずれの項目または構成要素もこの開示の実践に必須ではない。これに加えて、図および／または図面は縮尺通りに描かれておらず、むしろ図示および説明の明瞭さのために描かれている。
【０１２３】
製造のある例示的な方法、機器、および物品を本明細書中に記載するが、この特許の保護範囲はそれに限定されない。本明細書中で用いる用語は特定の局面を記載する目的のためのものであり、限定的であることを意図しないことを理解すべきである。反対に、この特許は、この特許の請求項の範囲内にはっきりと入る製造のすべての方法、機器、および物品をカバーする。
【図１Ａ】
2019530064.tif 000003
【図１Ｂ】
2019530064.tif 000004
【図１Ｃ】
2019530064.tif 000005
【図１Ｄ】
2019530064.tif 000006
【図２】
2019530064.tif 000007
【図３】
2019530064.tif 000008
【図４】
2019530064.tif 000009
【図５Ａ】
2019530064.tif 000010
【図５Ｂ】
2019530064.tif 000011
【図５Ｃ】
2019530064.tif 000012
【図６Ａ】
2019530064.tif 000013
【図６Ｂ】
2019530064.tif 000014
【図７Ａ】
2019530064.tif 000015
【図７Ｂ】
2019530064.tif 000016
【図８Ａ】
2019530064.tif 000017
【図８Ｂ】
2019530064.tif 000018
【図８Ｃ】
2019530064.tif 000019
【図９】
2019530064.tif 000020
【図１０】
2019530064.tif 000021
【手続補正書】
【提出日】平成31年4月3日(2019.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、
第２の仮想オブジェクトを表わす第１の仮想オブジェクトの表示をトリガすることとを備え、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、
前記第１の仮想オブジェクトとのユーザの対話の指示を受信することを備え、前記ユーザは前記第１の仮想オブジェクトの前記サイズよりも大きな第１のサイズを有し、さらに方法は、
前記第１の仮想オブジェクトとの対話に応答して前記第２の仮想オブジェクトとの対話をトリガすることを備え、前記ユーザは、前記第２の仮想オブジェクトと対話する際は、前記第１のサイズよりも大きな第２のサイズを有する、方法。
【請求項２】
前記第１の仮想オブジェクトとの前記対話は、前記第１の仮想オブジェクト内の場所を選択することを含む、請求項１に記載の方法。
【請求項３】
前記第２の仮想オブジェクトとの前記対話は、前記第１の仮想オブジェクトとの前記対話に応答して、前記第２の仮想オブジェクト内で、前記第１の仮想オブジェクト内の前記場所に対応する前記第２の仮想オブジェクト内の場所に移動することを含む、請求項２に記載の方法。
【請求項４】
前記移動することは、前記第１の仮想オブジェクト内の前記場所に対応する前記第２の仮想オブジェクトにおいて瞬間移動することを含む、請求項３に記載の方法。
【請求項５】
前記第１の仮想オブジェクトは地球の小型地球儀である、請求項２から４のいずれか１項に記載の方法。
【請求項６】
前記第１の仮想オブジェクトは前記場所のストリートレベルビューを含む球体である、請求項２から５のいずれか１項に記載の方法。
【請求項７】
前記第１の仮想オブジェクトは、前記第１の仮想オブジェクトとの前記ユーザの対話の指示を受信する前に前記ユーザのサイズが小さくなった場合には前記球体に変更される、請求項６に記載の方法。
【請求項８】
前記第１の仮想オブジェクトとの前記対話は、前記第２の仮想オブジェクトとの対応の対話に直接に変換される、請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記第１の仮想オブジェクトとの前記対話は、後で前記第２の仮想オブジェクトとの対応の対話に変換される、請求項１から７のいずれか１項に記載の方法。
【請求項１０】
前記第１の仮想オブジェクトとの前記対話は第１のレベルの対話を含み、前記第１のレベルの対話の後に前記第２の仮想オブジェクトとの第２のレベルの対話を伴う、請求項１から７のいずれか１項に記載の方法。
【請求項１１】
前記第２のレベルの対話での前記ユーザは、前記第１のレベルの対話での前記ユーザよりも小さい、請求項１０に記載の方法。
【請求項１２】
前記第１の仮想オブジェクトは前記第２の仮想オブジェクトと同一である、請求項１に記載の方法。
【請求項１３】
方法であって、
物理的環境で動作するヘッドマウントディスプレイ（ＨＭＤ）装置において仮想環境の表示をトリガすることと、
第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガすることとを備え、前記第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに方法は、
第２のコントローラを介して前記第１の仮想オブジェクト内の場所を選択して前記第２の仮想オブジェクト中の場所へのユーザの移動をトリガすることと、
前記第２の仮想オブジェクト内の対話の指示を受信することとを備える、方法。
【請求項１４】
前記第１の仮想オブジェクトは、前記第１のコントローラの一部に近接した距離に固定されるように構成される、請求項１３に記載の方法。
【請求項１５】
前記第１の仮想オブジェクトは、前記第１のコントローラの移動に応答して移動するように構成される、請求項１３または１４に記載の方法。
【請求項１６】
前記第１の仮想オブジェクトは、前記第２のコントローラを用いて前記場所を選択することに応答して状態を変更するように構成される、請求項１３から１５のいずれか１項に記載の方法。
【請求項１７】
前記第１の仮想オブジェクトのサイズは、前記場所を選択することに応答する際に拡大される、請求項１６に記載の方法。
【請求項１８】
前記第１の仮想オブジェクトのサイズは、場所が選択されない場合は縮小される、請求項１６に記載の方法。
【請求項１９】
システムであって、
ヘッドマウントディスプレイ（ＨＭＤ）装置と、
第１のコントローラおよび第２のコントローラと、
プロセッサとを備え、前記プロセッサは、
物理的環境で動作する前記ＨＭＤ装置において仮想環境の表示をトリガし、かつ
前記第１のコントローラに関連付けられる第１の仮想オブジェクトの表示をトリガするようにプログラミングされ、前記第１の仮想オブジェクトは第２の仮想オブジェクトの表現であり、前記第１の仮想オブジェクトのサイズは前記第２の仮想オブジェクトのサイズよりも小さく、さらに前記プロセッサは、
前記第２のコントローラを介して前記第１の仮想オブジェクト内の場所を選択して前記第２の仮想オブジェクト中の場所へのユーザの移動をトリガし、かつ
前記第２の仮想オブジェクト内の対話の指示を受信するようにプログラミングされる、システム。
【請求項２０】
前記第１の仮想オブジェクトは、前記第２のコントローラを用いて前記場所を選択することに応答して状態を変更するように構成される、請求項１９に記載のシステム。
【国際調査報告】
2019530064.tif 000022
2019530064.tif 000023
2019530064.tif 000024