(57)【要約】【課題】ユーザの仮想体験をさらに改善する。【解決手段】情報処理方法は、仮想カメラ３００と、右手オブジェクト４００Ｒと、ボタンオブジェクト６００とを含む仮想空間２００を規定する仮想空間データを生成するステップと、ＨＭＤ１１０の位置及び傾きに基づいて、仮想カメラ３００の視野ＣＶを特定するステップと、仮想カメラ３００の視野ＣＶと仮想空間データに基づいて、ＨＭＤ１１０に視野画像を表示させるステップと、コントローラ３２０Ｒの位置に基づいて、右手オブジェクト４００Ｒの位置を特定するステップとを含む。右手オブジェクト４００ＲのコリジョンエリアＣＡがボタンオブジェクト６００のコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、右手オブジェクト４００Ｒはボタンオブジェクト６００に所定の影響を与えない。【選択図】図９
2018116484.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法であって、
（ａ）仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
（ｃ）前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
（ｄ）前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、
を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない、情報処理方法。
【請求項２】
（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記所定の条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることである、請求項１に記載の情報処理方法。
【請求項３】
前記所定の条件は、第１条件と第２条件とを含み、
前記第１条件は、前記ヘッドマウントデバイスに関連した条件であり、
前記第２条件は、前記第１条件とは異なる条件であり、
前記第１条件及び前記第２条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに前記所定の影響を与えない、請求項１又は２に記載の情報処理方法。
【請求項４】
（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記操作オブジェクトが前記仮想カメラの視野内に存在することである、請求項３に記載の情報処理方法。
【請求項５】
（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記操作オブジェクトと前記対象オブジェクトのうちの少なくとも一つが前記仮想カメラの視野内に存在することである、請求項３に記載の情報処理方法。
【請求項６】
（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップと、
（ｆ）前記ヘッドマウントデバイスに対する前記ユーザの前記身体の一部の相対速度を特定するステップと、
をさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記相対速度が所定の値よりも大きいことである、請求項３に記載の情報処理方法。
【請求項７】
請求項１から６のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
非特許文献１では、手オブジェクトでブロックオブジェクトを掴むことで、キャラクタオブジェクト（クマのキャラクタ）が走るための仮想道を作成するＶＲゲームが開示されている。このＶＲゲームでは、手オブジェクトの操作により、キャラクタオブジェクトが走る仮想道を作成した後に、手オブジェクトがボタンオブジェクト（対象オブジェクトの一例）を押すことで、キャラクタオブジェクトが仮想道を走り出す。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】”VR 「Fly to KUMA MARKER」Trailer”, [online]、平成２８年８月１０日、ＣＯＬＯＰＬ  ＣＨＡＮＮＥＬ、［平成２８年１２月１９日検索］、インターネット＜ 1484704159050_0＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、非特許文献１に開示されたＶＲゲームでは、手オブジェクトの操作中において、手オブジェクトがボタンオブジェクトに意図せずに接触することで（より詳細には、手オブジェクトのコリジョンエリアがボタンオブジェクトのコリジョンエリアに意図せずに接触することで）、ボタンオブジェクトが意図せずに手オブジェクトによって押されてしまう状況が考えられる。この場合、仮想道が完成する前にキャラクタオブジェクトが走り出してしまう。このように、仮想空間内において手オブジェクトを操作する場合、手オブジェクトが対象オブジェクトに意図せずに接触することで、手オブジェクトと対象オブジェクトとの間のコリジョン効果が意図せずに発生する状況が考えられる。ここで、仮想空間とは、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間およびＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）空間を含む。また、手オブジェクトと対象オブジェクトとの間のコリジョン効果とは、手オブジェクトと対象オブジェクトとの間のコリジョン（衝突）に起因して手オブジェクトが対象オブジェクトに与える影響を規定する効果である。
【０００５】
本開示は、仮想オブジェクトに対するユーザの体験（以下、「ユーザの仮想体験」という。）をさらに改善させることが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示が示す一態様によれば、ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法が提供される。
前記情報処理方法は、
（ａ）仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
（ｃ）前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
（ｄ）前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、
を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない。
【発明の効果】
【０００７】
本開示によれば、ユーザの仮想体験をさらに改善させることが可能な情報処理方法を提供することができる。また、当該情報処理方法をコンピュータに実現させるためのプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】ヘッドマウントデバイス（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：ＨＭＤ）システムを示す概略図である。
【図２】ＨＭＤを装着したユーザの頭部を示す図である。
【図３】制御装置のハードウェア構成を示す図である。
【図４】外部コントローラの具体的な構成の一例を示す図である。
【図５】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図６】仮想空間の一例を示すｘｙｚ空間図である。
【図７】状態（ａ）は、図６に示す仮想空間のｙｘ平面図である。状態（ｂ）は、図６に示す仮想空間のｚｘ平面図である。
【図８】ＨＭＤに表示された視野画像の一例を示す図である。
【図９】状態（ａ）は、ＨＭＤと外部コントローラを装着したユーザが存在する現実空間を示す図である。状態（ｂ）は、仮想カメラと、右手オブジェクトと、左手オブジェクトと、ブロックオブジェクトと、ボタンオブジェクトを含む仮想空間を示す図である。
【図１０】右手オブジェクトのコリジョンエリアがボタンオブジェクトの操作部に接触している様子を示す仮想空間の平面図である。
【図１１】本発明の第１実施形態（以下、単に第１実施形態という。）に係る情報処理方法を説明するためのフローチャートである。
【図１２】第１実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。
【図１３】本発明の第２実施形態（以下、単に第２実施形態という。）に係る情報処理方法を説明するためのフローチャートである。
【図１４】右手オブジェクトとボタンオブジェクトが仮想カメラの視野外に存在する様子を示す仮想空間の平面図である。
【図１５】第２実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。
【図１６】本発明の第３実施形態（以下、単に第３実施形態という。）に係る情報処理方法を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法であって、
（ａ）仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
（ｃ）前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
（ｄ）前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、
を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない、情報処理方法。
【００１０】
上記方法によれば、操作オブジェクトのコリジョンエリアが対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、操作オブジェクトが意図せずに対象オブジェクトに接触したと判定される場合には、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。例えば、手オブジェクト（操作オブジェクトの一例）がボタンオブジェクト（対象オブジェクトの一例）に意図せずに接触した場合、ボタンオブジェクトが手オブジェクトによって意図せずに押されてしまうといった状況が回避される。従って、ユーザの仮想体験をさらに改善することが可能な情報処理方法を提供することができる。
【００１１】
（２）（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記所定の条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることである、項目（１）に記載の情報処理方法。
【００１２】
上記方法によれば、ヘッドマウントデバイス（ＨＭＤ）の絶対速度が所定の値以下ではない（つまり、ＨＭＤの絶対速度が所定の値より大きい）と判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、ＨＭＤの絶対速度が所定の値よりも大きい状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。
【００１３】
（３）前記所定の条件は、第１条件と第２条件とを含み、
前記第１条件は、前記ヘッドマウントデバイスに関連した条件であり、
前記第２条件は、前記第１条件とは異なる条件であり、
前記第１条件及び前記第２条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに前記所定の影響を与えない、項目（１）又は（２）に記載の情報処理方法。
【００１４】
上記方法によれば、操作オブジェクトのコリジョンエリアが対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための第１条件及び第２条件が満たされないと判定された場合、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、互いに異なる２つの判定条件を用いることで操作オブジェクトが意図せずに対象オブジェクトに接触したかどうかをより確実に判定することができる。
【００１５】
（４）（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記操作オブジェクトが前記仮想カメラの視野内に存在することである、項目（３）に記載の情報処理方法。
【００１６】
上記方法によれば、ヘッドマウントデバイス（ＨＭＤ）の絶対速度が所定の値以下ではない（つまり、ＨＭＤの絶対速度が所定の値より大きい）と判定されると共に、操作オブジェクトが仮想カメラの視野内に存在しないと判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、ＨＭＤの絶対速度が所定の値よりも大きく、且つ操作オブジェクトが仮想カメラの視野内に存在しない状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。
【００１７】
（５）（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記操作オブジェクトと前記対象オブジェクトのうちの少なくとも一つが前記仮想カメラの視野内に存在することである、項目（３）に記載の情報処理方法。
【００１８】
上記方法によれば、ヘッドマウントデバイス（ＨＭＤ）の絶対速度が所定の値以下ではない（つまり、ＨＭＤの絶対速度が所定の値より大きい）と判定されると共に、操作オブジェクトと対象オブジェクトの両方が仮想カメラの視野内に存在しないと判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、ＨＭＤの絶対速度が所定の値よりも大きく、且つ操作オブジェクトと対象オブジェクトの両方が仮想カメラの視野内に存在しない状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。
【００１９】
（６）（ｅ）前記ヘッドマウントデバイスの絶対速度を特定するステップと、
（ｆ）前記ヘッドマウントデバイスに対する前記ユーザの前記身体の一部の相対速度を特定するステップと、
をさらに含み、
前記第１条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第２条件は、前記相対速度が所定の値よりも大きいことである、項目（３）に記載の情報処理方法。
【００２０】
上記方法によれば、ヘッドマウントデバイス（ＨＭＤ）の絶対速度が所定の値以下ではない（つまり、ＨＭＤの絶対速度が所定の値より大きい）と判定されると共に、ＨＭＤに対するユーザの身体の一部の相対速度が所定の値よりも大きくない（つまり、ＨＭＤに対するユーザの身体の一部の相対速度が所定の値以下である）と判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、ＨＭＤの絶対速度が所定の値よりも大きく、且つユーザの身体の一部の相対速度が所定の値以下である状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。
【００２１】
（７）項目（１）から（６）のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【００２２】
上記プログラムによれば、ユーザの仮想体験をさらに改善させることができる。
【００２３】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【００２４】
最初に、図１を参照してヘッドマウントデバイス（ＨＭＤ）システム１の構成について説明する。図１は、ＨＭＤシステム１を示す概略図である。図１に示すように、ＨＭＤシステム１は、ユーザＵの頭部に装着されたＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、制御装置１２０とを備える。
【００２５】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、注視センサ１４０とを備えている。表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部１１２は、ユーザＵの左目に画像を提供するように構成された左目用表示部とユーザＵの右目に画像を提供するように構成された右目用表示部から構成されてもよい。また、ＨＭＤ１１０は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
【００２６】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、地磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動きを検出することができる。
【００２７】
注視センサ１４０は、ユーザＵの視線を検出するアイトラッキング機能を有する。注視センサ１４０は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザＵの右目に例えば赤外光を照射して、右目（特に、角膜や虹彩）から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザＵの左目に例えば赤外光を照射して、左目（特に、角膜や虹彩）から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
【００２８】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０と外部コントローラ３２０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線又は有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ１３０は、外部コントローラ３２０に設けられた図示しない複数の検知点３０４（図４参照）の位置、傾き及び／又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００２９】
外部コントローラ３２０は、ユーザＵの身体の一部（頭部以外の部位であり、本実施形態においてはユーザＵの手）の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ３２０は、ユーザＵの右手によって操作される右手用外部コントローラ３２０Ｒ（以下、単にコントローラ３２０Ｒという。）と、ユーザＵの左手によって操作される左手用外部コントローラ３２０Ｌ（以下、単にコントローラ３２０Ｌという。）と、を有する。コントローラ３２０Ｒは、ユーザＵの右手の位置や右手の手指の動きを示す装置である。また、コントローラ３２０Ｒの動きに応じて仮想空間内に存在する右手オブジェクト４００Ｒ（図９参照）が移動する。コントローラ３２０Ｌは、ユーザＵの左手の位置や左手の手指の動きを示す装置である。また、コントローラ３２０Ｌの動きに応じて仮想空間内に存在する左手オブジェクト４００Ｌ（図９参照）が移動する。
【００３０】
制御装置１２０は、ＨＭＤ１１０を制御するように構成されたコンピュータである。制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。さらに、制御装置１２０は、位置センサ１３０から取得された情報に基づいて、外部コントローラ３２０の動作を特定し、当該特定された外部コントローラ３２０の動作に基づいて、仮想空間内に表示される手オブジェクトの動作と現実空間における外部コントローラ３２０の動作を正確に対応付けることができる。特に、制御装置１２０は、位置センサ１３０から取得された情報に基づいて、コントローラ３２０Ｌ（コントローラ３２０Ｒ）の動作を特定し、当該特定されたコントローラ３２０Ｌ（コントローラ３２０Ｒ）の動作に基づいて、仮想空間内に表示される左手オブジェクト４００Ｌ（右手オブジェクト４００Ｒ）の動作と現実空間におけるコントローラ３２０Ｌ（コントローラ３２０Ｒ）の動作を正確に対応付けることができる。
【００３１】
また、制御装置１２０は、注視センサ１４０（左目用注視センサと右目用注視センサ）から送信された情報に基づいて、ユーザＵの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置１２０は、特定された注視点に基づいて、ユーザＵの両目の視線（ユーザＵの視線）を特定することができる。ここで、ユーザＵの視線は、ユーザＵの両目の視線であって、ユーザＵの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
【００３２】
次に、図２を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について説明する。図２は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０及び／又はＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交しＨＭＤ１１０の中心を通る方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０及び／又はＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【００３３】
次に、図３を参照することで、制御装置１２０のハードウェア構成について説明する。図３は、制御装置１２０のハードウェア構成を示す図である。図３に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５は、バス１２６を介して互いに通信可能に接続されている。
【００３４】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０に内蔵されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００３５】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び／又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００３６】
特に、プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム（後述する）をＲＡＭ上に展開し、ＲＡＭとの協働で当該プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、メモリや記憶部１２３に格納された所定のアプリケーションプログラム（ゲームプログラム）を実行することで、ＨＭＤ１１０の表示部１１２に仮想空間（視野画像）を表示する。これにより、ユーザＵは、表示部１１２に表示された仮想空間に没入することができる。
【００３７】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザＵの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００３８】
Ｉ／Ｏインターフェース１２４は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０とをそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。尚、制御装置１２０は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０とのそれぞれと無線接続されていてもよい。
【００３９】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００４０】
次に、図４を参照して外部コントローラ３２０の具体的構成の一例について説明する。コントローラ３２０Ｒとコントローラ３２０Ｌは略同一の構成を有するので、以下では、図４を参照してコントローラ３２０Ｒの具体的構成についてのみ説明する。尚、以降の説明では、便宜上、コントローラ３２０Ｌ，３２０Ｒを単に外部コントローラ３２０と総称する場合がある。
【００４１】
図４に示すように、コントローラ３２０Ｒは、操作ボタン３０２と、複数の検知点３０４と、図示しないセンサと、図示しないトランシーバとを備える。検知点３０４とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン３０２は、ユーザＵからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン３０２は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面３２２上に２つのプッシュ式ボタン３０２ａ，３０２ｂが設けられている。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ３２４の前面部分にトリガー式ボタン３０２ｅが設けられると共に、グリップ３２４の側面部分にトリガー式ボタン３０２ｆが設けられる。トリガー式ボタン３０２ｅ，３０２ｆは、人差し指と中指によってそれぞれ操作される。アナログスティックは、所定のニュートラル位置から３６０度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面３２２上にアナログスティック３２０ｉが設けられており、親指を用いて操作される。
【００４２】
コントローラ３２０Ｒは、グリップ３２４の両側面から天面３２２とは反対側の方向へ延びて半円状のリングを形成するフレーム３２６を備える。フレーム３２６の外側面には、複数の検知点３０４が埋め込まれている。複数の検知点３０４は、例えば、フレーム３２６の円周方向に沿って一列に並んだ複数の赤外線ＬＥＤである。位置センサ１３０は、複数の検知点３０４の位置、傾き又は発光強度に関する情報を検出した後に、制御装置１２０は、位置センサ１３０によって検出された情報に基づいて、コントローラ３２０Ｒの位置や姿勢（傾き・向き）に関する情報を取得する。
【００４３】
コントローラ３２０Ｒのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザＵがコントローラ３２０Ｒを動かしたときに、コントローラ３２０Ｒの向きや位置に応じた信号（例えば、磁気、角速度、又は加速度に関する情報を示す信号）を出力する。制御装置１２０は、センサから出力された信号に基づいて、コントローラ３２０Ｒの位置や姿勢に関する情報を取得する。
【００４４】
コントローラ３２０Ｒのトランシーバは、コントローラ３２０Ｒと制御装置１２０との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザＵの操作入力に対応する操作信号を制御装置１２０に送信してもよい。また、トランシーバは、検知点３０４の発光をコントローラ３２０Ｒに指示する指示信号を制御装置１２０から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置１２０に送信してもよい。
【００４５】
次に、図５から図８を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図５は、視野画像をＨＭＤ１１０に表示する処理を示すフローチャートである。図６は、仮想空間２００の一例を示すｘｙｚ空間図である。図７の状態（ａ）は、図６に示す仮想空間２００のｙｘ平面図である。図７の状態（ｂ）は、図６に示す仮想空間２００のｚｘ平面図である。図８は、ＨＭＤ１１０に表示された視野画像Ｍの一例を示す図である。
【００４６】
図５に示すように、ステップＳ１において、制御部１２１（図３参照）は、仮想カメラ３００と、各種オブジェクトとを含む仮想空間２００を示す仮想空間データを生成する。図６に示すように、仮想空間２００は、中心位置２１を中心とした全天球として規定される（図６では、上半分の天球のみが図示されている）。また、仮想空間２００では、中心位置２１を原点とするｘｙｚ座標系が設定されている。仮想カメラ３００は、ＨＭＤ１１０に表示される視野画像Ｖ（図８参照）を特定するための視軸Ｌを規定している。仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、制御部１２１は、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に応じて、仮想カメラ３００を仮想空間２００内で移動させてもよい。また、仮想空間２００は、例えば、左手オブジェクト４００Ｌと、右手オブジェクト４００Ｒと、ブロックオブジェクト５００と、ボタンオブジェクト６００を含む（図９参照）。
【００４７】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図７参照）を特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータを取得した上で、当該取得されたデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを特定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸Ｌを決定し、決定された視軸Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域に相当する。換言すれば、視野ＣＶは、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に相当する。また、視野ＣＶは、図７の状態（ａ）に示すｘｙ平面において、視軸Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図７の状態（ｂ）に示すｘｚ平面において、視軸Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。尚、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線方向を示すデータに基づいて、ユーザＵの視線方向を特定し、ユーザＵの視線方向に基づいて仮想カメラ３００の向きを決定してもよい。
【００４８】
このように、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを変化させることができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを変化させることができる。同様に、ユーザＵの視線方向が変化すると、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線方向を示すデータに基づいて、仮想カメラ３００の視野ＣＶを移動させることができる。つまり、制御部１２１は、ユーザＵの視線方向の変化に応じて、視野ＣＶを変化させることができる。
【００４９】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖを示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００５０】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像Ｖを表示する（図７参照）。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが更新され、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新されるので、ユーザＵは仮想空間２００に没入することができる。
【００５１】
尚、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部１２１は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部１２１は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザＵは、左目用視野画像と右目用視野画像との間の視差により、視野画像を３次元的に視認することができる。
【００５２】
また、図５に示すステップＳ１〜Ｓ４の処理は１フレーム（動画を構成する静止画像）毎に実行されてもよい。例えば、動画のフレームレートが９０ｆｐｓである場合、ステップＳ１〜Ｓ４の処理はΔＴ＝１／９０（秒）間隔で繰り返し実行されてもよい。このように、ステップＳ１〜Ｓ４の処理が所定間隔ごとに繰り返し実行されるため、ＨＭＤ１１０の動作に応じて仮想カメラ３００の視野が更新されると共に、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新される。
【００５３】
次に、仮想空間２００に含まれる左手オブジェクト４００Ｌ（操作オブジェクトの一例）、右手オブジェクト４００Ｒ（操作オブジェクトの一例）、ブロックオブジェクト５００（仮想オブジェクト）及びボタンオブジェクト６００（仮想オブジェクトである対象オブジェクトの一例）について図９を参照して説明する。図９の状態（ａ）は、ＨＭＤ１１０とコントローラ３２０Ｌ，３２０Ｒを装着したユーザＵを示す図である。図９の状態（ｂ）は、仮想カメラ３００と、左手オブジェクト４００Ｌと、右手オブジェクト４００Ｒと、ブロックオブジェクト５００と、ボタンオブジェクト６００とを含む仮想空間２００を示す図である。
【００５４】
上記したように、仮想空間２００は、仮想カメラ３００と、左手オブジェクト４００Ｌと、右手オブジェクト４００Ｒと、ブロックオブジェクト５００と、ボタンオブジェクト６００とを含む。制御部１２１は、これらのオブジェクトを含む仮想空間２００を規定する仮想空間データを生成する。また、制御部１２１は、１フレーム毎に仮想空間データを更新してもよい。上記したように、仮想カメラ３００は、ユーザＵが装着しているＨＭＤ１１０の動きに連動する。つまり、仮想カメラ３００の視野は、ＨＭＤ１１０の動きに応じて更新される。
【００５５】
左手オブジェクト４００Ｌは、ユーザＵの左手に装着されるコントローラ３２０Ｌの動きに連動する。同様に、右手オブジェクト４００Ｒは、ユーザＵの右手に装着されるコントローラ３２０Ｒの動きに連動する。尚、以降では、説明の便宜上、左手オブジェクト４００Ｌと右手オブジェクト４００Ｒを単に手オブジェクト４００と総称する場合がある。
【００５６】
また、ユーザＵが外部コントローラ３２０の操作ボタン３０２を操作することで、手オブジェクト４００の各手指を操作することが可能となる。つまり、制御部１２１は、操作ボタン３０２に対する入力操作に対応する操作信号を外部コントローラ３２０から取得した上で、当該操作信号に基づいて、手オブジェクト４００の手指の動作を制御する。例えば、ユーザＵが操作ボタン３０２を操作することで手オブジェクト４００はブロックオブジェクト５００を掴むことができる。さらに、手オブジェクト４００がブロックオブジェクト５００を掴んだ状態で、コントローラ３２０の移動に応じて、手オブジェクト４００とブロックブジェクト５００を移動させることが可能となる。このように、制御部１２１は、ユーザＵの手指の動きに応じて、手オブジェクト４００の動作を制御するように構成されている。
【００５７】
また、左手オブジェクト４００Ｌと右手オブジェクト４００Ｒは、それぞれコリジョンエリアＣＡを有する。コリジョンエリアＣＡは、手オブジェクト４００と仮想オブジェクト（例えば、ブロックオブジェクト５００やボタンオブジェクト６００）とのコリジョン判定（当たり判定）に供される。手オブジェクト４００のコリジョンエリアＣＡとブロックオブジェクト５００（ボタンオブジェクト６００）のコリジョンエリアとが接触することで、ブロックオブジェクト５００（ボタンオブジェクト６００）に所定の影響（コリジョン効果）が与えられる。
【００５８】
例えば、手オブジェクト４００のコリジョンエリアＣＡとブロックオブジェクト５００のコリジョンエリアとが接触することで、ブロックオブジェクト５００に所定のダメージを与えることができる。また、手オブジェクト４００がブロックオブジェクト５００を掴んだ状態で手オブジェクト４００とブロックオブジェクト５００を一体的に移動させることができる。
【００５９】
図９に示すように、コリジョンエリアＣＡは、例えば、手オブジェクト４００の中心位置を中心とした直径Ｒを有する球により規定されてもよい。以下の説明では、手オブジェクト４００のコリジョンエリアＣＡは、手オブジェクト４００の中心位置を中心とした直径Ｒの球状に形成されているものとする。
【００６０】
ブロックオブジェクト５００は、手オブジェクト４００によって影響を受ける仮想オブジェクトである。ブロックオブジェクト５００もコリジョンエリアを有しており、本実施形態では、ブロックオブジェクト５００のコリジョンエリアは、ブロックオブジェクト５００を構成する領域（ブロックオブジェクト５００の外形領域）に一致しているものとする。
【００６１】
ボタンオブジェクト６００は、手オブジェクト４００によって影響を受ける仮想オブジェクトであって、操作部６２０を有する。ボタンオブジェクト６００もコリジョンエリアを有しており、本実施形態では、ボタンオブジェクト６００のコリジョンエリアは、ボタンオブジェクト６００を構成する領域（ボタンオブジェクト６００の外形領域）に一致しているものとする。特に、操作部６２０のコリジョンエリアは、操作部６２０の外形領域に一致しているものとする。
【００６２】
ボタンオブジェクト６００の操作部６２０が手オブジェクト４００によって押されたときに、仮想空間２００内に配置された所定のオブジェクト（図示せず）に所定の影響が与えられる。具体的には、手オブジェクト４００のコリジョンエリアＣＡと操作部６２０のコリジョンエリアとが接触することで、コリジョン効果として操作部６２０が手オブジェクト４００によって押される。そして、操作部６２０が押されることで仮想空間２００内に配置された所定のオブジェクトに所定の影響が与えられる。例えば、操作部６２０が手オブジェクト４００によって押されることで仮想空間２００内に存在するオブジェクト（キャラクターオブジェクト）が動き出してもよい。
【００６３】
（第１実施形態）
次に、第１実施形態に係る情報処理方法について図９から図１１を参照して説明する。図１０は、右手オブジェクト４００ＲのコリジョンエリアＣＡがボタンオブジェクト６００の操作部６２０に接触している様子を示す仮想空間２００の平面図である。図１１は、第１実施形態に係る情報処理方法を説明するためのフローチャートである。図１１に示すフローチャートでは、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定する処理（ステップＳ１３で規定される判定処理）が右手オブジェクト４００Ｒと操作部６２０との当たり判定（ステップＳ１４で規定される処理）の前に実行される。
【００６４】
また、本実施形態の説明では、説明の便宜上、右手オブジェクト４００Ｒがボタンオブジェクト６００の操作部６２０に所定の影響を与えるかどうかについて言及する一方、左手オブジェクト４００Ｌがボタンオブジェクト６００の操作部６２０に所定の影響を与えるかどうかについては言及しない。このため、図１０では、左手オブジェクト４００Ｌの図示が省略されている。また、制御部１２１は、図１０及び図１２に示す各処理を１フレーム毎に繰り返し実行してもよい。尚、制御部１２１は、図１０に示す各処理を所定の時間間隔ごとに繰り返し実行してもよい。
【００６５】
図１１に示すように、ステップＳ１０において、制御部１２１は、ＨＭＤ１１０の絶対速度Ｖ（図９参照）を特定する。ここで、絶対速度Ｖとは、現実空間内の所定の場所に固定的に設置された位置センサ１３０に対するＨＭＤ１１０の速度をいう。また、ユーザＵがＨＭＤ１１０を装着しているため、ＨＭＤ１１０の絶対速度はユーザＵの絶対速度に相当する。つまり、本実施形態では、ＨＭＤ１１０の絶対速度を特定することで、ユーザＵの絶対速度を特定している。図１０に示すように、現実空間においてＨＭＤ１１０が移動すると、仮想カメラ３００も仮想空間２００内において移動する。
【００６６】
具体的には、制御部１２１は、位置センサ１３０によって取得されたデータに基づいて、ＨＭＤ１１０の位置情報を取得し、当該取得された位置情報に基づいて、ＨＭＤ１１０の絶対速度Ｖを特定する。例えば、ｎ番目（ｎは１以上の整数）のフレームのときのＨＭＤ１１０の位置をＰｎとし、（ｎ＋１）番目のフレームのときのＨＭＤ１１０の位置をＰｎ＋１とし、各フレーム間の時間間隔をΔＴとした場合、ｎ番目のフレームのときのＨＭＤ１１０の絶対速度Ｖｎは、Ｖｎ＝｜Ｐｎ＋１−Ｐｎ｜／ΔＴとなる。ここで、動画像のフレームレートが９０ｆｐｓである場合、時間間隔ΔＴは１／９０となる。また、ＨＭＤ１１０の位置Ｐは、三次元座標系に表示可能な位置ベクトルである。このように、制御部１２１は、ｎ番目のフレームのときのＨＭＤ１１０の位置Ｐｎと（ｎ＋１）番目のフレームのときのＨＭＤ１１０の位置Ｐｎ＋１を取得した上で、位置ベクトルＰｎ，Ｐｎ＋１及び時間間隔ΔＴに基づいて、ｎ番目のフレームのときの絶対速度Ｖｎを特定することができる。
【００６７】
尚、制御部１２１は、ｗ軸方向におけるＨＭＤ１１０の絶対速度Ｖを特定してもよいし、ｗ軸方向以外の所定の方向におけるＨＭＤ１１０の絶対速度Ｖを特定してもよい。例えば、ｎ番目（ｎは１以上の整数）のフレームのときのＨＭＤ１１０の位置Ｐｎのｗ軸方向の位置をｗｎとし、（ｎ＋１）番目のフレームのときのＨＭＤ１１０の位置Ｐｎ＋１のｗ軸方向の位置をｗｎ＋１とし、各フレーム間の時間間隔をΔＴとした場合、ｎ番目のフレームのときのｗ軸方向におけるＨＭＤ１１０の絶対速度Ｖｎは、Ｖｎ＝（ｗｎ＋１−ｗｎ）／ΔＴとなる。
【００６８】
次に、ステップＳ１１において、制御部１２１は、仮想カメラ３００の視野ＣＶを特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、ＨＭＤ１１０の位置及び傾きを特定した上で、ＨＭＤ１１０の位置及び傾きに基づいて、仮想カメラ３００の視野ＣＶを特定する。その後、制御部１２１は、右手オブジェクト４００Ｒの位置を特定する（ステップＳ１２）。具体的には、制御部１２１は、位置センサ１３０及び／又はコントローラ３２０Ｒのセンサからのデータに基づいて、現実空間におけるコントローラ３２０Ｒの位置を特定した上で、現実空間におけるコントローラ３２０Ｒの位置に基づいて右手オブジェクト４００Ｒの位置を特定する。
【００６９】
次に、制御部１２１は、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下（Ｖ≦Ｖｔｈ）であるかどうかを判定する（ステップＳ１３）。ここで、所定の値Ｖｔｈ（Ｖｔｈ≧０）はゲーム等のコンテンツの内容に応じて適宜設定されてもよい。また、ステップＳ１３で規定された判定条件（Ｖ≦Ｖｔｈ）は、右手オブジェクト４００Ｒ（操作オブジェクト）のコリジョンエリアＣＡがボタンオブジェクト６００（対象オブジェクト）の操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件（第１条件）に相当する。
【００７０】
制御部１２１は、ステップＳ１３で規定される判定条件が満たされないと判定した場合（つまり、絶対速度Ｖが所定の値Ｖｔｈよりも大きいと判定した場合）（ステップＳ１３でＮＯ）、ステップＳ１４及びＳ１５で規定される処理を実行しない。つまり、制御部１２１は、ステップＳ１４で規定されるコリジョン判定処理及びステップＳ１５で規定されるコリジョン効果を発生させる処理をしないので、右手オブジェクト４００Ｒはボタンオブジェクト６００の操作部６２０に所定の影響を与えない。
【００７１】
一方、制御部１２１は、ステップＳ１３で規定される判定条件が満たされると判定した場合（つまり、絶対速度Ｖが所定の値Ｖｔｈ以下であると判定した場合）（ステップＳ１３でＹＥＳ）、ボタンオブジェクト６００の操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する（ステップＳ１４）。特に、制御部１２１は、右手オブジェクト４００Ｒの位置とボタンオブジェクト６００の操作部６２０の位置に基づいて、操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する。ステップＳ１４の判定結果がＹＥＳの場合、制御部１２１は、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響を与える（ステップＳ１４）。例えば、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果として、制御部１２１は、操作部６２０が右手オブジェクト４００Ｒによって押されたと判定してもよい。この結果として、仮想空間２００内に配置された所定のオブジェクト（図示せず）に所定の影響が与えられてもよい。さらに、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果として、操作部６２０の接触面６２０ａが＋Ｘ方向に移動してもよい。一方、ステップＳ１４の判定結果がＮＯの場合、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果は発生させない。
【００７２】
本実施形態によれば、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかが判定される。絶対速度Ｖが所定の値Ｖｔｈよりも大きいと判定された場合（ステップＳ１３の判定条件が満たされないと判定された場合）、ステップＳ１４及びＳ１５で規定される処理は実行されない。このように、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈよりも大きい状態で右手オブジェクト４００Ｒが操作部６２０に接触した場合には、右手オブジェクト４００Ｒは意図せずに操作部６２０に接触したと判断されるため、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン判定も実行されないと共に、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果も生じない。
【００７３】
従って、右手オブジェクト４００Ｒが操作部６２０に意図せずに接触した場合、操作部６２０が右手オブジェクト４００Ｒによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。
【００７４】
次に、第１実施形態の変形例に係る情報処理方法について図１２を参照して説明する。図１２は、第１実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。図１２に示すフローチャートでは、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定する処理（ステップＳ２４で規定される判定処理）が右手オブジェクト４００Ｒと操作部６２０との当たり判定（ステップＳ２３で規定される処理）の後に実行される。この点において、図１２に示す情報処理方法と図１１に示す情報処理方法は相違する。以下では、図１１に示す情報処理方法との相違点についてのみ説明を行う。
【００７５】
図１２に示すように、制御部１２１は、ステップＳ２０〜Ｓ２２に規定された処理を実行した後に、ボタンオブジェクト６００の操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する（ステップＳ２３）。尚、ステップＳ２０〜Ｓ２２の処理は、図１１に示すステップＳ１０〜Ｓ１２の処理に相当する。
【００７６】
ステップＳ２３の判定結果がＮＯである場合、操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触していないので、本処理を終了する。一方、ステップＳ２３の判定結果がＹＥＳである場合（操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触していると判定された場合）、制御部１２１は、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかを判定する（ステップＳ２４）。
【００７７】
制御部１２１は、絶対速度Ｖが所定の値Ｖｔｈよりも大きいと判定した場合（ステップＳ２４でＮＯ）、ステップＳ２５で規定される処理を実行せずに本処理を終了する。一方、制御部１２１は、絶対速度Ｖが所定の値Ｖｔｈ以下であると判定した場合（ステップＳ２４でＹＥＳ）、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響（コリジョン効果）を与える（ステップＳ２５）。
【００７８】
このように、絶対速度Ｖが所定の値Ｖｔｈよりも大きいと判定された場合（ステップＳ２４の判定条件が満たされないと判定された場合）、ステップＳ２５で規定される処理は実行されない。このように、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈよりも大きい状態で右手オブジェクト４００Ｒが操作部６２０に接触した場合には、右手オブジェクト４００Ｒは意図せずに操作部６２０に接触したと判断されるため、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果が生じない。この点において、本変形例に係る情報処理方法では、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン判定は実行されるものの、ステップＳ２４の判定結果がＮＯである場合に右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果が発生しない。
【００７９】
従って、右手オブジェクト４００Ｒが操作部６２０に意図せずに接触した場合、操作部６２０が右手オブジェクト４００Ｒによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。
【００８０】
（第２実施形態）
次に、第２実施形態に係る情報処理方法について図１３及び図１４を参照して説明する。図１３は、第２実施形態に係る情報処理方法を説明するためのフローチャートである。図１４は、右手オブジェクト４００Ｒとボタンオブジェクト６００が仮想カメラ３００の視野ＣＶ外に存在する様子を示す仮想空間２００の平面図である。図１３に示すように、第２実施形態に係る情報処理方法は、ステップＳ３４に規定されるステップを更に有する点で第１実施形態に係る情報処理方法（図１１参照）と相違する。尚、以下では、第１実施形態において既に説明した事項については繰り返し説明しない。
【００８１】
図１３に示すように、制御部１２１は、ステップＳ３０〜Ｓ３２に規定された処理を実行した後に、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかを判定する（ステップＳ３３）。尚、ステップＳ３０〜Ｓ３２の処理は、図１１に示すステップＳ１０〜Ｓ１２の処理に対応する。
【００８２】
ステップＳ３３の判定結果がＹＥＳの場合、制御部１２１は、ボタンオブジェクト６００の操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する（ステップＳ３５）。一方、ステップＳ３３の判定結果がＮＯの場合、制御部１２１は、仮想カメラ３００の視野ＣＶと右手オブジェクト４００Ｒの位置に基づいて、右手オブジェクト４００Ｒが仮想カメラ３００の視野ＣＶ内に存在するかどうかを判定する（ステップＳ３４）。図１４に示すように、右手オブジェクト４００Ｒが仮想カメラ３００の視野ＣＶ外に存在する場合、制御部１２１は、ステップＳ３４で規定される判定条件（第２条件）は満たされないと判定し、ステップＳ３５及びＳ３６の処理を実行せずに、本処理を終了する。つまり、制御部１２１は、ステップＳ３５で規定されるコリジョン判定処理及びステップＳ３６で規定されるコリジョン効果を発生させる処理を実行しないので、右手オブジェクト４００Ｒはボタンオブジェクト６００の操作部６２０に所定の影響を与えない。ここで、ステップＳ３４で規定された判定条件は、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件（第２条件）に相当する。
【００８３】
一方、制御部１２１は、ステップＳ３４で規定された判定条件が満たされると判定した場合（つまり、右手オブジェクト４００Ｒが仮想カメラ３００の視野ＣＶ内に存在すると判定した場合）（ステップＳ３４でＹＥＳ）、ステップＳ３５の判定処理（コリジョン判定処理）を実行する。ステップＳ３５の判定結果がＹＥＳの場合、制御部１２１は、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響を与える（ステップＳ３６）。一方、ステップＳ３５の判定結果がＮＯの場合、ステップＳ３６の処理を実行せずに本処理を終了する。
【００８４】
本実施形態によれば、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかが判定される（ステップＳ３３）と共に、右手オブジェクト４００Ｒが仮想カメラ３００の視野ＣＶ内に存在するかどうかが判定される（ステップＳ３４）。さらに、ステップＳ３３の判定条件とステップＳ３４の判定条件が共に満たされないと判定された場合、右手オブジェクト４００Ｒは操作部６２０に所定の影響を与えない。このように、互いに異なる２つの判定条件を用いることで右手オブジェクト４００Ｒが意図せずに操作部６２０に接触したかどうかをより確実に判定することができる。特に、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈよりも大きく、且つ右手オブジェクト４００Ｒが視野ＣＶ内に存在しない状態で、右手オブジェクト４００Ｒが操作部６２０に接触した場合には、右手オブジェクト４００Ｒは意図せずに操作部６２０に接触したと判定され、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果は生じない。従って、右手オブジェクト４００Ｒが操作部６２０に意図せずに接触した場合、操作部６２０が右手オブジェクト４００Ｒによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。
【００８５】
尚、本実施形態では、ステップＳ３４において、制御部１２１は、右手オブジェクト４００Ｒが視野ＣＶ内に存在するかどうかを判定している。これに代わり、制御部１２１は、右手オブジェクト４００Ｒとボタンオブジェクト６００のうちの少なくとも一つが視野ＣＶ内に存在するかどうかを判定してもよい。この場合、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈよりも大きく、且つ右手オブジェクト４００Ｒとボタンオブジェクト６００の両方が視野ＣＶ内に存在しない状態で右手オブジェクト４００Ｒが操作部６２０に接触した場合には、右手オブジェクト４００Ｒは意図せずに操作部６２０に接触したと判定され、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果は生じない。
【００８６】
次に、第２実施形態の変形例に係る情報処理方法について図１５を参照して説明する。図１５は、第２実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。図１５に示すフローチャートでは、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定する処理（ステップＳ４４及びＳ４５で規定される判定処理）が右手オブジェクト４００Ｒと操作部６２０との当たり判定（ステップＳ４３で規定される処理）の後に実行される。この点において、図１５に示す情報処理方法と図１３に示す情報処理方法は相違する。以下では、図１３に示す情報処理方法との相違点についてのみ説明を行う。
【００８７】
図１５に示すように、制御部１２１は、ステップＳ４０〜Ｓ４２に規定された処理を実行した後に、ボタンオブジェクト６００の操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する（ステップＳ４３）。
【００８８】
ステップＳ４３の判定結果がＮＯである場合、操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触していないので、本処理を終了する。一方、ステップＳ４３の判定結果がＹＥＳである場合（操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触していると判定された場合）、制御部１２１は、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかを判定する（ステップＳ４４）。
【００８９】
制御部１２１は、絶対速度Ｖが所定の値Ｖｔｈよりも大きいと判定した場合（ステップＳ４４でＮＯ）、ステップＳ４５で規定される判定処理を実行する。一方、制御部１２１は、絶対速度Ｖが所定の値Ｖｔｈ以下であると判定した場合（ステップＳ４４でＹＥＳ）、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響（コリジョン効果）を与える（ステップＳ４６）。
【００９０】
制御部１２１は、右手オブジェクト４００Ｒが仮想カメラ３００の視野ＣＶ内に存在すると判定した場合（ステップＳ４５でＹＥＳ）、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響（コリジョン効果）を与える（ステップＳ４６）。一方、ステップＳ４５の判定結果がＮＯである場合、ステップＳ４６の処理を実行せずに本処理を終了する。
【００９１】
本変形例に係る情報処理方法では、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン判定は実行されるものの、ステップＳ４４の判定条件とステップＳ４５の判定条件が共に満たされないと判定された場合、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果が発生しない。
【００９２】
従って、右手オブジェクト４００Ｒが操作部６２０に意図せずに接触した場合、操作部６２０が右手オブジェクト４００Ｒによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。
【００９３】
（第３実施形態）
次に、第３実施形態に係る情報処理方法について図１６を参照して説明する。図１６は、第３実施形態に係る情報処理方法を説明するためのフローチャートである。図１６に示すように、第３実施形態に係る情報処理方法は、ステップＳ５１，Ｓ５５に規定されるステップを更に有する点で第１実施形態に係る情報処理方法（図１１参照）と相違する。尚、以下では、第１実施形態において既に説明した事項については繰り返し説明しない。
【００９４】
図１６に示すように、制御部１２１は、ステップＳ５０に規定された処理を実行した後に、ＨＭＤ１１０に対するコントローラ３２０Ｒ（ユーザＵの右手）の相対速度ｖ（図９参照）を特定する（ステップＳ５１）。例えば、上記したように、ｎ番目（ｎは１以上の整数）のフレームのときのＨＭＤ１１０の位置をＰｎとし、（ｎ＋１）番目のフレームのときのＨＭＤ１１０の位置をＰｎ＋１とし、各フレーム間の時間間隔をΔＴとした場合、ｎ番目のフレームのときのＨＭＤ１１０の絶対速度Ｖｎは、Ｖｎ＝｜Ｐｎ＋１−Ｐｎ｜／ΔＴとなる。さらに、ｎ番目のフレームのときのコントローラ３２０Ｒの位置をＰ’ｎとし、（ｎ＋１）番目のフレームのときのコントローラ３２０Ｒの位置をＰ’ｎ＋１とし、各フレーム間の時間間隔をΔＴとした場合、ｎ番目のフレームのときのコントローラ３２０Ｒの絶対速度Ｖ’ｎは、Ｖ’ｎ＝｜Ｐ’ｎ＋１−Ｐ’ｎ｜／ΔＴとなる。このように、ｎ番目のフレームのときのＨＭＤ１１０に対するコントローラ３２０Ｒの相対速度ｖｎは、ｖｎ＝Ｖ’ｎ−Ｖｎとなる。このように、制御部１２１は、ｎ番目のフレームのときのＨＭＤ１１０の絶対速度Ｖｎとコントローラ３２０Ｒの絶対速度Ｖ’ｎに基づいて、ｎ番目のフレームのときの相対速度ｖｎを特定することができる。尚、制御部１２１は、ｗ軸方向における相対速度ｖを特定してもよいし、ｗ軸方向以外の所定の方向における相対速度ｖを特定してもよい。
【００９５】
次に、制御部１２１は、ステップＳ５２及びＳ５３に規定された処理を実行した後、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかを判定する（ステップＳ５４）。
【００９６】
ステップＳ５４の判定結果がＹＥＳの場合、制御部１２１は、ボタンオブジェクト６００の操作部６２０のコリジョンエリアが右手オブジェクト４００ＲのコリジョンエリアＣＡに接触しているかどうかを判定する（ステップＳ５６）。一方、ステップＳ５４の判定結果がＮＯの場合、制御部１２１は、ＨＭＤ１１０に対するコントローラ３２０Ｒの相対速度ｖが所定の値ｖｔｈよりも大きいかどうかを判定する（ステップＳ５５）。ここで、所定の値ｖｔｈ（ｖｔｈ≧０）は、ゲーム等のコンテンツの内容に応じて適宜設定することができる。ステップＳ５５の判定結果がＮＯである場合、ステップＳ５６及びＳ５７の処理を実行せずに、本処理を終了する。つまり、制御部１２１は、ステップＳ５６で規定されるコリジョン判定処理及びステップＳ５７で規定されるコリジョン効果を発生させる処理を実行しないので、右手オブジェクト４００Ｒはボタンオブジェクト６００の操作部６２０に所定の影響を与えない。ここで、ステップＳ５５で規定された判定条件は、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件（第２条件）に相当する。
【００９７】
一方、制御部１２１は、ステップＳ５５で規定された判定条件が満たされると判定した場合（つまり、相対速度ｖが所定の値ｖｔｈよりも大きいと判定した場合）（ステップＳ５５でＹＥＳ）、ステップＳ５６の判定処理（コリジョン判定処理）を実行する。ステップＳ５６の判定結果がＹＥＳの場合、制御部１２１は、右手オブジェクト４００ＲのコリジョンエリアＣＡに接触している操作部６２０に所定の影響を与える（ステップＳ５７）。一方、ステップＳ５６の判定結果がＮＯの場合、ステップＳ５７の処理を実行せずに本処理を終了する。
【００９８】
本実施形態によれば、右手オブジェクト４００ＲのコリジョンエリアＣＡが操作部６２０のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈ以下であるかどうかが判定される（ステップＳ５４）と共に、ＨＭＤ１１０に対するコントローラ３２０Ｒの相対速度ｖがｖｔｈよりも大きいかどうかが判定される（ステップＳ５５）。さらに、ステップＳ５４の判定条件とステップＳ５５の判定条件が共に満たされないと判定された場合、右手オブジェクト４００Ｒは操作部６２０に所定の影響を与えない。このように、互いに異なる２つの判定条件を用いることで右手オブジェクト４００Ｒが意図せずに操作部６２０に接触したかどうかをより確実に判定することができる。特に、ＨＭＤ１１０の絶対速度Ｖが所定の値Ｖｔｈよりも大きく、且つＨＭＤ１１０に対するコントローラ３２０Ｒの相対速度ｖが所定の値ｖｔｈ以下である状態で、右手オブジェクト４００が操作部６２０に接触した場合には、右手オブジェクト４００Ｒは意図せずに操作部６２０に接触したと判定され、右手オブジェクト４００Ｒと操作部６２０との間のコリジョン効果は生じない。従って、右手オブジェクト４００Ｒが操作部６２０に意図せずに接触した場合、操作部６２０が右手オブジェクト４００Ｒによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。
【００９９】
制御部１２１によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る情報処理方法をコンピュータ（プロセッサ）に実行させるための情報処理プログラムが記憶部１２３又はＲＯＭに予め組み込まれていてもよい。または、情報処理プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に通信可能に接続されることで、当該記憶媒体に格納された情報処理プログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた情報処理プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は本実施形態に係る情報処理方法を実行する。
【０１００】
また、情報処理プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部１２３に組み込まれる。
【０１０１】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【０１０２】
本実施形態では、ユーザＵの手の動きを示す外部コントローラ３２０の動きに応じて、手オブジェクトの移動が制御されているが、ユーザＵの手自体の移動量に応じて、仮想空間内における手オブジェクト４００の移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ１３０により、ユーザＵの手の位置や移動量を検出することができると共に、ユーザＵの手指の動きや状態を検出することができる。また、位置センサ１３０は、ユーザＵの手（手指を含む）を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像データに基づいて、ユーザＵの手の位置や移動量を検出することができると共に、ユーザＵの手指の動きや状態を検出することができる。
【０１０３】
また、本実施形態では、ユーザＵの頭部以外の身体の一部である手の位置及び／又は動きに応じて、手オブジェクトがボタンオブジェクトの操作部に与える影響を規定するコリジョン効果が設定されているが、本実施形態はこれには限定されない。例えば、ユーザＵの頭部以外の身体の一部である足の位置及び／又は動きに応じて、ユーザＵの足の動きに連動する足オブジェクト（操作オブジェクトの一例）が対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。このように、本実施形態では、当該ユーザＵの身体の一部と連動する操作オブジェクトが対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。
【０１０４】
また、本実施形態では、手オブジェクトにより所定の影響を受ける仮想オブジェクトの一例としてブロックオブジェクト５００やボタンオブジェクト６００が説明されているが、仮想オブジェクトの属性は特に限定されない。例えば、仮想オブジェクト（対象オブジェクト）が他のユーザにより操作されるアバターの場合、コリジョン効果としてアバターに与えられるダメージ量が設定されてもよい。
【符号の説明】
【０１０５】
１：ＨＭＤシステム
３：通信ネットワーク
２１：中心位置
１１２：表示部
１１４：センサ
１２０：制御装置
１２１：制御部
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
１４０：注視センサ
２００：仮想空間
３００：仮想カメラ
３０２：操作ボタン
３０２ａ：プッシュ式ボタン
３０２ｂ：プッシュ式ボタン
３０２ｅ：トリガー式ボタン
３０２ｆ：トリガー式ボタン
３０４：検知点
３２０：外部コントローラ（コントローラ）
３２０ｉ：アナログスティック
３２０Ｌ：左手用外部コントローラ（コントローラ）
３２０Ｒ：右手用外部コントローラ（コントローラ）
３２２：天面
３２４：グリップ
３２６：フレーム
４００：手オブジェクト
４００Ｌ：左手オブジェクト
４００Ｒ：右手オブジェクト
５００：ブロックオブジェクト
６００：ボタンオブジェクト
６２０：操作部
６２０ａ：接触面
【図１】
2018116484.tif 000003
【図２】
2018116484.tif 000004
【図３】
2018116484.tif 000005
【図４】
2018116484.tif 000006
【図５】
2018116484.tif 000007
【図６】
2018116484.tif 000008
【図７】
2018116484.tif 000009
【図８】
2018116484.tif 000010
【図９】
2018116484.tif 000011
【図１０】
2018116484.tif 000012
【図１１】
2018116484.tif 000013
【図１２】
2018116484.tif 000014
【図１３】
2018116484.tif 000015
【図１４】
2018116484.tif 000016
【図１５】
2018116484.tif 000017
【図１６】
2018116484.tif 000018