JP2018026105A - 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム - Google Patents
情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム Download PDFInfo
- Publication number
- JP2018026105A JP2018026105A JP2017091060A JP2017091060A JP2018026105A JP 2018026105 A JP2018026105 A JP 2018026105A JP 2017091060 A JP2017091060 A JP 2017091060A JP 2017091060 A JP2017091060 A JP 2017091060A JP 2018026105 A JP2018026105 A JP 2018026105A
- Authority
- JP
- Japan
- Prior art keywords
- target object
- movement
- user
- operation object
- hmd
- 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.)
- Pending
Links
Abstract
【課題】ユーザが仮想オブジェクトと相互作用する仮想体験を改善し得る。【解決手段】コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、ユーザの身体の第1部分の動きに応じて第1操作オブジェクトを動かすステップと、ユーザの身体の第2部分の動きに応じて第2操作オブジェクトを動かすステップと、前記第1部分の動きに応じて対象オブジェクトを選択するステップと、前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、を含む。【選択図】図12
Description
本開示は、情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。
非特許文献1は、現実空間におけるユーザの手の状態(位置や傾き等)に応じて、仮想現実(Virtual Reality:VR)空間における手オブジェクトの状態を変化させると共に、当該手オブジェクトを操作することで仮想空間内の所定のオブジェクトに所定の作用を与えることを開示している。
"Toybox Demo for Oculus Touch"、[online]、平成27年10月13日、Oculus、[平成28年8月6日検索]、インターネット<https://www.youtube.com/watch?v=iFEMiyGMa58>
非特許文献1では、手オブジェクトによって所定のオブジェクトを操作する上で、改善の余地がある。例えば、ユーザが現実空間における実際の物体を操作する上では体験できないような仮想体験をユーザに提供する上で改善の余地があり、ユーザが所望のタイミングで所望の仮想オブジェクトを操作可能とする必要がある。これにより、VR空間の他、拡張現実(Augmented Reality:AR)空間、複合現実(Mixed Reality:MR)空間といった、ユーザが様々な環境において仮想オブジェクトと相互作用する仮想体験を改善し得る。
本開示は、仮想体験を改善し得る情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。
本開示が示す一態様によれば、ヘッドマウントディスプレイと、前記ヘッドマウントディスプレイの位置とユーザの頭部以外の身体の第1部分と第2部分の位置を検出するように構成された位置センサとを備えたシステムにおける情報処理方法であって、
(a)仮想カメラと、第1操作オブジェクトと、第2操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記ヘッドマウントディスプレイの動きに応じて、前記仮想カメラを動かすステップと、
(c)前記第1部分の動きに応じて、前記第1操作オブジェクトを動かすステップと、
(d)前記第2部分の動きに応じて、前記第2操作オブジェクトを動かすステップと、
(e)前記第1部分の動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、を含む、情報処理方法。が提供される。
(a)仮想カメラと、第1操作オブジェクトと、第2操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記ヘッドマウントディスプレイの動きに応じて、前記仮想カメラを動かすステップと、
(c)前記第1部分の動きに応じて、前記第1操作オブジェクトを動かすステップと、
(d)前記第2部分の動きに応じて、前記第2操作オブジェクトを動かすステップと、
(e)前記第1部分の動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、を含む、情報処理方法。が提供される。
本開示によれば、仮想体験を改善し得る情報処理方法、及び、当該情報処理方法をコンピュータに実現させるためのプログラムを提供することができる。
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(項目1)
ヘッドマウントディスプレイと、前記ヘッドマウントディスプレイの位置とユーザの頭部以外の身体の第1部分と第2部分の位置を検出するように構成された位置センサとを備えたシステムにおける情報処理方法であって、
(a)仮想カメラと、第1操作オブジェクトと、第2操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記ヘッドマウントディスプレイの動きに応じて、前記仮想カメラを動かすステップと、
(c)前記第1部分の動きに応じて、前記第1操作オブジェクトを動かすステップと、
(d)前記第2部分の動きに応じて、前記第2操作オブジェクトを動かすステップと、
(e)前記第1部分の動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
を含む、情報処理方法。
本項目の情報処理方法によれば、第1操作オブジェクトを動かして対象オブジェクトを選択し、第2操作オブジェクトを動かすことによって対象オブジェクトを変形することができるので、ユーザが対象オブジェクトを意のままに操ることができる仮想体験が提供され得る。
(項目2)
(e)において、前記第1操作オブジェクトと前記対象オブジェクトの接触によって、前記対象オブジェクトが選択され、
(f)において、前記第2操作オブジェクトと前記対象オブジェクトが接触した後に、前記第2操作オブジェクトが移動した方向に基づいて、前記対象オブジェクトを変形させる、項目1の方法。
これにより、第2操作オブジェクトの動きに基づいて容易に対象オブジェクトを変形させることができ、ユーザが対象オブジェクトを意のままに操ることができる仮想体験が提供され得る。
(項目3)
前記対象オブジェクトは前記仮想空間における座標情報を含み、
前記対象オブジェクトの座標情報は、前記第2操作オブジェクトが移動した方向に基づいて更新される、項目2の方法。
これにより、対象オブジェクトの変形により、対象オブジェクトと第1操作オブジェクトの位置関係が不自然になることを防止できる。
(項目4)
前記第2操作オブジェクトが所定方向に所定距離だけ移動した場合、前記座標情報は、所定方向において前記所定距離の2分の1だけ移動するように変更される、項目3の方法。
これにより、対象オブジェクトの変形により、対象オブジェクトと第1操作オブジェクトの位置関係が不自然になることを防止できる。
(項目5)
(e)において、前記対象オブジェクトが選択されると、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向を示す方向表示を、前記対象オブジェクトに関連付けて表示させる、項目1〜4のいずれかの方法。
これにより、対象オブジェクトの変形ルールを明確にユーザに提示し得る。
(項目6)
(f)において、前記第2操作オブジェクトの動きを検知することにより、前記方向表示を消去させる、項目5の方法。
これにより、方向表示を表示させる時間を減らすことができ、方向表示がユーザの仮想体験を妨げることを防止し得る。
(項目7)
前記仮想カメラは、前記ヘッドマウントディスプレイの動きに応じて移動する視野座標系を定義し、前記視野座標系は上下方向と、水平方向と、奥行き方向を含み、
(e)において、前記対象オブジェクトが選択された時点における、前記対象オブジェクトの上方向および/または下方向、奥行き方向および/または手前方向、前記水平方向のうち前記対象オブジェクトにおける前記第1操作オブジェクトによって選択されていない方向、のうち少なくとも1つが、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向として特定される、項目1〜6のいずれかの方法。
これにより、対象オブジェクトの変形方向をユーザが操作しやすい次元に限定することができ、ユーザの仮想体験を損なうことなくコンピュータによる処理負荷を低減させることができる。
(項目8)
前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向が特定された後に、前記第1操作オブジェクトが移動されることによって前記対象オブジェクトの向きが変化したとしても、前記変形方向を変化させない、項目7の方法。
これにより、ユーザが所定の変形方向に対象オブジェクトを変形させるために、当該所定の変形方向を視認しやすいように対象オブジェクトの向きを変更したような場合にも変形方向を変更しないことにより、ユーザに一貫性のある操作感を提供し得る。
(項目9)
項目1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
本開示が示す実施形態の概要を説明する。
(項目1)
ヘッドマウントディスプレイと、前記ヘッドマウントディスプレイの位置とユーザの頭部以外の身体の第1部分と第2部分の位置を検出するように構成された位置センサとを備えたシステムにおける情報処理方法であって、
(a)仮想カメラと、第1操作オブジェクトと、第2操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記ヘッドマウントディスプレイの動きに応じて、前記仮想カメラを動かすステップと、
(c)前記第1部分の動きに応じて、前記第1操作オブジェクトを動かすステップと、
(d)前記第2部分の動きに応じて、前記第2操作オブジェクトを動かすステップと、
(e)前記第1部分の動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
を含む、情報処理方法。
本項目の情報処理方法によれば、第1操作オブジェクトを動かして対象オブジェクトを選択し、第2操作オブジェクトを動かすことによって対象オブジェクトを変形することができるので、ユーザが対象オブジェクトを意のままに操ることができる仮想体験が提供され得る。
(項目2)
(e)において、前記第1操作オブジェクトと前記対象オブジェクトの接触によって、前記対象オブジェクトが選択され、
(f)において、前記第2操作オブジェクトと前記対象オブジェクトが接触した後に、前記第2操作オブジェクトが移動した方向に基づいて、前記対象オブジェクトを変形させる、項目1の方法。
これにより、第2操作オブジェクトの動きに基づいて容易に対象オブジェクトを変形させることができ、ユーザが対象オブジェクトを意のままに操ることができる仮想体験が提供され得る。
(項目3)
前記対象オブジェクトは前記仮想空間における座標情報を含み、
前記対象オブジェクトの座標情報は、前記第2操作オブジェクトが移動した方向に基づいて更新される、項目2の方法。
これにより、対象オブジェクトの変形により、対象オブジェクトと第1操作オブジェクトの位置関係が不自然になることを防止できる。
(項目4)
前記第2操作オブジェクトが所定方向に所定距離だけ移動した場合、前記座標情報は、所定方向において前記所定距離の2分の1だけ移動するように変更される、項目3の方法。
これにより、対象オブジェクトの変形により、対象オブジェクトと第1操作オブジェクトの位置関係が不自然になることを防止できる。
(項目5)
(e)において、前記対象オブジェクトが選択されると、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向を示す方向表示を、前記対象オブジェクトに関連付けて表示させる、項目1〜4のいずれかの方法。
これにより、対象オブジェクトの変形ルールを明確にユーザに提示し得る。
(項目6)
(f)において、前記第2操作オブジェクトの動きを検知することにより、前記方向表示を消去させる、項目5の方法。
これにより、方向表示を表示させる時間を減らすことができ、方向表示がユーザの仮想体験を妨げることを防止し得る。
(項目7)
前記仮想カメラは、前記ヘッドマウントディスプレイの動きに応じて移動する視野座標系を定義し、前記視野座標系は上下方向と、水平方向と、奥行き方向を含み、
(e)において、前記対象オブジェクトが選択された時点における、前記対象オブジェクトの上方向および/または下方向、奥行き方向および/または手前方向、前記水平方向のうち前記対象オブジェクトにおける前記第1操作オブジェクトによって選択されていない方向、のうち少なくとも1つが、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向として特定される、項目1〜6のいずれかの方法。
これにより、対象オブジェクトの変形方向をユーザが操作しやすい次元に限定することができ、ユーザの仮想体験を損なうことなくコンピュータによる処理負荷を低減させることができる。
(項目8)
前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向が特定された後に、前記第1操作オブジェクトが移動されることによって前記対象オブジェクトの向きが変化したとしても、前記変形方向を変化させない、項目7の方法。
これにより、ユーザが所定の変形方向に対象オブジェクトを変形させるために、当該所定の変形方向を視認しやすいように対象オブジェクトの向きを変更したような場合にも変形方向を変更しないことにより、ユーザに一貫性のある操作感を提供し得る。
(項目9)
項目1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
最初に、図1を参照してヘッドマウントディスプレイ(HMD)システム1の構成について説明する。図1は、HMDシステム1を示す概略図である。図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、制御装置120と、外部コントローラ320とを備える。
HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備える。表示部112は、HMD110を装着したユーザUの視界(視野)を覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像を見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用の表示部とユーザUの右目に画像を提供するように構成された右目用の表示部から構成されてもよい。また、HMD110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、HMD110に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
注視センサ140は、ユーザUの視線方向を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた複数の検知点304(図4参照)の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
制御装置120は、HMDセンサ114や位置センサ130から取得された情報に基づいて、HMD110の位置や向きといった動き情報を取得し、当該取得された動き情報に基づいて、仮想空間における仮想視点(仮想カメラ)の位置や向きと、現実空間におけるHMD110を装着したユーザUの位置や向きを正確に対応付けることができる。さらに、制御装置120は、位置センサ130から取得された情報に基づいて、外部コントローラ320の動き情報を取得し、当該取得された動き情報に基づいて、仮想空間内に表示される手指オブジェクト(後述する)の位置や向きと、現実空間における外部コントローラ320とHMD110との間の、位置や向きの相対関係を正確に対応付けることができる。なお、外部コントローラ320の動き情報は、HMDセンサ114と同様に、外部コントローラ320に搭載された地磁気センサ、加速度センサ、傾きセンサ等であってもよい。
制御装置120は、注視センサ140から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの視線方向を特定することができる。ここで、ユーザUの視線方向は、ユーザUの両目の視線方向であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
図2を参照して、HMD110の位置や向きに関する情報を取得する方法について説明する。図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や向きに関する情報は、位置センサ130及び/又はHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130及び/又はHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想視点からの視軸を定義するための角度情報を決定する。
図3を参照して、制御装置120のハードウェア構成について説明する。図3は、制御装置120のハードウェア構成を示す図である。制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。
制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)及び/又はGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム(後述する)をRAM上に展開し、RAMとの協働で当該プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、メモリや記憶部123に格納された所定のアプリケーションプログラム(ゲームプログラムやインターフェースプログラム等を含む。)を実行することで、HMD110の表示部112に仮想空間(視野画像)を表示する。これにより、ユーザUは、表示部112に表示された仮想空間に没入することができる。
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザUの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320とのそれぞれと無線接続されていてもよい。
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
図4を参照して外部コントローラ320の具体的構成の一例について説明する。外部コントローラ320は、ユーザUの身体の一部(頭部以外の部位であり、本実施形態においてはユーザUの手)の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUの右手(身体の第1部分)によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手(身体の第2部分)によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する。コントローラ320Rは、ユーザUの右手の位置や右手の手指の動きを示す装置である。また、コントローラ320Rの動きに応じて仮想空間内に存在する右手オブジェクト400R(図9参照)が移動する。コントローラ320Lは、ユーザUの左手の位置や左手の手指の動きを示す装置である。また、コントローラ320Lの動きに応じて仮想空間内に存在する左手オブジェクト400L(図9参照)が移動する。コントローラ320Rとコントローラ320Lは略同一の構成を有するので、以下では、図4を参照してコントローラ320Rの具体的構成についてのみ説明する。尚、以降の説明では、便宜上、コントローラ320L,320Rを単に外部コントローラ320と総称する場合がある。また、左手オブジェクト400L,右手オブジェクト400Rを単に手オブジェクト400と総称する場合がある。また、右手オブジェクト400Rを第1操作オブジェクトの一例として、左手オブジェクト400Lを第2操作オブジェクトの一例として称する場合がある。
図4に示すように、コントローラ320Rは、操作ボタン302と、複数の検知点304と、図示しないセンサと、図示しないトランシーバとを備える。検知点304とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン302は、ユーザUからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン302は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面322上に2つのプッシュ式ボタン302a,302bが設けられている。天面322上に親指が置かれることや、プッシュ式ボタン302a,302bが押下されることに応じて、手オブジェクト400の親指を伸ばした状態から曲げた状態に変化させることが好ましい。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ324の前面部分にトリガー式ボタン302eが設けられると共に、グリップ324の側面部分にトリガー式ボタン302fが設けられる。トリガー式ボタン302eは、人差し指によって操作されることが想定されており、押下されることによって手オブジェクト400における人差し指が伸ばした状態から曲げた状態に変化させることが好ましい。トリガー式ボタン302fは、中指によって操作されることが想定されており、押下されることによって手オブジェクト400における中指、薬指、小指が伸ばした状態から曲げた状態に変化させることが好ましい。アナログスティックは、所定のニュートラル位置から360度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面322上にアナログスティック320iが設けられており、親指を用いて操作されることが想定されている。
コントローラ320Rは、グリップ324の両側面から天面322とは反対側の方向へ延びて半円状のリングを形成するフレーム326を備える。フレーム326の外側面には、複数の検知点304が埋め込まれている。複数の検知点304は、例えば、フレーム326の円周方向に沿って一列に並んだ複数の赤外線LEDである。位置センサ130は、複数の検知点304の位置、傾き又は発光強度に関する情報を検出した後に、制御装置120は、位置センサ130によって検出された情報に基づいて、コントローラ320Rの位置や姿勢(傾き・向き)に関する情報を含む動き情報を取得する。
コントローラ320Rのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザUがコントローラ320Rを動かしたときに、コントローラ320Rの向きや動きに応じた信号(例えば、磁気、角速度、又は加速度に関する情報を示す信号)を出力する。制御装置120は、センサから出力された信号に基づいて、コントローラ320Rの位置や姿勢に関する情報を取得する。
コントローラ320Rのトランシーバは、コントローラ320Rと制御装置120との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザUの操作入力に対応する操作信号を制御装置120に送信してもよい。また、トランシーバは、検知点304の発光をコントローラ320Rに指示する指示信号を制御装置120から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置120に送信してもよい。
図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7における状態(a)は、図6に示す仮想空間200のyx平面図である。図7における状態(b)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Mの一例を示す図である。
図5に示すように、ステップS1において、制御部121(図3参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置21を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像M(図8参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、制御部121は、HMD110を装着したユーザUの現実空間における移動に応じて、仮想カメラ300を仮想空間200内で移動させてもよい。また、仮想空間200内における各種オブジェクトは、例えば、左手オブジェクト400L、右手オブジェクト400R、操作オブジェクト500を含む(図9参照)。
ステップS2において、制御部121は、仮想カメラ300の視野CV(図7参照)を特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する。換言すれば、視野CVは、HMD110に表示される仮想空間200の一部の領域に相当する。また、視野CVは、状態(a)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第1領域CVaと、状態(b)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。尚、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、ユーザUの視線方向を特定し、ユーザUの視線方向に基づいて仮想カメラ300の向きを決定してもよい。
制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを変化させることができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを変化させることができる。同様に、ユーザUの視線方向が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、仮想カメラ300の視野CVを移動させることができる。つまり、制御部121は、ユーザUの視線方向の変化に応じて、視野CVを変化させることができる。
ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Mを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Mを表示する(図7参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが更新され、HMD110の表示部112に表示される視野画像Mが更新されるので、ユーザUは仮想空間200に没入することができる。
仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データと右目用視野画像データに基づいて、HMD110の表示部112に左目用視野画像と右目用視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像から、視野画像を3次元画像として視認することができる。本開示では、説明の便宜上、仮想カメラ300の数は一つとするが、本開示の実施形態は、仮想カメラの数が2つの場合でも適用可能である。
仮想空間200に含まれる左手オブジェクト400L、右手オブジェクト400R及び操作オブジェクト500について図9を参照して説明する。状態(a)は、HMD110とコントローラ320L,320Rを装着したユーザUを示す。状態(b)は、仮想カメラ300と、右手オブジェクト400R(第1操作オブジェクトの一例)と、左手オブジェクト400L(第2操作オブジェクトの一例)と、対象オブジェクト500とを含む仮想空間200を示す。
図9に示すように、仮想空間200は、仮想カメラ300と、左手オブジェクト400Lと、右手オブジェクト400Rと、対象オブジェクト500とを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。上述したように、仮想カメラ300は、ユーザUが装着しているHMD110の動きに連動する。つまり、仮想カメラ300の視野は、HMD110の動きに応じて更新される。右手オブジェクト400Rは、ユーザUの右手(身体の第1部分)に装着されるコントローラ320Rの動きに応じて移動する第1操作オブジェクトである。左手オブジェクト400Lは、ユーザUの左手(身体の第2部分)に装着されるコントローラ320Lの動きに応じて移動する第2操作オブジェクトである。以降では、説明の便宜上、左手オブジェクト400Lと右手オブジェクト400Rを単に手オブジェクト400と総称する場合がある。また、左手オブジェクト400Lと右手オブジェクト400Rは、それぞれコリジョンエリアCAを有する。コリジョンエリアCAは、手オブジェクト400と対象オブジェクト(例えば、対象オブジェクト500)とのコリジョン判定(当たり判定)に供される。例えば、手オブジェクト400のコリジョンエリアCAと対象オブジェクト500のコリジョンエリアとが接触することで、手オブジェクト400と対象オブジェクト500とが接触したことが判定される。図9に示すように、コリジョンエリアCAは、例えば、手オブジェクト400の中心位置を中心とした直径Rを有する球により規定されてもよい。以下の説明では、コリジョンエリアCAは、オブジェクトの中心位置を中心とした直径Rの球状に形成されているものとする。
対象オブジェクト500は、左手オブジェクト400L,右手オブジェクト400Rによって移動させることができる。例えば、図8に示す仮想空間200において、キャラクタオブジェクトCOが通路RW上をSTART地点からGOAL地点に向けて自動的に移動されるゲームを例示する。通路RW上には窪み部分が設けられており、キャラクタオブジェクトCOはGOAL地点に向かう途中で当該窪みに落ちてしまい、GOAL地点にたどり着くことができず、ゲームオーバーとなる。ユーザは、手オブジェクト400を操作することによって対象オブジェクト500を操作することにより、上記窪みを対象オブジェクト500でカバーすることにより、キャラクタオブジェクトCOをGOAL地点に導くことができる。
対象オブジェクト500には、後述するようにxyz空間における配置位置を定義する座標情報が設定されている。仮想空間200には、xyz空間座標系に対応するようにグリッドGRが設定されている。ユーザが手オブジェクト400を対象オブジェクト500に接触させる(掴む動作を行ってもよい)ことによって対象オブジェクト500を選択し、この状態で対象オブジェクト500に接触している手オブジェクト400を移動させることによって対象オブジェクト500を移動させ、対象オブジェクト500の座標情報を変更させることができる。ユーザが手オブジェクト400による対象オブジェクト500の選択を解除する(掴んだ手を放すような動作を行ってもよい)と、解除した時点における対象オブジェクト500の座標に最も近いグリッドに対象オブジェクト500が配置される。
本実施形態においては、単に対象オブジェクト500を通路RWの窪みに移動させるだけでは当該窪みがカバーされないように対象オブジェクト500の初期形状が設定されており、以下に説明するように対象オブジェクト500の形状を変更した上で通路RWの窪みに移動させる必要がある。
本実施形態に係る情報処理方法について図10から図15を参照して説明する。図10,図11は、本実施形態に係る情報処理方法を説明するためのフローチャートである。図12,図13は、右手オブジェクト400Rによって選択された対象オブジェクト500を、左手オブジェクト400Lによって変形させる様子を示す。図14は、右手オブジェクト400Rによって対象オブジェクト500を選択した後に、右手オブジェクト400Rを動かすことによって対象オブジェクト500の向きが変更された様子を示す。図15は、対象オブジェクト500の変形前後における、対象オブジェクト500の座標情報の変化を示す。図16は、変形された対象オブジェクト500を用いてキャラクタオブジェクトCOをGOAL地点に導くことに成功した様子を示す。
図10に示すように、ステップS10において、HMD110に提示される視野画像を特定する。本実施形態においては、図9の状態(b)に示すように、仮想カメラ300の前方に対象オブジェクト500、および、手オブジェクト400L,400Rが存在している。従って、図8に示すように、視野画像M内には、対象オブジェクト500、および、手オブジェクト400が表示される。その他のキャラクタオブジェクトCOや通路RWといったオブジェクトは、図9および図12〜図15において図示を省略する。
ステップS11において、制御部121は、コントローラ320によって検知されるユーザUの手の動きに応じて、前述のように手オブジェクト400を動かす。
ステップS12において、制御部121は、対象オブジェクト500と第1操作オブジェクト400が所定の条件を満たしたか否かを判定する。本実施形態においては、左手オブジェクト400L,右手オブジェクト400Rに設定されたコリジョンエリアCAに基づいて、各手オブジェクト400と対象オブジェクト500が接触したか否かを判定する。接触した場合には、ステップS13へ進む。接触していない場合には、再びユーザの手の動き情報を待ち受け、手オブジェクト400を動かす制御を継続する。
ステップS13において、制御部121は、第1操作オブジェクト400と接触した対象オブジェクト500を、選択された状態とする。本実施形態においては、図12の状態(a)に示すように、右手オブジェクト400Rと対象オブジェクト500の接触が判定されるとともに、前述のような操作によって右手オブジェクト400Rの各指が曲げられることにより、対象オブジェクト500が右手オブジェクト400Rによって掴まれることによって選択された状態とされる。
ステップS14において、制御部121は、左手オブジェクト400L(第2操作オブジェクト)の動きに応じて対象オブジェクト500を変形させることが可能な変形方向を特定する。本実施形態においては、図12の状態(a)に示すように、変形方向TDが、対象オブジェクト500の上方向、横方向(左方向)、図示しない奥行き方向に特定されている。ユーザUが右手を操作して右手オブジェクト400Rで対象オブジェクト500を選択した場合には、ユーザUが左手を操作して左手オブジェクト400Lにより後述するように対象オブジェクト500を変形させることとなる。従って、対象オブジェクト500の変形方向TDをユーザが操作しやすい次元に限定することで、ユーザの仮想体験を損なうことなくコンピュータによる処理負荷を低減させることができる。
本実施形態においては、対象オブジェクト500が選択された時点における、対象オブジェクト500の上方向および/または下方向、奥行き方向および/または手前方向、水平方向のうち対象オブジェクトにおける右手オブジェクト400R(第1操作オブジェクト)によって選択されていない左方向、のうち少なくとも1つが、変形方向TDとして特定されることが好ましい。図12の状態(a)では、一例として、上方向と、奥行き方向と、選択に用いた右手オブジェクト400Rとは逆の左手オブジェクト400Lが存在する側の方向である左方向が、変形方向TDとして特定されている。なお、変形方向TDを特定するにあたって、対象オブジェクト500の上下方向、横方向、奥行き方向は、視野座標系uvwに基づいて特定されることが好ましい。視野座標系の上下方向であるv軸に最も垂直に近い角度で交差する面(上面/下面)に垂直な方向を対象オブジェクト500の上下方向とし、視野座標系の水平方向であるu軸に最も垂直に近い角度で交差する面(左面/右面)に垂直な方向を対象オブジェクト500の水平方向(横方向)とし、視野座標系の奥行き方向であるw軸に最も垂直に近い角度で交差する面(奥面/手前面)に垂直な方向を対象オブジェクト500の奥行き方向(手前方向)とする。
ステップS15において、制御部121は、特定された変形方向に基づいて、変形方向をユーザに視認可能に提示するための方向表示ODを、対象オブジェクト500に関連付けて表示させる。図12の状態(a)では、対象オブジェクト500のうち上記のように視野座標系uvwに基づいて特定された上面、左面、および、奥面から、方向表示ODが変形方向TDに向けて延びるように表示されている。これにより、対象オブジェクト500の変形ルールを明確にユーザに提示し得る。
図11に示すように、ステップS16において、制御部121は、対象オブジェクト500と第2操作オブジェクト400が所定の条件を満たしたか否かを判定する。本実施形態においては、各手オブジェクト400に設定されたコリジョンエリアCAに基づいて、各手オブジェクト400と対象オブジェクト500が接触したか否かを判定する。接触した場合には、ステップS17へ進む。接触していない場合には、再びユーザの手の動き情報を待ち受け、手オブジェクト400を動かす制御を継続する。
ステップS17において、制御部121は、第2操作オブジェクト400と接触した対象オブジェクト500を、選択された状態とする。本実施形態においては、図12の状態(b)に示すように、左手オブジェクト400Lと対象オブジェクト500の接触が判定されるとともに、前述のような操作によって左手オブジェクト400Lの各指が曲げられることにより、対象オブジェクト500が左手オブジェクト400Lによって掴まれることによって選択された状態とされる。
ステップS18において、制御部121は、対象オブジェクト500が左手オブジェクト400Lによって選択された場合には、図12の状態(b)に示すように方向表示ODを消去する。ユーザUが対象オブジェクト500を左手オブジェクト400Lによって選択した時点ではユーザUは既に対象オブジェクト500を変形させる態様を決めていると想定される。従って、ユーザUの利便性を損なうことなく、方向表示を表示させる時間を減らすことにより、方向表示がユーザの視界内に無用に表示されることによって仮想体験を妨げることを防止し得る。
ステップS19において、制御部121は、左手オブジェクト400Lが対象オブジェクト500を選択した状態で、変形方向TDのいずれかの方向に移動されたか否かを検知する。検知された場合にはステップS20へ進む。検知されなかった場合には、引き続き左手オブジェクト400Lの移動を待ち受ける。
ステップS20において、制御部121は、左手オブジェクト400Lの動きに応じて、対象オブジェクト500を変形させる。具体的には、制御部121は、図12の状態(c)に示すように、左手オブジェクト400Lの移動方向MO、移動量MDに基づいて、対象オブジェクトを変形させる。具体的には、左手オブジェクト400Lが移動された移動方向MOが変形方向TDのうちの左方向に沿っているため、対象オブジェクト500は左方向に沿って拡大される。拡大量は移動量MDに基づいて決定され、移動量MDだけ対象オブジェクト500における拡大される方向の面(左側の面)が左方向に移動するように、対象オブジェクト500は左方向に沿って拡大される。このとき、上記拡大される方向の面に対向する面(右側の面)は、移動されないことが好ましい。これにより、対象オブジェクト500の変形によって、対象オブジェクト500と右手オブジェクト400Rの位置関係が不自然になることを防止できる。
ステップS21において、制御部121は、対象オブジェクト500を変形させるとともに、変形される対象オブジェクト500の座標情報を更新する。座標情報は、対象オブジェクトの仮想空間200内における配置位置を特定するための情報であり、仮想空間200における空間座標系xyzに基づいて定義される。
本実施形態においては、図15に示すように、左手オブジェクト400Lの移動方向、および、移動量に基づいて、対象オブジェクト500の座標情報が更新される。図15の状態(a)に示すように、変形前の対象オブジェクト500は、その重心に基づいて規定された配置座標O1(L,0,0)を有するものとすると、対象オブジェクト500の横幅は2Lである。図15の状態(b)に示すように、左手オブジェクト400Lの移動方向MOが左側方向、移動量MDを2Dとしたとき、配置座標O1の移動方向MOも左手オブジェクト400Lの移動方向MOと同様に左側方向であり、配置座標O1の移動量はDであることが好ましい。変形後の対象オブジェクト500は、配置座標O2(L+D,0,0)、横幅は2L+2Dとなる。このように、配置座標O1の移動量は左手オブジェクト400Lの移動距離の2分の1であることが好ましい。これにより、対象オブジェクト500を変形させたとしても、右手オブジェクト400Rによって選択された(掴まれた)対象オブジェクト500の右端の位置を変えることなく対象オブジェクト500を拡大することができ、変形後の対象オブジェクト500の配置座標O2を容易に決定することができる。従って、対象オブジェクト500の変形により、対象オブジェクト500と右手オブジェクト400R(第1操作オブジェクト)の位置関係が不自然になることを防止できる。
ステップS22において、制御部121は、移動された手オブジェクト400、および、変形された対象オブジェクト500に基づいて、視野画像Mを更新し、HMD110に出力する。これにより、ユーザUに対して対象オブジェクト500を意のままに操ることができる仮想体験が提供し得る。
この後、ステップS10に戻って再びユーザUの手の動きを待ち受けることとしてもよい。また、右手オブジェクト400Rによる対象オブジェクト500の選択が継続されている場合には、ステップ16に戻って引き続き左手オブジェクト400Lの動きを受け付けて、さらに対象オブジェクト500を変形させる処理を実行してもよい。
図13の状態(a)は、上記のように対象オブジェクト500を左方向に拡大した後、左手オブジェクト400Lによる対象オブジェクト500の選択を解除した状態を示す。この状態は図12の状態(a)に対応し、図13の状態(b)に示すように、左手オブジェクト400Lによって対象オブジェクトの上面を選択した後、図13の状態(c)に示すように変形方向である上方に左手オブジェクト400Lを移動させることにより、対象オブジェクト500を上方に向けてさらに拡大することができる。このように、上記のプロセスを繰り返すことにより、ユーザUは手オブジェクト400に基づいて意のままに対象オブジェクト500を変形させることができる。
本実施形態においては、図14に示すように、右手オブジェクト400Rによって対象オブジェクト500の変形方向が特定された後に、右手オブジェクト400Rが移動されることによって対象オブジェクト500の向きが変化したとしても、変形方向TDを変化させないことが好ましい。ユーザUは、右手オブジェクト400Rによって対象オブジェクト500を選択した後、奥行き方向に対象オブジェクト500を拡大させる場合には、拡大させる長さを微調整するために対象オブジェクト500の奥行き方向を視認可能にするために対象オブジェクト500の向きを変えることが予想される。この場合にも変形方向TDを変更しないことにより、ユーザUは奥行き方向を視認しながら左手オブジェクト400Lによって対象オブジェクト5000を奥行き方向に拡大させることができ、一貫性のある操作感が提供され得る。
図16に示すように、以上の操作を繰り返すことによって、ユーザUは対象オブジェクト500を通路RWの窪みをカバーするのに適した形状に変化させた後、対象オブジェクト500を手オブジェクト400によって窪み内に配置する。これにより、キャラクタオブジェクトCOをGOAL地点に到達させることができ、ゲームをクリアすることができる。
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
本実施形態では、ユーザUの手の動きを示す外部コントローラ320の動きに応じて、手オブジェクトの移動が制御されているが、ユーザUの手自体の移動量に応じて、仮想空間内における手オブジェクトの移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ130により、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。また、位置センサ130は、ユーザUの手(手指を含む)を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像データに基づいて、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。
また、本実施形態では、ユーザUの頭部以外の身体の一部である手の位置及び/又は動きに応じて、手オブジェクトが対象オブジェクトに与える影響を規定するコリジョン効果が設定されているが、本実施形態はこれには限定されない。例えば、ユーザUの頭部以外の身体の一部である足の位置及び/又は動きに応じて、ユーザUの足の動きに連動する足オブジェクト(操作オブジェクトの一例)が対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。このように、本実施形態では、HMD110とユーザUの身体の一部との間の相対的な関係(距離及び相対速度)を特定し、特定された相対的な関係に応じて、当該ユーザUの身体の一部と連動する操作オブジェクトが対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。
また、上記説明では右手オブジェクト400Rを第1操作オブジェクト、左手オブジェクト400Lを第2操作オブジェクトとして説明したが、左手オブジェクト400Lで対象オブジェクト500を選択し、右手オブジェクト400Rによって対象オブジェクト500を変形させる場合には、左手オブジェクト400Lが第1操作オブジェクトであり、右手オブジェクト400Rを第2操作オブジェクトとして取り扱うことができる。
また、本実施形態においては、HMD110によってユーザが没入する仮想空間(VR空間)を例示して説明したが、HMD110として透過型HMDを採用してもよい。この場合、透過型HMD110を介してユーザUが視認する現実空間に対象オブジェクト500の画像を合成して出力し、AR空間やMR空間としての仮想体験を提供してもよい。そして、第1操作オブジェクト、および、第2操作オブジェクトにかえて、ユーザの身体の第1部分、および、第2部分(ユーザUの両手)の動きに基づいて、対象オブジェクト500の選択、および、変形を行ってもよい。この場合には、現実空間、および、ユーザの身体の第1部分、および、第2部分の座標情報を特定するとともに、対象オブジェクト500の座標情報を現実空間における座標情報との関係で定義することによって、ユーザUの身体の動きに基づいて対象オブジェクト500に作用を与えることができる。
1:HMDシステム
3:通信ネットワーク
21:中心位置
112:表示部
114:HMDセンサ
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
140:注視センサ
200:仮想空間
300:仮想カメラ
302:操作ボタン
302a,302b:プッシュ式ボタン
302e,302f:トリガー式ボタン
304:検知点
320:外部コントローラ
320i:アナログスティック
320L:左手用外部コントローラ(コントローラ)
320R:右手用外部コントローラ(コントローラ)
322:天面
324:グリップ
326:フレーム
400:手オブジェクト
400L:左手オブジェクト
400R:右手オブジェクト
500:対象オブジェクト
CA:コリジョンエリア
CV:視野
CVa:第1領域
CVb:第2領域
3:通信ネットワーク
21:中心位置
112:表示部
114:HMDセンサ
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
140:注視センサ
200:仮想空間
300:仮想カメラ
302:操作ボタン
302a,302b:プッシュ式ボタン
302e,302f:トリガー式ボタン
304:検知点
320:外部コントローラ
320i:アナログスティック
320L:左手用外部コントローラ(コントローラ)
320R:右手用外部コントローラ(コントローラ)
322:天面
324:グリップ
326:フレーム
400:手オブジェクト
400L:左手オブジェクト
400R:右手オブジェクト
500:対象オブジェクト
CA:コリジョンエリア
CV:視野
CVa:第1領域
CVb:第2領域
Claims (9)
- ヘッドマウントディスプレイと、前記ヘッドマウントディスプレイの位置とユーザの頭部以外の身体の第1部分と第2部分の位置を検出するように構成された位置センサとを備えたシステムにおける情報処理方法であって、
(a)仮想カメラと、第1操作オブジェクトと、第2操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記ヘッドマウントディスプレイの動きに応じて、前記仮想カメラを動かすステップと、
(c)前記第1部分の動きに応じて、前記第1操作オブジェクトを動かすステップと、
(d)前記第2部分の動きに応じて、前記第2操作オブジェクトを動かすステップと、
(e)前記第1部分の動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記第2操作オブジェクトの動きに応じて、前記対象オブジェクトを変形させるステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
を含む、情報処理方法。 - (e)において、前記第1操作オブジェクトと前記対象オブジェクトの接触によって、前記対象オブジェクトが選択され、
(f)において、前記第2操作オブジェクトと前記対象オブジェクトが接触した後に、前記第2操作オブジェクトが移動した方向に基づいて、前記対象オブジェクトを変形させる、請求項1の方法。 - 前記対象オブジェクトは前記仮想空間における座標情報を含み、
前記対象オブジェクトの座標情報は、前記第2操作オブジェクトが移動した方向に基づいて更新される、請求項2の方法。 - 前記第2操作オブジェクトが所定方向に所定距離だけ移動した場合、前記座標情報は、所定方向において前記所定距離の2分の1だけ移動するように変更される、請求項3の方法。
- (e)において、前記対象オブジェクトが選択されると、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向を示す方向表示を、前記対象オブジェクトに関連付けて表示させる、請求項1〜4のいずれかの方法。
- (f)において、前記第2操作オブジェクトの動きを検知することにより、前記方向表示を消去させる、請求項5の方法。
- 前記仮想カメラは、前記ヘッドマウントディスプレイの動きに応じて移動する視野座標系を定義し、前記視野座標系は上下方向と、水平方向と、奥行き方向を含み、
(e)において、前記対象オブジェクトが選択された時点における、前記対象オブジェクトの上方向および/または下方向、奥行き方向および/または手前方向、前記水平方向のうち前記対象オブジェクトにおける前記第1操作オブジェクトによって選択されていない方向、のうち少なくとも1つが、前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向として特定される、請求項1〜6のいずれかの方法。 - 前記第2操作オブジェクトの動きに応じて前記対象オブジェクトを変形させることが可能な変形方向が特定された後に、前記第1操作オブジェクトが移動されることによって前記対象オブジェクトの向きが変化したとしても、前記変形方向を変化させない、請求項7の方法。
- 請求項1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017091060A JP2018026105A (ja) | 2017-05-01 | 2017-05-01 | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017091060A JP2018026105A (ja) | 2017-05-01 | 2017-05-01 | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016157052A Division JP6140871B1 (ja) | 2016-08-09 | 2016-08-09 | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018026105A true JP2018026105A (ja) | 2018-02-15 |
Family
ID=61194709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017091060A Pending JP2018026105A (ja) | 2017-05-01 | 2017-05-01 | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018026105A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020135192A (ja) * | 2019-02-15 | 2020-08-31 | 株式会社Jvcケンウッド | 画像調整システム、画像調整装置、及び画像調整方法 |
US11703948B2 (en) | 2019-02-15 | 2023-07-18 | Jvckenwood Corporation | Image adjustment system, image adjustment device, and image adjustment method |
-
2017
- 2017-05-01 JP JP2017091060A patent/JP2018026105A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020135192A (ja) * | 2019-02-15 | 2020-08-31 | 株式会社Jvcケンウッド | 画像調整システム、画像調整装置、及び画像調整方法 |
JP7247636B2 (ja) | 2019-02-15 | 2023-03-29 | 株式会社Jvcケンウッド | 画像調整システム、画像調整装置、及び画像調整方法 |
US11703948B2 (en) | 2019-02-15 | 2023-07-18 | Jvckenwood Corporation | Image adjustment system, image adjustment device, and image adjustment method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6093473B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
WO2018030453A1 (ja) | 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、及びコンピュータ | |
JP6122537B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6220937B1 (ja) | 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ | |
JP6117414B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
WO2018020735A1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2017187952A (ja) | 表示制御方法及び当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP6157703B1 (ja) | 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ | |
JP6140871B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6118444B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6113897B1 (ja) | 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体 | |
JP2018026105A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2018110871A (ja) | 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ | |
JP6535699B2 (ja) | 情報処理方法、情報処理プログラム及び情報処理装置 | |
JP6290493B2 (ja) | 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ | |
JP6122194B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6449922B2 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6934374B2 (ja) | プロセッサを備えるコンピュータにより実行される方法 | |
JP6403843B1 (ja) | 情報処理方法、情報処理プログラム及び情報処理装置 | |
JP2018026099A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2018045338A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6469752B2 (ja) | 情報処理方法、情報処理プログラム、情報処理システムおよび情報処理装置 | |
JP2018018499A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6941130B2 (ja) | 情報処理方法、情報処理プログラム及び情報処理装置 | |
JP6275809B1 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |