(57)【要約】【解決手段】仮想現実（ＶＲ）システムは、インタラクティブな制御プロセス／サービスの向上を支援する。これらのインタラクティブな制御プロセス／サービスは、仮想現実（ＶＲ）環境に関連付けられたコントローラの動きを検出することと、動きに基づいた回転角を決定することと、動きに関連付けられた力の大きさを決定することと、回転角と力の大きさに対応するＶＲ環境の経路を決定することと、ＶＲ環境に経路を投影することとを含む。【選択図】図１
2020526831.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブな制御方法であって、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出することと、
前記第１の動きに基づいて、回転角を決定することと、
前記第１の動きに関連付けられた力の大きさを決定することと、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定することと、
前記ＶＲ環境に前記経路を投影することと、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出することと、
前記第２の動きに基づいて、前記経路を調整することと、
を含む、方法。
【請求項２】
前記第１のコントローラの前記第１の動きは、第１の位置から第２の位置への動きを含み、前記回転角を決定することは、
三次元（３Ｄ）座標系において前記第１の位置を第１のベクトルにマッピングすることと、
前記３Ｄ座標系において前記第２の位置を第２のベクトルにマッピングすることと、
前記第１のベクトルと前記第２のベクトルとの差に基づいて、前記回転角を決定することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記力の大きさを決定することは、前記第１のベクトルと前記第２のベクトルとの前記差に基づく、請求項２に記載の方法。
【請求項４】
前記経路の少なくとも一部に沿った前記ＶＲ環境のユーザに関連付けられた視点による動きを動画化することをさらに含む、請求項１に記載の方法。
【請求項５】
前記経路の少なくとも一部と交差する前記ＶＲ環境の物体を選択することをさらに含む、請求項１に記載の方法。
【請求項６】
前記ＶＲ環境において、ユーザに関連付けられた視点の現在位置の方に前記経路に沿って前記物体を移動させることをさらに含む、請求項５に記載の方法。
【請求項７】
前記物体に関連付けられたメニューオプションを表示することをさらに含む、請求項５に記載の方法。
【請求項８】
前記ＶＲ環境の前記経路を決定することは、
前記ＶＲ環境の前記経路の距離を前記力の大きさに基づいて決定することと、
前記ＶＲ環境の前記経路の方向を前記回転角に基づいて決定することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記ＶＲ環境の前記経路を決定することは、
前記ＶＲ環境の境界表面上のアンカーポイントを前記経路と前記境界表面との交点に近い位置に設定することと、
前記ＶＲ環境のユーザに関連付けられた視点の位置または前記視点の向きを、前記ＶＲ環境の前記視点の少なくとも一点と前記アンカーポイントとを横切る軸に対して、調整することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記回転角は、第１の回転角であり、前記力の大きさは、第１の力の大きさであり、
前記第２の動きに基づいて、第２の回転角を決定することと、
前記第２の動きに基づいて、第２の力の大きさを決定することと、
をさらに含み、前記経路を決定することは、前記第１の回転角と前記第１の力の大きさとに対応する第１の経路と、前記第２の回転角と前記第２の力の大きさとに対応する第２の経路との間の平均、和、または、重ね合わせに基づく、
請求項１に記載の方法。
【請求項１１】
インタラクティブな制御のための仮想現実（ＶＲ）システムであって、
通信ネットワークで通信するネットワークインタフェースと、
前記ネットワークインタフェースに結合され、１つまたは複数のプロセスを実行するように適合されたプロセッサと、
前記プロセッサによって実行可能なプロセスを記憶するように構成されたメモリと、を含み、前記プロセスは、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出し、
前記第１の動きに基づいて、回転角を決定し、
前記第１の動きに関連付けられた力の大きさを決定し、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定し、
前記ＶＲ環境に前記経路を投影し、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出し、
前記第２の動きに基づいて、前記経路を調整する
ように実行可能な、ＶＲシステム。
【請求項１２】
前記第１のコントローラの前記第１の動きは、第１の位置から第２の位置への動きを含み、前記回転角を決定する前記プロセスは、
三次元（３Ｄ）座標系において、前記第１の位置を第１のベクトルにマッピングし、
前記３Ｄ座標系において、前記第２の位置を第２のベクトルにマッピングし、
前記第１のベクトルと前記第２のベクトルとの差に基づいて、前記回転角を決定するように
さらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１３】
前記力の大きさを決定する前記プロセスは、前記第１のベクトルと前記第２のベクトルとの前記差に基づいて、前記力の大きさを決定するようにさらに実行可能である、請求項１２に記載のＶＲシステム。
【請求項１４】
前記プロセスは、前記経路の少なくとも一部に沿った前記ＶＲ環境のユーザに関連付けられた視点による動きを動画化するようにさらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１５】
前記プロセスは、
前記経路の少なくとも一部と交差する前記ＶＲ環境の物体を選択し、
前記ＶＲ環境において、ユーザに関連付けられた視点の現在位置の方へ前記経路に沿って前記物体を移動させ、且つ、
前記物体に関連付けられたメニューオプションを表示するように、
さらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１６】
前記経路を決定する前記プロセスは、
前記ＶＲ環境の境界表面上のアンカーポイントを前記経路と前記境界表面との交点に近い位置に設定し、且つ、
前記ＶＲ環境のユーザに関連付けられた視点の位置または前記視点の向きを、前記ＶＲ環境の前記視点の少なくとも一点と前記アンカーポイントとを横切る軸に対して調整することと、
をさらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１７】
前記回転角は、第１の回転角であり、前記力の大きさは、第１の力の大きさであり、前記プロセスは、
前記第２の動きに基づいて、第２の回転角を決定し、且つ、
前記第２の動きに基づいて、第２の力の大きさを決定するように
さらに実行可能であり、前記経路を決定する前記プロセスは、前記第１の回転角と前記第１の力の大きさとに対応する第１の経路と、前記第２の回転角と前記第２の力の大きさとに対応する第２の経路との間の平均、和、または、重ね合わせに基づく、
請求項１１に記載のＶＲシステム。
【請求項１８】
ソフトウェアをエンコードされた非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、インタラクティブな制御方法を行うようにプロセッサによって実行可能であり、前記方法は、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出することと、
前記第１の動きに基づいて、回転角を決定することと、
前記第１の動きに関連付けられた力の大きさを決定することと、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定することと、
前記ＶＲ環境に前記経路を投影することと、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出することと、
前記第２の動きに基づいて、前記経路を調整することと、
を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、シミュレーションされた、または、仮想現実環境に関し、より詳細には、その環境におけるインタラクティブな入力制御に関する。
【背景技術】
【０００２】
例えば、処理能力と速度の向上、これまで以上に効率的なソフトウェアレンダリング技術、消費者の利便性等によって推進された技術の進歩は、シミュレーションされた、または、三次元（３Ｄ）仮想現実（ＶＲ）環境を開発及び設計する動きの広がりを支えてきた。このようなＶＲ環境をサポートするＶＲシステムは、一般的に、ヘッドセット、ゴーグル、ハンドヘルドデバイス、または、ウエアラブルデバイス等のハードウェアを含む。このようなハードウェアは、ＶＲ環境内で、連続的にユーザの動きを追跡し、ユーザの位置、向き等を更新し、ユーザからのインタラクティブな入力を受信するように動作可能である。
【０００３】
あるＶＲシステムは、実世界のユーザの動きを追跡してＶＲ環境内に変換するための、全方向性トレッドミル等、複雑で大抵は高価なハードウェア及び他の機器を含み得るが、平均的なユーザは、このような複雑で大抵は高価な機器をサポートするのに必要な資金（または、物理的空間）を持たない場合がある。従って、ＶＲ環境のユーザのために直感的及びインタラクティブな制御を設計及び作成する時、ある課題が生じる。よって、簡単なＶＲ機器によって動作可能なインタラクティブなプロセスと技術の向上が必要である。
【発明の概要】
【０００４】
例示の一実施形態においては、本開示は、インタラクティブな制御プロセス／サービスを提供する。インタラクティブな制御プロセス／サービスは、仮想現実（ＶＲ）環境に関連付けられたコントローラの動きを検出することを含むステップの方法として行われてよい。方法は、動きに基づいて、回転角、力の大きさ（例えば、加速度）等を決定するステップをさらに含む。例えば、動きは、ベクトルによってマッピングまたは表されてよく、各ベクトルは方向と大きさを有する。方法は、ベクトル（例えば、回転角（複数可）、力の大きさ等）に対応するＶＲ環境の経路を決定するステップと、例えば、ＶＲ環境の経路を表すグラフィック要素を表示することによってＶＲ環境に経路を投影するステップとをさらに含む。ある態様においては、方法は、ＶＲ環境の物体が経路の一部と交差する（または、に近付く）時を判断する交差または衝突プロセスをさらに含んでよい。このような態様においては、方法は、このような物体を選択し、メニューオプションを表示し、経路の物体を取り出し、ユーザを経路の物体の方に移動させるように等、経路を修正または調整するステップをさらに含んでよい。
【０００５】
別の実施形態においては、仮想現実（ＶＲ）システムは、上記インタラクティブな制御プロセス／サービスを採用する。例えば、ＶＲシステムは、通信ネットワークで通信するためのネットワークインタフェースと、ネットワークインタフェースに結合され、１つまたは複数のプロセスを実行するように適合されたプロセッサと、プロセッサによって実行可能なプロセスを記憶するように構成されたメモリとを含む。プロセスは、プロセッサによって実行されると、仮想現実（ＶＲ）環境に関連付けられたコントローラの動きを検出するように、また、その動きに基づいて、回転角、力の大きさ（例えば、加速度）等を決定するように動作可能である。ＶＲシステムは、さらに、動きに対応するＶＲ環境の経路を決定し、ＶＲ環境に経路を投影する（例えば、経路等を表すグラフィックオブジェクト／要素を表示する）。
【０００６】
さらに別の実施形態においては、有形の非一時的コンピュータ可読媒体は、例示的なインタラクティブな制御プロセス等、ソフトウェアまたは命令を含む。ソフトウェア／命令は、プロセッサによって実行されて、プロセッサに、仮想現実（ＶＲ）環境に関連付けられたコントローラの動きを検出させ、その動きに基づいて、回転角、力の大きさ（例えば、加速度）等を決定させる。プロセッサは、また、動きに対応するＶＲ環境の経路も決定し、ＶＲ環境に経路を投影する（例えば、経路等を表すグラフィックオブジェクト／要素を表示する）。
【図面の簡単な説明】
【０００７】
本明細書の実施形態は、添付図面と共に以下の記載を参照することでよりよく理解され得る。図中、類似の参照番号は、同じ、または、機能的に類似の要素を示す。これらの図面は開示の単なる例示の実施形態を描くので、範囲の制限とみなされるべきではないことを理解し、本明細書の趣旨は、添付の図面を使用して、追加の具体性及び詳細と共に記載、説明される。
【０００８】
【図１】仮想現実（ＶＲ）環境の例の概略図である。
【０００９】
【図２】ＶＲデバイス／ノードの例のブロック図である。
【００１０】
【図３】ユーザの三人称視点から見たＶＲ環境のブロック図である。
【００１１】
【図４Ａ】ＶＲ環境内でＶＲ環境とのユーザインタラクションをサポートするコントローラの動きを示す、他のＶＲ環境の三人称視点の図である。
【００１２】
【図４Ｂ】図４Ａに示す動きから生じる経路を示す、ユーザに表示される図４ＡのＶＲ環境の三人称視点の図である。
【００１３】
【図５】図４Ｂの経路を示す、ＶＲ環境のユーザの一人称視点の図である。
【００１４】
【図６】ユーザからＶＲ環境の位置への経路を示す、図３のＶＲ環境の一人称視点の図である。
【００１５】
【図７】物体と交差する経路と物体の選択とを示す、図６のＶＲ環境の一人称視点の図である。
【００１６】
【図８Ａ】それぞれ、ＶＲ環境内でＶＲ環境とのユーザインタラクションをサポートする２つのコントローラの動きを示す、他のＶＲ環境の三人称視点の図である。
【００１７】
【図８Ｂ】各コントローラを動かすユーザと結果として生じる各経路を示す、図８ＡのＶＲ環境の三人称視点の図である。
【００１８】
【図９】アンカーポイントで終了する各経路と、各アンカーポイントに対するＶＲインタラクションとを示す、図８ＢのＶＲ環境の三人称視点の図である。
【００１９】
【図９Ｂ】ＶＲ環境の壁面にあるアンカーポイントで終了する各経路と、各アンカーポイントに対するオプションのインタラクションとを示す、図８ＢのＶＲ環境の三人称視点の図である。
【００２０】
【図１０】２つのコントローラの動きから導出された選択経路を示す、他のＶＲ環境の三人称視点の図である。
【００２１】
【図１１】図１１Ａ及び図１１Ｂは、第１のコントローラの動きによって生じる最初の経路と、第２のコントローラの動きから生じる最初の経路への調整とを示す、図１０のＶＲ環境の三人称視点の図である。
【００２２】
【図１２】図１２Ａは、図１１Ａに示された三人称視点に対応する図１０のＶＲ環境の一人称視点の図である。図１２Ｂは、図１１Ｂに示された三人称視点に対応する図１０のＶＲ環境の一人称視点の図である。
【００２３】
【図１３】ＶＲシステムによって採用されたインタラクティブな制御プロセスの簡略化した手順の例を示す図である。
【発明を実施するための形態】
【００２４】
開示の様々な実施形態は、以下に詳細に記載される。特定の実施態様を記載するが、これは説明目的のみで記載していると理解されたい。本開示の趣旨及び範囲を逸脱せずに、他のコンポーネント及び構成を使用してよいことを当業者は認識されよう。
【００２５】
本明細書に記載するように、開示の主題は、仮想現実（ＶＲ）環境に特に適したインタラクティブな制御に関する。これらのインタラクティブな制御は、複雑で大抵は高価な機器を必要とせずに、簡単なコントローラで採用される。例えば、インタラクティブな制御は、簡単なコントローラ、ヘッドセット、及び／または、ＶＲコンソールによって採用可能なインタラクティブな制御プロセス／サービスを含んでよい。このようなインタラクティブな制御プロセスは、例えば、仮想現実（ＶＲ）環境に関連付けられたコントローラの動きを検出してよく。その動きに基づいて、回転角、力の大きさ（例えば、加速度）等を決定するステップを含む。例えば、インタラクティブな制御プロセスは、動きの一部を座標系のベクトルにマッピングまたは割り当ててよく、（例えば、ベクトル／ベクトル要素の平均、和、差、重ね合わせ、または、他の組み合わせに基づいて）そのベクトルに対応するＶＲ環境の経路を決定してよい。経路は、ユーザを３Ｄ環境で移動させるガイドとして、及び／または、以下に詳細に記載するように物体を選択または取り出す選択ツールとして使用されてよい。
【００２６】
図面を参照すると、図１は、仮想現実（ＶＲ）環境１００の概略図を示す。ＶＲ環境１００は、様々なデバイス、コンポーネント、サブコンポーネント、ハードウェア／ソフトウェア、インタフェース等を含み、それらは、ＶＲシステムの形態で集合的に動作して、没入型でインタラクティブなシミュレーション体験をユーザ１０５に提供する。
【００２７】
図に示すように、ＶＲ環境１００は、コンソール１１０、コントローラ（複数可）１２０、及び、ヘッドセット１２５等の機器を含む。コンソール１１０は、集中型ハードウェア／ソフトウェアを表し、当業者が理解されるように、コントローラ１２０及び／またはヘッドセット１２５と通信し、且つ、様々な他のデバイス、サーバ、データベース等と通信ネットワーク１３０（例えば、インターネット）を介して通信する。
【００２８】
通信ネットワーク１３０は、ネットワークインタフェース／リンク／セグメント等を介して相互に接続され、且つ、データパケット１４０等のデータをやり取りし、エンドデバイス／ノード（例えば、コンソール１１０、コントローラ１２０、及び／または、ヘッドセット１２５）に／からデータを送信するように動作可能なデバイス／ノードのネットワークを表す。
【００２９】
データパケット１４０は、必要に応じて、ある既知の有線プロトコル、無線プロトコル（例えば、ＩＥＥＥ  Ｓｔｄ．８０２．１５．４、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等）ＰＬＣプロトコル、または、他の共有メディアプロトコル等、所定のネットワーク通信プロトコルを用いて、通信ネットワーク１３０を介してデバイス間でやり取りされるネットワークトラフィック／メッセージを含む。
【００３０】
コントローラ１２０は、ネットワーク１３０を介してコンソール１１０と無線で通信する、または（ある実施形態においては）、コントローラ１２０は、他のネットワーク（図示せず）を介してコンソール１１０に結合されてよい。コントローラ１２０は、ＶＲ環境１００内でＶＲ環境１００とのユーザインタラクションを容易にし、例えば、動き及びバイオメトリック情報を検出、追跡、もしくは、他の方法で監視するように、または、データ信号をヘッドセット１２５及びコンソール１１０と通信するように、また、フィードバック（例えば、触覚、聴覚等）をユーザ１０５に提供するように動作可能である。このように、コントローラ１２０は、任意の数のセンサ、ジャイロ、ラジオ、プロセッサ、接触検出器、送信器、受信器、フィードバック回路等を含み得る。
【００３１】
ヘッドセット１２５は、コントローラ１２０と同様、コンソール１１０と無線で通信する。ヘッドセット１２５は、シミュレーションＶＲ環境を形成するシミュレーショングラフィック要素をユーザ１０５に表示もしくは投影し、眼の動きを追跡し、且つ、ユーザ１０５からのバイオメトリックデータを測定する。
【００３２】
上記デバイスに関して、あるデバイスを一定の機能を含む（または、除外する）ように適合してよいこと、図に示すコンポーネントは、説明目的で示したものであり、制限ではないことは理解されよう。記載のように、コンソール１１０、コントローラ１２０、及び、ヘッドセット１２５は、協働して、没入型でインタラクティブなＶＲ環境をユーザ１０５に提供する。
【００３３】
図２は、図１（例えば、コンソール１１０、コントローラ１２０、ヘッドセット１２５等）に示す１つまたは複数のデバイスを表すデバイス２００の例のブロック図を示す。デバイス２００は、１つまたは複数のネットワークインタフェース２１０と、入力インタフェース２１５と、プロセッサ２２０と、メモリ２４０とを含み、それらは、システムバス２５０で相互に接続される。
【００３４】
ネットワークインタフェース（複数可）２１０は、通信ネットワーク１３０等のネットワークを介して、デバイス間でデータを通信するための機械的、電気的、及び、信号回路を含む。入力インタフェース２１５は、ユーザコマンドを受信し、動きまたははジェスチャを検出するハードウェア／ソフトウェアを含み、ユーザフィードバック（例えば、触覚、視覚、聴覚等）を提供するように構成されてよい。例えば、入力インタフェース２１５は、スイッチ、ボタン、加速度計、センサ、プロセッサ、ラジオ、表示要素等を含み得る。メモリ２４０は、本明細書に記載の実施形態に関連付けられたソフトウェアプログラム及びデータ構造を記憶するための、プロセッサ２２０によってアドレス可能な複数の記憶場所を含む。
【００３５】
プロセッサ２２０は、ソフトウェアプログラムを実行するように、また、データ構造２４５を操作するように適合された必要な要素または論理を含んでよい。オペレーティングシステム２４２は、その一部が、典型的にメモリ２４０に常駐し、プロセッサ２２０によって実行される、また、オペレーティングシステム２４２は、特に、デバイス上で実行するソフトウェアプロセス及び／またはサービスを支援する動作を伴うことによって、デバイスを機能的に組織する。これらのソフトウェアプロセス及び／またはサービスは、説明目的で「インタラクティブな制御」プロセス／サービス２４４を含んでよい。プロセス／サービス２４４は、集中型のメモリ２４０で示されているが、分散ネットワークで動作するように構成されてよいことに注意されたい。
【００３６】
様々なコンピュータ可読媒体を含む他のプロセッサ及びメモリの種類を使用して、本明細書に記載の技術に関連するプログラム命令を記憶及び実行してよいことは当業者には明らかである。また、記載は、様々なプロセスを説明するが、様々なプロセスは、本明細書の技術に従って（例えば、類似のプロセスの機能に従って）動作するように構成されたモジュールとして実現されてよいことが明示的に企図されている。さらに、プロセスを別個に示したが、プロセスは他のプロセス内のルーチンまたはモジュールであってよいことを当業者は理解されよう。例えば、プロセッサ２２０は、１つまたは複数のプログラマブルプロセッサ、例えば、マイクロプロセッサもしくはミクロコントローラ、または、固定論理プロセッサを含み得る。プログラマブルプロセッサの場合、任意の関連するメモリ、例えば、メモリ２４０は、例えば、ランダムアクセス、リードオンリ等、任意の種類の有形プロセッサ可読メモリであってよく、プログラムモジュール、例えば、インタラクティブな制御プロセス２４４をエンコードされたモジュールを実施できる命令をエンコードされた、または、記憶する。プロセッサ２２０は、本明細書に記載の機能をプロセッサに行わせることができる命令または論理からなるファームウェアを用いて構成された特定用途向け集積回路（ＡＳＩＣ）またはデジタル信号プロセッサ等、固定論理処理装置も含み得る。従って、プログラムモジュールは、固定論理もしくはプログラマブル論理、例えば、プロセッサによって実行されるソフトウェア／コンピュータ命令等と共に、実行のために１つまたは複数の有形コンピュータ可読記憶媒体にエンコードされてよく、プロセッサは、固定デジタル論理を含むプログラマブルプロセッサ、プログラマブルデジタル論理回路、例えば、フィールドプログラマブルゲートアレイ、もしくは、ＡＳＩＣ、または、これらの組み合わせであってよい。一般的に、任意のプロセス論理が、プロセッサによって実行される命令でエンコードされたプロセッサまたはコンピュータ可読媒体で実現されてよく、命令はプロセッサによって実行されると、プロセッサに本明細書に記載の機能を行わせるように動作可能である。
【００３７】
図３は、ユーザ１０５の三人称視点からのアートギャラリーのシミュレーションを具体的に示すＶＲ環境３００のブロック図である。上記のように、ユーザ１０５は、ヘッドセット１２５及びコントローラ１２０を用いて、ＶＲ環境３００を体験し、ＶＲ環境３００とインタラクトする。しかしながら、ＶＲ環境３００等のＶＲ環境の直感的でインタラクティブな制御を設計する時、特に、相対的に簡単で低価格のコントローラコンポーネント、ここでは、コントローラ１２０及び／またはヘッドセット１２５によって動作可能な制御を設計する時、上記のように、一定の課題が生じる。従って、本開示のプロセス及び技術は、ＶＲ環境にとって特に適切な、また、このような相対的に簡単で低価格のコントローラコンポーネントにとって特に適切なインタラクティブな制御を向上させる。
【００３８】
図４Ａ及び４Ｂは、それぞれ、コントローラ１２０による動きと、動きから生じる経路を示すＶＲ環境４００の三人称視点の図である。
【００３９】
図４Ａは、三次元（３Ｄ）座標系内で第１の位置から第２の位置へのコントローラ１２０の動きを詳細に示す。第１の位置と第２の位置との間のコントローラの動きは、角「α」によって示されるコントローラの向きまたは方向の変化と、対応するベクトルの大きさによって示される加速度の変化とを含む。対応するベクトルに関して、コントローラ１２０の第１の位置及び第２の位置が、ベクトルの形態、すなわち、各方向及び各大きさを表すベクトル１２０´及びベクトル１２０´´で表され、ここで、大きさは、各位置で測定される力を表す。このようにして、コントローラ１２０は、向き、位置、角運動量、加速度等の変化を監視、測定し、本明細書に記載のように、さらに、インタラクティブな制御プロセス／サービス（例えば、インタラクティブな制御プロセス２４４）を行う、または、実行する。
【００４０】
図４Ｂは、第１の位置から第２の位置へのコントローラ１２０の動きから生じる経路４４０を詳細に示す。経路４４０は、ユーザ１０５の現在位置から出て、（角αの経時的な変化によって決定される）アーチに従い、アンカーポイント４４５（グラフィック表示要素（「Ｘ」））によって示される終了位置で終わり、ヘッドセット１２５によってユーザ１０５に投影される。経路４４０は、ＶＲ環境でユーザ１０５の動きを案内する移動経路を表すことができる、及び／または、経路４４０は、経路４４０と交差する物体を選択する選択経路を表すことができる。
【００４１】
動作時、コントローラ１２０は、第１の位置から第２の位置への動きを検出し、その動きに基づいて回転角（α）を決定し、動きに関連付けられた力の大きさ（例えば、加速力等）、及び／または、各位置を決定する。コントローラ１２０は、さらに、回転角と力の大きさとに対応するＶＲ環境の経路、ここでは、経路４４０を決定し、ヘッドセット１２５は、その経路をＶＲ環境でユーザ１０５に投影する。上記動作は、特定のデバイス／コントローラに関して記載したが、デバイスの任意の組み合わせが、同じ、または、ほぼ類似の機能を行ってよいことは理解される。
【００４２】
図５は、ヘッドセット１２５を着用しているユーザ１０５の視点から見たＶＲ環境４００の一人称視点を示す。ここで、ＶＲ環境４００は、境界平面または境界表面（例えば、地表）にオーバーレイする座標系を表す格子パターンで示される。
【００４３】
上記のように、第１の位置から第２の位置へのコントローラ１２０の動きは３Ｄ座標系にマッピングされてよく、３Ｄ座標系においては、ベクトルが各位置における各方向と各大きさを表す。３Ｄ座標系は、実世界座標系及び／またはＶＲ環境座標系をさらに含んでよい。実世界座標系に関しては、動きを変換し、そこから生じる経路をＶＲ環境座標系に計算するのに追加の処理が必要な場合がある。
【００４４】
本明細書に示すように、経路４４０は、アンカーポイント４４５を表す３Ｄグラフィック「Ｘ」要素で終了するグラフィックな破線によって表され、コントローラ１２０は、３Ｄグラフィックコントローラ要素で表される。これらのグラフィックコンポーネント／要素は、全て、ＶＲ環境４００内のユーザ１０５の例示の一人称視点を示す。上記のように、経路４４０は、部分的に、コントローラの向きの変化と、力（例えば、加速度）の変化とから計算される。一実施形態においては、経路４４０は、曲線の経路またはアーチ型の経路を表し、例えば、釣り竿を投げるのと類似した、シミュレーションされた投げる動作によって生成されてよい。曲線の経路の距離及び方向は、当業者が理解されるように、コントローラの向き／力の上記変化によって導出される。ある実施形態においては、投げる動作は、他の入力制御（例えば、ボタンの押し下げ／リリース等）と共に動作して、環境４００に経路４４０を生成するユーザの意図を示してよいことに注意されたい。
【００４５】
図６は、特にユーザ１０５の視点から見たＶＲ環境３００の一人称視点を示す。ここで、ユーザ１０５は、（上記のように）コントローラ１２０を第１の位置から第２の位置に動かし、コントローラ１２０（及び／または他のハードウェアコンポーネント）は、結果として生じる、ヘッドセット１２５によってユーザ１０５に表示される経路、すなわち、経路４４０を決定した。経路４４０は、現在位置からアンカーポイント４４５にユーザ１０５の動きを案内するＶＲ環境３００の移動経路を表す。図６において、経路４４０は、インタラクティブな物体６０５、すなわち、絵画に近付くようにユーザ１０５を移動させることに注意されたい。当業者は理解されるように、ユーザ１０５は、ＶＲ環境３００の経路４４０に沿った次の動きをプロンプトするように追加の入力を提供してよい。経路に沿ったこのような次の動きは、当業者が理解されるように、ヘッドセット１２５によってユーザ１０５に対してグラフィックに投影／動画化されてよい。
【００４６】
図７は、インタラクティブな物体６０５と交差する経路４４０をさらに示す図６のＶＲ環境３００の一人称視点を示す。コントローラ１２０の動きに基づいて経路を計算することに加えて、インタラクティブな制御プロセスまたは技術（例えば、インタラクティブな制御プロセス２４４）は、経路の一部とＶＲ環境の物体との間の交差（または、衝突）を検出する物体交差プロセスを組み込んでよい。あるいは（または、追加で）、交差は、交差／衝突に近いことと、実際の交差とを検出するファジー論理を含んでよい。ここで、インタラクティブな制御プロセスは、経路４４０の一部がインタラクティブな物体６０５と交差する（または、交差に近い）ことを判断する。このような交差（または、交差に近いこと）によって、経路４４０は、ユーザ１０５がインタラクティブな物体６０５を選択するのを、及び／または、追加のメニューオプションを呼び出すのを助けるように修正されてよい（オプションの例は、「追加」「調整」「全画面」「ズーム」「クロップ」等を含む）。さらに、ＶＲ環境３００は、インタラクティブな物体６０５の選択を示す選択要素または境界７１５も提供する。
【００４７】
ここで、経路４４０は、インタラクティブな物体６０５を選択する選択経路を表す。選択経路は、ユーザとＶＲ環境の選択された物体との間の動きを案内してよい、及び／または、選択経路は、選択された物体をユーザの方に取り出して（例えば、物体を物体の現在位置からユーザの現在位置に移動させて）よい。当業者は理解されるように、ユーザ１０５は、ユーザ及び／またはＶＲ環境３００の物体の次の動きをプロンプトするように追加の入力を提供してよい。
【００４８】
図８Ａは、それぞれ、ＶＲ環境内でＶＲ環境とのユーザインタラクションをサポートする２つのコントローラの動きを示す別のＶＲ環境の三人称視点である。
【００４９】
図８Ａ及び８Ｂは、それぞれ、ＶＲ環境８００の三人称視点を示す。図８Ａは、三次元（３Ｄ）座標系におけるコントローラ１２０とコントローラ８２０の２つのコントローラによる動きを示し、図８Ｂは、その動きから生じる各経路を示す。図８Ａ及び８Ｂのコントローラ１２０の動きは、上記の図４Ａ及び４Ｂに示すコントローラ１２０の動きと同じである。従って、以下の図８Ａ及び８Ｂに関する記載は、第２のコントローラであるコントローラ８２０とその動きに焦点を当てている。
【００５０】
図８Ａは、詳細には、コントローラ１２０の第１の位置から第２の位置への動きと、コントローラ８２０の第１の位置から第２の位置への動きを示す。各コントローラの動きは、（コントローラ１２０の）角「α」または（コントローラ８２０の）角「β」で示されるコントローラの向きまたは方向の変化と、対応するベクトルによって示される加速度の各変化とを含む。
【００５１】
対応するベクトルに関して、コントローラ１２０に対応するベクトル１２０´及びベクトル１２０´´に加えて、図８Ａは、コントローラ８２０の第１の位置及び第２の位置に対応し、方向及び大きさを示すベクトル８２０´及びベクトル８２０´´も提供する。上記のように、大きさは、各位置で測定される力を表す。
【００５２】
図８Ｂは、詳細には、各コントローラの各動きから生じる経路を示す。具体的には、（コントローラ１２０に対応する）経路４４０に加えて、図８Ｂは、ユーザ１０５の現在位置から出て、（各βの経時的な変化によって決定される）アーチに従い、アンカーポイント８４５（グラフィック表示要素（「Ｘ」））によって示される終了位置で終わる経路８４０も示し、ヘッドセット１２５によってユーザ１０５に投影される。経路８４０は、経路４４０と同様、ＶＲ環境のユーザ１０５の動きを案内する移動経路を表すことができる、及び／または、経路４４０は、経路４４０と交差する物体を選択する選択経路を表すことができる。
【００５３】
動作時、コントローラ１２０、８２０は、各動きを検出し、その動きに基づいて、回転角（α、β）を決定し、且つ、動き及び／または各位置に関連付けられた力の大きさ（例えば、加速力等）を決定する。コントローラ１２０、８２０は、各回転角及び各力の大きさに対応するＶＲ環境の各経路である経路４４０、８４０をさらに決定する。
【００５４】
図９Ａ及び９Ｂは、各アンカーポイントで終了する各経路と対応するＶＲインタラクションとを示す、図８ＢのＶＲ環境の三人称視点である。詳細には、図９Ａは、ユーザ１０５と地表に位置する各アンカーポイント４４５、８４５と交差する直線として、経路４４０及び経路８４０を示し、図９Ｂは、ユーザ１０５とＶＲ環境８００の壁面に位置する各アンカーポイント４４５、８４５と交差する直線として、経路４４０及び経路８４０を示す。
【００５５】
上記のように、経路４４０、８４０は、ＶＲ環境でユーザ１０５の動きを案内する移動経路を表してよい。１つのコントローラと１つの移動経路（及び、対応するインタラクティブな動作）を有する実施形態を記載したが、ここでは、さらなるインタラクティブな動作をサポートする複数の経路間、すなわち、経路４４０と経路８４０間にシナジーが存在する。詳細には、２つの糸を有する凧を運転することに例えてよく、それによると、各経路は、１つの糸（または、太綱）を表し、凧は、固定した境界平面（図９Ａの地表及び図９Ｂの壁面）で表される。さらに、回転の軸９４０ａは、終了点またはアンカーポイント４４５、８４５の間に規定されてよい。動作時、ユーザ１０５は、（地表上の）アンカーポイントに対する自分の動きを制御してよく、対応する引っ張るまたは引く動作／ジェスチャをコントローラ１２０、８２０に入力してよい。引っ張るまたは引く動作は、各コントローラによって検出され、協働して、経路４４０、８４０に沿って／の間でユーザ１０５を移動させることができる。さらに、このような動作（及び／または、他の規定の動作）は、ＶＲ環境８００に対して軸９４０ａを中心にユーザの向きを回転または調整できる。
【００５６】
図１０は、コントローラ１２０及びコントローラ８２０による動きから導出された選択経路１０４０を示す、他のＶＲ環境の三人称視点である。ここで、選択経路１０４０は、経路４４０及び経路８４０の重ね合わせを表すことができ、ここで、両方の経路のある部分は相殺し、他の部分は一体になる。あるいは（または、追加で）、選択経路１０４０は、当業者は理解されるように、経路４４０と８４０の平均、差、和、または、何らかの他の組み合わせも表してよい。さらに、上記のように、（２つのコントローラと共に採用された）インタラクティブな制御プロセスは、物体（インタラクティブな物体１００５）と両方のコントローラの動きから導出された選択経路との交差（または、交差に近い位置）を検出する物体の交差／衝突プロセスも組み込んでよい。ある実施形態においては、上記の経路と同様に、選択経路１０４０は、ＶＲ環境１０００でユーザ１０５の動きを案内するためのアンカーポイント１０４５で終了する移動経路を表してよい。
【００５７】
図１１Ａ及び１１Ｂは、コントローラ１２０の動きによって生じる最初の経路（経路４４０）（図１１Ａ）と、コントローラ８２０の動きから生じる最初の経路への調整（図１１Ｂ）とを示すＶＲ環境１０００の三人称視点である。図１１Ａ及び１１Ｂは、まとめて、ユーザ１０５が、コントローラ１２０を動かして、経路４４０（上記により詳細に記載した）を生成し、コントローラ８２０を動かして、経路４４０の態様を調整または微調整（例えば、方向、大きさ、向き等を調整）するインタラクティブな制御プロセスの追加の機能を示す。例えば、図に示すように、経路４４０は、図１１Ａに生成され、ユーザ１０５から最初の距離に位置する。ユーザ１０５は、さらに、図１１Ｂでコントローラ８２０を動かして及び／または回転させて、経路４４０を調整、例えば、ユーザ１０５の現在位置に近付くようにアンカーポイント４４５を移動させる。
【００５８】
図１２Ａ及び１２Ｂは、それぞれ、図１１Ａ及び１１Ｂの一人称視点を示す。ここで、ＶＲ環境１０００は、棚に多くの本が配置された図書館を示す。ユーザ１０５は、コントローラ１２０（図１２Ａ）を動かして経路４４０を生成し、経路４４０は、「ｍｏ．．．」で始まる本の著者で／近くで終了する。ユーザ１０５は、さらに、（横向き矢印によって示されるように）コントローラ８２０を動かして、経路４４０が「ｍａ．．．」で始まる本の著者で／近くで終了するように、経路４４０を修正、調整、または、他の方法で移動させる。このようにして、１つのコントローラを使用して、移動／選択経路を生成してよく、第２のコントローラを使用して、移動／選択経路を微調整または他の方法で調整してよい。
【００５９】
図１３は、ＶＲシステム（または、ＶＲシステムのコンポーネント）によって採用されるインタラクティブな制御プロセスの簡略化した手順１３００の例を示す。手順１３００は、ステップ１３０５で開始し、ステップ１３１０及び１３１５に続き、ここで、上記により詳細に記載したように、ＶＲシステムは、第１のコントローラ（例えば、コントローラ１２０）と第２のコントローラ（例えば、コントローラ８２０）の動きを検出する。ＶＲシステムは、さらに、ステップ１３２０で、各動きに関して、各回転角、加えられる力の大きさ、加速度等を決定する。上記決定に基づいて、ＶＲシステムは、ステップ１３２５で、三次元（３Ｄ）座標系において１つまたは複数のベクトルに各動きをマッピングする。
【００６０】
ＶＲシステムは、また、ステップ１３３０において、１つまたは複数のベクトル（例えば、回転角、力の大きさ等）に対応するＶＲ環境の経路を決定する。例えば、ＶＲシステムは、当業者は理解されるように、各回転角、力の大きさ（経時的な力の変化）等に対応するベクトルの平均、差、合計、または、他の組み合わせに基づいて、経路を導出できる。
【００６１】
手順１３００は、ステップ１３３５に続き、ステップ１３３５において、上記のように、ＶＲシステムは、経路の一部とＶＲ環境の物体との交差を検出し、物体を選択する。上記のように、物体を選択することは、さらに、物体が選択された（例えば、境界ボックス）として示され、物体に関連付けられたメニューオプションを表示して、物体をユーザの現在位置に取り出す、もしくは、移動させる、または、ユーザを物体の方に移動させてよい。ＶＲシステムは、経路４４０／８３０に関して示す図等、ＶＲ環境の経路を（例えば、ヘッドセット１２５を用いて）さらに投影する。
【００６２】
手順１３００は、その後、ステップ１３４５で終了するが、ステップ１３１０で再び開始してよく、ステップ１３１０において、手順１３００は、第１のコントローラの動きを検出する。手順１３００のステップは全て、高価で大抵は複雑な機器を必要とせずに、ＶＲ環境に特に適したインタラクティブな制御プロセスと技術を記載する。手順１３００内のあるステップは任意選択であってよく、さらに、図１３に示すステップは、単に説明のための例であることに注意されたい。他の一定のステップは、必要に応じて含まれてもよく、除かれてもよい。さらに、ステップの特定の順序が、特定のデバイスまたはシステムの観点から示され、実行されるが、この順序は、単に説明のためのものであり、ステップの任意の適切な配置、及び／または、任意の数のシステム、プラットフォーム、または、デバイスが、本明細書の実施形態の範囲を逸脱することなく、利用されてよい。
【００６３】
本明細書に記載の技術は、よって、高価で複雑な機器を必要とせずに、没入型のシミュレーションされたＶＲ環境を補完するインタラクティブな制御プロセスを提供する。これらのインタラクティブな制御は、どんなユーザでも素早く効率的に学習する簡単で直感的なジェスチャを規定する。
【００６４】
ＶＲ環境のためのインタラクティブな制御プロセスの説明的な実施形態を示し、記載したが、本明細書の実施形態の趣旨及び範囲内で様々な他の適合及び修正を行ってよいことは理解されたい。例えば、本明細書では、一定のシステム、プラットフォーム、ハードウェア、デバイス、及び、モジュールに関する実施形態及び一定の機能を示し、記載した。しかしながら、実施形態は、より広い意味で制限的なものではなく、実際は、非ＶＲ環境で採用されてよく、また、本明細書に記載のデバイスまたはコンポーネントの任意の組み合わせによって採用されてよい。
【００６５】
上記記載は、特定の実施形態に関するものである。しかしながら、それらの長所の一部または全てを達成しながら、他の変形及び修正が、記載の実施形態に対して行われてよいことは明らかである。例えば、本明細書に記載のコンポーネント及び／または要素が、コンピュータ、ハードウェア、ファームウェア、または、これらの組み合わせで実行するプログラム命令を有する有形の（非一時的な）コンピュータ可読媒体、デバイス、及び、メモリ（例えば、ディスク／ＣＤ／ＲＡＭ／ＥＥＰＲＯＭ等）に記憶されるソフトウェアとして実施できることが明示的に企図される。さらに、本明細書に記載された様々な機能及び技術を記載する方法は、コンピュータ可読媒体に記憶された、または、コンピュータ可読媒体から他の方法で利用できるコンピュータ実行可能命令を用いて実施されてよい。このような命令は、例えば、汎用コンピュータ、専用コンピュータ、または、専用処理装置に一定の機能または機能のグループを行わせる、または、行うように構成する命令及びデータを含み得る。使用されるコンピュータリソースの一部は、ネットワークを介してアクセス可能であってよい。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語等の中間フォーマット命令、ファームウェア、または、ソースコードであってよい。命令、使用される情報、及び／または、記載した例による方法中に作成された情報の記憶に使用されてよいコンピュータ可読媒体の例は、磁気ディスク、光ディスク、フラッシュメモリ、不揮発性メモリを備えたＵＳＢデバイス、ネットワーク記憶装置等を含む。さらに、本開示による方法を実施するデバイスは、ハードウェア、ファームウェア、及び／または、ソフトウェアを含むことができ、様々なフォームファクタのいずれかを採用してよい。このようなフォームファクタの典型的な例は、ラップトップ、スマートフォン、小型フォームファクタパーソナルコンピュータ、パーソナルデジタルアシスタント等を含む。本明細書に記載の機能は、周辺機器またはアドインカードでも実現できる。このような機能は、更なる例を挙げると、１つのデバイスで実行する異なるチップまたは異なるプロセスのうち、回路基板でも実施できる。命令、このような命令を伝える媒体、命令を実行するためのコンピューティングリソース、及び、このようなコンピューティングリソースを支援する他の構造は、これらの開示に記載される機能を提供するための手段である。従って、この記載は、単なる例としてとらえるべきで、本明細書の実施形態の範囲を制限するものではない。よって、本明細書の実施形態の真の趣旨及び範囲内にあるこのような変形及び修正の全てを含めることが添付の請求項の目的である。
【図１】
2020526831.tif 000003
【図２】
2020526831.tif 000004
【図３】
2020526831.tif 000005
【図４Ａ】
2020526831.tif 000006
【図４Ｂ】
2020526831.tif 000007
【図５】
2020526831.tif 000008
【図６】
2020526831.tif 000009
【図７】
2020526831.tif 000010
【図８Ａ】
2020526831.tif 000011
【図８Ｂ】
2020526831.tif 000012
【図９Ａ】
2020526831.tif 000013
【図９Ｂ】
2020526831.tif 000014
【図１０】
2020526831.tif 000015
【図１１Ａ】
2020526831.tif 000016
【図１１Ｂ】
2020526831.tif 000017
【図１２Ａ】
2020526831.tif 000018
【図１２Ｂ】
2020526831.tif 000019
【図１３】
2020526831.tif 000020
【手続補正書】
【提出日】令和2年3月6日(2020.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インタラクティブな制御方法であって、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出することと、
前記第１の動きに基づいて、回転角を決定することと、
前記第１の動きに関連付けられた力の大きさを決定することと、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定することと、
前記ＶＲ環境に前記経路を投影することと、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出することと、
前記第２の動きに基づいて、前記経路を調整することと、
を含む、方法。
【請求項２】
前記第１のコントローラの前記第１の動きは、第１の位置から第２の位置への動きを含み、前記回転角を決定することは、
三次元（３Ｄ）座標系において前記第１の位置を第１のベクトルにマッピングすることと、
前記３Ｄ座標系において前記第２の位置を第２のベクトルにマッピングすることと、
前記第１のベクトルと前記第２のベクトルとの差に基づいて、前記回転角を決定することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記力の大きさを決定することは、前記第１のベクトルと前記第２のベクトルとの前記差に基づく、請求項２に記載の方法。
【請求項４】
前記経路の少なくとも一部に沿って、前記ＶＲ環境のユーザに関連付けられた視点による動きを動画化することをさらに含む、請求項１に記載の方法。
【請求項５】
前記経路の少なくとも一部と交差する前記ＶＲ環境の物体を選択することをさらに含む、請求項１に記載の方法。
【請求項６】
前記ＶＲ環境において、ユーザに関連付けられた視点の現在位置の方に前記経路に沿って前記物体を移動させることをさらに含む、請求項５に記載の方法。
【請求項７】
前記物体に関連付けられたメニューオプションを表示することをさらに含む、請求項６に記載の方法。
【請求項８】
前記ＶＲ環境の前記経路を決定することは、
前記ＶＲ環境の前記経路の距離を前記力の大きさに基づいて決定することと、
前記ＶＲ環境の前記経路の方向を前記回転角に基づいて決定することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記ＶＲ環境の前記経路を決定することは、
前記ＶＲ環境の境界表面上のアンカーポイントを前記経路と前記境界表面との交点に近い位置に設定することと、
前記ＶＲ環境のユーザに関連付けられた視点の位置または前記視点の向きを、前記ＶＲ環境の前記視点の少なくとも一点と前記アンカーポイントとを横切る軸に対して調整することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記回転角は、第１の回転角であり、前記力の大きさは、第１の力の大きさであり、
前記第２の動きに基づいて、第２の回転角を決定することと、
前記第２の動きに基づいて、第２の力の大きさを決定することと、
をさらに含み、前記経路を決定することは、前記第１の回転角と前記第１の力の大きさとに対応する第１の経路と、前記第２の回転角と前記第２の力の大きさとに対応する第２の経路との間の平均、和、または、重ね合わせに基づく、
請求項１に記載の方法。
【請求項１１】
インタラクティブな制御のための仮想現実（ＶＲ）システムであって、
通信ネットワークで通信するネットワークインタフェースと、
前記ネットワークインタフェースに結合され、１つまたは複数のプロセスを実行するように適合されたプロセッサと、
前記プロセッサによって実行可能なプロセスを記憶するように構成されたメモリと、を含み、前記プロセスは、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出し、
前記第１の動きに基づいて、回転角を決定し、
前記第１の動きに関連付けられた力の大きさを決定し、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定し、
前記ＶＲ環境に前記経路を投影し、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出し、
前記第２の動きに基づいて、前記経路を調整する
ように実行可能な、ＶＲシステム。
【請求項１２】
前記第１のコントローラの前記第１の動きは、第１の位置から第２の位置への動きを含み、前記回転角を決定する前記プロセスは、
三次元（３Ｄ）座標系において、前記第１の位置を第１のベクトルにマッピングし、
前記３Ｄ座標系において、前記第２の位置を第２のベクトルにマッピングし、
前記第１のベクトルと前記第２のベクトルとの差に基づいて、前記回転角を決定するように
さらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１３】
前記力の大きさを決定する前記プロセスは、前記第１のベクトルと前記第２のベクトルとの前記差に基づいて、前記力の大きさを決定するようにさらに実行可能である、請求項１２に記載のＶＲシステム。
【請求項１４】
前記プロセスは、前記経路の少なくとも一部に沿った前記ＶＲ環境のユーザに関連付けられた視点による動きを動画化するようにさらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１５】
前記プロセスは、
前記経路の少なくとも一部と交差する前記ＶＲ環境の物体を選択し、
前記ＶＲ環境において、ユーザに関連付けられた視点の現在位置の方へ前記経路に沿って前記物体を移動させ、且つ、
前記物体に関連付けられたメニューオプションを表示するように、
さらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１６】
前記経路を決定する前記プロセスは、
前記ＶＲ環境の境界表面上のアンカーポイントを前記経路と前記境界表面との交点に近い位置に設定し、且つ、
前記ＶＲ環境におけるユーザに関連付けられた視点の位置または前記視点の向きを前記ＶＲ環境の前記視点の少なくとも一点と前記アンカーポイントとを横切る軸に対して調整する
ようにさらに実行可能である、請求項１１に記載のＶＲシステム。
【請求項１７】
前記回転角は、第１の回転角であり、前記力の大きさは、第１の力の大きさであり、前記プロセスは、
前記第２の動きに基づいて、第２の回転角を決定し、且つ、
前記第２の動きに基づいて、第２の力の大きさを決定するように
さらに実行可能であり、前記経路を決定する前記プロセスは、前記第１の回転角と前記第１の力の大きさとに対応する第１の経路と、前記第２の回転角と前記第２の力の大きさとに対応する第２の経路との間の平均、和、または、重ね合わせに基づく、
請求項１１に記載のＶＲシステム。
【請求項１８】
ソフトウェアをエンコードされた非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、インタラクティブな制御方法を行うようにプロセッサによって実行可能であり、前記方法は、
仮想現実（ＶＲ）環境に関連付けられた第１のコントローラの第１の動きを検出することと、
前記第１の動きに基づいて、回転角を決定することと、
前記第１の動きに関連付けられた力の大きさを決定することと、
前記回転角と前記力の大きさとに対応する前記ＶＲ環境の経路を決定することと、
前記ＶＲ環境に前記経路を投影することと、
前記ＶＲ環境に関連付けられた第２のコントローラの第２の動きを検出することと、
前記第２の動きに基づいて、前記経路を調整することと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項１９】
仮想環境内でのインタラクティブな動きのための方法であって、
仮想現実（ＶＲ）環境内の第１の経路であって、前記ＶＲ環境内のユーザの視点の位置から始まり、前記ＶＲ環境の表面上の第１のアンカーポイントで終了する前記第１の経路の前記第１のアンカーポイントを、第１のコントローラの動きに基づいて、決定することと、
前記ＶＲ環境内の第２の経路であって、前記ＶＲ環境内の前記ユーザの視点の前記位置から始まり、前記ＶＲ環境の異なる表面上の第２のアンカースポットで終了する前記第２の経路の第２のアンカーポイントを、第２のコントローラの動きに基づいて、決定することと、
前記第１のアンカーポイントと前記第２のアンカーポイントとに基づいて、前記ＶＲ環境内の交点であって、前記ＶＲ環境内の前記第１のアンカーポイントと前記第２のアンカーポイントをつなぐ線上に位置する前記交点を計算することと、
前記ＶＲ環境との次のインタラクションであって、前記ＶＲ環境内の前記ユーザの視点を前記計算された交点の方に移動させる前記次のインタラクションを、前記第１のコントローラまたは前記第２のコントローラのうちの１つから検出することと、
を含む、方法。
【請求項２０】
前記第１のコントローラまたは前記第２のコントローラのうちの１つを用いた前記ユーザからの異なるインタラクションは、前記計算された交点に位置する前記ＶＲ環境の物体の選択を指示する、請求項１９に記載の方法。
【請求項２１】
前記第１のコントローラと第２のコントローラとは、向き、位置、力、角運動量、及び、加速度のうちの１つまたは複数の変化を測定する、請求項１９に記載の方法。
【請求項２２】
前記第１のコントローラと第２のコントローラとは、他の入力制御と併せて前記変化を測定し、前記他の入力制御を使用して、前記ＶＲ環境の前記第１の経路及び前記第２の経路を生成する、請求項２１に記載の方法。
【請求項２３】
前記第１の経路及び前記第２の経路と、前記第１のアンカーポイント及び前記第２のアンカーポイントと、前記交点とを前記ＶＲ環境内に表示することをさらに含む、請求項１９に記載の方法。
【請求項２４】
前記ユーザの視点の前記位置からの前記第１の経路の長さは、前記第１のコントローラによって測定される力の大きさに対応する、請求項１９に記載の方法。
【請求項２５】
前記ユーザの視点の前記位置からの前記第１の経路の方向は、前記第１のコントローラによって測定される向きに対応する、請求項１９に記載の方法。
【請求項２６】
前記ＶＲ環境との次のインタラクションを検出することは、前記第１のコントローラまたは前記第２のコントローラのうちの少なくとも１つからのジェスチャを検出することを含む、請求項１９に記載の方法。
【請求項２７】
前記計算された交点の方への前記ユーザの視点の動きは、第３の経路に沿って行われ、前記第３の経路は、前記第１の経路と前記第２の経路との間にある、請求項１９に記載の方法。
【請求項２８】
前記ユーザが着用するＶＲヘッドセットに前記ＶＲ環境を表示することをさらに含む、請求項１９に記載の方法。
【請求項２９】
前記ＶＲ環境との前記検出された次のインタラクションは、前記第１のコントローラまたは前記第２のコントローラのうちの少なくとも１つからのボタンの押し下げを含む、請求項１９に記載の方法。
【請求項３０】
前記ＶＲ環境において、前記第１の経路または前記第２の経路に関する物体との交差を検出することと、
前記第１のコントローラまたは前記第２のコントローラのうちの１つを用いて、前記物体を選択する異なる次のインタラクションを前記ユーザから受信することと、
をさらに含む、請求項１９に記載の方法。
【請求項３１】
前記物体の選択は、前記選択された物体に関連付けられた追加のメニューオプションを読み出すことを含む、請求項３０に記載の方法。
【請求項３２】
前記物体が前記ユーザによって選択されていることを示す選択要素または境界が備えられる、請求項３０に記載の方法。
【請求項３３】
前記ＶＲ環境において前記第１の経路または前記第２の経路に関する物体との交差に近いことを検出することと、
前記第１のコントローラまたは前記第２のコントローラのうちの１つを用いて前記物体を選択する異なる次のインタラクションを前記ユーザから受信することと、
をさらに含む、請求項１９に記載の方法。
【請求項３４】
前記ＶＲ環境内の前記第１の経路及び前記第２の経路は、それぞれ、前記第１のコントローラ及び前記第２のコントローラの前記動きのベクトル表現である、請求項１９に記載の方法。
【請求項３５】
ＶＲ環境内のインタラクティブな動きのための仮想現実（ＶＲ）システムであって、
通信ネットワークで通信するネットワークインタフェースと、
第１のコントローラ及び第２のコントローラと、
前記ネットワークインタフェースに結合されたプロセッサとを含み、前記プロセッサは、メモリに記憶された命令を実行して、
前記ＶＲ環境内の第１の経路であって、前記ＶＲ環境内のユーザの視点の位置で始まり、前記ＶＲ環境の表面上の第１のアンカーポイントで終了する前記第１の経路の前記第１のアンカーポイントを、前記第１のコントローラの動きに基づいて、決定し、
前記ＶＲ環境内の第２の経路であって、前記ＶＲ環境内の前記ユーザの視点の前記位置で始まり、前記ＶＲ環境の異なる表面上の第２のアンカースポットで終了する前記第２の経路の第２のアンカーポイントを、前記第２のコントローラの動きに基づいて、決定し、
前記ＶＲ環境内の交点であって、前記ＶＲ環境内の前記第１のアンカーポイントと前記第２のアンカーポイントをつなぐ線上に位置する前記交点を、前記第１のアンカーポイントと前記第２のアンカーポイントとに基づいて、計算し、且つ、
前記ＶＲ環境との次のインタラクションであって、前記ＶＲ環境内の前記ユーザの視点を前記計算された交点の方に移動させる前記次のインタラクションを、前記第１のコントローラまたは前記第２のコントローラのうちの１つから検出する、
ＶＲシステム。
【請求項３６】
ソフトウェアをエンコードされた非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、仮想環境内でのインタラクティブな動きのための方法を行うようにプロセッサによって実行可能であり、前記方法は、
仮想現実（ＶＲ）環境内の第１の経路であって、前記ＶＲ環境内のユーザの視点の位置で始まり、前記ＶＲ環境の表面上の第１のアンカーポイントで終了する前記第１の経路の前記第１のアンカーポイントを、第１のコントローラの動きに基づいて、決定することと、
前記ＶＲ環境内の第２の経路であって、前記ＶＲ環境内の前記ユーザの視点の前記位置で始まり、前記ＶＲ環境の異なる表面上の第２のアンカースポットで終了する前記第２の経路の第２のアンカーポイントを、第２のコントローラの動きに基づいて、決定することと、
前記ＶＲ環境内の交点であって、前記ＶＲ環境内の前記第１のアンカーポイントと前記第２のアンカーポイントとをつなぐ線上に位置する前記交点を、前記第１のアンカーポイントと前記第２のアンカーポイントとに基づいて、計算することと、
前記ＶＲ環境との次のインタラクションであって、前記ＶＲ環境内の前記ユーザの視点を前記計算された交点の方に移動させるように指示する前記次のインタラクションを、前記第１のコントローラまたは前記第２のコントローラのうちの１つから検出すること
を含む、非一時的コンピュータ可読記憶媒体。
【請求項３７】
インタラクティブな物体選択の方法であって、
仮想環境内の視点に関連付けられたユーザの動きを検出することであって、前記動きは、前記ユーザの実世界環境の１つまたは複数のセンサによって検出される、前記動きを検出することと、
前記ユーザの前記視点から前記検出された動きの力の大きさと方向とに基づいて、前記仮想環境内に経路を投影することと、
前記投影された経路と、前記仮想環境内の位置のアンカーポイントとの交差を検出することと、
前記仮想環境内の位置の前記アンカーポイントに関連付けられた物体を識別することと、
前記仮想環境内の前記識別された物体に関する選択可能なオプションのメニューを生成することであって、前記識別された物体に基づいて、前記メニューを生成することと、
を含む、方法。
【請求項３８】
前記検出された動きが回転を示すことを識別することをさらに含む、請求項３７に記載の方法。
【請求項３９】
前記検出された動きが向きの変化を示すことを識別することさらに含む、請求項３７に記載の方法。
【請求項４０】
前記検出された動きが加速度の変化を示すことを識別することをさらに含む、請求項３７に記載の方法。
【請求項４１】
前記経路を投影することは、前記力の大きさと前記方向とを表す１つまたは複数のベクトルに基づいて、前記検出された動きをマッピングすることを含む、請求項３７に記載の方法。
【請求項４２】
前記仮想環境内に前記経路を投影することは、前記実世界環境の表面にオーバーレイする三次元（３Ｄ）座標系に前記検出された動きをマッピングすることを含む、請求項３７に記載の方法。
【請求項４３】
前記メニューから前記選択可能なオプションの１つまたは複数を示す選択入力であって、前記１つまたは複数のセンサによって検出される前記選択入力を受信することをさらに含む、請求項３７に記載の方法。
【請求項４４】
前記選択入力は、前記ユーザによるジェスチャを含む、請求項４３に記載の方法。
【請求項４５】
前記仮想環境をヘッドセットを介して表示することをさらに含む、請求項３７に記載の方法。
【請求項４６】
インタラクティブな物体選択システムであって、
仮想環境内の視点に関連付けられたユーザの動きを検出する１つまたは複数のセンサであって、前記動きは、前記ユーザの実世界環境の前記１つまたは複数のセンサによって検出される前記１つまたは複数のセンサと、
前記ユーザの前記視点から前記検出された動きの力の大きさと方向とに基づいて、前記仮想環境内の経路を投影するヘッドセットディスプレイと、
メモリに記憶された命令を実行するプロセッサとを含み、前記プロセッサは、メモリに記憶された前記命令を実行して、
前記投影された経路と、前記仮想環境内の位置のアンカーポイントとの交差を検出し、
前記仮想環境内の前記位置の前記アンカーポイントに関連付けられた物体を識別し、且つ、
前記仮想環境内の前記識別された物体に関する選択可能なオプションのメニューであって、前記識別された物体に基づいた前記メニューを生成する、
システム。
【請求項４７】
前記プロセッサは、前記検出された動きが回転を示すことをさらに識別する、請求項４６に記載のシステム。
【請求項４８】
前記プロセッサは、前記検出された動きが向きの変化を示すことをさらに識別する、請求項４６に記載のシステム。
【請求項４９】
前記プロセッサは、前記検出された動きが加速度の変化を示すことをさらに識別する、請求項４６に記載のシステム。
【請求項５０】
前記投影された経路は、前記力の大きさと前記方向とを表す１つまたは複数のベクトルに基づいて、前記検出された動きをマッピングすることに基づく、請求項４６に記載のシステム。
【請求項５１】
前記投影された経路は、前記実世界環境の表面にオーバーレイする三次元（３Ｄ）座標系に前記検出された動きをマッピングすることに基づく、請求項４６に記載のシステム。
【請求項５２】
前記１つまたは複数のセンサは、前記選択可能なオプションの１つまたは複数を示す選択入力を前記メニューからさらに検出する、請求項４６に記載のシステム。
【請求項５３】
前記選択入力は、前記ユーザによるジェスチャを含む、請求項５２に記載のシステム。
【請求項５４】
ソフトウェアをエンコードされた非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、インタラクティブな物体選択の方法を行うようにプロセッサによって実行可能であり、前記方法は、
仮想環境内の視点に関連付けられたユーザによる動きを検出することであって、前記動きは、前記ユーザの実世界環境の１つまたは複数のセンサによって検出される前記動きを検出することと、
前記ユーザの前記視点から前記検出された動きの力の大きさと方向とに基づいて、前記仮想環境内に経路を投影することと、
前記投影された経路と、前記仮想環境内の位置のアンカーポイントとの交差を検出することと、
前記仮想環境内の前記位置の前記アンカーポイントに関連付けられた物体を識別することと、
前記仮想環境内の前記識別された物体に関する選択可能なオプションのメニューを生成することであって、前記識別された物体に基づく前記メニューを生成することと、
を含む、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2020526831.tif 000021