(57)【特許請求の範囲】
【請求項１】
立体視表示可能な表示装置に所定の仮想空間の表示を行う情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
前記仮想空間においてオブジェクトの位置を制御する位置制御手段と、
前記仮想空間に設定された複数の領域のうち、前記オブジェクトの位置する領域を判定する領域判定手段と、
前記領域判定手段で判定された領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段で設定された立体視パラメータに基づいて、前記オブジェクトを含む立体視画像を生成する画像生成手段と、
前記画像生成手段で生成された立体視画像を前記表示装置に表示させる表示制御手段として、機能させ、
前記仮想空間に設定された前記複数の領域それぞれには優先度が設定され、
前記領域判定手段において、前記オブジェクトが同時に複数の領域に位置すると判定された場合、前記パラメータ設定手段は、前記優先度に従って、前記オブジェクトの位置する該複数の領域のうちのいずれかの領域に応じて、前記立体視パラメータを設定する、
情報処理プログラム。
【請求項２】
前記コンピュータを、
入力装置からの入力を受け付ける入力受付手段としてさらに機能させ、
前記位置制御手段は、前記入力受付手段で受け付けた入力に基づいて前記オブジェクトの位置を制御する、
請求項１に記載の情報処理プログラム。
【請求項３】
前記複数の領域の形状に設定される形状は、複数種類の形状である、
請求項１又は２に記載の情報処理プログラム。
【請求項４】
前記複数種類の形状は、直方体、円柱、及び、球の少なくともいずれかを含む立体形状である、
請求項３に記載の情報処理プログラム。
【請求項５】
前記立体視パラメータは、前記仮想空間において視差が生じない位置を定める基準面に関するパラメータ、及び、前記立体視画像の奥行き感に関するパラメータのうちの少なくとも１つを含む、
請求項１から４のいずれか１項に記載の情報処理プログラム。
【請求項６】
前記パラメータ設定手段は、判定された前記領域に応じて前記立体視パラメータに設定されるべき設定値が、前記立体視パラメータに既に設定されている現在値と異なる場合、前記立体視パラメータに設定される値が該現在値から該設定値に徐々に変化するように、前記立体視パラメータを設定する、
請求項１から５のいずれか１項に記載の情報処理プログラム。
【請求項７】
前記パラメータ設定手段は、前記現在値から前記設定値への変化において、該変化の最初の所定期間経過した後に、前記立体視パラメータに設定される値が該現在値から該設定値に徐々に変化するように、前記立体視パラメータを設定する、
請求項６に記載の情報処理プログラム。
【請求項８】
前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が一定となるように、前記立体視パラメータを設定する、
請求項６又は７に記載の情報処理プログラム。
【請求項９】
前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が減少するように、前記立体視パラメータを設定する、
請求項６又は７に記載の情報処理プログラム。
【請求項１０】
前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が増加するように、前記立体視パラメータを設定する、
請求項６又は７に記載の情報処理プログラム。
【請求項１１】
判定された前記領域に応じて、前記現在値から前記設定値への変化の期間が定められる、請求項６から１０のいずれか１項に記載の情報処理プログラム。
【請求項１２】
立体視表示可能な表示装置に所定の仮想空間の表示を行う情報処理装置であって、
前記仮想空間においてオブジェクトの位置を制御する位置制御手段と、
前記仮想空間に設定された複数の領域のうち、前記オブジェクトの位置する領域を判定する領域判定手段と、
前記領域判定手段で判定された領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段で設定された立体視パラメータに基づいて、前記オブジェクトを含む立体視画像を生成する画像生成手段と、
前記画像生成手段で生成された立体視画像を前記表示装置に表示させる表示制御手段と、
を備え、
前記仮想空間に設定された前記複数の領域それぞれには優先度が設定され、
前記領域判定手段において、前記オブジェクトが同時に複数の領域に位置すると判定された場合、前記パラメータ設定手段は、前記優先度に従って、前記オブジェクトの位置する該複数の領域のうちのいずれかの領域に応じて、前記立体視パラメータを設定する、
情報処理装置。
【請求項１３】
立体視表示可能な表示装置に所定の仮想空間の表示を行う情報処理システムであって、
前記仮想空間においてオブジェクトの位置を制御する位置制御手段と、
前記仮想空間に設定された複数の領域のうち、前記オブジェクトの位置する領域を判定する領域判定手段と、
前記領域判定手段で判定された領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段で設定された立体視パラメータに基づいて、前記オブジェクトを含む立体視画像を生成する画像生成手段と、
前記画像生成手段で生成された立体視画像を前記表示装置に表示させる表示制御手段と、
を備え、
前記仮想空間に設定された前記複数の領域それぞれには優先度が設定され、
前記領域判定手段において、前記オブジェクトが同時に複数の領域に位置すると判定された場合、前記パラメータ設定手段は、前記優先度に従って、前記オブジェクトの位置する該複数の領域のうちのいずれかの領域に応じて、前記立体視パラメータを設定する、
情報処理システム。
【請求項１４】
立体視表示可能な表示装置に所定の仮想空間の表示を行う情報処理装置において実行される情報処理方法であって、
前記仮想空間においてオブジェクトの位置を制御する位置制御ステップと、
前記仮想空間に設定された複数の領域のうち、前記オブジェクトの位置する領域を判定する領域判定ステップと、
前記領域判定ステップで判定された領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定するパラメータ設定ステップと、
前記パラメータ設定ステップで設定された立体視パラメータに基づいて、前記オブジェクトを含む立体視画像を生成する画像生成ステップと、
前記画像生成ステップで生成された立体視画像を前記表示装置に表示させる表示制御ステップと、を備え、
前記仮想空間に設定された前記複数の領域それぞれには優先度が設定され、
前記領域判定ステップにおいて、前記オブジェクトが同時に複数の領域に位置すると判定された場合、前記パラメータ設定ステップでは、前記優先度に従って、前記オブジェクトの位置する該複数の領域のうちのいずれかの領域に応じて、前記立体視パラメータを設定する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、及び、情報処理方法に関する。
【背景技術】
【０００２】
従来、視差を利用することで立体的な視覚を得る方法である立体視に関する技術が知られている。近年、このような立体視による表現は、様々な分野において利用されている。例えば、立体視による表現を利用することで、３次元仮想空間を立体的に表示するゲームやＣＧ（Computer Graphics）アニメーション等が開発されている。
【０００３】
３次元仮想空間を立体的に表示する場合、例えば、３次元仮想空間内に設定される２つの仮想カメラから得られる画像が用いられる。視覚的効果の高い立体視の表示を行うためには、当該２つの仮想カメラを適切に設定する必要がある。例えば、特許文献１では、注目させたい部分にフォーカスを当てるように注視位置を決定する仮想カメラの設定方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１０７６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の立体視に関する技術では、立体視用の画像（以下、立体視画像とも称する）を生成する場合、例えば、仮想空間内の特定のオブジェクトに注視位置が決定されていた。そのため、従来の立体視に関する技術では、特定のオブジェクトのみにフォーカスが当てられ、立体視画像により表現される仮想空間を適切にユーザに把握させることは困難であった。
【０００６】
本発明は、このような点を考慮してなされたものであり、立体視画像により表現される仮想空間をより適切にユーザに把握させることを可能にすることを課題とする。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００８】
すなわち、本発明は、立体視表示可能な表示装置に所定の仮想空間の表示を行う情報処理装置のコンピュータで実行される情報処理プログラムであって、前記コンピュータを、前記仮想空間においてオブジェクトの位置を制御する位置制御手段と、前記仮想空間に設定された複数の領域のうち、前記オブジェクトの位置する領域を判定する領域判定手段と、前記領域判定手段で判定された領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定するパラメータ設定手段と、前記パラメータ設定手段で設定された立体視パラメータに基づいて、前記オブジェクトを含む立体視画像を生成する画像生成手段と、前記画像生成手段で生成された立体視画像を前記表示装置に表示させる表示制御手段として、機能させる情報処理プログラムである。
【０００９】
本発明によれば、オブジェクトの位置する領域に応じて設定される立体視パラメータに基づいて、立体視画像が生成される。そのため、オブジェクトの位置する領域に応じた立
体視画像の生成が可能となるため、本発明によれば、立体視画像により表現される仮想空間をより適切にユーザに把握させることが可能となる。
【００１０】
また、本発明の別形態として、前記情報処理プログラムは、前記コンピュータを、入力装置からの入力を受け付ける入力受付手段としてさらに機能させてもよい。そして、前記位置制御手段は、前記入力受付手段で受け付けた入力に基づいて前記オブジェクトの位置を制御してもよい。
【００１１】
本発明によれば、入力装置からの入力に基づいてオブジェクトの位置を制御することができる。
【００１２】
また、本発明の別形態として、前記複数の領域の形状に設定される形状は、複数種類の形状であってもよい。
【００１３】
また、本発明の別形態として、前記複数種類の形状は、直方体、円柱、及び、球の少なくともいずれかを含む立体形状であってもよい。
【００１４】
本発明によれば、直方体、円柱、及び、球の少なくともいずれかを含む立体形状の領域を仮想空間に設定することができる。
【００１５】
また、本発明の別形態として、前記仮想空間に設定された前記複数の領域それぞれには優先度が設定されてもよい。そして、前記領域判定手段において、前記オブジェクトが同時に複数の領域に位置すると判定された場合、前記パラメータ設定手段は、前記優先度に従って、前記オブジェクトの位置する該複数の領域のうちのいずれかの領域に応じて、前記立体視パラメータを設定してもよい。
【００１６】
本発明によれば、オブジェクトが同時に複数の領域に位置した場合、各領域に設定された優先度に従って、立体視パラメータの設定に係る領域が選択される。このため、領域同士の重なり具合などを考慮することなく、仮想空間に領域を設定することができる。よって、本発明によれば、より簡易に仮想空間に領域を設定することができる。
【００１７】
また、本発明の別形態として、前記立体視パラメータは、前記仮想空間において視差が生じない位置を定める基準面に関するパラメータ、及び、前記立体視画像の奥行き感に関するパラメータのうちの少なくとも１つであってもよい。
【００１８】
また、本発明の別形態として、前記パラメータ設定手段は、判定された前記領域に応じて前記立体視パラメータに設定されるべき設定値が、前記立体視パラメータに既に設定されている現在値と異なる場合、前記立体視パラメータに設定される値が該現在値から該設定値に徐々に変化するように、前記立体視パラメータを設定してもよい。
【００１９】
本発明によれば、立体視パラメータに設定される値が切り替わる場合、立体視パラメータに設定される値が段階的に変化するように、立体視パラメータが設定される。これにより、立体視画像の描画に用いられる立体視パラメータに設定される値は、時間の経過に伴って徐々に変化する。そのため、本発明によれば、立体視パラメータに基づいて描画される立体視画像の急激な変化を防止することができる。
【００２０】
また、本発明の別形態として、前記パラメータ設定手段は、前記現在値から前記設定値への変化において、該変化の最初の所定期間経過した後に、前記立体視パラメータに設定される値が該現在値から該設定値に徐々に変化するように、前記立体視パラメータを設定してもよい。
【００２１】
本発明によれば、所定期間経過した後に、前記立体視パラメータに設定される値が該現在値から該設定値に徐々に変化するように、前記立体視パラメータが設定される。つまり、所定期間経過した後に、立体視パラメータに設定される値が切り替わる。そのため、立体視パラメータに設定される値が頻繁に切り替わる場合に生じ得る、立体視パラメータに基づいて描画される立体視画像の頻繁かつ急激な変化を防止することができる。
【００２２】
また、本発明の別形態として、前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が一定となるように、前記立体視パラメータを設定してもよい。
【００２３】
また、本発明の別形態として、前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が減少するように、前記立体視パラメータを設定してもよい。
【００２４】
また、本発明の別形態として、前記パラメータ設定手段は、前記現在値から前記設定値への変化に係る変化量が増加するように、前記立体視パラメータを設定してもよい。
【００２５】
本発明によれば、立体視パラメータに設定される値の変化に係る変化量が増加するように、立体視パラメータが設定される。つまり、立体視パラメータに設定される値が切り替わる場合、立体視パラメータに設定される値の段階的な変化において、立体視パラメータに設定される値の変化量は、当該変化の初期段階ほど、小さい。そのため、立体視パラメータに設定される値が頻繁に切り替わる場合に生じ得る、立体視パラメータに基づいて描画される立体視画像の頻繁かつ急激な変化を防止することができる。
【００２６】
また、本発明の別形態として、特定された前記領域に応じて、判定された前記領域に応じて、前記現在値から前記設定値への変化の期間が定められてもよい。
【００２７】
なお、本発明は、情報処理装置、情報処理システム、情報処理方法、又は、プログラムをコンピュータその他装置、機械などが読み取り可能な記録媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明に係る情報処理装置は、通信可能に構成された複数のコンピュータ等によって実現されてもよい。
【発明の効果】
【００２８】
本発明によれば、立体視画像により表現される仮想空間をより適切にユーザに把握させることが可能となる。
【図面の簡単な説明】
【００２９】
【図１Ａ】図１Ａは、実施の形態に係るゲーム装置の画面イメージを例示する図である。
【図１Ｂ】図１Ｂは、実施の形態に係るゲーム装置の画面イメージを例示する図である。
【図２Ａ】図２Ａは、実施の形態に係るゲームの状態を例示する俯瞰図である。
【図２Ｂ】図２Ｂは、実施の形態に係るゲームの状態を例示する俯瞰図である。
【図３】図３は、実施の形態に係るゲーム装置の外観を例示する図である。
【図４】図４は、実施の形態に係る上側ＬＣＤを例示する図である。
【図５】図５は、実施の形態に係るゲーム装置の内部構成を例示するブロック図である。
【図６】図６は、実施の形態に係る立体視画像の描画処理を例示する図である。
【図７】図７は、実施の形態に係る仮想カメラの設定を例示する図である。
【図８】図８は、実施の形態に係る仮想カメラとオブジェクトとの関係を例示する。
【図９】図９は、実施の形態に係る仮想カメラによる描画処理を例示する。
【図１０】図１０は、実施の形態に係る仮想カメラにより描画される画像を例示する。
【図１１】図１１は、実施の形態に係るゲーム装置が保持する情報を例示する図である。
【図１２】図１２は、実施の形態に係るゲーム装置の機能を例示するブロック図である。
【図１３】図１３は、実施の形態に係るゲーム処理の流れを例示するフローチャートである。
【図１４】図１４は、実施の形態において、オブジェクトが複数の領域に同時に位置する状態を例示する俯瞰図である。
【図１５】図１５は、実施の形態において、オブジェクトが位置する領域が切り替わった場合における立体視パラメータの切り替わりを例示する俯瞰図である。
【図１６Ａ】図１６Ａは、実施の形態に係る立体視パラメータに設定される値の変化を例示する。
【図１６Ｂ】図１６Ｂは、実施の形態に係る立体視パラメータに設定される値の変化を例示する。
【図１６Ｃ】図１６Ｃは、実施の形態に係る立体視パラメータに設定される値の変化を例示する。
【図１６Ｄ】図１６Ｄは、実施の形態に係る立体視パラメータに設定される値の変化を例示する。
【図１６Ｅ】図１６Ｅは、実施の形態に係る立体視パラメータに設定される値の変化を例示する。
【発明を実施するための形態】
【００３０】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、本実施形態に応じた具体的構成が適宜採用されてもよい。また、以下で説明する本実施形態は、本発明をゲームプログラムに適用した例を示す。ただし、本発明の適用対象はゲームプログラムに限定されない。
【００３１】
なお、本実施形態において登場するデータは、自然言語（日本語等）により説明される。しかしながら、これらのデータは、具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００３２】
§１  装置構成
［処理例］
図１Ａ及び１Ｂは、本実施形態に係るゲーム装置１の画面イメージを例示する。本実施形態に係るゲーム装置１は、図１Ａ及び１Ｂに示されるようないわゆるアクションゲームをプレイヤに提供する。ゲーム装置１が提供するアクションゲームでは、３次元の仮想空間（以下、本実施形態に係る３次元仮想空間を「ゲーム空間」とも称する）内にキャラクタ２及び障害物４等のオブジェクト並びにフィールド３が存在する。
【００３３】
キャラクタ２は、プレイヤの入力操作等によって、ゲーム空間内を移動するプレイヤオブジェクトである。フィールド３は、ゲーム空間内に設定された地形等を示すオブジェクトである。地形などを示すオブジェクトには、例えば、ゲーム空間内に設定される地面や壁等が含まれる。障害物４は、ゲーム空間内に設定された敵キャラクタ等のオブジェクト
である。本実施形態に係るゲーム装置１は、キャラクタ２を操作することで、フィールド３の所定のスタート地点からゴール地点にキャラクタ２を移動させるアクションゲームをプレイヤに提供する。
【００３４】
ゲーム装置１は、ディスプレイ２２（上側ＬＣＤ２２として後述する）を備える。ディスプレイ２２は、立体視可能な画像（立体視画像）を表示することができる。そのため、図１Ａ及び１Ｂに示されるように、プレイヤは、ディスプレイ２２に表示された画像から、ゲーム空間についての立体的な視覚を得ることができる。具体的には、図１Ａに示される画面イメージでは、プレイヤは、ディスプレイ２２の位置にキャラクタ２が立体的に存在するような視覚を得る。また、図１Ｂに示される画面イメージでは、プレイヤは、ディスプレイ２２の位置に障害物４が立体的に存在し、かつ、プレイヤを基準としてディスプレイ２２の奥側にキャラクタ２が立体的に存在するような視覚を得る。
【００３５】
ゲーム装置１は、キャラクタ２を含む立体視画像を描画し、ディスプレイ２２に表示する。プレイヤは、ディスプレイ２２に表示された立体視画像から、ゲーム空間の状態を把握する。このとき、プレイヤにより適切にゲーム空間を把握させるための、立体視画像の効果的な表示の仕方、あるいは、描画手順は、ゲーム空間の状況に依存して異なる。
【００３６】
このような立体視画像の効果的な表示の仕方、あるいは、描画手順として、例えば、キャラクタ２とは異なる障害物４が登場することを例に検討する。この場合、例えば、図１Ａ及び１Ｂに示される画面イメージの違いに表れるように、キャラクタ２に焦点を当てた立体視画像を描画するよりも、障害物４に焦点を当てた立体視画像を描画する方が、プレイヤに、より適切にゲーム空間を把握させられるときがある。また、例えば、奥行きが重要となる領域にキャラクタ２が位置する場合、他の領域よりも立体感を強めた立体視画像を描画する方が、プレイヤに、より適切にゲーム空間を把握させられるときがある。
【００３７】
このように、キャラクタ２が位置するゲーム空間内の状況によって、プレイヤに、より適切にゲーム空間を把握させるための表示の仕方、描画手順が異なりうる。そのため、ゲーム装置１は、キャラクタ２が位置するゲーム空間内の領域に応じて、立体視画像の描画に用いる立体視パラメータを切り替えることで、プレイヤにより適切にゲーム空間を把握させるような立体視画像を描画する。具体的には、ゲーム装置１は、以下の動作を行う。
【００３８】
図２Ａは、図１Ａに示される画面イメージに対応するゲーム空間の状態を例示する俯瞰図である。例えば、図１Ａに示される画面イメージがゲーム空間を正面（プレイヤ側）から見た正面図と仮定した場合に、図２Ａは、ゲーム空間上方から平面視した平面図である。また、図２Ｂは、図１Ｂに示される画面イメージに対応するゲームの状態を例示する俯瞰図である。図２Ａ及び２Ｂに示されるように、本実施形態に係るゲーム空間には、複数の領域（５ａ、５ｂ）が設定されている。
【００３９】
ゲーム装置１は、ゲーム空間内に設定されている複数の領域のうち、キャラクタ２の位置する領域を特定する。図２Ａに示される例では、キャラクタ２の位置する領域は領域５ａであると特定される。また、図２Ｂに示される例では、キャラクタ２の位置する領域は領域５ｂであると特定される。
【００４０】
ここで、領域５ａでは、フィールド３上にキャラクタ２以外のオブジェクトが存在しない。このため、領域５ａでは、キャラクタ２付近の状態が、プレイヤにとって重要であるとする。また、領域５ｂでは、障害物４の状態が、プレイヤにとって重要であるとする。ゲーム装置１は、これらの点を考慮して、当該特定した領域に応じて、立体視画像の描画に用いられる立体視パラメータを設定する。
【００４１】
そして、ゲーム装置１は、設定した立体視パラメータに基づいて、立体視画像を描画する。つまり、キャラクタ２が領域５ａに位置する場合、ゲーム装置１は、プレイヤにとってキャラクタ２付近の位置の状態が把握しやすいような立体視画像を描画する（図１Ａ）。また、キャラクタ２が領域５ｂに位置する場合、ゲーム装置１は、プレイヤにとって障害物４の状態が把握しやすいような立体視画像を描画する（図１Ｂ）。
【００４２】
このように、本実施形態に係るゲーム装置１は、キャラクタ２の位置する領域を特定し、当該特定された領域に応じて、立体視パラメータを設定する。つまり、本実施形態に係るゲーム装置１は、キャラクタ２の位置する領域により、立体視画像の描画に用いる立体視パラメータを切り替える。このような動作を行うことで、本実施形態に係るゲーム装置１は、ゲーム空間中のキャラクタの位置する領域とその領域の状態に応じた立体視画像を描画し、ゲーム空間をプレイヤにより適切に把握させることを可能にする。
【００４３】
なお、ゲーム装置１により実行されるゲームプログラムは、本発明の情報処理プログラムに相当する。また、キャラクタ２は、本発明の「オブジェクト」に相当する。
【００４４】
［ゲーム装置］
図３は、本実施形態に係るゲーム装置１の外観を例示する。ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、ヒンジ構造により開閉可能（折り畳み可能）に連結されている。
【００４５】
下側ハウジング１１には、下側ＬＣＤ（Liquid Crystal Display：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｉ、アナログスティック１５、挿入口１７、及び、挿入口１８が設けられる。
【００４６】
下側ＬＣＤ１２は、画像を（立体視可能ではなく）平面的に表示する表示装置である。タッチパネル１３はゲーム装置１の入力装置の一つである。タッチパネル１３への入力に用いるタッチペン２８は、挿入口１７（図２において点線で示される）から挿入されて収容される。なお、タッチペン２８の代わりにプレイヤの指を用いることもできる。
【００４７】
各操作ボタン１４Ａ〜１４Ｉは、所定の入力を行うための入力装置である。ボタン１４Ａ〜１４Ｉには、ゲーム装置１によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは、選択操作等に用いられる。例えば、各ボタン１４Ｂ〜１４Ｅは、決定操作やキャンセル操作等に用いられる。例えば、電源ボタン１４Ｆは、ゲーム装置１の電源をオンまたはオフにするために用いられる。例えば、セレクトボタン１４Ｇは、ゲーム中断操作等に用いられる。例えば、ＨＯＭＥボタン１４Ｈは、所定の画面を表示するための操作等に用いられる。例えば、スタートボタン１４Ｉは、ゲーム開始操作等に用いられる。また、アナログスティック１５は、方向を指示するデバイスである。
【００４８】
挿入口１８（図２において点線で示される）には、ゲームプログラムを記録した外部メモリ４５が挿入される。
【００４９】
上側ハウジング２１には、上側ＬＣＤ２２、外側左撮像部２３ａ、外側右撮像部２３ｂ、内側撮像部２４、および３Ｄ調整スイッチ２５が設けられる。
【００５０】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。上側ＬＣＤ２２は、実質的に同一の表示領域を用いて右目用画像と左目用画像とを表示することが可能である。具体的には、上側ＬＣＤ２２は、右目用画像と左目用画像とが所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。なお、上側ＬＣ
Ｄ２２は、右目用画像と左目用画像とが交互に表示される方式の表示装置であってもよい。
【００５１】
また、上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。この場合、上側ＬＣＤ２２には、横方向に交互に表示される右目用画像と左目用画像とを右目および左目のそれぞれに分解して見えるようなＬＣＤが用いられる。例えば、上側ＬＣＤ２２は、パララックスバリア方式（視差バリア方式）のＬＣＤである。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な立体視画像（立体画像）を表示する。
【００５２】
図４は、上側ＬＣＤ２２の一例を示す。上側ＬＣＤ２２は、図４に示されるように、ガラス基板２２３とガラス基板２２４との間２２５に設けられた、第１ＬＣＤ２２６及び第２ＬＣＤ２２７を含む。第１ＬＣＤ２２６及び第２ＬＣＤ２２７は、複数の画素を含み、かつ、バックライトからの光を画素単位で調節するための空間光変調器である。典型的には、第１ＬＣＤ２２６及び第２ＬＣＤ２２７は、それぞれ交互に配置される。図４に示されるように、バックライトの光は、ガラス基板２２４側から照射される。
【００５３】
ガラス基板２２３において、第１ＬＣＤ２２６及び第２ＬＣＤ２２７とは反対側に視差バリア２２１が設けられている。視差バリア２２１は、例えば、液晶パネルで実現される。そのため、視差バリア２２１は、所定間隔でスリット２２２を設けることが可能である。各スリット２２２の中心位置を通り、かつ、ガラス基板２２３の面に対して垂直方向の軸を基準として、第１ＬＣＤ２２６の対応する画素と第２ＬＣＤ２２７の対応する画素とが対称的に配置される。各スリット２２２は、プレイヤの右目及び左目による視界をそれぞれ対応する角度に制限する。例えば、図４に示される例では、プレイヤの右目は、光軸ＡＸ１上にある第１ＬＣＤ２２６の画像のみが視認できる。また、プレイヤの左目は、光軸ＡＸ２上にある第２ＬＣＤ２２７の画像のみが視認できる。このようなスリット２２２に対応する画素との位置関係、並びに、第１ＬＣＤ２２６及び第２ＬＣＤ２２７を、表示すべき画像に応じて適切に制御することで、プレイヤの両眼の間に所定の視差を与えることができる。つまり、上側ＬＣＤ２２は、視差バリア２２１によって、プレイヤの右目に右目用画像を、プレイヤの左目に左目用画像をそれぞれ視認させることで、プレイヤにとって立体感のある立体視画像を表示することができる。
【００５４】
また、上側ＬＣＤ２２は、視差バリアを無効にすることが可能である。視差バリアを無効にした場合、上側ＬＣＤ２２は、画像を平面的に表示することができる（上述した立体視ではない、２次元平面への投影画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、３Ｄ調整スイッチ２５によって行われる。なお、上側ＬＣＤ２２は、パララックスバリア方式のＬＣＤではなく、レンチキュラー方式等のＬＣＤであってもよい。
【００５５】
図３に戻り、内側撮像部２４は、上側ハウジング２１の内側面２１Ａの内向きの法線方向を撮像方向とする撮像部である。外側左撮像部２３ａおよび外側右撮像部２３ｂは、いずれも内側面２１Ａとは反対の外側面の外向きの法線方向を撮像方向とする撮像部である。以降、外側左撮像部２３ａおよび外側右撮像部２３ｂをまとめて、外側撮像部２３と称する。
【００５６】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視画像の立体感を調整するために用いられる。３Ｄ調整スイッチ２５は、所定方向（例えば、上下方向）の任意の位置にスライド可能なスライ
ダを有しており、当該スライダの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００５７】
例えば、３Ｄ調整スイッチ２５のスライダが最下点位置に配置されている場合、上側ＬＣＤ２２が平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。なお、上側ＬＣＤ２２は、立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
【００５８】
図５は、本実施形態に係るゲーム装置１の内部構成を示すブロック図である。ゲーム装置１は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインタフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリインタフェイス（データ保存用外部メモリＩ／Ｆ）３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電源回路４１、およびインタフェイス回路（Ｉ／Ｆ回路）４２等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５９】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Central Processing Unit）３１１、画像処理を行うＧＰＵ（Graphics Processing Unit）３１２、ＶＲＡＭ（Video RAM）３１３等を含む。ＣＰＵ３１１は、ゲーム装置１内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４５やデータ保存用内部メモリ３５）に記憶されている当該所定のプログラムを実行することによって、所定の処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。ＶＲＡＭ３１３に描画された画像は、上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力されて表示される。
【００６０】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４５を着脱自在に接続するためのインタフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４６を着脱自在に接続するためのインタフェイスである。
【００６１】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。即ち、メインメモリ３２は、各種データを一時的に記憶したり、外部（外部メモリ４５や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として、例えば、ＰＳＲＡＭ（Pseudo-Static Random Access Memory）が用いられる。
【００６２】
外部メモリ４５は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４５は、例えば、読み取り専用の半導体メモリで構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４５に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。
【００６３】
データ保存用外部メモリ４６は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）であり、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６は、ＳＤカードである。データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６およびデータ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００６４】
情報処理部３１には、無線通信モジュール３６およびローカル通信モジュール３７が接続される。無線通信モジュール３６は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ＩＥＥＥ８０２．１１ｂ／ｇのアドホックモードにおいて、他のゲーム装置１と直接無線通信を行ったりすることが可能である。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部３１は、ローカル通信モジュール３７を用いて同種の他のゲーム装置１との間でデータを送受信することができる。
【００６５】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（向に沿った直線方向の加速度（直線加速度）の大きさを検出する。なお、加速度センサ３９は、静電容量式の加速度センサであっても、他の方式の加速度センサであってもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１の姿勢や動きを算出する。
【００６６】
情報処理部３１には、角速度センサ４０が接続される。角速度センサ４０は、ゲーム装置１の３軸周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ（角速度データ）を情報処理部３１へ出力する。情報処理部３１は、角速度センサ４０から出力された角速度データを受信して、ゲーム装置１の姿勢や動きを算出する。
【００６７】
情報処理部３１には、ＲＴＣ３８および電源回路４１が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻を計算する。電源回路４１は、ゲーム装置１が有する電源（例えば、下側ハウジング１１に収納される充電式電池）からの電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００６８】
情報処理部３１には、Ｉ／Ｆ回路４２が接続される。Ｉ／Ｆ回路４２には、マイク４３、スピーカ４４、およびタッチパネル１３が接続される。マイク４３は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４２に出力する。スピーカ４４は、Ｉ／Ｆ回路４２からの音声信号をアンプ（図示せず）により増幅し、音声を出力する。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。本実施形態では、タッチパネル１３は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチパネル１３のタッチ位置座標を生成して情報処理部３１に出力する。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を特定することができる。
【００６９】
操作ボタン１４及びアナログスティック１５は、情報処理部３１に接続され、各操作ボタン（例えば、図３における１４Ａ〜１４Ｉ、１５）に対する入力状況（押下されたか否か）を示す操作データを情報処理部３１に出力する。情報処理部３１は、操作ボタン１４及びアナログスティック１５から操作データを取得することによって、操作ボタン１４及びアナログスティック１５に対する入力に応じた処理を実行する。
【００７０】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示にしたがって画像を表示する。下側ＬＣＤ１２は、画像を（立体視可能ではなく）平面的に表示する表示装置である。下側ＬＣＤ１２の画素数は、一例として、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えば、ＥＬ（Electro Luminescence：電界発光）を利用した表示装置等、他の表示装置が利用されてもよい。また、下側ＬＣＤ１２として、所望の解像度を有する表示装置を利用することができる。
【００７１】
上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。情報処理部３１は、例えば、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続される。そして、情報処理部３１は、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、例えば、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。
【００７２】
より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリア２２１を介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像（立体視画像）が表示される。
【００７３】
なお、上側ＬＣＤ２２の画素数は、一例として、８００ｄｏｔ×２４０ｄｏｔ（横×縦）である。本実施形態では、上側ＬＣＤ２２は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００７４】
外側撮像部２３及び内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示にしたがって画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００７５】
内側撮像部２４は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
【００７６】
外側左撮像部２３ａ及び外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部２３ａと外側右撮像部
２３ｂとは、ゲーム装置１が実行するプログラムによって、２つの外側撮像部（外側左撮像部２３ａ及び外側右撮像部２３ｂ）のいずれか一方を単独で使用可能である。本実施形態では、何れか一方の外側撮像部のみを使用することとして説明する。
【００７７】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【００７８】
［立体視の処理例］
図６〜１０を用いて、本実施形態に係るゲーム装置１において処理される立体視について説明する。なお、これらの図において示される状態は、図１Ｂ及び２Ｂにより示されるゲームの状態に対応する。
【００７９】
図６は、キャラクタ２及び障害物４を含むゲーム空間を表現した立体視画像の描画処理を例示する。本実施形態に係る立体視画像の描画処理では、図６に示されるように、２つの仮想カメラ（Ｃ１、Ｃ２）が用いられる。ただし、仮想カメラの数は２つでなくてもよい。例えば、１つのカメラが、本実施形態における２つの仮想カメラ（Ｃ１、Ｃ２）の位置にシフトして、画像を撮像してもよい。
【００８０】
ここで、右仮想カメラＣ１は、右目用画像を描画するための仮想カメラである。また、左仮想カメラＣ２は、左目用画像を描画するための仮想カメラである。本実施形態では、これらの２つの仮想カメラ（Ｃ１、Ｃ２）を用いて描画される１対の右目用画像及び左目用画像が上側ＬＣＤ２２に表示されることで、プレイヤは、ゲーム空間の立体的な視覚を得ることができる。
【００８１】
図６に示されるように、２つの仮想カメラ（Ｃ１、Ｃ２）は、互いに距離Ｄｆだけ離れて配置される。このような配置によって、右仮想カメラＣ１を用いて描画される右目用画像と左仮想カメラＣ２を用いて描画される左目用画像との間には、仮想空間内の距離Ｄｆに応じた視差が生じる。具体的には、距離Ｄｆを長くするほど、ゲーム空間内のある位置に存在するオブジェクトの視差が大きくなる。つまり、距離Ｄｆを長くするほど、当該オブジェクトは、プレイヤによってより大きな立体感をもって視認される。ただし、視差がある程度を超えて大きくなると、プレイヤは、立体感を感じにくくなる。そのため、距離Ｄｆは、適切に設定される必要がある。なお、本実施形態では、視差とは、プレイヤの右目で視認される像と、プレイヤの左目で視認される像との間における、対象点の見え方の違いを意味する。
【００８２】
本実施形態では、２つの仮想カメラ（Ｃ１、Ｃ２）は、中心点Ｃ０を基準として、配置される。中心点Ｃ０は、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆが０の場合における仮想カメラの配置位置である。２つの仮想カメラ（Ｃ１、Ｃ２）は、中心点Ｃ０を基準として、左右に距離「Ｄｆ／２」離れた位置に存在する仮想カメラとして設定される。
【００８３】
また、右仮想カメラＣ１は、カメラ方向ＣＡ１のゲーム空間を撮像する仮想カメラである。左仮想カメラＣ２は、カメラ方向ＣＡ２のゲーム空間を撮像する仮想カメラである。図６に示されるように、これら２つの仮想カメラ（Ｃ１、Ｃ２）のカメラ方向（ＣＡ１、ＣＡ２）は互いに平行となるように、２つの仮想カメラ（Ｃ１、Ｃ２）は設定される。
【００８４】
更に、２つの仮想カメラ（Ｃ１、Ｃ２）のカメラ方向（ＣＡ１、ＣＡ２）と２つの仮想カメラ（Ｃ１、Ｃ２）の位置を通る直線（基準線ＦＬ）とが垂直となるように、２つの仮想カメラ（Ｃ１、Ｃ２）の位置とカメラ方向（ＣＡ１、ＣＡ２）は設定される。
【００８５】
このようにして、２つの仮想カメラ（Ｃ１、Ｃ２）の位置とカメラ方向（ＣＡ１、ＣＡ
２）は設定される。ただし、２つの仮想カメラ（Ｃ１、Ｃ２）の設定方法は、このような設定方法に限定されない。例えば、２つの仮想カメラ（Ｃ１、Ｃ２）のうちの一方の仮想カメラの位置及び方向が設定された後、他方の仮想カメラの位置及び方向が、設定された仮想カメラを基準として、設定されてもよい。
【００８６】
なお、これらの設定により、Ｄｆ＝０の場合、２つの仮想カメラ（Ｃ１、Ｃ２）は、互いに同一の設定を持つ仮想カメラとなる。つまり、２つの仮想カメラ（Ｃ１、Ｃ２）により撮像される画像は、同一の画像となる。この場合、上側ＬＣＤ２２に表示される画像は立体視効果のない画像となる。
【００８７】
２つの仮想カメラ（Ｃ１、Ｃ２）の位置とカメラ方向（ＣＡ１、ＣＡ２）が設定されると、２つの仮想カメラ（Ｃ１、Ｃ２）の視野範囲（ＶＦ１、ＶＦ２）が設定される。このとき、立体視表示した場合における上側ＬＣＤ２２の表示面付近に表示させたい範囲である表示対象範囲（典型的には、２つの仮想カメラ（Ｃ１、Ｃ２）からの視差がゼロとなるゼロ視差面ＰＤ０等）が指定される。すなわち、表示対象範囲は、ゲーム空間の中で少なくとも上側ＬＣＤ２２に表示すべき領域に相当する。この表示対象範囲の面は、カメラ方向（ＣＡ１、ＣＡ２）に垂直である。また、表示対象範囲は、２つの仮想カメラ（Ｃ１、Ｃ２）を基準として、カメラ方向（ＣＡ１、ＣＡ２）側に設定される。そして、２つの仮想カメラ（Ｃ１、Ｃ２）の視野範囲のいずれもが表示対象範囲を含むように、２つの仮想カメラ（Ｃ１、Ｃ２）の視野範囲がそれぞれ設定される。このとき、中心点Ｃ０から表示対象範囲の中心へ伸びる方向は、カメラ方向（ＣＡ１、ＣＡ２）と一致する。なお、図６により示されるゼロ視差面ＰＤ０は、２つの仮想カメラ（Ｃ１、Ｃ２）からの視差が生じない位置を定める基準面である。図６において、２つの仮想カメラ（Ｃ１、Ｃ２）の視野範囲（ＶＦ１、ＶＦ２）はそれぞれ実線で示されている。仮想カメラＣ１に係るゼロ視差面ＰＤ０の範囲は、当該実線のうち、仮想カメラＣ２に近い方の実線と、図６において仮想カメラＣ１の位置を原点とする一点鎖線とに挟まれる範囲で表現される。なお、仮想カメラＣ２に係るゼロ視差面ＰＤ０の範囲については、仮想カメラＣ１に係るゼロ視差面ＰＤ０の範囲と同様に表現される。当該ゼロ視差面ＰＤ０については、後述する。
【００８８】
このように設定された２つの仮想カメラ（Ｃ１、Ｃ２）それぞれを用いて描画される１対の右目用画像及び左目用画像が上側ＬＣＤ２２に表示されることで、プレイヤは、ゲーム空間の立体的な視覚を得ることができる。
【００８９】
図７は、各仮想カメラ（Ｃ１、Ｃ２）の設定を例示する。図７を用いて、各仮想カメラ（Ｃ１、Ｃ２）を用いた２次元画像の描画を説明する本実施形態に係る仮想カメラには、視野範囲が定められている。視野範囲は、例えば、仮想カメラの視野角により定められる。つまり、視野範囲は、仮想カメラから見える範囲を示す。
【００９０】
また、仮想カメラに対して、近傍側にニアクリップ面が設定され、遠方側にファークリップ面が設定される。ニアクリップ面及びファークリップ面は、それぞれ仮想カメラのカメラ方向の線に対して垂直となるように設定される。本実施形態におけて、仮想カメラを用いた撮影の対象となるオブジェクトは、このニアクリップ面とファークリップ面との間に存在するオブジェクトであり、かつ、仮想カメラの視野角のうちに含まれるオブジェクトである。つまり、仮想カメラが撮影の対象とする範囲（撮影対象範囲）は、仮想カメラの視野範囲のうち、ニアクリップ面とファークリップ面との間の範囲である。なお、撮影対象範囲は、ニアクリップ面等の撮影に係る面と仮想カメラとの間の距離、当該撮影に係る面の幅、及び、当該撮影に係る面の高さによっても定めることができる。
【００９１】
このように仮想カメラによる仮想的な撮影によって画像を生成する際の撮影対象範囲は、視体積とも称される。より具体的には、仮想カメラの位置を頂点とし、かつ、ファーク
リップ面を底面とする四角錘全体から、仮想カメラの位置を頂点とし、ニアクリップ面を底面とする四角錘を切り取った残りの立体（截頭四角錐）が、視体積と称される。ニアクリップ面を一方面とし、かつ、ファークリップ面を他方面とする四角錐体を視体積と称する。なお、視体積は、ビューフラスタム、又は、視錘台とも称される。したがって、視体積の内側に含まれる空間が、仮想カメラの撮影対象となる。
【００９２】
また、後述するゼロ視差面ＰＤ０を特定するため、本実施形態における仮想カメラでは、基準仮想面が設定される。基準仮想面は、上側ＬＣＤ２２の表示面の位置に対応する平面である。言い換えると、基準仮想面は、３次元仮想空間の中で、上側ＬＣＤ２２に表示された立体視画像を見るプレイヤが、上側ＬＣＤ２２の表示面の位置に存在すると感じる面である。この基準仮想面についても、カメラ方向に対して垂直となるように設定される。なお、基準仮想面は、３次元仮想空間の中で、上側ＬＣＤ２２に表示された立体視画像を見るプレイヤが、上側ＬＣＤ２２の表示面から所定のオフセットを持った位置に存在すると感じる面であってもよい。後述するゼロ視差面ＰＤ０は、当該基準仮想面に含まれる面として特定される。
【００９３】
図７に示されるように、３次元仮想空間座標系であるゲーム空間座標系（Ｘ、Ｙ、Ｚ）、仮想カメラの位置（ｃｘ、ｃｙ、ｃｚ）、仮想カメラの位置から仮想カメラのカメラ方向に伸ばした直線と基準仮想面との交点である注視点（ｂｘ、ｂｙ、ｂｚ）が与えられているとする。また、仮想カメラの向きを示すベクトルを、仮想カメラの位置と注視点を結ぶ直線を基準として、正面方向ベクトル（Ｚｘ、Ｚｙ、Ｚｚ）、上方向ベクトル（Ｙｘ、Ｙｙ、Ｙｚ）、左方向ベクトル（Ｘｘ、Ｘｙ、Ｘｚ）として定義する。正面方向ベクトルは、仮想カメラの正面方向の向きを定義するベクトルである。上方向ベクトルは、仮想カメラの正面方向の向きに対する上方向の向きを定義するベクトルである。左方向ベクトルは、仮想カメラの正面方向の向きに対する左方向の向きを定義するベクトルである。これら３つのベクトルにより、仮想カメラから見た空間の座標系（ビュー座標系）が定義される。なお、これらのベクトルは、仮想カメラの位置（ｃｘ、ｃｙ、ｃｚ）及び注視点（ｂｘ、ｂｙ、ｂｚ）から求めることができる、いずれもその大きさが１の単位ベクトルであるとする。そして、仮想カメラからニアクリップ面までの距離をｎとし、仮想カメラからファークリップ面までの距離をｆとする。また、ニアクリップ面の中心を原点とする平面座標において、ニアクリップ面の右端をｘ１とし、ニアクリップ面の左端をｘ２とし、ニアクリップ面の上端をｙ１とし、ニアクリップ面の下端をｙ２とする。
【００９４】
本実施形態では、仮想カメラを用いて描画される２次元画像を得るために、ゲーム空間座標系を仮想カメラから見たビュー座標系に変換するためのビュー行列、及び、ビュー座標系を上側ＬＣＤ２２に表示するためのスクリーン座標系（２次元座標）に変換するためのプロジェクション行列を含むカメラ行列が用いられる。以下の［数１］は、ビュー行列の一例である。また、以下の［数２］は、プロジェクション行列の一例である。これらの行列は、上記設定される視野範囲の設定値に基づいて、適宜求められる。
【００９５】
【数１】
0005757790.tif 000002
【数２】
0005757790.tif 000003
このカメラ行列を用いることにより、視体積の内側に含まれる空間を基準仮想面等の投影面に投影した画像を得ることができる。つまり、当該カメラ行列により、仮想カメラの撮影対象範囲についての２次元画像を得ることができる。
【００９６】
なお、［数２］では、ニアクリップ面を規定する四辺の位置（大きさ）を用いて生成したプロジェクション行列が例示されるが、プロジェクション行列は、仮想カメラの視野角に基づいて生成されてもよい。
【００９７】
図８は、図６を用いて説明した２つの仮想カメラ（Ｃ１、Ｃ２）と、図７を用いて説明した各仮想カメラの設定との関係を例示する。図９は、図８に示す状態において描画される画像（右目用画像及び左目用画像）の描画処理を例示する。図１０は、図９に示す右仮想カメラＣ１及び左仮想カメラＣ２を用いて描画される画像を例示する。
【００９８】
２つの仮想カメラ（Ｃ１、Ｃ２）はそれぞれ、３次元仮想空間に存在するオブジェクトのうち、各カメラ方向の所定範囲にあるオブジェクトを描画（レンダリング）する。各仮想カメラの撮影対象範囲は、上記のとおり、視野角、ニアクリップ面、ファークリップ面等により定められる視体積に含まれる範囲である。
【００９９】
ここで、図９に示されるように、各仮想カメラの視体積に含まれる範囲において、各仮想カメラから距離Ｄの位置に設定されている基準仮想面において、右仮想カメラＣ１及び左仮想カメラＣ２により撮影可能な範囲にゼロ視差面ＰＤ０が設定される。基準仮想面は、上述のとおり、３次元仮想空間の中で、上側ＬＣＤ２２に表示された立体視画像を見るプレイヤが、上側ＬＣＤ２２の表示面の位置に存在すると感じる面である。そのため、ゼロ視差面ＰＤ０は、２つの仮想カメラ（Ｃ１、Ｃ２）により撮影可能な面であり、かつ、３次元仮想空間の中で、上側ＬＣＤ２２に表示された立体視画像を見るプレイヤが、上側ＬＣＤ２２の表示面の位置に存在すると感じる面である。つまり、ゼロ視差面ＰＤ０では、２つの仮想カメラ（Ｃ１、Ｃ２）からの視差がゼロとなる。なお、図９において２つの仮想カメラ（Ｃ１、Ｃ２）の視野範囲はそれぞれ実線で示される。仮想カメラＣ１に係るゼロ視差面ＰＤ０の範囲は、当該実線のうち、仮想カメラＣ２に近い方の実線と、図９において仮想カメラＣ１の位置を原点とする一点鎖線とに挟まれる範囲で表現される。なお、仮想カメラＣ２に係るゼロ視差面ＰＤ０の範囲については、仮想カメラＣ１に係るゼロ視差面ＰＤ０の範囲と同様に表現される。
【０１００】
ゲーム装置１は、右仮想カメラＣ１及び左仮想カメラＣ２の各仮想カメラを用いて、各仮想カメラにより撮影可能な範囲のうち、ゼロ視差面ＰＤ０の範囲の描画を行う。右仮想カメラＣ１を用いた描画により、右目用画像が得られる。また、左仮想カメラＣ２を用いた描画により、左目用画像が得られる。図１０は、このようにして得られる右目用画像ＩＭＧ１及び左目用画像ＩＭＧ２を例示する。
【０１０１】
図１０に示されるとおり、ゼロ視差面ＰＤ０に位置するオブジェクト（の部分）は、右
目用画像ＩＭＧ１及び左目用画像ＩＭＧ２ともに同じ位置に描画される。例えば、ゼロ視差面ＰＤ０に位置するオブジェクトは、障害物４である。障害物４は、図１０に示されるとおり、右目用画像ＩＭＧ１及び左目用画像ＩＭＧ２ともに同じ位置に描画される。他方、ゼロ視差面ＰＤ０から離れて位置するオブジェクト（の部分）は、右目用画像ＩＭＧ１及び左目用画像ＩＭＧ２において、異なる位置に描画される。例えば、ゼロ視差面ＰＤ０から離れて位置するオブジェクトは、キャラクタ２である。キャラクタ２は、図１０に示されるとおり、右目用画像ＩＭＧ１及び左目用画像ＩＭＧ２において、異なる位置に描画される。このような右目用画像ＩＭＧ１及び左目用画像ＩＭＧ２が上側ＬＣＤ２２に描画されることで、プレイヤは、立体的な視覚を得ることができる。
【０１０２】
このように、図６〜１０を用いて説明した本実施形態に係る立体視では、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆによって、プレイヤが感じる立体感が操作される。つまり、ゲーム装置１は、距離Ｄｆを適切に設定することで、プレイヤが快適に感じる立体感を演出することができる。
【０１０３】
また、各仮想カメラ（Ｃ１、Ｃ２）とゼロ視差面ＰＤ０（基準仮想面）との間の距離Ｄによって、上側ＬＣＤ２２の表示面の位置に存在するとプレイヤが感じるゲーム空間内の位置が操作される。つまり、ゲーム装置１は、距離Ｄを変更することにより、上側ＬＣＤ２２の表示面の位置に存在するとプレイヤが感じるゲーム空間内の位置を変更することができる。プレイヤは、通常、上側ＬＣＤ２２の表示面の位置に焦点をあてて、当該表示面を見る。したがって、一般的に、上側ＬＣＤ２２の位置の近傍に位置するオブジェクトほど、プレイヤにとって当該オブジェクトの奥行き等の状態が把握しやすい。つまり、プレイヤに適切に奥行き等の状態を把握させるべきオブジェクト等の近傍にゼロ視差面ＰＤ０が位置するように距離Ｄが設定されることで、プレイヤは、当該オブジェクト等の奥行き等の状態が把握しやすくなる。このように、ゲーム装置１は、距離Ｄを適切に設定することで、オブジェクト等の奥行き等の状態をプレイヤが適切に把握することができる立体視画像を提供することができる。
【０１０４】
本実施形態に係るゲーム装置１は、ゲーム空間内に設定された領域に応じて、当該領域をプレイヤに適切に把握させるように当該距離Ｄｆ又は距離Ｄ等を設定し、立体視画像（右目用画像及び左目用画像）を描画する。
【０１０５】
なお、本実施形態に係る立体視の処理は、いわゆる平行法に基づいている。ただし、本発明の立体視の処理は、平行法に限定されない。例えば、本発明の立体視の処理は、交差法でもよい。立体視の処理が交差法の場合、ゼロ視差面ＰＤ０は、例えば、注視点として与えられる。
【０１０６】
［保持情報］
図１１は、本実施形態に係るゲーム装置１が保持する情報を例示する。ゲーム装置１は、キャラクタ情報５１１、障害物情報５１２、フィールド情報５１３、仮想カメラ情報５１４、領域情報５１５、及び、ゲーム進行状態情報５１６等を保持する。これらの情報は、後述する記憶部５１に保持されている。
【０１０７】
キャラクタ情報５１１は、キャラクタ２に関する情報である。すなわち、キャラクタ情報５１１は、ゲーム装置１に係る操作対象であるオブジェクトに関する情報である。キャラクタ情報５１１には、例えば、キャラクタ２を識別するためのキャラクタＩＤ、キャラクタ２を表示するためのキャラクタ画像データ、及び、キャラクタ２の状態に関するパラメータ等が含まれる。なお、キャラクタ２の状態とは、例えば、ゲーム空間内におけるキャラクタ２の位置、及び、キャラクタ２の移動速度等である。
【０１０８】
障害物情報５１２は、障害物４に関する情報である。すなわち、障害物情報５１２は、ゲーム装置１に係る操作対象以外のオブジェクトに関する情報である。障害物情報５１２には、例えば、障害物４を識別するための障害物ＩＤ、障害物４を表示するための障害物画像データ、及び、障害物４の状態に関するパラメータ等が含まれる。なお、障害物４の状態とは、例えば、障害物４の位置、及び、障害物４の移動速度等である。
【０１０９】
フィールド情報５１３は、フィールド３に関する情報である。すなわち、フィールド情報５１３は、ゲーム装置１に係るゲームのフィールド（マップ）に関する情報である。フィールド情報５１３には、フィールドを識別するためのフィールドＩＤ、及び、フィールド３を表示するためのフィールド画像データ等が含まれる。
【０１１０】
仮想カメラ情報５１４は、右仮想カメラＣ１及び左仮想カメラＣ２に関する情報である。すなわち、仮想カメラ情報５１４は、ゲーム空間を描画するために用いられる仮想カメラを設定するための情報である。本実施形態において、仮想カメラ５１４には、上述した、中心点Ｃ０のゲーム空間内の座標（仮想カメラの位置）、各仮想カメラの視野角、ニアクリップ面に関する情報、及び、ファークリップ面に関する情報、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆ、及び、各仮想カメラ（Ｃ１、Ｃ２）とゼロ視差面ＰＤ０との間の距離Ｄ等の情報が含まれる。ニアクリップ面に関する情報とは、例えば、仮想カメラからニアクリップ面までの距離等の情報である。また、ファークリップ面に関する情報とは、例えば、仮想カメラからファークリップ面までの距離等の情報である。
【０１１１】
これら仮想カメラ情報５１４に含まれる情報には、２つの仮想カメラ（Ｃ１、Ｃ２）による立体視画像（右目用画像及び左目用画像）の描画に係る情報として、立体視パラメータが含まれる。立体視パラメータは、ゲーム装置１が立体視画像を描画するために用いられるパラメータである。
【０１１２】
本実施形態おいて、立体視パラメータは、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆ、及び、各仮想カメラ（Ｃ１、Ｃ２）とゼロ視差面ＰＤ０との間の距離Ｄである。距離Ｄｆは、本発明の「立体視画像の奥行き感に関するパラメータ」に相当する。また、距離Ｄは、本発明の「前記仮想空間において視差が生じない位置を定める基準面に関するパラメータ」に相当する。例えば、立体視パラメータに含まれる距離Ｄｆが適切に設定されることで、ゲーム装置１は、プレイヤが快適に感じる立体感を与える立体視画像を提供することができる。また、立体視パラメータに含まれる距離Ｄが適切に設定されることで、ゲーム装置１は、オブジェクト等の奥行き等の状態をプレイヤが適切に把握することができる立体視画像を提供することができる。これらの影響により、プレイヤは、立体視画像により表現されるゲーム空間を適切に把握することが可能になる。
【０１１３】
なお、立体視パラメータは、必ずしも、距離Ｄｆ及びＤの両方を含まなければならない訳ではない。例えば、どちらか一方の距離は立体視パラメータに含まれ、他方の距離は、固定値として定められ、立体視パラメータに含まれなくてもよい。
【０１１４】
また、立体視パラメータは、必ずしも、距離Ｄｆ及び距離Ｄそのものでなくてもよい。立体視パラメータは、例えば、距離Ｄｆ、並びに、距離Ｄｆ及び距離Ｄの比率等、距離Ｄｆ及び距離Ｄを算出することができるパラメータでもよい。
【０１１５】
また、立体視パラメータには、ニアクリップ面の位置、及び、ファークリップ面の位置等、立体視画像の描画に係る撮影範囲を定めるパラメータが含まれてもよい。
【０１１６】
例えば、仮想カメラとニアクリップ面との間に位置するオブジェクトは描画されないため、ニアクリップ面の位置を適切に設定することで、仮想カメラを用いて描画されるオブ
ジェクトを適切に選択することができる。具体的には、仮想カメラの視野を遮るようなオブジェクトが仮想カメラの近傍に存在する場合、当該オブジェクトが描画対象に含まれないようにニアクリップ面の位置を設定することで、仮想カメラの描画対象から当該オブジェクトを除外することができる。これにより、仮想カメラの視野を遮るオブジェクトが描画されなくなるので、プレイヤにとってゲーム空間をより把握しやすい立体視画像を描画することが可能になる。
【０１１７】
また、例えば、仮想カメラからみてファークリップ面より後方に位置するオブジェクトは描画されないため、ファークリップ面の位置を適切に設定することで、仮想カメラを用いて描画されるオブジェクトを適切に選択することができる。具体的には、仮想カメラのカメラ方向を基準として、手前側に存在するオブジェクトと奥側に存在するオブジェクトの色が同色である場合がある。この場合、当該奥側に存在するオブジェクトが描画対象に含まれないようにファークリップ面の位置を設定することで、仮想カメラの描画対象から当該奥側のオブジェクトを除外することができる。これにより、当該手前側に存在するオブジェクトと色が同色である当該奥側に存在するオブジェクトが描画されなくなるので、プレイヤにとってゲーム空間をより把握しやすい立体視画像を描画することが可能となる。
【０１１８】
領域情報５１５は、ゲーム空間に設定された複数の領域に関する情報である。ゲーム装置１は、ゲーム空間に設定された複数の領域のうち、キャラクタ２が位置する領域を特定する。そして、ゲーム装置１は、特定した領域に応じて、上記立体視パラメータを設定する。本実施形態において、領域情報５１５は、キャラクタ２が位置する領域を特定するために必要な各領域の範囲を示す範囲情報、ゲーム装置１が当該立体視パラメータの設定を行うために必要な設定用情報、及び、領域間の優先度を示す優先度情報を含む。なお、本実施形態において、領域情報５１５は、領域毎に用意された複数件の領域情報である。１件１件の領域情報は、各領域に関する範囲情報、設定用情報、及び、優先度情報を含む。
【０１１９】
本実施形態では、各件の領域情報に含まれる範囲情報は、ゲーム空間内における各領域の範囲を示す。ゲーム装置１は、当該範囲情報により、ゲーム空間内における各領域の範囲を認識することができる。範囲情報は、例えば、（１）球の中心座標と球の半径、（２）円柱の中心軸と、中心軸の長さの範囲を示す座標と、円柱の半径、（３）直方体の８頂点の頂点列等で記述される。
【０１２０】
また、本実施形態では、各件の領域情報に含まれる設定用情報は、各領域に応じて立体視パラメータ（距離Ｄｆ及びＤ）を設定するための描画設定用パラメータを含む。ゲーム装置１は、描画設定用パラメータに示される値を用いて、立体視パラメータの値を設定する。なお、設定用情報は、領域を識別する領域ＩＤをキーとして、各領域において、立体視パラメータ（距離Ｄｆ及びＤ）に設定するための値を格納したテーブル又はデータベースであってもよい。
【０１２１】
なお、各領域に応じて立体視パラメータを設定するための情報は、各件の領域情報に含まれる設定用情報（描画設定用パラメータ）に限定される訳ではない。例えば、領域情報５１５は、各件の領域情報に含まれる設定用情報（描画設定用パラメータ）に代えて、特定された領域を示す領域ＩＤ等を入力とし、立体視パラメータに設定するための値を出力とする描画設定用関数を含んでもよい。当該描画設定用関数は、１件１件の領域情報に用意される必要はなく、各件共通に用意されてもよい。
【０１２２】
また、キャラクタ２が位置する領域の切り替わりにより立体視パラメータが設定できるため、描画設定用パラメータ及び描画設定用関数が必要ない場合がある。この場合、設定用情報は無くてもよい。この場合の例として、所定の規則に従って複数の領域が設定され
ている場合が挙げられる。所定の規則に従って複数の領域が設定されている場合とは、例えば、ゲーム空間内において２種類の領域が交互に設定されている場合である。この場合、キャラクタ２が位置する領域の切り替わりに応じて、立体視パラメータを切り替えることが可能である。そのため、この場合、ゲーム装置１は、上記設定用情報を用いることなく、各領域に応じた立体視パラメータを設定することができる。このような場合、上記設定用情報は無くてもよい。
【０１２３】
また、本実施形態では、各件の領域情報に含まれる優先度情報は、各領域間の優先度を定める。本実施形態において、ゲーム装置１は、キャラクタ２が複数の領域に同時に位置する場合、優先度に従って、キャラクタ２の位置する複数の領域のうちのいずれかの領域に応じて、立体視パラメータを設定する。このときに、優先度情報は利用される。なお、例えば、キャラクタ２が複数の領域に同時に位置することが生じない場合、例えば、ゲーム空間に設定された複数の領域に重複が生じない場合、ゲーム装置１は、当該優先度情報を必要としない。
【０１２４】
ゲーム進行状態情報５１６は、ゲーム進行状況を含む情報である。ゲーム進行状態情報５１６には、例えば、ゲームの経過時間、及び、得点情報等が含まれる。ゲーム装置１は、以上のような情報を保持する。
【０１２５】
［機能ブロック］
図１２は、本実施形態に係るゲーム装置１の機能ブロックを例示する。図１２に示される各機能ブロックは、例えば、外部メモリ４５に格納されるゲームプログラムを情報処理部３１（ＣＰＵ３１１及びＧＰＵ３１２）が読み出して実行することによって実現される機能の一部である。
【０１２６】
ゲーム装置１は、ゲームプログラムを実行することによって、記憶部５１、入力受付部５２、位置制御部５３、領域判定部５４、パラメータ設定部５５、画像生成部５６、仮想カメラ制御部５７、ゲーム進行処理部５８、及び、表示制御部５９として動作する。
【０１２７】
記憶部５１は、上記のとおり、キャラクタ情報５１１、障害物情報５１２、フィールド情報５１３、仮想カメラ情報５１４、領域情報５１５、及び、ゲーム進行状態情報５１６等を保持する。
【０１２８】
入力受付部５２は、ゲーム装置１に接続される入力装置を介した入力を受け付ける。具体的には、入力受付部５２は、各操作ボタン１４Ａ〜１４Ｉ及びアナログスティック１５を介したプレイヤの入力操作を受け付ける。例えば、入力受付部５２は、プレイヤによるキャラクタ２の移動操作として、十字ボタン１４Ａ又はアナログスティック１５を介した入力操作を受け付ける。また、例えば、入力受付部５２は、プレイヤによるキャラクタ２のアクション操作として、操作ボタン１４Ｂ〜１４Ｅを介した入力操作を受け付ける。アクション操作とは、例えば、キャラクタ２に飛ぶ等の所定の動作を行わせる操作である。
【０１２９】
位置制御部５３は、仮想空間におけるオブジェクトの位置を制御する。具体的には、位置制御部５３は、キャラクタ２の位置を制御する。例えば、位置制御部５３は、入力受付部５２が受け付けた十字ボタン１４Ａ又はアナログスティック１５を介した入力操作に基づいて、キャラクタ２の位置を制御する。
【０１３０】
領域判定部５４は、ゲーム空間に設定された複数の領域のうち、位置制御部５３により制御されたキャラクタ２の位置する領域を判定する。具体的には、領域判定部５４は、記憶部５１に格納されたキャラクタ情報５１１及び領域情報５１５に含まれる範囲情報を用いて、キャラクタ２の位置する領域を判定する。当該判定により、キャラクタ２の位置す
る領域が特定される。なお、ゲーム空間内に設定される領域の形状は、例えば、直方体、円柱、及び、球などの立体形状である。
【０１３１】
パラメータ設定部５５は、領域判定部５４による判定に基づいて特定された領域に応じて、立体視画像の描画に用いられる立体視パラメータ（仮想カメラ情報５１４）を設定する。本実施形態では、まず、パラメータ設定部５５は、領域判定部５４による判定に基づいて特定された領域に対応する１件の領域情報（領域情報５１５）に含まれる設定用情報を記憶部５１から取得する。そして、取得した設定用情報に含まれる描画設定用パラメータにより示される値に基づいて、立体視パラメータの値を設定する。
【０１３２】
なお、パラメータ設定部５５は、特定された領域に応じて立体視パラメータに設定されるべき設定値が、当該立体視パラメータに設定されている現在値と異なる場合、立体視パラメータに設定される値が当該現在値から当該設定値に段階的に変化するように、立体視パラメータを設定してもよい。
【０１３３】
また、当該段階的な変化において、パラメータ設定部５５は、当該現在値から当該設定値への変化に係る変化量が一定となるように、立体視パラメータを設定してもよい。パラメータ設定部５５は、当該現在値から当該設定値への変化に係る変化量が減少するように、立体視パラメータを設定してもよい。パラメータ設定部５５は、当該現在値から当該設定値への変化に係る変化量が増加するように、立体視パラメータを設定してもよい。
【０１３４】
画像生成部５６は、パラメータ設定部５５により設定された立体視パラメータ（仮想カメラ情報５１４）に基づいて、キャラクタ２を含む立体視画像を描画（レンダリング）することで、立体視画像を生成する。立体視画像の描画については、これまでに説明したとおりであるため、説明を省略する。
【０１３５】
なお、パラメータ設定部５５は、特定された領域に応じて立体視パラメータに設定されるべき設定値が、当該立体視パラメータに設定されている現在値と異なる場合、立体視パラメータに設定される値が当該現在値から当該設定値に段階的に変化するように、立体視パラメータを設定するときがある。このとき、画像生成部５６は、当該変化の間、当該立体視パラメータに基づいて、少なくとも１回、立体視画像を描画する。なお、当該変化の期間、又は、当該変化の間における描画の回数は、例えば、領域判定部５４による判定に基づいて特定された領域に応じて定められる。
【０１３６】
仮想カメラ制御部５７は、仮想カメラ情報５１４に含まれる仮想カメラの位置及び向き等を示す情報を参照及び更新することで、仮想カメラの位置及び向き等の状態を制御する。例えば、仮想カメラ制御部５７は、２つの仮想カメラ（Ｃ１、Ｃ２）の撮像対象範囲にキャラクタ２が含まれるように、位置制御部５３により制御されるキャラクタ２の位置に基づいて、仮想カメラの位置及び向きを制御する。
【０１３７】
ゲーム進行処理部５８は、ゲーム進行状態情報５１６を参照及び更新することで、本実施形態に係るアクションゲームのゲーム進行を管理する。例えば、ゲーム進行処理部５８は、プレイヤがキャラクタ２を操作することで得た得点を管理したり、ＲＴＣ３８によって取得される実空間の時間経過に従って、ゲーム空間内の時間経過を管理したりする。
【０１３８】
表示制御部５９は、画像生成部５６によって生成された立体視画像等を上側ＬＣＤ２２に表示させる。すなわち、表示制御部５９は、上側ＬＣＤ２２の画像の表示を制御する。上側ＬＣＤ２２は、表示制御部５９に制御されることで、立体的に又は平面的に画像を表示する。
【０１３９】
ゲーム装置１は、このような機能ブロックを有する。なお、以下において、情報処理部３１により実現される上記各機能による処理を説明する場合、情報処理部３１に代えて各機能ブロックを処理の主体として説明する。
【０１４０】
§２  動作例
次に、図１３を用いて、本実施形態に係るゲーム処理の流れを説明する。図１３は、本実施形態に係るゲーム処理の流れを示すフローチャートである。なお、図１３では、ステップを「Ｓ」と略称する。
【０１４１】
ステップ１０１では、初期設定がなされる。情報処理部３１は、例えば、ゲームの開始等のアクションをトリガとして、キャラクタ情報５１１に含まれるキャラクタ２の状態に関するパラメータ、障害物情報５１２に含まれる障害物４の状態に関するパラメータ、仮想カメラ情報５１４に含まれる仮想カメラの設定に係る各情報、及び、ゲーム進行状態情報等に初期値を設定する。初期設定が終了すると、処理は、ステップ１０２に進む。
【０１４２】
ステップ１０２では、プレイヤによる入力装置を介した入力操作が受け付けられる。入力受付部５２は、各操作ボタン１４Ａ〜Ｉ、及び、アナログスティック１５を介した入力操作を受け付ける。その後、処理は、ステップ１０３に進む。
【０１４３】
ステップ１０３では、キャラクタ２の位置が制御される。具体的には、位置制御部５３は、キャラクタ情報５１１に含まれるキャラクタ２の状態に関するパラメータから、キャラクタ２の位置に関する情報（座標値等）を取得する。また、位置制御部５３は、キャラクタ情報５１１に含まれるキャラクタ２の移動速度に関する情報、及び、仮想カメラ情報５１４に含まれる仮想カメラの位置及び向きを示す情報を取得する。そして、位置制御部５３は、入力受付部５２が受け付けたプレイヤの入力操作、キャラクタ情報５１１に含まれるキャラクタ２の移動速度に関する情報、及び、仮想カメラ情報５１４に含まれる仮想カメラの位置及び向きを示す情報に基づいて、キャラクタ２の位置に関する情報を更新する。位置制御部５３は、例えば、仮想カメラの位置及び向きを基準として、ステップ１０２において受け付けたプレイヤの入力操作（移動操作）、及び、キャラクタ２の移動速度に関する情報から特定可能であるキャラクタ２自身の動作によって移動したキャラクタ２が存在すべき位置を特定する。このとき、例えば、位置制御部５３は、障害物情報５１２及びフィールド情報５１３等を参照する。そして、位置制御部５３は、キャラクタ２がフィールド３（地面や壁等）及び障害物４にめり込まないよう、キャラクタ２の位置を特定する。位置制御部５３は、特定した位置に基づいて、キャラクタ情報５１１に含まれるキャラクタ２の位置に関する情報を更新する。このようにして、位置制御部５３は、キャラクタ２の位置を制御する。当該制御の後、処理は、ステップ１０４に進む。なお、キャラクタ２の位置の特定方法は、上記のような特定方法に限定される訳ではない。キャラクタ２の位置の特定方法は、適宜選択される。
【０１４４】
ステップ１０４では、仮想カメラの設定が更新される。例えば、仮想カメラ制御部５７は、仮想カメラ情報５１４に含まれる仮想カメラの位置及び向き等を示す情報を取得する。そして、仮想カメラ制御部５７は、入力受付部５２が受け付けたプレイヤによる入力操作、キャラクタ２の位置、または、キャラクタ２の移動速度等に基づいて、更新に係る仮想カメラの位置を特定する。仮想カメラ制御部５７は、特定した位置に基づいて、仮想カメラ情報５１４に含まれる仮想カメラの位置を更新する。また、仮想カメラ制御部５７は、仮想カメラの位置と同様に、仮想カメラの向きを更新する。当該仮想カメラの設定の更新後、処理は、ステップ１０５に進む。
【０１４５】
なお、本ステップ１０４において、例えば、仮想カメラ制御部５７は、フィールド３（例えば、地面）から一定の高さで、キャラクタ２の背後、かつ、キャラクタ２との距離が
一定となる位置を仮想カメラの位置として特定してもよい。また、例えば、仮想カメラ制御部５７は、キャラクタ２の移動に応じて、仮想カメラとキャラクタ２との間の距離が一定以上となった場合に、仮想カメラが、キャラクタ２に引っ張られ、かつ、キャラクタ２に追随して移動するように、仮想カメラの位置を特定してもよい。また、例えば、仮想カメラ制御部５７がフィールド３（地面や壁等）及び障害物４にめり込まないよう、仮想カメラ制御部５７は、仮想カメラの位置を特定してもよい。また、例えば、仮想カメラ制御部５７は、仮想カメラとキャラクタ２との間に、キャラクタ２以外のオブジェクト（例えば、障害物４）が入らないように、仮想カメラの位置を特定してもよい。ただし、仮想カメラの位置の特定方法は、これらの方法に限定される訳ではない。仮想カメラの位置の特定方法は、適宜選択される。
【０１４６】
ステップ１０５では、ゲーム進行処理が実行される。ゲーム進行処理部５８は、例えば、入力受付部５２が受け付けた入力装置を介した入力、キャラクタ情報５１１、障害物情報５１２、及び、フィールド情報５１３等に基づいて、所定のイベント等が発生したか否かを判定する。所定のイベントとは、例えば、キャラクタ２が、フィールド３上に設けられたゴール地点に到着すること等である。このようなイベントが発生した場合、ゲーム進行処理部５８は、例えば、記憶部５１のゲーム進行状態情報５１６に含まれる得点情報を更新する。また、ゲーム進行処理部５８は、例えば、実空間の時間経過に従って、ゲーム内時間を更新する。ゲーム進行処理が終了すると、処理は、ステップ１０６に進む。
【０１４７】
ステップ１０６では、キャラクタ２の位置する領域が判定される。例えば、領域判定部５４は、キャラクタ情報５１１からキャラクタ２の位置に関する情報を取得する。当該キャラクタ２の位置に関する情報は、ステップ１０３において更新された情報である。また、領域判定部５４は、領域情報５１５から各領域の範囲を示す範囲情報を取得する。そして、領域判定部５４は、キャラクタ２の位置と各領域の範囲を比較し、キャラクタ２の位置を含む範囲の領域を判定する。当該判定に基づいて、キャラクタ２の位置する領域が特定される。その後、処理は、ステップ１０７に進む。
【０１４８】
ステップ１０７では、ステップ１０６で特定された領域に基づいて、立体視画像を描画するための立体視パラメータが設定される。具体的には、パラメータ設定部５５は、領域情報５１５から、ステップ１０６において特定した領域に対応する領域情報を取得する。そして、パラメータ設定部５５は、取得した領域情報に含まれる設定用情報（描画設定用パラメータ）を用いて、立体視パラメータの設定を行う。
【０１４９】
なお、ステップ１０６で特定される領域が複数の領域である場合がある。つまり、キャラクタ２が同時に複数の領域に位置する場合がある。図１４は、キャラクタ２が同時に複数の領域に位置する状態を例示する。図１４に示される領域６（斜線領域）は、ゲーム空間内に設定された領域５ａ及び領域５ｂが重なる領域である。キャラクタ２は領域６に位置する。つまり、キャラクタ２は、同時に、ゲーム空間内に設定された領域５ａ及び領域５ｂに位置する。
【０１５０】
この場合、例えば、パラメータ設定部５５は、複数の領域それぞれに設定された優先度に従って、立体視パラメータの設定に係る領域を特定してもよい。このとき、例えば、パラメータ設定部５５は、優先度の最も高い領域を、立体視パラメータの設定に係る領域として特定してもよい。ただし、立体視パラメータの設定に係る領域を優先度に従って特定する方法は、このような方法に限定されるものではない。例えば、優先度の最も低い領域が、立体視パラメータの設定に係る領域として特定されてもよい。
【０１５１】
また、このとき、例えば、パラメータ設定部５５は、キャラクタ２が同時に位置する複数の領域（例えば、領域５ａ及び領域５ｂ）それぞれに対応する領域情報に含まれる優先
度情報を参照し、立体視パラメータの設定に係る領域を特定した後、当該立体視パラメータの設定に用いる設定用情報を取得してもよい。ただし、設定用情報を取得する方法は、このような方法に限定されるものではない。例えば、パラメータ設定部５５は、キャラクタ２が同時に位置する複数の領域それぞれに係る領域情報を取得し、当該取得した領域情報に含まれる優先度情報を比較してもよい。そして、パラメータ設定部５５は、当該比較に基づいて、立体視パラメータの設定に係る領域に対応する領域情報を選択し、該選択された領域情報から当該立体視パラメータの設定に用いる設定用情報を取得してもよい。
【０１５２】
また、この場合、例えば、パラメータ設定部５５は、キャラクタ２の移動に基づいて、立体視パラメータの設定に係る領域を特定してもよい。例えば、パラメータ設定部５５は、キャラクタ２が同時に位置する複数の領域（例えば、領域５ａａ及び領域５ｂ）のうち、キャラクタ２が同時に複数の領域に位置する直前に存在した領域（例えば、領域５ａ）を、立体視パラメータの設定に係る領域と特定してもよい。
【０１５３】
ステップ１０６で特定される領域が複数の領域である場合、ステップ１０７ではこのようにして、立体視パラメータの設定に係る領域が特定される。そして、パラメータ設定部５５は、当該特定した領域に対応する領域情報に含まれる設定用情報を用いて、立体視パラメータの設定を行う。
【０１５４】
本ステップ１０７では、このようにして、立体視画像を描画するための立体視パラメータが設定される。その後、処理は、ステップ１０８に進む。
【０１５５】
図１３に戻り、ステップ１０８では、立体視画像の描画処理が実行される。画像生成部５６は、パラメータ設定部５５が設定した立体視パラメータを用いて立体視画像を生成する。例えば、画像生成部５６は、キャラクタ情報５１１、障害物情報５１２、フィールド情報５１３、及び、仮想カメラ情報５１４に基づいて、立体視画像を描画（レンダリング）し、立体視画像を生成する。
【０１５６】
なお、画像生成部５６により立体視画像が生成された後、表示制御部５９は、画像生成部５６が描画した立体視画像を上側ＬＣＤ２２に出力する。そして、表示制御部５９は、当該立体視画像を上側ＬＣＤ２２に立体視可能な状態で表示させる。その後、次のステップ１０９に処理が進む。
【０１５７】
ステップ１０９では、ゲーム進行処理部５８により、ゲーム終了か否かが判断される。例えば、ゲーム進行処理部５８は、所定の時間が経過した等のイベントの発生に基づいて、ゲーム終了の判断を行う。ゲーム進行処理部５８によってゲーム終了と判断されると（ステップ１０９のＹＥＳ）、本実施形態に係るゲーム処理は終了する。他方、ゲーム進行処理部５８によってゲーム終了ではないと判断されると（ステップ１０９のＮＯ）、本実施形態に係るゲーム処理は、ステップ１０２に戻って、繰り返される。
【０１５８】
本実施形態によれば、ゲーム空間内に設定された複数の領域に応じて設定される立体視パラメータが用いられて、キャラクタ２を含む立体視画像が生成される。例えば、当該領域に応じて、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆ、及び、各仮想カメラ（Ｃ１、Ｃ２）とゼロ視差面ＰＤ０との間の距離Ｄが設定される。このように、本実施形態では、各領域に応じて、２つの仮想カメラ（Ｃ１、Ｃ２）間の距離Ｄｆ、及び、各仮想カメラ（Ｃ１、Ｃ２）とゼロ視差面ＰＤ０との間の距離Ｄを設定することができる。そのため、本実施形態によれば、立体視画像により表現されるゲーム空間をより適切にプレイヤに把握させることが可能となる。
【０１５９】
また、本実施形態によれば、ゲーム空間内に設定された複数の領域に応じて、立体視画
像の描画に用いられる立体視パラメータが設定される。ここで、プレイヤにゲーム空間を適切に把握させるためには、立体視パラメータは、ゲーム空間の状態に応じて、設定される必要がある。このため、ゲーム空間内に設定される複数の領域は、ゲーム空間の状態に基づいて設定されるのが好ましい。本実施形態では、ゲーム空間内に設定される複数の領域の形状に設定できる形状は、例えば、直方体、円柱、球等の複数種類の形状である。ゲーム空間内に設定される複数の領域の形状が、ゲーム空間の状態に基づいて適宜選択されるとする。当該選択において、例えば、複数種類の異なる形状が選択されたとする。つまり、複数種類の異なる形状の領域がゲーム空間内に設定されたとする。このとき、領域間で重複する部分（重複領域）が生じうる。この重複領域では、いかにして立体視パラメータを設定するのかという問題が生じる。本実施形態では、キャラクタ２がこのような重複領域に位置する場合、言い換えると、キャラクタ２が同時に複数の領域に位置する場合、各領域に設定された優先度に基づいて、立体視パラメータの設定に係る領域が特定される。よって、本実施形態では、このような重複領域が存在することによって生じる問題を考慮せず、ゲーム空間内に複数の領域を設定することができる。すなわち、本実施形態では、ゲーム空間内の状態に適応するように、複数の領域を簡易に設定することができる。
【０１６０】
なお、ステップ１０２〜ステップ１０７の処理は、ゲームが終了するまで繰り返される。本実施形態では、ステップ１０２〜ステップ１０７の一連の処理を１フレームの処理とする。そして、本実施形態では、１秒間に３０フレームの処理がなされる。
【０１６１】
ステップ１０２〜ステップ１０７の処理が繰り返されると、プレイヤがキャラクタ２を操作することによって、ステップ１０６において特定される、キャラクタ２が位置する領域が切り替わりうる。言い換えると、ステップ１０７において、立体視パラメータの設定に係る領域が切り替わりうる。このとき、立体視パラメータに設定される値の切り替わりが生じうる。図１５は、このような立体視パラメータに設定される値の切り替わりが生じた状態を例示する。図１５は、キャラクタ２が、キャラクタ２ａにより示される位置から、キャラクタ２ｂにより示される位置に移動した場合を例示する。ゼロ視差面ＰＤ０ａは、領域５ａにおいて設定されるゼロ視差面である。また、ゼロ視差面ＰＤ０ｂは、領域５ｂにおいて設定されるゼロ視差面である。図１５に示される例では、仮想カメラとゼロ視差面ＰＤ０ａとの距離Ｄａは、仮想カメラとゼロ視差面ＰＤ０ｂとの距離Ｄｂと異なる。つまり、例えば、キャラクタ２が領域５ａから領域５ｂに移動すると、立体視パラメータ（距離Ｄ）に異なる値が設定される。
【０１６２】
ここで、１フレームの処理で、立体視パラメータの値が切り替わるとする。例えば、キャラクタ２の位置が領域５ａから領域５ｂに変わった時点におけるフレームのステップ１０７の処理において、立体視パラメータの値が切り替わったとする。この場合、具体的には、パラメータ設定部５５の処理により、立体視パラメータに設定される値は、領域５ａに対応する領域情報から取得される設定用情報により設定された値（現在値）から、領域５ｂに対応する領域情報から取得される設定用情報により設定されるべき設定値に切り替わる。このとき、現在値と設定値との差が大きいほど、１フレーム間で差分の大きい立体視画像が描画される。
【０１６３】
本実施形態では、このような点を考慮して、ステップ１０７では、複数のフレームをかけて、立体視パラメータの値が現在値から設定値に段階的に変化するように、立体視パラメータの設定が行われる。図１６Ａ〜Ｅは、当該動作における、立体視パラメータに設定される値の変化を例示する。なお、図１６Ａ〜Ｅは、それぞれ、ステップ１０６において、領域判定部５４により特定される領域が切り替わった時刻を「ｔ＝０」とするグラフである。
【０１６４】
図１６Ａは、現在値から設定値への変化に係る変化量が一定である場合を例示する。図
１６Ｂは、現在値から設定値への変化に係る変化量が減少するように、立体視パラメータが設定される場合を例示する。図１６Ｃは、現在値から設定値への変化に係る変化量が増加するように、立体視パラメータが設定される場合を例示する。なお、現在値から設定値への変化に係る変化量は、図１６Ａ〜Ｃにより例示される変化量に限定される訳ではない。
【０１６５】
また、図１６Ｄは、現在値から設定値への変化の間に、現在値と設定値との間以外の値が立体視パラメータに設定される場合を例示する。また、図１６Ｅは、キャラクタ２の位置が領域５ａから領域５ｂに切り替わった時点とは時間的にずれた時点から、現在値から設定値への変化が生じる場合を例示する。図１６Ｄに示されるように、当該変化の間、現在値と設定値との間以外の値が立体視パラメータに設定されてもよい。また、図１６Ｅに示されるように、キャラクタ２の位置が領域５ａから領域５ｂに切り替わった時点とは時間的にずれた時点から、現在値から設定値への変化が生じてもよい。また、図１６Ｄ及び１６Ｅは、現在値と設定値との間以外の値が立体視パラメータに設定される仕様、及び、キャラクタ２の位置が領域５ａから領域５ｂに切り替わった時点とは時間的にずれた時点から変化が生じる仕様をそれぞれ図１６Ｂに例示される変化に適用した場合を例示する。しかしながら、現在値と設定値との間以外の値が立体視パラメータに設定される仕様、及び、キャラクタ２の位置が領域５ａから領域５ｂに切り替わった時点とは時間的にずれた時点から変化が生じる仕様は、どのような変化に適用されてもよい。例えば、これらの仕様は、図１６Ａ又は１６Ｃに例示される変化に適用されてもよい。
【０１６６】
本実施形態では、パラメータ設定部５５は、このように立体視パラメータの値の設定を行う。これにより、本実施形態におけるゲーム装置１は、１フレーム間における立体視画像の差分を小さくする。これにより、本実施形態では、１フレーム間における立体視画像の急激な変化を防止することができる。
【０１６７】
また、本実施形態では、パラメータ設定部５５は、キャラクタ２の位置が領域５ａから領域５ｂに切り替わった時点とは時間的にずれた時点から、立体視パラメータの値が現在値から設定値への変化するように、立体視パラメータの設定を行う。これにより、本実施形態では、例えば、キャラクタ２が領域５ａと領域５ｂとを行ったり来たりすることによって、キャラクタ２が位置する領域が頻繁に切り替わる場合に、立体視パラメータに設定される値が頻繁に切り替わることが防止される。よって、本実施形態では、キャラクタ２が位置する領域が頻繁に切り替わる場合に生じうる、立体視パラメータに基づいて描画される立体視画像の頻繁かつ急激な変化を防止することができる。
【０１６８】
なお、立体視パラメータの値の変化に係るフレーム数は、当該変化に係る時間で指定されてもよい。時間で指定される場合、当該変化に係る時間を１フレームにかかる時間で割った値が、当該変化に係るフレーム数（ステップ１０２〜１０７の繰り返しの回数）となる。
【０１６９】
また、立体視パラメータの値の変化に係るフレーム数は、キャラクタ２の位置する、ゲーム空間内に設定された領域に応じて決定されてもよい。例えば、キャラクタ２が領域５ａから領域５ｂに移動した場合、立体視パラメータの値の変化に係るフレーム数は、領域５ａ又は領域５ｂに応じて決定されてもよい。これにより、適宜、立体視パラメータの値の変化に係るフレーム数を設定することができる。例えば、立体視パラメータの切り替わりの際の変化量に比例するように、立体視パラメータの値の変化に係るフレーム数が定められてもよい。このようにすることで、いずれの領域間でも、立体視パラメータに設定される値が同じような変化するように、立体視パラメータを設定することができる。
【０１７０】
なお、上記実施形態は、あくまでも本発明の一実施形態に過ぎず、本発明の範囲を何ら
限定するものではない。
【０１７１】
また、上記実施形態では、１台の情報処理装置（ゲーム装置本体）が、複数の処理を実行している。しかしながら、処理に係る情報処理装置の数は限定されるものではなく、複数の情報処理装置（例えば、ゲーム装置本体とサーバ装置等）が、これらの複数の処理を分担して実行してもよい。
【０１７２】
また、例えば、プログラム（ゲームプログラム）は、任意のコンピュータ読み取り可能な記憶媒体（例えば、光ディスク、半導体メモリ等）からゲーム装置本体に供給されてもよい。その他、例えば、ゲームプログラムは、ゲーム装置本体内部の不揮発性メモリ（ＲＯＭ／ＲＴＣ１３、フラッシュメモリ１７）に予め格納されていることで供給されてもよい。更に、例えば、ゲームプログラムは、他の情報処理装置（ゲーム装置やサーバ装置）からゲーム装置本体に送信されることで供給されてもよい。情報処理装置（ゲーム装置本体）に対するプログラム（ゲームプログラム）の供給方法は、本発明を限定するものではない。
【符号の説明】
【０１７３】
１  ゲーム装置
２  キャラクタ
３  フィールド
４  障害物
５ａ、５ｂ  領域
５１  記憶部
５２  入力受付部
５３  位置制御部
５４  領域判定部
５５  パラメータ設定部
５６  画像生成部
５７  仮想カメラ制御部
５８  ゲーム進行処理部
５９  表示制御部
ＰＤ０  ゼロ視差面
【図１Ａ】
0005757790.tif 000004
【図１Ｂ】
0005757790.tif 000005
【図２Ａ】
0005757790.tif 000006
【図２Ｂ】
0005757790.tif 000007
【図３】
0005757790.tif 000008
【図４】
0005757790.tif 000009
【図５】
0005757790.tif 000010
【図６】
0005757790.tif 000011
【図７】
0005757790.tif 000012
【図８】
0005757790.tif 000013
【図９】
0005757790.tif 000014
【図１０】
0005757790.tif 000015
【図１１】
0005757790.tif 000016
【図１２】
0005757790.tif 000017
【図１３】
0005757790.tif 000018
【図１４】
0005757790.tif 000019
【図１５】
0005757790.tif 000020
【図１６Ａ】
0005757790.tif 000021
【図１６Ｂ】
0005757790.tif 000022
【図１６Ｃ】
0005757790.tif 000023
【図１６Ｄ】
0005757790.tif 000024
【図１６Ｅ】
0005757790.tif 000025