(57)【要約】【課題】  頭部装着型表示装置を用いたシステムにおいて情報表示物の適正な表示処理を実現できるシミュレーションシステム等の提供。【解決手段】  シミュレーションシステムは、複数のオブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、頭部装着型表示装置を装着するユーザの視点に対応する仮想カメラの制御処理を行う仮想カメラ制御部と、頭部装着型表示装置の表示画像として、仮想空間において仮想カメラから見える画像を生成する表示処理部を含む。仮想空間設定部は、ユーザの視点変化に追従するように制御される少なくとも１つの情報表示物を仮想空間に配置する。表示処理部は、情報表示物と仮想空間のオブジェクトとが所与の位置関係になった場合に、情報表示物又はオブジェクトの表示態様の変更処理を行う。【選択図】      図２２
2018136944.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
頭部装着型表示装置を装着するユーザの視点に対応する仮想カメラの制御処理を行う仮想カメラ制御部と、
前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、
を含み、
前記仮想空間設定部は、
前記ユーザの視点変化に追従するように制御される少なくとも１つの情報表示物を前記仮想空間に配置し、
前記表示処理部は、
前記情報表示物と前記仮想空間のオブジェクトとが所与の位置関係になった場合に、前記情報表示物又は前記オブジェクトの表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項２】
請求項１において、
前記表示処理部は、
前記情報表示物の種類、優先度又は重要度に応じた前記表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項３】
請求項２において、
前記表示処理部は、
前記情報表示物が第１の種類である場合には、前記オブジェクトの方の表示態様を変更し、前記情報表示物が第２の種類である場合には、前記情報表示物の方の表示態様を変更することを特徴とするシミュレーションシステム。
【請求項４】
請求項２又は３において、
前記表示処理部は、
前記情報表示物に関連づけられた前記優先度又は前記重要度を用いて、前記表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記表示処理部は、
前記情報表示物が表示されてからの経過時間に応じた前記表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記表示処理部は、
前記表示態様の変更処理として、
前記情報表示物又は前記オブジェクトの消去処理、前記情報表示物又は前記オブジェクトの半透明化処理、前記ユーザの視線方向への前記情報表示物の追従の解除処理、前記情報表示物又は前記オブジェクトの移動処理、前記情報表示物又は前記オブジェクトのサイズ変更処理、或いは前記情報表示物又は前記オブジェクトの色情報変更処理を行うことを特徴とするシミュレーションシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記情報表示物は、説明表示のための表示物、ステータス表示のための表示物、会話表示のための表示物、コマンド選択のための表示物、又はメニュー表示のための表示物であることを特徴とするシミュレーションシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記オブジェクトは、ゲームに登場する移動体、固定物、アイテム、又は背景のオブジェクトであることを特徴とするシミュレーションシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記情報表示物と前記オブジェクトの位置関係を判定する判定部を含み、
前記表示処理部は、
前記判定部により前記情報表示物と前記オブジェクトとが前記所与の位置関係になったと判定された場合に、前記表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項１０】
請求項９において、
前記表示処理部は、
前記判定部により前記情報表示物と前記オブジェクトとが衝突の位置関係又は接近の位置関係になったと判定された場合に、前記表示態様の変更処理を行うことを特徴とするシミュレーションシステム。
【請求項１１】
請求項９又は１０において、
前記判定部は、
前記情報表示物と前記オブジェクトの３次元座標値、前記情報表示物と前記オブジェクトの奥行き値、又は前記情報表示物と前記オブジェクトを平面に投影した場合の２次元座標値に基づいて、前記位置関係を判定することを特徴とするシミュレーションシステム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記仮想空間設定部は、
前記ユーザの視線方向での所与の奥行き位置に、前記ユーザの視点変化に追従するように前記情報表示物を配置することを特徴とするシミュレーションシステム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記仮想カメラ制御部は、
前記ユーザの視点情報のトラッキング情報に基づいて、前記ユーザの視点変化に追従するように前記仮想カメラを制御することを特徴とするシミュレーションシステム。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
ゲーム処理を行うゲーム処理部を含み、
前記ゲーム処理部は、
前記ユーザのゲームプレイの対象となるキャラクタの情報と前記ユーザの視点情報との応じたコマンドの効果を、発動させる処理を行うことを特徴とするシミュレーションシステム。
【請求項１５】
複数のオブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、
頭部装着型表示装置を装着するユーザの視点に対応する仮想カメラの制御処理を行う仮想カメラ制御部と、
前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部として、
コンピュータを機能させ、
前記仮想空間設定部は、
前記ユーザの視点変化に追従するように制御される少なくとも１つの情報表示物を前記仮想空間に配置し、
前記表示処理部は、
前記情報表示物と前記仮想空間のオブジェクトとが所与の位置関係になった場合に、前記情報表示物又は前記オブジェクトの表示態様の変更処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、ＨＭＤ（頭部装着型表示装置）をユーザが頭部に装着し、ＨＭＤの画面に表示される画像をユーザが見ることで、いわゆるバーチャルリアリティー（ＶＲ）の世界を体感できるシステムが知られている。このようなＨＭＤを用いたシステムの従来技術としては、例えば特許文献１、２に開示される技術がある。
【０００３】
特許文献１には、ユーザの頭部の変動状態が所定の変動状態になった場合に、ＨＭＤの液晶シャッタを開いて、ユーザに表示する視覚情報を、周囲の環境視覚情報に切り替える手法が開示されている。特許文献２には、動き検出部によりユーザの頭部動作を特定し、その角速度に対応するユーザの望む処理を実行し、更にユーザの頭部の戻り動作を処理に反映させないことで、ユーザの頭部動作による操作を正確に実行する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２６１１１２号公報
【特許文献２】特開２０１２−１２３８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＭＤを用いたシステムでは、仮想空間において仮想カメラから見える画像がＨＭＤに表示される。このような画像をＨＭＤに表示することで、ユーザの視界の全周囲に亘って、広大なＶＲ空間が広がるようになるため、ユーザの仮想現実感を格段に向上できる。
【０００６】
一方、ＨＭＤを用いたシステムでは、説明情報やステータス情報などの様々な情報をユーザに対して表示することが望ましい。
【０００７】
しかしながら、このような情報がユーザに対して適切に表示されないと、様々な問題を招いてしまう。例えばＨＭＤを用いたシステムでは、ユーザの視線方向が様々に変化し、ＶＲ空間には多数のオブジェクトが存在する。従って、ユーザに対する情報表示が不適切であると、画面が見にくくなってしまったり、ユーザの仮想現実感を損ねてしまうなどの問題を招く。
【０００８】
本発明の幾つかの態様によれば、頭部装着型表示装置を用いたシステムにおいて情報表示物の適正な表示処理を実現できるシミュレーションシステム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００９】
本発明の一態様は、複数のオブジェクトが配置される仮想空間の設定処理を行う仮想空間設定部と、頭部装着型表示装置を装着するユーザの視点に対応する仮想カメラの制御処理を行う仮想カメラ制御部と、前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、を含み、前記仮想空間設定部は、前記ユーザの視点変化に追従するように制御される少なくとも１つの情報表示物を前記仮想空間に配置し、前記表示処理部は、前記情報表示物と前記仮想空間のオブジェクトとが所与の位置関係になった場合に、前記情報表示物又は前記オブジェクトの表示態様の変更処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００１０】
本発明の一態様によれば、複数のオブジェクトが配置される仮想空間の設定処理が行われ、頭部装着型表示装置の表示画像として、ユーザの視点に対応する仮想カメラから見える画像が生成される。そしてユーザの視点変化（視線方向及び視点位置の少なくとも一方の変化）に追従するように制御される情報表示物が仮想空間に配置され、情報表示物と仮想空間のオブジェクトとが所与の位置関係になった場合には、情報表示物又はオブジェクトの表示態様を変更する処理が行われる。このようにすれば、ユーザの視点変化に追従するように制御される情報表示物とオブジェクトとが所与の位置関係になった場合にも、情報表示物又はオブジェクトの表示態様が変更されることで、不適切な画像が頭部装着型表示装置に表示されてしまうのを防止できる。従って、頭部装着型表示装置を用いたシステムにおいて情報表示物の適正な表示処理を実現できるシミュレーションシステム等の提供が可能になる。
【００１１】
また本発明の一態様では、前記表示処理部は、前記情報表示物の種類、優先度又は重要度に応じた前記表示態様の変更処理を行ってもよい。
【００１２】
このようにすれば、情報表示物の種類、優先度又は重要度に応じた適切な表示態様の変更処理を実現できる。
【００１３】
また本発明の一態様では、前記表示処理部は、前記情報表示物が第１の種類である場合には、前記オブジェクトの方の表示態様を変更し、前記情報表示物が第２の種類である場合には、前記情報表示物の方の表示態様を変更してもよい。
【００１４】
このようにすれば、情報表示物の種類に応じて、情報表示物とオブジェクトの一方の表示態様を変更することで、情報表示物の適切な表示処理を実現できるようになる。
【００１５】
また本発明の一態様では、前記表示処理部は、前記情報表示物に関連づけられた前記優先度又は前記重要度を用いて、前記表示態様の変更処理を行ってもよい。
【００１６】
このようにすれば、情報表示物に対して予め優先度又は重要度を関連づけておき、この優先度又は重要度を用いて適切な表示態様の変更処理を実行できるようになる。
【００１７】
また本発明の一態様では、前記表示処理部は、前記情報表示物が表示されてからの経過時間に応じた前記表示態様の変更処理を行ってもよい。
【００１８】
このようにすれば、情報表示物が表示されてからの経過時間を反映させた表示態様の変更処理を実現できるようになる。
【００１９】
また本発明の一態様では、前記表示処理部は、前記表示態様の変更処理として、前記情報表示物又は前記オブジェクトの消去処理、前記情報表示物又は前記オブジェクトの半透明化処理、前記ユーザの視線方向への前記情報表示物の追従の解除処理、前記情報表示物又は前記オブジェクトの移動処理、前記情報表示物又は前記オブジェクトのサイズ変更処理、或いは前記情報表示物又は前記オブジェクトの色情報変更処理を行ってもよい。
【００２０】
このようにすれば、情報表示物とオブジェクトが所与の位置関係になった場合にも、情報表示物又はオブジェクトの消去処理又は半透明化処理を行ったり、情報表示物の追従の解除処理を行ったり、情報表示物又はオブジェクトの移動処理やサイズ変更処理を行ったり、或いは情報表示物又はオブジェクトの色情報変更処理を行うことで、情報表示物の適正な表示処理を実現できるようになる。
【００２１】
また本発明の一態様では、前記情報表示物は、説明表示のための表示物、ステータス表示のための表示物、会話表示のための表示物、コマンド選択のための表示物、又はメニュー表示のための表示物であってもよい。
【００２２】
このようにすれば、情報表示物を用いて、説明表示、ステータス表示、会話表示、コマンド選択、又はメニュー表示などを実現できるようになる。
【００２３】
また本発明の一態様では、前記オブジェクトは、ゲームに登場する移動体、固定物、アイテム又は背景のオブジェクトであってもよい。
【００２４】
このようにすれば、ゲームに登場する移動体、固定物、アイテム、又は背景などのオブジェクトと情報表示物とが所与の位置関係になった場合にも、情報表示物の適切な表示処理を実現できるようになる。
【００２５】
また本発明の一態様では、前記情報表示物と前記オブジェクトの位置関係を判定する判定部を含み（判定部としてコンピュータを機能させ）、前記表示処理部は、前記判定部により前記情報表示物と前記オブジェクトとが前記所与の位置関係になったと判定された場合に、前記表示態様の変更処理を行ってもよい。
【００２６】
このようにすれば、判定部により情報表示物とオブジェクトとの位置関係を判定し、その判定結果に基づいて、情報表示物又はオブジェクトの表示態様の変更処理を実行できるようになる。
【００２７】
また本発明の一態様では、前記表示処理部は、前記判定部により前記情報表示物と前記オブジェクトとが衝突の位置関係又は接近の位置関係になったと判定された場合に、前記表示態様の変更処理を行ってもよい。
【００２８】
このようにすれば、情報表示物とオブジェクトとが衝突又は接近の位置関係になって、表示画像に不具合が生じるような場合にも、情報表示物又はオブジェクトの表示態様の変更処理を行うことで、このような不具合を防止できるようになる。
【００２９】
また本発明の一態様では、前記判定部は、前記情報表示物と前記オブジェクトの３次元座標値、前記情報表示物と前記オブジェクトの奥行き値、又は前記情報表示物と前記オブジェクトを平面に投影した場合の２次元座標値に基づいて、前記位置関係を判定してもよい。
【００３０】
このようにすれば、情報表示物とオブジェクトの３次元座標値や奥行き値、或いは情報表示物とオブジェクトを平面に投影した場合の２次元座標値を利用して、情報表示物とオブジェクトの位置関係を判定して、表示態様の変更処理を実行できるようになる。
【００３１】
また本発明の一態様では、前記仮想空間設定部は、前記ユーザの視線方向での所与の奥行き位置に、ユーザの視点変化に追従するように前記情報表示物を配置してもよい。
【００３２】
このようにすれば、ユーザの視線方向又は視点位置が変化した場合にも、この変化に追従するように、ユーザの視線方向での所与の奥行き位置に情報表示物を配置して表示できるようになる。従って、ユーザの仮想現実感が損なわれたり、表示画像が見にくくなってしまうなどの事態を防止できる。
【００３３】
また本発明の一態様では、前記仮想カメラ制御部は、前記ユーザの視点情報のトラッキング情報に基づいて、前記ユーザの視点変化に追従するように前記仮想カメラを制御してもよい。
【００３４】
このようにすれば、例えば現実世界でのユーザの視点変化に追従して、仮想空間での仮想カメラの視線方向や視点位置を変化させて、当該仮想カメラから見える画像を頭部装着型表示装置に表示できるようになる。
【００３５】
また本発明の一態様では、ゲーム処理を行うゲーム処理部を含み（ゲーム処理部としてコンピュータを機能させ）、前記ゲーム処理部は、前記ユーザのゲームプレイの対象となるキャラクタの情報と前記ユーザの視点情報との応じたコマンドの効果を、発動させる処理を行ってもよい。
【００３６】
このようにすれば、キャラクタとユーザとの関係を反映したコマンドの効果の発動処理を実現でき、これまでにないタイプのゲームの実現等が可能になる。
【図面の簡単な説明】
【００３７】
【図１】本実施形態のシミュレーションシステムの構成例を示すブロック図。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に用いられるＨＭＤの一例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態に用いられるＨＭＤの他の例。
【図４】本実施形態により生成されるゲーム画像の例。
【図５】本実施形態により生成されるゲーム画像の例。
【図６】本実施形態により生成されるゲーム画像の例。
【図７】キャラクタのステータスの表示についての説明図。
【図８】図８（Ａ）〜図８（Ｄ）は情報表示物の表示手法の説明図。
【図９】図９（Ａ）、図９（Ｂ）は情報表示物とオブジェクトの衝突の説明図。
【図１０】図１０（Ａ）〜図１０（Ｃ）は本実施形態の表示態様変更手法の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は情報表示物の種類、優先度、重要度に応じた表示態様変更手法の説明図。
【図１２】情報表示物の表示からの経過時間に応じた表示態様変更手法の説明図。
【図１３】図１３（Ａ）〜図１３（Ｃ）は情報表示物の表示態様変更処理の具体例。
【図１４】図１４（Ａ）〜図１４（Ｃ）は情報表示物の表示態様変更処理の具体例。
【図１５】図１５（Ａ）、図１５（Ｂ）は位置関係の判定手法の具体例。
【図１６】図１６（Ａ）、図１６（Ｂ）は位置関係の判定手法の具体例。
【図１７】図１７（Ａ）、図１７（Ｂ）は位置関係の判定手法の具体例。
【図１８】図１８（Ａ）、図１８（Ｂ）はユーザとキャラクタの位置関係情報に応じたコマンドの効果の発動処理の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）はユーザとキャラクタの位置関係情報に応じたコマンドの効果の発動処理の説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）はユーザとキャラクタの視線関係情報に応じたコマンドの効果の発動処理の説明図。
【図２１】ユーザの注視情報に応じたコマンドの効果の発動処理の説明図。
【図２２】本実施形態の詳細な処理例を示すフローチャート。
【発明を実施するための形態】
【００３８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３９】
１．シミュレーションシステム
図１は、本実施形態のシミュレーションシステム（シミュレータ、ゲームシステム）の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ（ＶＲ）をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図１の構成に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４０】
撮像部１５０は、１又は複数のカメラにより構成される。各カメラは、レンズ（広角レンズ）等の光学系や、ＣＣＤやＣＭＯＳセンサ等の撮像素子により構成される。また撮像部１５０に１又は複数のマイクを設けてもよい。撮像部１５０を用いることで、ユーザの動き情報（各部位の動き情報、スケルトン情報）を検出したり、ユーザの認識処理（顔認識等）を実現できる。また複数のカメラを撮像部１５０に設けることで、空間の奥行き方向を認識し、撮像部１５０の前方でプレイしている二人のユーザの前後関係を判断することなどが可能になる。また複数のマイクを撮像部１５０に設けることで、音源の方向等を検出できる。例えば複数のカメラ及び複数のマイクが設けられた撮像部１５０を用いることで、ユーザの動きや音声などを操作情報として直感的にプレイできるゲームを実現することが可能になる。
【００４１】
操作部１６０は、ユーザ（プレーヤ）が種々の操作情報（入力情報）を入力するためのものである。操作部１６０は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル又はレバー等の種々の操作デバイスにより実現できる。
【００４２】
記憶部１７０は各種の情報を記憶する。記憶部１７０は、処理部１００や通信部１９６などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０の機能は、半導体メモリ（ＤＲＡＭ、ＶＲＡＭ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ、光ディスク装置などにより実現できる。記憶部１７０は、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００４３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＢＤ、ＣＤ）、ＨＤＤ、或いは半導体メモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４４】
ＨＭＤ２００（頭部装着型表示装置）は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。ＨＭＤ２００は非透過型であることが望ましいが、透過型であってもよい。またＨＭＤ２００は、いわゆるメガネタイプのＨＭＤであってもよい。
【００４５】
ＨＭＤ２００は、センサ部２１０、表示部２２０、処理部２４０を含む。センサ部２１０は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部２１０を用いたトラッキング処理により、ＨＭＤ２００の位置、方向を特定する。ＨＭＤ２００の位置、方向が特定されることで、ユーザの視点情報である視点位置、視線方向を特定できる。
【００４６】
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第１のトラッキング方式では、後述の図２（Ａ）、図２（Ｂ）で詳細に説明するように、センサ部２１０として複数の発光素子（ＬＥＤ）を設ける。そして、これらの複数の発光素子からの光を、撮像部１５０で撮像することで、現実世界の３次元空間でのＨＭＤ２００（ユーザの頭部）の位置、方向を特定する。第２のトラッキング方式では、後述の図３（Ａ）、図３（Ｂ）で詳細に説明するように、センサ部２１０として複数の受光素子（フォトダイオード等）を設ける。そして外部に設けられた発光素子（ＬＥＤ等）からの光（レーザー等）をこれらの複数の受光素子により受光することで、ＨＭＤ２００の位置、方向を特定する。第３のトラッキング方式では、センサ部２１０としてモーションセンサを設け、このモーションセンサを用いてＨＭＤ２００の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば３軸の加速度センサと３軸のジャイロセンサを用いた６軸のモーションセンサを用いることで、現実世界の３次元空間でのＨＭＤ２００の位置、方向を特定できる。なお、第１のトラッキング方式と第２のトラッキング方式の組合わせ、或いは第１のトラッキング方式と第３のトラッキング方式の組合わせなどにより、ＨＭＤ２００の位置、方向を特定してもよい。またＨＭＤ２００の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向を直接に特定するトラッキング処理を採用してもよい。
【００４７】
ＨＭＤ２００の表示部２２０は例えば有機ＥＬディスプレイ（ＯＥＬ）や液晶ディスプレイ（ＬＣＤ）などにより実現できる。例えばＨＭＤ２００の表示部２２０には、ユーザの左目の前に設定される第１のディスプレイ又は第１の表示領域と、右目の前に設定される第２のディスプレイ又は第２の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第１のディスプレイに左目用画像を表示し、第２のディスプレイに右目用画像を表示する。或いは１つのディスプレイの第１の表示領域に左目用画像を表示し、第２の表示領域に右目用画像を表示する。またＨＭＤ２００には左目用、右目用の２つの接眼レンズ（魚眼レンズ）が設けられており、これによりユーザの視界の全周囲に亘って広がるＶＲ空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左目用画像、右目用画像に対して行われる。この補正処理は表示処理部１２０が行う。
【００４８】
ＨＭＤ２００の処理部２４０は、ＨＭＤ２００において必要な各種の処理を行う。例えば処理部２４０は、センサ部２１０の制御処理や表示部２２０の表示制御処理などを行う。また処理部２４０が、３次元音響（立体音響）処理を行って、３次元的な音の方向や距離や広がりの再現を実現してもよい。
【００４９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
【００５０】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリカード）、ＵＳＢメモリ、或いは磁気カードなどにより実現できる。
【００５１】
通信部１９６は、有線や無線のネットワークを介して外部（他の装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５３】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や、ＨＭＤ２００でのトラッキング情報（ＨＭＤの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報）や、プログラムなどに基づいて、ゲーム処理（シミュレーション処理）、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
【００５４】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された１又は複数の回路装置（例えばＩＣ等）や、１又は複数の回路素子（例えば抵抗、キャパシター等）で構成することもできる。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００５５】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。演算処理部１１０は、ゲーム処理部１１２、移動体処理部１１４、判定部１１５、仮想空間設定部１１６、仮想カメラ制御部１１８、表示処理部１２０、音処理部１３０を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ（或いはプロセッサ及びメモリ）により実現できる。なお、これらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５６】
入力処理部１０２は、操作情報やトラッキング情報を受け付ける処理や、記憶部１７０から情報を読み出す処理や、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば入力処理部１０２は、操作部１６０を用いてユーザが入力した操作情報やＨＭＤ２００のセンサ部２１０等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部１７０から読み出す処理や、外部装置（サーバ等）からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００５７】
演算処理部１１０は、各種の演算処理を行う。例えばゲーム処理（シミュレーション処理）、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などの演算処理を行う。
【００５８】
ゲーム処理部１１２（ゲーム処理のプログラムモジュール）はユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部１１２（シミュレーション処理部）は、ユーザが仮想現実（バーチャルリアリティ）を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【００５９】
移動体処理部１１４（移動体処理のプログラムモジュール）は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間（オブジェクト空間、ゲーム空間）において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部１１４は、操作部１６０によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）を仮想空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。移動体は、例えば実空間のユーザ（プレーヤ）に対応する仮想空間の仮想ユーザ（仮想プレーヤ）、当該仮想ユーザが搭乗（操作）する搭乗移動体（操作移動体）、或いは仮想ユーザのプレイ対象となるキャラクタなどである。
【００６０】
判定部１１５（判定処理のプログラムモジュール）は各種の判定処理を行う。判定部１１５の詳細については後述する。
【００６１】
仮想空間設定部１１６（仮想空間設定処理のプログラムモジュール）は、複数のオブジェクトが配置される仮想空間（オブジェクト空間）の設定処理を行う。例えば、移動体（人、ロボット、車、電車、飛行機、船、モンスター又は動物等）、マップ（地形）、建物、観客席、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、仮想空間でのオブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定部１１６は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００６２】
仮想カメラ制御部１１８（仮想カメラ制御処理のプログラムモジュール）は、仮想空間の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。例えば仮想カメラの視点位置又は視線方向（仮想カメラの位置又は姿勢）を制御する処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）や、姿勢情報である回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。この仮想カメラはユーザ（仮想ユーザ）の視点に対応する。立体視表示の場合は、左目用の第１の視点（左目用の第１の仮想カメラ）と、右目用の第２の視点（右目用の第２の仮想カメラ）が設定される。
【００６３】
表示処理部１２０（表示処理のプログラムモジュール）は、ゲーム画像（シミュレーション画像）の表示処理を行う。例えば処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、ＨＭＤ２００の表示部２２０に表示する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、仮想空間において仮想カメラ（所与の視点。左目用、右目用の第１、第２の視点）から見える画像が生成される。なお、表示処理部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００６４】
音処理部１３０（音処理のプログラムモジュール）は、処理部１００で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲（音楽、ＢＧＭ）、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部１９２に出力させる。なお音処理部１３０の音処理の一部（例えば３次元音響処理）を、ＨＭＤ２００の処理部２４０により実現してもよい。
【００６５】
出力処理部１４０は各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理や、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えば出力処理部１４０は、書き込み命令で指定された情報を、記憶部１７０に書き込む処理や、外部の装置（サーバ等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。
【００６６】
そして本実施形態のシミュレーションシステムは、図１に示すように、仮想空間設定部１１６と仮想カメラ制御部１１８と表示処理部１２０を含む。仮想空間設定部１１６は、複数のオブジェクトが配置される仮想空間の設定処理を行う。例えば複数のオブジェクトの各オブジェクトの位置、方向を設定して仮想空間に配置する処理を行う。オブジェクトはゲームに登場したりゲーム空間を構成するゲーム要素となる表示物である。
【００６７】
仮想カメラ制御部１１８は、ＨＭＤ２００を装着するユーザの視点に対応する仮想カメラの制御処理を行う。例えば仮想カメラ制御部１１８は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する仮想ユーザの視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置（位置座標）や姿勢（回転軸回りでの回転角度）を制御する。
【００６８】
表示処理部１２０は、ＨＭＤ２００の表示画像（表示映像）として、仮想空間において仮想カメラ（ユーザ視点）から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は例えば立体視用の画像である。
【００６９】
そして本実施形態では仮想空間設定部１１６は、ユーザの視線方向（ユーザの視野範囲）に少なくとも１つの情報表示物を配置する。具体的には、ユーザの視点変化（仮想カメラの視点変化）に追従するように制御される少なくとも１つの情報表示物を仮想空間に配置する。ここで視点変化は、例えば視線方向及び視点位置の少なくとも一方の変化である。即ち、仮想空間設定部１１６は、ユーザの視線方向及び視点位置の少なくとも一方に追従するように制御される情報表示物を配置する。例えばユーザの視線方向又は視点位置が変化すると、その変化に連動して仮想空間での情報表示物の配置位置（３次元位置）も変化する。例えばユーザの視線方向が左方向、右方向、上方向、下方向に変化すると、その方向の変化に追従するように仮想空間での情報表示物の位置や方向も変化する。或いはユーザの視点位置（ユーザ位置）が左方向、右方向、上方向、下方向に移動すると、その移動（位置の変化）に追従するように仮想空間での情報表示物の位置等も変化する。例えば情報表示物がビルボードポリゴンにより構成される場合には、ユーザの視点に正対するように（ユーザの視線方向に直交するように）、情報表示物を構成するビルボードポリゴンが配置される。
【００７０】
そして表示処理部１２０は、情報表示物と仮想空間のオブジェクト（複数のオブジェクトの各オブジェクト）とが所与の位置関係になった場合に、情報表示物又はオブジェクトの表示態様（表示方法、表示方式）の変更処理を行う。例えば表示処理部１２０は、情報表示物とオブジェクトが当該位置関係になった場合には、情報表示物とオブジェクトが当該位置関係になっている場合の画像とは異なった画像に見えるように、ＨＭＤ２００の表示画像を生成する。即ち、上述したように情報表示物は、ユーザの視線方向又は視点位置が変化すると、それに追従するように仮想空間での位置や方向が変化する。従って、情報表示物と、仮想空間の複数のオブジェクトの各オブジェクトとの位置関係は様々に変化する。そして、情報表示物とオブジェクトの位置関係が、所定の位置関係（衝突、接近の位置関係等）になると、情報表示物又はオブジェクトの表示態様（表示画像）が変更される。なお情報表示物及びオブジェクトの両方の表示態様の変更処理を行ってもよい。
【００７１】
この場合に表示処理部１２０は、情報表示物の種類、優先度又は重要度に応じた表示態様の変更処理を行ってもよい。例えば情報表示物の種類、優先度又は重要度を反映させた情報表示物又はオブジェクトの表示態様の変更処理を行う。情報表示物の種類は、例えば情報表示物が提示する情報のタイプなどによって区分けされるものである。例えば記憶部１７０には、各情報表示物に対してその種類の情報が関連づけられて記憶されており、この種類の情報を用いて表示態様の変更処理が行われる。情報表示物の優先度や重要度は、情報表示物により提示される情報が、どの程度、優先度や重要度が高いかを示す情報である。例えば記憶部１７０には、各情報表示物に対してその優先度や重要度の情報が関連づけられて記憶されており、この優先度や重要度の情報を用いて表示態様の変更処理が行われる。
【００７２】
例えば表示処理部１２０は、情報表示物が第１の種類である場合には、オブジェクトの方の表示態様を変更する。例えば、情報表示物が第１の種類（例えばコマンド選択のための情報表示物等）である場合には、オブジェクトの表示態様を変更（消去、半透明化等）する一方で、情報表示物の表示態様については変更しない。これに対して情報表示物が第２の種類（例えば説明表示のための情報表示物等）である場合には、情報表示物の方の表示態様を変更する。例えば情報表示物が第２の種類である場合には、情報表示物の表示態様を変更（消去、半透明化等）する一方で、オブジェクトの表示態様については変更しない。情報表示物が第１の種類であるか第２の種類であるかは、記憶部１７０において当該情報表示物に関連づけられて記憶される。
【００７３】
また表示処理部１２０は、情報表示物に関連づけられた優先度又は重要度を用いて、表示態様の変更処理を行う。例えば記憶部１７０には、情報表示物に対して優先度や重要度の情報が関連づけて記憶されている。表示処理部１２０は、表示態様の変更処理を行う場合に、処理対象となる情報表示物に関連づけられた優先度や重要度の情報を記憶部１７０から読み出して、情報表示物又はオブジェクト（位置関係の判定の対象となるオブジェクト）の表示態様を変更する処理を行う。
【００７４】
また表示処理部１２０は、情報表示物が表示されてからの経過時間に応じた表示態様の変更処理を行う。例えば各情報表示物が表示されてからの経過時間を測定して記録しておく。そして情報表示物又はオブジェクトの表示態様の変更処理を行う際には、当該経過時間を反映させた処理を行う。例えば表示されてからの経過時間が長い情報表示物は、経過時間が短い情報表示物に比べて、その表示態様の変更処理を優先して行うようにする。
【００７５】
また表示処理部１２０は、表示態様の変更処理として、情報表示物又はオブジェクトの消去処理、情報表示物又はオブジェクトの半透明化処理、ユーザの視線方向への情報表示物の追従の解除処理、情報表示物又はオブジェクトの移動処理、情報表示物又はオブジェクトのサイズ変更処理、或いは情報表示物又はオブジェクトの色情報変更処理など行う。
【００７６】
情報表示物又はオブジェクトの消去処理は、情報表示物又はオブジェクトを、表示対象（表示リスト）から除外する処理や、透明化する処理などにより実現できる。情報表示物又はオブジェクトの半透明化処理は、情報表示物又はオブジェクトの半透明度（α値）を、例えば、より半透明になるように変化させることなどで実現できる。また前述のように情報表示物はユーザの視線方向の変化に追従するように制御されるが、この追従の制御を解除（低減）することで、ユーザの視線方向への情報表示物の追従の解除処理を実現できる。情報表示物又はオブジェクトの移動処理やサイズ変更処理は、情報表示物とオブジェクトの位置関係が、例えば衝突又は接近の位置関係等にならないように、情報表示物又はオブジェクトを移動させたり、情報表示物又はオブジェクトのサイズを変更することなどにより実現できる。情報表示物又はオブジェクトの色情報変更処理は、例えば情報表示物又はオブジェクトの色の明度、彩度又は色相等を変更する処理などにより実現できる。例えば情報表示物又はオブジェクトの色情報変更処理として、情報表示物又はオブジェクトの色情報を例えば背景の色情報に近づけて、背景に溶け込ませる処理などが考えられる。このような処理は、例えば情報表示物又はオブジェクトの色情報と背景の色情報に基づくαブレンディング処理やデプスキューイング処理などにより実現できる。
【００７７】
情報表示物は、例えば説明表示のための表示物、ステータス表示のための表示物、会話表示のための表示物、コマンド選択のための表示物、又はメニュー表示のための表示物などである。説明表示のための表示物は、例えば、ユーザに対してゲーム等についての各種の説明を行うための表示物である。ステータス表示のための表示物は、例えば、ゲーム等についての各種の状況をユーザに伝えるための表示物である。会話表示のための表示物は、例えば、各種の会話内容をユーザに伝えるための表示物である。例えばユーザのプレイ対象となるキャラクタの会話内容を伝えるための表示物である。コマンド選択のための表示物は、例えばゲーム等においてユーザがコマンドを選択するために使用される表示物である。例えばコマンドの選択肢をユーザに提示するための表示物である。メニュー表示のための表示物は、例えば、ゲーム等におけるメニュー画面をユーザに提示するための表示物である。例えばゲームモード、ゲーム設定（オプション設定）、又はゲームの終了指示などのメニュー画面を提示するための表示物である。情報表示物は、例えば文字、アイコン又は図形等を用いてユーザに情報を伝達する表示物である。一例としては、情報表示物は、ユーザに提示する情報が描かれたビルボードポリゴンなどにより実現できる。
【００７８】
一方、オブジェクト（情報表示物との位置関係の判定対象となるオブジェクト）は、例えばゲームに登場する移動体、固定物、アイテム、又は背景のオブジェクトなどである。ゲームに登場する移動体は、例えばユーザのプレイ対象となるキャラクタや、ゲームにおいて種々の方向、位置に移動する表示物である。固定物は、移動体のように移動せずに、仮想空間の所定の位置に固定される表示物である。アイテムは、ゲームに登場する各種の道具等の表示物であり、ユーザのプレイ対象、所持対象又は把持対象となる表示物である。背景のオブジェクトは、ゲーム等の背景を構成するオブジェクトである。例えば、オブジェクトは、仮想空間に配置される複数のオブジェクトのうち、情報表示物以外のオブジェクトであり、当該オブジェクトは、情報表示物との位置関係の判定対象となることができる。
【００７９】
またシミュレーションシステムは判定部１１５を含み、判定部１１５は、情報表示物とオブジェクトの位置関係を判定する。例えば判定部１１５は、情報表示物とオブジェクトが所与の位置関係（衝突又は接近の位置関係等）になったかを判定する。そして表示処理部１２０は、判定部１１５により情報表示物とオブジェクトとが所与の位置関係になったと判定された場合に、情報表示物又はオブジェクトの表示態様の変更処理を行う。
【００８０】
具体的には表示処理部１２０は、判定部１１５により情報表示物とオブジェクトとが衝突又は接近（近接）の位置関係になったと判定された場合に、表示態様の変更処理を行う。例えば接近の位置関係になったか否かは、情報表示物とオブジェクトの距離（３次元座標での距離、奥行き方向での距離等）が所定の距離以下になった否かを判断することで判定できる。衝突の位置関係になったか否かは、情報表示物とオブジェクトについて公知のコリジョン処理を行うことで判定できる。例えば情報表示物とオブジェクトのヒット判定（交差判定）を行うことで実現できる。
【００８１】
また判定部１１５は、情報表示物とオブジェクトの３次元座標値、情報表示物とオブジェクトの奥行き値、又は情報表示物とオブジェクトを平面に投影した場合の２次元座標値に基づいて、位置関係を判定できる。例えば情報表示物とオブジェクトの３次元座標値やサイズ情報（形状情報）などに基づいて、情報表示物とオブジェクトが衝突又は接近の位置関係等になったか否かを判定する。或いは情報表示物の奥行き値（Ｚ値）とオブジェクトの奥行き値（Ｚ値）を比較することで、情報表示物とオブジェクトが所与の位置関係になったか否かを判定する。或いは、情報表示物とオブジェクトを平面（スクリーン）に投影し、その平面（投影画像）での情報表示物とオブジェクトの２次元座標値（２次元形状）を用いて、情報表示物とオブジェクトが衝突又は接近の位置関係等になったか否かを判定する。例えばその平面上での情報表示物とオブジェクトの重なりや距離を判断することで、衝突又は接近の位置関係等になったか否かを判定できる。
【００８２】
また仮想空間設定部１１６は、ユーザの視線方向での所与の奥行き位置に、ユーザの視点変化（視線方向及び視点位置の少なくとも一方の変化）に追従するように情報表示物を配置する。例えばユーザの視点（仮想カメラ）に対する情報表示物の奥行き位置（奥行き距離）については変化しないようにしながら、視点変化（視線方向又は視点位置の変化）に追従するように、情報表示物を配置する。例えばユーザの視点（仮想カメラ）から所与の奥行き位置（Ｚ座標軸での位置）に、例えばビルボードポリゴンで構成される情報表示物を配置する。
【００８３】
また仮想カメラ制御部１１８は、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。
【００８４】
例えば入力処理部１０２（入力受け付け部）は、ＨＭＤ２００を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）を取得する。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報（視点位置の座標の変化値）、及び、ユーザの初期視線方向からの視線方向の変化情報（視線方向の回転軸回りでの回転角度の変化値）の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向（ユーザの頭部の位置、姿勢の情報）を特定できる。
【００８５】
そして仮想カメラ制御部１１８は、取得されたトラッキング情報（ユーザの視点位置及び視線方向の少なくとも一方の情報）に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部１１８は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向（位置、姿勢）が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
【００８６】
なお本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などの移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
【００８７】
またシミュレーションシステムはゲーム処理を行うゲーム処理部１１２を含む。そしてゲーム処理部１１２は、ユーザのゲームプレイの対象となるキャラクタの情報とユーザの視点情報との応じたコマンドの効果を、発動させる処理を行う。
【００８８】
例えば本実施形態では、複数のコマンドの中からユーザが選択したコマンドを受け付ける処理を行う。例えばユーザが選択可能なＮ個のコマンドの情報が記憶部１７０（コマンド情報記憶部）に記憶されている。そして、例えば、これらのＮ個のコマンドの中からＭ個（Ｍ＜Ｎ）のコマンドが、自動的に或いはユーザにより選択されて、いわゆるデッキと呼ばれるコマンドのセットが編成される。ゲームプレイ中においては、ユーザは、これらのＭ個のコマンドの中から自身が所望するコマンドを選択する。すると、選択されたコマンドが、発動対象のコマンドとして受け付けられる。
【００８９】
そしてゲーム処理部１１２は、受け付けられたコマンドの効果を発動させる処理を、ゲーム処理として行う。例えば各コマンドの効果は各コマンドに関連づけられて、コマンド情報として、記憶部１７０に記憶されている。ゲーム処理部１１２は、ユーザが選択したコマンドに関連づけられた効果を発動させる処理を行う。
【００９０】
そしてゲーム処理部１１２は、コマンドの効果の発動結果に基づいて、ゲームパラメータを演算する処理、ゲームを進行させる処理、ゲーム成績（ゲーム結果）を演算する処理、或いはコマンドに対応するアイコンの制御処理などのゲーム処理を行う。
【００９１】
具体的には、ゲーム処理部１１２は、ゲームパラメータの値を増減させる演算処理を行う。そして演算処理後のゲームパラメータに基づいて、キャラクタの動作（挙動）を制御したり、ストーリーの分岐処理を行ったり、ゲームイベントを発生する処理を行ったりするなどの、各種のゲーム処理を行う。例えばユーザのゲームプレイの対象となるキャラクタとユーザとによりストーリーが進行するゲームの処理を行う。
【００９２】
表示処理部１２０は、上記のゲーム処理の結果に基づいて、ゲーム画像の表示処理を行う。例えばゲームパラメータの演算結果や、ゲーム進行処理の結果や、ゲーム成績の演算結果や、アイコンの制御処理の結果に応じたゲーム画像を、ＨＭＤ２００の表示部２２０に表示するための処理を行う。また音処理部１３０も、ゲーム処理の結果に基づいて、ＢＧＭ、効果音又は音声等のゲーム音を、音出力部１９２から出力するための処理を行う。
【００９３】
そして本実施形態では、ゲーム処理部１１２は、ユーザのゲームプレイの対象となるキャラクタの情報とユーザの視点情報とに応じたコマンドの効果を、発動させる処理を行う。例えばキャラクタの情報とユーザの視点情報とにより設定（特定）される情報（例えば位置関係情報、視線関係情報、或いは注視情報等）に応じたコマンドの効果を、発動させる処理を行う。
【００９４】
具体的にはゲーム処理部１１２は、キャラクタの情報とユーザの視点情報とに応じて、コマンドの効果の度合い及びコマンドの効果の内容の少なくとも一方を変化させる処理を行う。例えばゲーム処理部１１２は、キャラクタの情報とユーザの視点情報とにより設定（特定）される情報（例えば位置関係情報、視線関係情報、或いは注視情報等）が変化すると、それに応じてコマンドの効果の度合い及びコマンドの効果の内容の少なくとも一方が変化するように、コマンドの発動処理を行う。
【００９５】
ここで、キャラクタの情報は、例えば、キャラクタの位置情報、方向情報、ゲームパラメータ情報、部位情報、姿勢情報及び種類情報の少なくとも１つである。キャラクタは、ゲームに登場するゲームプレイ要素であり、例えば実世界の人、動物、ロボット、或いは移動体等を表すものであり、ゲーム画像にオブジェクトとして表示されるものである。
【００９６】
具体的には、ユーザのゲームプレイの対象となるキャラクタは、例えばユーザのゲームプレイの相手となるキャラクタである。異性キャラクタとのコミュニケーションゲーム（人間関係シミュレーションゲーム）を例にとれば、ユーザのコミュニケーションの相手（候補）となるキャラクタである。例えば本実施形態では表示処理部１２０はユーザの例えば一人称視点でのゲーム画像を生成し、生成された一人称視点での画像をＨＭＤ２００の表示部２２０に表示する。このようにすることで、あたかもゲーム空間（ＣＧアニメの世界）の中に自分が入り込んだかのような仮想現実感をユーザに与えることができる。そしてキャラクタは、このゲーム空間（オブジェクト空間、仮想３次元空間）の中に、ユーザのゲームプレイの対象として登場する。これにより、ユーザは、あたかも本当の人間（キャラクタ）がユーザの眼前に存在するような仮想現実を感じることができる。なおユーザのゲームプレイの対象となるキャラクタとして、戦争ゲームやＲＰＧゲームやスポーツゲームなどでユーザの敵や味方として登場するキャラクタを用いてもよい。
【００９７】
また、ゲームパラメータは、ゲーム処理（ゲーム進行処理等）に使用されるパラメータである。例えばゲームパラメータは、キャラクタやユーザのステータスや能力等を表すパラメータである。例えばキャラクタのゲームパラメータとしては、キャラクタの心理や状態を表すステータスパラメータ、キャラクタの能力を表すパラメータ、キャラクタの行動に関するパラメータ、或いはキャラクタの所持物に関するパラメータなどの種々のパラメータを想定できる。またキャラクタのゲームパラメータは、ユーザに対するキャラクタの評価を表すパラメータであってもよい。
【００９８】
キャラクタの部位情報は、キャラクタを構成する部位（部位オブジェクト）の種類情報（頭、胸、腰、足又は手等）や、部位の位置情報（キャラクタの代表位置に対する相対位置）や、或いは部位の形状情報（部位オブジェクトの形状）などである。キャラクタの姿勢情報は、例えば、座る、立つ、歩く、又は走るなどのキャラクタのモーションを特定する姿勢の情報である。例えばキャラクタがスケルトンモデルで表現される場合には、このスケルトンの形状情報がキャラクタの姿勢情報に対応する。キャラクタの種類情報は、例えばキャラクタのタイプ或いは属性と呼ばれるものであり、異性のキャラクタであれば、活発タイプ、真面目タイプ、甘えん坊タイプ、又は清楚タイプなどである。
【００９９】
またユーザの視点情報は、例えばユーザの視点位置情報、視線方向情報、及び仮想カメラ属性情報の少なくとも１つである。視点位置情報は、例えばゲーム空間（オブジェクト空間、仮想３次元空間）内において、ユーザの視点として設定される位置の情報である。視線方向情報は、当該視点でのユーザの視線方向を表す情報である。仮想カメラ属性情報は、ユーザの視点に設定される仮想カメラについての情報であり、例えば画角情報、立体視における両眼視差情報など種々の情報を想定できる。
【０１００】
更に具体的には、ゲーム処理部１１２は、ユーザとキャラクタとの位置関係情報に応じたコマンドの効果を、発動させる処理を行う。例えば、一人称視点の場合には、ユーザの視点位置とキャラクタの位置（代表位置）との位置関係情報に応じたコマンドの効果を、発動させる。位置関係情報は、ユーザの位置（視点位置、ユーザキャラクタの位置）とキャラクタの位置（代表位置、視点位置）との関係を表す情報である。この位置関係情報としては、例えばユーザとキャラクタとの距離（ゲーム空間での距離）などを想定できるが、これには限定されない。例えばユーザとキャラクタとの方向関係の情報であってもよい。
【０１０１】
またゲーム処理部１１２は、ユーザの視線とキャラクタとの関係を表す視線関係情報に応じたコマンドの効果を、発動させる処理を行う。視線関係情報は、ユーザの視線とキャラクタとの関係を表す情報であり、例えばユーザの視線について、キャラクタとの相対的な関係を表す情報である。例えば視線関係情報は、キャラクタの位置（代表位置）や各部位を基準として、ユーザの視線がどの方向を向いているかに関する情報である。
【０１０２】
またゲーム処理部１１２は、ユーザの注視情報に応じたコマンドの効果を、発動させる処理を行う。注視情報は、ユーザが注視しているキャラクタの部位の情報である注視部位情報、ユーザがキャラクタを注視しているか否かの情報である注視有無情報、ユーザがキャラクタを注視している時間を表す注視時間情報、及びユーザの注視時におけるキャラクタとの間の距離を表す注視距離情報の少なくとも１つである。
【０１０３】
２．トラッキング処理
次にトラッキング処理の例について説明する。図２（Ａ）に本実施形態のシミュレーションシステムで用いられるＨＭＤ２００の一例を示す。図２（Ａ）では、ＨＭＤ２００に対して複数の発光素子２３１〜２３６が設けられている。これらの発光素子２３１〜２３６は例えばＬＥＤなどにより実現される。発光素子２３１〜２３４は、ＨＭＤ２００の前面側に設けられ、発光素子２３５や不図示の発光素子２３６は、背面側に設けられる。これらの発光素子２３１〜２３６は、例えば可視光の帯域の光を出射（発光）する。具体的には発光素子２３１〜２３６は、互いに異なる色の光を出射する。そして図２（Ｂ）に示す撮像部１５０をユーザＰＬの前方側に設置し、この撮像部１５０により、これらの発光素子２３１〜２３６の光を撮像する。即ち、撮像部１５０の撮像画像には、これらの発光素子２３１〜２３６のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザＰＬの頭部（ＨＭＤ）のトラッキングを実現する。即ちユーザＰＬの頭部の３次元位置や向く方向（視点位置、視線方向）を検出する。
【０１０４】
例えば図２（Ｂ）に示すように撮像部１５０には第１、第２のカメラ１５１、１５２が設けられており、これらの第１、第２のカメラ１５１、１５２の第１、第２の撮像画像を用いることで、ユーザＰＬの頭部の奥行き方向での位置等が検出可能になる。またＨＭＤ２００のセンサ部２１０に設けられたモーションセンサのモーション検出情報に基づいて、ユーザＰＬの頭部の回転角度（視線）も検出可能になっている。従って、このようなＨＭＤ２００を用いることで、ユーザＰＬが、周囲の３６０度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間（仮想３次元空間）での画像（ユーザの視点に対応する仮想カメラから見える画像）を、ＨＭＤ２００の表示部２２０に表示することが可能になる。なお、発光素子２３１〜２３６として、可視光ではなく赤外線のＬＥＤを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
【０１０５】
またＨＭＤ２００には、ヘッドバンド２６０や不図示のヘッドホン端子が設けられている。ヘッドホン端子にヘッドホン２７０（音出力部１９２）を接続することで、例えば３次元音響の処理が施されたゲーム音を、ユーザＰＬは聴くことが可能になる。
【０１０６】
また図２（Ａ）に示すようにユーザＰＬはゲームコントローラ１６６、１６７を所持している。ゲームコントローラ１６６、１６７は図１の操作部１６０に相当する。ゲームコントローラ１６６、１６７には発光素子２３７、２３８が設けられている。この発光素子２３７、２３８からの光を撮像部１５０で撮像することで、ＨＭＤ２００の場合と同様の手法で、ゲームコントローラ１６６、１６７の位置等が検出される。これによりユーザＰＬは種々の操作情報を入力することが可能になる。なお、ユーザの頭部の頷き動作や首振り動作をトラッキング処理により検出することで、ユーザの操作情報を入力できるようにしてもよい。
【０１０７】
図３（Ａ）に本実施形態のシミュレーションシステムに用いられるＨＭＤ２００の他の例を示す。図３（Ａ）に示すようにＨＭＤ２００には複数の受光素子２０１、２０２、２０３（フォトダイオード）が設けられている。受光素子２０１、２０２はＨＭＤ２００の前面側に設けられ、受光素子２０３はＨＭＤ２００の右側面に設けられている。またＨＭＤの左側面、上面等にも不図示の受光素子が設けられている。またＨＭＤ２００にはヘッドバンド２６０が設けられ、ユーザＰＬはヘッドホン２７０を装着している。
【０１０８】
図３（Ｂ）に示すように、ユーザＰＬの周辺には、ベースステーション２８０、２８４が設置されている。ベースステーション２８０には発光素子２８１、２８２が設けられ、ベースステーション２８４には発光素子２８５、２８６が設けられている。発光素子２８１、２８２、２８５、２８６は、例えばレーザー（赤外線レーザー等）を出射するＬＥＤにより実現される。ベースステーション２８０、２８４は、これら発光素子２８１、２８２、２８５、２８６を用いて、例えばレーザーを放射状に出射する。そして図３（Ａ）のＨＭＤ２００に設けられた受光素子２０１〜２０３等が、ベースステーション２８０、２８４からのレーザーを受光することで、ＨＭＤ２００のトラッキングが実現され、ユーザＰＬの頭の位置や向く方向（視点位置、視線方向）を検出できるようになる。
【０１０９】
また図３（Ａ）に示すようにユーザＰＬが所持するゲームコントローラ１６６、１６７には、受光素子２０４〜２０６、２０７〜２０９が設けられている。そしてベースステーション２８０、２８４の発光素子２８１、２８２、２８５、２８６からのレーザーを、受光素子２０４〜２０６、２０７〜２０９により受光することで、ＨＭＤ２００の場合と同様の手法で、ゲームコントローラ１６６、１６７の位置等が検出される。これによりユーザＰＬは種々の操作情報を入力することが可能になる。
【０１１０】
なお、ユーザの視点位置、視線方向（ユーザの位置、方向）を検出するトラッキング処理の手法は、図２（Ａ）〜図３（Ｂ）で説明した手法には限定されない。例えばＨＭＤ２００に設けられたモーションセンサ等を用いて、ＨＭＤ２００の単体でトラッキング処理を実現してもよい。即ち、図２（Ｂ）の撮像部１５０や図３（Ｂ）のベースステーション２８０、２８４などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報を検出してもよい。例えばアイトラッキングでは、ユーザの左目、右目の瞳の位置や形状等を認識する。そして、左目の位置、右目の位置、左目の視線方向、右目の視線方向等を特定し、ユーザの視点情報を取得することで、トラッキング処理を実現する。このアイトラッキングは、例えば撮像部によりユーザの左目、右目を撮影し、その撮像画像に対して瞳等の画像認識処理を行うことなどで実現できる。また、フェイストラッキングでは、撮像部でユーザの顔を撮像し、顔の画像認識処理を行う。そして、画像認識処理の結果に基づいて、ユーザの顔の位置や向く方向を特定して、ユーザの視点位置、視線方向を求めて、トラッキング処理を実現する。
【０１１１】
３．本実施形態の手法
次に本実施形態の手法について具体的に説明する。
【０１１２】
３．１  ゲームの説明
まず本実施形態の手法により実現されるゲームの概要について説明する。このゲームは、ユーザが、ゲームに登場する異性のキャラクタとコミュニケーションをしながら、勉強を教えたり、様々なアドバイスをしたり、質問に答えたり、各種イベントをクリアして、ユーザに対するキャラクタの好感度等を高めたりする、コミュニケーションゲーム（人間関係シミュレーションゲーム）である。なお、以下では本実施形態の手法が適用されるゲームが、異性キャラクタ等とのコミュニケーションゲームである場合を主に例にとり説明する。しかしながら、本実施形態の手法が適用されるゲームはこれには限定されず、戦闘ゲーム、ＲＰＧゲーム、スポーツゲーム、アクションゲーム等の種々のゲームに適用可能である。
【０１１３】
図４〜図６に、本実施形態のシミュレーションシステム（ゲームシステム）により生成されるゲーム画像の例を示す。本実施形態により実現されるゲームでは、ユーザ（プレーヤ）は、キャラクタＣＨの家庭教師としてその家を訪れ、勉強等を教える。ゲームには、複数のストーリーが用意され、各ストーリーごとに、異なるタイプのキャラクタＣＨが登場する。ユーザは、各ストーリーでの目的を達成しながら、キャラクタＣＨとの親密なコミュニケーションを楽しむ。
【０１１４】
ゲームをプレイするユーザはＨＭＤ２００を装着する。そしてユーザが、周囲の３６０度の全方向の各方向に視線を向けると、各方向で見えるべき画像がＨＭＤ２００の表示部２２０に表示される。例えば図４において、ユーザがキャラクタＣＨの方に視線を向ければ、勉強をしているキャラクタＣＨの画像が表示部２２０に表示される。一方、ユーザが頭部を回して、ユーザの背面側に視線を向ければ、キャラクタＣＨの背面側に位置する部屋の家具等の画像が表示部２２０に表示される。従って、ユーザは、あたかもゲームの世界に自分が入ってしまったかのような仮想現実感を味わうことが可能になる。即ち、実際に部屋に入って、眼の前の異性に勉強を教えているかのような仮想現実感をユーザに与えることができ、ゲームへのユーザの没入感を高めることができる。
【０１１５】
図４のゲーム画像では、キャラクタＣＨ（広義には移動体）、キャラクタＣＨが所持する本（広義にはアイテム）、カーテンＣＴ（広義には固定物）、壁ＷＬ（広義には背景）などのオブジェクトが表示されている。また情報表示物ＤＳＡ、ＤＳＢが表示されている。
【０１１６】
情報表示物ＤＳＡは説明表示のための表示物である。例えば情報表示物ＤＳＡにより、キャラクタＣＨが本を読んでいることが説明されている。情報表示物ＤＳＢはステータス表示のための表示物である。後述の図７で説明するように情報表示物ＤＳＢにより、キャラクタＣＨの種々のステータス情報が表示されている。
【０１１７】
図４においてユーザがキャラクタＣＨの方に近づき、視線を向けるなどすると、図５に示すゲーム画像が表示される。図５では情報表示物ＤＳＣ、ＤＳＤ１、ＤＳＤ２が更に表示されている。情報表示物ＤＳＣは会話表示のための表示物である。例えば情報表示物ＤＳＣには、キャラクタＣＨの会話である「何かご用ですか？」が表示されている。情報表示物ＤＳＤ１、ＤＳＤ２はコマンド選択（コマンド入力）のための表示物である。例えばキャラクタＣＨからの会話に対する返事（ＹＥＳ、ＮＯ）についてのコマンドが表示されている。
【０１１８】
図５において「ＹＥＳ」のコマンドをユーザが選択すると、図６に示すようなゲーム画像が表示される。図６では情報表示物ＤＳＥ１、ＤＳＥ２、ＤＳＥ３が表示されている。情報表示物ＤＳＥ１、ＤＳＥ２、ＤＳＥ３はコマンド選択のための表示物（アイコン）である。例えば情報表示物ＤＳＥ１、ＤＳＥ２、ＤＳＥ３にはコマンドＣＭ１、ＣＭ２、ＣＭ３が対応づけられている。例えばユーザが情報表示物ＤＳＥ１を選択すると、「もっと集中」というコマンドＣＭ１の効果が発動する。情報表示物ＤＳＥ２を選択すると、「叱る」というコマンドＣＭ２の効果が発動する。情報表示物ＤＳＥ３を選択すると、「声をかける」というコマンドＣＭ３の効果が発動する。
【０１１９】
なお、コマンドに対応する情報表示物（ＤＳＥ１、ＤＳＥ２、ＤＳＥ３、ＤＳＤ１、ＤＳＤ１）の選択は、図１の操作部１６０を用いて行う。例えばユーザは、操作部１６０を用いて、ユーザが所望するコマンドに対応する情報表示物（アイコン）を選択し、選択した情報表示物に対応するコマンドの効果を発動させるというコマンド操作を行う。図２（Ａ）、図３（Ａ）を例にとれば、ユーザは、両手に所持したゲームコントローラ１６６、１６７を動かすことで、このようなコマンド操作を行う。或いは、有線で接続されたゲームコントローラ（不図示）を用いて、コマンド操作を行ってもよい。或いは、ＨＭＤ２００を頭部に装着したユーザが、コマンドに対応する情報表示物の方に視線方向を向けたり、首を縦や横に振るなどの動作を行うことで、コマンド操作を行うようにしてもよい。
【０１２０】
図６では、ユーザは、「声をかける」というコマンドＣＭ３に対応する情報表示物ＤＳＥ３を選択している。これにより、「声をかける」というコマンドＣＭ３の効果が発動される。例えば、コマンドＣＭ３には、「声をかける」に対応する言葉（例えば「おーい！」、「頑張ってるか？」、「勉強してるか？」）の音声データが対応づけられている。そして、コマンドＣＭ３が発動すると、当該音声データの再生が行われ、その言葉（文）の音声が図１の音出力部１９２から出力される。
【０１２１】
また、コマンドが発動（コマンドの効果の発動）されると、キャラクタＣＨのゲームパラメータにも影響を与える。例えば、「声をかける」というコマンドＣＭ３が発動されると、それに対応するキャラクタＣＨのゲームパラメータも変化する。
【０１２２】
例えば図４〜図６では、キャラクタＣＨの各種状態であるゲームパラメータのステータスをユーザに伝えるための情報表示物ＤＳＢが表示されている。この情報表示物ＤＳＢにより、例えば図７に示すように、キャラクタＣＨの現在の心理状態、モチベーション、集中力、脈拍等の状態がユーザに伝えられる。これらの心理状態、モチベーション、集中力、脈拍は、キャラクタＣＨのゲームパラメータとして用意されている。
【０１２３】
キャラクタＣＨの心理状態は、例えば色などを用いて表現される。例えば本実施形態のゲームでは、レッスンの課題が出され、例えば所定時間が経過することでレッスンが終了する。そして、例えばレッスン終了時の課題の達成量に応じて、ユーザのゲーム成績が決定される。例えばユーザのゲーム成績が高い場合には、例えば効果が高かったり、レア度の高いコマンド（アクション）のカードがユーザに付与される。
【０１２４】
レッスンで出される各課題には、例えば赤、緑、青の属性が付与され、キャラクタＣＨの心理状態も、赤、緑、青の成分を有している。例えばキャラクタＣＨの心理状態が赤の成分が多い場合には、赤の属性の課題はすぐに消化できるが、緑、青の属性の課題は消化が遅い。同様に、キャラクタＣＨの心理状態が緑の成分が多い場合には、緑の属性の課題はすぐに消化できるが、赤、青の属性の課題は消化が遅い。従ってユーザは、情報表示物ＤＳＢに表示されるキャラクタＣＨの心理状態を見て、心理状態に合った属性の課題を消化させることで、達成される課題量が多くなり、レッスンを適正に完了できるようになる。
【０１２５】
また図７に示すように、キャラクタＣＨにはモチベーション、集中力のゲームパラメータが設定されている。これらのモチベーション、集中力のゲームパラメータの値は、例えば０〜１００（％）の間で変化し、その値が大きいほど、モチベーション、集中力が高くなる。モチベーションの値が高くなると、課題の消化速度が速くなる。一方、集中力の値は、時間経過に応じて下がって行くが、キャラクタＣＨの心理状態に応じて、その下がり度合いが大きくなったり、下がりにくくなったりする。また、集中力の値が所定値よりも低くなり、集中力が切れた状態になると、レッスンの休憩が必要になる。
【０１２６】
また図７の情報表示物ＤＳＢの脈拍は、例えばキャラクタＣＨのユーザに対するドキドキ度や好感度を表すゲームパラメータとして機能する。例えばドキドキ度が高くなると、脈拍も高くなり、モチベーションが上がったり、集中力が下がりにくくなったり、課題の消化速度が速くなる。
【０１２７】
３．２  表示態様の変更処理
図４〜図６に示すように本実施形態により実現されるゲームでは、種々の情報表示物が表示される。ＨＭＤを用いずに、表示部に疑似３次元画像を表示する従来の画像生成システムでは、このような情報表示物として、投影スクリーンに２次元的に表示される２次元表示物（スプライト等）が用いられていた。
【０１２８】
しかしながら、ＨＭＤを用いたＶＲ（バーチャルリアリティ）のシステムにおいて、説明表示、ステータス表示、コマンド選択、メニュー表示等の情報表示物として、２次元表示物を用いてしまうと、ユーザの仮想現実感を損ねたり、画面が見にくくなってしまうなどの問題を招く。例えば図４のキャラクタＣＨ、本ＢＫ、カーテンＣＴ、壁ＷＬなどの３次元のオブジェクトが立体的に表示されるＶＲ空間において、情報表示物だけが投影スクリーン上に２次元的に表示されてしまうと、仮想現実感を損ねてしまう。また多数の２次元の情報表示物が表示されてしまうと、これらの情報表示物が２次元的に重なったり、情報表示物によりオブジェクトが隠れて見えなくなり、非常に見にくい画面になってしまう。
【０１２９】
そこで本実施形態では、ユーザの視線方向（ユーザの視界範囲、正面方向）に少なくとも１つの情報表示物を配置する。例えば情報表示物を、仮想空間の他のオブジェクトと同様に、３次元座標値を有するオブジェクトにより構成して、仮想空間に配置する。具体的には、ユーザの視点変化（視線方向及び視点位置の少なくとも一方の変化）に追従するように制御される情報表示物を、仮想空間に配置する。更に具体的には、ユーザの視線方向での所与の奥行き位置に、ユーザの視点変化に追従するように情報表示物を配置する。
【０１３０】
図８（Ａ）〜図８（Ｄ）は、このような情報表示物の表示手法についての説明図である。例えば図８（Ａ）において、ＶＰは、ＨＭＤを装着しているユーザＰＬの視点であり、ＶＬは、ユーザＰＬの視線方向である。これらの視点ＶＰ、視線方向ＶＬは、ユーザＰＬに対応する仮想カメラの視点、視線方向に相当する。
【０１３１】
そして図８（Ａ）では、ユーザＰＬの視線方向ＶＬにおける奥行き値Ｚ１、Ｚ２の位置に、各々、情報表示物ＤＳ１、ＤＳ２が配置されている。奥行き値Ｚ１、Ｚ２は、例えば視点座標系（カメラ座標系）におけるＺ座標軸の座標値である。情報表示物ＤＳ１、ＤＳ２は、例えばビルボードポリゴンにより実現される。即ち、ビルボードポリゴンに対して、図４〜図６で説明したような説明表示、ステータス表示、会話表示、コマンド選択表示、メニュー表示のための文字、アイコン又は図形等の画像をマッピングすることで、情報表示物ＤＳ１、ＤＳ２が実現されている。ビルボードポリゴン（ビルボードプリミティブ面）は、ユーザＰＬの視点ＶＰ（仮想カメラ）に正対（略正対）するように配置されるポリゴン（プリミティブ面）である。例えば情報表示物ＤＳ１、ＤＳ２のビルボードポリゴンは、視線方向ＶＬ（視線方向ベクトル）に直交（略直交）するように配置される。例えばビルボードポリゴンの面の法線方向が、視線方向ＶＬに平行となるように配置される。なおビルボードポリゴンの配置方向は、このような方向には限定されず、種々の配置方向に設定可能である。また情報表示物をビルボードポリゴンとは異なる形式の表示物で実現してもよい。例えば複数のプリミティブ面（ポリゴン等）で構成される３次元形状のオブジェクトにより情報表示物を実現してもよい。
【０１３２】
そして本実施形態では情報表示物ＤＳ１、ＤＳ２は、ユーザＰＬの視線方向ＶＬの変化に追従するように制御される。例えば図８（Ｂ）では、ユーザＰＬの視線方向ＶＬが右側方向に変化している。例えばＨＭＤを装着しているユーザＰＬが右側方向を向いており、これにより仮想空間での仮想カメラの視線方向も右側方向に変化する。この場合に図８（Ｂ）に示すように、この視線方向ＶＬの変化に追従するように、情報表示物ＤＳ１、ＤＳ２の位置や方向が変化する。例えば図８（Ｂ）においても、ユーザＰＬの視点ＶＰに正対するように情報表示物ＤＳ１、ＤＳ２を構成するビルボードポリゴンが配置される。
【０１３３】
また図８（Ｃ）では、ユーザＰＬの視線方向ＶＬが左側方向に変化している。例えばＨＭＤを装着しているユーザＰＬが左側方向を向いており、これにより仮想空間での仮想カメラの視線方向も左側方向に変化する。この場合にも図８（Ｃ）に示すように、この視線方向ＶＬの変化に追従するように、情報表示物ＤＳ１、ＤＳ２の位置や方向が変化する。例えば図８（Ｃ）においても、ユーザＰＬの視点ＶＰに正対するように情報表示物ＤＳ１、ＤＳ２を構成するビルボードポリゴンが配置される。
【０１３４】
また図８（Ｄ）ではユーザＰＬの視線方向が上側方向に変化している。この場合にも図８（Ｄ）に示すように、この視線方向ＶＬの変化に追従するように、情報表示物ＤＳ１、ＤＳ２の位置や方向が変化する。同様に、ユーザＰＬの視線方向が下側方向に変化した場合にも、その変化に追従するように情報表示物ＤＳ１、ＤＳ２の位置や方向が変化する。
【０１３５】
このように図８（Ａ）〜図８（Ｄ）の表示手法では、情報表示物が、仮想空間の他のオブジェクトと同様に、仮想空間に３次元的に配置される。従って、情報表示物の表示が原因でユーザの仮想現実感を損ねてしまう問題を解消できる。即ち、２次元の情報表示物が平面的に表示される従来の手法では、情報表示物の存在が原因で仮想現実感を損ねてしまう問題が生じるが、情報表示物を仮想空間に３次元的に配置する本実施形態の手法によれば、このような問題の発生を防止できる。また、このように情報表示物を３次元的に配置すれば、複数の情報表示物を表示する場合にも、ユーザにとって見やすい適切な表示にすることが可能になる。例えば図８（Ａ）〜図８（Ｄ）に示すように、複数の情報表示物（ＤＳ１、ＤＳ２）を、奥行き値（Ｚ１、Ｚ２）を異ならせて配置することなども可能になり、ユーザにとって見やすい適切な情報表示物の表示が可能になる。また図８（Ａ）〜図８（Ｄ）の表示手法によれば、ユーザの正面側に情報表示物が常に表示されるようになる。従って、ユーザの視線方向が種々の方向に向いた場合にも、ユーザの正面側に情報表示物が表示されて、ユーザにとって必要な種々の情報を、情報表示物を用いて適切に提示できるようになる。
【０１３６】
なお情報表示物の表示手法は図８（Ａ）〜図８（Ｄ）に示す手法には限定されず、種々の変形実施が可能である。また視線方向の変化に常に追従するように情報表示物を表示する必要は無く、例外的に追従しないようにしてもよい。或いは、視線方向の変化に時間的に遅れて追従するように情報表示物を表示してもよい。例えば視線方向が大きく変化した場合（視線方向の変化角度、変化速度又は変化加速度が所定値以上の場合）には、視線方向の変化に情報表示物が追従しないようにしたり、時間的に遅れて追従するようにしてもよい。そして、所与の時間が経過した場合に、情報表示物の再配置等の復帰処理を行うようにしてもよい。或いは、特定の情報表示物については、ユーザの視線方向の変化に追従しないようにしてもよい。例えば特定のオブジェクト（例えばユーザのプレイ対象となるキャラクタ）のステータス等を表示する情報表示物については、その特定のオブジェクトの近傍に表示されるように制御してもよい。
【０１３７】
また図８（Ａ）〜図８（Ｄ）では、情報表示物がユーザの視線方向の変化に追従する場合を説明したが、情報表示物を、ユーザの視点位置の変化に追従させてもよい。例えばユーザの視点位置（ユーザ位置）が上下左右に移動した場合に、この移動に追従するように情報表示物を上下左右に移動させる。情報表示物は、ユーザの視線方向の変化にのみ追従してもよいし、視点位置の変化にのみ追従してもよいし、視線方向の変化及び視点位置の変化の両方に追従してもよい。但し、以下では、説明の簡素化のために、ユーザの視点変化がユーザの視線方向の変化である場合を主に例にとり説明を行う。
【０１３８】
図８（Ａ）〜図８（Ｄ）の手法によれば、ユーザの仮想現実感を損なわないような情報表示物の適切な表示が可能になる。しかしながら、仮想空間内には情報表示物以外にも多数のオブジェクトが存在するため、これらのオブジェクトとの関係が問題になることが判明した。
【０１３９】
例えば図９（Ａ）では、仮想空間内には、ユーザＰＬの正面方向に情報表示物ＤＳ１、ＤＳ２が配置されると共に、他のオブジェクトＯＢ１、ＯＢ２も配置されている。これらのオブジェクトＯＢ１、ＯＢ２は例えば図４のキャラクタＣＨ（移動体）、本ＢＫ（アイテム）、カーテンＣＴ（固定物）、壁ＷＬ（背景）などに相当するオブジェクトである。そして図９（Ａ）では情報表示物ＤＳ１、ＤＳ２とオブジェクトＯＢ１、ＯＢ２の衝突は生じていない。
【０１４０】
一方、図９（Ａ）から図９（Ｂ）に示すようにユーザＰＬの視線方向ＶＬが変化すると、この視線方向ＶＬの変化に追従して情報表示物ＤＳ１、ＤＳ２の位置等が変化する。この場合に図９（Ｂ）では、情報表示物ＤＳ１、ＤＳ２とオブジェクトＯＢ１、ＯＢ２が衝突（接近、干渉）する事態が発生している。このような事態が発生すると、例えば情報表示物ＤＳ１、ＤＳ２がオブジェクトＯＢ１、ＯＢ２に対してめり込んでしまい、情報表示物ＤＳ１、ＤＳ２の一部が欠けて表示されたり、或いはオブジェクトＯＢ１、ＯＢ２の一部が欠けて表示されるなどの不具合が生じる。例えば図９（Ｂ）の状態でユーザＰＬの視線方向が微少に変化すると、表示のチラツキも発生してしまい、表示品質が大きく劣化してしまう。
【０１４１】
またユーザの視点位置（ユーザ位置）の変化に情報表示物が追従する場合にも、ユーザの視点位置が上下左右に移動することで、情報表示物がオブジェクトと衝突する問題が生じてしまう。
【０１４２】
そこで本実施形態では情報表示物ＤＳ１、ＤＳ２とオブジェクトＯＢ１、ＯＢ２が図９（Ｂ）のような位置関係になった場合に、情報表示物ＤＳ１、ＤＳ２又はオブジェクトＯＢ１、ＯＢ２の表示態様の変更処理を行う。即ち、図９（Ｂ）のような衝突（接近、干渉）による表示の不具合を解消する表示態様の変更処理を行う。
【０１４３】
例えば図１０（Ａ）では、情報表示物ＤＳ１、ＤＳ２の表示態様を変更している。具体的には情報表示物ＤＳ１、ＤＳ２の表示を消去したり、情報表示物ＤＳ１、ＤＳ２を半透明化する処理を行う。一方、オブジェクトＯＢ１、ＯＢ２に対しては、このような表示態様の変更処理を行わない。情報表示物ＤＳ１、ＤＳ２の消去処理は、例えば表示リスト（表示オブジェクトリスト）から、情報表示物ＤＳ１、ＤＳ２を除外する処理などにより実現できる。情報表示物ＤＳ１、ＤＳ２の半透明化処理は、例えば情報表示物ＤＳ１、ＤＳ２の半透明度（α値）を透明に近づける処理を行うことで実現できる。或いは情報表示物ＤＳ１、ＤＳ２を、例えばフレームモデル等に変更して、説明表示、ステータス表示等の文字やアイコンや図形を消去するようにしてもよい。或いは、情報表示物ＤＳ１、ＤＳ２の色情報を変更してもよい。例えば情報表示物ＤＳ１、ＤＳ２の色を、視認性の低い色（目立たない色）に変更したり、背景に溶け込む色に変更する。
【０１４４】
図１０（Ｂ）では、オブジェクトＯＢ１、ＯＢ２の表示態様を変更している。具体的にはオブジェクトＯＢ１、ＯＢ２の表示を消去したり、オブジェクトＯＢ１、ＯＢ２を半透明化する処理を行う。一方、情報表示物ＤＳ１、ＤＳ２に対しては、このような表示態様の変更処理を行わない。オブジェクトＯＢ１、ＯＢ２の消去処理は、例えば表示リストから、オブジェクトＯＢ１、ＯＢ２を除外する処理などにより実現できる。オブジェクトＯＢ１、ＯＢ２の半透明化処理は、例えばオブジェクトＯＢ１、ＯＢ２の半透明度を透明に近づける処理を行うことで実現できる。或いはオブジェクトＯＢ１、ＯＢ２を、例えばフレームモデル等に変更して、色やテクスチャなどのプロパティが表示されないようにしてもよい。或いは、オブジェクトＯＢ１、ＯＢ２の色情報を変更してもよい。例えばオブジェクトＯＢ１、ＯＢ２の色を、視認性の低い色（目立たない色）に変更したり、背景に溶け込む色に変更する。
【０１４５】
図１０（Ｃ）では、情報表示物ＤＳ１とオブジェクトＯＢ１の関係においては、オブジェクトＯＢ１の方の表示態様を変更し、オブジェクトＯＢ１の方を消去したり、半透明化する処理を行っている。例えば情報表示物ＤＳ１が、優先度又は重要度が高い表示物である場合には、情報表示物ＤＳ１ではなくオブジェクトＯＢ１の方の表示態様を変更する。一方、情報表示物ＤＳ２とオブジェクトＯＢ２の関係においては、情報表示物ＤＳ１の方の表示態様を変更し、情報表示物ＤＳ１の方を消去したり、半透明化する処理を行っている。例えば情報表示物ＤＳ２が、優先度又は重要度が低い表示物である場合には、オブジェクトＯＢ２ではなく情報表示物ＤＳ２の方の表示態様を変更する。
【０１４６】
即ち、情報表示物ＤＳ１が第１の種類（例えば重要度又は優先度が高い種類の表示物）である場合には、オブジェクトＯＢ１の方の表示態様を変更する。一方、情報表示物ＤＳ２が第２の種類（例えば重要度又は優先度が低い種類の表示物）である場合には、情報表示物ＤＳ２の方の表示態様を変更する。
【０１４７】
例えば図１１（Ａ）のテーブルデータでは、情報表示物ＤＳＦ１、ＤＳＦ２、ＤＳＦ３に対して、その種類ＴＰＡ、ＴＰＢ、ＴＰＡが関連づけられている。このテーブルデータは図１の記憶部１７０に記憶される。そして種類ＴＰＡは、例えば優先度や重要度が低い種類であるため、オブジェクトとの衝突（接近、干渉）が発生した場合に、情報表示物の方の表示態様が変更される。例えば情報表示物の方を消去したり半透明化する処理を行う。一方、種類ＴＰＢは、例えば優先度や重要度が高い種類であるため、オブジェクトとの衝突が発生した場合に、情報表示物の表示態様は変更されない。例えば情報表示物の消去処理や半透明化処理は行われず、オブジェクトの方の消去処理や半透明化処理を行う。
【０１４８】
図１１（Ｂ）のテーブルデータでは、情報表示物ＤＳＧ１、ＤＳＧ２、ＤＳＧ３に対して、その優先度（重要度）ＰＲＡ、ＰＲＢ、ＰＲＣが関連づけられている。このテーブルデータは図１の記憶部１７０に記憶される。そして情報表示物ＤＳＧ１、ＤＳＧ２、ＤＳＧ３と他のオブジェクトの衝突が生じた場合には、ＤＳＧ１、ＤＳＧ２、ＤＳＧ３の各情報表示物に関連づけられた優先度（重要度）ＰＲＡ、ＰＲＢ、ＰＲＣを用いて表示態様の変更処理を行う。例えば高い優先度（重要度）が関連づけられた情報表示物については、オブジェクトに対して衝突又は接近の位置関係になった場合にも、表示態様の変更処理は行わないようにする。そして例えばオブジェクトの方の表示態様を変更する。一方、低い優先度（重要度）が関連づけられた情報表示物については、オブジェクトに対して衝突又は接近の位置関係になった場合に、表示態様の変更処理を行う。そして例えばオブジェクトの方の表示態様は変更しないようにする。この場合に、オブジェクトに対しても優先度（重要度）を関連づけておき、情報表示物に関連づけられた優先度（重要度）と、オブジェクトに関連づけられた優先度（重要度）との比較処理を行うようにしてもよい。そして比較処理の結果に基づいて、表示態様の変更処理を行う。例えば情報表示物の方がオブジェクトよりも優先度（重要度）が高い場合には、オブジェクトの方の表示態様を変更する。一方、オブジェクトの方が情報表示物よりも優先度（重要度）が高い場合には、情報表示物の方の表示態様を変更する。
【０１４９】
このように本実施形態では、情報表示物の種類、優先度又は重要度に応じた適切な表示態様の変更処理を実現できるようになる。例えば特定の種類の情報表示物については、オブジェクトとの間で衝突又は接近の位置関係になった場合にも、オブジェクトについてだけ表示態様を変更したり、逆に情報表示物についてだけ表示態様を変更できるようになる。或いは、情報表示物により提示される情報の優先度や重要度が高い場合には、オブジェクトとの間で衝突又は接近の位置関係になった場合にも、情報表示物については表示態様を変更せず、オブジェクトについてだけ表示態様を変更できるようになる。
【０１５０】
また本実施形態では、図１１（Ｂ）に示すように情報表示物に関連づけられた優先度又は重要度を用いて、表示態様の変更処理を行っている。このようにすれば、情報表示物に対して予め優先度又は重要度を関連づけておき、この優先度又は重要度を用いて適切な表示態様の変更処理を実行できるようになる。
【０１５１】
例えば図４〜図６において、コマンド選択のための情報表示物（ＤＳＤ１、ＤＳＤ２、ＤＳＥ１〜ＤＳＥ３）は、優先度又は重要度が高い情報表示物である。例えばユーザの視線方向が変化することで、情報表示物とオブジェクトが衝突又は接近の位置関係になった場合に、コマンド選択のための情報表示物が消去又は半透明化されてしまうと、ユーザがコマンドを選択（入力）できなくなってしまい、ゲーム進行が停止してしまう。従って、このようなコマンド選択のための情報表示物に対しては、高い優先度又は重要度を関連づけておき、オブジェクトに対して衝突又は接近の位置関係になった場合には、情報表示物の方の消去処理や半透明化処理は行わずに、オブジェクトの方の消去処理や半透明化処理を行うようにする。
【０１５２】
一方、説明表示のための情報表示物（ＤＳＡ）は、優先度又は重要度がそれほど高くない情報表示物であり、オブジェクトに対して衝突又は接近の位置関係になった場合に、説明表示のための情報表示物が消去又は半透明化されても、ゲーム進行にはそれほど支障を来さない。従って、このような説明表示のための情報表示物に対しては、低い優先度又は重要度を関連づけておき、オブジェクトに対して衝突又は接近の位置関係になった場合には、情報表示物の消去処理や半透明化処理を行うようにする。このようにすることで、情報表示物の優先度又は重要度を反映した適切な表示処理を実現できるようになる。
【０１５３】
また本実施形態では、情報表示物が表示されてからの経過時間に応じた表示態様の変更処理を行ってもよい。
【０１５４】
例えば図１２において、情報表示物ＤＳＨ１、ＤＳＨ２は、表示されてから、長い経過時間ＴＥ１、ＴＥ２が経過したタイミングで、表示態様変更処理の対象となっている。一方、情報表示物ＤＳＨ３は、表示されてから、短い経過時間ＴＥ３が経過したタイミングで、表示態様変更処理の対象となっている。この場合に、表示されてからの経過時間ＴＥ１、ＴＥ２が長い情報表示物ＤＳＨ１、ＤＳＨ２に対しては、消去、半透明化等の表示態様の変更処理を行う。一方、表示されてからの経過時間ＴＥ３が短い情報表示物ＤＳＨ３に対しては、消去、半透明化等の表示態様の変更処理を行わないようにする。
【０１５５】
例えば、表示されてからの経過時間ＴＥ１、ＴＥ２が長い情報表示物ＤＳＨ１、ＤＳＨ２については、この長い経過時間ＴＥ１、ＴＥ２の間に、ユーザがこれらの情報表示物ＤＳＨ１、ＤＳＨ２を見ている可能性が高く、情報表示物ＤＳＨ１、ＤＳＨ２による情報伝達は十分に行われていると考えられる。従って、このような情報表示物ＤＳＨ１、ＤＳＨ２については、オブジェクトに対して衝突又は接近の位置関係になった場合に、消去又は半透明化等の表示態様の変更処理を行う。
【０１５６】
一方、表示されてからの経過時間ＴＥ３が短い情報表示物ＤＳＨ３については、短い経過時間ＴＥ３の間に、ユーザが情報表示物ＤＳＨ３を十分に見ている可能性が低く、情報表示物ＤＳＨ３による情報伝達は不十分であると考えられる。従って、このような情報表示物ＤＳＨ３については、オブジェクトに対して衝突又は接近の位置関係になった場合に、消去又は半透明化等の表示態様の変更処理を行わないようにする。
【０１５７】
即ち、多数の情報表示物が表示されている場合に、オブジェクトに対して衝突又は接近の位置関係になった全ての情報表示物を、消去又は半透明化してしまうと、情報表示物による情報伝達が不十分になってしまう問題が生じてしまう。この点、図１２の手法によれば、表示されてからの経過時間を判断材料にして、表示態様の変更処理を行うか否かを決定しているため、このような問題の発生を効果的に防止できる。
【０１５８】
３．３  表示態様の変更処理、位置関係の判定の具体例
次に表示態様の変更処理や、位置関係の判定の具体例について説明する。例えば表示態様の変更処理としては、情報表示物又はオブジェクトの消去処理又は半透明化処理、ユーザの視線方向への情報表示物の追従の解除処理、情報表示物又はオブジェクトの移動処理、或いは情報表示物又はオブジェクトのサイズ変更処理などがある。
【０１５９】
例えば図１３（Ａ）では、表示態様の変更処理として、情報表示物ＤＳ又はオブジェクトＯＢの消去処理又は半透明化処理を行っている。例えば情報表示物ＤＳとオブジェクトＯＢが衝突又は接近の位置関係になった場合に、いずれか一方を消去したり、半透明化する処理を行う。
【０１６０】
図１３（Ｂ）、図１３（Ｃ）では、表示態様の変更処理として、ユーザＰＬの視線方向ＶＬへの情報表示物ＤＳの追従の解除処理を行っている。例えば本実施形態では図８（Ａ）〜図８（Ｄ）で説明したように、情報表示物ＤＳは、ユーザＰＬの視線方向ＶＬの変化に追従するように制御される。
【０１６１】
これに対して、図１３（Ｂ）では、情報表示物ＤＳとオブジェクトＯＢが衝突又は接近の位置関係になった場合に、この追従の制御を解除する。これにより図１３（Ｃ）に示すようにユーザＰＬの視線方向ＶＬが変化した場合にも、情報表示物ＤＳの位置は変化しないようになる。従って、情報表示物ＤＳがオブジェクトＯＢに衝突してめり込んでしまうなどの不具合の発生を防止できる。
【０１６２】
また図１４（Ａ）では、情報表示物ＤＳとオブジェクトＯＢが衝突又は接近の位置関係になった場合に、両者が離れるように例えば情報表示物ＤＳを移動している。例えば図１４（Ａ）では情報表示物ＤＳの右側にオブジェクトＯＢが位置しているため、情報表示物ＤＳを左方向に移動して、両者が離れるようにする。これにより、情報表示物ＤＳとオブジェクトＯＢが衝突又は接近の位置関係になった場合にも、移動により両者が離れることで、より適切な画像を表示できるようになる。なお図１４（Ａ）では情報表示物ＤＳの方を移動させているが、オブジェクトＯＢの方を移動してもよい。具体的にはオブジェクトＯＢを右方向に移動して、情報表示物ＤＳとオブジェクトＯＢが離れるようにする。
【０１６３】
図１４（Ｂ）では、情報表示物ＤＳとオブジェクトＯＢが衝突又は接近の位置関係になった場合に、情報表示物ＤＳのサイズを変更している。例えば情報表示物ＤＳのサイズを小さくすることで、情報表示物ＤＳの右側端部とオブジェクトＯＢの左側端部の間の距離が離れ、両者の衝突が解消される。なおオブジェクトＯＢの方のサイズを小さくしてもよい。
【０１６４】
図１４（Ｃ）では、情報表示物ＤＳの方がオブジェクトＯＢよりも、ユーザの視点に対して手前側に位置する位置関係となっている。この場合には表示態様の変更処理として、例えば情報表示物ＤＳのサイズを小さくする処理を行う。こうすることで、情報表示物ＤＳに隠れてオブジェクトＯＢが見えなくなってしまう事態の発生を防止できる。なお、オブジェクトＯＢの方が情報表示物ＤＳよりも手前側に位置する位置関係の場合には、オブジェクトＯＢの方のサイズを小さくしてもよい。
【０１６５】
次に情報表示物とオブジェクトの位置関係の判定の具体例について説明する。本実施形態では図１の判定部１１５が情報表示物とオブジェクトの位置関係を判定し、判定部１１５により接近又は衝突の位置関係になったと判定された場合に、情報表示物又はオブジェクトの表示態様の変更処理が行われる。具体的には判定部１１５は、情報表示物とオブジェクトの３次元座標値、情報表示物とオブジェクトの奥行き値、又は情報表示物とオブジェクトを平面に投影した場合の２次元座標値に基づいて、このような位置関係を判定する。
【０１６６】
例えば図１５（Ａ）では、情報表示物ＤＳの３次元座標値（ＸＡ、ＹＡ、ＺＡ）とオブジェクトＯＢの３次元座標値（ＸＢ、ＹＢ、ＺＢ）を用いて、両者が接近の位置関係になったか否かを判定している。具体的には、これらの３次元座標値に加えて、情報表示物ＤＳ、オブジェクトＯＢのサイズ情報や形状情報を用いて、接近の位置関係を判定する。例えば情報表示物ＤＳの端部（例えば右側端部）とオブジェクトＯＢの端部（例えば左側端部）の間の距離が所定距離以下になったか否かを判定することで、接近の位置関係を判定できる。或いは、情報表示物ＤＳ、オブジェクトＯＢを構成するポリゴンの複数の頂点の３次元座標値に基づいて、接近の位置関係を判定してもよい。
【０１６７】
図１５（Ｂ）では、情報表示物ＤＳの３次元座標値（ＸＡ、ＹＡ、ＺＡ）とオブジェクトＯＢの３次元座標値（ＸＢ、ＹＢ、ＺＢ）を用いて、両者が衝突の位置関係になったか否かを判定している。この衝突の位置関係の判定は、公知のコリジョン処理（ヒット判定）により実現できる。例えば公知のコリジョン処理により、情報表示物ＤＳとオブジェクトＯＢが交差したか否かを判定することで、衝突の位置関係の判定を実現できる。
【０１６８】
図１６（Ａ）、図１６（Ｂ）では、情報表示物ＤＳの奥行き値ＺＡ（Ｚ値）とオブジェクトＯＢの奥行き値ＺＢを用いて、両者の位置関係を判定している。例えば図１６（Ａ）では、ＺＡ＜ＺＢとなっており、ユーザの視点から見て情報表示物ＤＳの方がオブジェクトＯＢよりも手前側に位置する位置関係であると判定されている。このため、情報表示物ＤＳの方の表示態様を変更する。例えば情報表示物ＤＳを消去又は半透明化する処理を行うことで、情報表示物ＤＳに隠れてオブジェクトＯＢが見えなくなってしまう事態が防止される。一方、図１６（Ｂ）では、ＺＡ＞ＺＢとなっており、ユーザの視点から見てオブジェクトＯＢの方が情報表示物ＤＳよりも手前側に位置する位置関係であると判定されている。このため、オブジェクトＯＢの方の表示態様を変更する。例えばオブジェクトＯＢを消去又は半透明化する処理を行うことで、オブジェクトＯＢに隠れて情報表示物ＤＳが見えなくなってしまう事態が防止される。
【０１６９】
また図１７（Ａ）、図１７（Ｂ）では、情報表示物ＤＳ、オブジェクトＯＢを、投影スクリーンなどの平面ＳＰＬに投影した場合の２次元座標値（平面ＳＰＬでのＸ、Ｙ座標値）に基づいて、両者の位置関係を判定している。例えば図１７（Ａ）、図１７（Ｂ）では、平面ＳＰＬにおいて情報表示物ＤＳとオブジェクトＯＢとが重なっていると判定される。図１７（Ａ）では情報表示物ＤＳの方が視点から見て手前側に位置し、図１７（Ｂ）ではオブジェクトＯＢの方が視点から見て手前側に位置している。このような位置関係を判定して、情報表示物ＤＳ、オブジェクトＯＢの一方の表示態様を変更する。例えば図１７（Ａ）では、情報表示物ＤＳを消去又は半透明化する処理を行うことで、情報表示物ＤＳに隠れてオブジェクトＯＢの一部の画像が欠けてしまう事態が防止される。一方、図１７（Ｂ）では、オブジェクトＯＢを消去又は半透明化する処理を行うことで、オブジェクトＯＢに隠れて情報表示物ＤＳの一部の画像が欠けてしまう事態が防止される。
【０１７０】
以上のような位置関係の判定を行って、情報表示物又はオブジェクトの表示態様の変更処理を行うことで、両者の位置関係を考慮した適切な表示態様の変更処理を実現できるようになり、より適正な表示画像をＨＭＤに表示できるようになる。
【０１７１】
３．４  コマンド処理
次に図６で説明した本実施形態のコマンド処理の詳細について説明する。これまでのキャラクタ等を用いたコミュニケーションゲームでは、いわゆる２次元のゲームが主流であり、ユーザとキャラクタとの位置関係や視線関係等の関係は考慮されていなかった。従って、例えば図６の「声をかける」というコマンドＣＭ３をユーザが行使した場合に、ユーザとキャラクタの距離が近くても、或いは遠くても、このコマンドＣＭ３により発動される効果が、同じになってしまう。このため、ユーザは、キャラクタとの距離感等を感じることができず、ユーザの仮想現実感を向上できないという課題がある。
【０１７２】
そこで本実施形態では、ユーザとキャラクタとの位置関係や視線関係や注視状況などに応じて、コマンドの効果を変化させる手法を採用している。例えば本実施形態では、ユーザのゲームプレイの対象となるキャラクタの情報とユーザの視点情報とに応じたコマンドの効果を、発動させる。例えば、キャラクタの情報とユーザの視点情報とに応じて、コマンドの効果の度合いや、効果の内容を変化させる。具体的には、キャラクタの位置情報、方向情報、ゲームパラメータ情報、部位情報、姿勢情報又は種類情報であるキャラクタの情報と、ユーザの視点位置情報、視線方向情報又は仮想カメラ属性情報である視点情報とに応じたコマンドの効果を、発動させる。
【０１７３】
図１８（Ａ）〜図１９（Ｂ）は、ユーザＰＬとキャラクタＣＨとの位置関係情報に応じたコマンドの効果を、発動させる手法の説明図である。
【０１７４】
例えば図１８（Ａ）、図１８（Ｂ）では、ユーザＰＬとキャラクタＣＨとの位置関係情報に応じて、コマンドの効果の度合いを変化させている。ここでは、位置関係情報は、ユーザＰＬとキャラクタＣＨとの距離ＬＣであり、この距離ＬＣは、ユーザＰＬの視点情報である視点ＶＰと、キャラクタＣＨの情報である位置ＰＣに基づき求められるものである。なお位置関係情報は、ユーザＰＬの方向とキャラクタＣＨの方向の関係を表す情報であってもよい。
【０１７５】
そして図１８（Ａ）、図１８（Ｂ）では、ユーザは「もっと集中！」というコマンドＣＭ１を選択して、行使しているが、図１８（Ａ）ではユーザＰＬとキャラクタＣＨの距離ＬＣは遠い。一方、図１８（Ｂ）では距離ＬＣは近い。
【０１７６】
この場合に本実施形態では、図１８（Ａ）、図１８（Ｂ）のようにユーザが同じコマンドＣＭ１を行使したとしても、距離ＬＣに応じて、コマンドＣＭ１により発動される効果の度合いを変化させている。例えば、図１８（Ａ）では距離ＬＣが遠いため、これに応じてコマンドＣＭ１の効果の度合いは低くなり、図１８（Ｂ）では距離ＬＣが近いため、これに応じてコマンドＣＭ１の効果の度合いは高くなる。
【０１７７】
具体的には、「もっと集中！」というコマンドＣＭ１が行使された場合に、図１８（Ａ）では、距離ＬＣが遠いため、Ａ１に示すように、キャラクタＣＨの集中力のゲームパラメータの上昇の度合いが小さい。これに対して図１８（Ｂ）では、距離ＬＣが近いため、Ａ２に示すように、キャラクタＣＨの集中力のゲームパラメータの上昇の度合いが大きくなる。
【０１７８】
このようにすれば、ユーザは、「もっと集中！」というコマンドＣＭ１を行使する際に、キャラクタＣＨの近くに行って、当該コマンドＣＭ１を行使することで、キャラクタＣＨの集中力を、より高めることが可能になる。従って、「もっと集中」という言葉を、キャラクタＣＨの近くに行って言ったような感覚を、ユーザに与えることができ、ユーザの仮想現実感を向上できる。
【０１７９】
図１９（Ａ）、図１９（Ｂ）は、ユーザＰＬとキャラクタＣＨとの位置関係情報に応じて、コマンドの効果の内容を変化させている。即ち図１８（Ａ）、図１８（Ｂ）では効果の度合いを変化させていたが、図１９（Ａ）、図１９（Ｂ）では効果の内容を変化させている。
【０１８０】
例えば図１９（Ａ）では、ユーザは、キャラクタＣＨとの距離ＬＣが遠い状態で、「声をかける」というコマンドＣＭ３を行使している。この場合には、ユーザの「声をかける」言葉として、例えば「おーい！」という音声が出力されたり、「おーい！」のテロップ（吹き出し）がゲーム画面上に表示される。
【０１８１】
一方、図１９（Ｂ）では、ユーザは、キャラクタＣＨとの距離ＬＣが近い状態で、「声をかける」というコマンドＣＭ３を行使している。この場合には、ユーザの「声をかける」言葉として、例えば「だいじょうぶか！」「頑張ってるか？」という言葉の音声が出力されたり、これらの言葉のテロップがゲーム画面上に表示される。
【０１８２】
即ち、図１９（Ａ）では、「声をかける」というコマンドＣＭ３の効果の内容が、「おーい！」という言葉の音声出力（テロップ表示）という内容になっている。これに対して、図１９（Ｂ）では、距離ＬＣが近づくことで、「だいじょうぶか！」「頑張ってるか？」という言葉の音声出力という内容に変化している。
【０１８３】
このようにすれば、同じ「声をかける」というコマンドＣＭ３であっても、ユーザＰＬとキャラクタＣＨとの位置関係に応じて、そのコマンドの効果の内容が変化するようになる。従って、ユーザの仮想現実感やゲーム表現のバラエティ度の向上等を図れる。
【０１８４】
図２０（Ａ）、図２０（Ｂ）は、ユーザＰＬとキャラクタＣＨとの視線関係情報に応じたコマンドの効果を、発動させる手法の説明図である。
【０１８５】
例えば図２０（Ａ）、図２０（Ｂ）では、ユーザＰＬとキャラクタＣＨとの視線関係情報に応じて、コマンドの効果の度合いや効果の内容を変化させている。図２０（Ａ）、図２０（Ｂ）では、視線関係情報は、ユーザＰＬの視線方向ＶＬと、キャラクタＣＨの位置ＰＣや視線方向ＶＬＣとの関係を表す情報である。
【０１８６】
そして図２０（Ａ）、図２０（Ｂ）では、ユーザは「アドバイスをする」というコマンドＣＭ５を選択して、行使しているが、図２０（Ａ）では、ユーザＰＬの視線方向ＶＬはキャラクタＣＨの位置ＰＣの方向を向いていない。これに対して、図２０（Ｂ）では、ユーザＰＬの視線方向ＶＬはキャラクタＣＨの位置ＰＣの方向を向いている。また図２０（Ａ）では、ユーザＰＬの視線方向ＶＬとキャラクタＣＨの視線方向ＶＬＣは合っていない。これに対して図２０（Ｂ）では、視線方向ＶＬとＶＬＣが合っている。
【０１８７】
この場合に本実施形態では、図２０（Ａ）、図２０（Ｂ）のようにユーザが同じコマンドＣＭ５を行使したとしても、視線関係情報に応じて、コマンドＣＭ２により発動される効果の度合いや効果の内容を変化させている。
【０１８８】
例えば、図２０（Ａ）の視線関係の場合には、「アドバイスをする」というコマンドＣＭ５の発動による効果の内容として、「普通のアドバイス」が行われる。例えば、普通の口調で、平凡な内容のアドバイスが行われる。そして、コマンドＣＭ５による「普通のアドバイス」の効果として、キャラクタＣＨのゲームパラメータであるモチベーションは上昇するが、図２０（Ａ）では、Ｂ１に示すようにその上昇の度合いは小さい。
【０１８９】
一方、図２０（Ｂ）の視線関係の場合には、「アドバイスをする」というコマンドＣＭ５の効果の内容として、「優しいアドバイス」が行われる。例えば、優しい口調で、やる気を出させるような内容のアドバイスが行われる。そして、コマンドＣＭ５による「優しいアドバイス」の効果として、キャラクタＣＨのモチベーションが上昇するが、図２０（Ｂ）では、Ｂ２に示すようにその上昇の度合いが大きい。
【０１９０】
このようにすれば、図２０（Ａ）のように、ユーザがキャラクタＣＨの方を見ずに、目をそらして、「アドバイスする」のコマンドＣＭ５を行使した場合に比べて、図２０（Ｂ）に示すように、ユーザがキャラクタＣＨの方をちゃんと見て、コマンドＣＭ５を行使した場合の方が、より良い内容のアドバイスになると共に、アドバイスによる効果であるモチベーションの上昇度合いも大きくなる。従って、ユーザは、あたかも目の前にいる異性に向かって、アドバイスの言葉をかけているような感覚を感じることができ、ユーザの仮想現実感を大幅に向上できる。
【０１９１】
図２１は、ユーザの注視情報に応じたコマンドの効果を、発動させる手法の説明図である。例えば図２１では、ユーザが注視しているキャラクタＣＨの部位の情報である注視部位情報に応じたコマンドの効果を、発動させている。
【０１９２】
具体的には図２１では、「つつく」というコマンドＣＭ４を行使している。ここで、図２１のＣ１に示すように、ユーザがキャラクタＣＨの部位である肩を注視しながら、「つつく」というコマンドＣＭ４を行使したとする。この場合には、ユーザがキャラクタＣＨの肩をつつく場面を表現した画像（映像）が表示されるようになる。例えば、ユーザの手（オブジェクト）が画面上に現れ、この手がキャラクタＣＨの肩をつつくという画像が表示される。一方、図２１のＣ２に示すように、ユーザがキャラクタＣＨの部位である頭（おでこ）を注視しながら、「つつく」というコマンドＣＭ４を行使したとする。この場合には、ユーザがキャラクタＣＨの頭をつつく場面を表現した画像が表示されるようになる。例えば、ユーザの手が画面上に現れ、この手がキャラクタＣＨの頭をつつくという画像が表示される。
【０１９３】
このようにすれば、同じ「つつく」というコマンドＣＭ４を行使した場合にも、ユーザが注視するキャラクタＣＨの部位に応じて、異なる内容の動作の「つつく」が行われるようになる。そして、ユーザが注視する部分に対して、ユーザの動作が行われるようになるため、ユーザは、実際にキャラクタＣＨをつついているような感覚を感じることができ、ユーザの仮想現実感を向上できる。
【０１９４】
以上のような本実施形態のコマンド処理の手法によれば、ユーザの仮想現実感を、より向上できるようになる。一方、本実施形態のようなコマンド処理の手法では、図６、図２１に示すように多数の情報表示物が配置されて表示される。従って、情報表示物と仮想空間内の他のオブジェクトとの衝突等の問題が生じやすい。この点、本実施形態では、情報表示物とオブジェクトが衝突等の位置関係になった場合にも、情報表示物又はオブジェクトの表示態様を変更する処理が行われるため、より適切な表示画像をＨＭＤに表示することが可能になる。
【０１９５】
３．５  処理例
次に本実施形態の処理例について図２２のフローチャートを用いて説明する。まず、ユーザの視点情報のトラッキング情報を取得する（ステップＳ１）。例えば図２（Ａ）〜図３（Ｂ）等で説明したトラッキング処理により得られたトラッキング情報を取得する。そして、取得されたトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する（ステップＳ２）。例えば現実世界においてユーザが上下左右方向に視線方向を向けた場合に、それに対応して仮想空間での仮想カメラの視線方向も上下左右方向に向くように、仮想カメラを制御する。また現実世界においてユーザの視点位置が上下左右方向に移動した場合に、それに対応して仮想空間での仮想カメラの視点位置も上下左右方向に移動するように、仮想カメラを制御する。
【０１９６】
次に、情報表示物とオブジェクトの位置関係を判定する（ステップＳ３）。例えば図１５（Ａ）〜図１７（Ｂ）で説明した手法により、両者の位置関係を判定する。そして、情報表示物とオブジェクトが衝突又は接近の位置関係になっているか否かを判断する（ステップＳ４）。そして衝突又は接近の位置関係になっている場合には、情報表示物又はオブジェクトの表示態様の変更処理を行う（ステップＳ５）。例えば図１３（Ａ）〜図１４（Ｃ）で説明した表示態様の変更処理を行う。そして仮想空間において仮想カメラから見える画像を生成して、ＨＭＤに表示する（ステップＳ６）。例えば、仮想カメラから見える画像として、立体視の左目用、右目用の画像を生成して、ＨＭＤに表示する。
【０１９７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（視点変化、移動体、アイテム等）と共に記載された用語（視線方向の変化、キャラクタ、本等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また仮想空間の設定処理、仮想カメラの制御処理、情報表示物の配置処理、表示態様の変更処理、位置関係の判定処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
【符号の説明】
【０１９８】
ＤＳＡ、ＤＳＢ、ＤＳＣ、ＤＳＤ１、ＤＳＤ２、ＤＳＥ１〜ＤＳＥ３  情報表示物、
ＤＳ、ＤＳ１、ＤＳ２  情報表示物、ＣＨ  キャラクタ（移動体）、
ＢＫ  本（アイテム）、ＣＴ  カーテン（固定物）、ＷＬ  壁（背景）、
ＯＢ、ＯＢ１、ＯＢ２  オブジェクト、ＰＬ  ユーザ、ＶＰ  視点、ＶＬ  視線方向、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１２  ゲーム処理部、
１１４  移動体処理部、１１５  判定部、１１６  仮想空間設定部、
１１８  仮想カメラ制御部、１２０  表示処理部、１３０  音処理部、
１４０  出力処理部、１５０  撮像部、１５１、１５２  第１、第２のカメラ、
１６０  操作部、１６６、１６７  ゲームコントローラ、
１７０  記憶部、１７２  オブジェクト情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、
２００  ＨＭＤ（頭部装着型表示装置）、２０１〜２０９  受光素子、
２１０  センサ部、２２０  表示部、２３１〜２３８  発光素子、２４０  処理部、
２６０  ヘッドバンド、２７０  ヘッドホン、２８０、２８４  ベースステーション
【図１】
2018136944.tif 000003
【図２】
2018136944.tif 000004
【図３】
2018136944.tif 000005
【図４】
2018136944.tif 000006
【図５】
2018136944.tif 000007
【図６】
2018136944.tif 000008
【図７】
2018136944.tif 000009
【図８】
2018136944.tif 000010
【図９】
2018136944.tif 000011
【図１０】
2018136944.tif 000012
【図１１】
2018136944.tif 000013
【図１２】
2018136944.tif 000014
【図１３】
2018136944.tif 000015
【図１４】
2018136944.tif 000016
【図１５】
2018136944.tif 000017
【図１６】
2018136944.tif 000018
【図１７】
2018136944.tif 000019
【図１８】
2018136944.tif 000020
【図１９】
2018136944.tif 000021
【図２０】
2018136944.tif 000022
【図２１】
2018136944.tif 000023
【図２２】
2018136944.tif 000024