(57)【要約】【課題】頭部装着型表示装置を用いたシステムにおいてユーザの３Ｄ酔いの発生を効果的に抑制できるシミュレーションシステム及びプログラム等の提供。【解決手段】シミュレーションシステムは、ＨＭＤを装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、頭部装着型表示装置の表示画像として、仮想空間において仮想カメラから見える画像を生成する表示処理部を含む。表示処理部は、仮想カメラから所与の距離範囲にある表示物に比べて、所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行って、表示画像を生成する。【選択図】図３０
2018010488.tif 000002
【特許請求の範囲】
【請求項１】
頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、
前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、
前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、
を含み、
前記表示処理部は、
前記仮想カメラから所与の距離範囲にある表示物に比べて、前記所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成することを特徴とするシミュレーションシステム。
【請求項２】
請求項１において、
前記表示処理部は、
前記画像エフェクト処理として、被写界深度処理を行うことを特徴とするシミュレーションシステム。
【請求項３】
請求項２において、
前記表示処理部は、
前記所与の距離範囲が、被写界深度の焦点領域に含まれ、前記仮想カメラから見て前記焦点領域よりも手前側の領域ではぼかし処理が行われず、前記焦点領域よりも奥側の領域ではぼかし処理が行われる前記被写界深度処理を行うことをシミュレーションシステム。
【請求項４】
請求項２又は３において、
前記表示処理部は、
被写界深度の焦点領域の広さを、前記移動体の移動状態に応じて変化させることを特徴とするシミュレーションシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記表示処理部は、
前記画像エフェクト処理として、フォグ処理を行うことを特徴とするシミュレーションシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記表示処理部は、
前記仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により前記線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う前記画像エフェクト処理を行うことを特徴とするシミュレーションシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記所与の距離範囲は、前記頭部装着型表示装置の仮想視距離に基づき設定される範囲であることを特徴とするシミュレーションシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記所与の距離範囲は、前記仮想カメラから０．７５ｍ〜３．５ｍの距離の範囲であり、
前記表示処理部は、
前記所与の距離範囲では表示物のぼかし処理を行わず、前記所与の距離範囲よりも遠い距離範囲において表示物のぼかし処理を行うことを特徴とするシミュレーションシステム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記表示処理部は、
前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くすることを特徴とするシミュレーションシステム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記表示処理部は、
前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行うことを特徴とするシミュレーションシステム。
【請求項１１】
請求項１０において、
前記表示処理部は、
前記視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、前記所定の表示物に対して行うことを特徴とするシミュレーションシステム。
【請求項１２】
請求項１乃至１０のいずれかにおいて、
前記頭部装着型表示装置を装着するユーザの視点情報のトラッキング情報を取得する入力処理部を含み、
前記仮想カメラ制御部は、
前記トラッキング情報に基づいて前記仮想カメラの位置、姿勢を変化させることを特徴とするシミュレーションシステム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記表示処理部は、
前記仮想カメラの視線方向又は視点位置の変化状況、前記移動体の移動状態の変化状況、前記仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
前記表示処理部は、
前記ユーザのプレイレベルに応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
【請求項１５】
請求項１４のいずれかにおいて、
前記ユーザのプレイレベルは、前記ユーザの頭部の動きをトラッキングしたトラッキング情報又は前記ユーザのプレイ履歴情報に基づき判断されることを特徴とするシミュレーションシステム。
【請求項１６】
請求項１乃至１５のいずれかにおいて、
前記表示処理部は、
前記ユーザによる設定情報又は前記ユーザのプレイ履歴情報に基づいて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行うことを特徴とするシミュレーションシステム。
【請求項１７】
請求項１乃至１６のいずれかにおいて、
前記移動体の移動状態に応じて、前記ユーザのプレイ位置を変化させる可動筐体を含むことを特徴とするシミュレーションシステム。
【請求項１８】
頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、
前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、
前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部として、
コンピュータを機能させ、
前記表示処理部は、
前記仮想カメラから所与の距離範囲にある表示物に比べて、前記所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、ＨＭＤ（頭部装着型表示装置）をユーザが頭部に装着し、ＨＭＤの画面に表示される画像をユーザが見ることで、いわゆるバーチャルリアリティー（ＶＲ）の世界を体感できるシミュレーションシステムが知られている。このようなシミュレーションシステムの従来技術としては、例えば特許文献１等に開示される技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３０９２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＨＭＤを用いたシミュレーションシステムでは、仮想空間において仮想カメラから見える画像がＨＭＤに表示される。このような画像をＨＭＤに表示することで、ユーザの視界の全周囲に亘って、広大なＶＲ空間が広がるようになるため、ユーザの仮想現実感を格段に向上できる。
【０００５】
このように、ＨＭＤを用いたシミュレーションシステムでは、ユーザに対して高品質で没入度の高いコンテンツを提供できる。しかしながら、このようなコンテンツを提供したとしても、いわゆる３Ｄ酔いが発生してしまうと、ユーザは長時間のプレイをできなくなってしまう。また、コンテンツの魅力よりも、３Ｄ酔いへの回避衝動としてユーザが再プレイを行わなくなる事態が生じてしまう。
【０００６】
３Ｄ酔いは、仮想空間においてユーザの脳が感じる感覚と、実空間においてユーザの体が感じる感覚とのギャップなどが原因として発生する。例えば仮想カメラから見える画像を、そのままＨＭＤに表示してしまうと、仮想空間の景色において近くから遠くまでの全ての表示物がクッキリと見えている状態であると脳が感じ、全ての情報を拾おうとして、情報過多になり、３Ｄ酔いを誘発してしまう。そして、このような３Ｄ酔いが発生すると、ユーザの長時間プレイの妨げとなったり、ユーザが再プレイを行うのを躊躇するようになり、シミュレーションシステムの魅力や稼働率が低下してしまう。
【０００７】
本発明の幾つかの態様によれば、頭部装着型表示装置を用いたシステムにおいてユーザの３Ｄ酔いの発生を効果的に抑制できるシミュレーションシステム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、頭部装着型表示装置を装着するユーザに対応する移動体を仮想空間において移動させる処理を行う移動体処理部と、前記移動体の移動に応じて移動する仮想カメラの制御を行う仮想カメラ制御部と、前記頭部装着型表示装置の表示画像として、前記仮想空間において前記仮想カメラから見える画像を生成する表示処理部と、を含み、前記表示処理部は、前記仮想カメラから所与の距離範囲にある表示物に比べて、前記所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行って、前記表示画像を生成するシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００９】
本発明の一態様によれば、ユーザに対応する移動体を仮想空間において移動させる処理が行われ、頭部装着型表示装置の表示画像として、移動体の移動に応じて移動する仮想カメラから見える画像が生成される。そして、仮想カメラから所与の距離範囲にある表示物に比べて、遠い距離範囲にある表示物の画像をぼかす処理が、酔い防止用の画像エフェクト処理として行われる。これにより、仮想カメラから遠い距離範囲にある表示物については、ぼけた画像になるため、これらの表示物にユーザが視線を合わせるのを抑制できるようになる。従って、頭部装着型表示装置を用いたシステムにおいてユーザの３Ｄ酔いの発生を効果的に抑制できるシミュレーションシステム等の提供が可能になる。
【００１０】
また本発明の一態様では、前記表示処理部は、前記画像エフェクト処理として、被写界深度処理を行ってもよい。
【００１１】
このようにすれば、通常は使用が推奨されていない被写界深度処理を有効利用して、所与の距離範囲にある表示物については、焦点が合った画像を生成する一方で、所与の距離範囲よりも遠い距離範囲にある表示物については、焦点が合っていないぼかし画像を生成できるようになる。
【００１２】
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲が、被写界深度の焦点領域に含まれ、前記仮想カメラから見て前記焦点領域よりも手前側の領域ではぼかし処理が行われず、前記焦点領域よりも奥側の領域ではぼかし処理が行われる前記被写界深度処理を行ってもよい。
【００１３】
このようにすれば、焦点領域や焦点領域よりも手前側の領域にある表示物については、焦点が合った画像を生成する一方で、焦点領域よりも奥側の領域にある表示物については、焦点が合っていないぼかし画像を生成できるようになる。
【００１４】
また本発明の一態様では、前記表示処理部は、被写界深度の焦点領域の広さを、前記移動体の移動状態に応じて変化させてもよい。
【００１５】
このようにすれば、移動体の移動状態に応じた適切な酔い防止用の画像エフェクト処理を、被写界深度処理を利用して実現できるようになる。
【００１６】
また本発明の一態様では、前記表示処理部は、前記画像エフェクト処理として、フォグ処理を行ってもよい。
【００１７】
このようにすれば、例えば所与の距離範囲よりも遠い距離範囲にある表示物を、フォグ処理によりぼかすことで、酔い防止用の画像エフェクト処理を実現できるようになる。
【００１８】
また本発明の一態様では、前記表示処理部は、前記仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により前記線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う前記画像エフェクト処理を行ってもよい。
【００１９】
このようにすれば、有限の線分と交差した表示物に対してはぼかし処理を行わず、他の表示物に対してぼかし処理を行うという簡素な処理で、酔い防止用の画像エフェクト処理を実現できるようになる。
【００２０】
また本発明の一態様では、前記所与の距離範囲は、前記頭部装着型表示装置の仮想視距離に基づき設定される範囲であってもよい。
【００２１】
このようにすれば、仮想視距離に基づき設定される距離範囲にある表示物については、ユーザが視線を合わせても３Ｄ酔いが生じないと想定して、ぼかし処理を行わないことで、より自然な表示画像を頭部装着型表示装置に表示できるようになる。
【００２２】
また本発明の一態様では、前記所与の距離範囲は、前記仮想カメラから０．７５ｍ〜３．５ｍの距離の範囲であり、前記表示処理部は、前記所与の距離範囲では表示物のぼかし処理を行わず、前記所与の距離範囲よりも遠い距離範囲において表示物のぼかし処理を行ってもよい。
【００２３】
このようにすれば、０．７５ｍ〜３．５ｍの距離範囲にある表示物については、例えばユーザが頻繁に視線を合わせたり、長時間、注視しても目の疲れ等が生じないという知見を有効利用して、ぼかし処理が行われない所与の距離範囲を設定できるようになる。
【００２４】
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くしてもよい。
【００２５】
このようにすれば、所定の表示物については、所与の距離範囲よりも遠い距離範囲に位置していても、ぼかし処理が行われなかったり、弱いぼかし度合いになる。従って、ぼかし処理が原因で、ユーザが当該表示物を認識しにくくなるなどの事態を防止できる。
【００２６】
また本発明の一態様では、前記表示処理部は、前記所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行ってもよい。
【００２７】
このようにすれば、所定の表示物については、所与の距離範囲よりも遠い距離範囲に位置していても、視認性を高める処理が行われるようになり、ユーザが、当該表示物を適切に視認できるようになる。
【００２８】
また本発明の一態様では、前記表示処理部は、前記視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、前記所定の表示物に対して行ってもよい。
【００２９】
このようにすれば、表示物のサイズや輝度や色調や奥行き値を変化させることで、当該表示物の視認性を高める処理を実現できるようになる。
【００３０】
また本発明の一態様では、前記頭部装着型表示装置を装着するユーザの視点情報のトラッキング情報を取得する入力処理部を含み（入力処理部としてコンピュータを機能させ）、前記仮想カメラ制御部は、前記トラッキング情報に基づいて前記仮想カメラの位置、姿勢を変化させてもよい。
【００３１】
このようにユーザの視点情報のトラッキング情報に基づいて仮想カメラの位置、姿勢を変化させることで、仮想現実感の高い表示画像を頭部装着型表示装置に表示できる。一方、このように、トラッキング情報に基づき仮想カメラの位置、姿勢が変化した場合にも、酔い防止用の画像エフェクト処理が行われることで、ユーザの３Ｄ酔いの発生を効果的に防止できるようになる。
【００３２】
また本発明の一態様では、前記表示処理部は、前記仮想カメラの視線方向又は視点位置の変化状況、前記移動体の移動状態の変化状況、前記仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
【００３３】
このようにすれば、種々の状況に応じて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
【００３４】
また本発明の一態様では、前記表示処理部は、前記ユーザのプレイレベルに応じて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
【００３５】
このようにすれば、ユーザのプレイレベルに応じて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
【００３６】
また本発明の一態様では、前記ユーザのプレイレベルは、前記ユーザの頭部の動きをトラッキングしたトラッキング情報又は前記ユーザのプレイ履歴情報に基づき判断されてもよい。
【００３７】
このようにすれば、ユーザの頭部のトラッキング情報やプレイ履歴情報を有効活用して、ユーザのプレイレベルを判断できるようになる。
【００３８】
また本発明の一態様では、前記表示処理部は、前記ユーザによる設定情報又は前記ユーザのプレイ履歴情報に基づいて、前記画像エフェクト処理のオン、オフの設定、或いは前記画像エフェクト処理のエフェクト度合いの設定を行ってもよい。
【００３９】
このようにすれば、ユーザが入力した設定情報や、ユーザのプレイ履歴情報などに基づいて、画像エフェクト処理をオン又はオフに設定したり、画像エフェクト処理のエフェクト度合いを変化させることが可能になる。
【００４０】
また本発明の一態様では、前記移動体の移動状態に応じて、前記ユーザのプレイ位置を変化させる可動筐体を含んでもよい。
【００４１】
このようにすれば、可動筐体によりユーザのプレイ位置を変化させることで、移動体の移動状態の変化をユーザに体感させることが可能になり、３Ｄ酔いの発生等を更に抑制できるようになる。
【図面の簡単な説明】
【００４２】
【図１】本実施形態のシミュレーションシステムの構成例を示すブロック図。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に用いられるＨＭＤの一例。
【図３】図３（Ａ）、図３（Ｂ）は本実施形態に用いられるＨＭＤの他の例。
【図４】シミュレーションシステムの一例であるロボットシミュレータの構成例。
【図５】図５（Ａ）は仮想空間において仮想ユーザが搭乗するロボットの説明図、図５（Ｂ）はロボットシミュレータでのゲーム画像の例。
【図６】ロボットシミュレータでのゲーム画像の例。
【図７】図７（Ａ）、図７（Ｂ）は電動シリンダを用いる可動筐体の動作説明図。
【図８】シミュレーションシステムの一例であるスキーシミュレータの構成例。
【図９】ＨＭＤの光学系の構成例を示す図。
【図１０】比較例の手法により生成されたゲーム画像の例。
【図１１】３Ｄ酔いの問題についての説明図。
【図１２】本実施形態の手法の説明図。
【図１３】本実施形態の手法により生成されたゲーム画像の例。
【図１４】図１４（Ａ）、図１４（Ｂ）は本実施形態の画像エフェクト処理として行われる被写界深度処理の説明図。
【図１５】図１５（Ａ）、図１５（Ｂ）は被写界深度の焦点領域の広さを移動体の移動状態に応じて変化させる手法の説明図。
【図１６】本実施形態の画像エフェクト処理として行われるフォグ処理の説明図。
【図１７】線分との衝突判定に基づく画像エフェクト処理の説明図。
【図１８】図１８（Ａ）、図１８（Ｂ）は仮想視距離、距離範囲の説明図。
【図１９】図１９（Ａ）、図１９（Ｂ）は遠い距離範囲にある表示物について、画像エフェクト処理の対象から除外したり、エフェクト度合いを弱める手法の説明図。
【図２０】遠い距離範囲にある表示物の視認性を高める処理の説明図。
【図２１】図２１（Ａ）〜図２１（Ｃ）はトラッキング情報に基づいて仮想カメラの位置、姿勢を変化させる手法の説明図。
【図２２】図２２（Ａ）〜図２２（Ｃ）はキャラクタが岩に衝突して進行方向等が変化する状況の説明図。
【図２３】各状況に応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを変化させる処理を説明するフローチャート。
【図２４】各状況に応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを設定する手法の説明図。
【図２５】ユーザのプレイレベルに応じて画像エフェクト処理のオン、オフを設定したり、エフェクト度合いを設定する手法の説明図。
【図２６】ユーザの頭部のトラッキング情報に基づいてプレイレベルを判断する処理のフローチャート。
【図２７】可動筐体、出力音の制御手法の説明図。
【図２８】ユーザの設定情報に基づき画像エフェクト処理のオン、オフやエフェクト度合いを設定する手法の説明図。
【図２９】ユーザのプレイ履歴情報に基づき画像エフェクト処理のオン、オフやエフェクト度合いを設定する手法の説明図。
【図３０】本実施形態の詳細な処理例を示すフローチャート。
【発明を実施するための形態】
【００４３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４４】
１．シミュレーションシステム
図１は、本実施形態のシミュレーションシステム（シミュレータ、ゲームシステム）の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ（ＶＲ）をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図１の構成に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００４５】
可動筐体４０（広義には筐体）は、例えばアーケード筐体などと呼ばれるものであり、シミュレーションシステムの装置の外殻となるものである。可動筐体４０は、ロボットゲームや車ゲームや飛行機ゲームなどにおけるコックピット筐体（体感筐体）であってもよいし、カードゲーム筐体などであってもよい。可動筐体４０は、シミュレーションシステムの本体部分であり、シミュレーションシステムを実現するための種々の機器、構造物が設けられる。そして可動筐体４０は、ユーザのプレイ位置等を変化させる。例えば可動筐体４０は、移動体の移動状態に応じて、ユーザのプレイ位置を変化させる。具体的には、移動体の速度や加速度の変化、又は移動体の進行方向の変化、又は移動体が移動するコースの状況などに応じて、ユーザのプレイ位置を変化させる。可動筐体４０の詳細について後述する。
【００４６】
操作部１６０は、ユーザ（プレーヤ）が種々の操作情報（入力情報）を入力するためのものである。操作部１６０は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル又はレバー等の種々の操作デバイスにより実現できる。例えば後述の図４では、操作レバー１６１、１６２、アクセルペダル１６３、ブレーキペダル１６４などにより操作部１６０が実現されている。
【００４７】
記憶部１７０は各種の情報を記憶する。記憶部１７０は、処理部１００や通信部１９６などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。記憶部１７０の機能は、半導体メモリ（ＤＲＡＭ、ＶＲＡＭ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ、光ディスク装置などにより実現できる。記憶部１７０は、オブジェクト情報記憶部１７２、描画バッファ１７８を含む。
【００４８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＢＤ、ＣＤ）、ＨＤＤ、或いは半導体メモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４９】
ＨＭＤ２００（頭部装着型表示装置）は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。ＨＭＤ２００は非透過型であることが望ましいが、透過型であってもよい。またＨＭＤ２００は、いわゆるメガネタイプのＨＭＤであってもよい。
【００５０】
ＨＭＤ２００は、センサ部２１０、表示部２２０、処理部２４０を含む。なおＨＭＤ２００に発光素子を設ける変形実施も可能である。センサ部２１０は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部２１０を用いたトラッキング処理により、ＨＭＤ２００の位置、方向を特定する。ＨＭＤ２００の位置、方向が特定されることで、ユーザの視点位置、視線方向を特定できる。
【００５１】
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第１のトラッキング方式では、後述の図２（Ａ）、図２（Ｂ）で詳細に説明するように、センサ部２１０として複数の受光素子（フォトダイオード等）を設ける。そして外部に設けられた発光素子（ＬＥＤ等）からの光（レーザー等）をこれらの複数の受光素子により受光することで、現実世界の３次元空間でのＨＭＤ２００（ユーザの頭部）の位置、方向を特定する。第２のトラッキング方式では、後述の図３（Ａ）、図３（Ｂ）で詳細に説明するように、複数の発光素子（ＬＥＤ）をＨＭＤ２００に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、ＨＭＤ２００の位置、方向を特定する。第３のトラッキング方式では、センサ部２１０としてモーションセンサを設け、このモーションセンサを用いてＨＭＤ２００の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば３軸の加速度センサと３軸のジャイロセンサを用いた６軸のモーションセンサを用いることで、現実世界の３次元空間でのＨＭＤ２００の位置、方向を特定できる。なお、第１のトラッキング方式と第２のトラッキング方式の組合わせ、或いは第１のトラッキング方式と第３のトラッキング方式の組合わせなどにより、ＨＭＤ２００の位置、方向を特定してもよい。またＨＭＤ２００の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向を直接に特定するトラッキング処理を採用してもよい。
【００５２】
ＨＭＤ２００の表示部２２０は例えば液晶ディスプレイ（ＬＣＤ）や有機ＥＬディスプレイなどにより実現できる。例えばＨＭＤ２００には、表示部２２０として、ユーザの左目の前に配置される第１のディスプレイと、右目の前に配置される第２のディスプレイが設けられており、例えば立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第１のディスプレイに左目用画像を表示し、第２のディスプレイに右目用画像を表示すればよい。なお１つのディスプレイの第１、第２の表示領域に左目用画像、右目用画像を表示するようにしてもよい。
【００５３】
ＨＭＤ２００の処理部２４０は、ＨＭＤ２００において必要な各種の処理を行う。例えば処理部２４０は、センサ部２１０の制御処理や表示部２２０の表示制御処理などを行う。また処理部２４０が、３次元音響（立体音響）処理を行って、３次元的な音の方向や距離や広がりの再現を実現してもよい。
【００５４】
音出力部１９２は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
【００５５】
Ｉ／Ｆ（インターフェース）部１９４は、携帯型情報記憶媒体１９５とのインターフェース処理を行うものであり、その機能はＩ／Ｆ処理用のＡＳＩＣなどにより実現できる。携帯型情報記憶媒体１９５は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体１９５は、ＩＣカード（メモリカード）、ＵＳＢメモリ、或いは磁気カードなどにより実現できる。
【００５６】
通信部１９６は、有線や無線のネットワークを介して外部（他の装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００５７】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５８】
処理部１００（プロセッサ）は、操作部１６０からの操作情報や、ＨＭＤ２００でのトラッキング情報（ＨＭＤの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報）や、プログラムなどに基づいて、ゲーム処理（シミュレーション処理）、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
【００５９】
処理部１００の各部が行う本実施形態の各処理（各機能）はプロセッサ（ハードウェアを含むプロセッサ）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。プロセッサは、例えばＣＰＵ（Central Processing Unit）であってもよい。但し、プロセッサはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサを用いることが可能である。またプロセッサはＡＳＩＣによるハードウェア回路であってもよい。メモリ（記憶部１７０）は、ＳＲＡＭ、ＤＲＡＭ等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置（ＨＤＤ）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部１００の各部の処理（機能）が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【００６０】
処理部１００は、入力処理部１０２、演算処理部１１０、出力処理部１４０を含む。演算処理部１１０は、ゲーム処理部１１２、可動筐体処理部１１３、移動体処理部１１４、オブジェクト空間設定部１１６、仮想カメラ制御部１１８、表示処理部１２０、音処理部１３０を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ（或いはプロセッサ及びメモリ）により実現できる。なお、これらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６１】
入力処理部１０２は、操作情報やトラッキング情報を受け付ける処理や、記憶部１７０から情報を読み出す処理や、通信部１９６を介して情報を受信する処理を、入力処理として行う。例えば入力処理部１０２は、操作部１６０を用いてユーザが入力した操作情報やＨＭＤ２００のセンサ部２１０等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部１７０から読み出す処理や、外部装置（サーバ等）からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部１９６に情報の受信を指示したり、通信部１９６が受信した情報を取得して記憶部１７０に書き込む処理などである。
【００６２】
演算処理部１１０は、各種の演算処理を行う。例えばゲーム処理（シミュレーション処理）、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などの演算処理を行う。
【００６３】
ゲーム処理部１１２（ゲーム処理のプログラムモジュール）はユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部１１２（シミュレーション処理部）は、ユーザが仮想現実（バーチャルリアリティ）を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【００６４】
可動筐体処理部１１３（可動筐体処理のプログラムモジュール）は、可動筐体４０についての種々の処理を行う。例えば可動筐体４０の制御処理を行ったり、可動筐体４０を制御するための種々の情報の検出処理を行う。例えば可動筐体処理部１１３は、後述の図７（Ａ）の電動シリンダ４１３、４１４の制御処理を行う。例えば電動シリンダ４１３、４１４のロッド部の直線運動を制御する処理を行う。また可動筐体処理部１１３は、図４の操作レバー１６１、１６２、アクセルペダル１６３、ブレーキペダル１６４による操作情報を検出する処理を行う。そして、検出された操作情報に基づいて、可動筐体４０の制御処理等を実行する。また可動筐体処理部１１３は、後述の図８のエアバネ部５０〜５３などの制御処理を行う。例えばエアバネ部５０〜５３を伸縮させるための制御処理を行う。また操作部材４３、４４によるスイング操作や、足台４５、４６によるエッジング操作が行われた場合に、可動筐体処理部１１３は、その操作情報の検出処理を行い、検出された操作情報に基づいて、可動筐体４０の制御処理等を実行する。
【００６５】
移動体処理部１１４（移動体処理のプログラムモジュール）は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間であるオブジェクト空間（ゲーム空間）において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部１１４は、操作部１６０によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（モデルオブジェクト）をオブジェクト空間内（仮想空間内）で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６６】
移動体は、例えば実空間のユーザ（プレーヤ）に対応する仮想空間の仮想ユーザ（仮想プレーヤ）、或いは当該仮想ユーザが搭乗（操作）する搭乗移動体（操作移動体）などである。例えば移動体は、後述の図４のロボットシミュレータにおいてユーザに対応するキャラクタ（仮想ユーザ）が搭乗するロボット（搭乗移動体）である。或いは図８のスキーシミュレータにおいて、ユーザに対応して仮想空間でスキーを行うキャラクタ（仮想ユーザ）である。
【００６７】
オブジェクト空間設定部１１６（オブジェクト空間設定処理のプログラムモジュール）は、複数のオブジェクトが配置されるオブジェクト空間（広義には仮想空間）の設定処理を行う。例えば、移動体（人、ロボット、車、電車、飛行機、船、モンスター又は動物等）、マップ（地形）、建物、観客席、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクト情報記憶部１７２には、オブジェクト空間でのオブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１１６は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
【００６８】
仮想カメラ制御部１１８（仮想カメラ制御処理のプログラムモジュール）は、オブジェクト空間の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。例えば仮想カメラの位置（視点位置）又は姿勢（視線方向）を制御する処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）や、姿勢情報である回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。この仮想カメラはユーザ（仮想ユーザ）の視点に相当する。立体視表示の場合は、左目用の第１の視点（左目用の第１の仮想カメラ）と、右目用の第２の視点（右目用の第２の仮想カメラ）が設定される。
【００６９】
表示処理部１２０（表示処理のプログラムモジュール）は、ゲーム画像（シミュレーション画像）の表示処理を行う。例えば処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、ＨＭＤ２００の表示部２２０に表示する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７８（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間（仮想空間）において仮想カメラ（所与の視点。左目用、右目用の第１、第２の視点）から見える画像が生成される。なお、表示処理部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００７０】
音処理部１３０（音処理のプログラムモジュール）は、処理部１００で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲（音楽、ＢＧＭ）、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部１９２に出力させる。なお音処理部１３０の音処理の一部（例えば３次元音響処理）を、ＨＭＤ２００の処理部２４０により実現してもよい。
【００７１】
出力処理部１４０は各種の情報の出力処理を行う。例えば出力処理部１４０は、記憶部１７０に情報を書き込む処理や、通信部１９６を介して情報を送信する処理を、出力処理として行う。例えば出力処理部１４０は、書き込み命令で指定された情報を、記憶部１７０に書き込む処理や、外部の装置（サーバ等）に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部１９６に情報の送信を指示したり、送信する情報を通信部１９６に指示する処理などである。
【００７２】
そして本実施形態のシミュレーションシステムは、図１に示すように、移動体処理部１１４と仮想カメラ制御部１１８と表示処理部１２０を含む。また入力処理部１０２を含むことができる。
【００７３】
移動体処理部１１４は、ユーザに対応する移動体（仮想ユーザ、搭乗移動体等）を仮想空間（オブジェクト空間）において移動させる処理を行う。例えば移動体の位置、方向の情報を所定期間毎（例えばフレーム毎）に求める処理を行って、仮想空間のコースなどにおいて移動体を移動させる処理を行う。また移動体処理部１１４は移動体を動作させる処理（モーション処理）なども行う。
【００７４】
仮想カメラ制御部１１８は、移動体の移動に応じて移動する仮想カメラの制御を行う。例えば移動体に追従するように移動する仮想カメラの制御を行う。例えば仮想カメラ制御部１１８は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する移動体の視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置（位置座標）や姿勢（回転軸回りでの回転角度）を制御する。
【００７５】
表示処理部１２０は、ＨＭＤ２００の表示画像（表示映像）として、仮想空間において仮想カメラ（ユーザ視点）から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は立体視用の画像であることが望ましい。
【００７６】
そして表示処理部１２０は、酔い防止用（３Ｄ酔い防止用）の画像エフェクト処理を行う。具体的には表示処理部１２０は、仮想カメラから所与の距離範囲にある表示物に比べて、所与の距離範囲よりも遠い距離範囲にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理（広義には画像処理）として行って、表示画像を生成する。例えば所与の距離範囲である第１の距離範囲にある表示物（オブジェクト）についてはぼかし処理を行わず、所与の距離範囲よりも遠い距離範囲である第２の距離範囲にある表示物に対してはぼかし処理を行う。こうすることで、第１の距離範囲にある表示物については焦点が合った画像（フォーカス画像）になり、第２の距離範囲にある表示物については焦点が合っていない画像（デフォーカス画像）になる。ここで第１の距離範囲と第２の距離範囲は連続している必要はなく、その間に第３の距離範囲があってもよい。また距離範囲は、仮想カメラからの奥行き方向（Ｚ方向）での距離（奥行き距離）の範囲である。また画像エフェクト処理は、例えば、仮想カメラから見える画像（レンダリング処理により生成された画像）に対するポストエフェクト処理として行うことができる。また酔い防止用の画像エフェクト処理は、フォトリアリスティックな画像を生成するためのエフェクト処理ではなく、ユーザの３Ｄ酔いを防止することを目的に行われるエフェクト処理である。
【００７７】
例えば表示処理部１２０は、画像エフェクト処理として、被写界深度処理を行う。被写界深度処理は、焦点の前後の距離に応じてぼかし処理（ブラー）をシーンに対して適用する処理である。被写界深度処理は、例えば画像処理のエンジン（例えばアンリアルエンジン）のライブラリとして用意されるものである。例えば被写界深度処理では、ぼかし方式（ガウシアンＤＯＦ、ぼけＤＯＦ等）、焦点距離、焦点領域、近点側遷移範囲（ニア遷移レンジ）、遠点側遷移範囲（ファー遷移レンジ）、或いはぼかし度合い（ぼかしサイズ）などの各種パラメータの設定が可能になっている。本実施形態では、このパラメータの設定として、通常のフォトリアリスティックな画像の生成とは異なる酔い防止用の特別な設定を行う。
【００７８】
具体的には表示処理部１２０は、所与の距離範囲（第１の距離範囲）が、被写界深度の焦点領域に含まれ、仮想カメラから見て焦点領域よりも手前側の領域（近点側の領域）ではぼかし処理が行われず、焦点領域よりも奥側の領域（遠点側の領域）ではぼかし処理が行われる被写界深度処理を行う。即ち、このような被写界深度処理が行われるように上述のパラメータを設定して、酔い防止用の被写界深度処理を実現する。例えば近点側遷移範囲を無効にし、仮想カメラの位置から遠点側遷移範囲までの間が焦点領域になるように被写界深度処理のパラメータを設定する。そして、この焦点領域に所与の距離範囲（例えば後述する０．７５ｍ〜３．５ｍの距離範囲）が入るようにする。
【００７９】
この場合に表示処理部１２０は、被写界深度の焦点領域の広さを、移動体の移動状態（速度、加速度又は移動方向等）に応じて変化させてもよい。例えば移動体の速度（角速度）が速くなるにつれて、焦点領域を狭くする。例えば移動体が停止状態の場合には、焦点領域を通常の広さに設定し、移動体が所与の速度（角速度）以上になった場合に、焦点領域を狭くする。その後、速度が高くなるにつれて更に焦点領域を狭くしてもよい。
【００８０】
また表示処理部１２０は、画像エフェクト処理として、フォグ処理を行ってもよい。フォグ処理は、例えばフォグ色（フォグのターゲット色）が設定可能なフォグ処理（例えばアンリアルエンジンにおける指数関数的高さフォグ）であってもよいし、フォグ色を設定しないフォグ処理（例えばアンリアルエンジンにおける環境フォグ）であってもよい。また画像エフェクト処理として、被写界深度処理とフォグ処理の両方を行うことが望ましい。例えば被写界深度処理を行うと共に、各ゲームステージ（夜、朝、夕方のゲームステージ等）に対応したフォグ色（黒、白、赤等）でのフォグ処理を行う。こうすることで、より効果的な酔い防止を実現できる。
【００８１】
また表示処理部１２０は、仮想カメラから視線方向側に伸びる所与の長さの線分との衝突判定処理により線分と交差したと判定された表示物についてはぼかし処理を行わず、他の表示物に対してぼかし処理を行う画像エフェクト処理を行ってよい。例えばぼかし処理を行わない表示物の画像を生成する範囲を、当該線分の長さにより規定する。そして、仮想カメラから伸びる線分と表示物とが交差したか否かを判定する衝突判定を行う。そして線分と交差（衝突）したと判定された表示物については、ぼかし処理を行わないようにする。即ち当該表示物については焦点が合った画像を生成する。そして、線分と交差しない他の表示物がぼかし処理の候補対象となり、当該表示物に対してぼかし処理を行うようにする。ここで線分は、例えば敵に対する照準を設定するための線分であってもよい。例えば線分と交差した表示物が、ユーザの攻撃対象となり、その表示物に照準が重畳表示された状態でユーザが攻撃動作を行うと、当該表示物に対して攻撃がヒットする。
【００８２】
また所与の距離範囲は、例えばＨＭＤ２００の仮想視距離（広義には視距離）に基づき設定される範囲である。例えばＨＭＤ２００が接眼レンズなどの光学系やディスプレイを有している場合に、ユーザの目の位置と接眼レンズとディスプレイの位置関係に基づいて、仮想視距離が規定される。そして、この仮想視距離の位置にある仮想画面が、ＨＭＤ２００の画像（虚像）が映る画面となる。例えばＨＭＤ２００の光学系は、画面をこの仮想視距離だけ離れた位置で見ることと等しくなるように設計されている。そして、この仮想視距離を含む所与の距離範囲内にある表示物については、ぼかし処理が行われないようにして、焦点が合った画像が生成されるようにする。
【００８３】
具体的には所与の距離範囲は、例えば仮想カメラから０．７５ｍ〜３．５ｍの距離の範囲である。この距離は仮想空間での距離であり、仮想空間での距離は現実世界での距離と一致（略一致）するように仮想世界が設計されている。例えば表示物が０．７５ｍ〜３．５ｍに距離範囲にあれば、当該表示物にユーザが長時間、目を向けたとしても、目の疲れ等が生じないとされている。表示処理部１２０は、少なくとも所与の距離範囲である０．７５ｍ〜３．５ｍの範囲では表示物のぼかし処理を行わず、所与の距離範囲よりも遠い距離範囲において表示物のぼかし処理を行う。
【００８４】
また表示処理部１２０は、所与の距離範囲（第１の距離範囲）よりも遠い距離範囲（第２の距離範囲）にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外する、又はぼかし処理のぼかし度合いを他の表示物に比べて弱くする。例えばゲーム等で重要な表示物や、ユーザに見せる必要がある特定の表示物については、画像エフェクト処理のぼかし処理の対象から除外したり、ぼかし処理のぼかし度合い（エフェクト度合い）を他の表示物に比べて弱くする。こうすることで、ユーザにとって重要な表示物等が、画像エフェクト処理により強くぼけてしまって、ユーザから見えにくくなってしまう事態が防止される。
【００８５】
また表示処理部１２０は、所与の距離範囲よりも遠い距離範囲にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行う。例えば表示処理部１２０は、視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、及び奥行き値変化処理の少なくとも一方を、所定の表示物に対して行う。視認性を高める処理は、ユーザが、より容易にその表示物を視認できるようにするための処理である。サイズ変化処理は、当該表示物のサイズを変化させる処理である。輝度変化処理や色調変化処理は、当該表示物の輝度（明るさ）や色調（色合い。明度と彩度の組合わせで表した色の系統）を変化させる処理である。奥行き値変化処理は、当該表示物の奥行き値（仮想カメラから見た奥行き距離）を変化させる処理である。
【００８６】
また入力処理部１０２（入力受け付け部）は、ＨＭＤ２００を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも１つである視点情報のトラッキング情報（視点トラッキング情報）を取得する。このトラッキング情報は、例えばＨＭＤ２００のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。具体的にはトラッキング情報は、ユーザの初期視点情報からの視点情報の変化情報を含む。例えばトラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報（視点位置の座標の変化値）、及び、ユーザの初期視線方向からの視線方向の変化情報（視線方向の回転軸回りでの回転角度の変化値）の少なくとも一方を含む。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向（ユーザの頭部の位置、姿勢の情報）を特定できるようになる。
【００８７】
そして仮想カメラ制御部１１８は、取得されたトラッキング情報（ユーザの視点位置及び視線方向の少なくとも一方の情報）に基づいて仮想カメラの位置、姿勢を変化させる。例えば、仮想カメラ制御部１１８は、実空間でのユーザの視点位置、視線方向の変化に応じて仮想カメラの位置（視点位置）、姿勢（視線方向）が変化するように、仮想カメラを設定する。
【００８８】
例えば仮想空間での仮想ユーザの視点（一人称視点）に対して仮想カメラが設定される。そしてＨＭＤ２００を装着した実空間（実世界）のユーザが首を振ったり、体を動かすなどして、ユーザの視点位置や視線方向が変化すると、仮想空間の仮想ユーザの視点位置や視線方向もそれに応じて変化する。即ち、実空間でのユーザの視点位置や視線方向が変化すると、それに応じて仮想空間での仮想カメラの位置や姿勢が変化する。またユーザが操作部１６０を操作することなどにより、仮想ユーザ（キャラクタ）やその搭乗移動体（ロボット、電車、車、バイク、自転車、飛行機又は船等）が仮想空間内で移動すると、その移動に追従するように仮想カメラの位置（仮想ユーザの視点位置）も変化する。このようにすることで、ユーザは、あたかも自身の分身である仮想ユーザやその搭乗移動体が仮想空間で移動するような仮想現実を体験できるようになる。なお仮想空間での仮想ユーザの視点は、例えば一人称視点になるが、その一人称視点の画像に、例えば仮想ユーザ（キャラクタ）の体の一部が映ったり、搭乗移動体の内部の様子が映るようにしてもよい。
【００８９】
なお仮想カメラの姿勢は、例えば、仮想カメラの視線方向のベクトルと、仮想カメラの上方向のベクトル（仮想カメラの上向き方向がどの方向であるかを表すベクトル）とにより規定できる。視線方向のベクトルは仮想カメラの注視位置により設定できる。例えば仮想カメラの視線方向のベクトルを変化させることで、仮想カメラのピッチングやヨーイングの姿勢変化（回転移動）を実現できる。例えば仮想カメラの上方向のベクトルを変化させることで、仮想カメラのローリングの姿勢変化（回転移動）を実現できる。
【００９０】
また移動体の姿勢は、複数の各回転軸回り（Ｘ軸、Ｙ軸、Ｚ軸）での移動体（モデルオブジェクト）の回転角度により規定できる。移動体の姿勢変化は各回転軸回りでの回転移動である。例えば移動体の姿勢は、ワールド座標系に対する移動体のローカル座標系の各回転軸回りでの回転角度により規定でき、例えば座標変換の回転行列により表すことができる。
【００９１】
またＨＭＤ２００に対して画像を表示する代わりに、プロジェクション用のスクリーンに対して投影装置により画像を投影するようにしてもよい。プロジェクション用スクリーンは、１つの曲面又は複数の面により構成されるスクリーンであり、例えばドーム形状のスクリーンと呼ばれる曲面スクリーンである。
【００９２】
また表示処理部１２０は、仮想カメラの視線方向又は視点位置の変化状況、移動体の移動状態の変化状況、仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況に応じて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行う。
【００９３】
例えば仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等（広義には移動状態）が大きく変化するような状況（変化イベント）が発生した場合に、画像エフェクト処理をオンにする。例えば仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化が急激に起こる状況（例えば衝突、急カーブ、スピン、転倒、急激な下り道又は落下等）や、起こることが予定される状況である場合に、ユーザの３Ｄ酔いが引き起こされる可能性が高いと判断して、画像エフェクト処理をオンにする。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等が全く変化していない場合には、画像エフェクト処理をオフにしてもよい。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化量に応じて、画像エフェクト処理のエフェクト度合いを設定する。例えば変化量が大きいほどエフェクト度合いを強くする。エフェクト度合いは、例えばぼけ処理におけるぼけ度合いや、エフェクト処理の開始タイミングやエフェクト処理期間の長さなどを特定する情報などである。
【００９４】
或いは、仮想カメラの注視場所又は注視対象が、酔いが発生しやすい場所や対象である場合に、画像エフェクト処理をオンにし、そのような場所や対象ではない場合に、画像エフェクト処理をオフにする。例えば、ユーザの視点に対応する仮想カメラの向く方向の場面が、３Ｄ酔いが生じやすい状況である場合には、画像エフェクト処理をオンにする。例えば注視場所等において多くの表示物が表示されている状況である場合に、画像エフェクト処理をオンにし、殆ど表示物が表示されていない状況である場合に、画像エフェクト処理をオフにする。或いは、注視場所又は注視対象での状況に応じて、画像エフェクト処理のエフェクト度合いを変化させる。例えば注視場所等での表示物の数に応じて、画像エフェクト処理のエフェクト度合いを変化させる。例えば表示物の数が多いほどエフェクト度合いを強くする。或いは、ゲーム状況が、酔いが生じやすいゲーム状況である場合に、画像エフェクト処理をオンにし、そのようなゲーム状況ではない場合に、画像エフェクト処理をオフにする。或いはゲーム状況に応じて画像エフェクト処理のエフェクト度合いを変化させる。ゲーム状況は、例えば、ゲームの進行状況（ゲームの序盤、中盤、終盤等）、ユーザがプレイするゲームステージの状況（ゲームステージの種類、属性等）、敵との対戦状況、ユーザ（仮想ユーザ）のステータスや獲得ポイントの状況、或いはゲームにおけるユーザ（仮想ユーザ）の周囲の状況などである。
【００９５】
なお、場面ごとに酔い度数が設定されたテーブル情報を記憶部１７０に記憶しておき、このテーブル情報に基づいて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
【００９６】
また表示処理部１２０は、ユーザのプレイレベル（ゲームプレイのレベル）に応じて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行ってもよい。例えばユーザのプレイレベルが低い場合（例えば初心者、初級者等）には、画像エフェクト処理をオンにし、プレイレベルが高い場合（例えば上級者等）には、画像エフェクト処理をオフにする。或いは、ユーザのプレイレベルが低いほど、画像エフェクト処理のエフェクト度合いを強くして、ＨＭＤのゲームに慣れていない初心者や初級者のユーザが３Ｄ酔いを引き起こすのを防止する。またユーザのプレイレベルが高いほど、画像エフェクト処理のエフェクト度合いを弱くして、上級者のユーザが、画像エフェクト処理があまりかかっていないゲーム画像でゲームを楽しめるようにする。
【００９７】
この場合にユーザのプレイレベルは、ユーザの頭部の動きをトラッキングしたトラッキング情報又はユーザのプレイ履歴情報に基づき判断してもよい。例えばゲーム開始後におけるユーザの頭部のトラッキング情報（視点トラッキング情報）や、記憶部１７０に記憶されるユーザの過去のプレイ履歴情報などに基づき、ユーザのプレイレベルを判断する処理を行う。この判断処理は例えばゲーム処理部１１２が行う。例えば初心者や初級者のユーザは、ゲームが開始してから、しばらくの間、ＨＭＤ２００を装着した頭部をあまり動かさない傾向にある。一方、上級者のユーザは、ゲームの序盤から頭部を頻繁に動かして、色々な場所を見ようとする傾向にある。従って、ゲーム開始後のユーザの頭部の動きのトラッキング情報に基づいて、ユーザのプレイレベルを判断できる。或いは、過去のユーザのプレイ履歴情報に基づいて、ユーザのプレイのレベルを判断する。例えばプレイ履歴情報に基づいて、頻繁にゲームプレイを行っている判断されるユーザは、プレイレベルが高いと判断し、初めてゲームプレイを行ったと判断されるユーザは、プレイレベルが低いと判断する。このプレイ履歴情報は、例えばユーザが所持する携帯型情報記憶媒体１９５から読み出してもよいし、携帯型情報記憶媒体１９５に記憶されるユーザＩＤ等の識別情報に基づいて、サーバからダウンロードしてもよい。
【００９８】
また表示処理部１２０は、ユーザによる設定情報又はユーザのプレイ履歴情報に基づいて、画像エフェクト処理のオン、オフの設定、或いは画像エフェクト処理のエフェクト度合いの設定を行ってもよい。例えばゲームの各種の設定情報をユーザが入力するためのオプション設定画面などにおいて、画像エフェクト処理のオン、オフや、画像エフェクト処理のエフェクト度合いを設定できるようにする。或いは、ユーザの過去のプレイ履歴情報などに基づいて、画像エフェクト処理のオン、オフや、画像エフェクト処理のエフェクト度合いを設定する。例えばプレイ履歴情報に基づいて、ゲームプレイを頻繁に行っておりゲームプレイに慣れていると判断されるユーザや、上級者であると判断されるユーザについては、画像エフェクト処理をオフにしたり、画像エフェクト処理のエフェクト度合いを弱くする。一方、プレイ履歴情報に基づいて、初心者や初級者であると判断されるユーザや、中級者であると判断されるユーザについては、画像エフェクト処理をオンにしたり、画像エフェクト処理のエフェクト度合いを強くする。
【００９９】
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などの移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
【０１００】
そして可動筐体４０は、移動体の移動状態に応じて、ユーザのプレイ位置を変化させる。移動状態は、移動体の速度（角速度）、加速度（角加速度）、移動方向、或いは移動環境などの状態である。例えば可動筐体４０は、ゲーム処理であるシミュレーション処理の結果に基づいてプレイ位置を変化させる。例えば仮想空間での移動体の移動処理の結果等に基づいて、プレイ位置を変化させる。例えば、ユーザの進行方向の変化に伴う加速度の変化（加速、減速）を、ユーザに体感させるためのシミュレーション処理として、可動筐体４０によりプレイ位置を変化させる処理を行う。或いは、コース上を移動体が移動する際に、コースの上り下りや凹凸をユーザに体感させるためのシミュレーション処理として、可動筐体４０によりプレイ位置を変化させる処理を行う。このように可動筐体４０によりプレイ位置を変化させることで、ＨＭＤ２００での表示画像の揺れと、ユーザが体感する加速度等の変化が、ある程度連動するようになり、ユーザの３Ｄ酔い等を抑制できるようになる。
【０１０１】
なおプレイ位置は、仮想現実（ＶＲ）のシミュレーションゲームをプレイする際にユーザが位置するプレイポジションである。例えばプレイ位置は、シートなどのライド部でのユーザのライド位置である。例えばライド部であるシート等に座って、仮想現実のシミュレーションゲームをプレイしている場合には、プレイ位置は例えばシートのライド位置である着座位置である。またユーザが、バイク、自転車、又は馬などの乗り物や動物を模擬したライド部にまたがっている場合には、プレイ位置は、またがっている位置である。またユーザが立ち姿勢でシミュレーションゲームをプレイする場合には、プレイ位置は、例えばユーザの立ち位置である。
【０１０２】
また本実施形態のシミュレーションシステムは音処理部１３０を有しており、音処理部１３０は、移動体の移動状態に応じた出力音を生成する処理を行う。例えば移動体の進行方向の変化に応じた音又は移動体が移動するコースの状況に応じた出力音を生成する。例えば移動体の進行方向が変化したり、コースの状況が変化した場合に、その変化をユーザに認識させるための出力音を生成する。例えば凹凸のあるコースでは、「ガタガタ」というような音を出力して、コースに凹凸があることをユーザに聴覚的に認識させる。またユーザの進行方向が急激に変化した場合に、進行方向を変化させる加速度の変化（加速、減速等）をユーザに認識させるための音を出力して、進行方向が変化したことをユーザに聴覚的に認識させる。このようにすることで、ユーザの３Ｄ酔いの発生を低減できるようになる。
【０１０３】
２．トラッキング処理
次にトラッキング処理の例について説明する。図２（Ａ）に本実施形態のシミュレーションシステムに用いられるＨＭＤ２００の一例を示す。図２（Ａ）に示すようにＨＭＤ２００には複数の受光素子２０１、２０２、２０３（フォトダイオード）が設けられている。受光素子２０１、２０２はＨＭＤ２００の前面側に設けられ、受光素子２０３はＨＭＤ２００の右側面に設けられている。またＨＭＤの左側面、上面等にも不図示の受光素子が設けられている。
【０１０４】
またＨＭＤ２００には、ヘッドバンド２６０等が設けられており、ユーザＰＬは、より良い装着感で安定的に頭部にＨＭＤ２００を装着できるようになっている。また、ＨＭＤ２００には、不図示のヘッドホン端子が設けられており、このヘッドホン端子にヘッドホン２７０（音出力部１９２）を接続することで、例えば３次元音響（３次元オーディオ）の処理が施されたゲーム音を、ユーザＰＬは聴くことが可能になる。なお、ユーザの頭部の頷き動作や首振り動作をＨＭＤ２００のセンサ部２１０等により検出することで、ユーザの操作情報を入力できるようにしてもよい。
【０１０５】
図２（Ｂ）に示すように、シミュレーションシステム（可動筐体４０）の周辺には、ベースステーション２８０、２８４が設置されている。ベースステーション２８０には発光素子２８１、２８２が設けられ、ベースステーション２８４には発光素子２８５、２８６が設けられている。発光素子２８１、２８２、２８５、２８６は、例えばレーザー（赤外線レーザー等）を出射するＬＥＤにより実現される。ベースステーション２８０、２８４は、これら発光素子２８１、２８２、２８５、２８６を用いて、例えばレーザーを放射状に出射する。そして図２（Ａ）のＨＭＤ２００に設けられた受光素子２０１〜２０３等が、ベースステーション２８０、２８４からのレーザーを受光することで、ＨＭＤ２００のトラッキングが実現され、ユーザＰＬの頭の位置や向く方向（視点位置、視線方向）を検出できるようになる。
【０１０６】
図３（Ａ）にＨＭＤ２００の他の例を示す。図３（Ａ）では、ＨＭＤ２００に対して複数の発光素子２３１〜２３６が設けられている。これらの発光素子２３１〜２３６は例えばＬＥＤなどにより実現される。発光素子２３１〜２３４は、ＨＭＤ２００の前面側に設けられ、発光素子２３５や不図示の発光素子２３６は、背面側に設けられる。これらの発光素子２３１〜２３６は、例えば可視光の帯域の光を出射（発光）する。具体的には発光素子２３１〜２３６は、互いに異なる色の光を出射する。そして図３（Ｂ）に示す撮像部１５０をユーザＰＬの前方側に設置し、この撮像部１５０により、これらの発光素子２３１〜２３６の光を撮像する。即ち、撮像部１５０の撮像画像には、これらの発光素子２３１〜２３６のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザＰＬの頭部（ＨＭＤ）のトラッキングを実現する。即ちユーザＰＬの頭部の３次元位置や向く方向（視点位置、視線方向）を検出する。
【０１０７】
例えば図３（Ｂ）に示すように撮像部１５０には第１、第２のカメラ１５１、１５２が設けられており、これらの第１、第２のカメラ１５１、１５２の第１、第２の撮像画像を用いることで、ユーザＰＬの頭部の奥行き方向での位置等が検出可能になる。またＨＭＤ２００に設けられたモーションセンサのモーション検出情報に基づいて、ユーザＰＬの頭部の回転角度（視線）も検出可能になっている。従って、このようなＨＭＤ２００を用いることで、ユーザＰＬが、周囲の３６０度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間（仮想３次元空間）での画像（ユーザの視点に対応する仮想カメラから見える画像）を、ＨＭＤ２００の表示部２２０に表示することが可能になる。なお、発光素子２３１〜２３６として、可視光ではなく赤外線のＬＥＤを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
【０１０８】
なお、ユーザの視点位置、視線方向（ユーザの位置、方向）を検出するトラッキング処理の手法は、図２（Ａ）〜図３（Ｂ）で説明した手法には限定されない。例えばＨＭＤ２００に設けられたモーションセンサ等を用いて、ＨＭＤ２００の単体でトラッキング処理を実現してもよい。即ち、図２（Ｂ）のベースステーション２８０、２８４、図３（Ｂ）の撮像部１５０などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。
【０１０９】
３．シミュレーションシステムの具体例
次にシミュレーションシステムの具体例について説明する。図４は、シミュレーションシステムの一例であるロボットシミュレータ（ロボットゲーム装置）の構成例を示す斜視図である。図４に示す可動筐体４０では、底部４５０（ベース部）の上にカバー部４５１が設けられ、その上に、ベース部４５２（台座部）が設けられる。このベース部４５２にはシート支持部４６４が設けられ、シート支持部４６４の上にシート４６２が取り付けられることで、ライド部４６０が構成されている。
【０１１０】
またベース部４５２には、移動部４７０が設けられる。具体的には、ベース部４５２にはレール部４５４、４５５が設けられ、レール部４５４、４５５に沿った方向で移動可能になるように、移動部４７０が設けられる。
【０１１１】
移動部４７０は支持部４７２を有し、支持部４７２の上端には上面部４７３（操作基台）が設けられる。そして上面部４７３には、操作レバー１６１、１６２や、センサ部を有するゲームコントローラ１６５が設けられている。ゲームコントローラ１６５が有するセンサ部は、位置及び方向の少なくとも一方を検出する。操作レバー１６１、１６２は、図１の操作部１６０を構成するものである。ユーザが操作レバー１６１、１６２を手で操作すると、それに連動して、仮想空間のロボットのコックピット内の仮想ユーザが、コックピットに設けられた操作レバーを操作する様子が表示されるようになる。
【０１１２】
ユーザが、操作レバー１６１、１６２を前方側に倒すと、仮想空間のロボットが前方側に移動し、操作レバー１６１、１６２を後方側に倒すと、ロボットが後方側に移動する。ユーザが操作レバー１６１、１６２が右方向側、左方向側に倒すと、ロボットが右方向側、左方向側に移動する。また操作レバー１６１、１６２の一方を前方側に倒し、他方を後方側に倒すことで、ロボットの向く方向を変えることができる。
【０１１３】
ゲームコントローラ１６５には、センサ部として用いられる少なくとも１つの受光素子が設けられる。そして図２（Ａ）、図２（Ｂ）のトラッキング処理と同様の処理により、ゲームコントローラ１６５のセンサ部の検出機能（位置及び方向の少なくとも一方の検出機能）が実現される。この検出機能により、例えば可動筐体４０の可動によるプレイ位置（ライド部４６０でのライド位置、着座位置）の変化を検出できるようになる。
【０１１４】
移動部４７０の支持部４７２の下端には下面部４７４が設けられ、下面部４７４には、アクセルペダル１６３、ブレーキペダル１６４が設けられる。ユーザがアクセルペダル１６３を踏むと、仮想空間のロボットが加速して移動するダッシュ移動が行われる。ユーザがブレーキペダル１６４を踏むと、ロボットの移動が停止する。
【０１１５】
可動筐体４０のベース部４５２には、フレーム部４３０が設けられている。そしてフレーム部４３０のガイド部４３２が、処理装置からのケーブル２０をガイドしている。例えば下方から上方へと向かう所定経路でケーブル２０をガイドする。そして、ガイドされたケーブル２０は、経由点ＴＰを経由してＨＭＤ２００に接続される。具体的には、ケーブル２０は、経由点ＴＰにおいて固定具４３３により固定されて、ＨＭＤ２００に接続される。
【０１１６】
本実施形態のロボットシミュレータでは、図５（Ａ）に示すように、ユーザに対応する仮想ユーザＰＬＶ（仮想プレーヤ）が、仮想空間内のロボットＲＢのコックピットＣＫＰに搭乗して、敵ロボット等と対戦するロボットゲームのゲーム画像が生成される。ロボットＲＢの出撃時には、仮想世界において、図５（Ａ）のフードＦＤが閉じられる。そしてユーザ（仮想ユーザ）は、狭い空間のコックピットＣＫＰ内でロボットＲＢを操縦して、敵ロボット等と対戦するゲームを楽しむことになる。
【０１１７】
図５（Ｂ）、図６は本実施形態のロボットシミュレータで生成されるゲーム画像の例である。これらのゲーム画像に示すように、仮想世界のロボットＲＢの有視界式のコックピットＣＫＰのフードＦＤには、ウィンドウＷＤが設けられており、ユーザは、このウィンドウＷＤを介して外界の様子を見ることができる。図６では、ウィンドウＷＤ内には、敵ロボットＥＲＢや照準ＳＧや戦闘フィールドのマップが表示されている。またユーザが操作するロボットＲＢの武器であるミサイルのランチャーＬＡＡ、キャノン砲ＣＮＢや、これらの武器の残り弾数を示す弾数アイコンＳＮＡ、ＳＮＢも表示されている。
【０１１８】
照準ＳＧは、ＨＭＤ２００を装着するユーザの視線（頭部、ＨＭＤ）の動きに追従するように移動する。例えばユーザが右を向けば、ゲーム画像上の照準ＳＧは右に移動し、左を向けば照準ＳＧは左に移動する。ユーザは、照準ＳＧの位置を敵ロボットＥＲＢの位置に移動し、ランチャーＬＡＡやキャノン砲ＣＮＢにより攻撃することで、対戦ゲームを楽しむ。
【０１１９】
ユーザが、頭部を頷くように下に向けて、視線を下に向けると、図５（Ｂ）に示すようなゲーム画像が表示される。図５（Ｂ）のゲーム画像では、ディスプレイＤＩＳや、操作レバーＬＶＬ、ＬＶＲや、仮想ユーザＰＬＶの手ＨＬ、ＨＲの画像が表示される。そして現実世界のユーザが操作部１６０（左用、右用の操作レバー）を操作すると、それに連動して、仮想世界の仮想ユーザＰＬＶの手ＨＬ、ＨＲが操作レバーＬＶＬ、ＬＶＲを操作する様子が表示される。これにより、あたかも本物のロボットを操作しているかのような感覚をユーザに与えることができ、ユーザの仮想現実感を大幅に向上できる。
【０１２０】
なお図６のゲーム画像は、例えば仮想世界のロボットＲＢの外装等に左目用の仮想カメラと右目用の仮想カメラを取り付けて、左目用の仮想カメラから見える画像を、ユーザの左目用画像のウィンドウＷＤの場所に表示（投影）し、右目用の仮想カメラから見える画像を、ユーザの右目用画像のウィンドウＷＤの場所に表示（投影）することで実現してもよい。
【０１２１】
このように本実施形態のシミュレーションシステムでは、ユーザの全周囲の方向に亘って、仮想空間であるＶＲ（VirtualReality）空間の世界が広がる。例えばユーザが前方の正面側を向けば、図６のように仮想世界のロボットＲＢのコックピットＣＫＰのフードＦＤに設けられたウィンドウＷＤを介して、敵ロボットＥＲＢや風景が見ることができる。またユーザが前方の下方側を向けば、図５（Ｂ）のようにコックピットＣＫＰに配置されたディスプレイＤＩＳや、仮想ユーザＰＬＶが手ＨＬ、ＨＲにより操作レバーＬＶＬ、ＬＶＲを操作している様子を見ることができる。従って、あたかも本物のロボットのコックピットに着座して、当該ロボットを操作しているというような感覚をユーザに与えることができ、ユーザの仮想現実感を大幅に向上できる。
【０１２２】
図７（Ａ）は、可動筐体４０（可動機構）の動作を概略的に説明する図である。なお図７（Ａ）では、説明の簡素化のために、図４のカバー部４５１、ベース部４５２、シート支持部４６４等の構成を省略して示している。例えば図７（Ａ）では、電動シリンダ４１３、４１４により、シート４６２（ライド部４６０）が回転移動する場合について説明するが、実際には図４のベース部４５２、シート４６２等が一体となって、回転移動する。
【０１２３】
図７（Ａ）に示すように、可動筐体４０は、アクチェエータである電動シリンダ４１３、４１４を有する。電動シリンダ４１３、４１４は、処理装置からの電気信号である制御信号に基づいて、Ａ１、Ａ２に示すように、そのロッド部を直線運動させ、これにより、シート４６２の方向（姿勢）等を変化させる動作が実現される。具体的には、図４において、シート４６２（ライド部４６０）が取り付けられているベース部４５２の方向（姿勢）等を変化させる動作が実現される。
【０１２４】
可動筐体４０の底部４５０には、基台４０２が設けられており、基台４０２にはヒンジ部４０３、４０４が設けられている。そして電動シリンダ４１３、４１４の一端は、ヒンジ部４０３、４０４により基台４０２に取り付けられる。具体的にはヒンジ部４０３、４０４は、水平方向であるＸ軸回りに回動自在となるように電動シリンダ４１３、４１４の一端を支持している。またシート４６２の背もたれ部の裏面側には取り付け部材４２０が設けられており、取り付け部材４２０には、ヒンジ部４２３、４２４が設けられている。そして電動シリンダ４１３、４１４の他端は、ヒンジ部４２３、４２４により取り付け部材４２０に取り付けられる。具体的にはヒンジ部４２３、４２４は、Ｘ軸回りに回動自在となるように電動シリンダ４１３、４１４の他端を支持している。
【０１２５】
基台４０２には、ヒンジ部４０５、４０６が設けられ、ヒンジ部４０５、４０６には支持部４１５、４１９の一端が取り付けられている。そして、支持部４１５、４１９の他端はシート４６２の座部（裏面）に取り付けられる。より具体的には、支持部４１５は、リンクボール４１６、４１７と、ヨー方向（旋回）の動きを規制するリンクシャフト４１８により構成される。支持部４１９は、リンクボールにより構成される。なお、支持部４１５、４１９は、実際には図４のカバー部４５１の内側に設けられている。
【０１２６】
図７（Ｂ）に、支持部４１９等を構成するリンクボールの例を示す。支持部４１９では、図７（Ｂ）のＢ１に示す雄ネジ側が、シート４６２側（可動側）に固定され、Ｂ２に示す雌ネジ側が、底部４５０側（固定側）に固定される。
【０１２７】
このような球面すべり軸受け部材であるリンクボールを用いることで、支持部４１９によるピッチング、ローリング、ヨーイングの回転移動を実現できる。なお図７（Ａ）では、リンクシャフト４１８等により構成される支持部４１５を設けることで、ヨーイングの回転移動を制限している。この場合にリンクシャフト４１８として電動シリンダ等を用いて伸縮自在とすれば、ヨーイングの回転移動も制御できるようになる。
【０１２８】
例えば図７（Ａ）において、電動シリンダ４１３、４１４のロッド部が共に短くなると、シート４６２（ベース部４５２）がＸ軸回りにピッチングして、ユーザが後ろのめりになる動作が実現される。例えば図４においてユーザがアクセルペダル１６３を踏んで、ロボットの移動を加速させた場合には、その加速感を体感させるために、ユーザが後ろのめりになるようなピッチングの回転移動を行う。
【０１２９】
また電動シリンダ４１３、４１４のロッド部が共に長くなると、シート４６２（ベース部４５２）がＸ軸回りにピッチングして、ユーザが前のめりになる動作が実現される。例えば図４においてユーザがブレーキペダル１６４を踏んでロボットの移動を減速させた場合には、その減速感を体感させるために、ユーザが前のめりになるようなピッチングの回転移動を行う。
【０１３０】
またユーザが、図４の操作レバー１６１、１６２を操作して、ロボットを進行方向に対して右側や左側に曲げる操作を行った場合には、電動シリンダ４１３、４１４のロッド部の一方を短くし、他方を長くする制御を行う。これにより、シート４６２（ベース部４５２）がＺ軸回りにローリングして、ロボットが進行方向に対して右側や左側に曲がる際の慣性力をユーザに体感させることができる。
【０１３１】
このようにロボットの移動に伴う加速感、減速感、慣性力をユーザに体感させることで、ユーザの仮想現実感を向上できると共に、いわゆる３Ｄ酔いを抑制することも可能になる。即ち、例えばＨＭＤ２００には、仮想ユーザが搭乗するロボット（搭乗移動体）が移動する画像が立体的に表示されているのに、実世界においてはユーザのプレイ位置が殆ど移動していないと、ユーザに感覚のずれが生じ、３Ｄ酔いを引き起こしてしまう。
【０１３２】
この点、本実施形態では、可動筐体４０を設けることで、このような３Ｄ酔いを緩和している。即ち、ロボットの加速、減速、コーナリングの際に、可動筐体４０のシート４６２（ベース部４５２）を回転移動（ローリング、ピッチング等）させて、ユーザのプレイ位置を変化させる。こうすることで、仮想世界の事象と、実空間の事象が近づくようになり、３Ｄ酔いを緩和できる。
【０１３３】
図８は、シミュレーションシステムの一例であるスキーシミュレータの構成例を示す斜視図である。スキーシミュレータは可動筐体４０を有し、この可動筐体４０は、ＤＲＣ方向に対向して設けられるベース部４１、４２を含む。ベース部４１、４２の間には、その四隅に、エアバネ部５０、５１、５２、５３（広義には伸縮部）が設けられている。これらのエアバネ部５０、５１、５２、５３は、エアコンプレッサやバブルを用いて空気の供給や排出が行われることで、ＤＲＣ方向において伸縮する。
【０１３４】
例えば図８に示すように、鉛直方向をＹ軸方向とし、ユーザＰＬの向く方向をＺ軸方向とし、Ｙ軸方向とＺ軸方向に直交する方向をＸ軸方向とする。この場合、全てのエアバネ部５０、５１、５２、５３が伸びたり、縮むことで、ベース部４１を、Ｙ軸方向で上側や下側に移動させることができる。これらの上下方向でのベース部４１の移動により、例えばスキーで滑る際の雪面の状態の再現などが可能になる。例えば少ないストロークで、且つ、速い速度で上下方向にベース部４１を移動させることで、雪面の凹凸などを表現できる。
【０１３５】
また四隅のエアバネ部５０、５１、５２、５３のうちの左側及び右側の一方のエアバネ部が伸び、他方のエアバネ部が縮むことで、ベース部４１を、Ｚ軸の回りにローリングさせことができる。またエアバネ部５０、５１、５２、５３のうちの前側及び後ろ側の一方のエアバネ部が伸び、他方のエアバネ部が縮むことで、ベース部４１を、Ｘ軸の回りにピッチングさせることができる。このようなローリングやピッチングを行うことで、スキーで滑っている斜面の状態等を表現できる。
【０１３６】
また可動筐体４０には、ユーザＰＬの左足、右足を載せるための足台４５、４６が設けられた操作部材４３、４４が、ベース部４１に対して回動自在に設けられている。具体的には、操作部材４３、４４は図８のＤＲＤ方向にスイング移動（揺動）する。即ちＹ軸回りでのヨーイングのスイング移動が可能になる。足台４５、４６はＤＲＥ方向に回動する。即ちＺ軸回りでの回転が可能である。
【０１３７】
ユーザＰＬは、スキーを滑る要領で、操作部材４３、４４、足台４５、４６を用いた操作を行う。例えば操作部材４３、４４をＤＲＤ方向でスイング移動するスイング操作や、足台４５、４６をＤＲＥ方向で回動させるエッジング操作を行うことで、現実世界のスキーで行うようなスキー操作を行う。これにより、ＨＭＤ２００に映し出させる仮想ユーザが、対応するスキー操作を行い、仮想空間内のコース上でスキーを滑る仮想現実を、ユーザＰＬは体感できるようになる。
【０１３８】
また可動筐体４０には、ユーザＰＬが手で把持するための把持部６１、６３（把持部６３は不図示）が先端に設けられたガイド部６０、６２が設けられている。把持部６１、６３は現実世界のスキーのストックのグリップに相当する。ユーザＰＬは、把持部６１、６３を手で握ることで自身の身体を支えながら、スキーを行う要領で、操作部材４３、４４をスイング移動するスイング操作を行ったり、足台４５、４６を用いたエッジング操作を行って、スキーのシミュレーションゲームを楽しむ。
【０１３９】
なおユーザＰＬの前方に設けられた風洞部６９からは、風が送出され、スキーで滑ったことによる風をユーザＰＬに体感させている。またガイド部６０は、ＨＭＤ２００の表示画像を生成する処理装置（図１の処理部１００、記憶部１７０等を含む装置。例えばゲーム装置、ＰＣ等）からのケーブル２０を、下方から上方に所定経路に沿ってガイドする。そしてケーブル２０は、支持ガイド６４を通って、経由点ＴＰであるケーブル取り出し口６５から取り出され、ＨＭＤ２００に接続される。
【０１４０】
なお本実施形態のシミュレーションシステムを実現する装置は、図４、図８に示すような装置には限定されない。例えば本実施形態のシミュレーションシステムは、表示部としてＨＭＤが用いられる家庭用ゲーム装置、業務用ゲーム装置、パーソナルコンピュータ（ＰＣ）、携帯型情報端末や、多数のユーザが参加する大型アトラクション装置などの種々の装置に適用できる。また本実施形態のシミュレーションシステムは、ネットワークを介して複数の端末装置（ゲーム装置、ＰＣ、携帯型情報端末等）が通信接続されるサーバシステムにより実現してもよい。この場合に本実施形態の各処理は、シミュレーションシステムと端末装置との分散処理により実現してもよい。
【０１４１】
４．本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では本実施形態の手法を図４のロボットシミュレータに適用した場合を主に例にとり説明する。但し、本実施形態はこれに限定されず、種々のゲーム（ＲＰＧ、アクションゲーム、対戦ゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等）に適用でき、ゲーム以外にも適用可能である。また以下では、移動体が、仮想ユーザ（キャラクタ）が搭乗するロボット等の搭乗移動体である場合を例にとり説明するが、移動体は、ユーザに対応する仮想ユーザ（例えば図８のスキーヤー）であってもよい。
【０１４２】
４．１  ３Ｄ酔い
図９はＨＭＤの光学系の構成例を示す図である。ユーザの左目、右目の前方側には接眼レンズ２、４、ディスプレイ６、８が設けられる。ディスプレイ６、８には、各々、立体視の左目用、右目用の画像が表示される。接眼レンズ２、４のレンズ中央間の距離は、例えば左目用、右目用の画像の生成用の第１、第２の仮想カメラのカメラ間距離に応じた距離に設定されている。なお、１つのディスプレイの第１、第２の表示領域に左目用、右目用の画像を表示してもよい。
【０１４３】
このような接眼レンズ２、４を設けることで、仮想視距離ＶＤ（視距離）だけ離れた位置に、見かけ上のディスプレイである仮想画面１０があるかのように認識させることができる。例えば立体視における視差がゼロの表示物が仮想画面１０の位置に配置されるように見える画像が表示される。この場合に、例えば接眼レンズ２、４の焦点距離等を変更することで、仮想視距離ＶＤや仮想画面１０の画面サイズなどを調整できる。
【０１４４】
図１０は本実施形態の比較例の手法により生成されたゲーム画像の例である。この比較例の手法では、本実施形態のような酔い防止用の画像エフェクト処理を行っておらず、仮想カメラから見える画像（レンダリング処理により生成された画像）をそのままＨＭＤに表示している。このため、ゲーム画像上の全ての表示物ＯＢ１〜ＯＢ１０が、ピントが合った画像として表示されている。このように、仮想カメラから見える画像をそのままＨＭＤに表示してしまうと、仮想カメラから見て近くから遠くまでの全ての表示物ＯＢ１〜ＯＢ１０がクッキリと見えている状態であると脳が感じ、全ての情報を拾おうとして、情報過多になり、３Ｄ酔いを誘発してしまう。３Ｄ酔いとは、例えば立体感のある動きの激しい映像を見続けることで、めまいなどの乗り物酔いのような症状を起こすことである。例えば現実世界の人間の目においては、目が注視する物体についてはピントが合っているが、注視している物体の周囲の物体については、実際にはぼやけて見えている。従って、図１０のように、ユーザ（仮想ユーザ）が注視している表示物ＯＢ１（敵ロボット）以外の表示物ＯＢ２〜ＯＢ１０についても、ピントがあった画像になっていると、現実世界において目に見える画像とは異なってしまう。従って、ユーザにとって不自然な画像となって目の疲れを生み、３Ｄ酔い等の原因になってしまう。そして、このような３Ｄ酔いが生じると、ユーザの長時間プレイの妨げとなったり、ユーザが再プレイを行わなくなり、シミュレーションシステムの魅力や稼働率が低下してしまう。
【０１４５】
例えば図１１のＤ１に示すように、現実世界において人間は、目の焦点距離ＦＣＤの調節（眼球の水晶体の調節）と、両目の視線が交差する角度である輻輳角θＣの調整とにより、物体の奥行き位置などを認識している。つまり、目の焦点距離ＦＣＤを調節する調節デマンドと、輻輳角θＣを調整する輻輳デマンドとにより、奥行き感や立体感を認識している。
【０１４６】
一方、立体視においては、図１１のＤ２に示すように、視差のある画像を仮想画面１０に表示することで、仮想画面１０の奥側や手前側に表示物の画像を融像している。この場合に、仮想画面１０は仮想視距離ＶＤの位置にあるため、目の焦点距離はＦＣＤ＝ＶＤになる一方で、輻輳角θＣについては、融像されている表示物の位置に両目の視線が交差するように調整される。つまり、立体視においては、立体感は主に視差によって作り出されており、目の焦点距離ＦＣＤの調節という概念は無視されている。即ち、左目用画像と右目用画像の視差によって、仮想画面１０の奥側や手前側に表示物を融像した場合に、それに応じて輻輳角θＣは調整されるが、目の焦点距離はＦＣＤ＝ＶＤというように一定になる。従って、現実世界における目の動きとは乖離してしまい、この乖離が不自然感を生み、３Ｄ酔い等を引き起こしてしまう。
【０１４７】
例えば図１０のゲーム画像において、仮想カメラから遠くにある表示物ＯＢ５〜ＯＢ１０をユーザが注視しようとすると、図１１のＤ２に示すように焦点距離ＦＣＤは一定のまま、輻輳角θＣだけを調整して、これらの表示物ＯＢ５〜ＯＢ１０を見ることになる。従って、ユーザは、現実世界での目の動きとは乖離した目の動きを強いられることになる。例えば図１１のＤ２で説明したように、立体視では調節デマンドが固定され、輻輳デマンドは可変となる。そして立体視を実現するための実画像は、光学的に同じ仮想視距離ＶＤのままで仮想画面１０に表示されながら、ユーザは、様々に異なった奥行き値の表示物ＯＢ５〜ＯＢ１０に視線を向けるように目を動かすことが求められてしまう。つまり、このような奥行き値の異なる多数の表示物ＯＢ５〜ＯＢ１０がゲーム画像上に表示されてしまうと、それらの表示物を注視するたびに、ユーザは、目の不自然な動きを強いられてしまう。この結果、ユーザの３Ｄ酔いを引き起こしてしまうという問題が生じる。
【０１４８】
４．２  画像エフェクト処理
以上のような問題を解決するために本実施形態では、酔い防止用の画像エフェクト処理を行う手法を採用している。具体的には図１２に示すように、仮想カメラＶＣから所与の距離範囲ＤＲＧ１にある表示物ＯＢＸに比べて、距離範囲ＤＲＧ１よりも遠い距離範囲ＤＲＧ２にある表示物の画像をぼかす処理を、酔い防止用の画像エフェクト処理として行う。例えば仮想カメラから見える画像としてレンダリング処理より生成された画像に対して、酔い防止用の画像エフェクト処理を行うことで、仮想カメラＶＣから遠い距離範囲ＤＲＧ２にある表示物ＯＢＹの画像をぼかす。例えば距離範囲ＤＲＧ１（第１の距離範囲）にある表示物ＯＢＸについては、ピントが合った画像（フォーカス画像）にする一方で、距離範囲ＤＲＧ２（第２の距離範囲）にある表示物ＯＢＹについては、ぼけた画像（デフォーカス画像）にする。なお距離範囲は仮想カメラＶＣの奥行き方向での距離（Ｚ）の範囲である。また表示物のぼかし処理を開始する距離（奥行き距離）は任意に設定可能である。
【０１４９】
図１３は本実施形態の手法により生成されたゲーム画像の例である。図１３では、仮想カメラから近い距離にある表示物ＯＢ１〜ＯＢ４については、ぼけた画像になっていない。例えば表示物ＯＢ１〜ＯＢ４は焦点が合った画像になっている。一方、仮想カメラから遠い距離にある表示物ＯＢ５〜ＯＢ１０については、画像エフェクト処理によりぼけた画像になっている。例えば表示物ＯＢ５〜ＯＢ１０は焦点が合っていない画像になっている。なおＯＢ１、ＯＢ２は敵ロボット、ＯＢ３は敵砲台、ＯＢ５は橋、ＯＢ４、ＯＢ６、ＯＢ７、ＯＢ８、ＯＢ９は照明塔、ＯＢ１０は山を表す表示物である。
【０１５０】
このように図１３では、仮想カメラ（仮想ユーザの視点）から見て近くにある表示物ＯＢ１〜ＯＢ４については、ピントが合ったクッキリした画像になる。このためユーザは、これらの表示物ＯＢ１〜ＯＢ４を注視対象としてゲームプレイをスムーズに行うことができる。例えば敵ロボットの表示物ＯＢ１、ＯＢ２や敵砲台の表示物ＯＢ３に照準ＳＧを合わせて攻撃するなどのゲームプレイを楽しむことが可能になる。
【０１５１】
一方、仮想カメラから見て遠くにある表示物ＯＢ５〜ＯＢ１０については、ピントが合っていないぼけた画像になっている。従って、これらの表示物ＯＢ５〜ＯＢ１０をユーザが注視することで３Ｄ酔いが引き起こされてしまうのを、効果的に防止できる。即ち、ユーザがＨＭＤを装着して仮想空間の景色を見る際に、図１２のような画像エフェクト処理を行うことで、例えば図１３のように画面の中央部に焦点が合い、中央部以外がぼけて見える画像を表示できるようになる。従って、ユーザは、画面中央部だけに視線（目線）を合わせるように意識が働くようになり、そこに目の視線（輻輳）を合わせるようになる。この結果、画面中央部の外側の色々な場所にユーザの視線が向くことがなくなり、３Ｄ酔いを防止できるようになる。また画面中央部の注視場所だけがクッキリと見え、その周辺がぼけた画像は、人間の目の見え方と同様になるため、ユーザにとって自然に感じる画像を表示できるという利点もある。
【０１５２】
例えば初心者や初級者のユーザは、頭部の向きを前方方向にして画面中央部の方向を向きながら、目だけをキョロキョロさせて、画面中央部の外側の周縁部の表示物を見ようとする。この場合に、周縁部の表示物がピントの合った画像であると、図１１のＤ２で説明したように、焦点距離ＦＣＤが一定のまま、輻輳角θＣだけを変化させる目の動きになってしまい、３Ｄ酔いを引き起こしてしまう。
【０１５３】
この点、本実施形態の手法によれば、図１３に示すように、画面中央部の表示物（ＯＢ１等）についてはクッキリした画像になる一方で、周縁部の表示物（ＯＢ５〜ＯＢ１０）についてはぼけた画像になる。従って、ユーザが目をキョロキョロさせて輻輳角θＣだけを変化させる目の動きをしてしまうのが防止され、３Ｄ酔いを効果的に防止できるようになる。
【０１５４】
そして本実施形態では、このような画像エフェクト処理として、例えば被写界深度処理を行う。被写界深度処理としては例えばアンリアルエンジンにおけるガウシアンＤＯＦなどを用いることができる。図１４（Ａ）は被写界深度処理の説明図である。例えばアンリアルエンジンでは、図１４（Ａ）に示すように、焦点領域ＦＣＲＧ（焦点距離）、近点側遷移範囲ＮＴＲ、遠点側遷移範囲ＦＴＲ、ぼかし度合い（ぼかしサイズ）などのパラメータを設定できる。近点側遷移範囲ＮＴＲよりも手前側（仮想カメラに近い側）の領域が、近点側ぼかし領域ＮＥＲＧ（ニア側ぼかし領域）である。遠点側遷移範囲ＦＴＲよりも奥側（仮想カメラから遠い側）の領域が、遠点側ぼかし領域ＦＡＲＧ（ファー側ぼかし領域）である。
【０１５５】
そして本実施形態では、図１２の距離範囲ＤＲＧ１が、図１４（Ａ）の焦点領域ＦＣＲＧに含まれるようにする。また距離範囲ＤＲＧ２が遠点側ぼかし領域ＦＡＲＧに含まれるようにする。こうすることで図１３のゲーム画像に示すように、距離範囲ＤＲＧ１（ＦＣＲＧ）にある表示物ＯＢ１〜ＯＢ４は焦点が合った画像になる一方で、距離範囲ＤＲＧ２（ＦＡＲＧ）にある表示物ＯＢ５〜ＯＢ１０は、被写界深度処理によりぼけた画像になる。従って、酔い防止用の画像エフェクト処理を、被写界深度を有効利用して実現することが可能になる。
【０１５６】
より具体的には本実施形態では、図１４（Ｂ）に示すように、図１２の距離範囲ＤＲＧ１が、被写界深度の焦点領域ＦＣＲＧに含まれ、仮想カメラから見て焦点領域ＦＣＲＧよりも手前側の領域ではぼかし処理が行われないようにする。即ち、図１４（Ａ）の近点側遷移範囲ＮＴＲは設定せずに、近点側ぼかし領域ＮＥＲＧが無効になるようにする。そして焦点領域ＦＣＲＧよりも奥側の領域においてぼかし処理が行われるように被写界深度処理を行う。例えば図１４（Ａ）の遠点側遷移範囲ＦＴＲを設定し、遠点側ぼかし領域ＦＡＲＧを有効にする。この遠点側ぼかし領域ＦＡＲＧが例えば図１２の距離範囲ＤＲＧ２に相当する。
【０１５７】
このようにすれば図１３に示すように、仮想カメラから見て近くの表示物ＯＢ１〜ＯＢ４については、焦点が合った画像が生成され、仮想カメラから見て遠くの表示物ＯＢ５〜ＯＢ１０については、焦点が合っていないぼけた画像が生成されるようになる。
【０１５８】
例えば被写界深度処理は、フォトリアリスティックな画像を生成するために一般的に用いられる。例えば車やアイドルなどの注目対象となる表示物にだけ焦点を合わせ、それ以外の表示物はぼけた画像になるようなレンズシミュレーションの画像を、被写界深度処理により生成する。そして被写界深度処理を、常時、実行するということはなく、車やアイドルなどの注目対象となる表示物が搭乗した場面においてだけ、被写界深度処理を実行する。即ち、カメラのレンズで見たようなフォトリアリスティックな画像を生成するために、被写界深度処理を実行する。更に、アンリアルエンジンにおいては、被写界深度処理は、ユーザの不快感等を引き起こすとして、ＨＭＤ用の画像の生成の際には使用しないことが推奨されていた。
【０１５９】
この点、本実施形態では、このようなフォトリアリスティックな画像表現のために被写界深度処理を用いるのではなく、ユーザの３Ｄ酔いの防止のために被写界深度処理を用いる。このためフォトリアリスティックな画像表現のためのパラメータ設定ではなく、仮想カメラに比較的近い表示物にだけ焦点を合わせて、遠くの表示物はぼけるようなパラメータ設定を行う。また本実施形態では、アンリアルエンジンでは推奨されていない被写界深度処理を、ＨＭＤ用の画像の生成のために、敢えて使用している。
【０１６０】
例えば、忠実なレンズシミュレーションの被写界深度処理では、近点側ぼかし領域ＮＥＲＧにおいても表示物のぼかし処理を行う。これに対して図１４（Ｂ）の手法では、近点側ぼかし領域ＮＥＲＧについては無効にして、遠点側ぼかし領域ＦＡＲＧを有効にして、遠くの表示物だけをぼかす処理を行う。こうすることで、仮想カメラから近い位置にある表示物については、ぼけた画像にならなくなり、ユーザは自然な感覚でゲームプレイを行うことが可能になる。なお近点側ぼかし領域ＮＥＲＧを有効にして、仮想カメラから非常に近い表示物についてはぼかす処理を行うような変形実施も可能である。
【０１６１】
またフォトリアリスティックな画像表現のための被写界深度処理では、上述の車やアイドルが登場するなどの特定の場面においてだけ、被写界深度処理を実行する。これに対して本実施形態では、ゲームが開始した後、被写界深度処理を常時に実行している。具体的には、ユーザに対応する移動体（仮想ユーザ、搭乗移動体）がゲームステージに登場して、ゲームステージの画像が表示されるようになったタイミングから、そのゲームの終了までのゲームプレイ期間の間、被写界深度処理を常時に実行する。このようにゲームプレイ期間中は、常時に被写界深度処理を実行することで、ゲームプレイ期間においてユーザが３Ｄ酔いを引き起こしてしまう事態を効果的に防止できる。
【０１６２】
また本実施形態では、被写界深度の焦点領域ＦＣＲＧの広さを、移動体の移動状態に応じて変化させてもよい。例えばロボット、仮想ユーザ等の速度や加速度が高くなるほど、被写界深度の焦点領域ＦＣＲＧを狭くする。
【０１６３】
例えば図１５（Ａ）では、Ｃ１に示すように、ユーザのロボットＲＢが、敵ロボットＥＲＢを中心にして回転する移動を行っている。本実施形態のロボットシミュレータでは、図４の操作レバー１６１、１６２等を操作することで、このような回転移動を容易に行うことができる。そして、このように敵ロボットＥＲＢを中心にして、ユーザのロボットＲＢが高速で回転移動するような状況になった場合には、図１５（Ｂ）のＣ２に示すように、被写界深度の焦点領域ＦＣＲＧを狭くする。こうすることで、ユーザのロボットＲＢの近くにいる敵ロボットＥＲＢだけに焦点が合った画像が生成されるようになり、その他の表示物についてはぼけた画像になる。
【０１６４】
このようにすれば、ユーザのロボットＲＢの回転移動時に、敵ロボットＥＲＢ以外の多数の表示物が画面を横切るように表示される状況になった場合に、これらの表示物がぼけた画像になるため、ユーザの３Ｄ酔いの発生を効果的に防止できるようになる。即ち、このような状況において、敵ロボットＥＲＢ以外の多数の表示物が画面上で高速に移動し、これらの表示物にユーザが視線を合わせようとすると、３Ｄ酔いが発生する確率が非常に高くなる。この点、本実施形態では、このようにロボットＲＢの移動状態が所定状態（高速回転移動等）になった場合には、ユーザが注視する敵ロボットＥＲＢ以外の表示物はぼけた画像になる。従って、これらの表示物にユーザが視線を向けてしまう事態を抑制でき、３Ｄ酔いの発生を効果的に防止できる。
【０１６５】
また本実施形態では、酔い防止用の画像エフェクト処理として、フォグ処理を行うようにしてもよい。この場合のフォグ処理は、フォグ色を指定できるフォグ処理であってもよいし、フォグ色の指定が不要なフォグ処理であってもよい。
【０１６６】
例えば図１６は、フォグ色の指定が可能なフォグ処理のパラメータの設定例である。図１６では、例えば各ゲームステージごとにフォグ色やフォグ処理の強さ（ぼかし度合い）を設定できるようになっている。例えば夜のゲームステージであれば、フォグ色を黒に設定し、夕方の夕焼けのゲームステージでは、フォグ色を赤に設定する。このようなフォグ色を設定できるようなフォグ処理の場合には、画像エフェクト処理として、被写界深度処理とフォグ処理の両方を行うことが望ましい。このようにすれば、仮想カメラから遠い距離にある表示物（遠景表示物）については、被写界深度処理によりぼけた画像になると共に、フォグ処理により所定色に近づくようになる。この結果、遠くの表示物が、より目立たなくなり、ユーザが当該表示物に対して目をキョロキョロと向けるような事態を更に効果的に防止できる。なお、酔い防止用の画像エフェクト処理として、フォグ処理だけを行うようにしてもよい。例えば酔い防止用の画像エフェクト処理として、フォグ色を設定できないようなフォグ処理（環境フォグ等）を行う。この場合に、被写界深度処理でのレンズシミュレーションによるぼけ具合と同様のぼけ具合で画像が生成されるように、フォグ処理の各種のパラメータを設定することが望ましい。
【０１６７】
或いは本実施形態の変形例として、例えば画面中央部から画面端部（周縁部）に向かって、複数方向に亘ってブラーがかかるようなブラー処理を行ってもよい。このようにすれば、画面中央部については、ブラー処理によっては画像がぼけず、画面中央部から画面端部に向かうにつれてブラーにより画像がぼけるような表示画像を生成できる。従って、ユーザの視線が画面中央部に集まるようになり、周縁部の表示物には視線が向かないようになるため、ユーザの３Ｄ酔いを効果的に防止できるようになる。
【０１６８】
また本実施形態では、仮想カメラから視線方向側に伸びる線分との衝突判定処理により線分と交差したと判定された表示物については、ぼかし処理を行わず、他の表示物に対してぼかし処理を行うような手法を採用してもよい。
【０１６９】
例えば図１７では、照準ＳＧを設定するための線分ＬＳＧが、仮想カメラＶＣの例えば視線方向ＣＶＬに沿うように設定されている。図１７では、当該線分ＬＳＧが敵ロボットＥＲＢと交差しており、衝突していると判定されている。このため、線分ＬＳＧの交差位置に照準ＳＧが設定されて表示される。この場合、線分ＬＳＧは有限の長さＬＡとなっており、この線分ＬＳＧが、仮想カメラＶＣから非常に遠くにある表示物ＯＢＦ、ＯＢＧと交差することはない。従って、これらの表示物ＯＢＦ、ＯＢＧに対しては、ぼかし処理が行われて、ぼけた画像が生成されるようになる。
【０１７０】
このようにすれば、ユーザが注視している表示物である敵ロボットＥＲＢについては、ぼかし処理が行われない一方で、ユーザが注視していない表示物ＯＢＦ、ＯＢＧについては、ぼかし処理が行われるようになる。これにより、ユーザが注視している敵ロボットＥＲＢについては、焦点が合った画像になり、ユーザの視野においてその周辺に見える表示物ＯＢＦ、ＯＢＧはぼけた画像になる。従って、ユーザの視線が表示物ＯＢＦ、ＯＢＧの方を向くことが抑制され、目の焦点距離と輻輳角の関係が現実世界と乖離することによる３Ｄ酔いの発生を防止できるようになる。なお図１７では、線分ＬＳＧが交差した表示物（ＥＲＢ）に対してぼかし処理を行わないようにしているが、当該表示物に加えて、当該表示物から所与の距離範囲にある表示物についても、ぼかし処理を行わないようにしてもよい。こうすることで、画面上でのユーザの注視点を中心とした所与の領域内にある表示物については焦点が合った画像になり、当該領域の外側の領域にある表示物についてはぼけた画像になるような画像エフェクト処理を実現できるようになる。
【０１７１】
また図１２の距離範囲ＤＲＧ２は、例えば図９で説明したＨＭＤの仮想視距離ＶＤ（視距離）に基づき設定できる。例えば図１８（Ａ）において、ＶＳＣは仮想画面であり、ＶＤは仮想カメラＶＣから仮想画面ＶＳＣまでの距離に相当する仮想視距離である。図１０で説明したように仮想視距離ＶＤはＨＭＤの光学系の特性（レンズ焦点等）により規定される。ＦＯＶ（Field Of View）は視野角に相当するものである。例えば本実施形態では１１０度以上の視野角での画像生成が可能になっている。このように広い視野角とすることで、ユーザの視界の全周囲に亘って、広大なＶＲ空間が広がるようなＶＲ画像の生成が可能になる。
【０１７２】
そして図１８（Ｂ）に示すように、図１２で説明した距離範囲ＤＲＧ１はこの仮想視距離ＶＤに基づき設定される。例えば仮想カメラＶＣから仮想視距離ＶＤだけ離れた位置がＤＲＧ１に含まれるように距離範囲ＤＲＧ１が設定される。
【０１７３】
具体的には図１８（Ｂ）に示すように、距離範囲ＤＲＧ１は、仮想カメラＶＣから０．７５ｍ〜３．５ｍの距離の範囲に設定される。この距離は仮想空間での距離であり、仮想空間での距離は、現実世界での距離と一致するようにＶＲ世界が設定されている。そして本実施形態では、少なくとも０．７５ｍ〜３．５ｍの距離範囲ＤＲＧ１では、表示物のぼかし処理を行わず、距離範囲ＤＲＧ１よりも遠い距離範囲ＤＲＧ２において表示物のぼかし処理を行う。例えば図１８（Ｂ）では、ぼかし処理が行われる距離範囲ＤＲＧ２は仮想カメラＶＣから距離ＬＤ２（奥行き方向の距離）だけ離れた距離範囲になっている。例えば仮想カメラＶＣの位置から距離ＬＤ２の位置までの距離範囲ではぼかし処理は行われず、距離ＬＤ２以上の距離範囲ＤＲＧ２においてぼかし処理を行う。距離ＬＤ２は、例えば図１４（Ａ）、図１４（Ｂ）の被写界深度処理において、遠点側ぼかし領域ＦＡＲＧや遠点側遷移範囲ＦＴＲを規定する距離である。この距離ＬＤ２は、例えばゲームステージの広さや、ユーザのゲームプレイのしやすさや、ユーザがゲーム画像に不自然さを感じないか否かなどを判断基準にして設定され、例えば１０ｍ〜８０ｍ程度の範囲内の距離に設定できる。
【０１７４】
例えば図９のような構成のＨＭＤでは、ユーザの目の疲れ等を防止するために、長時間、注視することが分かっている表示物（例えばニュー表示やユーザが関心を有する注視対象）は、仮想空間において０．７５ｍ〜３．５ｍの距離範囲に配置して、レンダリングすることが望まれている。０．７５ｍ〜３．５ｍの距離範囲内の表示物であれば、図１１のＤ２のように目の調節デマンドと輻輳デマンドの関係が現実世界と乖離している場合であっても、３Ｄ酔いを引き起こす可能性が極めて低いと考えられるからである。そこで本実施形態では、少なくとも０．７５ｍ〜３．５ｍの距離範囲ＤＲＧ１内の表示物については、ぼかし処理を行わずに、焦点が合った画像にする。
【０１７５】
一方、仮想カメラＶＣから０．７５ｍ〜３．５ｍの距離範囲ＤＲＧ１よりも遠い位置にあるが、それほど遠くない位置にある表示物が、ぼけた画像になってしまうと、ユーザが不自然さを感じたり、ゲームプレイの支障になってしまい、ゲームバランスが崩れてしまう可能性がある。そこで距離範囲ＤＲＧ１の遠点側の位置の距離である３ｍよりも長い距離に、ＬＤ２を設定する。例えばゲームバランス等を考慮した距離にＬＤ２を設定する。そして、距離ＬＤ２以上の距離範囲ＤＲＧ２内の表示物に対してぼかし処理を行い、３Ｄ酔いの発生を防止する。このようにすれば、３Ｄ酔いの発生の防止と好適なゲームバランスの調整とを両立して実現できるようになる。
【０１７６】
４．３  ぼかし処理の例外、視認性強調処理
本実施形態では、距離範囲ＤＲＧ１よりも遠い距離範囲ＤＲＧ２にある表示物であっても、所定の表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱くする。即ち、特定の表示物に対してはぼかし処理の例外処理を行う。
【０１７７】
例えば図１９（Ａ）において敵ロボットＥＲＢは、距離範囲ＤＲＧ２内に位置しているが、ユーザが注視すべき重要な表示物である。従って、この敵ロボットＥＲＢについては、ぼかし処理の対象から除外したり、距離範囲ＤＲＧ２内にある他の表示物よりもぼかし処理のぼかし度合いを弱くする。こうすることで、ユーザは、敵ロボットＥＲＢが、遠い距離範囲ＤＲＧ２内に位置する場合にも、その存在を視覚的にハッキリと認識できるようになり、ユーザのスムーズなゲームプレイを実現できるようになる。
【０１７８】
また、距離範囲ＤＲＧ２内に位置する照明塔ＬＧの照明や敵ロボットＥＲＢの目の部分は光っており、この光がぼかし処理により弱まってしまうのは好ましくない。従って、このような場合に、照明塔ＬＧの照明部分や敵ロボットＥＲＢの目の部分などの発光部分については、ぼかし処理のぼかし度合いを弱くする。画像エフェクト処理がフォグ処理である場合を例にとれば、照明塔ＬＧの照明部分や敵ロボットＥＲＢの目の部分などの発光部分については、フォグ密度を低くして、なるべくぼやけないようにする。こうすることで、これらの発光部分が適正に光って見える様子を適切に画像表現することが可能になる。
【０１７９】
例えばフォグ処理においては、各表示物ごとにフォグの掛かり具合を調整するためのパラメータが用意される。従って、照明塔ＬＧの照明部分や敵ロボットＥＲＢの目の部分などの発光部分に対しては、当該パラメータを調整することで、フォグの掛かり具合を調整して、ぼかし度合いを弱めることができる。なお、ぼかし処理の対象から除外したり、ぼかし度合いを弱める表示物としては、種々の表示物を想定できる。例えば、ゲームにおいて重要であると想定される表示物や、照準（ガンサイト）などの表示物や、発光や爆発や着弾などの所定のエフェクトを発する表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱めることが望ましい。
【０１８０】
また本実施形態では、距離範囲ＤＲＧ１よりも遠い距離範囲ＤＲＧ２にある表示物であっても、所定の表示物については、他の表示物に比べて視認性を高める処理を行ってもよい。例えば視認性を高める処理として、サイズ変化処理、輝度変化処理、色調変化処理、或いは奥行き値変化処理を、当該所定の表示物に対して行う。
【０１８１】
例えば図１９（Ｂ）のテーブル情報では、各表示物に対応づけて視認性強調フラグが設定されている。そして例えば視認性強調フラグが１にセットされている表示物に対しては、例えば距離範囲ＤＲＧ２内に位置していた場合に、視認性を強調する処理を行う。視認性を強調する処理は、当該処理を行わない通常状態時よりも、ユーザが当該表示物を視認しやすくなるような処理である。
【０１８２】
例えば図２０では、爆発のエフェクトを発する表示物ＯＢＨが距離範囲ＤＲＧ２に位置している。この場合には、例えば通常時に比べて、表示物ＯＢＨのサイズを大きくしたり、表示物ＯＢＨの輝度（爆発エフェクトの輝度）を高くしたり、表示物ＯＢＨの色調（爆発エフェクトの色調）を、より目立つ色調に変化させる。このようにすれば、距離範囲ＤＲＧ２に位置することで表示物ＯＢＨに対してぼかし処理が行われた場合にも、表示物ＯＢＨのサイズ、輝度又は色調が変化することで、その視認性が高まるようになる。従って、表示物ＯＢＨの爆発のエフェクトを、ユーザが十分に視認できなくなってしまうような事態の発生を防止できる。
【０１８３】
或いは、表示物ＯＢＨの奥行き値（Ｚ値、奥行き距離）を変化させてもよい。例えば表示物ＯＢＨが、距離範囲ＤＲＧ２よりも仮想カメラＶＣに近い側に位置するように、奥行き値を変化させる。このようにすれば、表示物ＯＢＨに対してはぼかし処理が行われなくなり、ユーザの視認性を高めることが可能になる。また、例えば距離に応じてぼかし度合いが変化するような画像エフェクト処理を行う場合には、表示物ＯＢＨの奥行き値を、仮想カメラＶＣに近い側になるように変化させることで、ぼかし度合いを弱めることが可能になり、その視認性を高めることができる。なお視認性を高める処理の対象となる表示物としては、種々の表示物を想定できる。例えば、ゲームにおいて重要であると想定される表示物や、照準などの表示物や、発光や爆発や着弾などの所定のエフェクトを発する表示物については、視認性を高める処理を行うことが望ましい。
【０１８４】
４．４  画像エフェクト処理のオン、オフ、エフェクト度合いの設定等
本実施形態では、ユーザの視点情報のトラッキング情報を取得し、取得されたトラッキング情報に基づいて仮想カメラＶＣの位置、姿勢を変化させている。ここで仮想カメラＶＣの位置は視点位置ＣＶＰに対応し、仮想カメラＶＣの姿勢は視線方向ＣＶＬに対応する。
【０１８５】
例えば図２１（Ａ）〜図２１（Ｃ）のように現実世界のユーザＰＬが視線方向ＶＬ（頭部）を下方向や上方向に向けると、当該ユーザＰＬの視点情報のトラッキング情報（視点トラッキング情報）が例えばＨＭＤ２００のトラッキング処理により取得される。そして取得されたトラッキング情報（ユーザの視点位置、視線方向の特定情報）に基づいて、仮想カメラＶＣの視点位置ＣＶＰ、視線方向ＣＶＬを設定することで、図２１（Ａ）〜図２１（Ｃ）のように仮想カメラＶＣの位置、姿勢を変化させる。例えば図２１（Ｂ）のようにユーザＰＬの視線方向ＶＬが下方向を向けば、仮想カメラＶＣの視線方向ＣＶＬも下方向を向く。図２１（Ｃ）のようにユーザＰＬの視線方向ＶＬが上方向を向けば、仮想カメラＶＣの視線方向ＣＶＬも上方向を向く。このようにすることで、現実世界のユーザＰＬが視点位置ＶＰや視線方向ＶＬを変化させると、それに応じて仮想カメラＶＣの視点位置ＣＶＰ、視線方向ＣＶＬも変化するようになる。従って、仮想カメラＶＣがユーザＰＬの実際の一人称視点のように振る舞うため、仮想現実感を向上できる。
【０１８６】
一方、仮想カメラの視点位置や視線方向は、仮想空間において移動する移動体の移動状態によっても変化する。移動体は、例えば仮想空間においてユーザに対応する仮想ユーザ（例えばスキーヤなどのキャラクタ）や、仮想ユーザが搭乗する搭乗移動体（例えばロボット、車）などである。
【０１８７】
例えば図２２（Ａ）では、移動体であるキャラクタＣＨの前方側（進行方向側）に岩ＲＫ（衝突対象物）が存在しており、図２２（Ｂ）では、この岩ＲＫにキャラクタＣＨが衝突している。これにより図２２（Ｃ）に示すようにキャラクタＣＨの進行方向ＤＴが変化している。このような進行方向ＤＴの変化処理は、例えばキャラクタＣＨと岩ＲＫとの衝突の演算処理を行うことで実現できる。この衝突の演算処理は、キャラクタＣＨが岩ＲＫとの衝突により受ける反作用力に基づく物理演算処理を行うことで実現できる。例えば図２２（Ｂ）の衝突により受けた反作用力により、図２２（Ｃ）のようにキャラクタＣＨの進行方向ＤＴを変化させる物理演算処理を行う。
【０１８８】
このように岩ＲＫとの衝突などにより、キャラクタＣＨの進行方向ＤＴが大きく変化すると、ＨＭＤの表示画像が大きく変化してしまう。このＨＭＤの表示画像の大きな変化は、例えば３Ｄ酔いなどの問題を招く。
【０１８９】
例えば図２２（Ｂ）の岩ＲＫとの衝突によって、図２２（Ｃ）のようにキャラクタＣＨの進行方向ＤＴが大きく変化すると、キャラクタＣＨに追従する仮想カメラの視線方向や視点位置も大きく変化してしまう。例えば一人称視点の場合には、キャラクタＣＨの視点の位置に仮想カメラが設定され、例えばキャラクタＣＨの進行方向ＤＴの方に仮想カメラの視線方向が向いている。従って、図２２（Ｃ）のように進行方向ＤＴが大きく変化すると、仮想カメラの視線方向や視点位置も大きく変化し、ＨＭＤの表示画像も大きく変化する。
【０１９０】
このような衝突イベント発生時のＨＭＤの表示画像の激しい変化は、仮想空間での擬似的な事象（疑似衝突）によるものであるため、現実世界の事象との間に乖離がある。このような、現実世界とは乖離したＨＭＤの表示画像の激しい変化が発生すると、ユーザの３Ｄ酔いを引き起こしてしまう。
【０１９１】
この場合に、例えば図２２（Ｂ）の岩との衝突時に、図８や図４の可動筐体４０を動作させて、衝突による反作用力をユーザに体感させることで、現実世界と仮想世界の乖離を小さくし、ユーザの３Ｄ酔いを軽減することも可能である。例えば岩との衝突時に、図８のエアバネ部５０〜５３を微少に伸び縮みさせることで、衝突による振動を、ある程度、ユーザに体感させることができる。
【０１９２】
しかしながら、このような可動筐体４０による衝突の疑似的な体感には限界があり、ＨＭＤに表示される仮想世界の画像の激しい変化と、現実世界のユーザの体感との間には、大きな乖離がある。即ち、現実世界ではユーザは岩に衝突していないのに、仮想世界の画像だけが岩との衝突により大きく揺れ動いてしまう現象が起こる。このような現象が頻繁に起こると、ユーザの３Ｄ酔い等を引き起こしてしまう。
【０１９３】
そこで本実施形態では、仮想カメラや移動体などに関する種々の状況を判断して、当該状況に応じて画像エフェクト処理のオン、オフの設定や、画像エフェクト処理のエフェクト度合いの設定を行う手法を採用する。図２３は、この手法の処理を説明するフローチャートである。
【０１９４】
まず、仮想カメラの視線方向又は視点位置の変化状況、移動体の移動状態の変化状況、仮想カメラの注視場所又は注視対象の状況、或いはゲーム状況を取得する（ステップＳ１）。例えば図２２（Ａ）〜図２２（Ｃ）に示すように仮想カメラの視線方向や視点位置が変化したり、移動体の移動状態が変化する状況が発生した場合に、当該状況の情報を取得する。或いは、仮想カメラの注視場所又は注視対象が、酔いが発生しやすい場所や対象であるかについての情報を取得する。或いは、３Ｄ酔いが生じやすいゲーム状況なのかについての情報を取得する。そして、取得された各状況に応じて、画像エフェクト処理のオン、オフの設定、又はエフェクト度合いの設定を行う（ステップＳ２）。
【０１９５】
例えば仮想カメラの視線方向又は視点位置や、移動体の移動状態（速度、加速度）が大きく変化するような状況である場合には、酔い防止用の画像エフェクト処理をオンにし、そのような状況ではない場合には、酔い防止用の画像エフェクト処理をオフにする。例えば図２２（Ｃ）に示すように移動体であるキャラクタＣＨの進行方向ＤＴが大きく変化する状況である場合に、画像エフェクト処理をオンにする。或いは、仮想カメラの視線方向又は視点位置や、移動体の速度又は加速度等の変化量に応じて、エフェクト度合いを設定する。例えば変化量が大きいほど、ぼけ度合いなどのエフェクト度合いを強くする。また仮想カメラの向く方向の場面が、多くの表示物が表示されており、３Ｄ酔いが生じやすい状況である場合には、画像エフェクト処理をオンにする。一方、殆ど表示物が表示されておらず、３Ｄ酔いが生じにくい状況である場合に、画像エフェクト処理をオフにする。或いは、注視場所等での表示物の数に応じて、画像エフェクト処理のエフェクト度合いを変化させてもよい。或いは、ゲームの進行状況、ゲームステージの状況、又は対戦状況等のゲーム状況が、酔い生じやすいゲーム状況である場合に、画像エフェクト処理をオンにし、そのようなゲーム状況ではない場合に、画像エフェクト処理をオフにする。
【０１９６】
例えば図２４のテーブル情報では、各状況に対して、画像エフェクト処理のオン、オフのフラグや、エフェクト度合いのパラメータが対応づけられている。そして図２４の状況ＣＡ１であれば、画像エフェクト処理がオンに設定され、エフェクト度合いがＥＦ１に設定される。状況ＣＡ２であれば、画像エフェクト処理がオンに設定され、エフェクト度合いがＥＦ２に設定される。エフェクト度合いＥＦ１、ＥＦ２は、例えば画像エフェクト処理のぼけ処理のぼけ度合いなどを設定するパラメータである。一方、状況ＣＡ３、ＣＡ４であれば、画像エフェクト処理がオフに設定される。
【０１９７】
なお、画像エフェクト処理がオンにされる仮想カメラや移動体の状況は、例えば仮想カメラの視線方向、視点位置や、移動体の速度、加速度等が急激に変化したり、急激に変化することが予想される状況である。即ち、３Ｄ酔いが発生する蓋然性が高い状況である。例えば図２２（Ａ）〜図２２（Ｃ）のように岩に衝突したり、スピードを出し過ぎてスピンしたり、坂道を急激に滑り降りたり、或いは崖から落下したりするなどの状況である。
【０１９８】
また本実施形態では、ユーザのプレイレベル（ゲームプレイのレベル）に応じて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
【０１９９】
例えば図２５のテーブル情報では、ユーザの各プレイレベルに対して、画像エフェクト処理のオン、オフのフラグや、エフェクト度合いのパラメータが対応づけられている。例えばユーザのプレイレベルが初心者、初級、初中級、中級、中上級である場合には、画像エフェクト処理がオンに設定され、エフェクト度合いが、各々、ＥＦＡ、ＥＦＢ、ＥＦＣ、ＥＦＤ、ＥＦＥに設定される。ここでエフェクト度合いは、初心者用のエフェクト度合いＥＦＡが最も強く、中上級用のエフェクト度合いＥＦＥが最も弱い。エフェクト度合いがぼけ処理のぼけ度合いである場合には、初心者用のぼけ度合いが最も強くなり、中上級用のぼけ度合いが最も弱くなる。このようにすることで、ゲームに慣れていない初心者等が、３Ｄ酔いを引き起こしてしまう事態を防止できる。一方、ユーザのプレイレベルが上級、超上級である場合には、画像エフェクト処理がオフに設定される。このようにすることで、ゲームに慣れており、３Ｄ酔いを起こしにくいと想定されるユーザは、表示物にぼかし処理が行われてないリアルなゲーム画像を見ながら、ゲームプレイを行うことが可能になる。
【０２００】
ここで、ユーザのプレイレベルは、ユーザの頭部の動きをトラッキングしたトラッキング情報や、ユーザのプレイ履歴情報などに基づき判断できる。
【０２０１】
図２６はトラッキング情報に基づきプレイレベルを判断する処理のフローチャートである。まずゲームが開始したか否かを判断し（ステップＳ１１）、開始した場合にはユーザの頭部の動きのトラッキング処理を行って、トラッキング情報を取得する（ステップＳ１２）。具体的には図２（Ａ）〜図３（Ｂ）で説明したようなＨＭＤのトラッキング処理を行って、ユーザの視線方向や視点位置を特定するためのトラッキング情報を取得する。そして、取得されたトラッキング情報に基づいて、ユーザのプレイレベルを判断する（ステップＳ１３）。
【０２０２】
例えば初心者や初級者のユーザは、ゲームの開始後、ＨＭＤを装着した頭部をあまり動かさない傾向にある。一方、上級者のユーザは、ゲームの序盤から頭部を頻繁に動かして、色々な場所を見ようとする傾向にある。従って、ユーザの頭部の動きのトラッキング情報を取得することで、ユーザのプレイレベルを判断できるようになる。
【０２０３】
また本実施形態では、図２７に示すように、移動体の移動状態に応じて、図４、図８等で説明した可動筐体４０がユーザのプレイ位置を変化させてもよい。例えば移動体の速度、加速度の変化、移動体の進行方向の変化、又は移動体が移動するコースの状況（状態）などに応じて、可動筐体４０がユーザのプレイ位置を変化させる。或いは、移動体の移動状態に応じて出力音を制御してもよい。例えば移動体の速度、加速度の変化に応じた音、移動体の進行方向の変化に応じた音、又は移動体が移動するコースの状況に応じた出力音を生成する。
【０２０４】
例えば、仮想空間の移動体（ロボット、キャラクタ等）の進行方向が、下り坂のコースで下方向を向いた場合には、現実空間のユーザの姿勢が前側にピッチングするように可動筐体４０を制御する。図４、図７（Ａ）を例にとれば、ベース部４５２に、Ｘ軸回りにおいて前側方向へのピッチングの姿勢変化を行わせて、ユーザが前のめりになるような姿勢変化を実現する。図８を例にとれば、後ろ側のエアバネ部５０、５２を伸ばす一方で、前側のエアバネ部５１、５３を縮める。また例えば下り坂のコースを下っているようにユーザに感じさせる出力音（例えば風切り音）を出力する。また仮想空間の移動体の進行方向が、上り坂のコースで上方向を向いた場合には、現実空間のユーザの姿勢が後ろ側にピッチングするように可動筐体４０を制御する。図４を例にとれば、ベース部４５２に、Ｘ軸回りにおいて後ろ側方向へのピッチングの姿勢変化を行わせて、ユーザが後ろのめりになるような姿勢変化を実現する。図８を例にとれば、後ろ側のエアバネ部５０、５２を縮める一方で、前側のエアバネ部５１、５３を伸ばす。また例えば上り坂のコースを上っているようにユーザに感じさせる出力音を出力する。
【０２０５】
またコースが凹凸のあるガタガタ道である場合には、ユーザのプレイ位置を上下に揺らすような可動筐体４０の制御を行う。図４、図７（Ａ）を例にとれば、電動シリンダ４１４、４１４を細かく伸縮させる。図８を例にとれば、各エアバネ部５０〜５２を上下方向に細かく伸縮させる。またガタガタ道を表すような出力音を出力する。
【０２０６】
このように可動筐体４０や出力音を制御すれば、仮想空間での移動体の移動状態（加速度、速度の変化、進行方向の変化、コースの状況）を、可動筐体４０や出力音を用いてユーザに感じさせることが可能になる。例えば移動体の移動状態を、可動筐体４０によるプレイ位置の変化により体感させたり、出力音の変化により聴覚的に認識させることが可能になる。従って、現実世界でのユーザの体感や聴覚状態と、仮想世界での移動体の状態とが、ある程度、一致するようになり、３Ｄ酔いの発生の抑制を図れる。例えば、このような可動筐体４０によるプレイ位置の変化や出力音の変化が無い状態で、仮想空間での移動体の移動状態が変化すると、ユーザの体感や聴覚状態と仮想空間の状況とが一致しなくなる。このため３Ｄ酔いが発生する事態してしまうおそれがあるが、図２７の本実施形態の手法によれば、このような事態の発生を防止できる。
【０２０７】
また本実施形態では、ユーザによる設定情報又はユーザのプレイ履歴情報に基づいて、画像エフェクト処理のオン、オフを設定したり、画像エフェクト処理のエフェクト度合いを設定してもよい。
【０２０８】
例えば図２８は、ユーザがゲームの各種のオプションを設定するオプション設定画面の例である。このオプション設定画面において、ユーザは、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定をできるようになっている。例えば３Ｄ酔いを起こしやすいユーザは、画像エフェクト処理をオンに設定し、強いエフェクト度合いに設定する。こうすることで、遠くの表示物に対してぼかし処理が行われると共に、ぼけ度合いも強くなるため、このようなユーザが３Ｄ酔いを引き起こすのを効果的に防止できる。一方、３Ｄ酔いを起こしにくいユーザは、画像エフェクト処理をオフに設定したり、或いは画像エフェクト処理をオンに設定して、弱いエフェクト度合いに設定する。こうすることで、このようなユーザは、よりリアルな設定でのゲームを楽しめるようになる。
【０２０９】
また図２９では、ユーザのプレイ履歴の情報に基づいて、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定を行っている。例えばユーザのプレイ履歴情報に基づいて、プレイレベルが低いと判断されるユーザや、衝突や急加速や転倒や落下など状況が頻繁に発生していると判断されるユーザについては、画像エフェクト処理をオンに設定して、強いエフェクト度合いに設定する。こうすることで、初級者や初級者であると判断されるユーザや、ゲームプレイに慣れていないと判断されるユーザについては、画像エフェクト処理が自動的にオンに設定され、エフェクト度合いも強いエフェクト度合いに設定される。これにより、このようなユーザが３Ｄ酔いを引き起こすのを効果的に防止できる。一方、上級者であると判断されるユーザや、ゲームプレイに慣れている判断されるユーザについては、３Ｄ酔いを起こしにくいと判断して、画像エフェクト処理をオフにしたり、或いは画像エフェクト処理をオンに設定して、弱いエフェクト度合いに設定する。こうすることで、このようなユーザは、よりリアルな設定でのゲームを楽しめるようになる。なおプレイ履歴の情報は、例えば図１の携帯型情報記憶媒体１９５（ＩＣカード等）に記憶されており、携帯型情報記憶媒体１９５からプレイ履歴の情報に基づいて、画像エフェクト処理のオン、オフの設定や、エフェクト度合いの設定を行う。或いは外部のサーバからユーザのプレイ履歴の情報をダウンロードしてもよい。
【０２１０】
４．５  処理例
次に本実施形態の処理例について図３０のフローチャートを用いて説明する。
【０２１１】
まず、ゲームが開始したか否かを判断し（ステップＳ２１）、開始したと判断された場合には、ユーザの操作情報を取得する（ステップＳ２２）。例えば図１の操作部１６０を用いて入力したユーザの操作情報を取得する。またユーザの視点情報のトラッキング情報を取得する（ステップＳ２３）。例えば図２（Ａ）〜図３（Ｂ）等で説明したトラッキング処理により得られたトラッキング情報を取得する。そしてユーザの操作情報、トラッキング情報等に基づいて、仮想カメラ、移動体の制御処理を実行する（ステップＳ２４）。例えばユーザの操作情報に基づいて、ロボット、キャラクタ等の移動体を移動させる処理を行い、この移動体に追従するように仮想カメラの視線方向や視点位置を制御する。またトラッキング情報に基づいて仮想カメラの視線方向や視点位置を設定する制御を行う。
【０２１２】
次に、レンダリング処理を行って、仮想カメラから見える画像を生成する（ステップＳ２５）。例えば、仮想カメラから見える画像として、立体視の左目用、右目用の画像を生成する。そして、生成された画像に対して、図１２のように距離範囲ＤＲＧ２にある表示物をぼかす画像エフェクト処理を実行する（ステップＳ２６）。この際に、図１９（Ａ）〜図２０で説明したように、所定の表示物については、ぼかし処理の対象から除外したり、ぼかし度合いを弱くしたり、視認性を高める処理を行う。こうすることで、ゲームバランスを好適に調整しながら、３Ｄ酔いが発生しにくい画像を生成して、ユーザのＨＭＤに表示できるようになる。
【０２１３】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（移動体等）と共に記載された用語（キャラクタ・ロボット等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また移動体の移動処理、仮想カメラの制御処理（設定処理）、画像エフェクト処理、被写界深度処理、フォグ処理、距離範囲の設定処理、視認性の強調処理、画像エフェクトのオン、オフやエフェクト度合いの設定処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
【符号の説明】
【０２１４】
ＤＲＧ１、ＤＲＧ２  距離範囲、ＲＢ  ロボット、ＥＲＢ  敵ロボット、
ＯＢ１〜ＯＢ１０  表示物、ＳＧ  照準、ＣＨ  キャラクタ、ＤＴ  進行方向、
ＶＣ  仮想カメラ、ＶＰ、ＣＶＰ  視点位置、ＶＬ、ＣＶＬ  視線方向、
ＲＫ  岩、ＰＬ  ユーザ、ＰＬＶ  仮想ユーザ、ＴＰ  経由点、
２０  ケーブル、４０  可動筐体、４１、４２  ベース部、４３  ４４  操作部材、
４５、４６  足台、５０〜５３  エアバネ部、６０、６２  ガイド部、
６１、６３  把持部、６４  支持ガイド、６５  ケーブル取り出し口、６９  風洞部、
１００  処理部、１０２  入力処理部、１１０  演算処理部、１１２  ゲーム処理部、
１１３  可動筐体処理部、１１４  移動体処理部、１１６  オブジェクト空間設定部、
１１８  仮想カメラ制御部、１２０  表示処理部、１３０  音処理部、
１４０  出力処理部、１５０  撮像部、１５１、１５２  カメラ、
１６０  操作部、１６１、１６２  操作レバー、１６３  アクセルペダル、
１６４  ブレーキペダル、１６５  ゲームコントローラ、
１７０  記憶部、１７２  空間情報記憶部、１７８  描画バッファ、
１８０  情報記憶媒体、１９２  音出力部、１９４  Ｉ／Ｆ部、
１９５  携帯型情報記憶媒体、１９６  通信部、
２００  ＨＭＤ（頭部装着型表示装置）、２０１〜２０３  受光素子、２１０  センサ部、
２２０  表示部、２３１〜２３６  発光素子、２４０  処理部、２６０  ヘッドバンド、
２７０  ヘッドホン、２８０、２８４  ステーション、
２８１、２８２、２８５、２８６  発光素子、
４３０、フレーム部、４３２  ガイド部、４３３  固定具、４５０  底部、
４５１  カバー部、４５２  ベース部、４５４、４５５  レール部、４６０  ライド部、
４６２  シート、４６４  シート支持部、４７０  移動部、４７２  支持部、
４７３  上面部、４７４  下面部
【図１】
2018010488.tif 000003
【図２】
2018010488.tif 000004
【図３】
2018010488.tif 000005
【図４】
2018010488.tif 000006
【図５】
2018010488.tif 000007
【図６】
2018010488.tif 000008
【図７】
2018010488.tif 000009
【図８】
2018010488.tif 000010
【図９】
2018010488.tif 000011
【図１０】
2018010488.tif 000012
【図１１】
2018010488.tif 000013
【図１２】
2018010488.tif 000014
【図１３】
2018010488.tif 000015
【図１４】
2018010488.tif 000016
【図１５】
2018010488.tif 000017
【図１６】
2018010488.tif 000018
【図１７】
2018010488.tif 000019
【図１８】
2018010488.tif 000020
【図１９】
2018010488.tif 000021
【図２０】
2018010488.tif 000022
【図２１】
2018010488.tif 000023
【図２２】
2018010488.tif 000024
【図２３】
2018010488.tif 000025
【図２４】
2018010488.tif 000026
【図２５】
2018010488.tif 000027
【図２６】
2018010488.tif 000028
【図２７】
2018010488.tif 000029
【図２８】
2018010488.tif 000030
【図２９】
2018010488.tif 000031
【図３０】
2018010488.tif 000032