JP6676071B2 - 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力 - Google Patents

仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力 Download PDF

Info

Publication number
JP6676071B2
JP6676071B2 JP2017556685A JP2017556685A JP6676071B2 JP 6676071 B2 JP6676071 B2 JP 6676071B2 JP 2017556685 A JP2017556685 A JP 2017556685A JP 2017556685 A JP2017556685 A JP 2017556685A JP 6676071 B2 JP6676071 B2 JP 6676071B2
Authority
JP
Japan
Prior art keywords
user
virtual
collision
mode
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017556685A
Other languages
English (en)
Other versions
JP2018522310A (ja
JP2018522310A5 (ja
Inventor
クレメント,マニュエル・クリスチャン
ファーボーグ,アレクサンダー・ジェイムズ
ガーグ,ラフール
トンプソン,ジョナサン
チェン,シーチー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2018522310A publication Critical patent/JP2018522310A/ja
Publication of JP2018522310A5 publication Critical patent/JP2018522310A5/ja
Application granted granted Critical
Publication of JP6676071B2 publication Critical patent/JP6676071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets

Description

関連出願との相互参照
本願は、2015年8月4日に出願された「仮想現実における手のコンテキスト依存衝突」(Context Sensitive Hand Collisions in Virtual Reality)と題された米国特許出願連続番号第62/200,825号の優先権および利益を主張する。その開示はその全体がここに引用により援用される。
技術分野
本説明は一般に、仮想現実(virtual reality:VR)環境におけるコンピューティングデバイスの使用に関する。特に、本説明は、VR環境において衝突を扱うための手法に関する。
背景
一般に、仮想現実は、コンピュータによって生成された3次元(3D)環境において人を包囲し、没入させることができる。人は、特定の電子デバイスと対話することにより、および/または特定の電子デバイスを物理的に装着することにより、この環境に入ることができる。例示的な電子デバイスは、画面を含むヘルメット、ユーザが画面(たとえば、表示装置またはモニタ)を見るときに覗く眼鏡またはゴーグル、センサ付き手袋、およびセンサを含む外部ハンドヘルドデバイスを含み得るものの、それらに限定されない。人は、一旦VR環境に入ると、その人にとって現実のように見えるような態様で(たとえば、物理的な態様で)3D環境と対話することができる。
概要
1つ以上のコンピュータのシステムが、特定の動作またはアクションを行なうように構成され得る。当該動作またはアクションは、動作時に当該システムに当該アクションを行なわせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せが当該システムにインストールされることによって行なわれる。1つ以上のコンピュータプログラムが、特定の動作またはアクションを行なうように構成され得る。当該動作またはアクションは、データ処理装置によって実行されると、当該装置に当該アクションを行なわせる命令を含むことによって行なわれる。
一般的な一局面では、コンピュータにより実現される方法は、コンピュータにより実現される方法を含む。当該方法は、仮想環境において仮想ユーザについて入力を受信するステップを含んでいてもよい。入力は、仮想環境にアクセスしているユーザによって行なわれた複数の運動に基づいていてもよい。当該方法はまた、複数の運動に基づいて、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることを検出するステップを含んでいてもよい。衝突ゾーンは、少なくとも1つの仮想オブジェクトに関連付けられてもよい。当該方法はまた、少なくとも一部分および少なくとも1つの仮想オブジェクトに基づいて、仮想ユーザのための衝突モードを選択するステップと、選択された衝突モードに基づいて、仮想ユーザを動的に修正するステップとを含んでいてもよい。この局面の他の実施形態は、方法のアクションを行なうように各々構成された、対応するコンピュータシステム、装置、および1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
実現化例は、以下の特徴のうちの1つ以上を含んでいてもよい。当該方法はまた、修正された仮想ユーザと整列するように衝突ゾーンを調節するステップを含んでいてもよい。調節するステップは、入力を受信する衝突ゾーンにおいて複数の可視ターゲットを提供するステップを含んでいてもよい。複数の可視ターゲットは、選択された衝突モードに関連付けられてもよい。入力は、少なくとも1つの仮想オブジェクトの近傍のホバー運動を含んでいてもよく、しきい値距離は、少なくとも1つの仮想オブジェクトから約1/2〜約1インチを含む。
当該方法はまた、仮想環境はスクロール可能コンテンツを提供していると判断するステップと、手のひらベースの衝突モードを選択するステップと、コンテンツを、ユーザの手によって始動された手のひらジェスチャーの受信に応答してスクロールされるように構成するステップとを含んでいてもよい。仮想ユーザを動的に修正するステップは、仮想環境における入力の提供に対応して仮想ユーザの一部分を修正するステップを含んでいてもよい。一部分を修正するステップはまた、入力は指の運動を含むこと、および、一部分は1本以上の仮想の指を含むことを検出するステップと、衝突ゾーンへの1本以上の仮想の指の到達範囲を広げるステップとを含んでいてもよい。広げるステップは、仮想環境における1本以上の仮想の指までのしきい値距離内に示された仮想オブジェクトと対話するように、仮想ユーザを適合させるステップを含んでいてもよい。仮想ユーザを動的に修正するステップは、視覚応答、音声応答、または触覚応答のうちの少なくとも1つをユーザに提供するステップを含んでいてもよい。当該方法はまた、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供するステップを含んでいてもよく、衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、衝突モードは細かい衝突モードとして構成され、衝突ゾーンのコンテキストが対話型の手のジェスチャーを受信するように構成される場合、衝突モードは粗い衝突モードとして構成される。コンテキスト依存衝突ゾーンは、衝突ゾーンに関連付けられたサイズに基づいて提供されてもよい。コンテキスト依存衝突ゾーンは、仮想環境における少なくとも1つの仮想オブジェクトに関連付けられたサイズに基づいて提供されてもよい。説明された手法の実現化例は、ハードウェア、方法またはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでいてもよい。
1つ以上のコンピュータのシステムが、特定の動作またはアクションを行なうように構成され得る。当該動作またはアクションは、動作時に当該システムに当該アクションを行なわせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せが当該システムにインストールされることによって行なわれる。1つ以上のコンピュータプログラムが、特定の動作またはアクションを行なうように構成され得る。当該動作またはアクションは、データ処理装置によって実行されると、当該装置に当該アクションを行なわせる命令を含むことによって行なわれる。一般的な一局面は、仮想現実環境において仮想現実体験を生成する電子コンピューティングデバイスを含むシステムを含み、電子コンピューティングデバイスは物理的空間内でポータブルであり、当該システムはさらに、電子コンピューティングデバイスと通信している複数のセンサを含み、センサは、物理的空間内の電子コンピューティングデバイスにアクセスしているユーザに関連付けられた動きを検出するように構成され、当該システムはさらに、少なくとも1つのプロセッサを含む。プロセッサは、仮想現実環境における運動を検出するように構成されてもよく、運動は物理ユーザによって行なわれ、運動は仮想環境において表わされ、物理ユーザの身体部位に関連付けられている。仮想オブジェクトが身体部位よりも小さい仮想オブジェクト上のエリアにおいて入力を受信するように構成されているという判断に応答して、システムは、身体部位を用いた選択能力を修正するための衝突モードを選択するように構成されてもよい。少なくとも1つのプロセッサは、仮想環境における身体部位の表現上に、修正された選択能力を表示し、異なる仮想オブジェクトに関連付けられた運動を検出するまで、選択された衝突モードを維持するように構成されてもよい。
実現化例は、以下の特徴のうちの1つ以上を含んでいてもよい。プロセッサは、仮想環境における身体部位の表現上に、修正された選択能力を表示してもよく、それは、仮想オブジェクトと対話する機構を物理ユーザに示す表示を点灯させ、振動させ、動かし、大きくし、または小さくするように、身体部位を構成することを含む。
いくつかの実現化例では、仮想オブジェクトはキーボードであり、身体部位は手であり、衝突モードは手の指先エリアを小さくするように選択され、身体部位の表現は各指の上の表示器を含む。いくつかの実現化例では、衝突モードは、手全体モード、腕全体モード、指モード、全身モード、およびキーボードモードからなる群から選択され、各モードは、細かい構成と粗い構成とを含む。
説明された手法の実現化例は、ハードウェア、方法またはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含んでいてもよい。別の一般的な局面では、命令を含む、非一時的なコンピュータ読取可能媒体であって、命令は、コンピュータシステムのプロセッサによって実行されると、コンピュータシステムに、仮想環境において仮想ユーザについて入力を受信するステップを行なわせ、入力は、仮想環境にアクセスしているユーザによって行なわれた複数の運動に基づいている。命令はまた、複数の運動に基づいて、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることを検出するステップを含んでいてもよい。衝突ゾーンは、少なくとも1つの仮想オブジェクトに関連付けられてもよい。命令はまた、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることに基づいて、仮想ユーザのための衝突モードを選択するステップと、選択された衝突モードに基づいて、仮想ユーザを動的に修正するステップとを含んでいてもよい。
実現化例は、以下の特徴のうちの1つ以上を含んでいてもよい。命令は、修正された仮想ユーザと整列するように衝突ゾーンを調節するステップを含んでいてもよい。調節するステップは、入力を受信する衝突ゾーンにおいて複数の可視ターゲットを提供するステップを含んでいてもよく、複数の可視ターゲットは、選択された衝突モードに関連付けられている。いくつかの実現化例では、入力はホバー運動を含み、しきい値距離は、少なくとも1つの仮想オブジェクトから約1/2〜約1インチを含む。
いくつかの実現化例では、仮想ユーザを動的に修正するステップは、仮想環境における入力の提供に対応して仮想ユーザの一部分を修正するステップを含む。いくつかの実現化例では、仮想ユーザを動的に修正するステップは、入力は指の運動を含むこと、および、一部分は1本以上の仮想の指を含むことを検出するステップと、衝突ゾーンへの1本以上の仮想の指の到達範囲を広げるステップとをさらに含む。広げるステップは、仮想環境における1本以上の仮想の指までのしきい値距離内に示された仮想オブジェクトと対話するように、仮想ユーザを適合させるステップを含んでいてもよい。
命令は、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供するステップを含んでいてもよい。衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、衝突モードは細かい衝突モードとして構成されてもよく、衝突ゾーンのコンテキストが対話型の手のジェスチャーを受信するように構成される場合、衝突モードは粗い衝突モードとして構成される。この局面の他の実施形態は、方法のアクションを行なうように各々構成された、対応するコンピュータシステム、装置、および1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
1つ以上の実現化例の詳細を、添付図面および以下の説明で述べる。他の特徴は、説明および図面から、ならびに請求項から明らかとなるであろう。
3D仮想現実(VR)環境においてコンテキスト依存衝突対話を提供する例示的なシステムのブロック図である。 コンピューティングデバイスと対話するユーザを示す図である。 頭部装着型ディスプレイ(head-mounted display:HMD)デバイスの画面上でユーザが見ることができる画像を示す図である。 頭部装着型ディスプレイ(HMD)デバイスの画面上でユーザが見ることができる画像を示す図である。 頭部装着型ディスプレイ(HMD)デバイスの画面上でユーザが見ることができる画像を示す図である。 VR環境においてコンテキスト依存衝突を提供するためのプロセスの一実施形態を図解するフローチャートである。 ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
さまざまな図面における同じ参照符号は、同じ要素を示す。
詳細な説明
コンピュータによって生成された仮想現実(VR)環境は、仮想空間と、ユーザが物理オブジェクトと対話するかのように仮想空間と対話する(たとえば、仮想空間に手を伸ばす)ことを可能にする仮想オブジェクトとを生成することにより、ユーザのための没入型の体験を作り出すことができる。一般に、VR環境は、仮想空間および仮想オブジェクトと対話する多くの機構をユーザに提供できる。これらの機構は、ユーザがVR環境に入力を提供することを可能にする、電子機器を収容するウェアラブル製品(たとえば、頭部装着型デバイス、手袋、ボディースーツ、視覚カメラなど)、センサ、および他のデバイスといった、特定のユーザ運動を感知するように構成された物理デバイスを含み得る。いくつかの実現化例では、ユーザは、VR環境におけるオブジェクトに向かって身を傾ける(たとえば、動く)ことができる。身を傾けることは、身体部位または部分のうちの一部またはすべてを含み得る。たとえば、ユーザは、VR環境におけるオブジェクトの近く(オブジェクトのしきい値距離内)で自分の手をホバーする(hover)ことができ、システム100は、ユーザの手のホバー/近さを検出することができる。ホバリングは、あるしきい値量の時間、オブジェクトの近傍(たとえばしきい値距離内)の空中に浮いているかのように、オブジェクトの近傍の空中で一時停止することを含んでいてもよい。ホバリングは、時間ベースのコンポーネントと、距離ベースのコンポーネントとを含み得る。たとえば、ユーザは、仮想オブジェクトの上方で約1〜約3秒の時間ホバーすることができ、仮想オブジェクトから約1インチ〜約3インチ内でホバーすることができる。一般に、システムはホバーを検出し、検出されたホバーを、ユーザの手のしきい値距離内の特定のオブジェクトに関連付けられたメニュー、アクション、または出力をトリガする機構として使用することができる。
ユーザがVR環境と対話したい場合、ユーザは、1本以上の指、手、腕、足、脚などを使って、VR環境における仮想オブジェクトに到達しようとしてもよい。そのような到達(たとえば運動)は、仮想オブジェクトの運動およびVR環境への修正をシミュレートする入力として検出されてもよい。いくつかの実現化例では、VR環境における表示のためにユーザの身体の部分をレンダリングすることができ、ユーザがそのような部分を動かすと、ここに説明されるシステムおよび方法は、ユーザ入力を受信することができる。VR環境に提供されたユーザ入力は、仮想オブジェクトと他のレンダリングされたVRコンテンツまたはオブジェクトとの間に起こる衝突として解釈され得る。ここに説明されるシステムおよび方法は、そのような衝突を検出し、検出された衝突に関してVR環境がユーザにどのように応答するかを判断するように構成され得る。VR環境における検出された衝突への応答は、以下に詳細に説明されるような視覚応答、音声応答、および/または触覚応答の任意の組合せを含み得る。
図1は、3D仮想現実(VR)環境においてコンテキスト依存衝突対話を提供する例示的なシステム100のブロック図である。一般に、システム100は、ここに説明される方法、コンポーネント、および手法を使用して、3D VR環境およびVRコンテンツを提供してもよい。特に、システム100は、VR環境内の仮想オブジェクトおよび/またはユーザに関連付けられた運動(たとえば対話)への直観的な応答を、ユーザに提供することができる。いくつかの実現化例では、システム100は、仮想ユーザの部分を、VR環境と対話するためにどの部分が(物理ユーザによって)選択されたかに基づいて修正することができる。たとえば、ユーザは、ブロックに手を伸ばして取り上げることによって、VR環境において対話していてもよい。ユーザは、ブロックをつかんで積み重ねてもよい。ユーザの指、手のひら、前腕、およびおそらくは他の腕または部分が、衝突をトリガして、物理的な世界に影響を与えてもよい。これによりユーザは、自分の手の中で品物を正確につかむこと、または、当該品物をリアルに体験して押すことができる。システム100は、どの部分が(仮想)ブロックと最初に対話しそうかを検出することができ、他の身体部位との他の衝突をブロックすることができる。別の例では、システム100はユーザが手を使って仮想オブジェクトと衝突する意図があることを検出できるため、システム100は、指および手が仮想ブロックに近づくにつれて、それらの到達範囲を広げることができる。
システム100は、仮想オブジェクトを収容するVR環境に、対話型のコンテキスト依存ターゲットを提供するように構成され得る。ここで使用されるように、ターゲットとは、ユーザから入力を受信するための制御エリアを指していてもよい。制御エリアは任意の形状およびサイズであってもよく、検出されたユーザ入力、またはユーザがどのように制御エリアと対話しているかというコンテキストに依存して、VR環境によって修正され得る。入力とは、物理的空間を通る手の運動、指の運動、または他の物理的運動などといった、物理ユーザ入力を指していてもよい。入力は、仮想オブジェクトの何らかの局面を動かし、修正し、または他の態様で当該局面に影響を与えるために仮想オブジェクトと対話すること(たとえば、衝突すること)を含む、VR環境における仮想オブジェクトにおいて運動をトリガすることをもたらしてもよい。ユーザ入力の検出に応答して、システム100は、VR環境におけるオブジェクトまたはコンテンツに関連付けられたアクションを行なうことができる。
VR環境におけるオブジェクトまたはコンテンツに関連付けられたアクションを行なう前に、コンテキスト依存ターゲットは、ユーザについての多くの詳細を考慮に入れることができる。たとえば、コンテキスト依存ターゲットは、ユーザ固有の情報、ユーザ運動情報、仮想オブジェクト情報、VR環境情報、および/または他のVRベースの情報に少なくとも部分的に基づいて構成および/または動作されてもよい。「ターゲット」および「コンテキスト依存ターゲット」という用語は、本開示全体にわたって交換可能に使用されてもよく、いずれの用語もコンテキスト依存ターゲットに当てはまり得る。
一般に、ターゲットは、VR環境においてユーザが(たとえば、レンダリングされた仮想ユーザとして)運動を制御することによって選択され得る。ここに説明されるシステムおよび方法はまた、ターゲット上またはその近くでレンダリングされたユーザの一部分を検出することに応答して、レンダリングされたユーザを動的に修正するように構成され得る。たとえば、VR環境において提示された(1つ以上のターゲットに関連付けられた)仮想オブジェクトに向かってユーザが身を傾け(たとえば、ホバーし)始めると、システム100はその運動を検出して、即時のまたはほぼ即時のアクション(たとえば機能性)をトリガするためにユーザが通過できる多くの選択可能エリア(たとえばターゲット)をVR環境内に表示することができる。特に、衝突が起こりそうであるという判断に応答して、システム100は、1つ以上のコンテキスト依存ターゲットを提供することによって、および/または、レンダリングされたユーザの部分(または、VR環境において選択を行なう他の項目)を動的に修正することによって応答することができ、ユーザがコンテキスト依存ターゲットを選択するのを支援する。
動的な修正は、ターゲットの精密な選択を可能にするために、システム100によって行なわれ得る。いくつかの実現化例では、動的な修正は、ユーザの身体部位(または、ユーザ入力に関連付けられた他の仮想オブジェクト)のどの部分がVR環境と対話するように構成されているかをユーザに示すために、システム100によって行なわれ得る。たとえば、ユーザがターゲットに向かってVR環境に到達しようとする際、システム100は、身体部位のどの部分(たとえば、指、手全体、手のひら、肘、足など)がターゲットと衝突しそうかを判断してもよく、判断された部分に対して視覚効果、音声効果、または触覚効果を動的に提供することができる。これは、ユーザが自分の身体のどの部分がVR環境において選択を行なうか(またはアクションを行なうか)を理解することを保証できる。加えて、システム100は、身体部位の一部分を動的に修正して、当該一部分が細かい小さいターゲットと対話できる(たとえば、当該ターゲットに到達できる)ことを保証できる。たとえば、システム100は、仮想ユーザのレンダリングされた人差し指を広げたり狭くしたりして、ユーザの手の他の部分が小さいターゲットと衝突するより先に人差し指が当該ターゲットと衝突することを保証し得る。別の例では、システム100は、VR環境において大きいオブジェクトを動かすために使用され得る広い手のスワイプを模倣するために、仮想ユーザのレンダリングされた手を広げることができる。特に、VR環境における画面上でアプリケーションを切り替えるために、大きいターゲットがトリガされてもよい。大きいターゲットについてのトリガは、5本の指、および、アプリケーションを横断するスワイプであってもよい。指が1本欠けているかまたは1本の指が他の指と並んでいないために、ユーザが4本の指を使用する場合、システム100は、欠けているか整列されていない指を検出することができ、アプリケーションを切り替えるようターゲットをトリガするために手のスワイプを広げることができる。
一般に、システム100は、(ユーザがVR環境においてレンダリングされる際)、仮想オブジェクトとユーザとの特定の衝突についてのコンテキストを判断するために、VR環境におけるユーザとの対話を分析することができる。検出は、ユーザの所望の意図に向けられる応答をユーザに提供するために使用され得る。たとえば、ユーザが仮想オブジェクトを手でつかもうとする(たとえば、手を伸ばす)場合、手は、多くの異なるやり方で反応し得るユーザインターフェイス表面に近づき始める。システム100は、どの(VR環境ベースの)反応がユーザの意図に整合するかを判断することができ、その意図に従って反応することができる。
たとえば、システム100は、ユーザの拡大された手(または他のユーザベースの対話)に反応するように構成可能であり、反応は、拡大された手の方向、手によって到達されつつある仮想オブジェクト、仮想オブジェクトのサイズ、またはVR環境に関連する他の要因に少なくとも部分的に基づき得る。この例では、ユーザ(またはユーザの手)がユーザインターフェイス表面に近づく際、ここのシステムおよび方法は、仮想オブジェクトにとって、精密なオブジェクト選択が適切であるか、またはあまり精密でないオブジェクト選択が適切であるかを判断してもよい。特に、仮想オブジェクトが典型的には、フローティングキーボード、またはメニューにおける項目のリストといった、精密な触覚対話および制御に関連付けられている場合、システム100は、ユーザの手の少なくとも一部分を動的に修正して、手が意図された仮想オブジェクト衝突を適切に起動できることを保証することができる。たとえば、ユーザはVR環境においてキーボード上でタイプしていてもよく、ユーザがキーボード上でタイプする際、システム100は視覚フィードバック、音声フィードバック、または触覚フィードバックをユーザに提供することができる。非限定的な一例では、ユーザがタイプする際、キーボードに接触する各指は、接触前および接触中に点灯するようにされ得る。同様に、システム100は、ユーザがキーボード上のキーを選択するたびに、クリックまたは振動をユーザの指に提供することができる。
いくつかの実現化例では、システム100は、ユーザが手全体をターゲットへ伸ばす途中で、ユーザが衝突するつもりでなかった1つ以上のターゲットに指が衝突する/当該ターゲットをトリガするというシナリオを回避するために、衝突前または衝突中にフィードバックをユーザに提供するように構成されてもよい。このシナリオは、ユーザがVR対話における距離を正確に判断することが難しいということが一因であり得る。加えて、センサが故障した場合、または環境設定(たとえば、照明、空間の歪みなど)によって悪影響を受けた場合、手の追跡システムの誤動作(精度の損失)が起こり得る。システム100は、レンダリングされたオブジェクト(たとえばユーザ)ならびに仮想オブジェクトおよび関連付けられた仮想コンテンツを動的に修正し、フィードバックをユーザに提供して、苛立たしいユーザ体験、存在感の損失、知覚される製品優秀性の減少を提供することを回避するとともに、起こり得るデータ損失、または他の測定可能な、ユーザにとってマイナスの結果を回避することができる。
例示的なシステム100は、ネットワーク101を通してデータを交換できる複数のコンピューティングデバイスを含む。これらのデバイスは、クライアントまたはサーバを表わしていてもよく、ネットワーク101または他のネットワークを介して通信可能である。クライアントデバイスは、VRコンテンツにアクセスするために使用され得る、ゲーミングデバイスまたは制御機構、モバイルデバイス、電子タブレット、ラップトップ、カメラ、VR眼鏡、または他のそのような電子デバイスを含んでいてもよい。
図1に示すように、システム100は、モバイルデバイス102と、ラップトップコンピューティングデバイス104と、頭部装着型ディスプレイ(HMD)デバイス106と、VRコンテンツシステム108とを含む。デバイス102、104、および106は、クライアントデバイスを表わしていてもよい。モバイルデバイス102、コンピューティングデバイス104、およびHMDデバイス106は、1つ以上のプロセッサと1つ以上のメモリデバイスとを含み得る。デバイス102〜106は、VRコンテンツにアクセスし、VRコンテンツを制御し、および/または各それぞれのデバイスに、もしくは接続されたデバイスに含まれる表示装置上でVRコンテンツを表示することができる、クライアントオペレーティングシステムおよび1つ以上のクライアントアプリケーションを実行可能である。
VRコンテンツシステム108は、サーバデバイスを表わしていてもよい。一般に、VRコンテンツシステム108は、仮想現実シーンを生成、修正、または実行可能なコンテンツおよび/または仮想現実ソフトウェアモジュールを格納する任意の数のリポジトリを含んでいてもよい。図示された例では、VRコンテンツシステム108は、システム108のためのコンテンツおよび/または制御機構にアクセス可能なVRアプリケーション110を含む。いくつかの実現化例では、VRアプリケーション110は、デバイス102〜106のうちの1つ以上でローカルに実行され得る。VRアプリケーション110は、デバイス102、104、106、および108のうちのいずれかまたはすべてで実行されるように構成され得る。
HMDデバイス106は、仮想現実コンテンツを表示可能な仮想現実ヘッドセット、眼鏡、アイピース、または他のウェアラブルデバイスを表わしていてもよい。動作時、HMDデバイス106は、受信および/または処理された画像をユーザへ再生可能なVRアプリケーションを実行することができる。いくつかの実現化例では、VRアプリケーション110は、図1に示すデバイス102、104、106、または108のうちの1つ以上によってホストされ得る。
いくつかの実現化例では、モバイルデバイス102は、HMDデバイス106内に配置され、および/または位置し得る。モバイルデバイス102は、HMDデバイス106用の画面として使用され得る表示装置を含み得る。モバイルデバイス102は、VRアプリケーション110を実行するためのハードウェアおよび/またはソフトウェアを含み得る。
追加のデバイスが可能であり、そのようなデバイスは互いに置換されるように構成されてもよい。いくつかの実現化例では、デバイス102、104、106、および108は、ネットワーク101を使用して他のコンピューティングデバイスまたはコンピュータシステムと通信可能な、ラップトップまたはデスクトップコンピュータ、スマートフォン、携帯情報端末、ポータブルメディアプレイヤー、タブレットコンピュータ、ゲーミングデバイス、または他の適切なコンピューティングデバイスであり得る。
例示的なシステム100では、HMDデバイス106は、たとえばVRコンテンツシステム108上のVRコンテンツにアクセスするために、デバイス102またはデバイス104に接続可能である。デバイス102または104はHMDデバイス106に(有線または無線)接続可能であり、HMDデバイス106は表示のためにVRコンテンツを提供可能である。
HMDデバイスがデバイス102またはデバイス104に無線接続される場合、接続は、ここに説明される高速無線通信プロトコルのうちの1つ以上の使用を含んでいてもよい。HMDデバイス106がデバイス102または104に有線接続される場合、有線接続は、デバイス102またはデバイス104に差し込むための適切なコネクタをいずれかの端に有するケーブルを含み得る。たとえば、ケーブルは、ユニバーサルシリアルバス(Universal Serial Bus:USB)コネクタを両端に含み得る。USBコネクタは同じUSBタイプのコネクタであってもよく、または、USBコネクタは各々異なるタイプのUSBコネクタであってもよい。さまざまなタイプのUSBコネクタは、USB Aタイプコネクタ、USB Bタイプコネクタ、マイクロUSB Aコネクタ、マイクロUSB Bコネクタ、マイクロUSB ABコネクタ、USB 5ピン ミニbコネクタ、USB 4ピン ミニbコネクタ、USB 3.0 Aタイプコネクタ、USB 3.0 Bタイプコネクタ、USB 3.0 マイクロBコネクタ、およびUSB Cタイプコネクタを含み得るものの、それらに限定されない。同様に、有線接続は、HMDデバイス106およびデバイス102またはデバイス104に差し込むための適切なコネクタをいずれかの端に有するケーブルを含み得る。たとえば、ケーブルは、ユニバーサルシリアルバス(USB)コネクタを両端に含み得る。USBコネクタは同じUSBタイプのコネクタであってもよく、または、USBコネクタは各々異なるタイプのUSBコネクタであってもよい。
いくつかの実現化例では、1つ以上のコンテンツサーバ(たとえばVRコンテンツシステム108)および1つ以上のコンピュータ読取可能記憶装置は、VRコンテンツをデバイス102〜106に提供するために、ネットワーク101を使用してコンピューティングデバイス102、104、106と通信可能である。いくつかの実現化例では、ネットワーク101は、公的通信ネットワーク(たとえば、インターネット、セルラーデータネットワーク、電話回線網を通したダイアルアップモデム)、または私的通信ネットワーク(たとえば、プライベートLAN、専用回線)であり得る。いくつかの実現化例では、コンピューティングデバイス102〜108は、1つ以上の高速有線および/または無線通信プロトコル(たとえば、802.11バリエーション、WiFi、ブルートゥース(登録商標)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、イーサネット(登録商標)、IEEE802.3など)を使用して、ネットワーク101と通信可能である。
いくつかの実現化例では、モバイルデバイス102は、VRアプリケーション110を実行し、VR環境のためのコンテンツを提供することができる。いくつかの実現化例では、ラップトップコンピューティングデバイスは、VRアプリケーション110を実行し、1つ以上のコンテンツサーバ(たとえばVRコンテンツシステム108)からコンテンツを提供することができる。1つ以上のコンテンツサーバおよび1つ以上のコンピュータ読取可能記憶装置は、HMDデバイス106での表示のためにコンテンツを提供するために、ネットワーク101を使用して、モバイルデバイス102および/またはラップトップコンピューティングデバイス104と通信可能である。
図1に示すように、VRアプリケーション110は、衝突モードモジュール112と、運動追跡モジュール114と、衝突検出モジュール116とを含む。衝突モードモジュール112は、VR環境内の特定のターゲット(たとえば、選択可能な制御機構)についての衝突モードを選択するソフトウェアモジュールを表わすことができる。衝突モードモジュール112は、アクセスされているコンテンツおよび提示されている環境に少なくとも部分的に基づいて、VR環境においてどの衝突モードがユーザにとって適切かを判断することができる。いくつかの実現化例では、衝突モードは、入力タイプ(たとえば、キーボード、手、ゲーミング制御機構、スタイラス、モバイルデバイス、身体部位、または他のレンダリング可能オブジェクト)に基づいて、衝突モードモジュール112によって選択され得る。いくつかの実現化例では、衝突モードは、(たとえば、衝突検出モジュール116を用いて)ユーザ入力を検出すると、動的に選択され得る。
いくつかの実現化例では、大量の可能な衝突モードが存在していてもよく、それらは各々、対話型オブジェクトへのユーザの近接に基づいて、または、ユーザがレンダリングされるVR環境のタイプに基づいて変わり得る。衝突モードは、細かくても粗くてもよい。例示的な衝突モードは、手全体モード、腕全体モード、1本以上の指モード、全身モード、およびキーボードモードを含み得るものの、それらに限定されない。それらのうちのいずれかまたはすべてはまた、より狭い、またはより広い衝突ゾーンを提供するサブモードを含み得る。たとえば、人差し指モードは、仮想オブジェクトを正確に選択するために、仮想ユーザの指の形状を若干修正するように構成されてもよい。いくつかの実現化例では、形状変更はユーザには見えないかもしれないが、オブジェクトと衝突するように構成される仮想ユーザの指の部分は、オブジェクトと衝突可能なより小さいアクティブエリアを指の上に有していてもよい。より小さいアクティブエリアは、ユーザが遭遇する仮想オブジェクトを容易に選択するように指が適合されている細かい衝突モードをトリガしてもよい。衝突モードは、とりわけ、繊細さおよびスケールの意味での詳細のレベル、ならびに、仮想ユーザが仮想オブジェクトと対話できる粒度を判断するモードとして理解されてもよい。
非限定的な一例では、衝突モードは、小さいエリアの選択(たとえば、キー、メニュー項目、または詳細な仮想オブジェクト操作)のために適合されてもよく、または、大きいエリアの選択(たとえば、オブジェクトを持ち上げること、ブロックまたは他の仮想コンテンツを動かすこと、仮想空間において製図することなど)のために適合されてもよい。衝突モードモジュール112は、小さいまたは大きいターゲット、もしくは小さいまたは大きい仮想オブジェクトと対話するというコンテキストに基づいて、適切なやり方で仮想オブジェクトに関与するように、仮想ユーザの部分(たとえば人差し指)を構成することができる。いくつかの実現化例では、ある特定の衝突モードが、特定のコンテンツのために修正され得る。たとえば、ユーザがVR環境において対話型のヨガコンテンツにアクセスする場合、ユーザは、VR環境内で特定の選択および運動を行なうために、膝、足、肩を使うかまたは息を吸うよう促されてもよい。
別の非限定的な一例では、仮想オブジェクトまたはメニュー上の1つ以上の仮想ボタン上またはその近傍の位置でユーザの手が検出された場合(たとえば、当該ボタンの近くでホバーしていることが検出された場合)、細かい衝突モードがトリガされてもよい。細かい衝突モードは、ユーザが1本以上の指を使って衝突または(たとえば仮想オブジェクト選択)を行なうべきであることをユーザに示すことができる。たとえば、衝突モードモジュール112は、細かい衝突モードがトリガされること、および、ユーザは選択を行なう(たとえば、仮想ボタンをクリックする)ために人差し指を使用すべきであることを示すように、仮想ユーザの人差し指を修正してもよい。いくつかの実現化例では、人差し指でボタンクリックをトリガすることに加えて、衝突モードモジュール112は、ユーザが自分の手のひらの中心でスクロール可能領域を動かすことを可能にし得る。たとえば、衝突モードモジュール112は、仮想環境はスクロール可能コンテンツを提供していると判断することができ、それに応答して手のひらベースの衝突モードを選択することができる。手のひらベースの衝突モードを選択することは、コンテンツを、ユーザの手によって始動された手のひらジェスチャーの受信に応答してスクロールされるように構成することを含んでいてもよい。加えて、手のひらベースの衝突モードを選択することは、手のひら以外の手の部分を、無効になるように修正することを含んでいてもよい。これは、ユーザが手のひらを使ってスクロールおよび/または選択することを可能にし得るが、指がうっかり衝突ゾーンと対話した場合、この例では手のひらベースのモードがスクロールを行なうための唯一のアクティブな衝突モードであるため、モジュール112は指の選択をブロックする(たとえばミュートする)ことができる。
同様に、ユーザが仮想スライダバーに近づいていることを衝突検出モジュール116が検出した場合、衝突モードモジュールは粗い衝突モードに切り替えることができ、手のひらを使ってスライダバーを動かすよう、ユーザに示すことができる。衝突モードについてのそのような表示は、選択された衝突モードでうまく機能しそうな仮想身体の一部分をマークすることを含み得る。たとえば、仮想身体部分は、VR環境において動作する機構を点灯させ、振動させ、動かし、大きくし、小さくし、または他の態様でユーザに示すことができる。
別の非限定的な一例では、衝突検出モジュール116は、射撃可能ターゲットがVR環境内に配置された射撃訓練ゲームにユーザが関与していることを検出してもよい。ユーザ(たとえば、物理ユーザの手によって制御されるレンダリングされたユーザ)の手が射撃可能ターゲットに近づくと、衝突モードモジュール112は、対話型の衝突モードが始まり得ることを示すことができる。たとえば、モジュール112がターゲットへのしきい値距離内の近接を検出した場合、最も近い手の手のひらが、ある特定の衝突モードを指図してもよい。このモードは射撃モードであってもよく、表示は、ユーザに手のひらを閉じさせ、再び開かせるための点灯応答、もしくは他の視覚応答、音声応答、または触覚応答であってもよい。手のひらを閉じて再び開くと、(弾丸などの)仮想オブジェクトをターゲットに放つことができる。ジェスチャーを行なう表示は、ユーザの手のひらが仮想弾丸を用いてターゲットに到達することを可能にするある特定の衝突モードをトリガすることができる。衝突モードは、手からターゲットまでの弾丸の空間横断運動を可能にするジェスチャーを可能にすることによって、運動を可能にする。
一般に、システム100は、ユーザがターゲットによって妨害されることなくコンテンツを見ることができるように、小さいターゲット(たとえば制御機構)を表示するように構成され得る。衝突モードモジュール112は、ユーザがいつターゲットのしきい値距離内にいるかを検出するように構成可能であり、ユーザがターゲットに近づく際に、ユーザの入力機構に適応するようにターゲットを変更することができる。たとえば、衝突モードモジュール112は、ユーザの腕を、仮想オブジェクトを指すことができる槍またはスタイラスに動的に変更でき、ユーザの指よりも小さく見えるターゲットを選択できる。これは、ユーザが複数のターゲットまたは望まないターゲットを選択する可能性を減少させることができる。
いくつかの実現化例では、システム100は、エリア内の密に位置付けられた組の対話型ユーザインターフェイス制御機構、仮想オブジェクト、および/またはターゲットを可能にでき、手の対話の精度をユーザに提供できる。これは、VR環境においてより細かいターゲットおよび/または制御機構を選択する目的のために、ユーザのレンダリングされた身体部位(たとえば手)を動的に変更する能力が、ユーザが行なったより大きい運動がより細かい運動に変更されるための能力を提供できるためである。システム100は環境においてコンテンツのサイズを変更することなくコンテンツをユーザに提供することができるが、いかなる選択もユーザが挙動(またはビュー)を変更する必要なく自動的により精密な選択となるように、コンテンツに関連付けられたターゲットを動的に修正することができる。一例では、システム100は、ユーザの指のレンダリングを動的に変更して、ユーザがVR環境で提供されるある特定のメニューにおいて小さいフォントを精密に選択できることを保証することができる。この例では、指への変更を、ユーザに視覚的に見せても見せなくてもよい。しかしながら、システム100は環境に関連付けられた衝突モードに対して修正を行なったため、VR環境におけるコンテンツと対話する際、ユーザは、コンテンツを選択するためのより細かい能力に気づくかもしれない。
たとえば、システム100は、ユーザアクションまたは運動に対応して1つ以上のしきい値条件が満たされることに応答して、衝突モードに対して特定の修正を行なうことができる。一例では、システム100は、VR環境におけるユーザの手とオブジェクトとの間の距離が(システム100によって予め定められた)しきい値距離内にあるという判断に基づいて、衝突モードの修正を行なうことができる。手とオブジェクトとが近い場合、システム100は衝突モードを細かい制御衝突モードに切り替えることができる。同様に、手とオブジェクトとが遠く離れている場合、システム100は粗い制御衝突モードに切り替えることができる。
別の例では、システム100は、VR環境におけるある特定の数のオブジェクトが互いに近接する範囲内にあるかどうかを判断することができる。たとえば、システム100は、VR環境におけるオブジェクトがいつ密な間隔で配置されているかを判断することができ、それに応答して衝突モードを細かい衝突モードに切り替えることができる。同様に、オブジェクトがまばらな間隔で配置されている場合、システム100は、粗い衝突モード(または、システムの判断に少なくとも部分的に基づいた、細かい制御衝突モードと粗い制御衝突モードとの間の別のモード)に切り替えることができる。
別の例では、システム100は、ユーザがVRオブジェクトに近づいている際、ユーザが遅くなっている(たとえば減速している)かどうかを判断することができる。ユーザが減速していると判断された場合、システム100は、細かい制御衝突モードに切り替えることができる。同様に、ユーザがVRオブジェクトのそばを加速していると判断された場合、システムは、粗い制御衝突モードに切り替えてもよく、もしくは、ユーザが特定のVRオブジェクトまたはエリアへと減速し始めるまで衝突モードを完全に取り除いてもよい。
非限定的な一例では、ユーザがVR環境にいて、自分の手を使って仮想的にレンダリングされた電話と対話したい場合、ユーザは仮想電話の方へ手を伸ばしてボタンを押し始めることができる。ユーザの手(たとえば指、手のひらなど)は(システム100によって)追跡されているため、電話はユーザ入力を受信し、それに応じて反応することができる。しかしながら、ユーザが対話する前に、衝突モードモジュール112は、仮想電話との対話はピンポイント選択能力を有する細かい運動技能を伴い得ると判断してもよい。そのため、衝突モードモジュール112は、電話のボタンは典型的には小さいため、小さいターゲットがユーザに提供されるべきであると判断できるが、モジュール112はまた、ある特定の衝突モードが選択されることも保証できる。この場合、電話上の選択可能ターゲットは小さいターゲットとして提供されているため、衝突モードモジュール112は、ユーザの追跡された手がより小さく示される衝突モードを選択してもよい。別の例では、衝突モードモジュール112は、ユーザの追跡された手が、どの身体部位が対話するかを示す手の一部分を除き、消えるかかすんで示される衝突モードを選択してもよい。すなわち、モジュール112は、指または指先が選択機構になるであろうということを強調表示し、または他の態様でユーザに示すことができる。この例では、ユーザが選択機構として示されていない手の一部分をターゲットにぶつけた場合、システム100は、ユーザのうっかりした動きに反応しないように構成され得る。
運動追跡モジュール114は、ターゲットの近くで動くユーザの速度および精度を検出して追跡することができるソフトウェアモジュールを表わすことができる。たとえば、運動追跡モジュール114は、ユーザがVR環境に入力を提供することを可能にする、電子機器を有して構成されたウェアラブル製品(たとえば、頭部装着型デバイス、手袋、ボディースーツ、視覚カメラなど)、センサ、および他のデバイスといった、ユーザ運動を感知するように構成された物理デバイスと連動することができる。そのようなデバイスと連動することにより、運動追跡モジュール114は、複数のターゲットがトリガされる場合に、どのターゲットがトリガされ得るか、およびどの順序でターゲットがトリガされるべきかを判断できるようになる。いくつかの実現化例では、運動追跡モジュール114は、ユーザがターゲットのしきい値距離内にいる場合といった適切なタイミング間隔でそのようなターゲットを提供するために、ユーザ運動を追跡することができる。このように、運動追跡モジュール114は、衝突検出モジュール116と連携して、ユーザの希望する時間にユーザベースのコンテキストに従って多くのターゲットをユーザに提供することができる。
衝突検出モジュール116は、幾何学的分析および空間分析を行なってVR環境における衝突または衝突危険を検出し、VRアプリケーション110における1つ以上の他のモジュールにフィードバックを提供することができるソフトウェアモジュールを表わすことができる。一般に、衝突は意図的であるかまたは非意図的であると判断され得る。非意図的な衝突は、ユーザ運動に応答して運動追跡モジュール114および衝突検出モジュール116によって予測可能であり、そのような予測は、ある特定の衝突モードを変更するための根拠として、衝突モードモジュール112に提供され得る。たとえば、ユーザの手のひら全体が書棚の方に近づいてくることを運動追跡モジュール114で検出することに応答して、衝突検出モジュール116は、ユーザが書棚にある多くの本のうちの1つに手を伸ばしていることを確めることができ、ユーザの手のひらが選択機構として使用される場合、多くの衝突が非意図的に起こり得ると判断することができる。衝突検出モジュール116は、指がよりよい選択機構になるであろうと予測でき、この情報を衝突モードモジュール112に提供できる。衝突モードモジュール112はこの情報を使用して、VR対話に適するであろう衝突モードを選択できる。このように、衝突検出モジュール116は、ある特定のVR対話に最も適するであろうコンテキストおよび結果として生じる選択機構を判断することができる。コンテキストは、ある特定のサイズのターゲットを提供するために、ある特定のタイプの入力機構を提供するために、および、ユーザ入力が非意図的に解釈されないこと、または間違って行なわれないことを保証するために、使用され得る。
動作時、VRアプリケーション110は、運動追跡モジュール114および衝突検出モジュール116を用いて、ユーザがターゲットエリア(のしきい値距離内)へと、またはその近くで手を動かしていることを検出できる。これに応答して、アプリケーション110は、ユーザが何を行なっているかについてのコンテキストを判断することができ、衝突モードモジュール112を使用してある特定のターゲット/衝突モードをトリガするためにそのコンテキストを使用することができる。たとえば、VRアプリケーション110は一般に、(衝突モードモジュール112を使用して)、VR環境における特定のユーザとの対話がある特定のトリガのモード/モデルにより適するかどうかを判断することができ、判断に基づいて特定のモードを動的に選択して提示することができる。そのようなターゲットモードの動的な選択および提示は、たとえばユーザがターゲットを起動する前に行なわれ得る。非限定的な一例では、第1のしきい値条件が満たされた(たとえば、ターゲットエリアからの第1の距離が検出された)という判断に応答して、第1のモードが選択され得る。代わりに、ターゲットエリアからのより大きい第2の距離が検出された場合、ユーザからターゲットエリアまでのより大きい距離の第2のしきい値条件に基づいて、第2のモードが選択され得る。
いくつかの実現化例では、システム100は、仮想現実環境において仮想現実体験を生成する電子コンピューティングデバイス(たとえばデバイス106)を含んでいてもよい。電子コンピューティングデバイスは、物理的空間内でポータブルであってもよい。いくつかの実現化例では、電子コンピューティングデバイスは、任意の数の他のコンピューティングデバイス(たとえば、デバイス102、104、108、または図1に示されない他のデバイス)に通信可能に結合されてもよい。
電子コンピューティングデバイスは、電子コンピューティングデバイスと通信している複数のセンサを含むかまたは当該センサへのアクセスを有し得る。センサは、物理的空間内の電子コンピューティングデバイスにアクセスしているユーザに関連付けられた動きを検出するように構成されてもよい。電子コンピューティングデバイスは、仮想現実環境における仮想オブジェクトの近傍の運動を検出するように構成された1つ以上のプロセッサを含み得る。運動は物理ユーザによって行なわれてもよく、運動は仮想環境において表わされ、物理ユーザの身体部位に関連付けられてもよい。たとえば、運動は、スクロール可能メニューの近くで手を振ることであってもよく、手を振ることは、仮想ユーザが動きを行なったかのようにシミュレートされ得る。仮想環境において、ユーザの手、腕、または全身が表わされ得る。
仮想オブジェクトが身体部位よりも小さい仮想オブジェクト上のエリアにおいて入力を受信するように構成されているという判断に応答して、システム100は、身体部位を用いた選択能力を修正するための衝突モードを選択できる。たとえば、システム100は、手のひらがメニューをスクロールするスクロール運動を行なうことができ、手のひら(または他の構成された身体部位)が選択を行なうことができる、粗い衝突モードを選択するよう判断できる。一例では、粗い衝突モードは、スクロールするために選択される。ユーザがスクロールしていないことを検出すると、および/またはスクロールが止まると、システム100は、ユーザが指を使用してメニューにおける項目を選択できるようにするために、細かい衝突モードに切り替えることができる。システム100は、仮想環境における身体部位の表現上に、修正された選択能力を表示することができる。修正された選択能力は、仮想オブジェクトと対話する機構を物理ユーザに示す表示を点灯させ、振動させ、動かし、大きくし、または小さくするように、身体部位を構成することを含んでいてもよい。システム100は、異なる仮想オブジェクト、または当該仮想オブジェクトとの異なる対話に関連付けられた運動を検出するまで、選択された衝突モードを維持することができる。たとえば、システムが手を別の衝突ゾーンへと動かした場合、システム100は、新たな衝突ゾーンに関連付けられるように衝突モードを変更することができる。新たな衝突ゾーンは異なる衝突モードに対応可能であり、新たなゾーンにあることが検出されると、システム100は異なる衝突モードのうちの1つ以上に変更可能である。
一例では、仮想オブジェクトがキーボードであり、身体部位が手である場合、衝突モードは手の指先エリアを小さくするように選択されてもよく、身体部位の表現は各指の上の表示器を含んでいてもよい。いくつかの実現化例では、衝突モードは、手全体モード、腕全体モード、指モード、全身モード、および/またはキーボードモードのうちのいずれかから選択可能である。各モードは、モードごとに細かい構成と粗い構成との双方を含んでいてもよい。
図2は、コンピューティングデバイス104と対話するユーザ202を示す図である。たとえば、コンピューティングデバイス104はキーボード204を含み得る。ユーザ202はまた、モバイルデバイス102を使用していてもよい。他のデバイスがユーザ202によって使用可能であり、そのようなデバイスは、HMDデバイス106、モバイルデバイス102、および/またはキーボード204に接続可能である。ユーザ202は、キーボード204および/またはモバイルデバイス102と対話しながら、HMDデバイス106の画面上で、コンピュータシステム104に関連付けられた表示されたコンテンツを見ることができる。HMDデバイス106は、ここに説明される有線および/または無線通信インターフェイスのうちの1つ以上を使用して、コンピューティングデバイス104に接続(たとえば連動)され得る。
ユーザ202は、VR環境において行なわれるアクションを制御する際、コンピューティングデバイス104およびキーボード204と対話することができる。たとえば、キーボード204は、VR環境において、ユーザ202に表示され得るVR制御機構としてレンダリングされ得る。ユーザ202は、制御機構に関連付けられたターゲットをトリガするために制御機構を動かし、回転させ、および/または制御機構に手を振ることにより、VR環境においてコンピューティングデバイス104と対話してもよい。図2に示すユーザは、HMDデバイス106にアクセスしながら、自分の手206および208を用いてキーボード上でタイプしている。HMDデバイス106は、以下の図3A〜3Cにおける多くのレンダリングされたオブジェクトをユーザ202に示している、ユーザの手206および208は、レンダリングされた手304および306a/b)としてそれぞれ示される。
図3A〜3Cは、HMDデバイス106の画面上でユーザ(たとえば、図2からのユーザ202)が見ることができる画像を示す図である。たとえば、画像300Aはユーザ202をVR環境に投影する。画像300Aは、表示装置上に表示されたマップ情報のレンダリング302と、キーボード204のレンダリング310と対話するユーザ202の手および指のレンダリング304、306a、および306bとを含む。この例では、手306aは、ユーザの右手(手206に対応)の第1の配置の仮想レンダリングであり、手306bは、ユーザの右手(手208に対応)の第2の配置の仮想レンダリングである。加えて、ユーザ202がコンピューティングデバイス104と対話する際に交互に表示され得る(たとえば、レンダリングされ得る)他のウィンドウ(たとえば、レンダリングされた制御ウィンドウ312)が、情報のレンダリング302とともに、VR環境においてユーザ202に提示される。
制御ウィンドウ312は、3つの選択可能なエリア、すなわち、映画エリア314、製図エリア316、およびモバイルデバイスエリア318を図示する。映画エリア314は、ユーザ202が環境において以前にアクセスした映画に対応する。すなわち、ユーザは、映画を見ていたかもしれず、マップ情報302にアクセスすることに切り替えるよう選択したかもしれない。同様に、ユーザ202は、製図エリア316を選択することによってCAD図面にアクセスしていたかもしれず、または、モバイルデバイスエリア318を使用してモバイルデバイス対話にアクセスしていたかもしれない。
図3Aに示すように、ユーザ202のレンダリングされた手304および306aは、レンダリングされたキーボード310を使用して、レンダリングされた画面(図示せず)に情報をタイプしていてもよい。ある時点で、ユーザ202は、(レンダリングされた)手を使用して、レンダリングされたマップ情報302と対話することができる。たとえば、(レンダリングされた手306aによって表わされる)ユーザ202は、手を伸ばしてマップ上のコンテンツを選択することができる。ここで、ユーザ202は、チリという国を選択して追加情報および/またはコンテンツをトリガしたいかもしれない。ユーザ202は、自分のレンダリングされた手306aを(矢印324によって示されるように)マップの方へ伸ばして、(マップ上に点線のレンダリングされた手306bによって示されるように)マップ情報302に到達することができる。これに応答して、VRアプリケーション110は、ユーザ202がマップ上の南アメリカの方へ手を伸ばしていると判断することができ、1つ以上の衝突モードおよび/またはターゲット表示をトリガすることができる。たとえば、VRアプリケーション110は、ユーザ202が一方または双方の(レンダリングされた)手を入力機構として使用していると判断することができ、そのため、アプリケーション110は、ユーザの指を選択器として可能にする衝突モードをトリガすることができ、ユーザが衝突ゾーン319内にいる場合に、指がマップ選択を行なうことができることをユーザに示すために、ターゲット320で視覚的表示を提供する(たとえば、ターゲット320で点灯する/ちらちら光る)ことができる。いくつかの実現化例では、より小さい衝突ゾーン319がトリガされる前に、より大きい衝突ゾーン321がトリガされてもよい。いくつかの実現化例では、ユーザが仮想コンテンツを対話するために手のひら選択モードを使用している場合に、より大きい衝突ゾーン321がトリガされてもよい。他の実現化例では、ユーザが仮想コンテンツを対話するために指先を使用している場合に、より小さい衝突ゾーン319がトリガされてもよい。
レンダリングされた手306bは、目には見えるものの、かすんでいてもよく、手306bの上のユーザの人差し指の先端は、マップ情報302との衝突器として機能できる。衝突モードを提供することは、ユーザがマップ上の意図されない複数の位置を誤って選択しないことを保証できる。選択された衝突モードは、ユーザが意図されたターゲットに触ることができるように、特定のターゲットがユーザのレンダリングされた指と同じくらい大きいことを規定できるものの、意図されないターゲットが選択されないことを保証できる。
別の例では、マップ情報302は、VR環境において提供される平凡な追跡ゲームの一部として表示されてもよい。そのゲームは、各質問に応答して大陸を選択するための命令を含んでいてもよい。マップ情報302において大陸全体を選択することは手のひらサイズのスワイプまたは選択を伴い得るため、VRアプリケーション110は、(衝突モードモジュール112を使用して)大きいターゲットおよび粗い衝突が十分であろうと判断でき、それに応じて、手全体の選択衝突モードが構成され、可能にされ得る。VRアプリケーション110は、手を輪郭付けすること、手全体に輝きを提供すること、たとえばユーザ202の手の上の手袋を介して触覚フィードバックを手のひらに提供すること、または、仮想オブジェクトをどのように選択するかについてユーザに表示を提供する他の対話を提供することにより、レンダリングされた手全体が選択のために使用され得ることをユーザに示すことができる。
別の例では、ユーザ202は、マップ情報302をアクセスしていてもよく、(映画エリア314で示された)以前にアクセスされた映画に戻ることを決定してもよい。ユーザ202は、VR環境において映画を見続けることに切り替えるように、(たとえばレンダリングされた手306aを用いて)再生制御機構322を選択することができる。制御ウィンドウ312における再生、早送り、および巻き戻し制御機構は小さいかもしれないため、VRアプリケーション110は、そのエリアにおいて小さいターゲットが使用されるであろうと判断することができる。そのような態様で、単一のシーン/対話エリアにおいて2つの別個の衝突モードが構成され、提供され得る。
いくつかの実現化例では、VRアプリケーション110は、ユーザが制御機構を正確に選択できることを保証するように、ユーザの手または指を動的に修正することができる。たとえば、ユーザ202が映画を見ていて自分のモバイルデバイスが鳴り始めた場合、ユーザ202は、一時停止のために手を伸ばし、小さいターゲットを勘案するためにユーザの指への細かいピッチの修正をトリガしてもよい。細かいピッチの修正は、モバイルデバイスを選択するために伸ばす指の到達範囲を狭くすることおよび/または広げることを含み得る。一例では、狭くすることおよび/または広げることをユーザに表示することができる。別の例では、狭くすることまたは広げることは、細かいピッチの修正の選択をトリガするためにモバイルデバイス上方でのホバーを可能にすることによって提供され得る。この選択は、たとえばユーザがレンダリングされたモバイルデバイスのしきい値距離内にいる場合に1つ以上のターゲット(またはスパーク)を示すことによって、ユーザの指の向上した精度および/または到達範囲を自動的に可能にすることができる。これは、ユーザがターゲットと実際に衝突する必要なく、到達範囲がターゲットの範囲内にあることをユーザが見ることを可能にするという利点を提供する。
いくつかの実現化例では、(318で示される)モバイルデバイス機能性を選択するために、VRアプリケーションは、318での大きいターゲットの容易な選択を可能にするようにユーザの指を修正することができ、次に、モバイルデバイス上のボタンについてのより細かくより小さい選択を可能にするようにユーザの指を後で動的に修正することができる。これにより、ユーザは、映画エリア314とモバイルデバイスエリア318との間に配置された仮想コンテンツをうっかり選択することなく、電話を取ることができる。要するに、VRアプリケーション110は、電話の着信を検出することができるとともに、アプリケーション切り替えるために、および/または電話を取るために、入力を受信するのに必要ないずれかのまたはすべてのユーザインターフェイスを動的に修正することができる。入力は、アクティブなVR環境シーンを一時停止すること、退出すること、あるいは他の態様で修正すること、ならびに、別のVR環境シーンまたは活動へ切り替えるために使用されるあらゆる入力を含み得る。修正は、ユーザが干渉されずに特定の仮想項目を選択できることを保証することができる。動的な修正は、たとえば制御ウィンドウ312において人差し指のみが選択を行なうように構成されてもよいことを保証することを含んでいてもよい。いくつかの実現化例では、ユーザインターフェイス、衝突モード、または仮想オブジェクトは、VR環境における要素、ユーザ入力機構、および/またはアクセスされているコンテンツなどに基づいて修正され得る。
いくつかの実現化例では、衝突モードは、仮想コンテンツの開発者によって、特定のコンテンツのために予め規定され得る。いくつかの実現化例では、衝突モードは、仮想オブジェクトからの距離に基づいて選択され、または構成可能であってもよい。いくつかの実現化例では、衝突モードは、感知された手のサイズまたは入力機構サイズに基づいて選択され、または構成可能であってもよい。いくつかの実現化例では、衝突モードは、特定のニーズに基づいてVRユーザによって選択され得る。たとえば、ユーザが、たとえば新たな制御機構の使用をマスターするまで、手全体モードでVRコンテンツと対話し始めることを望む場合、ユーザは、手全体モードを選択することができ、準備ができると、そのモードを指モードまたは他のモードに構成することができる。
いくつかの実現化例では、衝突モードは、ユーザが有する両手について異なるように構成され得る。たとえば、VR環境において両手がユーザの前にある場合、左手は、大きいターゲットおよび/または大きいタイル状オブジェクトを選択するかまたはそれらに手を振るように構成されてもよく、一方、右手は、精密な制御機構を選択するように構成されてもよく、手の視覚的により小さい部分または長くされた部分を含んでいてもよい。
いくつかの実現化例では、1つ以上の衝突モードが、ユーザに関連付けられた障害に対処するように構成され得る。たとえば、ユーザの人差し指の一部が欠けている場合、VRアプリケーション110は、他の3本の指を小さくすることによって欠けている部分を勘案して、人差し指が選択を提供すること、および他の3本の指が人差し指より先に仮想オブジェクトに遭遇しないことを保証することができる。同様の修正を、他の身体部位について、欠けている部分に基づいて行なうことができる。
いくつかの実現化例では、VRアプリケーション110は、ユーザ運動障害を勘案することができる。たとえば、ユーザが片腕の震えを患っている場合、VRアプリケーション110は、VR環境がそのような運動を検出して解釈する限り、ユーザ運動を減衰させることによって補うことができる。
いくつかの実現化例では、1つのVR環境において衝突モードの組合せを使用することができる。衝突モードの組合せは、VR環境内で小さい選択可能ターゲットと大きい選択可能ターゲットとの組合せを有することに基づき得る。衝突モードは、対話タイプごとに、もしくはそれに代えて、セッションごとに、ゲームごとに、コンテンツごとに、またはユーザごとに選択されてもよい。加えて、衝突モードは、ターゲットエリアに入る境界またはターゲットをトリガする境界についてユーザに警告するための特定の音を提供するように構成され得る。
図3Bは、HMDデバイス106の画面上でユーザ202が見ることができる画像300Bを示す図である。この例では、ユーザ202は、制御ウィンドウ312の(映画エリア314を選択することによって)映画を見ていたかもしれない。ある時点で、ユーザは、CAD製図活動に切り替えることを決定してもよく、製図エリア316(図3A)を選択することによってそうしてもよい。エリア316の選択に応答して、ユーザ202は、レンダリングされたウィンドウ324によって示されるようにユーザが自分の雇用者のために水ポンプ図面の下書きを始めていた、自分のVR製図プログラムに置かれてもよい。第2のレンダリングされたウィンドウ326が図示され、同様にVR環境内でユーザ202によって選択され、および/または動かされ得る。
図3Bも、図3Aと同様に、レンダリングされたキーボード310上のレンダリングされた手304および308によって、VR環境へのユーザ202の投影を図示する。一般に、画像300Bは、表示装置上に表示され得る情報と、レンダリングされたキーボード310を使用してコンテンツと対話するユーザ202のレンダリングとを含む。この例では、ユーザは、レンダリング324で示された図面を修正したいかもしれない。そうするために、ユーザは、たとえばレンダリングされた手308を用いてレンダリング324を選択して、図3Cに示すような手による図面設計を可能にするVR環境に自分を置くことができる。
図3Cは、選択可能な製図部品330を有するレンダリング324を含む。この例では、ユーザ202は、レンダリング324のオブジェクト334(側面図から示す)にベル継手332を追加したいかもしれない。そうするために、ユーザ202は、自分の仮想の手のレンダリング336を部品330に伸ばすことによって、ベル継手332を選択することができる。このように、ユーザは自分の手のレンダリング336を見ることができ、当該レンダリングは点線で描かれているかまたはかすんでいてもよく、一方、選択機構(たとえば、ターゲット/スパーク338での指先)は実線であってもよく、点灯していてもよく、または他の態様でどの身体部位が図面を選択しているかについての情報をユーザに視覚的に示していてもよい。ターゲット/スパーク338は、衝突ゾーン339内にあってもよい。衝突ゾーン339は、選択可能な部品330のすべて、または部品330の一部を表わしていてもよい。手全体が製図部品330における他の項目をうっかり選択するかもしれないため、VRアプリケーション110は、部品330における項目の指先での精密選択を可能にするための衝突モードを呼び出すことができる。
いくつかの実現化例では、ユーザの手が小さいターゲット(たとえば、メニュー、リスト、小さいオブジェクトなど)に近づくと、VRアプリケーション110は、ユーザの人差し指が小さいターゲットをトリガする唯一の衝突機構であるように、衝突モードを細かいまたは小さいターゲット衝突モードに動的に変更することができる。このように、VRアプリケーション110は、小さいターゲットを選択している人差し指の一部分を動的に修正してもよい。VRアプリケーション110は選択をより精密にするためにVR環境において人差し指を修正しているが、アプリケーション110は修正を実際に表示しなくてもよい。したがって、ユーザは、修正なしで指を見てもよい。
いくつかの実現化例では、衝突ゾーンは、他の衝突ゾーン内に入れ子にされ得る。これは、同じ仮想コンテンツのための複数の衝突モードを可能にし得る。たとえば、ユーザ336が衝突ゾーン343へと動く場合、システム100はその運動を検出して、部品選択の手/手のひら衝突モードを可能にしてもよい。ユーザが部品332を選択するために衝突ゾーン341に入る際、その部品を選択するための衝突モードがトリガされてもよく、これに応答して、システム100は、衝突ゾーン341に近接したことまたは入ったことを検出してもよく、衝突モードを手/手のひら衝突モードから指先衝突モードに変更することができる。同様に、ユーザ336が次に衝突ゾーン345の上方でホバーした場合、システム100は、衝突モードを指先衝突モードから手/手のひら衝突モードに変更することができる。衝突ゾーンは正方形または矩形で図示されているが、任意のサイズおよび形状の衝突ゾーンが可能である。一般に、衝突ゾーンは、仮想オブジェクト上またはその周りの体積(たとえば、球、正方形、矩形、多角形、もしくは何らかの他の2次元または3次元形状)であり得る。
いくつかの実現化例では、衝突モードは、経時的に2つ以上のモードの組合せになるように選択され得る。たとえば、衝突モードは、粗いモードで始まり、徐々に細かいモードに切り替わり得る。この徐々の切り替えは、ユーザがタスクを切り替えている場合、または異なる環境において歩き回っている場合といった、VR環境が変更される際に行なわれ得る。他の実現化例では、ある衝突モードから別のモードへの切り替えは、タスク、環境、選択機構などの変更時に瞬間的であってもよい。
いくつかの実現化例では、VRアプリケーション110は、ユーザがいつ特定の項目に触れたいかを検出することができ、この検出に基づいて衝突モードを切り替えることができる。たとえば、あるユーザについて眼球注視が検出され、眼球注視方向が、(ユーザが見ているところへのコンテキストにおいて)ユーザのアクションが何であるかを判断するための入力として使用され得る。VRアプリケーション110は、ユーザの検出された(意図された)アクションを使用することができ、どの衝突モードが適切な応答性を提供するかを判断することができる。
いくつかの実現化例では、切り替え可能な衝突モードを提供することは、情報の損失、もしくは間違いによりうっかりなされた確認または返答を防止するという利点を提供できる。すなわち、衝突モードを粗いモードから細かいモードに切り替えることは、ユーザがデータをうっかり削除したり、あまりにも多くの項目を選択したりすることなどを防止することができる。
いくつかの実現化例では、システム100は、衝突モードをオンまたはオフにするために使用され得るセンサおよび/またはソフトウェア制御機構を有するVR機器を含み得る。たとえば、HMDデバイス106は、利用可能な衝突モードのメニューを繰り返すためのボタンを含んでいてもよい。ユーザはまた、たとえばユーザがVR環境において対話したくない場合に、そのようなメニューを使用してすべての衝突モードをオフにすることができる。たとえば、ユーザが美術館にいて、美術館で利用可能なVRコンテンツにアクセスしている場合、ユーザは展示を誤って妨害したくないかもしれない。したがって、ユーザはVRコンテンツにアクセスできるものの、世界との衝突を防止するためにコンテンツと対話しないことを選択することができる。
いくつかの実現化例では、衝突モードは、音声制御、ジェスチャー、物理ボタン選択、またはそれらの任意の組合せを使用して選択され、または切換えられ得る。一例では、ユーザは、ある特定の衝突モードを起動または停止させるために、音声コマンドを呼び出してもよい。音声コマンドは、VR環境自体に関していてもよく、または、VR環境内でアクセスされた仮想コンテンツに関していてもよい。
いくつかの実現化例では、システム100は、特定の衝突モードを選択するために、ユーザ生体認証(たとえば、ストレスレベル、皮膚反応、指紋、心拍数、呼吸など)を測定することができる。たとえば、システム100は、ユーザが1組のターゲットに近づく際に躊躇しているかどうかを検出することができる。システム100は、検出に基づいて、ある衝突モードを示唆するかまたはある衝突モードに動的に切り替えることができる。すなわち、システム100は、ユーザがVR環境におけるより高い精度から利益を得るであろうと推論してもよく、そのため、システム100は、いくつかの衝突モードを制限しながら、他の衝突モードを自由に提供することができる。
いくつかの実現化例では、衝突モードは、ユーザについて、ユーザアクションの追跡された履歴に基づいて修正され得る。たとえば、システム100は、ユーザが映画の最中に一時停止を選択することを繰り返し試みたこと、および、そうするために、ユーザが、ターゲット間で躊躇しながら、間違って選択したターゲットを前後に動かしたことを検出できる。ユーザは巻き戻しターゲットを選択し、間違った選択を取消すために再生ターゲットを再び選択したかもしれない。この場合、システムは、ユーザの選択機構(すなわち、ユーザの指)のためのより細かい衝突モードを提供するために、衝突モードを変更することができる。
別の例では、ユーザはVR環境においてモバイルデバイスを使用して友達に電話をかけようとしたものの、代わりに、いとこに繰り返し電話をかけてモバイルデバイスを切った。システム100は、ユーザの指が経路を横断していること、または、VR機器がある特定のユーザについて較正されていないことを検出することができ、これに応答して、システムは、選択をユーザにとってより容易にするために、より細かい衝突モードに切り替えることができる。これは、VR環境および製品についてのユーザの認識を向上させるように機能できる。
いくつかの実現化例では、衝突モードは、VRセッション間に保存され得る。たとえば、ユーザは、ユーザが別のヘッドセットまたはHMDデバイスにおけるVRコンテンツにアクセスする場合に自分が慣れている同様の衝突モードで作業できるように、衝突モードを遠隔で保存されるように構成することができる。センサ機器設定およびソフトウェア設定も、同様のやり方でユーザとともに運ぶことができる。
いくつかの実現化例では、VRアプリケーション110は、ある特定のVR環境のために多数のターゲットおよび衝突モードを提供するように構成され得る。しかしながら、モードおよびターゲットのすべてを一度に提供することは、ユーザがVR環境を歩き回る際に、トリガに基づく多くのエラーをもたらし得る。したがって、VRアプリケーション110は、ユーザが歩いている際にユーザを検出することができ、不必要なトリガを防止するために、またはユーザの混乱を防止するために、特定の衝突モードまたはターゲットをオフにすることができる。たとえば、VR環境のフロアが多くのターゲットを含み、ユーザの足があるレベルのゲーム用の衝突機構として構成される場合、ユーザは知らずに歩き回って、フロア上のターゲットをトリガするかもしれない。VR環境は、低レベルのゲームでは特定のレベルになるまで手による対話を可能にするように構成されてもよく、次に、フロアにターゲットが提供されてもよい。VRアプリケーション110は、ユーザが遊んでいるレベルを判断することができ、そのレベルに基づいてターゲットおよび/または衝突モードを起動または停止させることができる。
いくつかの実現化例では、ユーザは、非VR環境においてコンピューティングデバイスと対話するのと同じやり方で(たとえば標準の典型的なやり方で)、VR環境においてコンピューティングデバイスと対話してもよい。たとえば、ユーザは、非VR環境においてあるアプリケーションを通常使用するように、VR環境においてコンピューティングデバイス上で同じアプリケーションを使用してもよい。
いくつかの実現化例では、コンピューティングデバイスはその全体がVR環境においてレンダリングされ得る。いくつかの実現化例では、コンピューティングデバイスのある局面がVR環境においてレンダリングされ得る。たとえば、コンピューティングデバイスのタッチスクリーンの接触面がVR環境においてレンダリングされてもよい。別の例では、コンピューティングデバイスの境界がVR環境においてレンダリングされてもよい。別の例では、コンピューティングデバイスのためのインターフェイス(たとえば入力制御機構)がVR環境においてレンダリングされてもよい。
図4は、VR環境においてコンテキスト依存衝突を提供するためのプロセス400の一実施形態を図解するフローチャートである。ブロック402で、VRアプリケーション110は、仮想環境において仮想ユーザについて入力を受信することができる。たとえば、アプリケーション110は、VR環境において追跡されているユーザによって行なわれた多数の運動を受信することができる。運動は、VRコンテンツがVR環境においてユーザに提供されることに応答して行なわれた手のジェスチャー、もしくは、腕または手の運動に基づいていてもよい。いくつかの実現化例では、運動は、ユーザがVR環境内で保持し、動かすことができるオブジェクトまたはレンダリングされたコンテンツに基づいていてもよい。
ブロック404で、VRアプリケーション110は、ユーザの運動に基づいて、仮想ユーザ(または仮想ユーザによって保持されたオブジェクト)が衝突ゾーンのしきい値距離内にいることを検出することができる。いくつかの実現化例では、任意の数のセンサと組合されたVRアプリケーション110は、ユーザの一部分が衝突ゾーンのしきい値距離内にあることを検出することができる。しきい値距離は、たとえば仮想オブジェクトから約1/2〜1インチで行なわれる、仮想オブジェクトの近傍の手のホバーを含み得る。たとえば、ユーザ202が、他の仮想オブジェクト上に積み重ねられるように構成されたある仮想オブジェクトへ自分の手を伸ばす場合、VRアプリケーション110は、ユーザがその仮想オブジェクトと衝突しそうであることを検出することができ、仮想オブジェクト上および/またはユーザ上のターゲットエリアをトリガすることによって応答することができる。そのように、ユーザは、自分の手のどの部分が選択器として使用されるか、および、仮想オブジェクトを選択するためにどの(ターゲット)エリアが使用されるかを視覚的に見ることができる。
ブロック406で、VRアプリケーション110は、仮想ユーザおよび/または衝突ゾーンのための衝突モードを選択するために、衝突処理を行なうことができる。たとえば、任意の数のセンサと組合されたVRアプリケーション110は、組合せにとって適切な衝突モードを選択するために、衝突しそうなユーザの一部分、仮想オブジェクト、および/または、物理環境もしくはVR環境を分析することができる。
ブロック408で、VRアプリケーション110は、選択された衝突モードに基づいて、仮想ユーザを動的に修正することができる。いくつかの実現化例では、仮想ユーザを動的に修正することは、仮想環境における入力の提供に対応して仮想ユーザの一部分を修正することを含み得る。いくつかの実現化例では、仮想ユーザを動的に修正することは、視覚応答、音声応答、または触覚応答のうちの少なくとも1つをユーザに提供することを含んでいてもよい。
いくつかの実現化例では、VRアプリケーション110はまた、動的に修正された仮想ユーザと整列するように衝突ゾーンを調節することを含み得る。たとえば、調節することは、入力を受信する衝突ゾーンにおいて多数の可視ターゲットを提供することを含んでいてもよい。複数の可視ターゲットは、仮想オブジェクトがある特定の衝突モードを有して構成されること、および/または当該衝突モードに関連付けられることに基づいて選択され、仮想オブジェクト上に提供されてもよい。いくつかの実現化例では、VRアプリケーション110はまた、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供することができる。コンテキスト依存衝突ゾーンは、衝突ゾーンに関連付けられたサイズに基づいて提供されてもよい。コンテキスト依存衝突ゾーンは、仮想環境における仮想オブジェクトに基づいて提供されてもよい。
いくつかの実現化例では、ユーザの一部分を修正することは、(i)ユーザ入力は物理ユーザの指の運動を含むこと、および、衝突ゾーンのしきい値距離内にあるユーザの一部分は1本以上の仮想の指を含むことを検出することと、(ii)衝突ゾーンへの1本以上の仮想の指の到達範囲を広げることとを含んでいてもよく、広げることは、仮想環境における1本以上の仮想の指の近傍に示された仮想オブジェクトと対話するように、仮想ユーザを適合させることを含む。いくつかの実現化例では、仮想ユーザを動的に修正することは、本開示全体にわたって説明されるように、視覚応答、音声応答、または触覚応答のうちの少なくとも1つをユーザに提供することを含む。
いくつかの実現化例では、方法400はまた、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供することを含んでいてもよい。衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、衝突モードは細かい衝突モードとして構成されてもよい。衝突ゾーンのコンテキストが対話型の手のジェスチャーを受信するように構成される場合、衝突モードは粗い衝突モードとして構成されてもよい。いくつかの実現化例では、コンテキスト依存衝突ゾーンは、衝突ゾーンに関連付けられたサイズに基づいて提供される。いくつかの実現化例では、コンテキスト依存衝突ゾーンは、仮想環境における少なくとも1つの仮想オブジェクトに関連付けられたサイズに基づいて提供される。
図5は、ここに説明される手法を用いて使用され得る汎用コンピュータデバイス500および汎用モバイルコンピュータデバイス550の例を示す。コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶装置506と、メモリ504および高速拡張ポート510に接続している高速インターフェイス508と、低速バス514および記憶装置506に接続している低速インターフェイス512とを含む。コンポーネント502、504、506、508、510、および512の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ502は、コンピューティングデバイス500内で実行される命令を処理可能であり、これらの命令は、GUIのためのグラフィック情報を、高速インターフェイス508に結合されたディスプレイ516などの外部入出力デバイス上に表示するために、メモリ504内または記憶装置506上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。加えて、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
メモリ504は、情報をコンピューティングデバイス500内に格納する。一実現化例では、メモリ504は1つまたは複数の揮発性メモリユニットである。別の実現化例では、メモリ504は1つまたは複数の不揮発性メモリユニットである。メモリ504はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
記憶装置506は、コンピューティングデバイス500のための大容量記憶を提供可能である。一実現化例では、記憶装置506は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラム製品が情報担体において有形に具体化され得る。コンピュータプログラム製品はまた、実行されると上述のような1つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ504、記憶装置506、またはプロセッサ502上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
高速コントローラ508はコンピューティングデバイス500のための帯域幅集約的な動作を管理し、一方、低速コントローラ512はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示に過ぎない。一実現化例では、高速コントローラ508は、メモリ504、ディスプレイ516に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、および、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート510に結合される。この実現化例では、低速コントローラ512は、記憶装置506および低速拡張ポート514に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
コンピューティングデバイス500は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ520として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム524の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ522などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス500からのコンポーネントは、デバイス550などのモバイルデバイス(図示せず)における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス500、550のうちの1つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス500、550で構成されてもよい。
コンピューティングデバイス550は、数あるコンポーネントの中でも特に、プロセッサ552と、メモリ564と、ディスプレイ554などの入出力デバイスと、通信インターフェイス566と、トランシーバ568とを含む。デバイス550にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント550、552、564、554、566、および568の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
プロセッサ552は、メモリ564に格納された命令を含む、コンピューティングデバイス550内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス550が実行するアプリケーション、およびデバイス550による無線通信の制御といった、デバイス550の他のコンポーネント同士の連携を提供してもよい。
プロセッサ552は、ディスプレイ554に結合された制御インターフェイス558およびディスプレイインターフェイス556を介してユーザと通信してもよい。ディスプレイ554は、たとえば、TFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)、またはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス556は、ディスプレイ554を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス558は、ユーザからコマンドを受信し、それらをプロセッサ552に送出するために変換してもよい。加えて、デバイス550と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス562がプロセッサ552と通信した状態で設けられてもよい。外部インターフェイス562は、たとえば、ある実現化例では有線通信を提供し、他の実現化例では無線通信を提供してもよく、複数のインターフェイスが使用されてもよい。
メモリ564は、情報をコンピューティングデバイス550内に格納する。メモリ564は、1つまたは複数のコンピュータ読取可能媒体、1つまたは複数の揮発性メモリユニット、もしくは、1つまたは複数の不揮発性メモリユニットの1つ以上として実現され得る。拡張メモリ574も設けられ、拡張インターフェイス572を介してデバイス550に接続されてもよく、拡張インターフェイス572は、たとえばSIMM(Single In Line Memory Module)カードインターフェイスを含んでいてもよい。そのような拡張メモリ574は、デバイス550に余分の格納スペースを提供してもよく、もしくは、デバイス550のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ574は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全な情報も含んでいてもよい。このため、たとえば、拡張メモリ574はデバイス550のためのセキュリティモジュールとして設けられてもよく、デバイス550の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でSIMMカード上に識別情報を乗せるといったように、安全なアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび/またはNVRAMメモリを含んでいてもよい。一実現化例では、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を行なう命令を含む。情報担体は、メモリ564、拡張メモリ574、またはプロセッサ552上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ568または外部インターフェイス562を通して受信され得る。
デバイス550は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス566を介して無線通信してもよい。通信インターフェイス566は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ568を介して生じてもよい。加えて、ブルートゥース、Wi−Fi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が生じてもよい。加えて、GPS(Global Positioning System:全地球測位システム)レシーバモジュール570が、追加のナビゲーション関連および位置関連無線データをデバイス550に提供してもよく、当該データは、デバイス550上で実行されるアプリケーションによって適宜使用されてもよい。
デバイス550はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック560を使用して、音声通信してもよい。音声コーデック560はまた、たとえばデバイス550のハンドセットにおいて、スピーカを介すなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでいてもよく、デバイス550上で動作するアプリケーションが生成する音も含んでいてもよい。
コンピューティングデバイス550は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話580として実現されてもよい。それはまた、スマートフォン582、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
ここに説明されたシステムおよび手法のさまざまな実現化例は、デジタル電子回路、集積回路、特別に設計されたASIC(application specific integrated circuit:特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現され得る。これらのさまざまな実現化例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実現化例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するとともに、これらにデータおよび命令を送信するように結合されてもよい。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知)は、プログラマブルプロセッサのための機械命令を含んでおり、高レベル手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実現され得る。ここに使用されるように、「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device:PLD))を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
ユーザとの対話を提供するために、ここに説明されたシステムおよび手法は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(cathode ray tube:陰極線管)またはLCD(liquid crystal display:液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現され得る。他の種類のデバイスを使用してユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。
ここに説明されたシステムおよび手法は、(たとえばデータサーバとしての)バックエンドコンポーネントを含む、またはミドルウェアコンポーネント(たとえばアプリケーションサーバ)を含む、またはフロントエンドコンポーネント(たとえば、ユーザがここに説明されたシステムおよび手法の実現化例と対話できるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ)を含む、もしくは、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(local area network:LAN)、ワイドエリアネットワーク(wide area network:WAN)、およびインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
いくつかの実現化例では、図5に示すコンピューティングデバイスは、仮想現実(HMDデバイス590)とインターフェイス接続するセンサを含み得る。たとえば、図5に示すコンピューティングデバイス550または他のコンピューティングデバイス上に含まれる1つ以上のセンサは、HMDデバイス590への入力を提供でき、または一般に、VR環境への入力を提供できる。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含み得るものの、それらに限定されない。コンピューティングデバイス550はこれらのセンサを使用して、VR環境におけるコンピューティングデバイスの絶対位置および/または検出された回転を判断可能であり、それは次に、VR環境への入力として使用され得る。たとえば、コンピューティングデバイス550は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてVR環境に組込まれてもよい。VR環境に組込まれた場合のコンピューティングデバイス/仮想オブジェクトのユーザによる位置付けは、ユーザが、VR環境において仮想オブジェクトをある態様で見るようにコンピューティングデバイスを位置付けることを可能にし得る。たとえば、仮想オブジェクトがレーザポインタを表わす場合、ユーザは、コンピューティングデバイスを、実際のレーザポインタであるかのように操作することができる。ユーザはコンピューティングデバイスをたとえば左右に、上下に、円形に動かして、レーザポインタを使用するのと同様の態様でデバイスを使用することができる。
いくつかの実現化例では、コンピューティングデバイス550上に含まれ、またはコンピューティングデバイス550に接続された1つ以上の入力デバイスは、VR環境への入力として使用され得る。入力デバイスは、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロホン、入力機能性を有するイヤホンまたは小型イヤホン、ゲーミングコントローラ、または他の接続可能な入力デバイスを含み得るものの、それらに限定されない。コンピューティングデバイスがVR環境に組込まれた場合にコンピューティングデバイス550上に含まれる入力デバイスと対話するユーザは、特定のアクションがVR環境で生じるようにすることができる。
いくつかの実現化例では、コンピューティングデバイス550のタッチスクリーンは、VR環境においてタッチパッドとしてレンダリングされ得る。ユーザは、コンピューティングデバイス550のタッチスクリーンと対話することができる。対話は、たとえばHMDデバイス590において、VR環境におけるレンダリングされたタッチパッド上の動きとしてレンダリングされる。レンダリングされた動きは、VR環境においてオブジェクトを制御することができる。
いくつかの実現化例では、コンピューティングデバイス550上に含まれる1つ以上の出力デバイスは、VR環境においてHMDデバイス590のユーザに出力および/またはフィードバックを提供することができる。出力およびフィードバックは、視覚、触覚、または音声によるものであり得る。出力および/またはフィードバックは、振動、1つ以上の照明またはストロボをオンオフすることもしくは点滅および/または明滅させること、アラームを鳴らすこと、チャイムを鳴らすこと、歌を演奏すること、および音声ファイルを演奏することを含み得るものの、それらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカを含み得るものの、それらに限定されない。
いくつかの実現化例では、コンピューティングデバイス550は、コンピュータによって生成された3D環境において別のオブジェクトとして現われてもよい。ユーザによるコンピューティングデバイス550との対話(たとえば、タッチスクリーンを回転させ、振動させること、タッチスクリーンに触れること、タッチスクリーンを横切って指をスワイプすること)は、VR環境におけるオブジェクトとの対話として解釈され得る。VR環境におけるレーザポインタの例では、コンピューティングデバイス550は、コンピュータによって生成された3D環境において仮想レーザポインタとして現われる。ユーザがコンピューティングデバイス550を操作する際、ユーザはVR環境においてレーザポインタの動きを見る。ユーザは、コンピューティングデバイス550上またはHMDデバイス590上で、VR環境におけるコンピューティングデバイス550との対話からフィードバックを受信する。
いくつかの実現化例では、コンピューティングデバイス550はタッチスクリーンを含んでいてもよい。たとえば、ユーザは、タッチスクリーン上で起こることをVR環境において起こることで模倣できる特定の態様で、タッチスクリーンと対話することができる。たとえば、ユーザは、タッチスクリーンに表示されたコンテンツをズームするために、ピンチタイプの動きを使用してもよい。タッチスクリーン上でのこのピンチタイプの動きにより、VR環境において提供された情報はズームされ得る。別の例では、コンピューティングデバイスは、コンピュータによって生成された3D環境において仮想の本としてレンダリングされてもよい。
いくつかの実現化例では、コンピューティングデバイスに加えて1つ以上の入力デバイス(たとえばマウス、キーボード)が、コンピュータによって生成された3D環境においてレンダリングされ得る。レンダリングされた入力デバイス(たとえば、レンダリングされたマウス、レンダリングされたキーボード)は、VR環境においてオブジェクトを制御するために、VR環境においてレンダリングされたとして使用され得る。
コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス550は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は、単なる例示であるよう意図されており、本文書に記載のおよび/または請求項に記載の本発明の実現化例を限定するよう意図されてはいない。
多くの実施形態を説明してきた。しかしながら、明細書の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。加えて、図面に示す論理フローは、所望の結果を達成するために、図示された特定の順序または順番を必要としない。加えて、説明されたフローに他のステップが提供されてもよく、または当該フローからステップが除去されてもよく、説明されたシステムに他のコンポーネントが追加されてもよく、または当該システムから除去されてもよい。したがって、他の実施形態は以下の請求項の範囲内にある。
以下に、本開示に従った、コンピュータにより実現される方法、システム、および非一時的なコンピュータ読取可能媒体のさらに別の例を説明する。
第1の例は、コンピュータにより実現される方法であって、仮想環境において仮想ユーザについて入力を受信するステップを含み、入力は、仮想環境にアクセスしているユーザによって行なわれた複数の運動に基づいており、当該方法はさらに、複数の運動に基づいて、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることを検出するステップを含み、衝突ゾーンは、少なくとも1つの仮想オブジェクトに関連付けられており、当該方法はさらに、少なくとも一部分および少なくとも1つの仮想オブジェクトに基づいて、仮想ユーザのための衝突モードを選択するステップと、選択された衝突モードに基づいて、仮想ユーザを動的に修正するステップとを含む、方法に関する。
第2の例は、修正された仮想ユーザと整列するように衝突ゾーンを調節するステップをさらに含み、調節するステップは、入力を受信する衝突ゾーンにおいて複数の可視ターゲットを提供するステップを含み、複数の可視ターゲットは、選択された衝突モードに関連付けられている、第1の例に基づいたコンピュータにより実現される方法に関する。
第1または第2の例に基づいた第3の例では、少なくとも1つの仮想オブジェクトの近傍のホバー運動を含み、しきい値距離は、少なくとも1つの仮想オブジェクトから約1/2〜約1インチを含む。
第4の例は、仮想環境はスクロール可能コンテンツを提供していると判断するステップと、手のひらベースの衝突モードを選択するステップと、コンテンツを、ユーザの手によって始動された手のひらジェスチャーの受信に応答してスクロールされるように構成するステップとをさらに含む、第1〜第3の例のうちの1つに基づいたコンピュータにより実現される方法に関する。
第1〜第4の例のうちの1つに基づいた第5の例では、仮想ユーザを動的に修正するステップは、仮想環境における入力の提供に対応して仮想ユーザの一部分を修正するステップを含む。
第5の例に基づいた第6の例では、一部分を修正するステップは、入力は指の運動を含むこと、および、一部分は1本以上の仮想の指を含むことを検出するステップと、衝突ゾーンへの1本以上の仮想の指の到達範囲を広げるステップとをさらに含み、広げるステップは、仮想環境における1本以上の仮想の指までのしきい値距離内に示された仮想オブジェクトと対話するように、仮想ユーザを適合させるステップを含む。
第1〜第6の例のうちの1つに基づいた第7の例では、仮想ユーザを動的に修正するステップは、視覚応答、音声応答、または触覚応答のうちの少なくとも1つをユーザに提供するステップを含む。
第8の例は、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供するステップをさらに含み、衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、衝突モードは細かい衝突モードとして構成され、衝突ゾーンのコンテキストが対話型の手のジェスチャーを受信するように構成される場合、衝突モードは粗い衝突モードとして構成される、第1〜第7の例のうちの1つに基づいたコンピュータにより実現される方法に関する。
第8の例に基づいた第9の例では、コンテキスト依存衝突ゾーンは、衝突ゾーンに関連付けられたサイズに基づいて提供される。
第8または第9の例に基づいた第10の例では、コンテキスト依存衝突ゾーンは、仮想環境における少なくとも1つの仮想オブジェクトに関連付けられたサイズに基づいて提供される。
第11の例は、システムであって、仮想現実環境において仮想現実体験を生成する電子コンピューティングデバイスを含み、電子コンピューティングデバイスは物理的空間内でポータブルであり、当該システムはさらに、電子コンピューティングデバイスと通信している複数のセンサを含み、センサは、物理的空間内の電子コンピューティングデバイスにアクセスしているユーザに関連付けられた動きを検出するように構成され、当該システムはさらに、少なくとも1つのプロセッサを含み、プロセッサは、仮想現実環境における仮想オブジェクトの近傍の運動を検出するように構成され、運動は物理ユーザによって行なわれ、運動は仮想環境において表わされ、物理ユーザの身体部位に関連付けられており、プロセッサはさらに、仮想オブジェクトが身体部位よりも小さい仮想オブジェクト上のエリアにおいて入力を受信するように構成されているという判断に応答して、身体部位を用いた選択能力を修正するための衝突モードを選択し、仮想環境における身体部位の表現上に、修正された選択能力を表示し、異なる仮想オブジェクトに関連付けられた運動を検出するまで、選択された衝突モードを維持するように構成される、システムに関する。
第11の例に基づいた第12の例では、仮想環境における身体部位の表現上に、修正された選択能力を表示することは、仮想オブジェクトと対話する機構を物理ユーザに示す表示を点灯させ、振動させ、動かし、大きくし、または小さくするように、身体部位を構成することを含む。
第11または第12の例に基づいた第13の例では、仮想オブジェクトはキーボードであり、身体部位は手であり、衝突モードは手の指先エリアを小さくするように選択され、身体部位の表現は各指の上の表示器を含む。
第11〜第13の例のうちの1つに基づいた第14の例では、衝突モードは、手全体モード、腕全体モード、指モード、全身モード、およびキーボードモードからなる群から選択され、各モードは、細かい構成と粗い構成とを含む。
第15の例は、命令を含む、非一時的なコンピュータ読取可能媒体であって、命令は、コンピュータシステムのプロセッサによって実行されると、コンピュータシステムに複数のステップを行なわせ、複数のステップは、仮想環境において仮想ユーザについて入力を受信するステップを含み、入力は、仮想環境にアクセスしているユーザによって行なわれた複数の運動に基づいており、複数のステップはさらに、複数の運動に基づいて、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることを検出するステップを含み、衝突ゾーンは、少なくとも1つの仮想オブジェクトに関連付けられ/当該仮想オブジェクト上に規定されており、複数のステップはさらに、仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることに基づいて、仮想ユーザのための衝突モードを選択するステップを含む、非一時的なコンピュータ読取可能媒体に関する。
第16の例は、修正された仮想ユーザと整列するように衝突ゾーンを調節するステップをさらに含み、調節するステップは、入力を受信する衝突ゾーンにおいて複数の可視ターゲットを提供するステップを含み、複数の可視ターゲットは、選択された衝突モードに関連付けられている、第15の例に基づいた非一時的なコンピュータ読取可能媒体に関する。
第15または第16の例に基づいた第17の例では、入力は少なくとも1つの仮想オブジェクトの近傍のホバー運動を含み、しきい値距離は、少なくとも1つの仮想オブジェクトから約1/2〜約1インチを含む。
第15〜第17の例のうちの1つに基づいた第18の例では、仮想ユーザを動的に修正するステップは、仮想環境における入力の提供に対応して仮想ユーザの一部分を修正するステップを含む。
第18の例に基づいた第19の例では、仮想ユーザを動的に修正するステップは、入力は指の運動を含むこと、および、一部分は1本以上の仮想の指を含むことを検出するステップと、衝突ゾーンへの1本以上の仮想の指の到達範囲を広げるステップとをさらに含み、広げるステップは、仮想環境における1本以上の仮想の指までのしきい値距離内に示された仮想オブジェクトと対話するように、仮想ユーザを適合させるステップを含む。
第20の例は、選択された衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供するステップをさらに含み、衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、衝突モードは細かい衝突モードとして構成され、衝突ゾーンのコンテキストが対話型の手のジェスチャーを受信するように構成される場合、衝突モードは粗い衝突モードとして構成される、第15〜第19の例のうちの1つに基づいた非一時的なコンピュータ読取可能媒体に関する。

Claims (15)

  1. コンピュータにより実現される方法であって、
    仮想環境において仮想ユーザについて入力を受信するステップを含み、前記入力は、前記仮想環境にアクセスしているユーザによって行なわれた複数の運動に基づいており、前記方法はさらに、
    前記複数の運動に基づいて、前記仮想ユーザの少なくとも一部分が衝突ゾーンのしきい値距離内にあることを検出するステップを含み、前記衝突ゾーンは、少なくとも1つの仮想オブジェクトに関連付けられており、前記方法はさらに、
    前記少なくとも一部分および前記少なくとも1つの仮想オブジェクトに基づいて、前記仮想ユーザのために複数の衝突モードの中から1つの衝突モードを選択するステップと、
    選択された前記衝突モードに基づいて、前記仮想ユーザを動的に修正するステップとを含み、
    前記複数の衝突モードの各々は、
    前記衝突ゾーンに対する前記仮想ユーザの位置を入力するための前記ユーザの身体部位または前記ユーザによって操作される機器を定める、方法。
  2. 修正された前記仮想ユーザと整列するように前記衝突ゾーンを調節するステップをさらに含み、前記調節するステップは、前記入力を受信する前記衝突ゾーンにおいて複数の可視ターゲットを提供するステップを含み、前記複数の可視ターゲットは、選択された前記衝突モードに関連付けられている、請求項1に記載の方法。
  3. 前記入力は、前記少なくとも1つの仮想オブジェクトの近傍のホバー運動を含み、前記しきい値距離は、前記少なくとも1つの仮想オブジェクトから約1/2〜約1インチを含む、請求項1または2に記載の方法。
  4. 前記仮想環境はスクロール可能コンテンツを提供していると判断するステップと、
    手のひらベースの衝突モードを選択するステップと、
    前記コンテンツを、前記ユーザの手によって始動された手のひらジェスチャーの受信に応答してスクロールされるように構成するステップとをさらに含む、請求項1〜3のいずれかに記載の方法。
  5. 前記仮想ユーザを動的に修正するステップは、前記仮想環境における入力の提供に対応して前記仮想ユーザの一部分を修正するステップを含む、請求項1〜4のいずれかに記載の方法。
  6. 前記一部分を修正するステップは、
    前記入力は指の運動を含むこと、および、前記一部分は1本以上の仮想の指を含むことを検出するステップと、
    前記衝突ゾーンへの前記1本以上の仮想の指の到達範囲を広げるステップとをさらに含み、前記広げるステップは、前記仮想環境における前記1本以上の仮想の指までのしきい値距離内に示された仮想オブジェクトと対話するように、前記仮想ユーザを適合させるステップを含む、請求項5に記載の方法。
  7. 前記仮想ユーザを動的に修正するステップは、視覚応答を前記ユーザに提供するステップをさらに含む、請求項1〜6のいずれかに記載の方法。
  8. 選択された前記衝突モードに少なくとも部分的に基づいて、少なくとも1つのコンテキスト依存衝突ゾーンを提供するステップをさらに含み、
    前記衝突ゾーンのコンテキストが指のジェスチャーを受信するように構成される場合、前記衝突モードは細かい衝突モードとして構成され、
    前記衝突ゾーンの前記コンテキストが対話型の手のジェスチャーを受信するように構成される場合、前記衝突モードは粗い衝突モードとして構成される、請求項1〜7のいずれかに記載の方法。
  9. 前記コンテキスト依存衝突ゾーンは、前記衝突ゾーンに関連付けられたサイズに基づいて提供される、請求項8に記載の方法。
  10. 前記コンテキスト依存衝突ゾーンは、前記仮想環境における前記少なくとも1つの仮想オブジェクトに関連付けられたサイズに基づいて提供される、請求項8に記載の方法。
  11. システムであって、
    想環境において仮想現実体験を生成する電子コンピューティングデバイスを含み、前記電子コンピューティングデバイスは物理的空間内でポータブルであり、前記システムはさらに、
    前記電子コンピューティングデバイスと通信している複数のセンサを含み、前記センサは、前記物理的空間内の前記電子コンピューティングデバイスにアクセスしているユーザに関連付けられた動きを検出するように構成され、前記システムはさらに、
    少なくとも1つのプロセッサを含み、前記プロセッサは、
    前記仮想環境における運動を検出するように構成され、前記運動は物理ユーザによって行なわれ、前記運動は前記仮想環境において表わされ、前記物理ユーザの身体部位に関連付けられており、前記プロセッサはさらに、
    仮想オブジェクトが前記身体部位よりも小さい前記仮想オブジェクト上のエリアにおいて入力を受信するように構成されているという判断に応答して、前記身体部位を用いた選択能力を修正するために複数の衝突モードの中から1つの衝突モードを選択し、
    前記仮想環境における前記身体部位の表現上に、修正された前記選択能力を表示し、
    異なる仮想オブジェクトに関連付けられた運動を検出するまで、選択された前記衝突モードを維持するように構成され
    前記複数の衝突モードの各々は、
    衝突ゾーンに対する仮想ユーザの位置を入力するための前記物理ユーザの身体部位または前記物理ユーザによって操作される機器を定める、システム。
  12. 前記仮想環境における前記身体部位の表現上に、修正された前記選択能力を表示することは、前記仮想オブジェクトと対話する機構を前記物理ユーザに示す表示を点灯させ、振動させ、動かし、大きくし、または小さくするように、前記身体部位を構成することを含む、請求項11に記載のシステム。
  13. 前記仮想オブジェクトはキーボードであり、前記身体部位は手であり、前記衝突モードは前記手の指先エリアを小さくするように選択され、前記身体部位の前記表現は各指の上の表示器を含む、請求項11または12に記載のシステム。
  14. 前記衝突モードは、手全体モード、腕全体モード、指モード、全身モード、およびキーボードモードからなる群から選択され、各モードは、細かい構成と粗い構成とを含む、請求項11〜13のいずれかに記載のシステム。
  15. 請求項1〜10のいずれかに記載の方法をコンピュータに実行させる、プログラム。
JP2017556685A 2015-08-04 2016-08-04 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力 Active JP6676071B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562200825P 2015-08-04 2015-08-04
US62/200,825 2015-08-04
PCT/US2016/045568 WO2017024142A1 (en) 2015-08-04 2016-08-04 Input via context sensitive collisions of hands with objects in virtual reality

Publications (3)

Publication Number Publication Date
JP2018522310A JP2018522310A (ja) 2018-08-09
JP2018522310A5 JP2018522310A5 (ja) 2018-09-20
JP6676071B2 true JP6676071B2 (ja) 2020-04-08

Family

ID=56686949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017556685A Active JP6676071B2 (ja) 2015-08-04 2016-08-04 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力

Country Status (6)

Country Link
US (1) US10635161B2 (ja)
EP (1) EP3332314B1 (ja)
JP (1) JP6676071B2 (ja)
KR (1) KR102105637B1 (ja)
CN (1) CN107533373B (ja)
WO (1) WO2017024142A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847079B2 (en) * 2016-05-10 2017-12-19 Google Llc Methods and apparatus to use predicted actions in virtual reality environments
WO2017196928A1 (en) 2016-05-10 2017-11-16 Google Llc Volumetric virtual reality keyboard methods, user interface, and interactions
CN107977071B (zh) * 2016-10-24 2020-02-28 中国移动通信有限公司研究院 一种适用于空间系统的操作方法及装置
KR102369905B1 (ko) * 2016-10-31 2022-03-03 주식회사 테그웨이 피드백 디바이스 및 이를 이용하는 열적 피드백 제공 방법
CN107008006A (zh) * 2017-04-14 2017-08-04 苏州蜗牛数字科技股份有限公司 一种在vr中物体触碰的方法
CN107172136B (zh) * 2017-05-04 2018-07-03 腾讯科技(深圳)有限公司 体素数据的同步方法和装置
US11054894B2 (en) 2017-05-05 2021-07-06 Microsoft Technology Licensing, Llc Integrated mixed-input system
JP2019008623A (ja) * 2017-06-27 2019-01-17 キヤノン株式会社 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
US10895966B2 (en) 2017-06-30 2021-01-19 Microsoft Technology Licensing, Llc Selection using a multi-device mixed interactivity system
US11023109B2 (en) 2017-06-30 2021-06-01 Microsoft Techniogy Licensing, LLC Annotation using a multi-device mixed interactivity system
US10782793B2 (en) 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
JP7005224B2 (ja) * 2017-08-22 2022-01-21 キヤノン株式会社 情報処理装置、システム、画像処理方法、コンピュータプログラム、及び記憶媒体
US20190066385A1 (en) * 2017-08-31 2019-02-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
KR101990373B1 (ko) 2017-09-29 2019-06-20 클릭트 주식회사 가상현실 영상 제공 방법 및 이를 이용한 프로그램
CN108536288A (zh) * 2018-03-27 2018-09-14 网易(杭州)网络有限公司 虚拟现实中交互操作的处理方法和装置
US10877554B2 (en) 2018-04-19 2020-12-29 Samsung Electronics Co., Ltd. High efficiency input apparatus and method for virtual reality and augmented reality
CN108563335B (zh) * 2018-04-24 2021-03-23 网易(杭州)网络有限公司 虚拟现实交互方法、装置、存储介质及电子设备
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
DE102018207987A1 (de) * 2018-05-22 2019-11-28 Siemens Aktiengesellschaft Verfahren und System zum Darstellen eines 3D-Modells
US11733824B2 (en) * 2018-06-22 2023-08-22 Apple Inc. User interaction interpreter
CN109085931A (zh) * 2018-07-25 2018-12-25 南京禹步信息科技有限公司 一种虚实结合的交互式输入方法、装置和存储介质
CN109542279B (zh) * 2018-10-30 2022-08-26 维沃移动通信有限公司 一种终端设备控制方法及终端设备
CN109683876B (zh) * 2018-12-10 2022-06-24 上海精密计量测试研究所 一种基于Unity3D的行为树设计方法
CN109782909B (zh) * 2018-12-29 2020-10-30 北京诺亦腾科技有限公司 一种vr交互设备与vr场景的交互方法及装置
CN109710077B (zh) * 2018-12-30 2022-05-06 郑州畅想高科股份有限公司 基于vr的虚拟物体碰撞判断方法、装置及机车实训系统
WO2021054589A1 (en) 2019-09-18 2021-03-25 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11550397B1 (en) * 2019-10-10 2023-01-10 Meta Platforms, Inc. Systems and methods for simulating a sensation of expending effort in a virtual environment
US11093005B1 (en) * 2020-05-05 2021-08-17 International Business Machines Corporation Virtual reality rollable display device
US11249314B1 (en) * 2020-08-04 2022-02-15 Htc Corporation Method for switching input devices, head-mounted display and computer readable storage medium
EP4002064A1 (en) * 2020-11-18 2022-05-25 XRSpace CO., LTD. Method and system for showing a cursor for user interaction on a display device
US11151774B1 (en) * 2020-11-20 2021-10-19 At&T Intellectual Property I, L.P. Adaptive immersive media rendering pipeline
US20230135974A1 (en) * 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
US11579747B1 (en) 2022-03-14 2023-02-14 Snap Inc. 3D user interface depth forgiveness
WO2024064935A1 (en) * 2022-09-23 2024-03-28 Apple Inc. Methods for depth conflict mitigation in a three-dimensional environment

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69434851T2 (de) * 1993-08-12 2007-04-19 Seiko Epson Corp. Am Kopf montierte Bildanzeigevorrichtung und diese enthaltendes Datenverarbeitungsgerät
JPH10247252A (ja) * 1997-03-04 1998-09-14 Sharp Corp 衝突判定処理装置
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
EP2188737A4 (en) 2007-09-14 2011-05-18 Intellectual Ventures Holding 67 Llc PROCESSING BREAKFAST USER INTERACTIONS
US8165345B2 (en) * 2007-12-07 2012-04-24 Tom Chau Method, system, and computer program for detecting and characterizing motion
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US20100053151A1 (en) * 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
CN101782815A (zh) * 2009-01-16 2010-07-21 原相科技股份有限公司 具有虚拟的资料输入装置的电子装置
US8487871B2 (en) * 2009-06-01 2013-07-16 Microsoft Corporation Virtual desktop coordinate transformation
US8721444B2 (en) * 2009-07-21 2014-05-13 Sony Corporation Game device for performing operation object control and non-operation object control
US20110107216A1 (en) * 2009-11-03 2011-05-05 Qualcomm Incorporated Gesture-based user interface
KR101114750B1 (ko) * 2010-01-29 2012-03-05 주식회사 팬택 다차원 영상을 이용한 사용자 인터페이스 장치
US20150169119A1 (en) * 2010-02-17 2015-06-18 Google Inc. Major-Axis Pinch Navigation In A Three-Dimensional Environment On A Mobile Device
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
WO2012125990A2 (en) * 2011-03-17 2012-09-20 Laubach Kevin Input device user interface enhancements
US9122311B2 (en) * 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US8872853B2 (en) 2011-12-01 2014-10-28 Microsoft Corporation Virtual light in augmented reality
CN104272218B (zh) * 2012-06-30 2017-03-08 惠普发展公司,有限责任合伙企业 基于联合数据的虚拟手
US9552673B2 (en) * 2012-10-17 2017-01-24 Microsoft Technology Licensing, Llc Grasping virtual objects in augmented reality
US9589538B2 (en) * 2012-10-17 2017-03-07 Perceptive Pixel, Inc. Controlling virtual objects
EP2951811A4 (en) * 2013-01-03 2016-08-17 Meta Co DIGITAL EYES FOR EXTRAMISSIVE SPATIAL IMAGING, PROCESSES AND SYSTEMS FOR VIRTUAL OR ENLARGED VISIBILITY, MANIPULATION, PRODUCTION OR INTERACTION WITH OBJECTS, MATERIALS, OR OTHER UNITS
JP6018509B2 (ja) 2013-01-16 2016-11-02 アズビル株式会社 情報表示装置、方法、およびプログラム
US9202313B2 (en) * 2013-01-21 2015-12-01 Microsoft Technology Licensing, Llc Virtual interaction with image projection
JP6195893B2 (ja) * 2013-02-19 2017-09-13 ミラマ サービス インク 形状認識装置、形状認識プログラム、および形状認識方法
US10268276B2 (en) * 2013-03-15 2019-04-23 Eyecam, LLC Autonomous computing and telecommunications head-up displays glasses
KR101411569B1 (ko) * 2013-06-05 2014-06-27 고려대학교 산학협력단 가상 키보드를 이용한 정보 처리 장치 및 방법
US9286725B2 (en) * 2013-11-14 2016-03-15 Nintendo Co., Ltd. Visually convincing depiction of object interactions in augmented reality images
US9740296B2 (en) * 2013-12-16 2017-08-22 Leap Motion, Inc. User-defined virtual interaction space and manipulation of virtual cameras in the interaction space
US9799159B2 (en) * 2014-02-14 2017-10-24 Igt Canada Solutions Ulc Object detection and interaction for gaming systems
CN106233227B (zh) * 2014-03-14 2020-04-28 索尼互动娱乐股份有限公司 具有体积感测的游戏装置
JP6341755B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 情報処理装置、方法及びプログラム並びに記録媒体
US9766806B2 (en) * 2014-07-15 2017-09-19 Microsoft Technology Licensing, Llc Holographic keyboard display
US9619043B2 (en) * 2014-11-26 2017-04-11 At&T Intellectual Property I, L.P. Gesture multi-function on a physical keyboard
US20160189427A1 (en) * 2014-12-31 2016-06-30 Immersion Corporation Systems and methods for generating haptically enhanced objects for augmented and virtual reality applications
GB2534386A (en) * 2015-01-21 2016-07-27 Kong Liang Smart wearable input apparatus
WO2016115976A1 (en) * 2015-01-21 2016-07-28 Kong Liang Smart wearable input apparatus
JP6354653B2 (ja) * 2015-04-25 2018-07-11 京セラドキュメントソリューションズ株式会社 拡張現実操作システムおよび拡張現実操作プログラム

Also Published As

Publication number Publication date
JP2018522310A (ja) 2018-08-09
WO2017024142A1 (en) 2017-02-09
KR102105637B1 (ko) 2020-06-26
EP3332314B1 (en) 2024-04-10
EP3332314A1 (en) 2018-06-13
CN107533373A (zh) 2018-01-02
CN107533373B (zh) 2020-09-08
KR20170130586A (ko) 2017-11-28
US20170038830A1 (en) 2017-02-09
US10635161B2 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6676071B2 (ja) 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力
US10545584B2 (en) Virtual/augmented reality input device
KR102390425B1 (ko) 증강 및/또는 가상 현실 환경에서의 제스처들로 가상 표기면들 생성을 위한 시스템 및 방법
US10802711B2 (en) Volumetric virtual reality keyboard methods, user interface, and interactions
EP3488321B1 (en) Detecting user range of motion for virtual reality user interfaces
CN109891368B (zh) 活动对象在增强和/或虚拟现实环境中的切换
EP3332311B1 (en) Hover behavior for gaze interactions in virtual reality
US10509487B2 (en) Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment
CN108780356B (zh) 控制或渲染共存虚拟环境的方法及相关存储介质
US20210011556A1 (en) Virtual user interface using a peripheral device in artificial reality environments
CN109074154B (zh) 增强和/或虚拟现实中的悬停触摸输入补偿
US11768535B1 (en) Presenting computer-generated content based on extremity tracking
JP2024512246A (ja) 仮想自動照準設定
KR20220119921A (ko) 사용자 인터페이스 제공 방법 및 모바일 단말
CN117590931A (zh) 人工现实环境中的手势移动

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190409

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200311

R150 Certificate of patent or registration of utility model

Ref document number: 6676071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250