(57)【要約】【課題】頭部装着型表示装置を用いたシステムにおいて、ユーザ同士の衝突等の発生を抑制しながら仮想現実感の高い仮想体験を実現できるシミュレーションシステム等の提供。【解決手段】シミュレーションシステムは、視界を覆うように頭部装着型表示装置を装着するユーザの位置情報を取得する情報取得部と、取得された位置情報に基づいて、ユーザに対応する移動体が配置設定される仮想空間の設定処理を行う仮想空間設定部と、取得された位置情報に基づいて、仮想空間において移動体を移動させる処理を行う移動体処理部と、頭部装着型表示装置の表示画像を生成する表示処理部を含む。仮想空間設定部は、実空間の第１のフィールドＦＬ１に位置する第１のユーザ群ＵＡＧに対応する第１の移動体群ＭＡＧと、実空間の第２のフィールドＦＬ２に位置する第２のユーザ群ＵＢＧに対応する第２の移動体群ＭＢＧとが、仮想空間の共通の仮想フィールドＦＬＶに配置設定されるように仮想空間の設定処理を行う。【選択図】図８
2020201980.tif 000002
【特許請求の範囲】
【請求項１】
視界を覆うように頭部装着型表示装置を装着するユーザの位置情報を取得する情報取得部と、
取得された前記位置情報に基づいて、前記ユーザに対応する移動体が配置設定される仮想空間の設定処理を行う仮想空間設定部と、
取得された前記位置情報に基づいて、前記仮想空間において前記移動体を移動させる処理を行う移動体処理部と、
前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部と、
を含み、
前記仮想空間設定部は、
実空間の第１のフィールドに位置する第１のユーザ群に対応する第１の移動体群と、前記実空間の前記第１のフィールドとは異なる第２のフィールドに位置する第２のユーザ群に対応する第２の移動体群とが、前記仮想空間の共通の仮想フィールドに配置設定されるように前記仮想空間の設定処理を行い、
前記第１のユーザ群及び前記第２のユーザ群の各ユーザ群は少なくとも１人のユーザにより構成され、
前記仮想空間設定部は、
前記仮想空間の共通の前記仮想フィールドのスケールを、前記実空間の前記第１、第２のフィールドのスケールよりも大きく設定し、
前記移動体処理部は、
前記実空間での前記ユーザの移動量よりも大きな移動量で、前記仮想空間において前記移動体を移動させることを特徴とするシミュレーションシステム。
【請求項２】
請求項１において、
第１のグループに属する前記第１のユーザ群と、第２のグループに属する前記第２のユーザ群との間での対戦のゲーム処理を行うゲーム処理部を含むことを特徴とするシミュレーションシステム。
【請求項３】
請求項１又は２において、
前記ユーザに出力される音の生成処理を行う音処理部を含み、
前記音処理部は、
前記仮想空間の前記仮想フィールドでの前記移動体の位置情報に基づいて、前記ユーザに出力される音の生成処理を行うことを特徴とするシミュレーションシステム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記実空間でのユーザ同士の衝突についての予測処理を行い、前記予測処理の結果に基づいて、ユーザ同士の衝突についての警告の報知処理を行う報知処理部を含むことを特徴とするシミュレーションシステム。
【請求項５】
請求項１乃至３のいずれかにおいて、
前記実空間での前記ユーザの装備品の動き又は前記ユーザの動きについての検出処理を行い、前記検出処理の検出結果に基づいて、前記装備品の動き又は前記ユーザの動きについての警告の報知処理を行う報知処理部を含むことを特徴とするシミュレーションシステム。
【請求項６】
請求項５において、
前記報知処理部は、
前記ユーザと他のユーザの前記位置情報に基づいて前記ユーザと前記他のユーザが接近関係にあると判断されたことを条件に、前記報知処理を行うことを特徴とするシミュレーションシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記移動体処理部は、
前記実空間での前記ユーザと他のユーザとが接近関係になったと判断された場合に、前記他のユーザに対応する他の移動体の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする移動処理を行うことを特徴とするシミュレーションシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記表示処理部は、
前記ユーザに対応する前記移動体と、他のユーザに対応する他の移動体とが、所与の位置関係になった場合に、前記所与の位置関係に応じた演出処理画像の生成処理を行うことを特徴とするシミュレーションシステム。
【請求項９】
請求項８において、
前記表示処理部は、
前記実空間での前記ユーザと前記他のユーザが接近関係になっていない状態で、前記仮想空間での前記移動体と前記他の移動体が接近関係になった場合に、前記演出処理画像の生成処理を行うことを特徴とするシミュレーションシステム。
【請求項１０】
請求項８又は９において、
前記表示処理部は、
前記移動体及び前記他の移動体の少なくとも一方が特殊モーションを行う前記演出処理画像、又は前記所与の位置関係用の特殊モードに移行する前記演出処理画像の生成処理を行うことを特徴とするシミュレーションシステム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記第１のユーザ群が移動可能な前記第１のフィールドと、
前記第２のユーザ群が移動可能な前記第２のフィールドと、
を含むことを特徴とするシミュレーションシステム。
【請求項１２】
視界を覆うように頭部装着型表示装置を装着するユーザの位置情報を取得する情報取得部と、
取得された前記位置情報に基づいて、前記ユーザに対応する移動体が配置設定される仮想空間の設定処理を行う仮想空間設定部と、
取得された前記位置情報に基づいて、前記仮想空間において前記移動体を移動させる処理を行う移動体処理部と、
前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部として、
コンピュータを機能させ、
前記仮想空間設定部は、
実空間の第１のフィールドに位置する第１のユーザ群に対応する第１の移動体群と、前記実空間の前記第１のフィールドとは異なる第２のフィールドに位置する第２のユーザ群に対応する第２の移動体群とが、前記仮想空間の共通の仮想フィールドに配置設定されるように前記仮想空間の設定処理を行い、
前記第１のユーザ群及び前記第２のユーザ群の各ユーザ群は少なくとも１人のユーザにより構成され、
前記仮想空間設定部は、
前記仮想空間の共通の前記仮想フィールドのスケールを、前記実空間の前記第１、第２のフィールドのスケールよりも大きく設定し、
前記移動体処理部は、
前記実空間での前記ユーザの移動量よりも大きな移動量で、前記仮想空間において前記移動体を移動させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、ＨＭＤ（頭部装着型表示装置）をユーザが頭部に装着し、ＨＭＤの画面に表示される画像をユーザが見ることで、いわゆるバーチャルリアリティー（ＶＲ）の世界を体感できるシミュレーションシステムが知られている。このようなシミュレーションシステムの従来技術としては、例えば特許文献１等に開示される技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３０９２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＨＭＤを用いたシミュレーションシステムでは、仮想空間において仮想カメラから見える画像がＨＭＤに表示される。このような画像をＨＭＤに表示することで、ユーザの視界の全周囲に亘って、広大なＶＲ空間が広がるようになるため、ユーザの仮想現実感を格段に向上できる。
【０００５】
しかしながら、ユーザがＨＭＤを頭部に装着すると、周囲が見えなくなったり、非常に見えにくくなる事態が生じる。このような事態が生じると、ユーザ同士がぶつかってしまったり、ユーザの装備品等が他のユーザにぶつかるなどの問題が生じるおそれがある。
【０００６】
本発明の幾つかの態様によれば、頭部装着型表示装置を用いたシステムにおいて、ユーザ同士の衝突等の発生を抑制しながら、仮想現実感の高い仮想体験を実現できるシミュレーションシステム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、視界を覆うように頭部装着型表示装置を装着するユーザの位置情報を取得する情報取得部と、取得された前記位置情報に基づいて、前記ユーザに対応する移動体が配置設定される仮想空間の設定処理を行う仮想空間設定部と、取得された前記位置情報に基づいて、前記仮想空間において前記移動体を移動させる処理を行う移動体処理部と、前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部と、を含み、前記仮想空間設定部は、実空間の第１のフィールドに位置する第１のユーザ群に対応する第１の移動体群と、前記実空間の前記第１のフィールドとは異なる第２のフィールドに位置する第２のユーザ群に対応する第２の移動体群とが、前記仮想空間の共通の仮想フィールドに配置設定されるように前記仮想空間の設定処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、ユーザの位置情報が取得され、取得された位置情報に基づいて、仮想空間での移動体の配置設定処理や移動処理が行われ、ユーザが装着する頭部装着型表示装置の表示画像が生成される。そして本発明の一態様では、実空間の第１のフィールドに位置する第１のユーザ群に対応する第１の移動体群と、実空間の第２のフィールドに位置する第２のユーザ群に対応する第２の移動体群とが、仮想空間の共通の仮想フィールドに配置設定される。このような第１、第２のフィールドを用意すれば、実空間でのユーザの衝突等を防止しながら、第１、第２のユーザ群に対応する第１、第２の移動体群については、仮想空間の共通の仮想フィールドに配置設定して、その移動処理等を実行できるようになる。従って、頭部装着型表示装置を用いたシステムにおいて、ユーザ同士の衝突等の発生を抑制しながら、仮想現実感の高い仮想体験を実現できるシミュレーションシステムの提供が可能になる。
【０００９】
また本発明の一態様では、第１のグループに属する前記第１のユーザ群と、第２のグループに属する前記第２のユーザ群との間での対戦のゲーム処理を行うゲーム処理部を含んでもよい（ゲーム処理部としてコンピュータを機能させてもよい）。
【００１０】
このようにすれば、ユーザ同士の衝突等の発生を抑制しながら、面白味のあるグループ対戦ゲームを実現できるようになる。
【００１１】
また本発明の一態様では、前記ユーザに出力される音の生成処理を行う音処理部を含み（音処理部としてコンピュータを機能させ））、前記音処理部は、前記仮想空間の前記仮想フィールドでの前記移動体の位置情報に基づいて、前記ユーザに出力される音の生成処理を行ってもよい。
【００１２】
このようにすれば、ユーザ同士の衝突等の発生を抑制しながら、より仮想現実感の高い音場の形成が可能になる。
【００１３】
また本発明の一態様では、前記実空間でのユーザ同士の衝突についての予測処理を行い、前記予測処理の結果に基づいて、ユーザ同士の衝突についての警告の報知処理を行う報知処理部を含んでもよい（報知処理部としてコンピュータを機能させてもよい）。
【００１４】
このようにすれば、ユーザ同士の衝突が発生するおそれがあることを、ユーザに対して適切に報知することが可能になる。
【００１５】
また本発明の一態様では、前記実空間での前記ユーザの装備品の動き又は前記ユーザの動きについての検出処理を行い、前記検出処理の検出結果に基づいて、前記装備品の動き又は前記ユーザの動きについての警告の報知処理を行う報知処理部を含んでもよい（報知処理部としてコンピュータを機能させてもよい）。
【００１６】
このようにすれば、ユーザの装備品やユーザの部位が他のユーザにぶつかってしまうおそれがあることを、適切に報知することが可能になる。
【００１７】
また本発明の一態様では、前記報知処理部は、前記ユーザと他のユーザの前記位置情報に基づいて前記ユーザと前記他のユーザが接近関係にあると判断されたことを条件に、前記報知処理を行ってもよい。
【００１８】
このようにすれば、ユーザ同士が接近関係にないのに、装備品の動きやユーザの動きの検出処理が無駄に行われたり、無用な警告が行われてしまうような事態を防止できる。
【００１９】
また本発明の一態様では、前記移動体処理部は、前記実空間での前記ユーザの移動量とは異なる移動量で、前記仮想空間において前記移動体を移動させる処理を行ってもよい。
【００２０】
このようにすれば、ユーザが大きな移動量での移動を躊躇することなどが可能になり、ユーザ同士の衝突等を効果的に回避できるようになる。
【００２１】
また本発明の一態様では、前記移動体処理部は、前記実空間での前記ユーザと他のユーザとが接近関係になったと判断された場合に、前記他のユーザに対応する他の移動体の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする移動処理を行ってもよい。
【００２２】
このようにすれば、実空間での他のユーザの移動に先行して他の移動体が移動するようになるため、実空間においてユーザと他のユーザとが衝突してしまう事態等を抑制できるようになる。
【００２３】
また本発明の一態様では、前記表示処理部は、前記ユーザに対応する前記移動体と、他のユーザに対応する他の移動体とが、所与の位置関係になった場合に、前記所与の位置関係に応じた演出処理画像の生成処理を行ってもよい。
【００２４】
このようにすれば、ユーザ及び他のユーザに対応する移動体及び他の移動体が所与の位置関係になると、その位置関係に応じた演出処理が行われて、演出処理画像が生成されるようになり、ユーザが不自然さを感じてしまうような事態の発生を防止できる。
【００２５】
また本発明の一態様では、前記表示処理部は、前記実空間での前記ユーザと前記他のユーザが接近関係になっていない状態で、前記仮想空間での前記移動体と前記他の移動体が接近関係になった場合に、前記演出処理画像の生成処理を行ってもよい。
【００２６】
このようにすれば、実空間ではユーザ同士が例えば実際にはすれ違っていないのに、仮想空間では移動体同士がすり抜けて見えてしまい、ユーザが不自然さを感じてしまうような事態の発生を防止できる。
【００２７】
また本発明の一態様では、前記表示処理部は、前記移動体及び前記他の移動体の少なくとも一方が特殊モーションを行う前記演出処理画像、又は前記所与の位置関係用の特殊モードに移行する前記演出処理画像の生成処理を行ってもよい。
【００２８】
このようにすれば、移動体と他の移動体が所与の位置関係になった場合に行われる演出処理を、移動体や他の移動体に特殊モーションを行わせる処理や、所与の位置関係用の特殊モードに移行する処理により実現できるようになる。
【００２９】
また本発明の一態様では、前記第１のユーザ群が移動可能な前記第１のフィールドと、前記第２のユーザ群が移動可能な前記第２のフィールドと、を含んでもよい。
【００３０】
このような第１、第２のフィールドを設けることで、ユーザ同士の衝突等の発生を抑制しながら、仮想現実感の高い仮想体験を実現できるシミュレーションシステムの提供が可能になる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態のシミュレーションシステムの構成例を示すブロック図。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に用いられるＨＭＤの一例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態に用いられるＨＭＤの他の例。
【図４】シミュレーションシステムで用いられるフィールドの説明図。
【図５】図５（Ａ）、図５（Ｂ）は実空間のユーザと当該ユーザに対応する移動体についての説明図。
【図６】図６（Ａ）、図６（Ｂ）はユーザ同士の衝突の問題についての説明図。
【図７】図７（Ａ）、図７（Ｂ）は各ユーザ群に対応して各フィールドを用意する手法の説明図。
【図８】本実施形態の手法の説明図。
【図９】フィールドの位置から仮想フィールドへの座標変換手法の説明図。
【図１０】本実施形態により生成されるゲーム画像の例。
【図１１】図１１（Ａ）、図１１（Ｂ）は本実施形態の音処理手法の説明図。
【図１２】ユーザ同士の衝突の問題についての説明図。
【図１３】図１３（Ａ）〜図１３（Ｄ）は衝突の警告の報知手法の説明図。
【図１４】衝突の警告の報知手法の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）はユーザの装備品が他のユーザにぶつかってしまう問題の説明図。
【図１６】装備品やユーザの動きの検出結果に基づく警告の報知処理のフローチャート。
【図１７】実空間のユーザの移動量と仮想空間の移動体の移動量を異ならせる手法の説明図。
【図１８】他のユーザに対応する他の移動体の移動速度等を速くする手法の説明図。
【図１９】エフェクトを付加したり種々のマーカを表示する手法の説明図。
【図２０】他のユーザに対応する他の移動体の移動速度等を速くする処理のフローチャート。
【図２１】図２１（Ａ）〜図２１（Ｃ）は移動体と他の移動体が接近関係になった場合に行われる演出処理の説明図。
【図２２】図２２（Ａ）〜図２２（Ｃ）は特殊モーション処理の一例の説明図。
【図２３】特殊モードの一例の説明図。
【図２４】移動体と他の移動体が接近関係になった場合に行われる演出処理のフローチャート。
【発明を実施するための形態】
【００３２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３３】
１．シミュレーションシステム
図１は、本実施形態のシミュレーションシステム（シミュレータ、ゲームシステム）の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ（ＶＲ）をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、ＳＮＳのサービスを提供するシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図１の構成に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３４】
操作部１６０は、ユーザ（プレーヤ）が種々の操作情報（入力情報）を入力するためのものである。操作部１６０は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル又はレバー等の種々の操作デバイスにより実現できる。例えば操作部１６０は、例えばユーザの装備品であるガン型コントローラ等のコントローラにより実現できる。
【００３５】
記憶部１７０は各種の情報を記憶する。記憶部１７０は、処理部１００や通信部１９６などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０の機能は、半導体メモリ（ＤＲＡＭ、ＶＲＡＭ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ、光ディスク装置などにより実現できる。記憶部１７０は、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００３６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＢＤ、ＣＤ）、ＨＤＤ、或いは半導体メモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３７】
ＨＭＤ２００（頭部装着型表示装置）は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。ＨＭＤ２００は非透過型であることが望ましいが、透過型であってもよい。またＨＭＤ２００は、いわゆるメガネタイプのＨＭＤであってもよい。
【００３８】
ＨＭＤ２００は、センサ部２１０、表示部２２０、処理部２４０を含む。なおＨＭＤ２００に発光素子を設ける変形実施も可能である。センサ部２１０は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部２１０を用いたトラッキング処理により、ＨＭＤ２００の位置、方向を特定する。ＨＭＤ２００の位置、方向が特定されることで、ユーザの視点位置、視線方向を特定できる。
【００３９】
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第１のトラッキング方式では、後述の図２（Ａ）、図２（Ｂ）で詳細に説明するように、センサ部２１０として複数の受光素子（フォトダイオード等）を設ける。そして外部に設けられた発光素子（ＬＥＤ等）からの光（レーザー等）をこれらの複数の受光素子により受光することで、現実世界の３次元空間でのＨＭＤ２００（ユーザの頭部）の位置、方向を特定する。第２のトラッキング方式では、後述の図３（Ａ）、図３（Ｂ）で詳細に説明するように、複数の発光素子（ＬＥＤ）をＨＭＤ２００に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、ＨＭＤ２００の位置、方向を特定する。第３のトラッキング方式では、センサ部２１０としてモーションセンサを設け、このモーションセンサを用いてＨＭＤ２００の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば３軸の加速度センサと３軸のジャイロセンサを用いた６軸のモーションセンサを用いることで、現実世界の３次元空間でのＨＭＤ２００の位置、方向を特定できる。なお、第１のトラッキング方式と第２のトラッキング方式の組合わせ、或いは第１のトラッキング方式と第３のトラッキング方式の組合わせなどにより、ＨＭＤ２００の位置、方向を特定してもよい。またＨＭＤ２００の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向を直接に特定するトラッキング処理を採用してもよい。
【００４０】
ＨＭＤ２００の表示部２２０は例えば有機ＥＬディスプレイ（ＯＥＬ）や液晶ディスプレイ（ＬＣＤ）などにより実現できる。例えばＨＭＤ２００の表示部２２０には、ユーザの左目の前に設定される第１のディスプレイ又は第１の表示領域と、右目の前に設定される第２のディスプレイ又は第２の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第１のディスプレイに左目用画像を表示し、第２のディスプレイに右目用画像を表示する。或いは１つのディスプレイの第１の表示領域に左目用画像を表示し、第２の表示領域に右目用画像を表示する。またＨＭＤ２００には左目用、右目用の２つの接眼レンズ（魚眼レンズ）が設けられており、これによりユーザの視界の全周囲に亘って広がるＶＲ空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左目用画像、右目用画像に対して行われる。この補正処理は表示処理部１２０が行う。
【００４１】
ＨＭＤ２００の処理部２４０は、ＨＭＤ２００において必要な各種の処理を行う。例えば処理部２４０は、センサ部２１０の制御処理や表示部２２０の表示制御処理などを行う。また処理部２４０が、３次元音響（立体音響）処理を行って、３次元的な音の方向や距離や広がりの再現を実現してもよい。
【００４２】
音出力部１９２は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
【００４３】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリカード）、ＵＳＢメモリ、或いは磁気カードなどにより実現できる。
【００４４】
通信部１９６は、有線や無線のネットワークを介して外部（他の装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００４５】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４６】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や、ＨＭＤ２００でのトラッキング情報（ＨＭＤの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報）や、プログラムなどに基づいて、ゲーム処理（シミュレーション処理）、仮想空間設定処理、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
【００４７】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された１又は複数の回路装置（例えばＩＣ等）や、１又は複数の回路素子（例えば抵抗、キャパシター等）で構成することもできる。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００４８】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。演算処理部１１０は、情報取得部１１１、仮想空間設定部１１２、移動体処理部１１３、仮想カメラ制御部１１４、ゲーム処理部１１５、報知処理部１１６、表示処理部１２０、音処理部１３０を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ（或いはプロセッサ及びメモリ）により実現できる。なお、これらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４９】
入力処理部１０２は、操作情報やトラッキング情報を受け付ける処理や、記憶部１７０から情報を読み出す処理や、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば入力処理部１０２は、操作部１６０を用いてユーザが入力した操作情報やＨＭＤ２００のセンサ部２１０等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部１７０から読み出す処理や、外部装置（サーバ等）からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００５０】
演算処理部１１０は、各種の演算処理を行う。例えば情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理（シミュレーション処理）、報知処理、表示処理、或いは音処理などの演算処理を行う。
【００５１】
情報取得部１１１（情報取得処理のプログラムモジュール）は種々の情報の取得処理を行う。例えば情報取得部１１１は、ＨＭＤ２００を装着するユーザの位置情報などを取得する。情報取得部１１１はユーザの方向情報などを取得してもよい。
【００５２】
仮想空間設定部１１２（仮想空間設定処理のプログラムモジュール）は、複数のオブジェクトが配置される仮想空間（オブジェクト空間）の設定処理を行う。例えば、移動体（人、ロボット、車、電車、飛行機、船、モンスター又は動物等）、マップ（地形）、建物、観客席、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、仮想空間でのオブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定部１１２は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００５３】
移動体処理部１１３（移動体処理のプログラムモジュール）は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間（オブジェクト空間、ゲーム空間）において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部１１３は、操作部１６０によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）を仮想空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。移動体は、例えば実空間のユーザ（プレーヤ）に対応する仮想空間の仮想ユーザ（仮想プレーヤ、アバター）や、或いは当該仮想ユーザが搭乗（操作）する搭乗移動体（操作移動体）などである。
【００５４】
ゲーム処理部１１５（ゲーム処理のプログラムモジュール）はユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部１１５（シミュレーション処理部）は、ユーザが仮想現実（バーチャルリアリティ）を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【００５５】
報知処理部１１６（報知処理のプログラムモジュール）は各種の報知処理を行う。例えばユーザに対する警告の報知処理などを行う。報知処理は、例えば画像や音による報知処理であってもよいし、振動デバイスや音響や空気砲などの体感装置を用いた報知処理であってもよい。
【００５６】
表示処理部１２０（表示処理のプログラムモジュール）は、ゲーム画像（シミュレーション画像）の表示処理を行う。例えば処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、ＨＭＤ２００の表示部２２０に表示する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間（仮想空間）において仮想カメラ（所与の視点。左目用、右目用の第１、第２の視点）から見える画像が生成される。なお、表示処理部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００５７】
音処理部１３０（音処理のプログラムモジュール）は、処理部１００で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲（音楽、ＢＧＭ）、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部１９２に出力させる。なお音処理部１３０の音処理の一部（例えば３次元音響処理）を、ＨＭＤ２００の処理部２４０により実現してもよい。
【００５８】
出力処理部１４０は各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理や、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えば出力処理部１４０は、書き込み命令で指定された情報を、記憶部１７０に書き込む処理や、外部の装置（サーバ等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。
【００５９】
そして本実施形態のシミュレーションシステムは、図１に示すように、情報取得部１１１と、仮想空間設定部１１２と、移動体処理部１１３と、表示処理部１２０を含む。
【００６０】
情報取得部１１１は、例えば視界を覆うようにＨＭＤ２００を装着するユーザの位置情報を取得する。例えば情報取得部１１１は、ＨＭＤ２００のトラッキング情報などに基づいて、実空間でのユーザの位置情報を取得する。例えばＨＭＤ２００の位置情報を、当該ＨＭＤ２００を装着するユーザの位置情報として取得する。具体的には、ユーザが実空間（現実世界）のフィールド（プレイフィールド、シミュレーションフィールド、プレイエリア）に位置する場合に、そのフィールドでの位置情報（所与の位置を原点とする座標系での位置座標等）を取得する。
【００６１】
仮想空間設定部１１２は、取得された位置情報に基づいて、ユーザに対応する移動体が配置設定される仮想空間の設定処理を行う。例えば移動体の位置、方向を設定して、仮想空間に配置する処理を行う。具体的には、実空間のユーザの位置に対応する仮想空間の位置に、ユーザに対応する移動体を配置する。オブジェクトである移動体の位置、方向等の情報は、例えばオブジェクト情報記憶部１７２に記憶される。移動体は、例えば実空間でユーザの移動に追従して仮想空間（オブジェクト空間）において移動するオブジェクト（表示物）である。移動体は、例えばユーザに対応する仮想ユーザ（アバター）やユーザが搭乗する搭乗移動体などである。
【００６２】
移動体処理部１１３は、取得された位置情報に基づいて、仮想空間において移動体を移動させる処理を行う。例えばユーザの位置情報に応じて、実空間でのユーザの移動に追従して移動するように、仮想空間で移動体を移動させる。例えば移動体の移動速度や移動加速度に基づいて、移動体の位置等をフレーム毎に更新する処理を行って、移動体を仮想空間（仮想フィールド）において移動させる。
【００６３】
表示処理部１２０は、ユーザが装着するＨＭＤ２００の表示画像を生成する。例えば仮想空間において仮想カメラから見える画像を、ＨＭＤ２００の表示画像として生成する。例えば仮想カメラ制御部１１４は、ＨＭＤ２００を装着するユーザの視点に対応する仮想カメラの制御処理を行う。例えば仮想カメラ制御部１１４は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する移動体（仮想プレーヤ等）の視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置（位置座標）や姿勢（回転軸回りでの回転角度）を制御する。そして表示処理部１２０は、ＨＭＤ２００の表示画像（表示映像）として、仮想空間において仮想カメラ（ユーザ視点）から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は例えば立体視用の画像である。
【００６４】
そして本実施形態では仮想空間設定部１１２は、実空間の第１のフィールドに位置する第１のユーザ群に対応する第１の移動体群と、実空間の第２のフィールドに位置する第２のユーザ群に対応する第２の移動体群とが、仮想空間の共通の仮想フィールド（同じ仮想フィールド）に配置設定されるように、仮想空間の設定処理を行う。第２のフィールドは例えば第１のフィールドとは異なるフィールドである。
【００６５】
即ち、本実施形態のシミュレーションシステムでは、第１のユーザ群が移動可能な第１のフィールドと、第２のユーザ群が移動可能な第２のフィールドが用意される。なお、第３のユーザ群が移動可能な第３のフィールドなど、３つ以上のフィールドを用意してもよい。これらのフィールドは、例えばシミュレーションシステムを運営する施設などに設けられる。なおフィールドは施設以外の場所（例えば庭、家の中等）に設けられるものであってもよい。また第１、第２のユーザ群は例えば少なくとも１人のユーザにより構成されるグループ（チーム）などである。
【００６６】
そして仮想空間には、第１のフィールドの第１のユーザ群に対応する第１の移動体群と、第２のフィールドの第２のユーザ群に対応する第２の移動体群が登場する。これらの第１、第２の移動体群の各移動体は、第１、第２のユーザ群の各ユーザに対応する移動体であり、各ユーザに対応する仮想ユーザや搭乗移動体（ロボット等）などである。これらの移動体は、例えば実空間のユーザとは異なる衣装や装備をまとっている。
【００６７】
そして仮想空間設定部１１２は、第１のユーザ群に対応する第１の移動体群と、第２のユーザ群に対応する第２の移動体群とが、仮想空間の共通の仮想フィールドに配置設定されるように仮想空間の設定処理を行う。例えば第１のユーザ群の各ユーザに対応する第１の移動体群の各移動体を、第１のフィールドでの各ユーザの位置に対応する仮想フィールドの位置に配置する。また第２のユーザ群の各ユーザに対応する第２の移動体群の各移動体を、第２のフィールドでの各ユーザの位置に対応する仮想フィールドの位置に配置する。
【００６８】
例えば第１のフィールドの基準点（例えば原点）に対する第１のユーザ群の各ユーザの相対的な位置座標をＰＣＤ１（Ｘ１、Ｙ１）とする。この場合に、第１の移動群の各移動体を、仮想フィールドの基準点（例えば原点）と、この相対的な位置座標ＰＣＤ１（Ｘ１、Ｙ１）に基づき特定される位置に配置する。また第２のフィールドの基準点（例えば原点）に対する第２のユーザ群の各ユーザの相対的な位置座標をＰＣＤ２（Ｘ２、Ｙ２）とする。この場合に、第２の移動群の各移動体を、仮想フィールドの基準点と、この相対的な位置座標ＰＣＤ２（Ｘ２、Ｙ２）に基づき特定される位置に配置する。例えば、第１のフィールドの基準点に対する第１のユーザ群の第１のユーザの相対的な位置座標と、第２のフィールドの基準点に対する第２のユーザ群の第２のユーザの相対的な位置座標が同じであったとする。この場合には、第１のユーザに対応する第１の移動体と、第２のユーザに対応する第２の移動体は、共通の仮想フィールドでは例えば同じ位置に配置されることになる。
【００６９】
またシミュレーションシステムはゲーム処理部１１５を含む。ゲーム処理部１１５は、ユーザ同士の対戦のゲーム処理などを行う。具体的には、第１のグループ（第１のチーム）に属する第１のユーザ群と、第２のグループ（第２のチーム）に属する第２のユーザ群との間での対戦のゲーム処理を行う。例えば第１のユーザ群の第１のユーザに対応する移動体を第１の移動体とし、第２のユーザ群の第２のユーザに対応する移動体を第２の移動体とする。この場合にゲーム処理部１１５は、第１、第２の移動体のうちの一方の移動体が、他方の移動体に対して攻撃を行ったり、一方の移動体が、他方の移動体からの攻撃に対する防御を行うなどの対戦のゲーム処理を行う。対戦のゲーム処理は、例えば一方の移動体の攻撃が他方の移動体にヒットしたか否か、或いは、一方の移動体の攻撃を他方の移動体が防御したか否かなどを判定することで実現できる。またゲーム処理部１１５は、この対戦ゲームのゲーム成績を演算する処理なども、ゲーム処理として行う。
【００７０】
またシミュレーションシステムは、ユーザに出力される音の生成処理を行う音処理部１３０を含む。そして音処理部１３０は、仮想空間の仮想フィールドでの移動体の位置情報に基づいて、ユーザに出力される音の生成処理を行う。即ち、実空間のフィールドでのユーザの位置情報を用いるのではなく、仮想フィールドでの移動体の位置情報を用いて、各ユーザに出力される音の生成処理を行う。例えば音処理部１３０は、ユーザに出力される音の生成処理を行うために、音場の形成処理を行う。そして、この音場の形成処理を、仮想空間の仮想フィールドでの移動体の位置情報を用いて行う。例えば第１のユーザ群は第１のフィールドに位置し、第２のユーザ群は第２のフィールドに位置するため、第１のユーザ群の第１のユーザと、第２のユーザ群の第２のユーザの実空間での距離は離れている。この場合にも本実施形態では、共通の仮想フィールドでは、第１のユーザに対応する第１の移動体と、第２のユーザに対応する第２の移動体が接近する状況が生じる。そして本実施形態では、第１のユーザの音声や第１の移動体の攻撃音、移動音などが出力される第１の音源は、仮想空間での第１の移動体の位置に設定される。また第２のユーザの音声や第２の移動体の攻撃音、移動音などが出力される第２の音源は、仮想空間での第２の移動体の位置に設定される。従って、実空間において第１、第２のユーザが離れていた場合にも、仮想空間においては直ぐ近くから、相手側の音源からの音が聞こえてくるようになる。
【００７１】
またシミュレーションシステムは報知処理部１１６を含み、この報知処理部１１６は、種々の警告のための報知処理を行う。例えば報知処理部１１６は、実空間でのユーザ同士の衝突についての予測処理を行い、予測処理の結果に基づいて、ユーザ同士の衝突についての警告の報知処理を行う。例えばユーザが衝突の位置関係（接近関係）になるかについての予測処理を行い、そのような位置関係になった場合には、衝突のおそれあることを警告する報知処理を行う。予測処理は、各ユーザに対応する各移動体の位置、速度又は加速度などに基づいて、ユーザ同士が衝突の位置関係になるおそれがあるかを判断することなどで実現できる。
【００７２】
また報知処理部１１６は、実空間でのユーザの装備品の動き又はユーザの動きについての検出処理を行い、検出処理の検出結果に基づいて、装備品の動き又はユーザの動きについての警告の報知処理を行う。装備品は、例えばユーザが手に所持したり、ユーザの足、胴体又は頭部等の部位に装着したり、ユーザが着る物などである。そして、このようなユーザの装備品の動きやユーザ自身の動きを検出し、装備品の動き又はユーザの動きについての警告の報知処理を行う。例えば装備品又はユーザの位置、速度又は加速度などに基づいて、装備品又はユーザが激しく動いていないかなどを検出する。そして例えば装備品又はユーザの動き速度又は動き量が所与のしきい値以上であった場合には、この動きについての警告の報知処理を行う。
【００７３】
また報知処理部１１６は、ユーザと他のユーザの位置情報に基づいてユーザと他のユーザが接近関係にあると判断されたことを条件に、報知処理を行う。例えばユーザに対して設定された検出範囲（距離範囲）内に他のユーザが入った場合に、ユーザと他のユーザが接近関係にあると判断される。そして、警告の報知処理は、このようにユーザと他のユーザが接近関係にあると判断されたことを条件に行われる。例えば、ユーザと他のユーザが接近関係にない状態（検出範囲の外に他のユーザがいる状態）では、装備品又はユーザの動き速度又は動き量がしきい値以上であっても、これらの動きの警告の報知処理は行われないようになる。
【００７４】
なお警告の報知処理は、ＨＭＤ２００に表示される画像や、ヘッドホンやフィールドに設置されるスピーカなどから出力される音や、ユーザの武器、着衣又は装飾品などの装備品などに設けられる振動デバイスによる振動や、或いは実空間のフィールドに設けられる各種の体感機構（光、振動、空気砲又は音等による体感装置）などにより実現できる。
【００７５】
また移動体処理部１１３は、実空間でのユーザの移動量とは異なる移動量で、仮想空間において移動体を移動させる処理を行う。例えば実空間でのユーザの移動量よりも大きな移動量で、仮想空間において移動体を移動させる。或いは、実空間でのユーザのスケールと仮想空間での移動体のスケールを異ならせてもよい。こうすることで、ユーザ同士（例えば味方ユーザ同士）の衝突を抑制できるようになる。なお移動量は、ユーザや移動体の移動の度合いを表すものであり、例えば単位時間（フレーム）でのユーザや移動体の移動距離などにより表すことができる。
【００７６】
また移動体処理部１１３は、実空間でのユーザと他のユーザとが接近関係になったと判断された場合に、他のユーザに対応する他の移動体の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする移動処理を行う。例えば、ユーザに対して設定された検出範囲（距離範囲）内に、他のユーザが入った場合には、この他のユーザに対応する他の移動体の移動速度を速くしたり、移動加速度を速くしたり、或いは移動距離を長くする。即ち、検出範囲外に他のユーザが位置する場合に比べて、移動体の移動速度を速くしたり、移動加速度を速くしたり、或いは移動距離を長くする。こうすることで、ユーザ同士（例えば味方ユーザ同士）の衝突等を抑制できるようになる。
【００７７】
また表示処理部１２０は、ユーザに対応する移動体と、他のユーザに対応する他の移動体とが、所与の位置関係（例えば接近関係）になった場合に、この所与の位置関係に応じた演出処理画像の生成処理（表示処理）を行う。例えばゲーム処理部１１５は、移動体と他の移動体とが、所与の位置関係になった場合に、この所与の位置関係に応じたゲームの演出処理を行う。そして表示処理部１２０は、ゲーム処理部１１５の演出処理に応じた演出処理画像の生成処理を行う。例えば、このような所与の位置関係になっていない場合には表示されない演出処理画像を、移動体と他の移動体が当該所与の位置関係になった場合に、表示するようにする。所与の位置関係は、例えば移動体と他の移動体の接近関係である。或いは所与の位置関係は、移動体と他の移動体が向き合うような関係（正対する関係）などであってもよく、例えば移動体の視線方向と他の移動体の視線方向の関係であってもよい。
【００７８】
具体的には表示処理部１２０は、実空間でのユーザと他のユーザが接近関係になっていない状態で、仮想空間での移動体と他の移動体が接近関係になった場合に、演出処理画像の生成処理を行う。例えばゲーム処理部１１５は、ユーザと他のユーザが接近関係になっていない状態で、移動体と他の移動体が接近関係になった場合に、この接近関係に対応するゲームの演出処理を行う。そして表示処理部１２０は、このゲーム処理部１１５での演出処理に応じて、演出処理画像の生成処理を行う。
【００７９】
例えば表示処理部１２０は、移動体及び他の移動体の少なくとも一方が特殊モーションを行う演出処理画像、又は所与の位置関係用の特殊モードに移行する演出処理画像の生成処理を行う。例えば、このような位置関係（接近関係）に対応づけられた特殊モーションのデータが記憶部１７０に記憶されており、移動体と他の移動体が当該位置関係になった場合に、この特殊モーションのデータの再生処理を行う。そして、移動体と他の移動体の少なくとも一方が当該特殊モーションを行う演出処理画像を生成する。また、このような位置関係（接近関係）に対応づけられた特殊モードが用意されており、移動体と他の移動体が当該位置関係になった場合に、通常モード（通常ゲームモード）から当該特殊モードに移行する。
【００８０】
また仮想カメラ制御部１１４は、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。
【００８１】
例えば入力処理部１０２（入力受け付け部）は、ＨＭＤ２００を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）を取得する。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報（視点位置の座標の変化値）、及び、ユーザの初期視線方向からの視線方向の変化情報（視線方向の回転軸回りでの回転角度の変化値）の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向（ユーザの頭部の位置、姿勢の情報）を特定できる。
【００８２】
そして仮想カメラ制御部１１４は、取得されたトラッキング情報（ユーザの視点位置及び視線方向の少なくとも一方の情報）に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部１１４は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向（位置、姿勢）が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
【００８３】
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などの移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
【００８４】
なお図１の本実施形態のシミュレーションシステムの処理は、施設に設置されるＰＣ等の処理装置、ユーザが装着する処理装置、或いはこれらの処理装置の分散処理などにより実現できる。或いは、本実施形態のシミュレーションシステムの処理を、サーバシステムと端末装置により実現してもよい。例えばサーバシステムと端末装置の分散処理などにより実現してもよい。
【００８５】
２．トラッキング処理
次にトラッキング処理の例について説明する。図２（Ａ）に本実施形態のシミュレーションシステムに用いられるＨＭＤ２００の一例を示す。図２（Ａ）に示すようにＨＭＤ２００には複数の受光素子２０１、２０２、２０３（フォトダイオード）が設けられている。受光素子２０１、２０２はＨＭＤ２００の前面側に設けられ、受光素子２０３はＨＭＤ２００の右側面に設けられている。またＨＭＤの左側面、上面等にも不図示の受光素子が設けられている。
【００８６】
またユーザＵＳは、現実世界の銃を模したガン型コントローラ２９０を所持しており、このガン型コントローラ２９０にも、受光素子２０４、２０５（フォトダイオード）が設けられている。これらの受光素子２０４、２０５を用いることで、ガン型コントローラ２９０の位置や方向を特定できる。またガン型コントローラ２９０には、銃の引き金のスイッチが設けられており、このスイッチを操作することで、仮想空間の移動体が銃を発砲する。なおガン型コントローラ２９０には少なくとも１つの受光素子が設けられていればよい。
【００８７】
またＨＭＤ２００には、ヘッドバンド２６０等が設けられており、ユーザＵＳは、より良い装着感で安定的に頭部にＨＭＤ２００を装着できるようになっている。また、ＨＭＤ２００には、不図示のヘッドホン端子が設けられており、このヘッドホン端子にヘッドホン２７０（音出力部１９２）を接続することで、例えば３次元音響（３次元オーディオ）の処理が施されたゲーム音を、ユーザＵＳは聴くことが可能になる。なお、ユーザＵＳの頭部の頷き動作や首振り動作をＨＭＤ２００のセンサ部２１０等により検出することで、ユーザＵＳの操作情報を入力できるようにしてもよい。
【００８８】
またユーザＵＳは、処理装置２５０を例えば背中に装着している。例えばユーザＵＳはジャケットを着ており、このジャケットの背面側に処理装置２５０が取り付けられている。処理装置２５０は例えばノート型ＰＣ等の情報処理装置により実現される。そしてこの処理装置２５０とＨＭＤ２００はケーブル２５２により接続されている。例えば処理装置２５０は、ＨＭＤ２００に表示される画像（ゲーム画像等）の生成処理を行い、生成された画像のデータがケーブル２５２を介してＨＭＤ２００に送られ、ＨＭＤ２００に表示される。この処理装置２５０は、このような画像の生成処理以外にも、本実施形態の各処理（情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理、報知処理、表示処理又は音処理等）を行うことが可能になっている。なお、本実施形態の各処理を、施設に設置されたＰＣ等の処理装置（不図示）により実現したり、当該処理装置と、ユーザＵＳが装着する処理装置２５０の分散処理により実現してもよい。
【００８９】
図２（Ｂ）に示すように、シミュレーションシステム（可動筐体４０）の周辺には、ベースステーション２８０、２８４が設置されている。ベースステーション２８０には発光素子２８１、２８２が設けられ、ベースステーション２８４には発光素子２８５、２８６が設けられている。発光素子２８１、２８２、２８５、２８６は、例えばレーザー（赤外線レーザー等）を出射するＬＥＤにより実現される。ベースステーション２８０、２８４は、これら発光素子２８１、２８２、２８５、２８６を用いて、例えばレーザーを放射状に出射する。そして図２（Ａ）のＨＭＤ２００に設けられた受光素子２０１〜２０３等が、ベースステーション２８０、２８４からのレーザーを受光することで、ＨＭＤ２００のトラッキングが実現され、ユーザＵＳの頭の位置や向く方向（視点位置、視線方向）を検出できるようになる。またガン型コントローラ２９０に設けられる受光素子２０４、２０５が、ベースステーション２８０、２８４からのレーザーを受光することで、ガン型コントローラ２９０の位置及び方向の少なくとも一方を検出できるようになる。
【００９０】
図３（Ａ）にＨＭＤ２００の他の例を示す。図３（Ａ）では、ＨＭＤ２００に対して複数の発光素子２３１〜２３６が設けられている。これらの発光素子２３１〜２３６は例えばＬＥＤなどにより実現される。発光素子２３１〜２３４は、ＨＭＤ２００の前面側に設けられ、発光素子２３５や不図示の発光素子２３６は、背面側に設けられる。これらの発光素子２３１〜２３６は、例えば可視光の帯域の光を出射（発光）する。具体的には発光素子２３１〜２３６は、互いに異なる色の光を出射する。またユーザＵＳが所持するガン型コントローラ２９０にも、発光素子２３７、２３８（ＬＥＤ）が設けられている。なおガン型コントローラ２９０には少なくとも１つの発光素子が設けられていればよい。
【００９１】
そして図３（Ｂ）に示す撮像部１５０を、ユーザＵＳの周囲の少なくとも１つの場所（例えば前方側、或いは前方側及び後方側など）に設置し、この撮像部１５０により、ＨＭＤ２００の発光素子２３１〜２３６の光を撮像する。即ち、撮像部１５０の撮像画像には、これらの発光素子２３１〜２３６のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザＵＳの頭部（ＨＭＤ）のトラッキングを実現する。即ちユーザＵＳの頭部の３次元位置や向く方向（視点位置、視線方向）を検出する。
【００９２】
例えば図３（Ｂ）に示すように撮像部１５０には第１、第２のカメラ１５１、１５２が設けられており、これらの第１、第２のカメラ１５１、１５２の第１、第２の撮像画像を用いることで、ユーザＵＳの頭部の奥行き方向での位置等が検出可能になる。またＨＭＤ２００に設けられたモーションセンサのモーション検出情報に基づいて、ユーザＵＳの頭部の回転角度（視線）も検出可能になっている。従って、このようなＨＭＤ２００を用いることで、ユーザＵＳが、周囲の３６０度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間（仮想３次元空間）での画像（ユーザの視点に対応する仮想カメラから見える画像）を、ＨＭＤ２００の表示部２２０に表示することが可能になる。
【００９３】
また撮像部１５０により、ガン型コントローラ２９０の発光素子２３７、２３８の光を撮像する。即ち、撮像部１５０の撮像画像には、発光素子２３７、２３８のスポット光が映り、この撮像画像の画像処理を行うことで、ＨＭＤ２００の場合と同様に、ガン型コントローラ２９０の位置及び方向の少なくとも一方を検出できる。
【００９４】
なお、発光素子２３１〜２３８として、可視光ではなく赤外線のＬＥＤを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
【００９５】
また、ユーザの視点位置、視線方向（ユーザの位置、方向）を検出するトラッキング処理の手法は、図２（Ａ）〜図３（Ｂ）で説明した手法には限定されない。例えばＨＭＤ２００に設けられたモーションセンサ等を用いて、ＨＭＤ２００の単体でトラッキング処理を実現してもよい。即ち、図２（Ｂ）のベースステーション２８０、２８４、図３（Ｂ）の撮像部１５０などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。
【００９６】
またガン型コントローラ２９０の位置、方向の検出を、ガン型コントローラ２９０に設けられたモーションセンサを用いて実現してもよい。
【００９７】
３．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では本実施形態の手法を、ユーザがグループ（チーム）に分かれて対戦を行う対戦ゲームに適用した場合を主に例にとり説明する。但し、本実施形態はこれに限定されず、種々のゲーム（ＲＰＧ、アクションゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等）に適用でき、ゲーム以外にも適用可能である。また以下では、移動体が、ユーザのアバターである仮想ユーザ（キャラクタ）である場合を例にとり説明するが、移動体は、ユーザが搭乗する搭乗移動体（例えばロボット、戦車、戦闘機又は車等）などであってもよい。
【００９８】
３．１  共通仮想フィールドへの配置
図４は、本実施形態のシミュレーションシステムで用いられるフィールドの説明図である。このシミュレーションシステムでは、現実世界の施設等にフィールドＦＬ（プレイフィールド、プレイエリア、プレイ空間）が用意され、ユーザＵＳ１〜ＵＳ４はこのフィールドＦＬにおいて移動する。フィールドＦＬには、壁等により実現される仕切りＷＬが設けられている。
【００９９】
ユーザＵＳ１〜ＵＳ４は、ＨＭＤ１〜ＨＭＤ４を装着すると共にガン型コントローラＧＮ１〜ＧＮ４（広義にはコントローラ）を所持している。またユーザＵＳ１〜ＵＳ４は、図２（Ａ）で説明したような処理装置２５０（不図示）を例えば背中に装着している。これらのユーザＵＳ１〜ＵＳ４は、例えばチーム対戦ゲームのためにチーム（広義にはグループ）を組んでいる。ＨＭＤ１〜ＨＭＤ４には仮想空間での映像が映し出されており、ユーザＵＳ１〜ＵＳ４は、この映像を見ながら対戦ゲーム等のゲームをプレイする。例えばＨＭＤ１〜ＨＭＤ４が非透過型のＨＭＤである場合には、ユーザＵＳ１〜ＵＳ４の視界がＨＭＤ１〜ＨＭＤ４により覆われるため、現実世界の様子を見ることが困難になる。このため、例えばユーザＵＳ１の背後に位置するユーザＵＳ２がユーザＵＳ１にぶつかってしまうなどの問題が生じる。
【０１００】
ゲームプレイの開始前に、ユーザは、自身の分身となる移動体（アバター）を選択する。例えば図５（Ａ）は、実空間（現実世界）のユーザＵＳ１、ＵＳ２を示しており、ユーザＵＳ１、ＵＳ２は、ＨＭＤ１、ＨＭＤ２を装着すると共にガン型コントローラＧＮ１、ＧＮ２を所持している。これに対して仮想空間においては、ユーザＵＳ１、ＵＳ２の分身となる移動体ＭＶ１、ＭＶ２が登場する。これらの移動体ＭＶ１、ＭＶ２は、ゲームのキャラクタの装備品や着衣を装着している。また移動体ＭＶ１、ＭＶ２は、実空間のガン型コントローラＧＮ１、ＧＮ２に対応する銃ＧＶ１、ＧＶ２（銃の表示物）を所持している。実空間のユーザＵＳ１、ＵＳ２が、ガン型コントローラＧＮ１、ＧＮ２を上下左右に動かすと、仮想空間（仮想世界）の移動体ＭＶ１、ＭＶ２が、銃ＧＶ１、ＧＶ２を上下左右に動かすことになる。
【０１０１】
図６（Ａ）、図６（Ｂ）はユーザ同士の衝突の問題を説明する図である。図６（Ａ）では、実空間のフィールドＦＬ上にユーザＵＡ１〜ＵＡ４、ＵＢ１〜ＵＢ４が位置している。ユーザＵＡ１〜ＵＡ４によりユーザ群ＵＡＧ（第１のユーザ群）が構成され、ユーザＵＢ１〜ＵＢ４によりユーザ群ＵＢＧ（第２のユーザ群）が構成される。本実施形態では、ユーザ群ＵＡＧとユーザ群ＵＢＧとでチーム対戦が行われる。例えばユーザ群ＵＡＧが第１のチームであり、ユーザ群ＵＢＧが第２のチームであり、第１のチームと第２のチームでチーム対戦が行われる。最終的なゲーム成績は、チームとして成績や、チームを構成するユーザの個人成績などにより決定される。
【０１０２】
図６（Ａ）ではユーザ群ＵＡＧとＵＢＧが同じフィールドＦＬに位置して移動する。このため図６（Ｂ）に示すように、ユーザ群ＵＡＧ、ＵＢＧが接近すると、ユーザ同士の衝突が発生してしまう。即ち図６（Ｂ）ではユーザ群ＵＡＧとその敵であるユーザ群ＵＢＧが入り乱れて対戦しており、各ユーザの視界はＨＭＤで覆われている。このため例えばユーザ群ＵＡＧのユーザＵＡ１とユーザ群ＵＢＧのユーザＵＢ１がぶつかってしまうなどの問題が生じてしまう。
【０１０３】
そこで本実施形態では図７（Ａ）に示すように、ユーザ群ＵＡＧのユーザＵＡ１〜ＵＡ４がプレイするフィールドＦＬ１と、ユーザ群ＵＢＧのユーザＵＢ１〜ＵＢ４がプレイするフィールドＦＬ２とを、例えば別々に設ける。例えば施設等にフィールドＦＬ１、ＦＬ２を設け、ユーザＵＡ１〜ＵＡ４はフィールドＦＬ１で移動しながらゲームをプレイし、ユーザＵＢ１〜ＵＢ４はフィールドＦＬ２で移動しながらゲームをプレイする。この場合にフィールドＦＬ１とフィールドＦＬ２の間に仕切り等を設けて、一方のフィールドのユーザが他方のフィールドに入り込まないようにすることが望ましい。
【０１０４】
なお、フィールドＦＬ１とＦＬ２はその一部が重なっているようなフィールドであってもよい。またフィールドＦＬ１、ＦＬ２は平面的なフィールドには限定されず、起伏があるようなフィールドや、各種の設置物が設置されるようなフィールドであってもよい。また図７（Ａ）では、２つのフィールドＦＬ１、ＦＬ２を用意しているが、フィールドの数は３以上であってもよい。また各フィールドでのユーザの人数（定員）も４人には限定されず、３人以下や、５人以上であってもよい。また例えばフィールドＦＬ１、ＦＬ２の各々を例えば４つに分割することで、合計で８個のフィールドを用意し、８個のフィールドの各フィールドに対して例えば１人のユーザを配置するようにしてもよい。このようにすることで味方同士の衝突の回避等も可能になる。
【０１０５】
図７（Ａ）のようにフィールドＦＬ１、ＦＬ２を別々に設ければ、例えばユーザ群ＵＡＧ、ＵＢＧが敵側の方（前方）に移動しても、図７（Ｂ）に示すように、ユーザ群ＵＡＧ、ＵＢＧのユーザ同士がぶつかり合うような状況は生じなくなる。即ち、図６（Ｂ）では、両者が入り乱れるような状況が発生して、ユーザ同士がぶつかり合うような状況が発生したが、図７（Ｂ）ではこのような状況は発生しない。
【０１０６】
つまり図７（Ｂ）に示すように、ユーザ群ＵＡＧはフィールドＦＬ１に位置し、ユーザ群ＵＢＧはフィールドＦＬ２に位置し、これらのフィールドＦＬ１、ＦＬ２は異なるフィールドとなっている。このため、ユーザ群ＵＡＧ、ＵＢＧのユーザ同士が入り乱れてぶつかり合ってしまうような状況を防止できる。また本実施形態によれば、敵と味方の間の衝突のみならず、味方同士の衝突の抑制も可能である。
【０１０７】
そして本実施形態では図７（Ａ）、図７（Ｂ）のようなフィールドＦＬ１、ＦＬ２へのユーザ群ＵＡＧ、ＵＢＧの配置を行いながら、仮想空間の移動体群ＭＡＧ、ＭＢＧについては、図８に示すように配置している。即ち、実空間のフィールドＦＬ１のユーザ群ＵＡＧに対応する移動体群ＭＡＧと、フィールドＦＬ２のユーザ群ＵＢＧに対応する移動体群ＭＢＧとを、仮想空間の共通の仮想フィールドＦＬＶに配置する。
【０１０８】
例えば、ユーザ群ＵＡＧのユーザＵＡ１〜ＵＡ４に対応する移動体群ＭＡＧの移動体ＭＡ１〜ＭＡ４を、フィールドＦＬ１でのＵＡ１〜ＵＡ４の位置ＰＡ１〜ＰＡ４に対応する仮想フィールドＦＬＶの位置ＰＡＶ１〜ＰＡＶ４に配置する。例えばユーザＵＡ１は、実空間のフィールドＦＬ１では位置ＰＡ１に居るが、ユーザＵＡ１に対応する移動体ＭＡ１は、仮想空間の仮想フィールドＦＬＶにおいて、位置ＰＡ１に対応する位置ＰＡＶ１に配置される。ユーザＵＡ２は、実空間のフィールドＦＬ１では位置ＰＡ２に居るが、ユーザＵＡ２に対応する移動体ＭＡ２は、仮想フィールドＦＬＶにおいて、位置ＰＡ２に対応する位置ＰＡＶ２に配置される。ユーザＵＡ３、ＵＡ４、移動体ＭＡ３、ＭＡ４も同様である。
【０１０９】
またユーザ群ＵＢＧのユーザＵＢ１〜ＵＢ４に対応する移動体群ＭＢＧの移動体ＭＢ１〜ＭＢ４を、フィールドＦＬ２でのＵＢ１〜ＵＢ４の位置ＰＢ１〜ＰＢ４に対応する仮想フィールドＦＬＶの位置ＰＢＶ１〜ＰＢＶ４に配置する。例えばユーザＵＢ１は、実空間のフィールドＦＬ２では位置ＰＢ１に居るが、ユーザＵＢ１に対応する移動体ＭＢ１は、仮想空間の仮想フィールドＦＬＶにおいて、位置ＰＢ１に対応する位置ＰＢＶ１に配置される。ユーザＵＢ２は、実空間のフィールドＦＬ２では位置ＰＢ２に居るが、ユーザＵＢ２に対応する移動体ＭＢ２は、仮想空間の仮想フィールドＦＬＶにおいて、位置ＰＢ２に対応する位置ＰＢＶ２に配置される。ユーザＵＢ３、ＵＢ４、移動体ＭＢ３、ＭＢ４も同様である。
【０１１０】
このように本実施形態では、視界を覆うＨＭＤを装着した複数のユーザのアバターである移動体が、仮想空間の仮想フィールド上を自由に移動してプレイするゲームにおいて、実空間では、仮想フィールドに対応したフィールドを複数設定する。そして、その複数のフィールドの各フィールドに複数のユーザを振り分けて、ゲーム処理を実行する。そしてユーザのＨＭＤに映し出される仮想空間には、あたかも全てのユーザが１つのフィールドでプレイしているように、それぞれのユーザの実空間のフィールド上の相対位置情報を統合する。そして仮想空間の仮想フィールド上に、ユーザのアバターとなる移動体を仮想的に配置することで、より仮想現実感の高い仮想体験のゲームを実現する。
【０１１１】
図９は、図８でのフィールドＦＬ１の位置ＰＡ１〜ＰＡ４から仮想フィールドＦＬＶの位置ＰＡＶ１〜ＰＡＶ４への座標変換処理や、フィールドＦＬ２の位置ＰＢ１〜ＰＢ４から仮想フィールドＦＬＶの仮想位置ＰＢＶ１〜ＰＢＶ４への座標変換処理の一例を示す図である。
【０１１２】
例えば図９においてフィールドＦＬ１、ＦＬ２の原点（広義には基準点）を、各々、ＣＯ１、ＣＯ２とし、仮想フィールドＦＬＶの原点（基準点）をＣＯＶとする。フィールドＦＬ１の位置ＰＡ１は、図９に示すように原点ＣＯ１からＸ座標でＸＡ１、Ｙ座標でＹＡ１の位置にある。フィールドＦＬ２の位置ＰＢ１は、原点ＣＯ２からＸ座標でＸＢ１、Ｙ座標でＹＢ１の位置にある。
【０１１３】
この場合に、仮想フィールドＦＬＶにおいて、フィールドＦＬ１の位置ＰＡ１に対応する位置ＰＡＶ１は、原点ＣＯＶからＸ座標でＸＡ１、Ｙ座標でＹＡ１の位置に設定される。即ち、原点ＣＯＶから相対座標ＸＡ１、ＹＡ１だけシフトした位置に、位置ＰＡＶ１が設定される。位置ＰＡ２〜ＰＡ４に対応する位置ＰＡＶ２〜ＰＡＶ４も同様の手法により設定できる。
【０１１４】
また仮想フィールドＦＬＶにおいて、フィールドＦＬ２の位置ＰＢ１に対応する位置ＰＢＶ１は、原点ＣＯＶからＸ座標でＸＢ１、Ｙ座標でＹＢ１の位置に設定される。即ち、原点ＣＯＶから相対座標ＸＢ１、ＹＢ１だけシフトした位置に、位置ＰＢＶ１が設定される。位置ＰＢ２〜ＰＢ４に対応する位置ＰＢＶ２〜ＰＢＶ４も同様の手法により設定できる。
【０１１５】
このようにすれば、実空間において想定されるユーザＵＡ１とユーザＵＢ１の相対的な位置関係を保ちながら、ユーザＵＡ１、ＵＢ１に対応する移動体ＭＡ１、ＭＢ１を、仮想空間の仮想フィールドＦＬＶに配置できるようになる。例えば実空間でのユーザＵＡ１、ＵＢ１の接近が想定されるような状況では、仮想空間において、ユーザＵＡ１、ＵＢ１に対応する移動体ＭＡ１、ＭＢ１も接近するようになる。この場合に、ユーザＵＡ１、ＵＢ１の接近が想定される状況とは、ゲームの設定として接近することが想定される状況である。即ち、図７（Ａ）、図７（Ｂ）に示すように、ユーザＵＡ１はフィールドＦＬ１に位置し、ユーザＵＢ１はフィールドＦＬ２に位置する。このため、これらのユーザＵＡ１、ＵＢ１が実際に接近することなく、ユーザＵＡ１、ＵＢ１が衝突してしまう事態は防止されるようになる。
【０１１６】
なお、実空間のフィールドの位置から仮想フィールドの位置への座標変換手法は、図９で説明した手法に限定されず、種々の変形実施が可能である。例えば図９では実空間（現実世界）と仮想空間（仮想世界）のスケールが同一であるものとして説明しているが、実空間のスケールと仮想空間のスケールは異なっていてもよい。例えば仮想空間での１ｍが、実空間での１ｍよりも長かったり、短くなるようなスケールの設定であってもよい。この場合には、図９において仮想フィールドＦＬＶの位置ＰＡＶ１、ＰＢＶ１のＸ座標、Ｙ座標は、実空間のフィールドＦＬ１、ＦＬ２の位置ＰＡ１、ＰＢ１のＸ座標、Ｙ座標より大きくなったり、小さくなったりするようになる。例えば実空間のフィールドＦＬ１、ＦＬ２の位置ＰＡ１、ＰＢ１のＸ座標、Ｙ座標に対して、スケール係数ＫＳ（ＫＳ＜１又はＫＳ＞１）を乗算したものが、仮想フィールドＦＬＶの位置ＰＡＶ１、ＰＢＶ１のＸ座標、Ｙ座標になる。
【０１１７】
また図９では、フィールドＦＬ１、ＦＬ２の位置座標の基準点（原点ＣＯ１、ＣＯ２）が同じ位置（左下のコーナーの位置）に設定されているが、本実施形態はこれに限定されず、フィールドＦＬ１、ＦＬ２とで基準点の位置を互いに異ならせてもよい。例えばフィールドＦＬ１の基準点（原点）を、左下、右下、左上、右上のコーナーのうちの第１のコーナーの位置に設定し、フィールドＦＬ２の基準点（原点）を、左下、右下、左上、右上のコーナーのうちの第１のコーナーとは異なる第２のコーナーの位置に設定してもよい。
【０１１８】
また図９では、フィールドＦＬ１、ＦＬ２の方向（向き）や形状が同一になっているが、フィールドＦＬ１、ＦＬ２の方向や形状を互いに異ならせてもよい。例えば図９ではフィールドＦＬ１、ＦＬ２は共に、第１の方向（例えば水平方向）が長辺となるフィールドになっているが、例えばフィールドＦＬ１は第１の方向が長辺となり、フィールドＦＬ２は第１の方向とは異なる第２の方向が長辺となるなど、その方向を互いに異ならせてもよい。またフィールドＦＬ１を、第１の形状のフィールドとし、フィールドＦＬ２を、第１の形状とは異なる第２の形状のフィールドにするなど、その形状を互いに異ならせてもよい。
【０１１９】
図１０は本実施形態により生成されるゲーム画像の例である。このゲーム画像は各ユーザが装着するＨＭＤに表示される。例えば図１０は、ユーザＵＡ１のＨＭＤに表示されるゲーム画像の例であり、ユーザＵＡ１に対応する移動体ＭＡ１の手や所持する銃ＧＡ１（銃の表示物）が表示されている。また味方チームのユーザＵＡ２、ＵＡ３に対応する移動体ＭＡ２、ＭＡ３や、敵チームのユーザＵＢ１、ＵＢ２、ＵＢ３に対応する移動体ＭＢ１、ＭＢ２、ＭＢ３が表示されている。味方チームの移動体ＭＡ１、ＭＡ２、ＭＡ３は、所持する銃ＧＡ１、ＧＡ２、ＧＡ３により敵側に対して攻撃を行っており、敵チームの移動体ＭＢ１、ＭＢ２、ＭＢ３は、所持する銃ＧＢ１、ＧＢ２、ＧＢ３により攻撃を行っている。このように本実施形態では、敵チームの画像は、敵の実際の存在位置に敵のアバターである移動体ＭＢ１、ＭＢ２、ＭＢ３を配置することによって、表示処理される。また後述するように、ユーザに出力される音も、仮想フィールドＦＬＶでの配置設定に従って、音源計算される。
【０１２０】
このように本実施形態では、味方チーム（広義には第１のグループ、第１のチーム）に属するユーザ群ＵＡＧ（移動体群ＭＡＧ）と、敵チーム（広義には第２のグループ、第２のチーム）に属するユーザ群ＵＢＧ（移動体群ＭＢＧ）との間での対戦のゲーム処理が行われる。そして、この対戦のゲーム処理によるゲーム画像が各ユーザのＨＭＤに表示される。このようにすれば、チーム同士の戦闘を仮想体験できるチーム対戦ゲームを実現できる。即ち、ＨＭＤを用いるシステムによれば、ユーザの視界の全周囲に亘って広大なＶＲ空間が広がるようになり、その広大なＶＲ空間での戦闘を体験できるため、あたかも実際に戦闘しているかのような仮想現実感をユーザに与えることができる。
【０１２１】
そして、このようなチーム対戦ゲームにおいては、図６（Ｂ）で説明したように、敵と味方が接近して入り乱れた状態になると、実空間のユーザ同士が衝突してしまう事態が生じてしまい、このような事態は、シミュレーションシステムの運営上、好ましくない。
【０１２２】
この点、本実施形態の手法によれば、図７（Ａ）、図７（Ｂ）に示すように、ユーザ群ＵＡＧ、ＵＢＧは、各々、異なるフィールドＦＬ１、ＦＬ２に配置されるため、敵と味方が接近して衝突してしまうような事態の発生を防止できる。そして仮想空間においては、図８に示すように、ユーザ群ＵＡＧ、ＵＢＧに対応する移動体群ＭＡＧ、ＭＢＧが、同じ仮想フィールドＦＬＶに配置される。これにより、図１０に示すように、現実世界のようなリアルな戦闘をユーザに仮想体験させることが可能になる。従って、ユーザ同士の衝突の発生を抑制しながら、より仮想現実感が高い仮想体験が可能なシミュレーションシステムを実現できるようになる。
【０１２３】
また本実施形態では、仮想空間の仮想フィールドでの移動体の位置情報に基づいて、ユーザに出力される音の生成処理を行っている。例えば、仮想フィールドでの移動体の位置情報に基づいて音場の形成処理を行い、形成された音場に基づいて、ユーザに出力される音が生成される。即ち、ユーザの実際の位置から発せられる音も、相対位置情報を統合した仮想フィールド上に仮想的に配置された位置から発生しているように計算して出力される。
【０１２４】
例えば図１１（Ａ）において、仮想フィールドＦＬＶ上の位置ＰＡＶ１、ＰＡＶ４、ＰＢＶ１には、図８に示すように移動体ＭＡ１、ＭＡ４、ＭＢ１が配置される。ここで移動体ＭＡ１にとって、移動体ＭＡ４は味方であり、移動体ＭＢ１は敵である。
【０１２５】
そして移動体ＭＡ４の位置ＰＡＶ４から発せられる音は、位置ＰＡＶ４に設定された音源ＳＡ４（仮想音源）からの音として、移動体ＭＡ１の位置ＰＡＶ１の方に伝達する。そして伝達された音が、移動体ＭＡ１のユーザＵＡ１に対して出力される。例えば移動体ＭＡ４のユーザＵＡ４が、味方であるユーザＵＡ１に対して声をかけると、その音声が、音源ＳＡ４からの音として、移動体ＭＡ１の位置ＰＡＶ１の方に伝達する。これにより、ユーザＵＡ１には、ユーザＵＡ４の音声が位置ＰＡＶ４の方から聞こえて来るようになるため、より仮想現実感が高い音場形成が実現されるようになる。
【０１２６】
また移動体ＭＢ１の位置ＰＢＶ１から発せられる音は、位置ＰＢＶ１に設定された音源ＳＢ１（仮想音源）からの音として、移動体ＭＡ１の位置ＰＡＶ１の方に伝達する。そして伝達された音が、移動体ＭＡ１のユーザＵＡ１に対して出力される。例えばユーザＵＢ１の移動体ＭＢ１が、敵であるユーザＵＡ１の移動体ＭＡ１に対して銃を発射すると、その銃声が、音源ＳＢ１からの音として、移動体ＭＡ１の位置ＰＡＶ１の方に伝達する。これにより、ユーザＵＡ１には、ユーザＵＢ１の移動体ＭＢ１が発射した銃の銃声が、位置ＰＢＶ１の方から聞こえて来るようになるため、より仮想現実感が高い音場形成が実現されるようになる。
【０１２７】
このように本実施形態では、仮想フィールドＦＬＶでの移動体の位置情報に基づいて、仮想空間での音場が形成され、ユーザに出力される音が生成される。即ち、図７（Ａ）、図７（Ｂ）に示すように、ユーザ群ＵＡＧとＵＢＧが実際には異なるフィールドＦＬ１、ＦＬ２に位置しているのに、音の生成処理については、仮想フィールドＦＬＶでの移動体の位置情報を用いて音場が形成されて、各ユーザに聞こえる音が生成される。従って、ユーザ同士の衝突の発生を抑制しながら、より仮想現実感が高い仮想体験のシミュレーションシステムを実現できるようになる。
【０１２８】
なお、仮想空間での音場の形成は、例えば図１１（Ｂ）に示すように仮想フィールドの各位置に仮想的に配置された仮想スピーカＳＰ１〜ＳＰ６を用いて実現できる。例えば、これらの仮想スピーカＳＰ１〜ＳＰ６を用いて音場を形成することで、図１１（Ａ）のような位置ＰＡＶ４、ＰＢＶ１に仮想的な音源ＳＡ４、ＳＢ１を設定し、これらの音源ＳＡ４、ＳＢ１から、対応する音を仮想的に出力すればよい。こうすることで、位置ＰＡＶ１のユーザＵＡ１には、あたかも音源ＳＡ４、ＳＢ１の位置ＰＡＶ４、ＰＢＶ１の方から音声や銃声等が聞こえて来るような仮想的な音場形成を実現できるようになる。
【０１２９】
３．２  警告の報知処理
図７（Ａ）〜図８の本実施形態の手法によれば、ユーザ群ＵＡＧとＵＢＧというような敵と味方の間の衝突については防止できるが、味方同士で衝突が発生してしまう場合もある。例えば図１２において、ユーザＵＳ１とＵＳ２は、同じチームに属する味方同士であり、同じフィールドに位置しているため、実空間においてユーザＵＳ１とＵＳ２が衝突してしまうおそれがある。例えば図１２に示すようにユーザＵＳ１、ＵＳ２が背中合わせの位置関係になっている場合に、ユーザＵＳ１のＨＭＤ１には、ユーザＵＳ２に対応する移動体ＭＶ２（図５（Ｂ））は表示されない。またユーザＵＳ２のＨＭＤ２には、ユーザＵＳ１に対応する移動体ＭＶ１（図５（Ｂ））は表示されない。このためユーザＵＳ１、ＵＳ２が例えば後ろ向きに歩いた場合などにおいて、ユーザＵＳ１、ＵＳ２が衝突してしまうおそれがある。
【０１３０】
そこで本実施形態では、実空間でのユーザ同士の衝突の警告の報知処理を行う。例えば実空間でのユーザ同士の衝突についての予測処理を行い、予測処理の結果に基づいて、ユーザ同士の衝突についての警告の報知処理を行う。即ち、実空間において、ユーザ同士が衝突しそうな場合に、そのことを報知するため、ＨＭＤの表示画像（警告表示）、音出力部からの音、ユーザの装備品やＨＭＤに設けられた振動デバイスの振動、或いは空気砲などに基づいて、衝突の警告の報知処理を行う。このようにすれば、ユーザ同士の衝突が発生するおそれがあることを、ユーザに対して適切に報知することが可能になる。なお、実空間での移動速度や移動加速度が速いユーザに対して衝突の警告の報知処理を行うようにしてもよい。
【０１３１】
例えば図１３（Ａ）では、ユーザＵＳ１に対して衝突の検出範囲ＡＲＤが設定されている。例えば図１３（Ａ）ではユーザＵＳ１の位置を基準として、距離範囲である検出範囲ＡＲＤが設定されている。そして図１３（Ａ）では、ユーザＵＳ２は検出範囲ＡＲＤに入っていないが、図１３（Ｂ）ではユーザＵＳ２が検出範囲ＡＲＤの中に入っている。この場合には、ユーザＵＳ１とＵＳ２は接近関係にあり、実空間においてユーザ同士の衝突のおそれがあると予測する。即ち、検出範囲ＡＲＤを用いて、実空間でのユーザ同士の衝突についての予測処理を行う。そして、この検出範囲ＡＲＤを用いた予測処理の結果に基づいて、衝突を警告する報知処理を行う。即ち、ユーザＵＳ２が検出範囲ＡＲＤの中に入っており、衝突が予測される場合には、当該衝突を警告する報知処理を行う。例えば図１３（Ｃ）に示すように、ユーザＵＳ２の位置に設定された仮想スピーカＶＳＰ（仮想音源）からの音を用いて、ユーザＵＳ２がユーザＵＳ１に衝突するおそれがあることを、ユーザＵＳ１に対して報知する。この場合に例えばユーザＵＳ２の移動速度が速いほど、仮想スピーカＶＳＰからの警告音を大きくしたり、接近関係の判断用の検出範囲ＡＲＤを広くするようにしてもよい。
【０１３２】
また図１３（Ｄ）に示すように、ユーザが装着するジャケット２０などの着衣に振動デバイス２２を設け、この振動デバイス２２の振動により衝突の警告の報知処理を行ってもよい。即ち図１３（Ｂ）に示すようにユーザＵＳ１とＵＳ２が接近関係にあると判断され、ユーザＵＳ１、ＵＳ２の衝突が予測される場合に、振動デバイス２２を振動させて、衝突のおそれがあることを報知する。或いは、ＨＭＤに振動デバイスを設け、この振動デバイスの振動により警告の報知処理を行ってもよい。
【０１３３】
或いは、フィールドＦＬに空気砲のような報知デバイスを設け、図１４のＤ１〜Ｄ９に示すような方向（進路）で空気砲を発射することで、警告の報知処理を行ってもよい。或いは、フィールドＦＬに設けられた複数のスピーカから、図１４のＤ１〜Ｄ９に示すような方向（進路）で音を出力することで、警告の報知処理を行ってもよい。或いは、フィールドＦＬの床に例えばマトリックス状に複数の振動デバイスを設置し、この振動デバイスを振動させることで、警告の報知処理を行ってもよい。或いはＨＭＤに対して、警告の表示画像を表示してもよい。このように警告の報知手法としては種々の変形実施が可能である。
【０１３４】
また本実施形態では、実空間でのユーザの装備品の動き又はユーザの動きについての検出処理を行い、検出処理の検出結果に基づいて、装備品の動き又はユーザの動きについての警告の報知処理を行う。具体的には、ユーザと他のユーザの位置情報に基づいてユーザと他のユーザが接近関係にあると判断されたことを条件に、警告の報知処理を行う。例えばガン型コントローラ（銃）などの装備品の移動速度が速い場合、そのことを報知するため、振動デバイスの振動、音又は空気砲などにより、当該ユーザに対して警告の報知を行う。そして、例えば警告が所与の回数だけ行われた場合には、当該ユーザのゲームプレイをゲームオーバーにしてもよい。
【０１３５】
例えば図１５（Ａ）ではユーザＵＳ１とＵＳ２が背中合わせの位置関係になっているが、この状態で図１５（Ｂ）に示すようにユーザＵＳ１がユーザＵＳ２の方に振り向くと、ユーザＵＳ１の所持するガン型コントローラＧＮ１（広義には装備品）が、ユーザＵＳ２にぶつかってしまう事態が生じる。或いは、例えばユーザＵＳ１がガン型コントローラＧＮ１を激しく動かしている時に、ユーザＵＳ２がユーザＵＳ１の方に近づくと、激しく動いているガン型コントローラＧＮ１がユーザＵＳ２にぶつかってしまう事態が生じる。或いは、ガン型コントローラＧＮ１のような装備品をユーザＵＳ１が装備していない場合にも、ユーザＵＳ１が激しく手や足などの部位を動かしている時に、ユーザＵＳ２がユーザＵＳ１の方に近づくと、激しく動いている手や足などの部位が、ユーザＵＳ２にぶつかってしまう事態が生じる。例えばユーザＵＳ１の手によるパンチや足によるキックが、ユーザＵＳ２に当たってしまう事態が生じる。
【０１３６】
このような事態の発生を防止するために、実空間でのユーザの装備品の動き又はユーザの動きについての検出処理を行う。即ち、装備品やユーザの動き速度が所与のしきい値以上になったか否か、或いは、装備品やユーザの動きの量が所与のしきい値以上になったか否かの検出処理を行う。そして、装備品やユーザの動き速度が所与のしきい値以上になったり、装備品やユーザの動き量が所与のしきい値以上になった場合には、警告の報知処理を当該ユーザに対して行う。このようにすることで、図１５（Ａ）、図１５（Ｂ）に示すような装備品等がぶつかってしまう事態の発生を防止できるようになる。或いは、ユーザの手によるパンチや足によるキックが、他のユーザにぶつかってしまう事態の発生を防止できるようになる。なお、警告の報知手法としては、図１３（Ａ）〜図１４の衝突の警告の報知手法と同様の手法を採用できる。即ち、音、振動、空気砲又は警告画像などを用いた種々の警告報知手法を採用できる。
【０１３７】
図１６は、装備品やユーザの動きの検出結果に基づく警告の報知処理の一例を示すフローチャートである。まずユーザの位置情報を取得する（ステップＳ１）。例えば図２（Ａ）〜図３（Ｂ）で説明したようなＨＭＤのトラッキング処理を行い、このトラッキング処理の結果に基づいて、ユーザの位置情報を取得する。
【０１３８】
次に、ユーザと他のユーザが接近関係になったか否かを判断する（ステップＳ２）。例えば図１３（Ａ）、図１３（Ｂ）で説明したように、ユーザＵＳ１に設定された検出範囲ＡＲＤ内に他のユーザＵＳ２が入ったか否かを判断することで、ユーザＵＳ１と他のユーザＵＳ２が接近関係になったか否かを判断できる。
【０１３９】
そして、ユーザと他のユーザが接近関係になったと判断した場合には、ユーザのガン型コントローラ等の装備品の動き又はユーザの動きの検出処理を行う（ステップＳ３）。例えばガン型コントローラ等の装備品の動きの検出処理は、装備品に設けられたモーションセンサ（例えばジャイロセンサ又は加速度センサ等）を用いて実現できる。ユーザの動きの検出処理は、ユーザの手又は足等の部位に当該モーションセンサを装備し、これらのモーションセンサを用いて実現してもよいし、ユーザの動き等を外部の撮像デバイスで撮像することで検出してもよい。
【０１４０】
このように本実施形態では、ユーザの位置情報に基づいてユーザ同士が接近関係にあると判断されたことを条件に、報知処理を行っている。このようにすれば、ユーザ同士が接近関係にないのに、装備品の動きやユーザの動きの検出処理が無駄に行われたり、無用な警告が行われてしまうような事態の発生を防止できる。
【０１４１】
次に、装備品又はユーザの動き速度又は動き量がしきい値以上になったか否かを判断する（ステップＳ４）。そして、動き速度又は動き量がしきい値以上になった場合には、警告の報知処理を行う（ステップＳ５）。例えば音、振動、画像又は空気砲等を用いて、装備品又はユーザの動きについての警告の報知処理を行う。こうすることで、ユーザの装備品やユーザの手又は足等の部位が、他のユーザにぶつかってしまうような事態の発生を効果的に防止できるようになる。
【０１４２】
３．３  移動体の移動量、移動速度等の設定
本実施形態では、実空間でのユーザの移動量とは異なる移動量で、仮想空間において移動体を移動させるようにしてもよい。例えば実空間において、ユーザが１ｍの距離を移動した場合に、仮想空間では、ユーザに対応する移動体を１ｍよりも長い距離（例えば１．５ｍ〜３ｍ）だけ、移動させて、ユーザの動きをコンパクトにして、衝突の可能性を低減する。逆に、実空間でユーザが５ｍ移動した場合に、仮想想空間では、ユーザに対応する移動体を５ｍよりも短い距離（例えば２ｍ〜４ｍ）だけ、移動させてもよい。また、これを移動体（アバター）のスケール変更により、同様の効果を実現してもよい。例えば移動体のサイズをスケールダウン又はスケールアップして、移動の際の意識を変えることで、衝突回避を行ってもよい。
【０１４３】
例えば図１７では、実空間のユーザＵＳ２は、フィールドＦＬ上において移動量ＡＭだけ移動している。例えば単位時間（フレーム）において移動量ＡＭだけ移動している。そして、このような実空間でのユーザＵＳ２の移動により、仮想空間では、ユーザＵＳ２のアバターである移動体ＭＶ２（アバター）が、移動量ＡＭＶだけ移動している。例えば単位時間（フレーム）において移動量ＡＭＶだけ移動している。例えば図１７では、実空間でのユーザＵＳ２の移動量ＡＭよりも、仮想空間での移動体ＭＶ２の移動量ＡＭＶの方が大きくなっている。このようにすることで、ユーザは、大きな移動量での移動を躊躇するようになり、ユーザ同士の衝突が回避されるようになる。
【０１４４】
例えば、図１７において、実空間のユーザＵＳ２の前方に他のユーザが存在したとする。この場合に実空間のユーザＵＳ２が、移動量ＡＭだけ前方に移動した場合に、ユーザＵＳ２のＨＭＤ２に映る自身のアバターの移動体ＭＶ２の移動量はＡＭＶであり、実空間での移動量ＡＭよりも大きな移動量になる。このような大きな移動量ＡＭＶでの移動体ＭＶ２の移動を見たユーザＵＳ２は、実空間での自身の移動を躊躇するようになり、歩幅等が短くなる。これにより、前方の他のユーザとの衝突の発生が抑制される。また前方の他のユーザも、自身のＨＭＤに映る移動体ＭＶ２が、大きな移動量ＡＭＶで移動するのを見るようになる。即ち、実空間でのユーザＵＳ２の移動量ＡＭよりも大きな移動量ＡＭＶで、移動体ＭＶ２が移動して来る様子を、当該他のユーザは見ることになる。これにより、当該他のユーザは、移動体ＭＶ２が自身の移動体に衝突するのを避けるために、例えば後方側に移動するなどの行動を取るようになり、ユーザＵＳ２と当該他のユーザの衝突の発生を抑制できる。これにより、例えば味方同士等が衝突してしまうのを効果的に防止できる。
【０１４５】
なお仮想空間の移動体（キャラクタ）のスケールを変更することで、図１７と同様の効果を得るようにしてもよい。例えば移動体のスケールを実空間のユーザよりも小さくすれば、ユーザは、仮想空間の大きさを広く感じるようになる。逆に移動体のスケールを大きくすれば、ユーザは、仮想空間を狭く感じるようになる。そして、このようにユーザが感じる仮想空間のスケール感を変えることで、図１７のようなユーザの移動量と移動体の移動量を異ならせる手法を実現できる。或いは、仮想空間のスケールそのものを変えてもよい。例えば実空間のフィールドでのスケールと仮想空間の仮想フィールドでのスケールを異ならせる。即ち実空間での１ｍのスケールと仮想空間での１ｍのスケールを異ならせる。例えば移動体が移動する仮想フィールドのスケールを、ユーザが移動するフィールドのスケールよりも大きくすれば、ユーザが感じる仮想空間のスケール感を大きく見せることが可能になる。そしてユーザが実空間で移動した場合に、例えば実空間での移動量よりも大きな移動量で移動体を移動させる。こうすることで、仮想空間のスケール感を広く感じさせながら、ユーザ間の衝突の発生の抑制も実現できるようになる。
【０１４６】
また本実施形態では、実空間でのユーザと他のユーザとが接近関係になったと判断された場合に、他のユーザに対応する他の移動体の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする移動処理を行ってもよい。例えば実空間において、ユーザに対して５ｍ以内に接近したなどの配置条件を満たした他のユーザ（敵、味方）が検知された際は、その他のユーザのアバターである移動体についての仮想空間での移動速度、移動加速度又は移動距離に対して、係数ＫＭ（ＫＭ＞１）をかけて、接近度合いを大きく見せる処理を行う。これにより、早期にユーザのＨＭＤ内の視界に他のユーザに対応する移動体を表示させ、注意度を高める処理を行う。なお、その後、辻褄を合わせるように係数ＫＭを、時間をかけてゆっくりとＫＭ＝１に戻して、帳尻合わせをしてもよい。この手法は、実空間のユーザと仮想空間の移動体の衝突時（後述する仮想的な衝突時）にも有効である。
【０１４７】
例えば図１８において、ＡＲＦＶはＨＭＤの視界範囲を表しており、ＧＶ１はユーザに対応する移動体が所持する銃である。ＨＭＤの視界範囲ＡＲＦＶは、ＨＭＤに接眼レンズが設けられることで、実際にはユーザの視界の全周囲に亘るような広い視界範囲となるが、図１８では説明の簡素化のために狭い範囲として模式的に示している。
【０１４８】
図１８において、他のユーザＵＳ２がユーザの方に移動すると、Ｂ１に示すようにユーザＵＳ２に対応する仮想空間の移動体ＭＶ２が、実空間のユーザＵＳ２よりも速い移動速度（或いは速い移動加速度又は長い移動距離。以下、同様）で移動して、ユーザの視界範囲ＡＲＦＶに入るようになる。即ち、実空間でのユーザＵＳ２の移動に先行して移動体ＭＶ２が移動し、ユーザＵＳ２がこれに遅れて追従するようになる。従って、実空間においてユーザと他のユーザＵＳ２とが衝突してしまう事態を抑制できる。なお、この際に図１３（Ａ）〜図１４で説明したような警告の報知処理を併せて行ってもよい。
【０１４９】
同様に、他のユーザＵＳ３がユーザの方に移動すると、Ｂ２に示すようにユーザＵＳ３に対応する仮想空間の移動体ＭＶ３が、実空間のユーザＵＳ３よりも速い移動速度等で移動して、ユーザの視界範囲ＡＲＦＶに入るようになる。即ち、実空間でのユーザＵＳ３の移動に先行して移動体ＭＶ３が移動し、ユーザＵＳ３がこれに遅れて追従するようになる。従って、実空間においてユーザと他のユーザＵＳ３とが衝突してしまう事態を抑制できる。なお、この際にも図１３（Ａ）〜図１４で説明したような警告の報知処理を併せて行ってもよい。
【０１５０】
また図１８において、移動体ＭＶ２、ＭＶ３の移動速度等を速くした場合には、その後、移動体ＭＶ２、ＭＶ３の移動速度を遅くして、ユーザＵＳ２、ＵＳ３の位置と移動体ＭＶ２、ＭＶ３の位置とが対応した位置になるように、辻褄を合わせる処理を行うことが望ましい。
【０１５１】
またゲームの世界設定において問題がなければ、接近の移動速度等が速い移動体を強調表示するエフェクトや、その予測移動方向や、視野外の接近物の存在と方向を示すアラートを表示して、衝突の発生を抑制するようにしてもよい。
【０１５２】
例えば図１９では、速い移動速度等で移動する移動体ＭＶ３に対して、強調表示のエフェクトＥＦが施されている。また移動体ＭＶ３の予測移動方向を示すマーカＭＫ２も表示される。このようエフェクトＥＦやマーカＭＫ２を表示することで、ユーザは、移動体ＭＶ３の移動速度の速さや移動の方向を視覚的に認識できるようになり、ユーザ同士の衝突の発生を更に抑制できる。また図１９では、移動体ＭＶ２の存在方向を示すマーカＭＫ１が表示されている。これにより、ユーザは、マーカＭＫ１で示される方向に移動体ＭＶ２が存在することを視覚的に認識できるようになり、移動体ＭＶ２に対応する他のユーザＵＳ２との衝突の発生を抑制できるようになる。
【０１５３】
図２０は、他のユーザに対応する他の移動体の移動速度等を速くする処理の例を示すフローチャートである。
【０１５４】
まず、図１６のステップＳ１、Ｓ２と同様に、ユーザの位置情報を取得し、ユーザと他のユーザが接近関係になったか否かを判断する（ステップＳ１１、Ｓ１２）。例えば図１３（Ａ）、図１３（Ｂ）で説明したように、ユーザＵＳ１に設定された検出範囲ＡＲＤ内に他のユーザＵＳ２が入ったか否かを判断することで、接近関係になったか否かを判断する。そして、ユーザと他のユーザが接近関係になったと判断された場合には、他のユーザに対応する他の移動体（仮想ユーザ、アバター）の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする処理を行う（ステップＳ１３）。即ち、図１８のＢ１、Ｂ２に示すように、実空間のユーザＵＳ２、ＵＳ３に比べて、これらのユーザＵＳ２、ＵＳ３に対応する移動体ＭＶ２、ＭＶ３の移動速度を速くする、移動加速度を速くする、或いは移動距離を長くする処理を行う。こうすることで、ユーザと、これらの他のユーザＵＳ２、ＵＳ３が衝突してしまう事態の発生を抑制できる。
【０１５５】
３．４  演出処理
本実施形態では、ユーザに対応する移動体と、他のユーザに対応する他の移動体とが、所与の位置関係になった場合に、所与の位置関係に応じた演出処理の実行や、演出処理画像の生成処理を行う。具体的には、ユーザと他のユーザが接近関係になっていない状態で、移動体と他の移動体が接近関係になった場合に、この接近関係に応じた演出処理の実行や、演出処理画像の生成処理を行う。例えば移動体及び他の移動体の少なくとも一方が特殊モーションを行う演出処理やその演出処理画像の生成処理、或いは、所与の位置関係用の特殊モードに移行する演出処理やその演出処理画像の生成処理を行う。
【０１５６】
例えば図２１（Ａ）では、ユーザＵＳ１が実空間のフィールドＦＬ１に位置し、ユーザＵＳ２が実空間のフィールドＦＬ２に位置している。そしてユーザＵＳ１に対応する移動体ＭＶ１とユーザＵＳ２に対応する移動体ＭＶ２が、共通の仮想フィールドＦＬＶに配置されている。そして図２１（Ａ）では、ユーザＵＳ１、ＵＳ２は所与の距離だけ離れて対峙している。
【０１５７】
図２１（Ｂ）では、ユーザＵＳ１は、実空間のフィールドＦＬ１上を、例えば、ユーザＵＳ１の前方方向側である右方向に移動している。ユーザＵＳ２は、実空間のフィールドＦＬ２上を、例えばユーザＵＳ２の前方方向側である左方向に移動している。これにより仮想フィールドＦＬＶでは、ユーザＵＳ１、ＵＳ２に対応する移動体ＭＶ１、ＭＶ２が接近関係になり、衝突状態（衝突寸前の状態）になっている。
【０１５８】
その後、図２１（Ｃ）では、ユーザＵＳ１がフィールドＦＬ１上で更に右側に移動し、ユーザＵＳ２がフィールドＦＬ２上で更に左側に移動している。これにより仮想フィールドＦＬＶでは、移動体ＭＶ１、ＭＶ２が互いに背面を向けて、すれ違った状態になっている。
【０１５９】
本実施形態では、実空間においてはユーザＵＳ１、ＵＳ２は異なるフィールドＦＬ１、ＦＬ２に位置しているが、ＵＳ１、ＵＳ２に対応する移動体ＭＶ１、ＭＶ２は、仮想空間の共通の仮想フィールドＦＬＶに位置している。このため図２１（Ｂ）に示すように、実空間ではユーザＵＳ１、ＵＳ２が衝突状態になっていないのに、仮想空間では、対応する移動体ＭＶ１、ＭＶ２が衝突状態になるという状況が生じる。このような状況が生じると、ユーザＵＳ１、ＵＳ２は、移動体ＭＶ１、ＭＶ２同士が、まるで実体がないかのようにすり抜けているように見えてしまい、不自然感を与えてしまう事態が生じる。
【０１６０】
このような事態を防止するために本実施形態では、図２１（Ｂ）に示すように、ユーザＵＳ１に対応する移動体ＭＶ１と、他のユーザＵＳ２に対応する他の移動体ＭＶ２とが、接近関係などの所与の位置関係になった場合に、その位置関係に応じた演出処理を実行して、その演出処理画像をユーザＵＳ１、ＵＳ２のＨＭＤに表示する手法を採用している。具体的には、図２１（Ｂ）のように、実空間のフィールドＦＬ１、ＦＬ２では、ユーザＵＳ１と他のユーザＵＳ２が接近関係になっていないのに、仮想空間の仮想フィールドＦＬＶでは、移動体ＭＶ１と他の移動体ＭＶ２が接近関係になった場合に、この接近関係に応じた演出処理を実行して、演出処理画像をＨＭＤに表示する。このようにすれば、実空間ではユーザ同士がすれ違っていないのに、仮想空間では移動体同士がすり抜けているように見えてしまい、ユーザの仮想現実感を損ねてしまうのを防止できるようになる。
【０１６１】
なお、図２１（Ｂ）において演出処理が行われる期間においては、移動体ＭＶ１、ＭＶ２に対する他の移動体の攻撃を無効にする設定を行うことが望ましい。例えば狙撃判定は例外処理とし、その間は移動体ＭＶ１、ＭＶ２は無傷（無敵状態）にする。
【０１６２】
また図２１（Ｂ）の状態で行われる演出処理の手法としては、種々の手法が考えられる。例えば演出処理として、移動体ＭＶ１、ＭＶ２の少なくとも一方が特殊モーションを行う演出処理を行ってもよい。例えばユーザＵＳ１、ＵＳ２が所与の距離範囲内に入って接近関係になった場合に、対応する移動体ＭＶ１、ＭＶ２に、一度、もみ合うような特殊モーションを行わせる。
【０１６３】
図２２（Ａ）〜図２２（Ｃ）は、このような特殊モーション処理の説明図である。この特殊モーション処理では、図２２（Ａ）の状態から、図２２（Ｂ）に示すように移動体ＭＶ１、ＭＶ２が背中を合わせてもみ合う動作を行い、その後、図２２（Ｃ）に示すように離れて行く。この図２２（Ａ）〜図２２（Ｃ）の一連のモーションが、図２１（Ｂ）の状態で再生される特殊モーションのデータとして、図１の記憶部１７０に記憶されている。そして図２１（Ｂ）の演出処理として、この特殊モーションを再生する処理（衝突時の特殊モーション処理）を行うようにする。
【０１６４】
このような特殊モーション処理を行えば、図２１（Ｂ）のような状況の時に、例えば移動体同士がもみ合いながらすれ違うような画像が生成されるようになるため、ユーザに不自然感を与えて仮想現実感が低下してしまう事態の発生を抑制できる。
【０１６５】
なお、特殊モーション処理は、図２２（Ａ）〜図２２（Ｃ）に示すようなモーション処理には限定されず、種々の変形実施が可能である。例えば一方の移動体が他方の移動体を避けるように移動したり、一方の移動体が他方の移動体を飛び越えて移動するなどの種々のモーション処理を、特殊モーション処理として用いることができる。また特殊モーション処理が行われる期間（フレーム）では、他の移動体からの攻撃を無効にする設定（無敵設定）を行うことが望ましい。
【０１６６】
また本実施形態では、図２１（Ｂ）の状態で行われる演出処理として、接近関係用（広義には所与の位置関係用）の特殊モードに移行する演出処理を行ってもよい。即ち、通常モードから、接近関係用に用意された特殊なゲームモードに移行する処理を行う。
【０１６７】
図２３は特殊モードの一例を示す図である。この特殊モードは素手で対戦する格闘モードである。即ち、図２１（Ｂ）のように移動体同士が接近関係になると、銃の狙撃で対戦する通常モード（通常ゲームモード）から、素手（ＨＬ、ＨＲ）で対戦する格闘モードである特殊モードに移行する。そして、移動体同士が互いに接近している状態では、この特殊モードが継続され、移動体同士が離れると、この特殊モードは解除される。
【０１６８】
なお、特殊モードの状態では、他の移動体からの攻撃を無効にする設定（無敵設定）を行うことが望ましい。この場合に、例えば特殊モードになっている時間が、制限時間を越えた場合には、両者のユーザのゲームプレイをゲームオーバーにしてもよい。
【０１６９】
また図２３の特殊モードにおいて、ユーザの手又は足等の部位の動きを検出するためには、例えば手又は足等の部位に動き検出用デバイス（センサ）を装着すればよい。そして、動き検出用デバイスを用いた動きの検出結果に基づいて、ユーザに対応する移動体の手又は足等の部位を動かすようにすればよい。こうすることで、移動体同士で対戦する格闘ゲーム等を実現できる。動き検出用デバイスとしては、例えば図２（Ａ）に示すような受光素子や、図３（Ａ）、に示すような発光素子などが考えられる。受光素子の場合には、図２（Ｂ）に示すようなベースステーション２８０、２８４を用いて、特殊モードでのユーザの手又は足等の部位に動きの検出を実現できる。発光素子の場合には、図３（Ｂ）に示すような撮像部１５０を用いて、特殊モードでのユーザの手又は足等の部位に動きの検出を実現できる。或いは、動き検出用デバイスとして、ユーザの手又は足等の部位にモーションセンサを装着して、部位の動きを検出してもよい。或いは、モーション検出用のカメラを用いて、ユーザの動きを検出してもよい。
【０１７０】
また、通常モードから図２３のような特殊モードに移行した場合には、移動体が所持していた銃を、一旦、非表示にする。そして、特殊モードから通常モードに戻った場合に、再度、移動体に銃を所持させればよい。
【０１７１】
図２４は、移動体と他の移動体が接近関係になった場合に行われる演出処理の一例を示すフローチャートである。
【０１７２】
まず、移動体と敵移動体が接近関係になったか否かを判断する（ステップＳ２１）。例えば仮想フィールドにおいて移動体同士が図２１（Ｂ）に示すような接近関係になったか否かを判断する。そして接近関係になった場合には、移動体及び敵移動体に対する他の移動体等からの攻撃を無効状態に設定する（ステップＳ２２）。即ち、いわゆる無敵状態に設定する。そして移動体と敵移動体が素手で対戦する格闘モード（広義には特殊モード）に移行する（ステップＳ２３）。即ち、通常モードから図２３に示すような格闘モードに移行する。
【０１７３】
次に、移動体と敵移動体の距離が離れたか否かを判断する（ステップＳ２４）。そして、移動体と敵移動体が離れたと判断された場合には、通常モードに戻る（ステップＳ２５）。一方、移動体と敵移動体が離れていないと判断された場合には、制限時間が経過したか否かを判断し（ステップＳ２６）、制限時間が経過した場合には、両者のユーザのゲームプレイをゲームオーバーにする（ステップＳ２７）。
【０１７４】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（グループ、装備品、基準点等）と共に記載された用語（チーム、コントローラ、原点等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また位置情報の取得処理、仮想空間の設定処理、移動体の移動処理、表示処理、ゲーム処理、報知処理、移動体の配置設定処理、演出処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
【符号の説明】
【０１７５】
ＵＳ、ＵＳ１〜ＵＳ４、ＵＡ１〜ＵＡ４、ＵＢ１〜ＵＢ４  ユーザ、
ＧＮ、ＧＮ１〜ＧＮ４  ガン型コントローラ、
ＧＡ１〜ＧＡ３、ＧＢ１〜ＧＢ３、ＧＶ１、ＧＶ２  銃、
ＨＭＤ、ＨＭＤ１〜ＨＭＤ４  頭部装着型表示装置、
ＦＬ、ＦＬ１、ＦＬ２  フィールド、ＦＬＶ  仮想フィールド、
ＭＶ１、ＭＶ２、ＭＡ１〜ＭＡ４、ＭＢ１〜ＭＢ４  移動体（アバター）、
ＵＡＧ、ＵＢＧ  ユーザ群、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１１  情報取得部、
１１２  仮想空間設定部、１１３  移動体処理部、１１４  仮想カメラ制御部、
１１５  ゲーム処理部、１１６  報知処理部、１２０  表示処理部、１３０  音処理部、１４０  出力処理部、１５０  撮像部、１５１、１５２  カメラ、１６０  操作部、
１７０  記憶部、１７２  オブジェクト情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、
２００  ＨＭＤ（頭部装着型表示装置）、２０１〜２０５  受光素子、２１０  センサ部、
２２０  表示部、２３１〜２３８  発光素子、２４０  処理部、
２５０  処理装置、２６０  ヘッドバンド、２７０  ヘッドホン、
２８０、２８４  ベースステーション、
２８１、２８２、２８５、２８６  発光素子、２９０  ガン型コントローラ
【図１】
2020201980.tif 000003
【図２】
2020201980.tif 000004
【図３】
2020201980.tif 000005
【図４】
2020201980.tif 000006
【図５】
2020201980.tif 000007
【図６】
2020201980.tif 000008
【図７】
2020201980.tif 000009
【図８】
2020201980.tif 000010
【図９】
2020201980.tif 000011
【図１０】
2020201980.tif 000012
【図１１】
2020201980.tif 000013
【図１２】
2020201980.tif 000014
【図１３】
2020201980.tif 000015
【図１４】
2020201980.tif 000016
【図１５】
2020201980.tif 000017
【図１６】
2020201980.tif 000018
【図１７】
2020201980.tif 000019
【図１８】
2020201980.tif 000020
【図１９】
2020201980.tif 000021
【図２０】
2020201980.tif 000022
【図２１】
2020201980.tif 000023
【図２２】
2020201980.tif 000024
【図２３】
2020201980.tif 000025
【図２４】
2020201980.tif 000026