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