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