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