(57)【要約】【課題】複数の仮想空間を移動可能な仮想現実を実現できるシミュレーションシステム及びプログラム等を提供できる。【解決手段】シミュレーションシステムは仮想空間設定部と移動体処理部と表示処理部を含む。仮想空間設定部は仮想空間として第１の仮想空間と第２の仮想空間を設定する。表示処理部は、切替条件が成立する前においては、ユーザ移動体又は仮想カメラの位置情報を第１の仮想空間の位置情報として設定し、第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理を行って、特異点に対応する領域に第２の仮想空間の画像が表示される画像を生成する。切替条件が成立した場合には、ユーザ移動体又は仮想カメラの位置情報を第２の仮想空間の位置情報として設定し、第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理を行って、特異点に対応する領域に第１の仮想空間の画像が表示される画像を生成する。【選択図】図２７
2018109835.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、
前記仮想空間において仮想カメラから見える画像の描画処理を行う表示処理部と、
を含み、
前記仮想空間設定部は、
前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、
前記表示処理部は、
所与の切替条件が成立する前においては、
前記ユーザ移動体又は前記仮想カメラの位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、前記第１の仮想空間の画像に加えて前記第２の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第２の仮想空間の画像が表示される画像を生成し、
前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、
前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、前記第２の仮想空間の画像に加えて前記第１の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成し、
前記表示処理部は、
前記仮想カメラの視線方向が、前記第１の進行方向の反対方向側を向いた場合に、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成することを特徴とするシミュレーションシステム。
【請求項２】
請求項１において、
前記表示処理部は、
前記ユーザ移動体又は前記仮想カメラが、前記第１の進行方向とは異なる第２の進行方向で前記特異点を通過した場合には、前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、前記第１の描画処理として、少なくとも前記第１の仮想空間の画像を描画する処理を行うことを特徴とするシミュレーションシステム。
【請求項３】
請求項１又は２において、
前記表示処理部は、
前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を通過することで前記切替条件が成立した場合に、前記ユーザ移動体又は前記仮想カメラの前記位置情報を、第３の仮想空間の位置情報として設定し、第３の描画処理として、少なくとも前記第３の仮想空間の画像を描画する処理を行うことを特徴とするシミュレーションシステム。
【請求項４】
請求項３において、
前記表示処理部は、
複数の前記ユーザがプレイする場合に、複数の前記ユーザに対応する複数の前記ユーザ移動体又は複数の前記仮想カメラが前記特異点に対応する場所を通過して前記第１の仮想空間に戻ったことを条件に、前記第３の描画処理を許可することを特徴とするシミュレーションシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記表示処理部は、
前記ユーザの入力情報又はセンサの検出情報に基づいて、前記切替条件が成立したか否かを判断することを特徴とするシミュレーションシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記ユーザが移動する実空間のプレイフィールドには、前記特異点に対応する物体が配置されており、
前記表示処理部は、
前記ユーザが前記実空間において前記物体の場所を通過した場合に、前記ユーザ移動体又は前記仮想カメラが、前記特異点に対応する場所を通過したと判断することを特徴とするシミュレーションシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記表示処理部は、
前記特異点を設定又は非設定にする処理を行うことを特徴とするシミュレーションシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記ユーザに仮想現実を体験させるための体感装置を制御する体感装置制御部を含み、
前記体感装置制御部は、
前記切替条件が成立していない場合の前記体感装置の制御と、前記切替条件が成立した場合の前記体感装置の制御を異ならせることを特徴とするシミュレーションシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
複数の前記ユーザがプレイする場合に、実空間でのユーザ間の衝突の報知情報の出力処理を行う報知処理部を含むことを特徴とするシミュレーションシステム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
実空間での前記ユーザの位置情報を取得する情報取得部を含み、
前記移動体処理部は、
取得された前記位置情報に基づいて、前記ユーザ移動体を移動させる処理を行い、
前記表示処理部は、
前記ユーザが装着する頭部装着型表示装置の表示画像を生成し、
前記表示処理部は、
前記切替条件が成立する前においては、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、
前記切替条件が成立した場合には、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定することを特徴とするシミュレーションシステム。
【請求項１１】
実空間でのユーザの位置情報を取得する情報取得部と、
オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
取得された前記位置情報に基づいて、前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、
前記仮想空間において仮想カメラから見える画像の描画処理を行い、前記ユーザが装着する頭部装着型表示装置に表示する画像を生成する表示処理部と、
を含み、
前記仮想空間設定部は、
前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、
所与の切替条件が成立する前においては、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、少なくとも前記第１の仮想空間の画像を描画する処理を行い、
前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、少なくとも前記第２の仮想空間の画像を描画する処理を行うことを特徴とするシミュレーションシステム。
【請求項１２】
オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、
前記仮想空間において仮想カメラから見える画像の描画処理を行う表示処理部として、
コンピュータを機能させ、
前記仮想空間設定部は、
前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、
前記表示処理部は、
所与の切替条件が成立する前においては、
前記ユーザ移動体又は前記仮想カメラの位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、前記第１の仮想空間の画像に加えて前記第２の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第２の仮想空間の画像が表示される画像を生成し、
前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、
前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、前記第２の仮想空間の画像に加えて前記第１の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成し、
前記表示処理部は、
前記仮想カメラの視線方向が、前記第１の進行方向の反対方向側を向いた場合に、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成することを特徴とするプログラム。
【請求項１３】
実空間でのユーザの位置情報を取得する情報取得部と、
オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
取得された前記位置情報に基づいて、前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、
前記仮想空間において仮想カメラから見える画像の描画処理を行い、前記ユーザが装着する頭部装着型表示装置に表示する画像を生成する表示処理部として、
コンピュータを機能させ、
前記仮想空間設定部は、
前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、
所与の切替条件が成立する前においては、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、少なくとも前記第１の仮想空間の画像を描画する処理を行い、
前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、
前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、少なくとも前記第２の仮想空間の画像を描画する処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、仮想空間において仮想カメラから見える画像を生成するシミュレーションシステムが知られている。例えば仮想カメラから見える画像をＨＭＤ（頭部装着型表示装置）に表示して、バーチャルリアリティ（ＶＲ）を実現するシミュレーションシステムの従来技術としては、特許文献１等に開示される技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３０９２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなシミュレーションシステムでは、複数のオブジェクトが配置設定される仮想空間として、１つの仮想空間だけが設定される。そしてユーザは、自身に対応するユーザキャラクタが、当該１つの仮想空間で移動することで、バーチャルリアリティの世界を楽しむことになる。しかしながら、従来は、例えば複数の仮想空間を移動可能な仮想現実を実現するシミュレーションシステムについては提案されていなかった。
【０００５】
本発明の幾つかの態様によれば、複数の仮想空間を移動可能な仮想現実を実現できるシミュレーションシステム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、前記仮想空間において仮想カメラから見える画像の描画処理を行う表示処理部と、を含み、前記仮想空間設定部は、前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、前記表示処理部は、所与の切替条件が成立する前においては、前記ユーザ移動体又は前記仮想カメラの位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、前記第１の仮想空間の画像に加えて前記第２の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第２の仮想空間の画像が表示される画像を生成し、前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、前記第２の仮想空間の画像に加えて前記第１の仮想空間の画像を描画する処理を行って、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成し、前記表示処理部は、前記仮想カメラの視線方向が、前記第１の進行方向の反対方向側を向いた場合に、前記特異点に対応する領域に前記第１の仮想空間の画像が表示される画像を生成するシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明の一態様によれば、ユーザ移動体が移動する仮想空間において、仮想カメラから見える画像が生成される。また仮想空間として第１の仮想空間と第２の仮想空間が設定される。そして切替条件が成立する前においては、ユーザ移動体又は仮想カメラの位置情報が第１の仮想空間の位置情報として設定され、第１の仮想空間の画像に加えて第２の仮想空間の画像が描画されて、特異点に対応する領域に第２の仮想空間の画像が表示される画像が生成される。一方、切替条件が成立すると、ユーザ移動体又は仮想カメラの位置情報が第２の仮想空間の位置情報として設定され、第２の仮想空間の画像に加えて第１の仮想空間の画像が描画されて、特異点に対応する領域に第１の仮想空間の画像が表示される画像が生成される。そして本発明の一態様では、仮想カメラの視線方向が、第１の進行方向の反対方向側を向いた場合に、特異点に対応する領域に第１の仮想空間の画像が表示される画像が生成されるようになる。このようにすれば、ユーザ移動体又は仮想カメラが特異点に対応する領域を通過することで、ユーザ移動体又は仮想カメラの位置が第１の仮想空間の位置から第２の仮想空間の位置に切り替わるようになる。そしてユーザ移動体又は仮想カメラが第１の仮想空間に位置する場合には、第１の仮想空間の画像に加えて第２の仮想空間の画像が描画されて、特異点に対応する領域に第２の仮想空間の画像が表示されるようになる。一方、ユーザ移動体又は仮想カメラが第２の仮想空間に位置する場合には、第２の仮想空間の画像に加えて第１の仮想空間の画像が描画されて、特異点に対応する領域に第１の仮想空間の画像が表示されるようになる。これにより、複数の仮想空間を移動可能な仮想現実を実現できるシミュレーションシステム等の提供が可能になる。
【０００８】
また本発明の一態様では、前記表示処理部は、前記ユーザ移動体又は前記仮想カメラが、前記第１の進行方向とは異なる第２の進行方向で前記特異点を通過した場合には、前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、前記第１の描画処理として、少なくとも前記第１の仮想空間の画像を描画する処理を行ってもよい。
【０００９】
このようにすれば、ユーザ移動体又は仮想カメラが、第１の進行方向とは異なる第２の進行方向で、特異点に対応する領域を通過することで、ユーザ移動体又は仮想カメラの位置が第２の仮想空間の位置から第１の仮想空間の位置に切り替わるようになる。
【００１０】
また本発明の一態様では、前記表示処理部は、前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を通過することで前記切替条件が成立した場合に、前記ユーザ移動体又は前記仮想カメラの前記位置情報を、第３の仮想空間の位置情報として設定し、第３の描画処理として、少なくとも前記第３の仮想空間の画像を描画する処理を行ってもよい。
【００１１】
このようにすれば、第１、第２の仮想空間に加えて、第３の仮想空間を移動する仮想現実を実現できるシミュレーションシステム等の提供が可能になる。
【００１２】
また本発明の一態様では、前記表示処理部は、複数の前記ユーザがプレイする場合に、複数の前記ユーザに対応する複数の前記ユーザ移動体又は複数の前記仮想カメラが前記特異点に対応する場所を通過して前記第１の仮想空間に戻ったことを条件に、前記第３の描画処理を許可してもよい。
【００１３】
このようにすれば、複数のユーザがプレイする場合に、一部のユーザが第２の仮想空間に取り残されてしまうような事態の発生を防止できる。
【００１４】
また本発明の一態様では、前記表示処理部は、前記ユーザの入力情報又はセンサの検出情報に基づいて、前記切替条件が成立したか否かを判断してもよい。
【００１５】
このようにすれば、ユーザの入力情報やセンサの検出情報に基づいて仮想空間を切り替える処理などを実現できるようになる。
【００１６】
また本発明の一態様では、前記ユーザが移動する実空間のプレイフィールドには、前記特異点に対応する物体が配置されており、前記表示処理部は、前記ユーザが前記実空間において前記物体の場所を通過した場合に、前記ユーザ移動体又は前記仮想カメラが、前記特異点に対応する場所を通過したと判断してもよい。
【００１７】
このようにすれば、実空間において、特異点に対応する物体の場所を実際に通過することで、対応するユーザ移動体又は仮想カメラが、特異点の場所を通過したと判断されるようになるため、ユーザの仮想現実感を向上できる。
【００１８】
また本発明の一態様では、前記表示処理部は、前記特異点を設定又は非設定にする処理を行ってもよい。
【００１９】
このようにすれば、特異点の設定、非設定を切り替えることが可能になり、より多様なゲーム処理やゲーム演出などを実現できるようになる。
【００２０】
また本発明の一態様では、前記ユーザに仮想現実を体験させるための体感装置を制御する体感装置制御部を含み（体感装置制御部としてコンピュータを機能させ）、前記体感装置制御部は、前記切替条件が成立していない場合の前記体感装置の制御と、前記切替条件が成立した場合の前記体感装置の制御を異ならせてもよい。
【００２１】
このようにすれば、仮想空間が切り替わったことを、体感装置を用いてユーザに効果的に体感させることが可能になる。
【００２２】
また本発明の一態様では、複数の前記ユーザがプレイする場合に、実空間でのユーザ間の衝突の報知情報の出力処理を行う報知処理部を含んでもよい（報知処理部としてコンピュータを機能させてもよい）。
【００２３】
このようにすれば、例えば、仮想空間では衝突が発生していないのに、実空間においてユーザ間の衝突が発生するような状況において、ユーザ間の衝突の発生の可能性をユーザに対して効果的に報知できるようになる。
【００２４】
また本発明の一態様では、実空間での前記ユーザの位置情報を取得する情報取得部を含み（情報取得部としてコンピュータを機能させ）、前記移動体処理部は、取得された前記位置情報に基づいて、前記ユーザ移動体を移動させる処理を行い、前記表示処理部は、前記ユーザが装着する頭部装着型表示装置の表示画像を生成し、前記表示処理部は、前記切替条件が成立する前においては、前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、前記切替条件が成立した場合には、前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定してもよい。
【００２５】
このようにすれば、実空間でのユーザの位置情報が取得され、取得された位置情報に基づいて、仮想空間においてユーザ移動体等を移動するようになる。そして切替条件が成立すると、ユーザ移動体又は仮想カメラの位置が第１の仮想空間の位置から第２の仮想空間の位置に切り替わるようになり、複数の仮想空間を移動する仮想現実感を更に向上することが可能になる。
【００２６】
また本発明の一態様は、実空間でのユーザの位置情報を取得する情報取得部と、オブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、取得された前記位置情報に基づいて、前記仮想空間において、ユーザに対応するユーザ移動体を移動させる処理を行う移動体処理部と、前記仮想空間において仮想カメラから見える画像の描画処理を行い、前記ユーザが装着する頭部装着型表示装置に表示する画像を生成する表示処理部と、を含み、前記仮想空間設定部は、前記仮想空間として、第１の仮想空間と、前記第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間とを設定し、所与の切替条件が成立する前においては、前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第１の仮想空間の位置情報として設定し、第１の描画処理として、少なくとも前記第１の仮想空間の画像を描画する処理を行い、前記ユーザ移動体又は前記仮想カメラが前記特異点に対応する場所を第１の進行方向で通過することで前記切替条件が成立した場合には、前記実空間での前記ユーザの前記位置情報により特定される前記ユーザ移動体又は前記仮想カメラの前記位置情報を、前記第２の仮想空間の位置情報として設定し、第２の描画処理として、少なくとも前記第２の仮想空間の画像を描画する処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００２７】
本発明の一態様によれば、実空間でのユーザの位置情報が取得され、取得された位置情報に基づいて、仮想空間においてユーザ移動体等を移動するようになる。そして切替条件が成立すると、ユーザ移動体又は仮想カメラの位置が、第１の仮想空間の位置から第２の仮想空間の位置に切り替わるようになる。これにより、複数の仮想空間を移動可能な仮想現実を実現できるシミュレーションシステム等の提供が可能になる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態のシミュレーションシステムの構成例を示すブロック図。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に用いられるＨＭＤの一例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態に用いられるＨＭＤの他の例。
【図４】シミュレーションシステムのプレイフィールドを説明する斜視図。
【図５】シミュレーションシステムのプレイフィールドを説明する上面図。
【図６】図６（Ａ）〜図６（Ｅ）は仮想空間の切替手法の一例の説明図。
【図７】第１の仮想空間側からドアを見た場合の画像例。
【図８】第２の仮想空間の説明図。
【図９】第２の仮想空間側からドアを見た場合の画像例。
【図１０】図１０（Ａ）、図１０（Ｂ）は第２の仮想空間での体感装置の制御例の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は第３の仮想空間の画像の説明図。
【図１２】第３の仮想空間の画像の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）は本実施形態の手法の説明図。
【図１４】図１４（Ａ）、図１４（Ｂ）は本実施形態の手法の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）は第３の仮想空間への切替手法の説明図。
【図１６】第３の仮想空間への切替手法の説明図。
【図１７】図１７（Ａ）、図１７（Ｂ）は複数のユーザがプレイする場合の本実施形態の手法の説明図。
【図１８】図１８（Ａ）、図１８（Ｂ）は複数のユーザがプレイする場合の本実施形態の手法の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）はユーザの入力情報やセンサの検出情報による切替手法の説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）は特異点に対応する物体を配置して仮想空間の切替を行う手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）は特異点を設定、非設定にする手法の説明図。
【図２２】図２２（Ａ）、図２２（Ｂ）は体感装置の制御手法の説明図。
【図２３】図２３（Ａ）、図２３（Ｂ）は衝突の報知情報の出力手法の説明図。
【図２４】衝突の報知情報の出力手法の説明図。
【図２５】図２５（Ａ）、図２５（Ｂ）は本実施形態での特殊な画像表示例の説明図。
【図２６】図２６（Ａ）、図２６（Ｂ）はＨＭＤを装着するユーザの位置情報を取得する手法の説明図。
【図２７】本実施形態の詳細な処理例を示すフローチャート。
【発明を実施するための形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．シミュレーションシステム
図１は、本実施形態のシミュレーションシステム（シミュレータ、ゲームシステム、画像生成システム）の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ（ＶＲ）をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、ＳＮＳのサービスを提供するシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図１の構成に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３１】
操作部１６０は、ユーザ（プレーヤ）が種々の操作情報（入力情報）を入力するためのものである。操作部１６０は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル、レバー又は音声入力装置等の種々の操作デバイスにより実現できる。
【００３２】
記憶部１７０は各種の情報を記憶する。記憶部１７０は、処理部１００や通信部１９６などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０の機能は、半導体メモリ（ＤＲＡＭ、ＶＲＡＭ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ、光ディスク装置などにより実現できる。記憶部１７０は、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００３３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＢＤ、ＣＤ）、ＨＤＤ、或いは半導体メモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３４】
ＨＭＤ２００（頭部装着型表示装置）は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。ＨＭＤ２００は非透過型であることが望ましいが、透過型であってもよい。またＨＭＤ２００は、いわゆるメガネタイプのＨＭＤであってもよい。
【００３５】
ＨＭＤ２００は、センサ部２１０、表示部２２０、処理部２４０を含む。なおＨＭＤ２００に発光素子を設ける変形実施も可能である。センサ部２１０は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部２１０を用いたトラッキング処理により、ＨＭＤ２００の位置、方向を特定する。ＨＭＤ２００の位置、方向が特定されることで、ユーザの視点位置、視線方向を特定できる。
【００３６】
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第１のトラッキング方式では、後述の図２（Ａ）、図２（Ｂ）で詳細に説明するように、センサ部２１０として複数の受光素子（フォトダイオード等）を設ける。そして外部に設けられた発光素子（ＬＥＤ等）からの光（レーザー等）をこれらの複数の受光素子により受光することで、現実世界の３次元空間でのＨＭＤ２００（ユーザの頭部）の位置、方向を特定する。第２のトラッキング方式では、後述の図３（Ａ）、図３（Ｂ）で詳細に説明するように、複数の発光素子（ＬＥＤ）をＨＭＤ２００に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、ＨＭＤ２００の位置、方向を特定する。第３のトラッキング方式では、センサ部２１０としてモーションセンサを設け、このモーションセンサを用いてＨＭＤ２００の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば３軸の加速度センサと３軸のジャイロセンサを用いた６軸のモーションセンサを用いることで、現実世界の３次元空間でのＨＭＤ２００の位置、方向を特定できる。なお、第１のトラッキング方式と第２のトラッキング方式の組合わせ、或いは第１のトラッキング方式と第３のトラッキング方式の組合わせなどにより、ＨＭＤ２００の位置、方向を特定してもよい。またＨＭＤ２００の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向を直接に特定するトラッキング処理を採用してもよい。
【００３７】
ＨＭＤ２００の表示部２２０は例えば有機ＥＬディスプレイ（ＯＥＬ）や液晶ディスプレイ（ＬＣＤ）などにより実現できる。例えばＨＭＤ２００の表示部２２０には、ユーザの左眼の前に設定される第１のディスプレイ又は第１の表示領域と、右眼の前に設定される第２のディスプレイ又は第２の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左眼用画像と右眼用画像を生成し、第１のディスプレイに左眼用画像を表示し、第２のディスプレイに右眼用画像を表示する。或いは１つのディスプレイの第１の表示領域に左眼用画像を表示し、第２の表示領域に右眼用画像を表示する。またＨＭＤ２００には左眼用、右眼用の２つの接眼レンズ（魚眼レンズ）が設けられており、これによりユーザの視界の全周囲に亘って広がるＶＲ空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左眼用画像、右眼用画像に対して行われる。この補正処理は表示処理部１２０が行う。
【００３８】
ＨＭＤ２００の処理部２４０は、ＨＭＤ２００において必要な各種の処理を行う。例えば処理部２４０は、センサ部２１０の制御処理や表示部２２０の表示制御処理などを行う。また処理部２４０が、３次元音響（立体音響）処理を行って、３次元的な音の方向や距離や広がりの再現を実現してもよい。
【００３９】
なお、図１ではシミュレーションシステムの表示部がＨＭＤ２００である場合の例を示しているが、シミュレーションシステムの表示部はＨＭＤ以外のタイプの表示部であってもよい。例えばシミュレーションシステムの表示部は、例えば業務用ゲーム装置におけるディスプレイ（通常の２Ｄモニターやドームスクリーン）や、家庭用ゲーム装置におけるテレビや、パーソナルコンピュータ（ＰＣ）におけるディスプレイなどであってもよい。
【００４０】
音出力部１９２は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
【００４１】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリカード）、ＵＳＢメモリ、或いは磁気カードなどにより実現できる。
【００４２】
通信部１９６は、有線や無線のネットワークを介して外部（他の装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００４３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４４】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や、ＨＭＤ２００でのトラッキング情報（ＨＭＤの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報）や、プログラムなどに基づいて、ゲーム処理（シミュレーション処理）、仮想空間設定処理、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
【００４５】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された１又は複数の回路装置（例えばＩＣ等）や、１又は複数の回路素子（例えば抵抗、キャパシター等）で構成することもできる。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００４６】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。演算処理部１１０は、情報取得部１１１、仮想空間設定部１１２、移動体処理部１１３、仮想カメラ制御部１１４、ゲーム処理部１１５、報知処理部１１６、体感装置制御部１１７、表示処理部１２０、音処理部１３０を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ（或いはプロセッサ及びメモリ）により実現できる。なお、これらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４７】
入力処理部１０２は、操作情報やトラッキング情報を受け付ける処理や、記憶部１７０から情報を読み出す処理や、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば入力処理部１０２は、操作部１６０を用いてユーザが入力した操作情報やＨＭＤ２００のセンサ部２１０等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部１７０から読み出す処理や、外部装置（サーバ等）からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００４８】
演算処理部１１０は、各種の演算処理を行う。例えば情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理（シミュレーション処理）、表示処理、或いは音処理などの演算処理を行う。
【００４９】
情報取得部１１１（情報取得処理のプログラムモジュール）は種々の情報の取得処理を行う。例えば情報取得部１１１は、ＨＭＤ２００を装着するユーザの位置情報などを取得する。情報取得部１１１はユーザの方向情報などを取得してもよい。
【００５０】
仮想空間設定部１１２（仮想空間設定処理のプログラムモジュール）は、オブジェクトが配置される仮想空間（オブジェクト空間）の設定処理を行う。例えば、移動体（人、ロボット、車、電車、飛行機、船、モンスター又は動物等）、マップ（地形）、建物、観客席、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、仮想空間でのオブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定部１１２は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００５１】
移動体処理部１１３（移動体処理のプログラムモジュール）は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間（オブジェクト空間、ゲーム空間）において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部１１３は、操作部１６０によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）を仮想空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。移動体は、例えば実空間のユーザ（プレーヤ）に対応するユーザ移動体である。ユーザ移動体は、仮想空間の仮想ユーザ（仮想プレーヤ、アバター）や、或いは当該仮想ユーザが搭乗（操作）する搭乗移動体（操作移動体）などである。
【００５２】
仮想カメラ制御部１１４（仮想カメラ制御処理のプログラムモジュール）は、仮想カメラの制御を行う。例えば、操作部１６０により入力されたユーザの操作情報やトラッキング情報などに基づいて、仮想カメラを制御する処理を行う。
【００５３】
例えば仮想カメラ制御部１１４は、ユーザの一人称視点又は三人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動するユーザ移動体の視点（一人称視点）に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置（位置座標）や姿勢（回転軸回りでの回転角度）を制御する。或いは、ユーザ移動体に追従する視点（三人称視点）の位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置や姿勢を制御する。
【００５４】
例えば仮想カメラ制御部１１４は、視点トラッキングにより取得されたユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。例えば本実施形態では、ユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）が取得される。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。そして仮想カメラ制御部１１４は、取得されたトラッキング情報（ユーザの視点位置及び視線方向の少なくとも一方の情報）に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部１１４は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向（位置、姿勢）が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
【００５５】
ゲーム処理部１１５（ゲーム処理のプログラムモジュール）は、ユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部１１５（シミュレーション処理部）は、ユーザが仮想現実（バーチャルリアリティ）を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【００５６】
報知処理部１１６（報知処理のプログラムモジュール）は各種の報知処理を行う。例えばユーザに対する警告の報知処理などを行う。報知処理は、例えば画像や音による報知処理であってもよいし、振動デバイスや音響や空気砲などの体感装置を用いた報知処理であってもよい。体感装置制御部１１７（体感装置制御処理のプログラムモジュール）は、体感装置の各種の制御処理を行う。例えばユーザに仮想現実を体験させるための体感装置の制御を行う。
【００５７】
表示処理部１２０（表示処理のプログラムモジュール）は、ゲーム画像（シミュレーション画像）の表示処理を行う。例えば処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部２２０に表示する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、仮想空間において仮想カメラ（所与の視点。左眼用、右眼用の第１、第２の視点）から見える画像が生成される。なお、表示処理部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００５８】
音処理部１３０（音処理のプログラムモジュール）は、処理部１００で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲（音楽、ＢＧＭ）、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部１９２に出力させる。なお音処理部１３０の音処理の一部（例えば３次元音響処理）を、ＨＭＤ２００の処理部２４０により実現してもよい。
【００５９】
出力処理部１４０は各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理や、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えば出力処理部１４０は、書き込み命令で指定された情報を、記憶部１７０に書き込む処理や、外部の装置（サーバ等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。
【００６０】
そして本実施形態のシミュレーションシステムは、図１に示すように、仮想空間設定部１１２と、移動体処理部１１３と、表示処理部１２０を含む。
【００６１】
仮想空間設定部１１２は、オブジェクトが配置される仮想空間の設定処理を行う。例えばユーザに対応するユーザ移動体のオブジェクトや、敵等の相手の移動体のオブジェクトや、マップや背景を構成するオブジェクトを、仮想空間に配置設定する処理を行う。ユーザに対応するユーザ移動体は、例えばユーザが操作部１６０により操作する移動体や、実空間でのユーザの移動に追従して仮想空間において移動する移動体である。このユーザ移動体は、例えばキャラクタやアバターと呼ばれるものである。ユーザ移動体は、ユーザが搭乗するロボット等の搭乗移動体であってもよい。またユーザ移動体は、その画像が表示される表示物であってもよいし、画像が表示されない仮想的なものであってもよい。
【００６２】
移動体処理部１１３は、仮想空間において、ユーザに対応するユーザ移動体（仮想カメラ）を移動させる処理を行う。例えば、ユーザが操作部１６０により入力した操作情報に基づいて、仮想空間においてユーザ移動体を移動させる。或いは、情報取得部１１１が、実空間でのユーザの位置情報を取得する場合には、移動体処理部１１３は、取得された位置情報（視点トラッキング情報）に基づいて、仮想空間においてユーザ移動体を移動させる処理を行う。例えば、実空間でのユーザの移動に追従して移動するように、仮想空間においてユーザ移動体を移動させる。例えばユーザ移動体の移動速度や移動加速度に基づいて、ユーザ移動体の位置等をフレーム毎に更新する処理を行って、ユーザ移動体を仮想空間（仮想フィールド）において移動させる。
【００６３】
表示処理部１２０（描画処理部）は、仮想空間の画像（オブジェクト）の描画処理を行う。例えば仮想空間において仮想カメラ（所与の視点）から見える画像の描画処理を行う。例えばキャラクタ（アバター）等のユーザ移動体の視点（一人称視点）に設定された仮想カメラから見える画像の描画処理を行う。或いは、ユーザ移動体に追従する視点（三人称視点）に設定された仮想カメラから見える画像の描画処理を行う。生成される画像は、例えば左眼用画像、右眼用画像などの立体視用の画像であることが望ましい。
【００６４】
そして本実施形態では仮想空間設定部１１２は、仮想空間として、複数の第１〜第Ｍ（Ｍは２以上の整数）の仮想空間を設定する。具体的には仮想空間設定部１１２は、仮想空間として、第１の仮想空間と第２の仮想空間を設定する。例えば第１の仮想空間を構成するオブジェクトの配置設定処理や、第２の仮想空間を構成するオブジェクトの配置設定処理を行う。第１の仮想空間が、後述するような部屋の空間である場合には、部屋に配置される物体に対応するオブジェクトの配置設定処理を行う。第２の仮想空間が、後述するような氷の国の空間である場合には、氷の国の氷河や海等に対応するオブジェクトの配置設定処理を行う。更に仮想空間設定部１１２は、例えば第３の仮想空間を設定する。第３の仮想空間が、後述する電車の上の空間である場合には、電車、トンネル、背景等に対応するオブジェクトの配置設定処理を行う。そして、例えば第２の仮想空間は、第１の仮想空間に対して特異点（別の言い方をすれば通過ポイント。以下、同様）を介して結びつけられる仮想空間である。第３の仮想空間は、例えば第１の仮想空間に対して特異点を介して結びつけられる仮想空間であってもよいし、第２の仮想空間に対して特異点を介して結びつけられる仮想空間であってもよい。
【００６５】
そして表示処理部１２０は、所与の切替条件（特異点の通過条件）が成立する前においては（切替条件が成立していない場合には）、ユーザ移動体又は仮想カメラの位置情報（位置座標、方向等）を、第１の仮想空間の位置情報（位置座標、方向等）として設定する。例えばユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報として対応づける。そして表示処理部１２０は、第１の描画処理として、少なくとも第１の仮想空間の画像を描画する処理を行う。例えば表示処理部１２０は、第１の描画処理として、第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理を行って、特異点に対応する領域（特異点を内包する領域等）に第２の仮想空間の画像が表示される画像を生成する。第１の仮想空間の画像の描画処理は、例えば第１の仮想空間を構成するオブジェクトを描画し、第１の仮想空間において仮想カメラから見える画像を描画することなどで実現される。第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理は、例えば特異点に対応する領域以外の領域（表示領域）については、第１の仮想空間を構成するオブジェクトを描画し、特異点に対応する領域（表示領域）については、第２の仮想空間を構成するオブジェクトを描画して、第１の仮想空間において仮想カメラから見える画像を描画することなどで実現される。
【００６６】
一方、表示処理部１２０は、切替条件が成立した場合には、ユーザ移動体又は仮想カメラの位置情報を、第２の仮想空間の位置情報として設定する。例えばユーザ移動体又は仮想カメラが特異点に対応する場所を第１の進行方向で通過することで切替条件が成立した場合には、ユーザ移動体又は仮想カメラの位置情報を、第２の仮想空間の位置情報として設定する。例えばユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間ではなく第２の仮想空間の位置情報として対応づける。そして表示処理部１２０は、第２の描画処理として、少なくとも第２の仮想空間の画像を描画する処理を行う。例えば表示処理部１２０は、第２の描画処理として、第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理を行って、特異点に対応する領域に第１の仮想空間の画像が表示される画像を生成する。第２の仮想空間の画像の描画処理は、例えば第２の仮想空間を構成するオブジェクトを描画し、第２の仮想空間において仮想カメラから見える画像を描画することなどで実現される。第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理は、例えば特異点に対応する領域以外の領域（表示領域）については、第２の仮想空間を構成するオブジェクトを描画し、特異点に対応する領域（表示領域）については、第１の仮想空間を構成するオブジェクトを描画して、第２の仮想空間において仮想カメラから見える画像を描画することなどで実現される。
【００６７】
例えば特異点に対応する領域（オブジェクト又はエリア）が、後述するドア（ゲート）の領域であったとする。この場合に、第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する第１の描画処理では、このドアの領域に対して、ドアの向こう側の第２の仮想空間の画像が表示されるように描画処理を行う。同様に、第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する第２の描画処理では、このドアの領域に対して、ドアの向こう側の第１の仮想空間の画像が表示されるように描画処理を行う。
【００６８】
そして表示処理部１２０は、仮想カメラの視線方向が、第１の進行方向の反対方向側を向いた場合に、特異点に対応する領域に第１の仮想空間の画像が表示される画像を生成する。例えばユーザ移動体又は仮想カメラが特異点に対応する場所を通過後、仮想カメラの視線方向が、その進行方向の反対の方向側に振り返った場合に、当該仮想カメラの視線方向に見える画像として、特異点に対応する領域に第１の仮想空間の画像が表示される画像を生成する。例えば、第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理を行うことで、特異点に対応する領域以外の領域（主領域）については、第２の仮想空間を構成するオブジェクトが描画され、特異点に対応する領域については、第１の仮想空間を構成するオブジェクトを描画される画像を生成する。一方、特異点に対応する場所の裏側に回り込んで、特異点に対応する場所の方に、仮想カメラの視線方向が向いた場合には、第２の描画処理として、第２の仮想空間の画像を描画する処理を行い、第１の仮想空間の画像を描画する処理は行わないようにする。具体的には、特異点に対応する領域に対しても第２の仮想空間の画像を描画する。なお第１の進行方向の反対方向側とは、第１の進行方向の反対方向そのものである必要はなく、第１の進行方向を例えば正の方向とした場合に、例えば負の方向に相当する。
【００６９】
ここで特異点は、ある基準の下、その基準が適用できなくなるポイントである。例えば第１の仮想空間でユーザ移動体又は仮想カメラが移動している場合に、当該ユーザ移動体又は仮想カメラに対しては、第１の仮想空間内だけにおいて移動するという基準である法則が適用される。即ち、ユーザ移動体又は仮想カメラは、第１の仮想空間内において移動するという法則の下で移動する。本実施形態の特異点は、このような基準である法則が適用されず、当該法則に従わなくなるポイントである。例えば本実施形態では、特異点の通過により切替条件が成立すると、第１の仮想空間内で移動するという法則（基準）がユーザ移動体又は仮想カメラに対して適用されなくなり、当該ユーザ移動体又は仮想カメラは、第１の仮想空間とは異なる第２の仮想空間で移動するようになる。例えば特異点は、ユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報に対応づけるか、第２の仮想空間の位置情報に対応づけるかを、切り替えるポイントと言うことができる。そして切替条件の成立により、ユーザ移動体又は仮想カメラの位置情報との対応づけが切り替わるように、第１の仮想空間と第２の仮想空間は特異点を介して結びつけられている。例えば第１の仮想空間と第２の仮想空間を特異点を介して結びつけるための情報が記憶部１７０に記憶される。本実施形態の切替条件は、このようなユーザ移動体又は仮想カメラの位置情報と第１、第２の仮想空間の位置情報の対応づけを、特異点により切り替える条件である。第１、第２の仮想空間との第３の仮想空間との間の特異点による結びつきも同様である。なお特異点に対応する場所は、例えば点である必要はなく、面や領域であってもよい。例えば特異点を内包する面や領域であってもよい。
【００７０】
また表示処理部１２０は、ユーザ移動体又は仮想カメラが、第１の進行方向とは異なる第２の進行方向で特異点を通過した場合には、ユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報として設定する。そして表示処理部１２０は、第１の描画処理として、少なくとも第１の仮想空間の画像を描画する処理を行う。例えば第１の描画処理として、第１の仮想空間の画像を描画する、或いは第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理を行う。例えば特異点を介して第１の仮想空間から第２の仮想空間に移動したユーザ移動体又は仮想カメラが、第１の仮想空間に戻った場合には、ユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報として対応づけて、第１の仮想空間での第１の描画処理を行う。このようにすることで、ユーザ移動体等は、第１の仮想空間と第２の仮想空間を、特異点を介して行き来できるようになる。また、第２の仮想空間内だけにおいて移動するという法則（基準）が適用されていたユーザ移動体又は仮想カメラは、第２の進行方向で特異点に対応する場所を通過することにより、当該法則が適用されなくなり、第１の仮想空間内で移動できるようになる。
【００７１】
ここで第２の進行方向は、第１の進行方向とは異なる方向である。例えば第１の進行方向を、特異点（特異点の場所）を基準とした正の方向とした場合に、第２の進行方向は、特異点を基準とした負の方向になる。一例としては第２の進行方向は第１の進行方向の反対方向である。
【００７２】
また表示処理部１２０は、ユーザ移動体又は仮想カメラが特異点（第２の特異点）に対応する場所を通過することで切替条件（第２の切替条件）が成立した場合に、ユーザ移動体又は仮想カメラの位置情報を、第３の仮想空間の位置情報として設定する。例えばユーザ移動体の位置情報を、第３の仮想空間の位置情報として対応づける。ここで第３の仮想空間への移動は、第１の仮想空間と第３の仮想空間を結びつける特異点を介した第１の仮想空間から第３の仮想空間への移動であってもよいし、第２の仮想空間と第３の仮想空間を結びつける特異点を介した第２の仮想空間から第３の仮想空間への移動であってもよい。そして表示処理部１２０は、第３の描画処理として、少なくとも第３の仮想空間の画像を描画する処理を行う。例えば第３の仮想空間が、第１の仮想空間と特異点を介して結びつけられている場合には、第３の描画処理として、例えば第３の仮想空間の画像を描画する、或いは第３の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理を行う。また第３の仮想空間が、第２の仮想空間と特異点を介して結びつけられている場合には、第３の描画処理として、例えば第３の仮想空間の画像を描画する、或いは第３の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理を行う。
【００７３】
また表示処理部１２０は、複数のユーザがプレイする場合に、複数のユーザに対応する複数のユーザ移動体又は複数の仮想カメラが特異点に対応する場所を通過して第１の仮想空間に戻ったことを条件に、第３の描画処理を許可する。例えば第１のユーザに対応する第１のユーザ移動体又は第１の仮想カメラは、第２の仮想空間から第１の仮想空間に戻ったが、第２のユーザに対応する第２のユーザ移動体又は第２の仮想カメラは、第２の仮想空間から第１の仮想空間に戻っていなかったとする。この場合には、切替条件（第２の切替条件）が成立した場合にも、特異点を介した第１のユーザ移動体又は第１の仮想カメラの第３の仮想空間への移動を許可せず、第３の描画処理を許可しない。一方、第１及び第２のユーザ移動体の両方が、或いは第１及び第２の仮想カメラの両方が、第２の仮想空間から第１の仮想空間に戻った後に、切替条件が成立した場合には、特異点を介した第１、第２のユーザ移動体或いは第１、第２の仮想カメラの第３の仮想空間への移動を許可して、第３の描画処理を許可する。
【００７４】
また表示処理部１２０は、ユーザ移動体又は仮想カメラが特異点を通過したか否かに基づいて、切替条件が成立したか否かを判断する。例えばユーザ移動体又は仮想カメラが特異点を通過していない場合には、切替条件は成立していないと判断し、ユーザ移動体又は仮想カメラが特異点を通過した場合には、切替条件が成立したと判断する。
【００７５】
また表示処理部１２０は、ユーザの入力情報又はセンサの検出情報に基づいて、切替条件が成立したか否かを判断してもよい。例えば表示処理部１２０は、操作部１６０を介して入力されたユーザの操作情報や音声入力情報などに基づいて、切替条件が成立したか否かを判断する。例えば切替条件の成立を指示するユーザの入力情報などに基づいて判断する。或いは表示処理部１２０は、センサの検出情報に基づいて、切替条件が成立したか否かを判断する。例えば特異点に対応する物体にセンサを設け、このセンサの検出情報に基づいて、切替条件が成立したか否かを判断する。当該物体がドア（ゲート）である場合には、ドアの開閉状態をセンサの検出情報に基づいて検出することで、切替条件が成立したか否かを判断する。
【００７６】
また本実施形態では、ユーザが移動する実空間のプレイフィールド（プレイ空間）には、特異点に対応する物体が配置されている。後述の部屋の実空間の場合には、例えば特異点に対応するドアの物体が配置されている。そして表示処理部１２０は、ユーザが実空間において当該物体の場所を通過した場合に、ユーザ移動体又は仮想カメラが、特異点を通過したと判断する。例えば特異点の通過条件を、実空間において当該物体の場所をユーザが通過したか否かで判断する。そして、当該物体の場所をユーザが通過した場合には、切替条件が満たされたと判断して、ユーザ移動体又は仮想カメラの位置情報を第２の仮想空間の位置情報として設定して、第２の描画処理を行う。
【００７７】
また表示処理部１２０は、特異点を設定又は非設定にする処理を行ってもよい。例えば非設定状態であった特異点を設定状態にしたり、設定状態であった特異点を非設定状態にする。特異点の設定の処理は、例えば特異点に対応するオブジェクトを第１〜第３の仮想空間等の仮想空間に表示したり、特異点を介した仮想空間の間の移動を許可する処理である。特異点の非設定の処理は、例えば特異点に対応するオブジェクトを第１〜第３の仮想空間等の仮想空間において非表示にしたり、特異点を介した仮想空間の間の移動を非許可にする処理である。
【００７８】
また本実施形態のシミュレーションシステムは、体感装置制御部１１７を含む。体感装置制御部１１７は、ユーザに仮想現実を体験させるための体感装置を制御する。体感装置は、例えばユーザの視覚器官以外の感覚器官に働きかけてユーザに仮想現実を体験させるための装置である。体感装置は、例えば後述する送風機や振動デバイスである。送風機は例えばシロッコファンやプロペラファンなどにより実現できる。送風機は熱風や冷風を吹き出すものであってもよい。振動デバイスは、例えばトランスデューサや振動モータなどにより実現できる。また体感装置はハロゲンヒータなどであってもよい。例えばハロゲンランプからの放射熱によって、ユーザに熱や熱風を感じさせる体感装置であってもよい。また体感装置は、例えばエアバネや電動シリンダなどの機械機構により実現されるものであってもよい。例えばエアバネや電動シリンダなどの機械機構により、ユーザに揺れや傾きを感じさせるような体感装置であってもよい。
【００７９】
そして体感装置制御部１１７は、切替条件が成立していない場合の体感装置の制御と、切替条件が成立した場合の体感装置の制御を異ならせる。例えば体感装置制御部１１７は、切替条件が成立していない場合（切替条件の成立前）には、体感装置を動作させず、切替条件が成立した場合（切替条件の成立後）に、体感装置を動作させてもよい。或いは、切替条件が成立していない場合と切替条件が成立した場合とで、体感装置の制御態様や制御する体感装置の種類を異ならせてもよい。例えば切替条件が成立していない場合には、第１の制御態様で体感装置を制御し、切替条件が成立した場合には、第１の制御態様とは異なる第２の制御態様で体感装置を制御する。第１の制御態様と第２の制御態様とでは、ユーザに感じさせる体感の度合いが異なっている。送風機を例にとれば、第１の制御態様と第２の制御態様とでは、送風の強度が違ったり、風の温度が異なる。振動デバイスを例にとれば、第１の制御態様と第２の制御態様とでは、振動の強度や振動時間が異なる。或いは、切替条件が成立していない場合には、第１の種類の体感装置を制御し、切替条件が成立した場合には、第２の種類の体感装置を制御してもよい。即ち、切替条件の成立したか否かに応じて、制御対象となる体感装置の種類を異ならせる。
【００８０】
またシミュレーションシステムは報知処理部１１６を含む。報知処理部１１６は、複数のユーザがプレイする場合に、実空間でのユーザ間の衝突の報知情報の出力処理を行う。例えば情報取得部１１１により取得されたユーザの位置情報に基づいて、ユーザ同士の衝突についての警告の報知処理を行う。例えばユーザが衝突の位置関係（接近関係）になるかについての予測処理を行い、そのような位置関係になった場合には、衝突のおそれあることを警告する報知処理を行う。予測処理は、各ユーザに対応する各ユーザ移動体の位置、速度又は加速度などに基づいて、ユーザ同士が衝突の位置関係になるおそれがあるかを判断することなどで実現できる。
【００８１】
なお警告の報知処理は、ＨＭＤ２００に表示される画像や、ヘッドホンやプレイフィールドに設置されるスピーカなどから出力される音や、ユーザの武器、着衣又は装飾品などの装備品などに設けられる振動デバイスによる振動や、或いは実空間のフィールドに設けられる各種の体感装置（風、振動、光、空気砲又は音等による体感装置）などにより実現できる。
【００８２】
また図１に示すように本実施形態のシミュレーションシステムは、実空間でのユーザの位置情報を取得する情報取得部１１１を含む。例えば情報取得部１１１は、ユーザの視点トラッキングなどによりユーザの位置情報を取得する。そして移動体処理部１１３は、取得された位置情報に基づいて、ユーザ移動体を移動させる処理を行い、表示処理部１２０は、ユーザが装着するＨＭＤ２００の表示画像を生成する。例えば実空間でのユーザの移動に追従するように、仮想空間でのユーザ移動体を移動させる。そして、そのユーザ移動体に対応する仮想カメラから見える画像を、ＨＭＤ２００の表示画像として生成する。そして表示処理部１２０は、切替条件が成立する前においては（切替条件が成立していない場合には）、実空間でのユーザの位置情報により特定されるユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報として設定する。例えば、ユーザ移動体又は仮想カメラの位置情報を、第１の仮想空間の位置情報として対応づけて、第１の描画処理を行う。例えば第１の描画処理として、少なくとも第１の仮想空間の画像を描画する処理を行う。一方、切替条件が成立した場合には、実空間でのユーザの位置情報により特定されるユーザ移動体又は仮想カメラの位置情報を、第２の仮想空間の位置情報として設定する。例えば、ユーザ移動体又は仮想カメラの位置情報を、第２の仮想空間の位置情報として対応づけて、第２の描画処理を行う。例えば第２の描画処理として、少なくとも第２の仮想空間の画像を描画する処理を行う。
【００８３】
例えば情報取得部１１１は、視界を覆うようにＨＭＤ２００を装着するユーザの位置情報を取得する。例えば情報取得部１１１は、ＨＭＤ２００のトラッキング情報などに基づいて、実空間でのユーザの位置情報を取得する。例えばＨＭＤ２００の位置情報を、当該ＨＭＤ２００を装着するユーザの位置情報として取得する。具体的には、ユーザが実空間（現実世界）のプレイフィールド（シミュレーションフィールド、プレイエリア）に位置する場合に、そのプレイフィールドでの位置情報を取得する。なお、ＨＭＤ２００のトラッキング処理ではなくて、ユーザやユーザの頭部などの部位を直接にトラッキングする手法により、ユーザの位置情報を取得してもよい。
【００８４】
また仮想カメラ制御部１１４は、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。
【００８５】
例えば入力処理部１０２（入力受け付け部）は、ＨＭＤ２００を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）を取得する。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報（視点位置の座標の変化値）、及び、ユーザの初期視線方向からの視線方向の変化情報（視線方向の回転軸回りでの回転角度の変化値）の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向（ユーザの頭部の位置、姿勢の情報）を特定できる。
【００８６】
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などの移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
【００８７】
なお図１の本実施形態のシミュレーションシステムの処理は、施設に設置されるＰＣ等の処理装置、ユーザが装着する処理装置、或いはこれらの処理装置の分散処理などにより実現できる。或いは、本実施形態のシミュレーションシステムの処理を、サーバシステムと端末装置により実現してもよい。例えばサーバシステムと端末装置の分散処理などにより実現してもよい。
【００８８】
２．トラッキング処理
次にトラッキング処理の例について説明する。図２（Ａ）に本実施形態のシミュレーションシステムに用いられるＨＭＤ２００の一例を示す。図２（Ａ）に示すようにＨＭＤ２００には複数の受光素子２０１、２０２、２０３（フォトダイオード）が設けられている。受光素子２０１、２０２はＨＭＤ２００の前面側に設けられ、受光素子２０３はＨＭＤ２００の右側面に設けられている。またＨＭＤの左側面、上面等にも不図示の受光素子が設けられている。
【００８９】
なお、ユーザＵＳの手や指の動きは、いわゆるリープモーションと呼ばれる処理により検出できる。例えば不図示のコントローラがＨＭＤ２００等に取り付けられており、このコントローラに基づいて、手や指の動きの検出処理を実現する。このコントローラは、例えば赤外線を照射するＬＥＤ等の発光部と、赤外線に照らされた手や指を撮影する複数台の赤外線カメラを有する。そして赤外線カメラの撮影画像の画像解析結果に基づいて、手や指の動きを検出する。このようなコントローラを設けることで、ドアを開ける際のユーザの手や指の動きなどを検出できるようになる。
【００９０】
またＨＭＤ２００には、ヘッドバンド２６０等が設けられており、ユーザＵＳは、より良い装着感で安定的に頭部にＨＭＤ２００を装着できるようになっている。また、ＨＭＤ２００には、不図示のヘッドホン端子が設けられており、このヘッドホン端子にヘッドホン２７０（音出力部１９２）を接続することで、例えば３次元音響（３次元オーディオ）の処理が施されたゲーム音を、ユーザＵＳは聴くことが可能になる。なお、ユーザＵＳの頭部の頷き動作や首振り動作をＨＭＤ２００のセンサ部２１０等により検出することで、ユーザＵＳの操作情報を入力できるようにしてもよい。
【００９１】
またユーザＵＳは、不図示の処理装置（バックパックＰＣ）を例えば背中に装着している。例えばユーザＵＳはジャケットを着ており、このジャケットの背面側に処理装置が取り付けられている。処理装置は例えばノート型ＰＣ等の情報処理装置により実現される。そしてこの処理装置とＨＭＤ２００は不図示のケーブルにより接続されている。例えば処理装置は、ＨＭＤ２００に表示される画像（ゲーム画像等）の生成処理を行い、生成された画像のデータがケーブルを介してＨＭＤ２００に送られ、ＨＭＤ２００に表示される。この処理装置は、このような画像の生成処理以外にも、本実施形態の各処理（情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理、報知処理、体感装置制御処理、表示処理又は音処理等）を行うことが可能になっている。なお、本実施形態の各処理を、施設に設置されたＰＣ等の処理装置（不図示）により実現したり、当該処理装置と、ユーザＵＳが装着する処理装置の分散処理により実現してもよい。
【００９２】
図２（Ｂ）に示すように、シミュレーションシステムの周辺には、ベースステーション２８０、２８４が設置されている。ベースステーション２８０には発光素子２８１、２８２が設けられ、ベースステーション２８４には発光素子２８５、２８６が設けられている。発光素子２８１、２８２、２８５、２８６は、例えばレーザー（赤外線レーザー等）を出射するＬＥＤにより実現される。ベースステーション２８０、２８４は、これら発光素子２８１、２８２、２８５、２８６を用いて、例えばレーザーを放射状に出射する。そして図２（Ａ）のＨＭＤ２００に設けられた受光素子２０１〜２０３等が、ベースステーション２８０、２８４からのレーザーを受光することで、ＨＭＤ２００のトラッキングが実現され、ユーザＵＳの頭の位置や向く方向（視点位置、視線方向）を検出できるようになる。
【００９３】
図３（Ａ）にＨＭＤ２００の他の例を示す。図３（Ａ）では、ＨＭＤ２００に対して複数の発光素子２３１〜２３６が設けられている。これらの発光素子２３１〜２３６は例えばＬＥＤなどにより実現される。発光素子２３１〜２３４は、ＨＭＤ２００の前面側に設けられ、発光素子２３５や不図示の発光素子２３６は、背面側に設けられる。これらの発光素子２３１〜２３６は、例えば可視光の帯域の光を出射（発光）する。具体的には発光素子２３１〜２３６は、互いに異なる色の光を出射する。
【００９４】
そして図３（Ｂ）に示す撮像部１５０を、ユーザＵＳの周囲の少なくとも１つの場所（例えば前方側、或いは前方側及び後方側など）に設置し、この撮像部１５０により、ＨＭＤ２００の発光素子２３１〜２３６の光を撮像する。即ち、撮像部１５０の撮像画像には、これらの発光素子２３１〜２３６のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザＵＳの頭部（ＨＭＤ）のトラッキングを実現する。即ちユーザＵＳの頭部の３次元位置や向く方向（視点位置、視線方向）を検出する。
【００９５】
例えば図３（Ｂ）に示すように撮像部１５０には第１、第２のカメラ１５１、１５２が設けられており、これらの第１、第２のカメラ１５１、１５２の第１、第２の撮像画像を用いることで、ユーザＵＳの頭部の奥行き方向での位置等が検出可能になる。またＨＭＤ２００に設けられたモーションセンサのモーション検出情報に基づいて、ユーザＵＳの頭部の回転角度（視線）も検出可能になっている。従って、このようなＨＭＤ２００を用いることで、ユーザＵＳが、周囲の３６０度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間（仮想３次元空間）での画像（ユーザの視点に対応する仮想カメラから見える画像）を、ＨＭＤ２００の表示部２２０に表示することが可能になる。
【００９６】
なお、発光素子２３１〜２３６として、可視光ではなく赤外線のＬＥＤを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
【００９７】
また、ユーザの視点位置、視線方向（ユーザの位置、方向）を検出するトラッキング処理の手法は、図２（Ａ）〜図３（Ｂ）で説明した手法には限定されない。例えばＨＭＤ２００に設けられたモーションセンサ等を用いて、ＨＭＤ２００の単体でトラッキング処理を実現してもよい。即ち、図２（Ｂ）のベースステーション２８０、２８４、図３（Ｂ）の撮像部１５０などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。
【００９８】
３．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では、本実施形態のシミュレーションシステムにより生成される画像がＨＭＤに表示される場合を主に例にとり説明する。但し、シミュレーションシステムにより生成される画像が表示される表示部は、ＨＭＤには限定されず、家庭用ゲーム装置、業務用ゲーム装置又はＰＣで使用される通常のディスプレイであってもよい。また、以下では、特異点の通過の判定対象や仮想空間の位置情報の設定対象等が、ユーザ移動体又は仮想カメラのうちのユーザ移動体である場合を主に例にとり説明するが、特異点の通過の判定対象や仮想空間の位置情報の設定対象等は、仮想カメラであってもよい。また、以下では、ユーザに対応するユーザ移動体を、ユーザキャラクタと記載して説明を行う。また本実施形態の手法は、種々のゲーム（仮想体験ゲーム、対戦ゲーム、ＲＰＧ、アクションゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等）に適用でき、ゲーム以外にも適用可能である。
【００９９】
３．１  ゲームの説明
まず本実施形態により実現されるＶＲ（バーチャルリアリティ）のゲームについて説明する。このゲームは、複数の仮想空間（仮想世界）を移動可能な仮想現実の体験ゲームである。
【０１００】
図４、図５は本実施形態のシミュレーションシステムで用いられる部屋のプレイフィールドＦＬの説明図である。図４はプレイフィールドＦＬを説明する斜視図であり、図５は上面図である。
【０１０１】
部屋を模したプレイフィールドＦＬ（プレイエリア、プレイ空間）には、ドアＤＲ、机ＤＫ、本棚ＢＳなどが配置され、壁には窓ＷＤ１、ＷＤ２が設けられている。ユーザは、この部屋を模したプレイフィールドＦＬに入室して、ＶＲのゲームを楽しむ。図４では、複数のユーザＵＳ１、ＵＳ２が入室しており、これらの２人のユーザＵＳ１、ＵＳ２によりＶＲのゲームを楽しめるようになっている。
【０１０２】
各ユーザＵＳ１、ＵＳ２は、例えば処理装置（バックパックＰＣ）を背中に装着しており、この処理装置により生成された画像がＨＭＤ１、ＨＭＤ２（頭部装着型表示装置）に表示される。またプレイフィールドＦＬには、不図示の管理用の処理装置が配置されており、この管理用の処理装置により、ユーザＵＳ１、ＵＳ２が装着する処理装置間のデータの同期処理（通信処理）などが行われる。例えばユーザＵＳ１のＨＭＤ１にユーザＵＳ２に対応するユーザキャラクタ（広義にはユーザ移動体）を表示し、ユーザＵＳ２のＨＭＤ２にユーザＵＳ１に対応するユーザキャラクタを表示するための同期処理などが行われる。また体感装置の制御処理などを行うこともできる。また部屋にはオペレータが待機しており、管理用の処理装置の操作や、ユーザＵＳ１、ＵＳ２のＨＭＤ１、ＨＭＤ２やジャケットの装着の手伝いや、ゲーム進行のためのオペレーション作業や誘導作業などを行う。
【０１０３】
またプレイフィールドＦＬの部屋には、図２（Ｂ）で説明したベースステーション２８０、２８４が設置されており、これらのベースステーション２８０、２８４を用いて、ユーザＵＳ１、ＵＳ２の位置情報の取得が可能になっている。また図５に示すように、プレイフィールドＦＬには、ユーザに仮想現実を体験させるための体感装置である送風機ＢＬや振動デバイスＶＢが設置されている。振動デバイスＶＢは、例えば部屋の床下に設置されるトランスデューサなどにより実現される。
【０１０４】
本実施形態のゲームによれば、実世界のドアＤＲを開いたときに、そのドアＤＲの向こう側に別世界（部屋の風景とは異なる世界）が広がる。そしてドアＤＲをくぐって当該別世界に行くことができる仮想現実を、ユーザは体験できる。
【０１０５】
例えば図４においてユーザＵＳ１、ＵＳ２のＨＭＤ１、ＨＭＤ２には、部屋に対応する第１の仮想空間の画像が表示されている。具体的には、第１の仮想空間（第１のオブジェクト空間）に、部屋に配置・設置される物体に対応するオブジェクトを配置する。例えばドアＤＲ、机ＤＫ、本棚ＢＳ、窓ＷＤ１、ＷＤ２に対応するオブジェクトを配置する。そして、この第１の仮想空間において、ユーザＵＳ１、ＵＳ２の視点（第１、第２の視点）に対応する仮想カメラ（第１、第２の仮想カメラ）から見える画像を生成して、ＨＭＤ１、ＨＭＤ２（第１、第２の表示部）に表示する。このようにすれば、ＨＭＤ１、ＨＭＤ２を装着して移動するユーザＵＳ１、ＵＳ２は、あたかも本物の部屋を歩き回っているような仮想現実を体験できる。
【０１０６】
そして図６（Ａ）に示すように、１回目にユーザ（ＵＳ１、ＵＳ２）がドアＤＲを開いた場合には、ドアＤＲの向こう側は部屋のままであり、ドアＤＲの領域（広義には特異点に対応する領域）には、部屋の画像が表示される。そして図６（Ｂ）に示すようにユーザがドアＤＲを閉めた後、図６（Ｃ）に示すように、再度、ドアＤＲを開くと、ドアＤＲの向こう側は氷の国に変化する。即ち図７に示すように、ドアＤＲの領域（ドアの開口領域）には、第２の仮想空間ＶＳ２（第２のオブジェクト空間）の画像である氷の国の画像が表示される。このとき、図７に示すように、ドアＤＲの回りには、本棚ＢＳ、窓ＷＤ１、ＷＤ２などの部屋の画像が表示される。即ち、ドアＤＲの領域（特異点に対応する領域）には、第２の仮想空間ＶＳ２の画像である氷の国の画像が表示される一方で、ドアＤＲ以外の領域には、第１の仮想空間ＶＳ１の画像である部屋の画像が表示される。
【０１０７】
そして例えばユーザＵＳ１がドアＤＲを通過して（特異点に対応する場所を通過して）、ドアＤＲの向こう側に移動すると、図８に示すように、ユーザＵＳ１に対応するユーザキャラクタＵＣ１（広義にはユーザ移動体）は、第１の仮想空間ＶＳ１である部屋から、第２の仮想空間ＶＳ２である氷の国へと移動することになる。ここで、ユーザキャラクタＵＣ１は、実空間でのユーザＵＳ１の移動に伴って仮想空間で移動するキャラクタ（表示物）であり、アバターとも呼ばれる。
【０１０８】
なお、本実施形態では、ユーザＵＳ１の実空間での位置情報を取得し、取得された位置情報に基づいてユーザキャラクタＵＣ１を仮想空間（第１、第２の仮想空間）で移動させる場合について主に説明するが、本実施形態はこれに限定されない。例えば図１の操作部１６０（ゲームコントローラ等）からの操作情報等に基づいて、ユーザキャラクタＵＣ１を仮想空間（第１、第２の仮想空間）で移動させてもよい。また、ユーザＵＳ１（ＵＳ２）の手や指の動きは、例えばリープモーションの処理により検出される。そして、この検出結果に基づいて、ユーザＵＳ１に対応するユーザキャラクタＵＣ１の手や指の部位（パーツオブジェクト）を動かすモーション処理が行われる。これにより、ユーザＵＳ１は、例えばドアＤＲを開けるときに、自身の手や指の動きを、ユーザキャラクタＵＣ１の手や指の部位の動きを見ることで視覚的に認識できるようになる。
【０１０９】
図８では、ＨＭＤ１を装着するユーザＵＳ１（ＵＣ１）の視界の全周囲に亘って、広大なＶＲ空間が広がるようになるため、ユーザＵＳ１の仮想現実感を格段に向上できる。即ち、ユーザＵＳ１は、あたかも現実の氷の国にいるような仮想現実を感じることができる。そしてユーザＵＳ１に対応するユーザキャラクタＵＣ１は、この第２の仮想空間である氷の国を自由に歩き回ることができる。
【０１１０】
図９は、図８のように第２の仮想空間ＶＳ２である氷の国に移動したユーザキャラクタＵＣ１が、ドアＤＲ側に振り返った場合に表示される画像の例である。図９に示すように、ドアＤＲの領域には、第１の仮想空間ＶＳ１の画像である部屋の画像が表示される。このとき、図９に示すように、ドアＤＲの回りには、第２の仮想空間ＶＳ２の画像である氷の国の画像が表示される。即ち、ドアＤＲの領域には、第１の仮想空間ＶＳ１の画像である部屋の画像が表示される一方で、ドアＤＲ以外の領域には、第２の仮想空間ＶＳ２の画像である氷の国の画像が表示される。そしてユーザキャラクタＵＣ１がドアＤＲの方に移動し、ドアＤＲを再度、通過すると、ユーザキャラクタＵＣ１は、第１の仮想空間ＶＳ１である部屋の中に戻ることができる。即ち、図７においてドアＤＲを第１の進行方向で通過することで、第１の仮想空間ＶＳ１（部屋）から第２の仮想空間ＶＳ２（氷の国）に移動（ワープ）できる。一方、図９において、ドアＤＲを第１の進行方向とは異なる第２の進行方向で通過することで、第２の仮想空間ＶＳ２（氷の国）から第１の仮想空間ＶＳ１（部屋）に移動できる。即ち、ユーザキャラクタＵＣ１は、第１の仮想空間ＶＳ１と第２の仮想空間ＶＳ２を、ドアＤＲ（特異点に対応する場所）を介して自由に行き来できるようになる。
【０１１１】
図１０（Ａ）、図１０（Ｂ）は、ユーザＵＳ１、ＵＳ２がドアＤＲをくぐって通過した時の様子を示している。このとき、ユーザＵＳ１、ＵＳ２に対応するユーザキャラクタＵＣ１、ＵＣ２は、第２の仮想空間である氷の国に位置している。即ち、ユーザキャラクタＵＣ１、ＵＣ２の位置情報は、第２の仮想空間の位置情報として設定される。
【０１１２】
そしてユーザＵＳ１、ＵＳ２の近くには、体感装置である送風機ＢＬや振動デバイスＶＢが設置されている。送風機ＢＬは、ユーザＵＳ１、ＵＳ２の正面方向側に設置され、振動デバイスＶＢはユーザＵＳ１、ＵＳ２の周囲の床下に設置されている。そしてユーザＵＳ１、ＵＳ２がドアＤＲを通過してドアＤＲの向こう側に移動すると、送風機ＢＬが送風を開始し、ユーザＵＳ１、ＵＳ２に対して風（冷風）があたるようになる。また吹雪が「ヒュー」となるような音が、ユーザＵＳ１、ＵＳ２が装着するヘッドホンのスピーカから出力される。これにより、ユーザＵＳ１、ＵＳ２は、あたかも本当の氷の国に来たような仮想現実を感じることができる。
【０１１３】
またユーザＵＳ１、ＵＳ２が振動デバイスＶＢの近くに移動すると、図１０（Ａ）のＡ１、図１０（Ｂ）のＡ２に示すように、第２の仮想空間での氷河が崩れるゲーム演出が行われる。即ち、図１０（Ａ）のＡ１で存在していた氷河が、図１０（Ｂ）のＡ２では崩れて存在しなくなる。具体的にはユーザＵＳ１、ＵＳ２のＨＭＤ１、ＨＭＤ２には、氷河が崩れる様子を表す画像が表示され、氷河が崩れる音が、ユーザＵＳ１、ＵＳ２が装着するヘッドホンのスピーカから出力される。これにより、氷河が崩れて危ないと感じるようなスリルをユーザＵＳ１、ＵＳ２に体感させることができる。
【０１１４】
なお、図１０（Ａ）のＡ３、図１０（Ｂ）のＡ４に示すように、ユーザＵＳ１、ＵＳ２が移動可能な範囲は、部屋エリアと同様であり、図４の部屋の壁を越えて移動することはできない。そして例えばユーザＵＳ１、ＵＳ２が、部屋の壁の近くに移動すると、例えばＨＭＤ１、ＨＭＤ２に対して壁等への衝突を警告する報知情報が表示され、壁等への衝突を回避できるようにしている。
【０１１５】
以上のように本実施形態のシミュレーションシステムによれば、図７に示すように、ユーザがドアを開けた先には、氷の国の景色が広がり、太陽と氷の白さで、部屋とは全く違う風景を見ることができる。また眩しさと共に風が吹く音がすることで、仮想現実感が向上する。
【０１１６】
そしてユーザは、ドアの先に足を踏み入れることができる。氷の国の風景、音、白い息に加え、実際に送風機からの風を感じることによって、視覚、聴覚、体感で寒さを体感できる。ドアの先に移動すると、見渡す限り氷の国であり、狭い部屋から一気に広い世界に行く不思議な感覚を味わうことができる。またユーザは図８において、周りを見渡して、海や氷山、澄んだ空の太陽やダイヤモンドダストを見て、氷の国の景色を味わえる。また図１０（Ａ）、図１０（Ｂ）に示すように、ドアを出た先の一方は、断崖絶壁の先に海が広がっており、ユーザはその高さに肝を冷やす。そして、ユーザが崖に近づいたり、所定時間が経過すると、振動デバイスにより足元が振動して、目の前の崖が崩れることで、恐怖体験をユーザは味わえる。ユーザは、頻繁に２つの仮想空間（仮想世界）を行ったり来たりしたり、一人がドアの先に行って、もう一人がドアを通らず後ろに回って相手が見えないことを確認したり、ドアの真ん中に横向きに立って、右半分と左半分で視界や音が違うという体験をすることができる。
【０１１７】
また図６（Ｃ）のようにドアＤＲの領域に氷の国が表示された後、図６（Ｄ）に示すようにドアＤＲを閉め、図６（Ｅ）に示すように、再度、ドアＤＲを開くと、ドアＤＲの向こう側は電車の上の空間に変化する。即ち図１１（Ａ）に示すように、ドアＤＲの領域には、第３の仮想空間ＶＳ３の画像である電車ＴＲの上にいるときの画像が表示される。このとき、図１１（Ａ）に示すように、ドアＤＲ以外の領域には、本棚ＢＳ、窓ＷＤ１、ＷＤ２などの部屋の画像が表示される。ユーザＵＳ１がドアＤＲをくぐって、ドアＤＲの向こう側に移動すると、ユーザキャラクタＵＣ１が電車ＴＲの上に乗って、その眼前にトンネルＴＮが迫ってくるスリル溢れる画像が表示されるようになる。
【０１１８】
なお、ドアを少しだけ開けて、直ぐに閉めたような場合には、仮想空間の切替処理を行わないようにしてもよい。例えばユーザによっては、図１１（Ａ）に示すような画像が表示された場合に、驚いて直ぐにドアを閉めてしまう場合がある。このような場合に次にドアを開けた時に、図１１（Ａ）に示すような電車の場面の画像が表示されないのは、望ましくないからである。
【０１１９】
電車ＴＲの上に移動したユーザキャラクタＵＣ１が、ドアＤＲの方を振り返ると、図１２に示すような画像が表示される。図１２に示すように、ドアＤＲの領域には、第１の仮想空間ＶＳ１の画像である部屋の画像が表示される。このとき、図１２に示すように、ドアＤＲの回りには、第３の仮想空間ＶＳ３の画像である電車の上での画像（トンネル、電車等の画像）が表示される。即ち、ドアＤＲの領域には、第１の仮想空間ＶＳ１の画像である部屋の画像が表示される一方で、ドアＤＲ以外の領域には、第３の仮想空間ＶＳ３の画像である電車の上での画像が表示される。また例えばドアＤＲの上の端部がトンネルＴＮの屋根に当たって火花が散るような演出画像が表示される。そしてユーザキャラクタＵＣ１がドアＤＲの方に移動し、ドアＤＲを再度、通過すると、ユーザキャラクタＵＣ１は、第１の仮想空間ＶＳ１である部屋の中に戻ることができる。なお図６（Ａ）〜図６（Ｅ）では、ドアＤＲが開閉される毎に、部屋、氷の国、電車の上というように、ドアＤＲの向こう側の仮想空間が切り替わるようになっている。
【０１２０】
以上のように本実施形態のシミュレーションシステムによれば、速くて危ない場所に突然放り込まれるようなスリルな体験をユーザは味わうことができる。電車はトンネルに入ったり出たりを繰り返し、ドアの上の端部がトンネルの屋根に当たって火花が散るため、スリル感が更に向上する。床の振動で本当に電車の上にいるよう感覚を与えることができると共に、送風機による送風でスピード感を与えることができる。
【０１２１】
即ち、ユーザは、ドアを開けた瞬間には、「ここはどこ？」というように混乱する。更に、自分は止まっているのに、ドアの先が動いているので、感覚が混乱する不思議な体験ができる。ドアの先に足を踏み入れると、送風機により猛烈な風が吹き、振動デバイスにより足に電車の振動が伝わり、本当に電車の上にいるとしか思えない感覚を味わえる。また目の前に猛烈なスピードでトンネルが迫ってきて、ぶつかってしまうというスリル感を味わえる。トンネル通過中は、頭上にトンネルの天井が迫って来て、ドアの上の端部が天井に接触して火花が上がることで、恐怖感が倍増する。トンネルを出ても、またトンネルが迫ってくるので、何度も繰り返しスリルを味わうことができる。
【０１２２】
３．２  仮想空間の切替処理
次に本実施形態の手法について詳細に説明する。本実施形態では、仮想空間として、第１の仮想空間と、第１の仮想空間に対して特異点を介して結びつけられる第２の仮想空間が設定される。図４〜図１０（Ｂ）で説明したように、第１の仮想空間は、例えば部屋に対応する仮想空間であり、第２の仮想空間は、氷の国に対応する仮想空間である。これらの第１、第２の仮想空間は、ドアＤＲに対応する特異点を介して結びつけられている。例えばドアＤＲを介して第１、第２の仮想空間の間で行き来ができるようになっている。前述しように、特異点は、基準である法則の下、その法則が適用できなくなるポイントである。例えば第１の仮想空間（部屋）でユーザキャラクタ（又は仮想カメラ。以下、同様）が移動している場合に、当該ユーザキャラクタに対しては、第１の仮想空間内だけにおいて移動するという法則が適用される。本実施形態の特異点は、このような法則（基準）が適用されず、当該法則に従わなくなるポイントである。例えば本実施形態では、特異点の通過により切替条件が成立すると、第１の仮想空間内で移動するという法則がユーザキャラクタに対して適用されなくなり、当該ユーザキャラクタは、第１の仮想空間とは異なる第２の仮想空間（氷の国）で移動するようになる。
【０１２３】
具体的には本実施形態では、仮想空間についての切替条件が成立する前においては、ユーザキャラクタ（又は仮想カメラ）の位置情報を、第１の仮想空間の位置情報として設定する。例えば図１３（Ａ）において、ユーザキャラクタＵＣ１の位置Ｐ１の情報は、第１の仮想空間ＶＳ１（部屋）の位置情報として設定される。そして第１の描画処理として、少なくとも第１の仮想空間ＶＳ１（部屋）の画像を描画する処理が行われる。即ち、第１の仮想空間ＶＳ１において、仮想カメラ（ユーザの視点）から見える画像が生成される。
【０１２４】
そして本実施形態では、図７で説明したように、この第１の描画処理において、第１の仮想空間ＶＳ１（部屋）の画像に加えて、第２の仮想空間ＶＳ２（氷の国）の画像を描画する処理を行って、特異点に対応する領域であるドアＤＲの領域に、第２の仮想空間ＶＳ２の画像が表示される画像を生成する。即ち図７に示すように、ドアＤＲの領域には、氷の国の画像が表示され、ドアＤＲ以外の領域には、部屋の画像が表示されるような画像が生成される。
【０１２５】
一方、図１３（Ａ）に示すように、ユーザキャラクタＵＣ１（仮想カメラ）が、特異点（ＳＧ）に対応する場所であるドアＤＲの場所を、第１の進行方向Ｄ１で通過することで切替条件が成立したとする。即ち図１３（Ａ）では、ユーザキャラクタＵＣ１が、位置Ｐ１からドアＤＲを通過して、位置Ｐ２に移動することで、切替条件が成立している。この場合にはユーザキャラクタＵＣ１（仮想カメラ）の位置情報を、第２の仮想空間ＶＳ２（氷の国）の位置情報として設定する。例えば図１３（Ａ）において、ユーザキャラクタＵＣ１の位置Ｐ２、Ｐ３の情報は、第２の仮想空間ＶＳ２（氷の国）の位置情報として設定される。そして第２の描画処理として、少なくとも第２の仮想空間ＶＳ２の画像を描画する処理が行われる。即ち、第２の仮想空間ＶＳ２において、仮想カメラ（ユーザ視点）から見える画像が生成される。
【０１２６】
そして本実施形態では、図９で説明したように、この第２の描画処理において、第２の仮想空間ＶＳ２（氷の国）の画像に加えて、第１の仮想空間ＶＳ１（部屋）の画像を描画する処理を行って、特異点に対応する領域であるドアＤＲの領域に、第１の仮想空間ＶＳ１の画像が表示される画像を生成する。即ち図９に示すように、ドアＤＲの領域には、部屋の画像が表示され、ドアＤＲ以外の領域には、氷の国の画像が表示されるような画像が生成される。
【０１２７】
更に具体的には図１３（Ａ）に示すように、ユーザキャラクタＵＣ１（仮想カメラ）がドアＤＲの場所（特異点ＳＧに対応する場所）を第１の進行方向Ｄ１で通過し、仮想カメラの視線方向ＳＬが、第１の進行方向Ｄ１の反対方向側を向いたとする。即ち図１３（Ａ）では、ユーザキャラクタＵＣ１が第１の進行方向Ｄ１でドアＤＲを通過した後、ドアＤＲの方を振り返っており、仮想カメラの視線方向ＳＬはドアＤＲの方に向いている。この視線方向ＳＬは、第１の進行方向Ｄ１の例えば反対方向である。このような場合において本実施形態では、図９に示すように、ドアＤＲの領域（特異点ＳＧに対応する領域）に第１の仮想空間ＶＳ１（部屋）の画像が表示される画像を生成する。
【０１２８】
一方、図１３（Ａ）に示すように、ユーザキャラクタＵＣ１が、第２の仮想空間ＶＳ２において、位置Ｐ２から位置Ｐ３に移動し、仮想カメラの視線方向ＳＬをドアＤＲの方に向けたとする。即ち位置Ｐ２からドアＤＲの裏側の方の位置Ｐ３に移動して、ドアＤＲの方に視線方向ＳＬを向けたとする。この場合には、図９とは異なり、ドアＤＲの領域には部屋の画像は表示されない。具体的には図１３（Ａ）の位置Ｐ２において仮想カメラの視線方向ＳＬがドアＤＲの方に向いていた場合には、図９のようにドアＤＲの開口領域には、その向こう側の部屋の画像が表示されている。これに対して図１３（Ａ）の位置Ｐ３において仮想カメラの視線方向ＳＬがドアＤＲの方に向いていた場合には、ドアＤＲの開口領域には、氷の国の画像が表示され、部屋の画像は表示されない。即ち、氷河の上にドアＤＲの枠だけが立っているような画像が表示される。別の言い方をすると、氷河の上に、開いたドアＤＲが置いてあるだけの画像が表示される。
【０１２９】
このような画像が表示されるのは、本実施形態では、第１の仮想空間と第２の仮想空間が特異点ＳＧを介して不連続に結びつけられているからである。従って、図１３（Ａ）のように、位置Ｐ２から、移動元の位置である部屋の位置Ｐ１の方を見た場合には、ドアＤＲの開口領域を介して部屋の画像を見ることができるが、ドアＤＲの裏側の位置Ｐ３では、氷河の上に、ドアＤＲの枠（開いたドア）だけが立っているような画像が表示される。このようにすれば、第１の仮想空間から、第１の仮想空間とは異次元の空間である第２の仮想空間にワープしたような仮想現実の体験が可能になり、これまでにないタイプの仮想現実の実現が可能になる。
【０１３０】
なお図７、図９の画像は例えば以下のような手法により生成できる。例えば図７、図９において、仮想カメラから見て、ドアＤＲ以外の領域（特異点に対応する領域以外の領域）にあるピクセルと、ドアＤＲの領域（特異点に対応する領域）にあるピクセルとを区別するためのフラグＦＧを、各ピクセル毎に設定する。例えばドアＤＲ以外の領域では、フラグを例えばＦＧ＝１（第１のフラグ状態）に設定し、ドアＤＲの領域では、例えばフラグをＦＧ＝０（第２のフラグ状態）に設定する。そして仮想カメラから見える第１の仮想空間（部屋）の画像を第１の画像とし、仮想カメラから見える第２の仮想空間（氷の国）の画像を第２の画像とした場合に、図７においては、ＦＧ＝１（ドア以外）に設定されるピクセルについては、第１の画像（部屋）の色を描画し、ＦＧ＝０（ドア）に設定されるピクセルについては、第２の画像（氷の国）の色を描画する。このようにすることで図７に示すような画像を生成できる。一方、図９においては、ＦＧ＝１（ドア以外）に設定されるピクセルについては、第２の画像（氷の国）の色を描画し、ＦＧ＝０（ドア）に設定されるピクセルについては、第１の画像（部屋）の色を描画する。このようにすることで図９に示すような画像を生成できる。
【０１３１】
図１３（Ｂ）は、ユーザキャラクタＵＣ１がドアＤＲ（特異点ＳＧ）の場所を通過しておらず、切替条件が成立していない場合の例である。このようにユーザキャラクタＵＣ１が、位置Ｐ１からドアＤＲを通過せずに位置Ｐ２に移動しても、切替条件が成立しないため、仮想空間は切り替わらず、位置Ｐ２の情報は第１の仮想空間ＶＳ１（部屋）の位置情報として設定される。従って、位置Ｐ２において仮想カメラの視線方向ＳＬをドアＤＲの方に向けても、ドアＤＲの開口部には、部屋の画像が表示される。即ち、部屋の床の上に、ドアＤＲの枠だけが立っているような画像が表示される。また図１３（Ｂ）においてユーザキャラクタＵＣ１が位置Ｐ２から位置Ｐ３に移動して、仮想カメラの視線方向ＳＬをドアＤＲの方に向けても、部屋の床の上に、ドアＤＲの枠だけが立っているような画像が表示される。
【０１３２】
このように本実施形態では、図１３（Ａ）のように特異点ＳＧを通過して切替条件が成立すると、通過後の位置Ｐ２、Ｐ３は、第２の仮想空間ＶＳ２の位置として設定される。これに対して図１３（Ｂ）では、特異点ＳＧを通過しておらず、切替条件が成立していない。このため、図１３（Ａ）と同じ位置Ｐ２、Ｐ３が、図１３（Ｂ）では、第１の仮想空間ＶＳ１の位置のままとなる。
【０１３３】
また図１４（Ａ）では、ユーザキャラクタＵＣ１（仮想カメラ）が、第１の進行方向Ｄ１でドアＤＲ（特異点ＳＧ）を通過した後、第１の進行方向Ｄ１とは異なる第２の進行方向Ｄ２でドアＤＲを通過している。例えば、第１の仮想空間ＶＳ１の位置Ｐ１から第１の進行方向Ｄ１でドアＤＲを通過して、第２の仮想空間ＶＳ２の位置Ｐ２に移動した後、第１の進行方向Ｄ１（正方向）とは反対方向（逆極性の方向）の第２の進行方向Ｄ２（負方向）で、ドアＤＲを通過している。即ち位置Ｐ２から、ドアＤＲを通過して、位置Ｐ４に移動している。この場合にはユーザキャラクタＵＣ１（仮想カメラ）の位置Ｐ４の情報を、第１の仮想空間ＶＳ１（部屋）の位置情報として設定する。そして第１の描画処理として、少なくとも第１の仮想空間ＶＳ１の画像を描画する処理を行う。即ち、第１の仮想空間ＶＳ１である部屋の画像を描画する処理を行う。或いは図７に示すように、第１の仮想空間ＶＳ１（部屋）の画像に加えて、第２の仮想空間ＶＳ２（氷の国）の画像を描画する処理を行って、ドアＤＲ（特異点ＳＧ）の領域に、第２の仮想空間ＶＳ２の画像が表示される画像を生成する。例えば図１４（Ａ）に示すように、位置Ｐ４のユーザキャラクタＵＣ１の仮想カメラの視線方向ＳＬは、第２の進行方向Ｄ２の反対方向側を向いており、ドアＤＲの方を向いている。このような場合に、ドアＤＲの領域に、第２の仮想空間ＶＳ２（氷の国）の画像が表示される画像を生成する。このようにすることで、例えば第１の仮想空間ＶＳ１と第２の仮想空間ＶＳ２の間を特異点を介して行き来できるような仮想現実を実現できる。
【０１３４】
なお図１４（Ｂ）では、第２の仮想空間ＶＳ２の位置Ｐ２から、ドアＤＲを通過することなく、位置Ｐ４に移動している。この場合には、仮想空間の切替条件が成立していないため、位置Ｐ４は、第２の仮想空間ＶＳ２の位置のままとなる。即ち、図１３（Ａ）では位置Ｐ４は第１の仮想空間ＶＳ１の位置に切り替わっているが、図１３（Ｂ）では、同じ位置Ｐ４が、第２の仮想空間ＶＳ２の位置のままとなる。
【０１３５】
また本実施形態では、図１１（Ａ）〜図１２で説明したように、ユーザキャラクタ（仮想カメラ）が特異点に対応する場所を通過することで切替条件が成立した場合に、ユーザキャラクタ（仮想カメラ）の位置情報を、第３の仮想空間ＶＳ３（電車の上）の位置情報として設定し、第３の描画処理として、少なくとも第３の仮想空間ＶＳ３の画像を描画する処理を行う。
【０１３６】
例えば図１５（Ａ）では、ユーザキャラクタＵＣ１が、第１の仮想空間ＶＳ１の位置Ｐ１から、ドアＤＲ（特異点ＳＧ）を第１の進行方向Ｄ１（正方向）で通過して、位置Ｐ２に移動している。これにより、ドアＤＲの通過による切替条件が成立したため、位置Ｐ２は第２の仮想空間ＶＳ２（氷の国）の位置として設定される。そしてユーザキャラクタＵＣ１は、第２の仮想空間ＶＳ２の位置Ｐ２から、ドアＤＲを第２の進行方向Ｄ２（負方向）で通過して、位置Ｐ１に戻っている。これにより、ドアＤＲの通過による切替条件が成立したため、位置Ｐ１は第１の仮想空間ＶＳ１（部屋）の位置として設定される。
【０１３７】
このようにユーザキャラクタＵＣ１が、第１の仮想空間ＶＳ１（部屋）の位置Ｐ１に戻った後、図１５（Ｂ）では、ドアＤＲの開閉が行われている。これにより図６（Ｃ）〜図６（Ｅ）で説明したように、ドアＤＲの向こう側の世界が、第２の仮想空間ＶＳ２（氷の国）から第３の仮想空間ＶＳ３（電車の上）に切り替わる。即ち図１１（Ａ）に示すような画像が表示されるようになる。そして図１６に示すように、ユーザキャラクタＵＣ１が、第１の仮想空間ＶＳ１の位置Ｐ１から、ドアＤＲを通過して、位置Ｐ２に移動している。これにより、ドアＤＲの通過による切替条件が成立したため、位置Ｐ２は第３の仮想空間ＶＳ３（電車の上）の位置として設定される。そして第３の描画処理として、少なくとも第３の仮想空間ＶＳ３の画像を描画する処理を行うことで、例えば図１１（Ｂ）に示すような画像が生成される。またユーザキャラクタＵＣ１がドアＤＲの方向を振り返った場合には、図１２に示すような画像が生成される。即ち、第３の描画処理として、第３の仮想空間ＶＳ３（電車の上）の画像に加えて第１の仮想空間ＶＳ１（部屋）の画像を描画する処理を行って、ドアＤＲの領域に第１の仮想空間ＶＳ１の画像が表示される画像が生成される。このようにすれば、第１の仮想空間と第２の仮想空間の間の切替処理だけでなく、例えば第１の仮想空間と第３の仮想空間の間の切替処理も実現できるようになる。或いは第２の仮想空間と第３の仮想空間の間の切替処理も行うようにしてもよい。
【０１３８】
また本実施形態では、複数のユーザがプレイする場合に、複数のユーザに対応する複数のユーザキャラクタ（複数の仮想カメラ）が特異点に対応する場所を通過して第１の仮想空間に戻ったことを条件に、第３の描画処理を許可する手法を採用する。
【０１３９】
例えば図１７（Ａ）では、ユーザキャラクタＵＣ１、ＵＣ２に対応する複数のユーザがプレイしている。そしてユーザキャラクタＵＣ１は、第１の仮想空間ＶＳ１からドアＤＲを通過して第２の仮想空間ＶＳ２に移動した後、再度、ドアＤＲを通過して、第１の仮想空間ＶＳ１に戻って来ている。これに対して、ユーザキャラクタＵＣ２は、ドアＤＲを通過して第２の仮想空間ＶＳ２に移動した後、第２の仮想空間ＶＳ２に留まっている。
【０１４０】
このような状況において、例えば図１７（Ｂ）に示すようにドアＤＲの開閉が行われたとする。このとき、図６（Ｃ）〜図６（Ｅ）に示すように、第２の仮想空間ＶＳ２（氷の国）から第３の仮想空間ＶＳ３（電車の上）に切り替わってしまうと、図１７（Ｂ）においてユーザキャラクタＵＣ２が第２の仮想空間ＶＳ２に取り残されてしまう事態が生じてしまう。
【０１４１】
そこで本実施形態では、このような事態の発生を防止するために、ユーザキャラクタＵＣ１、ＵＣ２の両方が第１の仮想空間ＶＳ１に戻ったことを条件に、第３の仮想空間における第３の描画処理を許可する。
【０１４２】
即ち、図１８（Ａ）では、ユーザキャラクタＵＣ１のみならず、ユーザキャラクタＵＣ２も、第２の仮想空間ＶＳ２の位置からドアＤＲを通過して第１の仮想空間ＶＳ１に戻っている。そして、このようにユーザキャラクタＵＣ１、ＵＣ２が第１の仮想空間ＶＳ１に戻った後に、ドアＤＲの開閉が行われている。このときに、図１８（Ｂ）に示すように、ユーザキャラクタＵＣ１、ＵＣ２がドアＤＲを通過して切替条件が満たされると、ユーザキャラクタＵＣ１、ＵＣ２の位置は第３の仮想空間ＶＳ３（電車の上）の位置として設定される。そして、第３の仮想空間ＶＳ３での第３の描画処理が行われて、図１１（Ｂ）、図１２に示すような画像が生成されるようになる。このようにすれば、複数のユーザに対応する複数のユーザキャラクタの一部が、第２の仮想空間に取り残されてしまい、ゲーム進行等に破綻を来すなどの事態を防止できるようになり、適切でスムーズなゲーム進行を実現できるようになる。
【０１４３】
また本実施形態ではユーザの入力情報又はセンサの検出情報に基づいて、切替条件が成立したか否かを判断してもよい。
【０１４４】
例えば図１９（Ａ）では、マイク等を使って、「氷の国に行きたい」という音声情報が、ユーザＵＳ１の入力情報として入力されている。このようなユーザＵＳ１の入力情報に基づいて、切替条件が成立したか否かを判断して、例えば仮想空間の切替処理を行ってもよい。このようにすることで、入力情報を入力するだけという簡素な手間で、仮想空間の切替処理を実現できるようになる。
【０１４５】
なお、切替条件の判断に使用されるユーザの入力情報は、例えばゲームコントローラ（広義には操作部）により入力される操作情報であってもよい。或いは、リープモーションの処理によりユーザの手や指の動きを検出できる場合には、ユーザの手や指の動きによる入力情報を、ユーザの入力情報として用いて、切替条件を判断するようにしてもよい。或いは、ユーザの頭部の動きを、ＨＭＤのセンサ部等に基づき検出して、ユーザの入力情報として用いるようにしてもよい。
【０１４６】
また本実施形態では、センサの検出情報に基づいて、切替条件が成立したか否かを判断してもよい。例えば図１９（Ｂ）では、ドアＤＲに対してセンサＳＥが設けられている。そしてこの場合に、センサＳＥの検出情報に基づいて、ドアＤＲの開閉状態を判断して、切替条件が成立したか否かを判断してもよい。センサＳＥとしては、例えば図２（Ａ）で説明したような受光素子を用いてもよい。このようにすれば、図４のように部屋に設けられたベースステーション２８０、２８４からの光を、センサＳＥである受光素子で検出することで、ドアＤＲの開閉状態を判断できるようになる。従って、簡素な処理で切替条件を判断することが可能になる。或いは、センサＳＥとして、加速度センサやジャイロセンサなどから構成されるモーションセンサを用いてもよい。このようなモーションセンサを用いることで、ドアＤＲの開閉状態等を判断して、仮想空間の切替条件が成立したか否かを判断してもよい。このように、センサＳＥとしては種々の方式のセンサを採用することができる。
【０１４７】
また本実施形態では図４、図２０（Ａ）、図２０（Ｂ）に示すように、ユーザ（ＵＳ１、ＵＳ２）が移動する実空間のプレイフィールドＦＬには、特異点に対応する物体が配置されている。例えば特異点に対応する物体としてドアＤＲが配置されている。そして本実施形態では、ユーザが実空間において、物体であるドアＤＲの場所を通過した場合に、ユーザキャラクタ（仮想カメラ）が、特異点に対応する場所を通過したと判断する。
【０１４８】
このようにすれば、実空間の物体であるドアの場所をユーザが実際に通過することで、対応するユーザキャラクタがドアの場所を通過したと判断されるようになるため、ユーザの仮想現実感を向上できる。この場合に、実空間のドアを模したドアのオブジェクトを仮想空間に配置することで、実空間のドアと仮想空間のドアのオブジェクトとが適正に対応づけられるようになり、ユーザの仮想現実感を更に向上できる。また、例えば図１９（Ｂ）のように実空間のドアにセンサを設け、このセンサの検出情報に基づいて、仮想空間のドアのオブジェクトの開閉状態を制御すれば、実空間のドアの開閉に連動して仮想空間のドアのオブジェクトも開閉されるようになり、ユーザの仮想現実感を格段に向上できるようになる。
【０１４９】
なお図２０（Ａ）では、Ｂ１に示すように、ユーザキャラクタＵＣ１の頭部や上半身部分だけが、ドアＤＲを通過しており、第２の仮想空間ＶＳ２（氷の国）に移動している。一方、ユーザキャラクタＵＣ１の下半身部分は、第１の仮想空間ＶＳ１（部屋）に残っている。この場合に第１の仮想空間ＶＳ１に位置するユーザキャラクタＵＣ２（ユーザＵＳ２）からは、ユーザキャラクタＵＣ１の頭部や上半身部分が消えて見えるようになり、ドアＤＲの向こう側が別世界であるという不思議な仮想現実を体験できる。またユーザキャラクタＵＣ２が、ドアＤＲを通過せずに、Ｂ２に示すようにドアＤＲの向こう側に移動して見た場合には、更に違った見え方になる。また図２０（Ｂ）のようにユーザキャラクタＵＣ１（ユーザＵＳ１）は、ドアＤＲをくぐって、後ろ側を振り返っても、第２の仮想空間である氷の国しか見えず、第１の仮想空間である部屋は見えない。従って、２つの仮想空間が、特異点であるドアＤＲを介してつながっているという不思議な感覚を与えることができ、これまでにない不思議な仮想現実を、体験させることが可能になる。
【０１５０】
なお図２０（Ａ）、図２０（Ｂ）に示すような画像の生成を適切に行うためには、例えばユーザキャラクタの頭部の位置情報の検出に加えて、足などの下半身部分の位置情報を検出することが望ましい。また図２０（Ａ）、図２０（Ｂ）に示すように、特異点に対応する領域は、少なくともユーザの視点に対応する仮想カメラが通過していればよく、ユーザキャラクタの全体が通過している必要はない。
【０１５１】
３．３  種々の処理例
次に本実施形態の種々の処理例について説明する。本実施形態では、特異点を設定又は非設定にする処理を行うようにしてもよい。
【０１５２】
例えば図２１（Ａ）では、ユーザキャラクタＵＣ１は第２の仮想空間ＶＳ２（氷の国）に位置しており、図８とは異なり、特異点ＳＧに対応するドアＤＲは表示されていない。そして図２１（Ａ）では、ユーザキャラクタＵＣ１に対応するユーザＵＳ１が、例えば「現れよドア」という音声を入力している。これにより特異点ＳＧを設定する処理が行われ、図２１（Ｂ）に示すように、特異点ＳＧに対応するドアＤＲが、第２の仮想空間ＶＳ２に現れて、表示されるようになる。或いは、図２１（Ｂ）において、ユーザＵＳ１が、例えば「消えろドア」という音声を入力することで、特異点ＳＧを非設定にする処理を行って、例えば図２１（Ａ）に示すように、ドアＤＲを非表示にしてもよい。
【０１５３】
このように、ユーザの入力情報などに基づいて、特異点の設定、非設定を任意に切り替えられるようにすれば、例えばゲーム状況等に応じて、特異点に対応するオブジェクトを表示したり、非表示にすることなどが可能になる。これにより、例えば特異点を隠したりすることなどが可能になり、より多様なゲーム処理やゲーム演出を実現できるようになる。なお、特異点の設定、非設定は、例えばユーザの入力情報以外にも、例えばゲーム処理の結果やユーザのゲームレベルなどに応じて、切り替えるようにしてもよい。
【０１５４】
また本実施形態では、ユーザに仮想現実を体験させるための体感装置を制御する処理を行い、切替条件が成立していない場合の体感装置の制御と、切替条件が成立した場合の体感装置の制御を異ならせてもよい。
【０１５５】
例えば図２２（Ａ）では、ユーザキャラクタＵＣ１（ＵＳ１）は、ドアＤＲを通過せずにドアＤＲの向こう側に移動しており、仮想空間の切替条件は成立していない。この場合には、送風機ＢＬ、振動デバイスＶＢなどの体感装置を動作させない。一方、図２２（Ｂ）では、ユーザキャラクタＵＣ１は、ドアＤＲを通過してドアＤＲの向こう側に移動しており、仮想空間の切替条件が成立している。この場合には、送風機ＢＬ、振動デバイスＶＢなどの体感装置を動作させる。例えば送風機ＢＬによる冷風の送風を行ったり、振動デバイスＶＢにより床を振動させるなどの制御を行う。こうすることで、図１０（Ａ）、図１０（Ｂ）で説明したように、仮想空間が、第１の仮想空間（部屋）から第２の仮想空間（氷の国）に切り替わったことを、送風機ＢＬ、振動デバイスＶＢなどの体感装置を用いて、ユーザに体感させることが可能になる。
【０１５６】
なお、切替条件が成立していない場合と切替条件が成立した場合とで、体感装置の制御態様や制御する体感装置の種類を異ならせてもよい。例えば送風機ＢＬの送風のパワーを異ならせたり、振動デバイスＶＢの振動度合いを異ならせてもよい。或いは、第１の仮想空間用の第１の体感装置と、第２の仮想空間用の第２の体感装置を用意し、切替条件が成立していない場合には、第１の体感装置を動作させ、切替条件が成立した場合には、第２の体感装置を動作させるようにしてもよい。
【０１５７】
また本実施形態では、複数のユーザがプレイする場合に、実空間でのユーザ間の衝突の報知情報の出力処理を行う。
【０１５８】
例えば図２３（Ａ）では、ユーザキャラクタＵＣ１、ＵＣ２に対応する複数のユーザＵＳ１、ＵＳ２がゲームをプレイしている。そしてユーザキャラクタＵＣ１はドアＤＲを通過して移動することで、第２の仮想空間ＶＳ２に移動しているが、ユーザキャラクタＵＣ２は、ドアＤＲを通過しておらず、第１の仮想空間ＶＳ１に留まっている。そして図２３（Ｂ）では、ユーザキャラクタＵＣ１が第２の仮想空間ＶＳ２内を移動して、ユーザキャラクタＵＣ２の方に近づいている。
【０１５９】
この場合にユーザキャラクタＵＣ１は第１の仮想空間ＶＳ１に留まっているため、ユーザＵＳ１のＨＭＤ１には、第１の仮想空間ＶＳ１（部屋）の画像が表示される。一方、ユーザキャラクタＵＣ２は第２の仮想空間ＶＳ２に移動しているため、ユーザＵＳ２のＨＭＤ２には、第２の仮想空間ＶＳ２（氷の国）の画像が表示される。従って、ＨＭＤ１により視界が覆われているユーザＵＳ１は、ユーザＵＳ２に対応するユーザキャラクタＵＣ２の存在を視覚的に認識できない。同様にＨＭＤ２により視界が覆われているユーザＵＳ２は、ユーザＵＳ１に対応するユーザキャラクタＵＣ１の存在を視覚的に認識できない。従って、実世界においてユーザＵＳ１、ＵＳ２が衝突してしまう事態が生じるおそれがある。
【０１６０】
そこで本実施形態では、このような事態の発生を防止するために、複数のユーザがプレイする場合に、実空間でのユーザ間の衝突の報知情報の出力処理を行う。例えば図２４は、ユーザＵＳ１のＨＭＤ１の表示画像の例である。この表示画像には、ユーザＵＳ１の手や指等が表示されている。
【０１６１】
そして図２３（Ｂ）のような状況の場合に、ユーザＵＳ１のＨＭＤ１には、通常では、ユーザキャラクタＵＣ２は表示されない。これに対して図２４では、ユーザキャラクタＵＣ２を、例えばゴーストキャラクタのように薄らと表示する。例えば所与の半透明度で背景等と半透明合成されたユーザキャラクタＵＣ２を表示する。こうすることで、ユーザＵＳ１は、ユーザキャラクタＵＣ２に対応するユーザＵＳ２が近くに居ることを視覚的に認識できるようになり、実世界でのユーザ間の衝突を回避できるようになる。この場合にユーザＵＳ２のＨＭＤ２においても、ユーザＵＳ１に対応するユーザキャラクタＵＣ１を、例えば背景等と半透明合成することなどにより、ゴーストキャラクタのように薄らと表示する。こうすることで、ユーザＵＳ２は、ユーザキャラクタＵＣ１に対応するユーザＵＳ１が近くに居ることを視覚的に認識できるようになり、実世界でのユーザ間の衝突を回避できるようになる。
【０１６２】
なお、衝突の危険度に応じて、図２４のユーザキャラクタＵＣ２の表示態様を変化させてもよい。例えばユーザキャラクタＵＣ１、ＵＣ２の距離が近づくにつれて、或いは、ユーザキャラクタＵＣ１やＵＣ２の接近速度が速くなるにつれて、ユーザキャラクタＵＣ２の表示を徐々に濃くするなどして、視覚の認識度合いを高める処理を行ってもよい。
【０１６３】
また図２４のＣ１に示すように衝突の警告を報知するような情報を、ＨＭＤの表示画像に重畳表示してもよい。或いは、音声や振動により衝突の警告を報知してもよい。このように報知情報の出力処理としては種々の態様の出力処理を想定できる。
【０１６４】
なお図２５（Ａ）では、ユーザキャラクタＵＣ１、ＵＣ２が第２の仮想空間ＶＳ２に移動した後、ユーザキャラクタＵＣ２がドアＤＲの裏側の位置に移動している。そして図２５（Ｂ）に示すように、ユーザキャラクタＵＣ２は、ドアＤＲの裏側の位置から、ユーザキャラクタＵＣ１の方に移動して、ドアＤＲを通過している。
【０１６５】
この場合にユーザキャラクタＵＣ１の仮想カメラの視線方向ＳＬは、ドアＤＲの方向を向いている。このため図９に示すように、ドアＤＲの領域が部屋の画像となる画像が表示される。そしてこの状態で図２５（Ｂ）に示すように、第２の仮想空間ＶＳ２のユーザキャラクタＵＣ２がドアＤＲを通過すると、図９の部屋の画像の中から突然にユーザキャラクタＵＣ２が飛び出して来るような画像が表示されるようになる。
【０１６６】
また本実施形態では、実空間でのユーザの位置情報を取得し、取得された位置情報に基づいて、ユーザキャラクタを移動させる処理を行うことが望ましい。例えば図２６（Ａ）において、実空間でのユーザＵＳ１の位置ＰＲの情報を取得する。この実空間での位置ＰＲの情報は、例えば図２（Ａ）〜図３（Ｂ）で説明したＨＭＤ１のトラッキング処理などにより取得できる。そして、取得された実空間での位置ＰＲの情報に基づいて、図２６（Ｂ）に示す仮想空間のユーザキャラクタＵＣ１を移動させる処理を行う。即ち、図２６（Ａ）に示す実空間でのユーザＵＳ１の位置ＰＲと、図２６（Ｂ）に示す仮想空間でのユーザキャラクタＵＣ１の位置ＰＶとを対応づけ、位置ＰＲの移動に連動するように位置ＰＶを変化させて、ユーザキャラクタＵＣ１を移動させる。そしてユーザＵＳ１が装着するＨＭＤ１の表示画像を、本実施形態の手法により生成する。
【０１６７】
具体的には切替条件が成立する前においては、実空間でのユーザＵＳ１の位置ＰＲの情報により特定されるユーザキャラクタＵＣ１（仮想カメラ）の位置ＰＶの情報を、第１の仮想空間の位置情報として設定する。一方、切替条件が成立した場合には、実空間でのユーザＵＳ１の位置ＰＲの情報により特定されるユーザキャラクタＵＣ１（仮想カメラ）の位置ＰＶの情報を、第２の仮想空間の位置情報として設定する。
【０１６８】
このようにすれば、実空間においてユーザＵＳ１がプレイフィールドＦＬを移動すると、その移動に対応するようにユーザキャラクタＵＣ１も移動するようになる。そしてユーザＵＳ１が、実空間でのドアＤＲの物体の場所を通過したか否かで、切替条件が成立したか否かが判断され、図１３（Ａ）、１３（Ｂ）に示すような仮想空間の切替処理や描画処理が実行されるようになる。
【０１６９】
この場合に図１３（Ａ）に示すようにドアＤＲを通過して、位置Ｐ２、Ｐ３に移動した場合と、図１３（Ｂ）に示すようにドアＤＲを通過せずに、位置Ｐ２、Ｐ３に移動した場合とで、ＨＭＤ１に表示される画像が異なるようになる。即ち、実空間では同じ位置Ｐ２、Ｐ３にいる場合にも、図１３（Ａ）ではＨＭＤ１に対し第２の仮想空間ＶＳ２（氷の国）での画像が表示されるが、図１３（Ｂ）ではＨＭＤ１に対し第１の仮想空間ＶＳ１（部屋）での画像が表示されるようになる。従って、これまでのシミュレーションシステムでは実現できなかった不思議なＶＲ体験を、ユーザに提供することが可能になる。
【０１７０】
４．詳細な処理
次に本実施形態の詳細な処理例について図２７のフローチャートを用いて説明する。まず切替条件が成立したか否かを判断する（ステップＳ１）。そして例えば特異点に対応する場所をユーザキャラクタが通過しておらず、切替条件が成立していない場合には、ユーザキャラクタ又は仮想カメラの位置情報を、第１の仮想空間の位置情報として設定する（ステップＳ２）。例えば図１３（Ｂ）に示すように位置情報を設定する。そして第１の仮想空間の画像に加えて第２の仮想空間の画像を描画する処理を行って、特異点に対応する領域に第２の仮想空間の画像が表示される画像を生成する（ステップＳ３）。例えば図７に示すように、特異点に対応する領域であるドアＤＲの領域に、第２の仮想空間ＶＳ２である氷の国の画像が表示される画像を生成する。
【０１７１】
一方、ユーザキャラクタ又は移動体が特異点に対応する場所を通過して、切替条件が成立すると、ユーザキャラクタ又は仮想カメラの位置情報を、第２の仮想空間の位置情報として設定する（ステップＳ４）。例えば図１３（Ａ）に示すように位置情報を設定する。そして第２の仮想空間の画像に加えて第１の仮想空間の画像を描画する処理を行って、特異点に対応する領域に第１の仮想空間の画像が表示される画像を生成する（ステップＳ５）。例えば図９に示すように、特異点に対応する領域であるドアＤＲの領域に、第１の仮想空間ＶＳ１である部屋の画像が表示される画像を生成する。
【０１７２】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（ユーザ移動体、特異点等）と共に記載された用語（ユーザキャラクタ、ドア等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また位置情報の取得処理、仮想空間の設定処理、移動体の移動処理、表示処理、ゲーム処理、報知処理、体感装置の制御処理、仮想空間の切替処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
【符号の説明】
【０１７３】
ＵＳ１、ＵＳ２、ＵＳ  ユーザ、ＵＣ１、ＵＣ２  ユーザキャラクタ（ユーザ移動体）、
ＶＳ１  第１の仮想空間、ＶＳ２  第２の仮想空間、ＤＲ  ドア、ＳＧ  特異点、
ＦＬ  プレイフィールド、ＢＬ  送風機、ＶＢ  振動デバイス、
ＤＫ  机、ＢＳ  本棚、ＷＤ１、ＷＤ２  窓、
ＴＲ  電車、ＴＮ  トンネル、ＳＬ  視線方向、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１１  情報取得部、
１１２  仮想空間設定部、１１３  移動体処理部、１１４  仮想カメラ制御部、
１１５  ゲーム処理部、１１６  報知処理部、１１７  体感装置制御部、
１２０  表示処理部、１３０  音処理部、
１４０  出力処理部、１５０  撮像部、１５１、１５２  カメラ、１６０  操作部、
１７０  記憶部、１７２  オブジェクト情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、
２００  ＨＭＤ（頭部装着型表示装置）、２０１〜２０３  受光素子、２１０  センサ部、
２２０  表示部、２３１〜２３６  発光素子、２４０  処理部、
２５０  処理装置、２６０  ヘッドバンド、２７０  ヘッドホン、
２８０、２８４  ベースステーション、
２８１、２８２、２８５、２８６  発光素子
【図１】
2018109835.tif 000003
【図２】
2018109835.tif 000004
【図３】
2018109835.tif 000005
【図４】
2018109835.tif 000006
【図５】
2018109835.tif 000007
【図６】
2018109835.tif 000008
【図７】
2018109835.tif 000009
【図８】
2018109835.tif 000010
【図９】
2018109835.tif 000011
【図１０】
2018109835.tif 000012
【図１１】
2018109835.tif 000013
【図１２】
2018109835.tif 000014
【図１３】
2018109835.tif 000015
【図１４】
2018109835.tif 000016
【図１５】
2018109835.tif 000017
【図１６】
2018109835.tif 000018
【図１７】
2018109835.tif 000019
【図１８】
2018109835.tif 000020
【図１９】
2018109835.tif 000021
【図２０】
2018109835.tif 000022
【図２１】
2018109835.tif 000023
【図２２】
2018109835.tif 000024
【図２３】
2018109835.tif 000025
【図２４】
2018109835.tif 000026
【図２５】
2018109835.tif 000027
【図２６】
2018109835.tif 000028
【図２７】
2018109835.tif 000029