(57)【要約】【課題】実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム等の提供。【解決手段】シミュレーションシステムは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、ユーザの位置情報を含むユーザ情報を取得する情報取得部と、実空間情報に基づいて、実空間に対応する仮想空間を生成する仮想空間生成部と、ユーザ情報と実空間情報とに基づいて、仮想空間に基準点を設定し、基準点に基づいて、キャラクタのオブジェクトを仮想空間に配置するオブジェクト処理部と、キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部を含む。オブジェクト処理部は、ユーザに対応する仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。【選択図】図２６
2019139425.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、
を含み、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。
【請求項２】
請求項１において、
前記ヒットボリュームは、前記ユーザの部位又は前記ユーザの所持物に設定されるヒットボリュームであることを特徴とするシミュレーションシステム。
【請求項３】
請求項１又は２において、
前記オブジェクト処理部は、
前記ユーザ移動体と前記基準点とが第１の距離関係である場合には、前記ユーザ移動体の位置に基づき前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行い、
前記ユーザ移動体と前記基準点とが第２の距離関係である場合には、前記ユーザ移動体と前記基準点との間に前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。
【請求項４】
ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、
を含み、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの動きを検出する検出部からの情報に基づいて、前記ユーザが前記所与の入力を行ったか否かを判断することを特徴とするシミュレーションシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記オブジェクト処理部は、
前記キャラクタに対する処理として、前記キャラクタの消滅処理、前記キャラクタの破壊処理、前記キャラクタの表示態様の変更処理又は前記キャラクタについての報知処理を行うことを特徴とするシミュレーションシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザ移動体と前記基準点との距離に応じて、前記キャラクタの配置タイミングを決定することを特徴とするシミュレーションシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記基準点の設定を行うことを特徴とするシミュレーションシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記情報取得部は、
前記実空間の環境情報を取得し、
前記オブジェクト処理部は、
前記環境情報に応じて、前記基準点の設定を行うことを特徴とするシミュレーションシステム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記オブジェクト処理部は、
前記基準点の位置に応じて、前記ヒットボリュームを変化させることを特徴とするシミュレーションシステム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記ヒットボリュームを変化させることを特徴とするシミュレーションシステム。
【請求項１２】
ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部として、
としてコンピュータを機能させ、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするプログラム。
【請求項１３】
ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部として、
コンピュータを機能させ、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、複合現実（ＭＲ）、拡張現実（ＡＲ）、バーチャルリアリティ（ＶＲ）などを実現するシステムが知られている。例えば特許文献１には、使用者の視点位置から観察される実空間画像に、使用者の視点位置から観察される仮想物体の画像を合成表示する画像処理装置が開示されている。この画像処理装置では、使用者が操作することで実空間の領域を指定し、指定された実空間の領域に基づいて仮想オブジェクトを作成し、作成された仮想オブジェクトを、観察された実空間画像に合成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１５７６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のようなＭＲやＡＲのシステムを用いれば、実空間画像に対して仮想空間画像を合成することができる。しかしながら、仮想空間画像であるキャラクタと実空間のユーザとの好適なインタラクションの実現については、その達成が不十分であった。またキャラクタを登場させるために、専用のマーカを実空間に配置する必要があるという課題もある。また従来のシステムでは、キャラクタ等の出現のために、実空間の情報を有効に活用できていなかった。
【０００５】
本発明の幾つかの態様によれば、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、を含み、前記オブジェクト処理部は、前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明の一態様では、ユーザの周囲の実空間の認識処理を行うことで実空間情報が取得され、実空間情報に基づき実空間に対応する仮想空間が生成される。また実空間情報に基づき基準点が設定され、基準点に基づきキャラクタのオブジェクトが仮想空間に配置される。そして仮想空間のユーザ移動体の位置に基づきヒットボリュームが設定され、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理が実行される。従って、実空間に対して、対応する仮想空間を設定してキャラクタを配置し、ユーザの入力に基づくキャラクタとのインタラクションを実現できるようになる。これにより、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム等の可能になる。
【０００８】
また本発明の一態様では、前記ヒットボリュームは、前記ユーザの部位又は前記ユーザの所持物に設定されるヒットボリュームであってもよい。
【０００９】
このようにユーザの部位又は所持物にヒットボリュームを設定すれば、実空間においてユーザが、その部位や所持物を動かすと、それに連動してヒットボリュームも移動するようになり、ユーザの仮想現実感の向上を図れる。
【００１０】
また本発明の一態様では、前記オブジェクト処理部は、前記ユーザ移動体と前記基準点とが第１の距離関係である場合には、前記ユーザ移動体の位置に基づき前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行い、前記ユーザ移動体と前記基準点とが第２の距離関係である場合には、前記ユーザ移動体と前記基準点との間に前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行ってもよい。
【００１１】
このようにすれば、ユーザ移動体と基準点との距離関係に応じた適切なヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係を判断して、キャラクタに対する処理を実行できるようになる。
【００１２】
また本発明の一態様は、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、を含み、前記オブジェクト処理部は、前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００１３】
本発明の一態様では、ユーザの周囲の実空間の認識処理を行うことで実空間情報が取得され、実空間情報に基づき実空間に対応する仮想空間が生成される。また実空間情報に基づき基準点が設定され、基準点に基づきキャラクタのオブジェクトが仮想空間に配置される。そして仮想空間のユーザ移動体と基準点との間に、ヒットボリュームが設定され、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理が実行される。従って、実空間に対して、対応する仮想空間を設定してキャラクタを配置し、ユーザの入力に基づくキャラクタとのインタラクションを実現できるようになる。これにより、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム等の可能になる。
【００１４】
また本発明の一態様では、前記オブジェクト処理部は、前記ユーザの動きを検出する検出部からの情報に基づいて、前記ユーザが前記所与の入力を行ったか否かを判断してもよい。
【００１５】
このようにすれば、実空間でのユーザの動きを検出して、ユーザが所与の入力を行ったか否かを判断し、ヒットボリュームを用いた処理を実行できるようになる。
【００１６】
また本発明の一態様では、前記オブジェクト処理部は、前記キャラクタに対する処理として、前記キャラクタの消滅処理、前記キャラクタの破壊処理、前記キャラクタの表示態様の変更処理又は前記キャラクタについての報知処理を行ってもよい。
【００１７】
このようにすれば、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタを消滅させたり、キャラクタを破壊したり、キャラクタの表示態様を変更したり、或いはキャラクタについての報知処理を実行できるようになる。
【００１８】
また本発明の一態様では、前記オブジェクト処理部は、前記ユーザ移動体と前記基準点との距離に応じて、前記キャラクタの配置タイミングを決定してもよい。
【００１９】
このようにすれば、ユーザ移動体と基準点との距離関係を反映させて、基準点に対応するキャラクタを配置することが可能になる。
【００２０】
また本発明の一態様では、前記オブジェクト処理部は、前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記基準点の設定を行ってもよい。
【００２１】
このようにすれば、ユーザの状況、ユーザ移動体の状況、キャラクタの状況、或いはゲーム状況に応じた適切な基準点の設定が可能になる。
【００２２】
また本発明の一態様では、前記情報取得部は、前記実空間の環境情報を取得し、前記オブジェクト処理部は、前記環境情報に応じて、前記基準点の設定を行ってもよい。
【００２３】
このようにすれば、実空間の環境の状況を反映させた適切な基準点の設定が可能になる。
【００２４】
また本発明の一態様では、前記オブジェクト処理部は、前記基準点の位置に応じて、前記ヒットボリュームを変化させてもよい。
【００２５】
このようにすれば、基準点に応じた適切なヒットボリュームの設定が可能になる。
【００２６】
また本発明の一態様では、前記オブジェクト処理部は、前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記ヒットボリュームを変化させてもよい。
【００２７】
このようにすれば、ユーザの状況、ユーザ移動体の状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切なヒットボリュームの設定が可能になる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態のシミュレーションシステムの構成例を示すブロック図。
【図２】本実施形態に用いられるＨＭＤの例。
【図３】本実施形態に用いられるＨＭＤの例。
【図４】図４（Ａ）、図４（Ｂ）は実空間の認識処理による実空間情報の取得処理の説明図。
【図５】ＨＭＤの表示領域の説明図。
【図６】実空間のプレイフィールドの説明図。
【図７】図７（Ａ）、図７（Ｂ）は本実施形態のアトラクションゲームの説明図。
【図８】図８（Ａ）、図８（Ｂ）は本実施形態のアトラクションゲームの説明図。
【図９】図９（Ａ）、図９（Ｂ）は本実施形態のヒット処理の説明図。
【図１０】本実施形態のヒット処理の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は本実施形態のヒット処理の説明図。
【図１２】図１２（Ａ）、図１２（Ｂ）は本実施形態のアトラクションゲームの説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）は本実施形態のアトラクションゲームの説明図。
【図１４】ユーザがライド筐体に搭乗してプレイするライド型のアトラクションゲームの説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）は本実施形態のアトラクションゲームの説明図。
【図１６】本実施形態のアトラクションゲームの説明図。
【図１７】図１７（Ａ）、図１７（Ｂ）は本実施形態のヒット処理の説明図。
【図１８】図１８（Ａ）〜図１８（Ｃ）はヒットボリュームの設定やユーザの動きの検出処理の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）は本実施形態のヒット処理の説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）はキャラクタに対する処理の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）はユーザキャラクタと基準点との距離に応じたキャラクタの配置タイミングの決定処理の説明図。
【図２２】環境情報や、ユーザやユーザキャラクタやキャラクタの状況情報や、ゲーム状況情報に基づく基準点の設定処理の例を示すフローチャート。
【図２３】基準点の位置に応じてヒットボリュームを変化させる処理の説明図。
【図２４】図２４（Ａ）、図２４（Ｂ）は基準点の位置に応じてヒットボリュームを変化させる処理の説明図。
【図２５】ユーザやユーザキャラクタやキャラクタの状況情報や、ゲーム状況情報に基づくヒットボリュームの変化処理の例を示すフローチャート。
【図２６】本実施形態の詳細な処理例を示すフローチャート。
【発明を実施するための形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．シミュレーションシステム
図１は、本実施形態のシミュレーションシステム（シミュレータ、ゲームシステム、画像生成システム）の構成例を示すブロック図である。本実施形態のシミュレーションシステムはＭＲ（Mixed Reality）やＡＲ（Augmented Reality）などを実現するものであり、ゲームコンテンツを提供するゲームシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図１の構成に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３１】
操作部１６０は、ユーザ（プレーヤ）が種々の操作情報（入力情報）を入力するためのものである。操作部１６０は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル、レバー又は音声入力装置等の種々の操作デバイスにより実現できる。
【００３２】
検出部１６２はユーザの動きを検出するものであり、例えば加速度センサ、ジャイロセンサなどのモーションセンサにより実現できる。例えば検出部１６２はユーザの部位などに取り付けられてユーザの部位等の動きを検出する。例えばユーザの部位が動いた時の加速度等の変化を加速度センサ等のモーションセンサにより検出して、ユーザの動きを検出する。なおユーザの動きをカメラを用いて検出してもよい。一例としては、２つの赤外ＬＥＤと２つのカメラ（ステレオカメラ）で指先等の動きを検出するリープモーションセンサを用いてもよい。或いはキネクト（登録商標）による姿勢検出によりユーザの動きを検出してもよい。
【００３３】
撮像部１６４（カメラ）は、被写体の撮像を行うものであり、ＣＣＤやＣＭＯＳセンサなどの画像センサと、フォーカスレンズ等により構成される光学系などにより実現される。撮像部１６４は赤外線カメラなどにより実現されるデプスカメラであってもよい。例えば撮像部１６４に、赤外線パターンを投稿するＩＲプロジェクターを設け、投光した赤外線パターンを赤外線カメラにより読み取り、パターンの歪みからデプス情報を取得するライトコーディング方式を採用してもよい。
【００３４】
記憶部１７０は各種の情報を記憶する。記憶部１７０は、処理部１００や通信部１９６などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０の機能は、半導体メモリ（ＤＲＡＭ、ＶＲＡＭ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ、光ディスク装置などにより実現できる。記憶部１７０は、実空間情報記憶部１７１、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００３５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＢＤ、ＣＤ）、ＨＤＤ、或いは半導体メモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、ＬＣＤ、有機ＥＬディスプレイ、或いはＣＲＴなどにより実現できる。表示部１９０は、例えば後述の図２、図３のＨＭＤ２００(頭部装着型表示装置）のディスプレイ（表示装置）である。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ又はヘッドホンなどにより実現できる。
【００３７】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリカード）、ＵＳＢメモリ、或いは磁気カードなどにより実現できる。
【００３８】
通信部１９６は、有線や無線のネットワークを介して外部（他の装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００３９】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４０】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や、図２、図３のＨＭＤ２００のトラッキング情報（ＨＭＤの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報）や、プログラムなどに基づいて、情報取得処理、仮想空間生成処理、オブジェクト処理、仮想カメラ制御処理、ゲーム処理（シミュレーション処理）、表示処理、或いは音処理などを行う。
【００４１】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された１又は複数の回路装置（例えばＩＣ等）や、１又は複数の回路素子（例えば抵抗、キャパシター等）で構成することもできる。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００４２】
処理部１００は、情報取得部１０２、仮想空間生成部１０４、オブジェクト処理部１０６、仮想カメラ制御部１１２、ゲーム処理部１１４、表示処理部１２０、音処理部１３０を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ（或いはプロセッサ及びメモリ）により実現できる。なお、これらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４３】
情報取得部１０２は各種の情報の取得処理を行う。仮想空間生成部１０４は仮想空間の生成処理を行い、オブジェクト処理部１０６はキャラクタのオブジェクトや配置オブジェクトについての種々の処理を行う。情報取得部１０２、仮想空間生成部１０４、オブジェクト処理部１０６の詳細については後述する。
【００４４】
仮想カメラ制御部１１２（仮想カメラ制御処理のプログラムモジュール）は、仮想カメラの制御を行う。例えば、操作部１６０により入力されたユーザの操作情報やトラッキング情報などに基づいて、仮想カメラを制御する処理を行う。例えば仮想カメラ制御部１１２は、ユーザの一人称視点又は三人称視点として設定される仮想カメラの制御を行う。例えば実空間のユーザに対応する仮想空間のユーザ移動体の視点（一人称視点）に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置（位置座標）や姿勢（回転軸回りでの回転角度）を制御する。或いは、ユーザ移動体に追従する視点（三人称視点）の位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置や姿勢を制御する。
【００４５】
例えば仮想カメラ制御部１１２は、視点トラッキングにより取得されたユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。例えば本実施形態では、ユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）が取得される。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。そして仮想カメラ制御部１１２は、取得されたトラッキング情報（ユーザの視点位置及び視線方向の少なくとも一方の情報）に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部１１２は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向（位置、姿勢）が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
【００４６】
ゲーム処理部１１４（ゲーム処理のプログラムモジュール）は、ユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部１１４（シミュレーション処理部）は、ユーザがＭＲ（Mixed Reality）、ＡＲ（Augmented Reality）、又はＶＲ（Virtual Reality）などを体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【００４７】
表示処理部１２０は、仮想空間画像（ゲーム画像、シミュレーション画像）の表示処理を行う。例えば処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に表示する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、仮想空間において仮想カメラ（所与の視点。左眼用、右眼用の第１、第２の視点）から見える画像が生成される。なお、表示処理部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００４８】
音処理部１３０（音処理のプログラムモジュール）は、処理部１００で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲（音楽、ＢＧＭ）、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部１９２に出力させる。
【００４９】
そして本実施形態のシミュレーションシステムは、図１に示すように、情報取得部１０２と仮想空間生成部１０４とオブジェクト処理部１０６と表示処理部１２０を含む。
【００５０】
情報取得部１０２（情報取得処理のプログラムモジュール）は、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報を取得する。また情報取得部１０２は、ユーザの位置情報を含むユーザ情報を取得する。実空間の認識処理は例えば空間マッピングにより実現できる。例えば撮像部１６４として設けられた種々のカメラを用いて実空間の認識処理を行うことで、空間マッピングが実現される。後述の図２を例にとれば、ＨＭＤ２００に設けられたＲＧＢカメラ２４６、デプスカメラ２４７、環境認識カメラ２４８、２４９を用いて実空間の認識処理を行う。実空間情報は、実空間の認識処理（空間マッピング）により得られた実空間の３Ｄマップ情報であり、スキャンした実空間をメッシュ化した情報である。実空間をスキャンすることで得られた実空間情報は実空間情報記憶部１７１に記憶される。実空間情報は例えば複数の空間データにより構成される。複数の空間データの各空間データは、実空間を複数の領域に分割してスキャンした際の各領域に対応するデータである。そして各空間データに対してＩＤ（サーフェスＩＤ）が割り当てられて、実空間情報記憶部１７１に記憶される。このＩＤが割り当てられた空間データに基づいて例えばポリゴンメッシュが生成され、スキャンした実空間をメッシュ化して表示することが可能になる。また実空間のマップと仮想空間のオブジェクトとのインタラクションも可能になる。
【００５１】
また情報取得部１０２は、実空間のユーザの位置情報を含むユーザ情報を取得する。ユーザ情報は実空間のユーザの方向情報を含むことができる。ユーザの位置情報としては、例えばユーザの視点位置情報を用いることができる。ユーザの方向情報としては、ユーザの視線方向情報を用いることができる。ユーザの位置情報（視点位置情報）や方向情報（視線方向情報）はＨＭＤ２００のヘッドトラッキング処理により取得できる。
【００５２】
仮想空間生成部１０４（仮想空間生成処理のプログラムモジュール）は、情報取得部１０２により取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する処理を行う。そして仮想空間生成部１０４は、３次元空間（ゲーム空間）である仮想空間の設定処理を行う。例えば実空間の認識処理（空間マッピング）により得られたマップ情報が、仮想空間情報として設定される。例えば実空間を分割した複数の領域に対応する複数の空間データにより、仮想空間情報が設定される。仮想空間情報は、オブジェクト情報としてオブジェクト情報記憶部１７２に記憶される。
【００５３】
また仮想空間生成部１０４（仮想空間設定部）は、オブジェクトが配置される仮想空間（オブジェクト空間）の設定処理を行う。例えば、移動体（ユーザ移動体、キャラクタ）、配置物、マップ（地形）、建物、観客席、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、仮想空間でのオブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間生成部１０４は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００５４】
オブジェクト処理部１０６（オブジェクト処理のプログラムモジュール）は、キャラクタのオブジェクトや配置オブジェクトについての各種の処理を行う。具体的にはオブジェクト処理部１０６は、ユーザ情報と実空間情報とに基づいて、仮想空間に基準点を設定する。例えばユーザの位置情報と実空間情報とに基づいて、仮想空間に基準点を設定する。この基準点の設定処理は基準点設定部１０８が行う。そしてオブジェクト処理部１０６は、基準点に基づいて、キャラクタのオブジェクトを仮想空間に配置する処理を行う。例えば基準点に対応して設定された配置ポイント（出現ポイント）にキャラクタを配置（出現）する処理を行う。表示処理部１２０（表示処理のプログラムモジュール）は、キャラクタの画像を含む画像を表示部１９０に表示する処理を行う。例えばＨＭＤ２００の表示装置に、キャラクタの画像を含む画像（仮想空間画像）を表示する処理を行う。
【００５５】
そして本実施形態では、オブジェクト処理部１０６が、ユーザに対応する仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定する。例えばユーザ移動体の位置を元に、ヒットボリュームの位置を決定して配置する。ユーザ移動体の位置により特定されるユーザの部位の位置や所持物の位置にヒットボリュームを設定してもよい。そしてオブジェクト処理部１０６は、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。ユーザが所与の入力を行ったか否かは、例えば操作部１６０や検出部１６２を用いて検出できる。例えば操作部１６０によりユーザが所与の操作を行った場合に、ユーザが所与の入力を行ったと判断する。或いは検出部１６２によりユーザの所与の動き（ユーザの手等の部位の動き）が検出された場合に、ユーザが所与の入力を行ったと判断する。ユーザの所与の動きを撮像部１６４で撮像することで検出してもよい。
【００５６】
そしてオブジェクト処理部１０６は、ユーザが所与の入力を行ったタイミングでの、ヒットボリュームとキャラクタとの位置関係を判断する。例えばキャラクタの位置がヒットボリューム内にあるか否かのヒット判定処理（衝突判定処理）を行う。或いは、ユーザ移動体の位置に基づき設定されたヒットボリュームと、キャラクタの位置に基づき設定された第２のヒットボリュームとが交差したか否かを判断するヒット判定処理を行ってもよい。これらのヒット判定処理はヒット処理部１０９により行われる。そして、ユーザが所与の入力を行った際に（所与の入力を行ったタイミングで）、ヒットボリュームとキャラクタが所与の位置関係になった場合に、その位置関係に応じた処理をキャラクタに対して行う。例えばヒットボリュームとキャラクタとがヒットしたと判定された場合に、キャラクタに対するヒット処理を行う。具体的には後述するような消滅処理、破壊処理、表示態様の変更処理又は音や振動による報知処理を行う。
【００５７】
なおユーザ移動体は、実空間のユーザに対応するものであり、その画像が表示される表示物であってもよいし、画像が表示されない仮想的なものであってもよい。例えば仮想空間の画像として一人称視点の画像が表示される場合等には、ユーザ移動体は非表示であってもよいし、ユーザ移動体の一部の部位（例えば手、胸又は顔等）だけが表示されるものであってもよい。ユーザ移動体が非表示である場合には、例えば実空間のユーザの視点に対応する仮想空間の仮想カメラ（左眼用、右眼用の仮想カメラ）をユーザ移動体（アバター）とみなすことができる。
【００５８】
またヒットボリュームは、例えばユーザの部位又はユーザの所持物に設定されるヒットボリュームである。例えばユーザの部位を内包するようなヒットボリューム、或いはユーザの所持物を内包するようなヒットボリュームが設定される。そして、このヒットボリュームとキャラクタとのヒット判定処理を行うことで、ユーザの部位又は所持物がキャラクタにヒットしたか否かを判定できる。なおヒットボリュームは例えば３次元形状のものであるが、平面的なヒットエリアであってもよい。
【００５９】
或いはオブジェクト処理部１０６は、ユーザに対応する仮想空間のユーザ移動体と基準点との間に、ヒットボリュームを設定する。例えばユーザ移動体の位置と基準点の位置の間の領域（中間領域）にヒットボリュームを設定する。例えばユーザ移動体の位置と基準点の位置を結ぶ線上にヒットボリュームを設定する。そしてオブジェクト処理部１０６は、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。例えばユーザが所与の入力を行った際におけるヒットボリュームとキャラクタとの位置関係を判断して、キャラクタに対する処理を行う。具体的にはユーザが所与の入力を行ったか否かを、上述のように例えば操作部１６０や検出部１６２を用いて検出する。そしてユーザが所与の入力を行ったタイミングでの、ヒットボリュームとキャラクタとの位置関係を判断する。例えばキャラクタの位置がヒットボリューム内にあるか否かのヒット判定処理を行う。或いは、ユーザ移動体と基準点との間に設定されたヒットボリュームと、キャラクタの位置に基づき設定された第２のヒットボリュームとが交差（衝突）したか否かを判断するヒット判定処理（衝突判定処理）を行ってもよい。そして、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタが所与の位置関係になった場合に、その位置関係に応じた処理をキャラクタに対して行う。例えばキャラクタに対するヒット処理を行う。具体的には後述するようなキャラクタの消滅処理、破壊処理、表示態様の変更処理又は音や振動による報知処理を行う。
【００６０】
オブジェクト処理部１０６は移動体処理部１１０を含む。移動体処理部１１０は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間（オブジェクト空間、ゲーム空間）において移動体を移動させる処理や、移動体を動作させる処理を行う。移動体は、ユーザに対応するユーザ移動体やキャラクタなどである。例えば移動体処理部１１０は、操作部１６０によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）を仮想空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６１】
またオブジェクト処理部１０６は、ユーザ移動体と基準点とが第１の距離関係である場合には、ユーザ移動体の位置に基づきヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。一方、ユーザ移動体と基準点とが第２の距離関係である場合には、ユーザ移動体と基準点との間にヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。ここで、第１の距離関係は、第２の距離関係に比べて、ユーザ移動体と基準点との距離が近いという関係である。この場合には、ユーザ移動体の位置に基づきヒットボリュームを設定して、ヒット判定処理等を行う。一方、第２の距離関係は、第１の距離関係に比べて、ユーザ移動体と基準点との距離が遠いという関係である。この場合には、ユーザ移動体と基準点との間にヒットボリュームを設定して、ヒット判定処理等を行う。
【００６２】
またオブジェクト処理部１０６は、ユーザの動きを検出する検出部１６２からの情報に基づいて、ユーザが所与の入力を行ったか否かを判断する。例えば検出部１６２のモーションセンサ（加速度センサ等）に基づいて、ユーザの部位の動き、振動又は加速度を検出して、ユーザが所与の入力を行ったか否かを判断する。例えばユーザが叩くアクションを行ったか否かを判断する。具体的にはユーザの部位の加速度が急激に変化するタイミングを、ユーザが所与の入力を行ったタイミングと判断する。そしてユーザが所与の入力を行ったタイミングでのヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
【００６３】
またオブジェクト処理部１０６は、キャラクタに対する処理として、キャラクタの消滅処理、キャラクタの破壊処理、キャラクタの表示態様の変更処理又はキャラクタについての報知処理を行う。キャラクタの消滅処理は、キャラクタを非表示にして、仮想空間において視覚的に見えないようにする処理である。キャラクタの破壊処理は、キャラクタが破壊された状態の画像を表示する処理や、破壊エフェクトを発生する処理である。キャラクタの表示態様の変更処理は、キャラクタの色、輝度（明るさ）、半透明度又はテクスチャ等を変更する処理である。キャラクタの報知処理は、キャラクタに対する攻撃のヒットイベントなどが発生したことを、音や振動などを用いてユーザに報知する処理である。なお、キャラクタに対する攻撃が成功しなかった場合には、攻撃が成功しなかったことを表す演出処理を行ってもよい。
【００６４】
またオブジェクト処理部１０６は、ユーザ移動体と基準点との距離に応じて、キャラクタの配置タイミングを決定する。例えばユーザ移動体と基準点との間の距離が所与の距離よりも近くなったタイミングを、配置タイミングとして、キャラクタを配置する。例えば当該タイミングにおいてキャラクタを出現させて表示する。或いは、ユーザ移動体と基準点との間の距離が所与の距離よりも遠くなった場合に、キャラクタを仮想空間に非配置にして、消滅させてもよい。
【００６５】
またオブジェクト処理部１０６は、ユーザの状況情報、ユーザ移動体の状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、基準点の設定を行う。例えばこれらの情報に基づいて、基準点の設定位置や設定数を決定したり、或いは基準点の出現タイミングを決定する。例えば基準点の設定位置や設定数を変化させたり、或いは基準点の出現タイミングを変化させる。ユーザの状況情報は、例えばユーザの年齢層、体格又は性別の情報などである。或いはユーザの状況情報は、ユーザのゲームプレイの状況である。例えばユーザのゲームレベル（初級、中級、上級）や、ユーザのゲームプレイ回数やゲームプレイ頻度の情報や、ユーザのゲーム成績の情報などである。ユーザ移動体の情報は、ユーザ移動体のステータス（レベル、経験値）や能力（攻撃力、防御力等）などの情報であり、例えばユーザ移動体のゲームパラメータにより表される情報である。キャラクタの状況情報は、キャラクタのステータスや能力などの情報であり、例えばキャラクタのゲームパラメータにより表される情報である。キャラクタの種類情報は、キャラクタがどの種類に属するキャラクタであるかを表す情報である。ゲーム状況情報は、ゲームの進行状況や、ゲームプレイが行われるステージやマップの状況などである。
【００６６】
また情報取得部１０２は、実空間の環境情報を取得する。環境情報は、実空間の明るさや広さなどの環境についての情報である。例えばユーザが位置するプレイフィールドでの明るさ情報や広さ情報などである。そしてオブジェクト処理部１０６は、環境情報に応じて、基準点の設定を行う。例えば環境情報に応じて、基準点の設定位置や設定数を決定したり、或いは基準点の出現タイミングを決定する。例えば基準点の設定位置や設定数を変化させたり、或いは基準点の出現タイミングを変化させる。
【００６７】
またオブジェクト処理部１０６は、基準点の位置に応じて、ヒットボリュームを変化させる。例えば基準点の位置に応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。例えば基準点の設定位置や、設定タイミングや、或いは基準点とユーザ移動体との関係などに応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させるなどして、ヒットボリュームを変化させる。
【００６８】
またオブジェクト処理部１０６は、ユーザの状況情報、ユーザ移動体の状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、ヒットボリュームを変化させる。例えばユーザの状況、ユーザ移動体の状況、キャラクタの状況又は種類、或いはゲーム状況を反映させるように、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
【００６９】
なお情報取得部１０２は、視点のトラッキング情報に基づいて、実空間でのユーザの位置情報を取得する。視点のトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。例えば情報取得部１０２は、ＨＭＤ２００の位置情報を、当該ＨＭＤ２００を装着するユーザの位置情報として取得する。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報（視点位置の座標の変化値）、及び、ユーザの初期視線方向からの視線方向の変化情報（視線方向の回転軸回りでの回転角度の変化値）の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの位置に対応する視点位置や、ユーザの方向に対応する視線方向を特定できる。なお、ＨＭＤ２００のトラッキング処理ではなく、ユーザやユーザの頭部などの部位を直接にトラッキングする処理により、ユーザの位置情報を取得してもよい。また情報取得部１０２は、ユーザの方向情報や姿勢情報を取得してもよい。例えば視点のトラッキング処理により得られたトラッキング情報に基づいて、実空間においてユーザが向く方向である方向情報を取得する。また情報取得部１０２は、ユーザのモーション情報である姿勢情報を取得する。姿勢情報は、ユーザの手、頭又は足などの部位の動きを特定する情報である。例えば情報取得部１０２は、キネクト（登録商標）と呼ばれる処理によりユーザの姿勢情報を取得する。なお、情報取得部１０２が取得する位置情報は、相対的な位置情報であってもよい。
【００７０】
また表示処理部１２０（画像生成部）は、表示部１９０に表示される画像を、仮想空間画像として生成する。仮想空間画像は、例えばＡＲ又はＭＲの画像などである。仮想空間画像はＶＲの画像であってもよい。ＡＲの画像は、実空間の風景などを構成する表示物に重畳するように表示される画像である。ＭＲの画像は、実空間と仮想空間を混合し、現実のものと仮想的なものがリアルタイムで影響し合うような新たな空間を構築するＭＲの手法により生成される画像であり、ＭＲは全拡張現実と拡張仮想を包含する概念である。ＶＲの画像は、例えば後述のＨＭＤ２００を装着するユーザの視界の全周囲に亘ってＶＲ空間が広がるように生成される画像である。
【００７１】
また表示処理部１２０は、ＨＭＤ２００の表示画像として、仮想空間において仮想カメラ（所与の視点）から見える画像を生成する。例えばキャラクタ（ユーザキャラクタ、他ユーザキャラクタ）の視点（一人称視点）に設定された仮想カメラから見える画像の描画処理を行う。或いは、キャラクタに追従する視点（三人称視点）に設定された仮想カメラから見える画像の描画処理を行う。生成される画像は、例えば左眼用画像、右眼用画像などの立体視用の画像であることが望ましい。
【００７２】
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などのユーザ移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
【００７３】
なお図１の本実施形態のシミュレーションシステムの処理は、ＨＭＤ２００に内蔵されるプロセッサやメモリにより実現してもよい。例えばＨＭＤ２００に内蔵されるプロセッサが本実施形態の各処理を行い、本実施形態の処理により生成された画像（仮想空間画像）をＨＭＤ２００の表示部１９０に表示する。或いは本実施形態のシミュレーションシステムの処理を、家庭用ゲーム装置又は業務用ゲーム装置により実現してもよいし、家庭用ゲーム装置又は業務用ゲーム装置とサーバシステムとの分散処理により実現してもよい。或いは本実施形態のシミュレーションシステムを、施設に設置されるＰＣ等の処理装置や、ユーザが装着する処理装置や、これらの処理装置の分散処理により実現してもよい。例えばユーザがジャケットを着用し、ジャケットの背面側にバックパックＰＣ等の処理装置が取り付けられる。そしてユーザが装着するバックパックＰＣ等の処理装置により本実施形態の各処理を実行したり、表示部１９０に表示される画像（仮想空間画像）を生成する。或いは、ユーザが装着する処理装置と、施設に設置される管理用の処理装置との分散処理により、本実施形態の各処理を実行したり、表示部１９０に表示される画像を生成する。或いは、本実施形態のシミュレーションシステムの処理を、ネットワークに通信接続できる携帯型通信端末や、携帯型通信端末とサーバシステムとにより実現してもよい。例えば携帯型通信端末とサーバシステムとの分散処理により実現してもよい。
【００７４】
２．ＨＭＤ
次に本実施形態で用いられるＨＭＤ２００及びＨＭＤ２００を用いたトラッキング処理について説明する。
【００７５】
図２は本実施形態で用いられるＨＭＤ２００の一例である。図２のＨＭＤ２００はシースルー型（透過型）のメガネタイプのＨＭＤである。具体的には光学シースルー型のＨＭＤである。このシースルー型のＨＭＤ２００によれば例えばＭＲやＡＲの仮想空間画像の表示が可能になる。
【００７６】
図２のＨＭＤ２００はテンプル部２４０とゴーグル部２４２を有する。テンプル部２４０にはスピーカが内蔵されている。ゴーグル部２４２には表示装置２４３とホログラフィック光学素子２４４が設けられている。表示装置２４３には、マイクロディスプレイ、ミラー、プリズム等により構成される表示ユニットが設けられている。表示装置２４３には左眼用の表示ユニットと右眼用の表示ユニットが設けられており、これにより立体視が実現される。また左眼用、右眼用の各表示ユニットに一対のマイクロディスプレイを設けることで虚像の位置を可変にできる。
【００７７】
表示装置２４３からの表示光は、ホログラフィック光学素子２４４の導光板内部を屈折しながら、ユーザＵＳの眼前に導光される。そしてホログラフィック光学素子２４４により表示光を眼球方向に屈折させて、眼球に表示光を送る。これにより眼前に虚像（ホログラムの再生像）があるように見えるようになる。ホログラフィック光学素子２４４の導光板はコンバイナーとも呼ばれ、ハーフミラーであるコンバイナーにより、外界の実像と虚像が重なって見えるようになり、ＭＲやＡＲが実現される。
【００７８】
またゴーグル部２４２には、ＲＧＢカメラ２４６、デプスカメラ２４７、環境認識カメラ２４８、２４９が設けられている。ＲＧＢカメラ２４６を用いることでユーザＵＳの正面方向の撮影が可能になる。デプスカメラ２４７を用いることで正面方向でのデプス情報（奥行き情報）を取得できる。例えばゴーグル部２４２にはデプスカメラ用のエミッター（不図示）が設けられている。そしてエミッターであるＩＲプロジェクターにより赤外線パターンを実空間の物体に対して投光し、投光した赤外線パターンを、デプスカメラ２４７である赤外線カメラにより読み取り、パターンの歪みから実空間の物体のデプス情報を取得する。更に環境認識カメラ２４８、２４９を用いることでユーザＵＳの周囲の環境認識が可能になる。またゴーグル部２４２には、加速度センサ、ジャイロセンサにより構成される慣性計測ユニット（ＩＭＵ）が内蔵されている。ユーザＵＳの頭の位置や向く方向は、ゴーグル部２４２に設けられたカメラによる撮像画像と慣性計測ユニットからの測定情報などに基づいて検出され、これによりヘッドトラッキングが実現される。そしてユーザＵＳの位置情報（視点位置情報）や方向情報（視線方向情報）の取得も可能になる。またＲＧＢカメラ２４６、デプスカメラ２４７、環境認識カメラ２４８、２４９を用いることで、空間マッピングと呼ばれる実空間の認識処理が実現される。これらのカメラを用いて実空間でのユーザの周囲のスキャンを行うことで、ユーザの周囲の実空間の認識処理が実現され、実空間情報が取得される。またこれらのカメラを用いることで、ユーザＵＳの周囲に居る他のユーザの位置情報（相対的な位置情報）、方向情報（相対的な方向情報）、或いは姿勢情報（動き情報）も取得できる。例えばキネクト（登録商標）などの処理により姿勢情報を取得することで、他のユーザがどのようなアクションを行ったかを検出できるようになる。或いはユーザ自身の部位の動きなどをユーザの姿勢情報（動き情報）として取得してもよい。
【００７９】
図３にＨＭＤ２００の他の例を示す。図３のＨＭＤ２００はユーザの視界の全周囲を覆うように装着されるタイプのＨＭＤである。図３のＨＭＤの表示部は例えば有機ＥＬディスプレイ（ＯＥＬ）や液晶ディスプレイ（ＬＣＤ）などにより実現される。例えばＨＭＤ２００の表示部には、ユーザの左眼の前に設定される第１のディスプレイ又は第１の表示領域と、右眼の前に設定される第２のディスプレイ又は第２の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左眼用画像と右眼用画像を生成し、第１のディスプレイに左眼用画像を表示し、第２のディスプレイに右眼用画像を表示する。或いは１つのディスプレイの第１の表示領域に左眼用画像を表示し、第２の表示領域に右眼用画像を表示する。またＨＭＤ２００には左眼用、右眼用の２つの接眼レンズ（魚眼レンズ）が設けられており、これによりユーザの視界の全周囲に亘って広がるＶＲ空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左眼用画像、右眼用画像に対して行われる。
【００８０】
また図３のＨＭＤ２００には、ＲＧＢカメラ２１６、デプスカメラ２１７、環境認識カメラ２１８、２１９が設けられている。これらのカメラを用いることでビデオシースルー型のＨＭＤ２００が実現され、ＭＲやＡＲの実現が可能になる。またこれらのカメラを用いることで、図２のＨＭＤ２００と同様に、実空間の認識処理や、他のユーザの位置情報、方向情報、姿勢情報（動き情報）の取得やユーザの姿勢情報の取得などを実現できる。
【００８１】
図３のＨＭＤ２００において、ユーザの位置情報、方向情報を取得するトラッキング処理は、ＨＭＤ２００に内蔵され、加速度センサ、ジャイロセンサにより構成される慣性計測ユニット（ＩＭＵ）により実現してもよい。或いはＨＭＤ２００に複数の受光素子を設け、ユーザの周囲に発光素子を有する測定用の装置（ベースステーション）を設ける。そして測定用の装置（複数の測定用装置）の発光素子（ＬＥＤ）からのレーザなどの光をＨＭＤ２００の受光素子で受光することで、ＨＭＤ２００のトラッキング処理を行って、ユーザの位置情報（視点位置情報）や方向情報（視線情報）を取得してもよい。或いはＨＭＤ２００に複数の発光素子を設け、ユーザの周囲にカメラ（第１、第２のカメラ）を有する測定用の装置を設ける。そしてＨＭＤ２００の発光素子からの光を測定用の装置のカメラで撮像することで、ユーザＵＳの頭部の奥行き方向での位置等を検出する。またＨＭＤ２００に設けられる慣性計測ユニット（モーションセンサ）の検出情報に基づいて、ユーザＵＳの頭部の回転角度（視線）を検出し、これによりＨＭＤ２００のトラッキング処理を実現してもよい。
【００８２】
なおユーザの位置情報や方向情報等を取得するためのトラッキング処理については、種々の変形実施が可能である。例えばＨＭＤ２００に設けられた慣性計測ユニットを用いて、ＨＭＤ２００の単体でトラッキング処理を実現してもよいし、上述のような測定用の装置を外部に設けてトラッキング処理を実現してもよい。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング処理を採用してもよい。
【００８３】
またＨＭＤ２００として、いわゆるスマートフォンＶＲ又はＶＲゴーグルと呼ばれるタイプのものを用いてもよい。このタイプのＨＭＤ２００では、スマートフォンの表示部がユーザの目に対向するように、ＨＭＤ２００のゴーグル部の中にスマートフォンを収納する。ゴーグル部（ＶＲゴーグル）の内側には、左眼用接眼レンズ、右眼用接眼レンズが内蔵されている。ユーザは、スマートフォンの表示部に表示された左眼用画像、右眼用画像を、各々、左眼用接眼レンズ、右眼用接眼レンズを介して見ることで、ＶＲの立体視画像を鑑賞することができる。そしてユーザの視点位置、視線方向を特定するトラッキング処理は、スマートフォンに内蔵される慣性計測ユニット（加速度センサ、ジャイロセンサ）などに基づいて実現できる。またゴーグル部又はスマートフォンに設けられたカメラを用いて実空間の認識処理を行えばよい。
【００８４】
３．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では、ユーザがＨＭＤを装着して、蚊などのキャラクタを退治するアトラクションゲームに本実施形態の手法を適用した場合について主に例にとり説明を行う。但し本実施形態の手法は、種々のゲーム（仮想体験ゲーム、格闘ゲーム、競争ゲーム、ＲＰＧ、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等）に適用でき、ゲーム以外にも適用可能である。また以下では、実空間のユーザに対応する仮想空間のユーザ移動体を、ユーザキャラクタと表記して説明を行う。このユーザキャラクタは、表示されるオブジェクトであってもよいし、オブジェクトとして表示されない仮想的なものであってもよい。
【００８５】
３．１  ゲームの説明
まず本実施形態により実現されるアトラクションゲームについて説明する。本実施形態では、ユーザの周囲の実空間の認識処理を行うことにより実空間情報を取得し、取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する。例えば図４（Ａ）では、実空間に机ＤＫや壁ＷＬなどの物体が存在している。この実空間を、図２、図３のＨＭＤ２００に設けられたカメラによりスキャンする認識処理を行うことで、実空間情報を取得する。具体的には図４（Ｂ）に示すように実空間をメッシュ化したワイヤーフレームのデータとして、実空間情報を取得する。この実空間の認識処理は例えばリアルタイムに実行され、ユーザの周囲の実空間が順次にスキャンされて実空間情報が取得される。例えばＩＤに対応づけられた空間データが順次に取得されて、実空間情報として、図１の実空間情報記憶部１７１に蓄積されて記憶される。この実空間情報は、デプス情報（奥行き値）も有しており、このデプス情報を用いることで、例えば仮想空間のオブジェクトと実空間の物体との隠面消去処理も可能になる。また実空間情報に基づいて仮想空間を生成することで、仮想的なオブジェクト（キャラクタ、配置オブジェクト）と、実空間の物体（机ＤＫ、壁ＷＬ）とのインタラクションが可能になる。例えば仮想的なオブジェクトと実空間の物体とのヒット処理（衝突処理）なども可能になり、これまでにないタイプのＭＲやＡＲ（以下、単にＭＲと記載する）の実現が可能になる。
【００８６】
図５は、図２の光学シースルー型のＨＭＤ２００においてユーザの目に映る画像を表すものである。図５のＢ１、Ｂ２、Ｂ３、Ｂ４の領域には、実空間の背景物などの風景がユーザの目に映る。そして表示領域ＡＲＶに、図２の表示装置２４３により生成された仮想空間画像が表示される。ユーザが顔を左右に振ると、ＤＲ１、ＤＲ２に示すように表示領域ＡＲＶの場所が左右に移動する。そしてこの表示装置２４３にキャラクタや配置オブジェクトなどの仮想空間のオブジェクトの画像が表示される。これによりＢ１、Ｂ２、Ｂ３の実空間の風景と表示領域ＡＲＶの仮想空間画像がミックスされたＭＲの実現が可能になる。なお図５では表示領域ＡＲＶが狭く、視野角が小さい場合の例を示したが、ＨＭＤ２００の各種のデバイスを改善することで、表示領域ＡＲＶを広くし、視野角を更に拡大することも可能である。
【００８７】
図６は本実施形態のアトラクションゲームに使用されるプレイフィールドＦＬの例である。本実施形態のアトラクションゲームでは、例えば室内型テーマパークのプレイフィールドＦＬに商店街の店舗等が設置される。ユーザは例えば図２のＨＭＤ２００を頭に装着して、友達等の仲間と一緒にプレイフィールドＦＬを探索する。具体的には場所Ｐ１からスタートして場所Ｐ２に移動し、場所Ｐ３に出現する蚊（キャラクタ）を退治して、場所Ｐ１に戻る。その後、図１４で説明するようなライド型のアトラクションゲームをプレイする。
【００８８】
そして本実施形態では、図２のＨＭＤ２００に設けられたカメラを用いて実空間の認識処理を行うことで、実空間のプレイフィールドＦＬに対応する仮想空間が生成されるようになる。この場合に、ＨＭＤ２００を装着したユーザがプレイフィールドＦＬを移動するにつれて、移動するユーザの周囲の実空間が順次にスキャンされて実空間情報として蓄積されて更新されるようになる。
【００８９】
図６の場所Ｐ２にユーザが移動すると、図７（Ａ）に示すように、ユーザの正面の壁にはマーカとなるポスターＰＳが貼られている。ＨＭＤ２００のカメラによりこのポスターＰＳ（マーカ）の認識処理を行うことで、蚊の絵が描かれた画像ＩＭＡや、ガイドＧＤＡが表示される。即ち画像ＩＭＡやガイドＧＤＡが図５の表示領域ＡＲＶに表示される。ガイドＧＤＡは、図６の場所Ｐ３の方を指しており、ユーザが場所Ｐ３の方に視線を向けると、図７（Ｂ）に示すような風景がユーザの目に映る。そして図７（Ｂ）に示すように、柱ＰＩＬに対応する場所に基準点ＲＰが設定される。例えば本実施形態では、実空間の認識処理により実空間情報が取得され、ユーザの位置情報等のユーザ情報と実空間情報に基づいて、基準点ＲＰが設定される。具体的にはＨＭＤ２００のカメラにより実空間の柱ＰＩＬの認識処理が行われ、実空間の柱ＰＩＬに対応する仮想的なオブジェクトが仮想空間に生成される。例えば図４（Ｂ）の机のようにメッシュポリゴンの仮想的な柱のオブジェクトが生成される。そして、この柱のオブジェクトに対応する場所に基準点ＲＰが設定される。例えばユーザの位置情報に基づきユーザの位置が柱のオブジェクトに近いと判断された場合に、柱のオブジェクトに対して基準点ＲＰが設定される。このようにすることで、実空間の柱ＰＩＬに対応する場所に基準点ＲＰを設定できるようになる。なおＨＭＤ２００のカメラによる実空間の認識処理では正確な座標を取得できない場合がある。このため例えば図７（Ａ）のポスターＰＳによるマーカの位置の絶対座標を用いることで、正確な座標の設定を行うようにしてもよい。
【００９０】
そして本実施形態では、図８（Ａ）に示すように、設定された基準点ＲＰに基づいて、蚊のキャラクタＣＨのオブジェクトを出現させる。例えば基準点ＲＰにより特定される配置ポイント（配置場所）に蚊のキャラクタＣＨを配置して出現させる。これにより図５で説明した表示領域ＡＲＶに蚊のキャラクタＣＨの画像が表示されるようになり、実空間の柱ＰＩＬの場所に蚊が出現したかのように見えるＭＲを実現できるようになる。即ち実空間の風景（柱）と仮想空間の画像（蚊）がミックスされた画像の表示が可能になる。そして本実施形態では実空間の認識処理により生成された仮想的な柱のオブジェクトに対して基準点ＲＰが設定されている。従って、例えばＡＲマーカ等を用いなくても、実空間の柱ＰＩＬに対応するポイントから蚊のキャラクタＣＨを出現させることが可能になる。また図８（Ａ）では「前から来るぞ」という文字が書かれたガイドＧＤ１も表示されている。このガイドＧＤ１は仮想空間の配置オブジェクトであり、このガイドＧＤ１の配置オブジェクトの配置ポイントも、基準点ＲＰに基づき設定される。
【００９１】
図８（Ｂ）では、後述の図９（Ａ）〜図１０で説明するように両手でパチンと叩くアクションをユーザが行うことで、攻撃のエフェクトＡＧ（空気砲）が表示され、蚊のキャラクタＣＨにヒットして、蚊が退治される。蚊の退治に成功すると、「やった、戻ろう」という文字が書かれたガイドＧＤ２が表示される。またユーザが戻る方向を指示するガイドＧＤ３も表示される。これらのガイドＧＤ２、ＧＤ３の配置オブジェクトの配置位置も、基準点ＲＰに基づき設定される。
【００９２】
図９（Ａ）〜図１０では、ユーザ（ＵＳ）は図２のＨＭＤ２００を頭部に装着している。またユーザは、その手ＨＬ、ＨＲで所持物ＢＬ、ＢＲを持っている。所持物ＢＬ、ＢＲは、例えば大きな手の形状の紙製のうちわなどにより実現される。また手ＨＬにはアームセンサＳＥを装着している。アームセンサＳＥは、アームバンド型のモーションセンサ（ジェスチャセンサ）であり、加速度センサ、３軸ジャイロセンサ、筋電位センサなどを内蔵している。このアームセンサＳＥを手ＨＬに装着することで、腕の動きや手のひらの開閉などを検出できるようになる。図９（Ａ）、図９（Ｂ）に示すように、ユーザが手ＨＬ、ＨＲでパチンと叩くアクションを行うと、このアクションの動きがアームセンサＳＥの加速度センサ等により検出される。このアームセンサＳＥは図１の検出部１６２に相当するものであり、手ＨＬ、ＨＲでパチンと叩くアクションが、本実施形態においてユーザが行う所与の入力になる。このアクションにより、攻撃のエフェクトＡＧが表示され、図１０に示すように蚊のキャラクタＣＨが退治されて、消滅したり、破壊されるようになる。
【００９３】
そして図９（Ａ）〜図１０の場合には、後述の図１９（Ａ）、図１９（Ｂ）で説明するように、ユーザ（ＵＳ）に対応するユーザキャラクタＵＳＣ（広義にはユーザ移動体）とキャラクタＣＨとの間にヒットボリュームＨＶが設定され、このヒットボリュームＨＶを用いてキャラクタＣＨに対するヒット判定処理（衝突判定処理）が行われる。即ちユーザキャラクタＵＳＣとキャラクタＣＨとの間の距離が遠い場合には、図１９（Ａ）、図１９（Ｂ）の手法によりヒット判定処理が行われる。
【００９４】
一方、図１１（Ａ）、図１１（Ｂ）では、後述の図１７（Ａ）、図１７（Ｂ）で説明するように、ユーザキャラクタＵＳＣの位置に基づきヒットボリュームＨＶが設定され、このヒットボリュームＨＶを用いてキャラクタＣＨに対するヒット判定処理が行われる。即ちユーザキャラクタＵＳＣとキャラクタＣＨとの間の距離が近い場合には、図１７（Ａ）、図１７（Ｂ）の手法によりヒット判定処理が行われる。この場合に例えば所持物ＢＬ、ＢＲに対応する所持物オブジェクトを仮想空間に出現させ、ユーザが手ＨＬ、ＨＲを叩く毎に、この所持物オブジェクトの大きさを大きくするようにしてもよい。これにより、比較的遠くに位置する蚊のキャラクタＣＨであっても、所持物オブジェクトをヒットさせて退治することが可能になる。
【００９５】
図６の場所Ｐ３に出現する蚊を、図８（Ａ）〜図１１（Ｂ）で説明したように退治した後、ユーザは、最初のスタート地点である場所Ｐ１に戻ることになる。この場合に本実施形態では図１２（Ａ）〜図１３（Ｂ）に示すように、場所Ｐ３から場所Ｐ１にユーザを誘導して移動させるためのガイドとなる配置オブジェクトＯＢ１〜ＯＢ４を、仮想空間に配置する。具体的には場所Ｐ１に対して基準点ＲＰが設定され、設定された基準点ＲＰに基づいて配置オブジェクトＯＢ１〜ＯＢ４が配置される。この場合に本実施形態では、図４（Ａ）、図４（Ｂ）で説明したような実空間の認識処理が行われ、実空間情報が取得される。そしてユーザの位置情報等のユーザ情報と、取得された実空間情報とに基づき、基準点ＲＰが設定される。具体的にはＨＭＤ２００のカメラにより実空間の認識処理が行われ、場所Ｐ１に配置される物体（例えば入り口、壁、ドア）に対応する仮想的なオブジェクトが仮想空間に生成される。そして、この仮想的なオブジェクトの場所に基準点ＲＰが設定される。このようにすることで、場所Ｐ１に対して適切に基準点ＲＰを設定できるようになり、基準点ＲＰが設定される場所Ｐ１とユーザとの間に、ユーザを誘導するガイドとなる配置オブジェクトＯＢ１〜ＯＢ４を適切に配置できるようになる。
【００９６】
そして本実施形態では、ユーザに対応する仮想空間のユーザキャラクタ（ユーザ移動体）と配置オブジェクトＯＢ１〜ＯＢ４との位置関係に応じて、配置オブジェクトＯＢ１〜ＯＢ４の表示態様を変化させている。
【００９７】
例えば図１２（Ａ）では、基準点ＲＰから遠い位置に配置される配置オブジェクトＯＢ１が、表示状態に設定されて表示されている。即ち図５の表示領域ＡＲＶに配置オブジェクトＯＢ１の画像が表示される。この配置オブジェクトＯＢ１には例えば「こっちだよ」という文字が書かれている。
【００９８】
その後、ユーザが、場所Ｐ１の基準点ＲＰの方に移動して近づくと、図１２（Ｂ）に示すように、次の配置オブジェクトＯＢ２が表示状態に設定されて表示される。配置オブジェクトＯＢ２は、配置オブジェクトＯＢ１に比べて、基準点ＲＰに近い位置に配置されるオブジェクトである。この配置オブジェクトＯＢ２には、例えば「こっち、こっち」という文字が書かれている。この場合に配置オブジェクトＯＢ１については、不透明状態から半透明状態に変化し、その後、非表示状態（透明状態）へと表示態様が変化する。
【００９９】
ユーザが、場所Ｐ１の基準点ＲＰの方に更に移動して近づくと、図１３（Ａ）に示すように、次の配置オブジェクトＯＢ３が表示状態に設定されて表示される。配置オブジェクトＯＢ３は、配置オブジェクトＯＢ１、ＯＢ２に比べて、基準点ＲＰに近い位置に配置されるオブジェクトである。この配置オブジェクトＯＢ３には、例えば「そろそろつくよ」という文字が書かれている。この場合に配置オブジェクトＯＢ２については、不透明状態から半透明状態に変化し、その後、非表示状態へと表示態様が変化する。
【０１００】
ユーザが場所Ｐ１の基準点ＲＰの方に更に移動して、基準点ＲＰの場所の直ぐ近くに来ると、図１３（Ｂ）に示すように次の配置オブジェクトＯＢ４が表示状態に設定されて表示される。配置オブジェクトＯＢ４は、配置オブジェクトＯＢ１、ＯＢ２、ＯＢ３に比べて、基準点ＲＰに近い位置に配置されるオブジェクトである。この配置オブジェクトＯＢ４には、例えば「おかえり」という文字が書かれている。この場合に配置オブジェクトＯＢ３については、不透明状態から半透明状態に変化し、その後、非表示状態へと表示態様が変化する。
【０１０１】
このように本実施形態では、基準点ＲＰに基づき設定された配置オブジェクトＯＢ１〜ＯＢ４を用いることで、基準点ＲＰの場所Ｐ１にユーザを適切に誘導して移動させることに成功している。
【０１０２】
場所Ｐ１に戻ったユーザは、場所Ｐ１にその入り口が設けられるライド型のアトラクションゲームをプレイする。図１４はこのライド型のアトラクションのプレイフィールドＦＬＲを示すものである。プレイフィールドＦＬＲにはコースＣＳが設置されている。ユーザＵＳ１、ＵＳ２はライド筐体ＲＤ１、ＲＤ２に搭乗し、ライド筐体ＲＤ１、ＲＤ２はコースＣＳに沿って移動する。そしてプレイフィールドＦＬＲのエリアＭ１〜Ｍ１４では、蚊が出現してユーザを襲ってくる。ユーザは、図９（Ａ）〜図１１（Ｂ）で説明したような手をパチンと叩くアクションを行って、襲ってくる蚊を退治する。またプレイフィールドＦＬＲの奥側の場所では、天井のオブジェクトＯＢＣが崩壊して落ちてくるイベントＥＶ１が発生する。この天井のオブジェクトＯＢＣは仮想空間のオブジェクトで表現され、天井が落ちてくる仮想空間画像がＨＭＤ２００に表示される。またエリアＭ１３、Ｍ１４では、大量の蚊が襲ってくるイベントＥＶ２が発生し、最後は巨大な蚊のボスＢＳＦが出現するイベントＥＶ３が発生する。この蚊のボスＢＳＦは実空間の物体であり、このボスＢＳＦに対して、仮想空間のエフェクト画像が重畳して表示される演出が行われる。
【０１０３】
図１５（Ａ）、図１５（Ｂ）は、プレイフィールドＦＬＲでの蚊の出現イベントの一例を示すものである。図１５（Ａ）、図１５（Ｂ）では、実空間に対して穴ＨＥ１、ＨＥ２、ＨＥ３が出現し、穴ＨＥ１、ＨＥ２、ＨＥ３から蚊のキャラクタＣＨ１、ＣＨ２、ＣＨ３が飛び出て来るようなＭＲが実現される。そしてユーザは、図９（Ａ）〜図１１（Ｂ）で説明したような手をパチンと叩くアクションを行って、襲ってくる蚊を退治することができる。ここで、穴ＨＥ１、ＨＥ２、ＨＥ３の画像は仮想空間画像であり、キャラクタＣＨ１、ＣＨ２、ＣＨ３の画像も仮想空間画像であり、これらの仮想空間画像が実空間の物体に重畳して表示されるＭＲが実現されている。
【０１０４】
そして本実施形態では、穴ＨＥ１〜ＨＥ３のオブジェクトやキャラクタＣＨ１〜ＣＨ３のオブジェクトは基準点ＲＰに基づき配置される。例えば図４（Ａ）、図４（Ｂ）に示すような実空間の認識処理が、図１４のプレイフィールドＦＬＲに配置される実空間の物体に対して行われる。これにより図１５（Ａ）、図１５（Ｂ）の実空間の物体に対応する仮想的なオブジェクトが配置される仮想空間が生成され、生成された仮想空間において基準点ＲＰが設定される。そしてライド筐体に搭乗して移動するユーザに対応するユーザキャラクタが、基準点ＲＰの位置に近づくと、図１５（Ａ）に示すように、基準点ＲＰに関連づけて設定された穴ＨＥ１〜ＨＥ３のオブジェクトが出現し、穴ＨＥ１〜ＨＥ３からキャラクタＣＨ１〜ＣＨ３も出現するようになる。このようにすることで、ＡＲマーカ等を使用しなくても、図１５（Ａ）、図１５（Ｂ）に示すようなＭＲの画像を生成できるようになる。
【０１０５】
図１６では、ガイドＧＤが表示されている。このガイドＧＤは、キャラクタＣＨの存在位置の方向を示す配置オブジェクトである。例えば図５のように、ＨＭＤ２００の仮想空間画像の表示領域ＡＲＶが狭い場合（視野角が小さい場合）には、ユーザがキャラクタＣＨの方に視線を向けないと、表示領域ＡＲＶにキャラクタＣＨの画像を表示できない。この点、図１６のようなガイドＧＤを表示すれば、例えばユーザが右方向に視線を向けることで、図５のＨＭＤ２００の表示領域ＡＲＶがＤＲ２の方向に移動して、キャラクタＣＨの画像が表示領域ＡＲＶに表示されるようになる。このようにガイドＧＤとなる配置オブジェクトを配置して表示することで、ユーザはキャラクタＣＨの方に視線を向けて手を叩くアクションを行うことで、蚊のキャラクタＣＨを退治することが可能になる。
【０１０６】
なおキャラクタＣＨの存在位置を報知する処理は、図１６のようなガイドＧＤ等の表示物を用いる処理には限定されない。例えばＨＭＤ２００等に設けられる音出力部（ヘッドホン、スピーカ）からの３次元音響を用いて、キャラクタＣＨの存在位置をユーザに報知してもよい。例えば右方向にキャラクタＣＨが存在する場合には、キャラクタＣＨの発生音（例えば「ブーン」という音）が、右方向から聞こえるような３次元音響の処理を行って、音出力部から出力すればよい。このようにすることで、図５のように表示領域ＡＲＶが狭く視野角が小さいＨＭＤ２００を用いた場合にも、キャラクタＣＨの存在位置を適切にユーザに報知できるようになる。
【０１０７】
３．２  基準点、ヒットボリュームの設定
以上のように本実施形態では、図４（Ａ）、図４（Ｂ）で説明したようにユーザの周囲の実空間の認識処理を行うことで得られる実空間情報を取得する。またユーザの位置情報を含むユーザ情報を取得する。そして取得された実空間情報に基づいて実空間に対応する仮想空間を生成する。例えば図４（Ｂ）に示すようなポリゴンメッシュのオブジェクトが配置される仮想空間を生成する。そして図８（Ａ）、図８（Ｂ）、図１２（Ａ）〜図１３（Ｂ）、図１５（Ａ）、図１５（Ｂ）に示すように、例えばユーザ情報（位置情報）と実空間情報とに基づいて、仮想空間に基準点ＲＰを設定し、基準点ＲＰに基づいて、キャラクタのオブジェクトや配置オブジェクトを仮想空間に配置し、キャラクタや配置オブジェクトの画像を含む画像を表示部１９０に表示する。例えばＨＭＤ２００の表示部１９０（表示領域ＡＲＶ）にキャラクタや配置オブジェクトの画像を含む仮想空間画像を表示する。
【０１０８】
そしてユーザに対応する仮想空間のユーザキャラクタ（広義にはユーザ移動体）の位置に基づき、ヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
【０１０９】
例えば図１７（Ａ）。図１７（Ｂ）では、実空間の認識処理（スキャン処理、マッピング処理）を行うことで取得された実空間情報に基づいて、実空間の背景物（柱、壁、ドア等）に対応する仮想空間の背景オブジェクトＭＲＳ（例えばメッシュポリゴンにより構成されるオブジェクト）が生成されている。また実空間情報等に基づいて基準点ＲＰが設定される。実空間の背景物に対応する背景オブジェクトＭＲＳを生成することで、実空間の背景物の対応する場所に基準点ＲＰを設定できるようになる。そして、この基準点ＲＰに基づいて、キャラクタＣＨが配置される。例えば基準点ＲＰに基づき特定される出現ポイントからキャラクタＣＨを出現させる。
【０１１０】
基準点ＲＰは、実空間情報に基づき設定され、キャラクタ（ＣＨ）や配置オブジェクト（ＯＢ１〜ＯＢ４）の配置位置を設定するためのポイント又は場所である。キャラクタや配置オブジェクトの配意位置（出現位置）そのものが基準点ＲＰであってもよい。基準点ＲＰは、実空間情報に基づき設定されるため、実空間の物体の位置や形状等を反映したものになる。また基準点ＲＰを、ユーザの位置情報や方向情報を含むユーザ情報に基づき設定することで、例えばユーザの移動や向く方向や接近等を検出して基準点を設定し、キャラクタや配置オブジェクトを出現させることが可能になる。例えば基準点ＲＰをＭＲにおける擬似的なマーカのようなものとして使用できるようになる。
【０１１１】
また本実施形態では、実空間のユーザに対応するユーザキャラクタＵＳＣの位置ＰＳに基づき、ヒットボリュームＨＶ（ヒットエリア）が設定される。例えば図１７（Ａ）、図１７（Ｂ）では、ユーザキャラクタＵＳＣの位置ＰＳの前方側にヒットボリュームＨＶが設定される。そしてユーザが所与の入力を行った際に、ヒットボリュームＨＶとキャラクタＣＨとの位置関係が判断される。図９（Ａ）〜図１１（Ｂ）を例にとれば、ユーザが手を叩くアクションを行った場合に、ユーザが所与の入力が行ったと判断される。そして、このように手を叩くアクションによる所与の入力が行われたタイミングでの、ヒットボリュームＨＶとキャラクタＣＨとの位置関係が判断される。
【０１１２】
例えばヒットボリュームＨＶとキャラクタＣＨの位置関係が図１７（Ａ）のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合にはキャラクタＣＨの位置が、ヒットボリュームＨＶ内にないため、ユーザが手を叩くことによる攻撃はキャラクタＣＨにヒットしなかったと判断される。
【０１１３】
一方、ヒットボリュームＨＶとキャラクタＣＨの位置関係が図１７（Ｂ）のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタＣＨの位置がヒットボリュームＨＶ内にあるため、ユーザが手を叩くことによる攻撃がキャラクタＣＨにヒットしたと判断する。そしてキャラクタＣＨに対する処理として、キャラクタＣＨの消滅処理や破壊処理などを行う。このようにすることで、図１１（Ａ）、図１１（Ｂ）に示すように、ユーザの直ぐ近くに接近して来るキャラクタＣＨに対して、攻撃を加えて、消滅させたり破壊するなどの処理が可能になる。
【０１１４】
なお図１７（Ａ）、図１７（Ｂ）において、キャラクタＣＨの位置に基づき第２のヒットボリュームを設定してもよい。そしてユーザキャラクタＵＳＣの位置ＰＳに基づき設定されたヒットボリュームＨＶと、キャラクタＣＨの位置に基づき設定された第２のヒットボリュームとの交差判定処理を行うことで、ヒット判定処理を実現してもよい。
【０１１５】
以上のように本実施形態では、実空間の認識処理に基づき取得された実空間情報により、実空間に対応する仮想空間が生成されて、基準点ＲＰが設定される。これにより実空間に対応する位置に基準点ＲＰを設定できるようになる。またユーザの位置情報を含むユーザ情報を用いて基準点ＲＰを設定することで、例えばユーザに対応するユーザキャラクタが接近して来たときに、基準点ＲＰを設定し、基準点ＲＰによって特定される場所にキャラクタＣＨを配置して出現させることができる。そして本実施形態では、ユーザキャラクタＵＳＣの位置に基づき設定されたヒットボリュームＨＶとキャラクタＣＨとの位置関係を判断して、キャラクタＣＨに対する処理を行っている。従って、基準点ＲＰに基づき出現させた仮想的なキャラクタＣＨとユーザとの間のインタラクションを実現でき、例えばユーザの攻撃がヒットしたか否かなどを判断するヒット判定処理を実現できるようになる。従って、実空間に対して、対応する仮想空間を設定してキャラクタＣＨを配置し、ユーザの入力に基づくキャラクタＣＨとのインタラクションを実現できるようになり、実空間情報を利用したインタラクティブなゲームの実現が可能になる。即ち、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステムの実現が可能になる。
【０１１６】
また本実施形態では、ヒットボリュームＨＶとして、ユーザの部位又はユーザの所持物に設定されるヒットボリュームを用いることができる。
【０１１７】
例えば図１８（Ａ）では、ユーザの部位である手ＨＬに対してヒットボリュームＨＶが設定されている。例えばユーザの手ＨＬを内包するようなヒットボリュームＨＶが設定される。そしてユーザが手ＨＬを動かすと、それに連動してヒットボリュームＨＶも移動する。ユーザの手ＨＬの動きは、ユーザが装着しているアームセンサＳＥ（広義には検出部）を用いて検出できる。例えばアームセンサＳＥが内蔵する加速度センサや３軸ジャイロセンサなどを用いて手ＨＬの動きを検出して、その手ＨＬの動きに追従するようにヒットボリュームＨＶを移動させる。
【０１１８】
また図１８（Ｂ）では、ユーザの所持物ＢＬに対してヒットボリュームＨＶが設定されている。例えばユーザの所持物ＢＬを内包するようなヒットボリュームＨＶが設定される。そしてユーザが所持物ＢＬを動かすと、それに連動してヒットボリュームＨＶも移動する。所持物ＢＬの動きは、アームセンサＳＥなどを用いて検出し、所持物ＢＬの動きに追従するようにヒットボリュームＨＶを移動させる。この場合に、アームセンサＳＥなどの動き検出センサを所持物ＢＬに取り付けて、所持物ＢＬの動きを検出してもよい。また図１８（Ｂ）では所持物ＢＬが大きな手の形状になっているが、所持物ＢＬとしては種々の形状のものを採用できる。例えば剣、棒、斧又は銃のような形状の所持物ＢＬであってもよい。
【０１１９】
このようにユーザの部位又は所持物にヒットボリュームを設定すれば、実空間においてユーザが、その部位や所持物を動かすと、それに連動してヒットボリュームも移動するようになる。従って、ユーザの部位又は所持物の動きに連動して移動するヒットボリュームを用いてヒット判定処理等を行うことが可能になり、ユーザの仮想現実感の向上を図れるようになる。
【０１２０】
また本実施形態では、ユーザの動きを検出する検出部１６２からの情報に基づいて、ユーザが所与の入力を行ったか否かを判断する。例えば図９（Ａ）〜図１１（Ｂ）のように、ユーザが手を叩くなどのアクションにより所与の入力を行ったか否かを、検出部１６２を用いて検出する。例えば検出部１６２は図１８（Ａ）、図１８（Ｂ）のアームセンサＳＥにより実現できる。具体的にはアームセンサＳＥに内蔵される加速度センサを用いて検出する。図１８（Ｃ）はユーザが所与の入力を行った際の加速度センサの検出結果である。ユーザが手を叩くアクションを行うと、動いていた手が急加速で停止するため、加速度センサから図１８（Ｃ）のＡ１に示すような検出結果（実際には負方向の加速度）が得られる。この検出結果に基づいて、ユーザが手を叩くアクションにより所与の入力を行ったと判断する。そして、所与の入力が行われたと判断されるタイミングでの、ヒットボリュームＨＶとキャラクタＣＨとの位置関係を判断すればよい。
【０１２１】
このようにすれば、実空間でのユーザの実際の動きを検出して、ユーザが所与の入力を行ったか否かを判断し、ヒットボリューム等を用いたヒット判定処理等を実現できるようになる。これによりユーザは、実際に部位や所持物を動かすことで、キャラクタに対する攻撃等を行えるようになり、ユーザの仮想現実感を更に向上することが可能になる。
【０１２２】
なおユーザが所与の入力を行ったか否かの検出処理は、このような加速度センサを用いた処理には限定されない。例えば加速度センサ以外のモーションセンサ（ジャイロセンサ等）を用いて、ユーザが入力を行った際の動きを検出したり、外部カメラなどの外部の装置を用いて、ユーザの部位や所持物の動きを検出して、ユーザが所与の入力を行ったか否かを検出してもよい。或いは、ゲームコントローラなどの操作部１６０を用いたユーザの操作入力を検出して、ユーザが所与の入力を行ったか否か検出してもよい。
【０１２３】
また本実施形態では、ユーザに対応する仮想空間のユーザキャラクタと基準点との間に、ヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
【０１２４】
例えば図１９（Ａ）では、ユーザキャラクタＵＳＣと基準点ＲＰとの間に、ヒットボリュームＨＶが設定される。例えばユーザキャラクタＵＳＣと基準点ＲＰとを結ぶ線の中間ポイントにヒットボリュームを設定する。ユーザキャラクタＵＳＣが基準点ＲＰの方に視線を向けている場合に、例えばその視線の延長上にヒットボリュームＨＶを設定する。そしてユーザが所与の入力を行った際に、ヒットボリュームＨＶとキャラクタＣＨとの位置関係が判断される。例えば図９（Ａ）〜図１１（Ｂ）のように、手を叩くアクションによる所与の入力が行われたタイミングでの、ヒットボリュームＨＶとキャラクタＣＨとの位置関係が判断される。
【０１２５】
そしてヒットボリュームＨＶとキャラクタＣＨの位置関係が図１９（Ａ）のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタＣＨの位置がヒットボリュームＨＶ内にないため、ユーザが手を叩くことによる攻撃は、キャラクタＣＨにヒットしなかったと判断される。
【０１２６】
一方、ヒットボリュームＨＶとキャラクタＣＨの位置関係が図１９（Ｂ）のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタＣＨの位置がヒットボリュームＨＶ内にあるため、ユーザが手を叩くことによる攻撃がキャラクタＣＨにヒットしたと判断する。そしてキャラクタＣＨに対する処理として、キャラクタＣＨの消滅処理や破壊処理などを行う。このようにすることで、図９（Ａ）〜図１１に示すように、ユーザから距離が離れた位置にいるキャラクタＣＨに対して攻撃を加えて、消滅させたり破壊するなどの処理が可能になる。
【０１２７】
なお図１９（Ａ）、図１９（Ｂ）において、キャラクタＣＨの位置に基づき第２のヒットボリュームを設定し、ユーザキャラクタＵＳＣと基準点ＲＰの間に設定されたヒットボリュームＨＶと、キャラクタＣＨの位置に基づき設定された第２のヒットボリュームとの交差判定処理を行うことで、ヒット判定処理を実現してもよい。またキャラクタＣＨが図１９（Ｂ）の位置からヒットボリュームＨＶの範囲を越えて、ユーザキャラクタＵＳＣの方に接近して来た場合には、キャラクタＣＨの攻撃をユーザキャラクタＵＳＣが受けたと判断してもよい。そしてユーザキャラクタＵＳＣのステータスにダメージを与えたり、ユーザキャラクタＵＳＣのヒットポイントを減少させたり、或いは攻撃を受けたことを表すエフェクトによる演出処理を行ってもよい。
【０１２８】
図１９（Ａ）、図１９（Ｂ）の手法によれば、基準点ＲＰや基準点ＲＰに基づき配置されるキャラクタＣＨの位置が、ユーザキャラクタＵＳＣから遠くの位置にある場合にも、キャラクタＣＨに対するインタラクションが可能になる。即ち、基準点ＲＰとユーザキャラクタＵＳＣの間にヒットボリュームＨＶを設定することで、遠くの位置にいるキャラクタＣＨに対するヒット処理などが可能になり、ＭＲにおけるユーザとキャラクタとの好適なインタラクションが可能になる。
【０１２９】
また本実施形態では、ユーザキャラクタＵＳＣと基準点ＲＰとが第１の距離関係である場合には、ユーザキャラクタＵＳＣの位置に基づきヒットボリュームＨＶを設定し、ユーザが所与の入力を行った際に、ヒットボリュームＨＶとキャラクタＣＨとの位置関係に応じて、キャラクタＣＨに対する処理を行う。
【０１３０】
例えば図１７（Ａ）、図１７（Ｂ）のように、ユーザキャラクタＵＳＣと基準点ＲＰの間の距離Ｌ１が近いという第１の距離関係にある場合には、ユーザキャラクタＵＳＣの位置に基づきヒットボリュームＨＶを設定して、ヒット判定処理を行う。このようにすることで、ユーザキャラクタＵＳＣから近い距離の場所でキャラクタＣＨを出現させた場合に、当該キャラクタＣＨに対してユーザキャラクタＵＳＣの攻撃をヒットさせるなどのインタラクションを実現できるようになる。例えば図１１（Ａ）、図１１（Ｂ）のように、ユーザの直ぐ近くにいるキャラクタＣＨを、ユーザの所持物ＢＬ、ＢＲや手ＨＬ、ＨＲで実際に叩くことで攻撃を加え、キャラクタＣＨを消滅させたり破壊するなどの処理が可能になる。即ち、実空間の物体である所持物ＢＬ、ＢＲや手ＨＬ、ＨＲを用いて、仮想空間のオブジェクトであるキャラクタＣＨを叩くようなＭＲの画像表現が可能になる。
【０１３１】
なお、ユーザの手などの部位や所持物に対応する部位オブジェクトや所持物オブジェクトを、仮想空間に表示するようにしてもよい。例えばユーザキャラクタの一部として、部位オブジェクト又は所持物オブジェクトを表示する。そして例えばユーザが手を叩くなどのアクションを行う毎に、部位オブジェクト又は所持物オブジェクトのサイズを徐々に大きくしてもよい。こうすることで、多数の蚊等のキャラクタを発生させた場合（例えば図１４でのイベントＥＶ２）にも、これらの多数のキャラクタに対して、大きくなった手で攻撃するなどのゲーム演出が可能になる。
【０１３２】
一方、ユーザキャラクタＵＳＣと基準点ＲＰとが第２の距離関係である場合には、ユーザキャラクタＵＳＣと基準点ＲＰとの間にヒットボリュームＨＶを設定し、ユーザが所与の入力を行った際に、ヒットボリュームＨＶとキャラクタＣＨとの位置関係に応じて、キャラクタＣＨに対する処理を行う。
【０１３３】
例えば図１９（Ａ）、図１９（Ｂ）のように、ユーザキャラクタＵＳＣと基準点ＲＰの間の距離Ｌ２が遠いという第２の距離関係にある場合には、ユーザキャラクタＵＳＣと基準点ＲＰとの間にヒットボリュームＨＶを設定して、ヒット判定処理を行う。このようにすれば、図９（Ａ）〜図１０のようにユーザキャラクタＵＳＣから遠い距離の場所でキャラクタＣＨを出現させた場合にも、当該キャラクタＣＨに対してユーザキャラクタＵＳＣの攻撃をヒットさせるなどのインタラクションを実現できるようになる。例えば図９（Ａ）〜図１０のように、遠い距離に位置するキャラクタＣＨに対して、ユーザの手を叩くアクションにより発生した攻撃のエフェクトＡＧをヒットさせて、キャラクタＣＨを消滅させたり破壊するなどの処理が可能になる。
【０１３４】
また本実施形態では、キャラクタに対する処理として、キャラクタの消滅処理、キャラクタの破壊処理、キャラクタの表示態様の変更処理又はキャラクタについての報知処理を行う。
【０１３５】
例えば図２０（Ａ）ではキャラクタＣＨに対する処理として、キャラクタＣＨの消滅処理、破壊処理又は表示態様の変更処理が行われている。例えば図１７（Ｂ）、図１９（Ｂ）のようにヒットボリュームＨＶ内にキャラクタＣＨが位置している状態で、図９（Ａ）〜図１１（Ｂ）のような手を叩くなどの入力がユーザにより行われた場合に、キャラクタＣＨの消滅処理、破壊処理又は表示態様の変更処理を行う。キャラクタＣＨの消滅処理は、キャラクタＣＨを仮想空間画像として非表示にする処理である。例えば、表示されるオブジェクトのリストからキャラクタＣＨを消去する。キャラクタＣＨの破壊処理は、例えばキャラクタＣＨのオブジェクトを、破壊された状態を表すオブジェクトに切り替えることなどにより実現できる。或いは破壊を表すような画像エフェクトの表示処理を、キャラクタＣＨの破壊処理として行ってもよい。キャラクタＣＨの表示態様の変更処理は、例えばキャラクタＣＨの色、輝度、半透明度又はテクスチャ等を変化させる処理である。例えばキャラクタＣＨがユーザからの攻撃を受けたことを表すような表示態様に変化させる。或いはキャラクタＣＨに対する処理として、図２０（Ｂ）に示すような効果音等を用いた報知処理を行ってもよい。例えばキャラクタＣＨが攻撃を受けてやられたことを報知する効果音を出力する。この場合に、キャラクタＣＨの存在位置から効果音が聞こえてくるような３次元音響処理を行う。或いはキャラクタＣＨに対する処理として、振動デバイスを用いた振動による報知処理を行ってもよい。例えばキャラクタＣＨに攻撃がヒットしたと判断された場合に、ユーザが所持するゲームコントローラに内蔵される振動デバイスを振動させる。或いは図６のプレイフィールドＦＬや図１４のプレイフィールドＦＬＲに、振動デバイスや空気砲による体感装置を設け、この体感装置を用いて、キャラクタＣＨが攻撃を受けてやられたことを報知する処理を行ってもよい。
【０１３６】
また例えばユーザの攻撃が失敗した場合に、攻撃の失敗を知らせるような演出処理や報知処理を行ってもよい。例えば攻撃の失敗を表すエフェクト画像を表示したり、効果音を出力する。例えば図１７（Ｂ）、図１９（Ｂ）のようにキャラクタＣＨがヒットボリュームＨＶ内に位置するタイミングで、ユーザが手を叩く入力を行わなかった場合に、このような攻撃の失敗を知らせる演出処理や報知処理を行う。或いは図１９（Ｂ）において、キャラクタＣＨがヒットボリュームＨＶの範囲を超えて、ユーザキャラクタＵＳＣの方に接近して来た場合に、このような攻撃の失敗を知らせる演出処理や報知処理を行ってもよい。
【０１３７】
また本実施形態では、ユーザキャラクタと基準点との距離に応じて、キャラクタの配置タイミングを決定する。
【０１３８】
例えば図２１（Ａ）では、ユーザキャラクタＵＳＣと基準点ＲＰとの間の距離ＬＡが長い。即ち基準点ＲＰから遠い場所にユーザキャラクタＵＳＣが位置している。この場合には、基準点ＲＰに対応する位置にキャラクタＣＨを出現させない。一方、図２１（Ｂ）では、ユーザキャラクタＵＳＣと基準点ＲＰとの間の距離ＬＢが、図２１（Ａ）の距離ＬＡに比べて短い。即ち基準点ＲＰに近い場所にユーザキャラクタＵＳＣが位置している。そしてユーザキャラクタＵＳＣと基準点ＲＰとが、このような位置関係（接近関係）になった場合に、基準点ＲＰに対応する位置にキャラクタＣＨを配置して、キャラクタＣＨを出現させる。
【０１３９】
このようにすれば、ユーザキャラクタＵＳＣと基準点ＲＰとの距離関係を反映させて、基準点ＲＰに対応するキャラクタＣＨを出現させることが可能になる。これにより、基準点ＲＰを、キャラクタＣＨを出現させる擬似的なＡＲマーカのように用いることが可能になる。例えば本実施形態では実空間の認識処理が行われ、認識処理により取得された実空間情報に基づき基準点が設定される。具体的には図２１（Ａ）、図２１（Ｂ）において、実空間の背景物に対応する背景オブジェクトＭＲＳが生成されて仮想空間に配置され、この背景オブジェクトＭＲＳに対して基準点ＲＰが設定される。そしてユーザキャラクタＵＳＣと基準点ＲＰとの距離に応じて、キャラクタＣＨの配置タイミングが決定される。従って、あたかも実空間の背景物とユーザとの距離に応じて、キャラクタＣＨの配置タイミングが決定されるような処理を実現することができ、ＭＲに好適なキャラクタＣＨの出現処理を実現できるようになる。
【０１４０】
また本実施形態では、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、基準点の設定を行う。更に本実施形態では、実空間の環境情報を取得し、環境情報に応じて、基準点の設定を行う。即ち、種々の情報に基づいて基準点の設定を可変に変化させる。
【０１４１】
図２２に基準点の設定処理についてのフローチャートを示す。まず、実空間の明るさ情報や広さ情報などの環境情報を取得する（ステップＳ１）。実空間の明るさ情報や広さ情報は、例えば図６のプレイフィールドＦＬや図１４のプレイフィールドＦＬＲでの明るさ情報や広さ情報である。例えば明るさ情報は、プレイフィールドＦＬ、ＦＬＲでの照明等による明るさ情報である。例えば照明が弱ければ、暗いと判断され、照明が強ければ、明るいと判断される。広さ情報は、プレイフィールドＦＬ、ＦＬＲの広さの指標となる情報である。例えばプレイフィールドＦＬ、ＦＬＲの広さや明るさに応じて、図４（Ａ）、図４（Ｂ）で説明した実空間の認識処理の認識範囲や、認識の精度や信頼度等が変化する。
【０１４２】
次にユーザの年齢層、体格、ゲームプレイ状況等のユーザの状況情報を取得する（ステップＳ２）。ユーザの年齢層は、例えばユーザが子供であるか大人であるかの情報である。或いはユーザが若者であるか老人であるかの情報であってもよい。体格は、例えばユーザの身長の高さなどの情報である。或いはユーザの体重の情報であってもよい。ゲームプレイ状況は、例えばユーザのゲームプレイの熟練度（初級者、中級者又は上級者）、ユーザの装備の状況、ユーザの過去のゲーム成績、ユーザのゲームプレイ回数、ユーザのゲームプレイ頻度、ユーザのゲームでの各種ステータス、或いはユーザのフレンドに関する状況などである。
【０１４３】
次にユーザキャラクタのステータス、レベル、ゲームパラメータ等のユーザキャラクタの状況情報を取得する（ステップＳ３）。ユーザキャラクタのステータスは、ユーザキャラクタの攻撃力、防御力、耐久度又は装備などの状況である。ユーザキャラクタのレベルは、ゲームでのユーザキャラクタの経験値などのレベルを表すものである。ユーザキャラクタのゲームパラメータは、ゲーム処理の際に使用されるユーザキャラクタの各種のパラメータである。
【０１４４】
次にキャラクタの状況情報、種類情報を取得する（ステップＳ４）。キャラクタの状況情報は、キャラクタのステータス、レベル、ゲームパラメータ等の情報である。キャラクタの種類情報は、キャラクタがどのような種類に属するかについての情報である。例えばキャラクタとして、蚊以外の虫のキャラクタを出現させたり、動物のキャラクタを出現させたり、モンスターのキャラクタを出現させる場合に、種類情報は、虫や動物やモンスターの種類を表す情報である。
【０１４５】
次にゲーム状況情報を取得する（ステップＳ５）。ゲーム状況情報は、ゲームの進行状況、ゲームでのイベントの発生状況、ゲームの難易度、ゲームステージのクリア状況、或いはゲームのマップの状況などである。
【０１４６】
そして、取得された実空間の環境情報、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に基づいて、基準点を設定する（ステップＳ６）。
【０１４７】
例えば実空間の照明等の環境が暗いと、図４（Ａ）、図４（Ｂ）の実空間の認識処理の認識範囲が狭まったり、認識の精度や信頼度が低下する。このため、環境が暗いと判断される場合には、ユーザキャラクタから近い位置に基準点を設定したり、基準点の設定間隔を狭める。例えばメインの基準点とユーザキャラクタとの間に、サブの基準点を設定する。或いは、実空間の認識処理によりリアルタイムに取得された実空間情報を用いるのではなく、過去の認識処理により取得されて実空間情報記憶部１７１に蓄積された実空間情報を用いて、基準点を設定する。
【０１４８】
またユーザの年齢層や体格に応じて基準点の設定位置を変化させる。例えば子供のユーザや背の低いユーザであれば低い位置に基準点を設定する。一方、大人のユーザや背の高いユーザであれば、子供や背の低いユーザに比べて高い位置に基準点を設定する。或いは、ユーザが初級者であるか上級者であるか、或いはユーザのゲームのプレイ回数やプレイ頻度に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばユーザが初級者であれば、より難易度が低くなるように基準点を設定し、上級者であれば、より難易度が高くなるように基準点を設定する。またゲームのプレイ回数が多かったり、プレイ頻度が高いユーザに対しては、特典として、ユーザのゲームプレイがより有利になるように基準点を設定する。
【０１４９】
またユーザキャラクタの攻撃力、守備力、装備又は耐久力などのステータスや、レベル、或いは各種のゲームパラメータに応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばユーザキャラクタの能力が高いか低いか、或いはユーザが所定の装備をしているか否かに応じて、基準点の設定を変化させる。或いはキャラクタの状況情報や種類情報に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばキャラクタの攻撃力、守備力、装備又は耐久力などのステータスに応じて基準点の設定を変化させる。或いは出現するキャラクタが第１の種類（例えば第１の種類の虫、動物、モンスター）である場合と第２の種類である場合とで、基準点の設定位置などを変化させる。
【０１５０】
またゲーム状況に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばゲームの進行状況やイベントの発生状況に応じて基準点の設定を変化させる。例えば図１４において天井のオブジェクトＯＢＣの崩壊イベントが発生した場合には、天井のオブジェクトＯＢＣの破片の奥側に基準点が設定されるのは好ましくないため、破片の手前側に基準点を設定する。或いはゲームの難易度に応じて、基準点の設定位置、設定数又は設定間隔等を変化させる。例えば、ゲームの難易度が高くなるにつれて、ユーザのゲームのクリアが難しくなうように基準点の設定を変化させる。
【０１５１】
以上のようにすることで、実空間の環境、ユーザの状況、ユーザキャラクタの状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切な基準点の設定が可能になる。
【０１５２】
また本実施形態では、基準点の位置に応じて、ヒットボリュームを変化させる。例えば基準点の位置に応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
【０１５３】
例えば図２３では、ユーザキャラクタＵＳＣの正面方向（視線方向）に位置する基準点ＲＰに対して、ヒットボリュームＨＶが設定され、ユーザキャラクタＵＳＣの左斜め方向に位置する基準点ＲＰ２に対して、ヒットボリュームＨＶ２が設定される。そしてユーザキャラクタＵＳＣの正面方向に設定されるヒットボリュームＨＶの方が、左斜め方向に設定されるヒットボリュームＨＶ２よりも大きいサイズに設定される。このようにすれば、正面方向から襲ってきた蚊等のキャラクタに対する攻撃は容易になるが、左斜め方向等の正面方向以外の方向から襲ってきたキャラクタに対する攻撃は難しくなる。なお、逆に正面方向に設定されるヒットボリュームのサイズを小さくし、正面方向以外の方向に設定されるヒットボリュームのサイズを大きくするなどの変形実施も可能である。
【０１５４】
また図２４（Ａ）では、基準点ＲＰとユーザキャラクタＵＳＣとの間の距離が遠く、この場合にはヒットボリュームＨＶが大きなサイズに設定される。一方、図２４（Ｂ）では基準点ＲＰとユーザキャラクタＵＳＣとの間の距離が近く、この場合にはヒットボリュームＨＶが小さなサイズに設定される。例えば基準点ＲＰとユーザキャラクタＵＳＣとの距離に応じて、ヒットボリュームのサイズを変化させる。このようにすれば、図２４（Ａ）のように基準点ＲＰがユーザキャラクタＵＳＣから遠くの距離にあり、蚊等のキャラクタが遠くの場所で出現する場合には、ヒットボリュームＨＶが大きなサイズに設定されることで、遠くの場所に位置するキャラクタに対する攻撃を容易化できる。そしてユーザキャラクタＵＳＣが基準点ＲＰに近づくと、ヒットボリュームＨＶのサイズが小さくなり、通常のサイズに設定される。
【０１５５】
このように基準点の位置に応じてヒットボリュームを変化させることで、例えばユーザキャラクタと基準点との位置関係等に応じた適切なヒットボリュームを設定することが可能になる。
【０１５６】
また本実施形態では、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、ヒットボリュームを変化させる。
【０１５７】
図２５はヒットボリュームの設定処理についてのフローチャートである。まず、ユーザの年齢層、体格、ゲームプレイ状況等のユーザの状況情報を取得する（ステップＳ１１）。次にユーザキャラクタのステータス、レベル、ゲームパラメータ等のユーザキャラクタの状況情報を取得する（ステップＳ１２）。またキャラクタの状況情報、種類情報を取得する（ステップＳ１３）。更にゲーム状況情報を取得する（ステップＳ１４）。これらのユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報、種類情報、ゲーム状況情報は、前述した通りの情報である。
【０１５８】
そして、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に基づいて、ヒットボリュームを変化させる（ステップＳ１５）。例えばこれらの情報に基づいて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
【０１５９】
例えばユーザの年齢層や体格に応じてヒットボリュームを変化させる。例えば子供のユーザや背の低いユーザであれば低い位置にヒットボリュームを設定する。一方、大人のユーザや背の高いユーザであれば、子供や背の低いユーザに比べて高い位置にヒットボリュームを設定する。また、ユーザが初級者であるか上級者であるか、或いはユーザのゲームのプレイ回数やプレイ頻度に応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばユーザが初級者であれば、より難易度が低くなるようにヒットボリュームを設定し、上級者であれば、より難易度が高くなるようにヒットボリュームを設定する。またユーザのゲームのプレイ回数が多かったり、プレイ頻度が高いユーザに対しては、特典として、ユーザのゲームプレイがより有利になるようにヒットボリュームを設定する。
【０１６０】
またユーザキャラクタの攻撃力、守備力、装備又は耐久力などのステータスや、レベル、或いは各種のゲームパラメータに応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばユーザキャラクタの能力が高いか低いか、或いはユーザが所定の装備をしているか否かに応じて、ヒットボリュームを変化させる。或いはキャラクタの状況情報や種類情報に応じて、ヒットボリュームを変化させる。例えばキャラクタの攻撃力、守備力、装備又は耐久力などのステータスに応じて、ヒットボリュームを変化させる。或いは出現するキャラクタが第１の種類である場合と第２の種類である場合とで、ヒットボリュームの大きさ、形状又は配置位置を変化させる。
【０１６１】
またゲーム状況に応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばゲームにおいて所定のイベントが発生したかに応じてヒットボリュームを変化させる。或いはゲームの難易度に応じてヒットボリュームを変化させる。例えば、ゲームの難易度が高くなるにつれて、ユーザのゲームのクリアが難しくなうようにヒットボリュームの大きさ、形状又は配置位置を変化させる。
【０１６２】
以上のようにすることで、ユーザの状況、ユーザキャラクタの状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切なヒットボリュームの設定が可能になる。
【０１６３】
４．詳細な処理
次に本実施形態の詳細な処理例について図２６のフローチャートを用いて説明する。
【０１６４】
まずユーザの周囲の実空間の認識処理を行って、実空間情報を取得する（ステップＳ２１）。即ち図４（Ａ）、図４（Ｂ）で説明したような実空間のスキャン処理を行って、取得された実空間情報を図１の実空間情報記憶部１７１に蓄積して行く。またユーザの位置情報を含むユーザ情報を取得する（ステップＳ２２）。例えば図２、図３で説明したＨＭＤ２００のトラッキング処理等により、ユーザの位置情報や、ユーザの方向情報、姿勢情報などを含むユーザ情報を取得する。
【０１６５】
次に、取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する（ステップＳ２３）。例えば図４（Ｂ）に示すような実空間の物体（机、壁等）に対応する仮想的なオブジェクトを生成して、仮想空間に配置設定する。そしてユーザ情報と実空間情報に基づき、基準点を設定し、基準点に基づいてキャラクタのオブジェクトを仮想空間に配置する（ステップＳ２４）。例えば図７（Ｂ）に示すように基準点ＲＰを設定し、図８（Ａ）、図８（Ｂ）に示すように、基準点ＲＰにより設定される位置にキャラクタＣＨを配置して出現させる。
【０１６６】
次にユーザキャラクタの位置に基づきヒットボリュームを設定、或いはユーザキャラクタと基準点との間にヒットボリュームを設定する（ステップＳ２５）。例えば図１７（Ａ）に示すように、ユーザキャラクタＵＳＣの位置ＰＳに基づいてヒットボリュームＨＶを設定する。或いは図１９（Ａ）に示すように、ユーザキャラクタＵＳＣと基準点ＲＰとの間にヒットボリュームＨＶを設定する。そしてユーザが所与の入力を行ったか否かを判断する（ステップＳ２６）。例えば図９（Ａ）〜図１１（Ｂ）で説明したような手を叩くアクションによる入力を行ったか否かを判断する。そしてヒットボリュームとキャラクタとの位置関係に応じてキャラクタに対する処理を実行する（ステップＳ２７）。例えば図１７（Ａ）、図１７（Ｂ）、図１９（Ａ）、図１９（Ｂ）で説明したように、ヒットボリュームＨＶ内にキャラクタＣＨが位置すると判断された場合や、ヒットボリュームＨＶとキャラクタＣＨに設定された第２のヒットボリュームとが交差したと判断された場合に、図２０（Ａ）、図２０（Ｂ）で説明したようなキャラクタＣＨの消滅処理、破壊処理、表示態様変更処理又は報知処理等を実行する。
【０１６７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（ユーザ移動体、検出部等）と共に記載された用語（ユーザキャラクタ、アームセンサ等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また実空間情報やユーザ情報の取得処理、仮想空間の生成処理、基準点の設定処理、キャラクタの配置処理、ヒットボリュームの設定処理、位置関係の判断処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
【符号の説明】
【０１６８】
ＲＰ、ＲＰ２  基準点、ＣＨ、ＣＨ１〜ＣＨ３  キャラクタ、
ＯＢ１〜ＯＢ４  配置オブジェクト、ＨＶ、ＨＶ２  ヒットボリューム、
ＵＳ、ＵＳ１、ＵＳ２  ユーザ、ＵＳＣ  ユーザキャラクタ、ＰＳ  位置、
ＭＲＳ  背景オブジェクト、ＤＫ  机、ＷＬ  壁、ＡＲＶ  表示領域、
ＨＬ、ＨＲ  手、ＢＬ、ＢＲ  所持物、ＳＥ  アームセンサ、
ＦＬ、ＦＬＲ  プレイフィールド、ＧＤ、ＧＤＡ、ＧＤ１〜ＧＤ３  ガイド、
ＰＳ  ポスター、ＩＭＡ  画像、ＰＩＬ  柱、ＲＤ１、ＲＤ２  ライド筐体、
ＡＧ  攻撃のエフェクト、ＨＥ１〜ＨＥ３  穴、ＣＳ  コース、ＯＢＣ  オブジェクト、
１００  処理部、１０２  情報取得部、１０４  仮想空間生成部、
１０６  オブジェクト処理部、１０８  基準点設定部、１０９  ヒット処理部、
１０７  移動体処理部、１１２  仮想カメラ制御部、１１４  ゲーム処理部、
１２０  表示処理部、１３０  音処理部、１７０  記憶部、１７１  実空間情報記憶部、
１７２  オブジェクト情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、
２００  ＨＭＤ（頭部装着型表示装置）、２１６  ＲＧＢカメラ、
２１７  デプスカメラ、２１８、２１９  環境認識カメラ、
２４０  テンプル部、２４２  ゴーグル部、２４３  表示装置、
２４４  ホログラフィック光学素子、２４６  ＲＧＢカメラ、２４７  デプスカメラ、
２４８、２４９  環境認識カメラ、
【図１】
2019139425.tif 000003
【図２】
2019139425.tif 000004
【図３】
2019139425.tif 000005
【図４】
2019139425.tif 000006
【図５】
2019139425.tif 000007
【図６】
2019139425.tif 000008
【図７】
2019139425.tif 000009
【図８】
2019139425.tif 000010
【図９】
2019139425.tif 000011
【図１０】
2019139425.tif 000012
【図１１】
2019139425.tif 000013
【図１２】
2019139425.tif 000014
【図１３】
2019139425.tif 000015
【図１４】
2019139425.tif 000016
【図１５】
2019139425.tif 000017
【図１６】
2019139425.tif 000018
【図１７】
2019139425.tif 000019
【図１８】
2019139425.tif 000020
【図１９】
2019139425.tif 000021
【図２０】
2019139425.tif 000022
【図２１】
2019139425.tif 000023
【図２２】
2019139425.tif 000024
【図２３】
2019139425.tif 000025
【図２４】
2019139425.tif 000026
【図２５】
2019139425.tif 000027
【図２６】
2019139425.tif 000028