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