(57)【要約】【課題】複数の仮想カメラによって種々の画像を生成することができる画像生成システムを提供すること。【解決手段】ゲームシステム１０は、制限範囲が設定されることにより第１の仮想カメラ２１２が撮影することができない範囲のオブジェクト空間２００を第２の仮想カメラ２１４が撮影するように、第１の仮想カメラ２１２と第２の仮想カメラ２１４とを連動させて制御する。そしてゲームシステム１０は、第１の仮想カメラ２１２と第２の仮想カメラ２１４とを連動させて制御しつつ、第１の描画領域と第２の描画領域とに種々の画像を描画する。【選択図】図１
2009237680.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部としてコンピュータを機能させ、
前記仮想カメラ制御部は、
前記第１の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値に制限範囲を設定することにより、前記制限範囲内の値で前記第１の制御情報を演算するとともに、前記第２の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値が前記制限範囲外の値となるように前記第１の制御情報に基づいて第２の制御情報を演算することを特徴とするプログラム。
【請求項２】
請求項１において、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在するか否かを判定する判定部としてコンピュータを更に機能させ、
前記仮想カメラ制御部は、
前記特定オブジェクトの位置情報に基づいて前記第１の制御情報を演算し、
前記描画部は、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在しない場合に、記憶部に記憶されている予め描画された画像データに基づいて、特殊画像を第２の描画領域に描画することを特徴とするプログラム。
【請求項３】
請求項１において、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在するか否かを判定する判定部としてコンピュータを更に機能させ、
前記仮想カメラ制御部は、
前記特定オブジェクトの位置情報に基づいて前記第１の制御情報を演算し、前記第２の仮想カメラの画角内に前記特定オブジェクトが存在しない場合に、前記第１の制御情報に基づかない制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うことを特徴とするプログラム。
【請求項４】
画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部としてコンピュータを機能させ、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する位置変換処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する向き変換処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する画角変換処理の少なくとも１つを行うことを特徴とするプログラム。
【請求項５】
画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部としてコンピュータを機能させ、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係を変化させる位置変更処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係を変化させる向き変更処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係を変化させる画角変更処理の少なくとも１つを行うことを特徴とするプログラム。
【請求項６】
画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記特定オブジェクトの位置情報に基づいて第１の制御情報を演算し、前記第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記特定オブジェクトの位置情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部としてコンピュータを機能させることを特徴とするプログラム。
【請求項７】
請求項６において、
前記仮想カメラ制御部は、
前記特定オブジェクトの第１の部位の位置情報に基づいて第１の制御情報を演算し、前記特定オブジェクトの第２の部位の位置情報に基づいて第２の制御情報を演算することを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
オブジェクトに設定された仮想的な音発生源の位置と、前記第１の仮想カメラおよび前記第２の仮想カメラの位置、向き、画角の少なくとも１つとに基づいて、音出力部に出力させる音を生成する音生成部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項９】
請求項１〜７のいずれかにおいて、
仮想的な音発生源が設定されたオブジェクトの前記第１の描画領域における描画割合と前記第２の描画領域における描画割合とに応じて、音出力部に出力させる音を生成する音生成部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記仮想カメラ制御部は、
所与の条件が満たされた場合に、前記特定オブジェクトの位置情報に基づいて、前記第１の仮想カメラの角錐台形状の視界範囲の側面と前記第２の仮想カメラの角錐台形状の視界範囲の側面との交線が、前記特定オブジェクトの位置に対応するように前記第１の仮想カメラと前記第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うことを特徴とするプログラム。
【請求項１１】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜１０のいずれかに記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１２】
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
前記第１の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値に制限範囲を設定することにより、前記制限範囲内の値で前記第１の制御情報を演算するとともに、前記第２の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値が前記制限範囲外の値となるように前記第１の制御情報に基づいて第２の制御情報を演算することを特徴とする画像生成システム。
【請求項１３】
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する位置変換処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する向き変換処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する画角変換処理の少なくとも１つを行うことを特徴とする画像生成システム。
【請求項１４】
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係を変化させる位置変更処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係を変化させる向き変更処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係を変化させる画角変更処理の少なくとも１つを行うことを特徴とする画像生成システム。
【請求項１５】
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記特定オブジェクトの位置情報に基づいて第１の制御情報を演算し、前記第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記特定オブジェクトの位置情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
【背景技術】
【０００２】
従来から、オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する画像生成システムが知られている。このような画像生成システムには、オブジェクト空間に複数の仮想カメラを設定し、オブジェクト空間を各仮想カメラから見た画像を表示部に同時に表示させるものがある。このような画像生成システムとして、例えば車の運転者から見たオブジェクト空間を撮影する仮想カメラと、車のバックミラーに写り込むオブジェクト空間を撮影する仮想カメラとを設定するものがある。
【特許文献１】特開２０００−１０５５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来の画像生成システムでは、各仮想カメラの向きが前方向と後ろ方向に固定されつつ、各仮想カメラの位置、画角の関係も固定されていたため、複数の仮想カメラを設定しても、生成される画像を応用する場面が少ないという問題があった。
【０００４】
本発明はこのような問題に鑑みてなされたものであり、その目的は、複数の仮想カメラによって種々の画像を生成することができる画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
前記第１の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値に制限範囲を設定することにより、前記制限範囲内の値で前記第１の制御情報を演算するとともに、前記第２の制御情報のうち位置の制御情報、向きの制御情報、画角の制御情報の少なくとも１つがとり得る値が前記制限範囲外の値となるように前記第１の制御情報に基づいて第２の制御情報を演算することを特徴とする画像生成システムに関係する。
【０００６】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明では、制限範囲が設定されることにより第１の仮想カメラが撮影することができない範囲のオブジェクト空間を第２の仮想カメラが撮影するように、第１の仮想カメラと第２の仮想カメラとを連動させて制御することができる。従って本発明によれば、第１の仮想カメラと第２の仮想カメラとを連動させて制御しつつ、第１の描画領域と第２の描画領域とに種々の画像を描画することができる。
【０００８】
（２）また本発明は、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在するか否かを判定する判定部と、
を更に含み、
前記仮想カメラ制御部は、
前記特定オブジェクトの位置情報に基づいて前記第１の制御情報を演算し、
前記描画部は、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在しない場合に、記憶部に記憶されている予め描画された画像データに基づいて、特殊画像を第２の描画領域に描画するようにしてもよい。
【０００９】
このようにすれば、特定オブジェクトの位置情報に基づいて第１の制御情報を演算することにより第２の描画領域に特定オブジェクトが描画されない場合に、特殊画像を第２の描画領域に描画することができる。
【００１０】
（３）また本発明は、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記第２の仮想カメラの画角内に前記特定オブジェクトが存在するか否かを判定する判定部と、
を更に含み、
前記仮想カメラ制御部は、
前記特定オブジェクトの位置情報に基づいて前記第１の制御情報を演算し、前記第２の仮想カメラの画角内に前記特定オブジェクトが存在しない場合に、前記第１の制御情報に基づかない制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うようにしてもよい。
【００１１】
このようにすれば、特定オブジェクトの位置情報に基づいて第１の制御情報を演算することにより第２の描画領域に特定オブジェクトが描画されない場合に、第２の仮想カメラを第１の仮想カメラと連動させずに制御することによる画像を第２の描画領域に描画することができる。
【００１２】
（４）また本発明は、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する位置変換処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する向き変換処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係が変化するように前記第１の制御情報に基づいて第２の制御情報を演算する画角変換処理の少なくとも１つを行うことを特徴とする画像生成システムに関係する。
【００１３】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１４】
本発明において「第１の仮想カメラの位置と第２の仮想カメラの位置との関係」とは、例えば第１の仮想カメラの位置と第２の仮想カメラの位置との間の距離とすることができ、「第１の仮想カメラの向きと第２の仮想カメラの向きとの関係」とは、例えば第１の仮想カメラの向きと第２の仮想カメラの向きとがなす角度とすることができ、「第１の仮想カメラの画角と第２の仮想カメラの画角との関係」とは、例えば第１の仮想カメラの画角と第２の仮想カメラの画角との比とすることができる。
【００１５】
本発明によれば、位置変換処理、向き変換処理、画角変換処理の少なくとも１つを行うことにより、第１の仮想カメラと第２の仮想カメラとを連動させて制御しつつ、第１の描画領域と第２の描画領域とに種々の画像を描画することができる。
【００１６】
（５）また本発明は、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記第１の制御情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部とを含み、
前記仮想カメラ制御部は、
操作部からの操作情報または所与のプログラムに基づいて、前記第１の仮想カメラの位置と前記第２の仮想カメラの位置との関係を変化させる位置変更処理、前記第１の仮想カメラの向きと前記第２の仮想カメラの向きとの関係を変化させる向き変更処理、前記第１の仮想カメラの画角と前記第２の仮想カメラの画角との関係を変化させる画角変更処理の少なくとも１つを行うことを特徴とする画像生成システムに関係する。
【００１７】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１８】
本発明において「第１の仮想カメラの位置と第２の仮想カメラの位置との関係」とは、例えば第１の仮想カメラの位置と第２の仮想カメラの位置との間の距離とすることができ、「第１の仮想カメラの向きと第２の仮想カメラの向きとの関係」とは、例えば第１の仮想カメラの向きと第２の仮想カメラの向きとがなす角度とすることができ、「第１の仮想カメラの画角と第２の仮想カメラの画角との関係」とは、例えば第１の仮想カメラの画角と第２の仮想カメラの画角との比とすることができる。
【００１９】
本発明によれば、位置変更処理、向き変更処理、画角変更処理の少なくとも１つを行うことにより、第１の仮想カメラと第２の仮想カメラとを連動させて制御しつつ、第１の描画領域と第２の描画領域とに種々の画像を描画することができる。
【００２０】
（６）また本発明は、
複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、
前記複数のオブジェクトのうち特定オブジェクトの移動及び動作の少なくとも１つの制御を行う移動・動作制御部と、
前記特定オブジェクトの位置情報に基づいて第１の制御情報を演算し、前記第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、前記特定オブジェクトの位置情報に基づいて第２の制御情報を演算し、前記第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う仮想カメラ制御部と、
前記オブジェクト空間を前記第１の仮想カメラから見た画像を第１の描画領域に描画すると同時に、前記オブジェクト空間を前記第２の仮想カメラから見た画像を第２の描画領域に描画する描画部と、
を含むことを特徴とする画像生成システムに関係する。
【００２１】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２２】
本発明によれば、第１の仮想カメラと第２の仮想カメラとを特定オブジェクトに向けることにより、第１の仮想カメラと第２の仮想カメラとを連動させて制御することができる。
【００２３】
（７）また本発明は、
前記仮想カメラ制御部は、
前記特定オブジェクトの第１の部位の位置情報に基づいて第１の制御情報を演算し、前記特定オブジェクトの第２の部位の位置情報に基づいて第２の制御情報を演算するようにしてもよい。
【００２４】
このようにすれば、第１の仮想カメラを第１の部位に向け、第２の仮想カメラを第２の部位に向けることにより、第１の仮想カメラと第２の仮想カメラとを連動させて制御することができる。
【００２５】
（８）また本発明は、
前記特定オブジェクトに設定された仮想的な音発生源の位置と、前記第１の仮想カメラおよび前記第２の仮想カメラの位置、向き、画角の少なくとも１つとに基づいて、音出力部に出力させる音を生成する音生成部を更に含むようにしてもよい。
【００２６】
このようにすれば、第１の描画領域に描画される画像と第２の描画領域に描画される画像の変化に連動させて音を変化させることができる。
【００２７】
（９）また本発明は、
仮想的な音発生源が設定されたオブジェクトの前記第１の描画領域における描画割合と前記第２の描画領域における描画割合とに応じて、音出力部に出力させる音を生成する音生成部を更に含むようにしてもよい。
【００２８】
このようにすれば、第１の描画領域に描画される画像と第２の描画領域に描画される画像の変化に連動させて音を変化させることができる。
【００２９】
（１０）また本発明は、
前記仮想カメラ制御部は、
所与の条件が満たされた場合に、前記特定オブジェクトの位置情報に基づいて、前記第１の仮想カメラの角錐台形状の視界範囲の側面と前記第２の仮想カメラの角錐台形状の視界範囲の側面との交線が、前記特定オブジェクトの位置に対応するように前記第１の仮想カメラと前記第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うようにしてもよい。
【００３０】
このようにすれば、第１の描画領域と第２の描画領域の各描画領域において特定オブジェクトを部分的に描画しつつ、第１の描画領域に描画された画像と第２の描画領域に描画された画像とを隣接させると各描画領域に部分的に描画された特定オブジェクトが接合されるように特定オブジェクトを描画することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３２】
１．外観構成
図１に本実施形態のゲームシステム１０（画像生成システムの一例）の外観図を示す。図１に示すゲームシステム１０は、プレーヤ（操作者、観者）が携帯可能な大きさに形成されており、プレーヤがゲームシステム１０を手で持ってゲームをプレーすることができるようになっている。そしてゲームシステム１０は、本体下部１２と本体上部１４とがヒンジ部１６により連結されており、本体下部１２と本体上部１４とがヒンジ部１６の軸回りに回動可能となっている。そして本体下部１２の中央部には画像を出力する第１の表示部１８が設けられており、本体下部１２の第１の表示部１８の周囲には、プレーヤが操作情報を入力するための十字キー２０、第１ボタン２２〜第４ボタン２８の４つのボタン、スタートボタン３０、セレクトボタン３２が設けられている。また本体上部１４の中央部には画像を出力する第２の表示部３４が設けられ、第２の表示部３４の左右側には音を出力するスピーカ３６（音出力部４４の一例）が設けられている。またヒンジ部１６には、プレーヤが音入力（音声入力）を行うためのマイク３８（音入力部４２の一例）が設けられている。
【００３３】
本体下部１２の第１の表示部１８は、液晶ディスプレイとタッチパネルとが積層された構造を有しており、第１の表示部１８の表示領域に対してプレーヤが行った接触操作の位置を検出できるようになっている。例えばプレーヤが、図１に示すようなタッチペンの先端を第１の表示部１８に接触させると、ゲームシステム１０はタッチペンの先端が第１の表示部１８に接触した位置を検出する。従ってプレーヤは、第１の表示部１８に接触することによっても操作情報を入力することができる。
【００３４】
そしてゲームシステム１０は、仮想的な３次元空間であるオブジェクト空間を仮想カメラから見た画像を第１の表示部１８と第２の表示部３４とに表示するとともに、プレーヤから十字キー２０や第１ボタン２２〜第４ボタン２８や第１の表示部１８に対する操作情報の入力を受け付けて、オブジェクト空間に配置設定されたキャラクタ（特定オブジェクトの一例）を育成する育成ゲームを実行する。特にゲームシステム１０は、オブジェクト空間に第１の仮想カメラと第２の仮想カメラとを設定し、オブジェクト空間を第１の仮想カメラから見た画像を第１の表示部１８に表示させ、それと同時に、オブジェクト空間を第２の仮想カメラから見た画像を第２の表示部３４に表示させる。
【００３５】
２．機能ブロック
図２は、本実施形態におけるゲームシステム１０の機能ブロック図の一例である。なお、本実施形態のゲームシステム１０は、図２の構成要素（各部）の一部を省略した構成としてもよい。
【００３６】
操作部４０は、プレーヤが操作データを入力するためのものであり、その機能は十字キー２０、第１ボタン２２〜第４ボタン２８、レバー、ステアリングなどにより実現できる。
【００３７】
音入力部４２は、プレーヤが音声や手拍子などの音を入力するためのものであり、その機能はマイク３８などにより実現できる。
【００３８】
第１の表示部１８および第２の表示部３４は、ゲームシステム１０により生成された画像を出力するものであり、その機能はＣＲＴディスプレイ、液晶ディスプレイ、プラズマディスプレイ、プロジェクタ、ＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。ここで本実施形態では第１の表示部１８が、液晶ディスプレイと、接触位置を検出するタッチパネルとが積層された構造を有するタッチパネルディスプレイにより実現されている。従って本実施形態では、第１の表示部１８が操作部４０としても機能する。ここでタッチパネルは、液晶ディスプレイに積層しても画像の視認性が維持されるように光の透過率が高い素材により構成されており、例えば抵抗膜方式（４線式、５線式など）、静電容量方式などによりタッチパネルに対する接触位置を電気的に検出する。なおタッチパネルは、図１で示したタッチペンなどの入力器具による接触操作や、プレーヤの指先による接触操作を検出することができる。
【００３９】
音出力部４４は、ゲームシステム１０により生成された音を出力するものであり、その機能は、スピーカ３６、或いはヘッドフォンなどにより実現できる。
【００４０】
情報記憶媒体４６（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、メモリカード、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープなどにより実現できる。
【００４１】
この情報記憶媒体４６には、処理部１００において種々の処理を行うためのプログラムやデータが記憶されている。即ち、この情報記憶媒体４６には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。また情報記憶媒体４６には、キャラクタオブジェクトなどの種々のオブジェクトのモデルデータや、キャラクタオブジェクトの属性パラメータなどの各種データが格納されている。
【００４２】
記憶部５０は、処理部１００や通信部６０などのワーク領域となるもので、その機能はＲＡＭやＶＲＡＭなどにより実現できる。そして、本実施形態の記憶部５０は、処理部１００のワーク領域として使用される主記憶部５１と、第１の表示部１８に表示させる画像が描画される第１の描画バッファ５２（第１の描画領域の一例）と、第２の表示部３４に表示させる画像が描画される第２の描画バッファ５３（第２の描画領域の一例）と、オブジェクトのモデルデータが読み込まれるオブジェクトデータ記憶部５４と、を含む。
【００４３】
通信部６０は、外部（例えばサーバや他の携帯端末）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用の集積回路（ＡＳＩＣ）などのハードウェアや、プログラムなどにより実現できる。
【００４４】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部６０を介して情報記憶媒体４６（記憶部５０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４５】
処理部１００（プロセッサ）は、操作部４０、音入力部４２、第１の表示部１８などからの操作情報やプログラムなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。この処理部１００は、記憶部５０をワーク領域として各種処理を行い、その機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、各種集積回路（ＩＣ、ＡＳＩＣ）などのハードウェアや、プログラムにより実現できる。
【００４６】
特に、本実施形態の処理部１００は、ゲーム処理部１０２、表示制御部１０４、オブジェクト空間設定部１０６、仮想カメラ制御部１０８、移動・動作制御部１１０、判定部１１２、通信制御部１１４、描画部１２０、音生成部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【００４７】
ゲーム処理部１０２は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。特にゲーム処理部１０２は、ゲームの進行を制御する処理として、オブジェクト空間（ゲーム空間）における時間の経過を計測する処理や、キャラクタオブジェクトに設定される属性パラメータを更新する処理などを行う。
【００４８】
表示制御部１０４は、第１の表示部１８および第２の表示部３４に表示される画像（オブジェクト画像）の表示制御を行う。具体的には、表示すべきオブジェクト（キャラクタ（特定オブジェクトの一例）、移動体（特定オブジェクトの一例）、コース、建物、樹木、柱、壁、マップ、背景）を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部１２０等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
【００４９】
また表示制御部１０４は、プレーヤからの操作情報やプログラムなどにより、オブジェクトの移動や動作が発生した場合に、発生した移動や動作の様子を示す画像を表示するための制御を行う。特に本実施形態のゲームシステム１０では、３次元のオブジェクト空間にオブジェクトを設定するようになっており、表示制御部１０４は、オブジェクト空間設定部１０６と仮想カメラ制御部１０８とを含む。
【００５０】
オブジェクト空間設定部１０６は、キャラクタ、移動体、コース、建物、樹木、柱、壁、マップ、背景などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５１】
仮想カメラ制御部１０８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、向きあるいは画角を制御する処理）を行う。
【００５２】
例えば仮想カメラによりキャラクタを撮影する場合には、仮想カメラの向きを規定する注視点（特定オブジェクトの位置情報の一例）をキャラクタに設定し、キャラクタの位置又は回転の変化に応じて変化する注視点を仮想カメラが向くように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、後述する移動・動作制御部１１０で求められたキャラクタ（注視点）の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための予め決められた制御情報に基づいて仮想カメラを制御する。
【００５３】
特に本実施形態の仮想カメラ制御部１０８は、操作部４０、音入力部４２、第１の表示部１８などからの操作情報や、特定オブジェクトの位置情報や、所与のアルゴリズムなどに基づいて変化する第１の制御情報を用いて第１の仮想カメラの位置、向き、画角の少なくとも１つの制御を行うとともに、第１の制御情報を第２の制御情報に変換し、第２の制御情報を用いて第２の仮想カメラの位置、向き、画角の少なくとも１つの制御を行う。すなわち仮想カメラ制御部１０８は、第１の制御情報が変化すると直ちに第２の制御情報が変化するように、第１の仮想カメラと第２の仮想カメラについて上記の制御処理を連動させて行う。
【００５４】
移動・動作制御部１１０は、特定オブジェクトの移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部４０、音入力部４２、第１の表示部１８などからの操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、特定オブジェクトをオブジェクト空間内で移動させたり、特定オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、特定オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（移動体を構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、特定オブジェクトの移動・動作処理（シミュレーション処理）や描画処理を行う時間の単位である。
【００５５】
特に本実施形態では、複数の特定オブジェクトの各特定オブジェクトに属性パラメータや行動パターンデータなどが設定されているとともに、各特定オブジェクトに移動・動作アルゴリズムやモーションデータが設定されている。そして移動・動作制御部１１０は、操作部４０、音入力部４２、第１の表示部１８などからの操作情報や、属性パラメータや行動パターンデータなどに基づいて特定オブジェクトを移動・動作させる制御を開始し、その特定オブジェクトに設定された移動・動作アルゴリズムやモーションデータや操作情報に基づいてフレーム単位での移動量（移動体の移動速度）を算出するとともにフレーム単位での移動体の回転量（移動体の回転速度）を算出して移動体の座標変換マトリクスＭを求める。そして第Ｋ−１のフレームでの移動体の頂点座標ＰＫ−１に座標変換マトリクスＭを乗算して第Ｋのフレームでの移動体の頂点座標ＰＫ（＝ＰＫ−１×Ｍ）を求めている。
【００５６】
判定部１１２は、第２の仮想カメラの画角内に、特定オブジェクトあるいは特定オブジェクトの特定部位が存在するか否かを判定する。具体的には判定部１１２は、第２の仮想カメラの位置と特定オブジェクトの代表点とを結ぶベクトルが、第２の仮想カメラの画角内に入るか否かを判定する。あるいは判定部１１２は、第２の仮想カメラの位置と特定部位の代表点とを結ぶベクトルが、第２の仮想カメラの画角内に入るか否かを判定する。
【００５７】
更に判定部１１２は、第２の仮想カメラの位置と特定オブジェクトの代表点とを結ぶベクトルと、特定オブジェクトの代表点に設定された法線ベクトルとの内積を求め、特定オブジェクトの代表点が第２の仮想カメラから見えているか否かを判定するようにしてもよい。あるいは判定部１１２は、第２の仮想カメラの位置と特定部位の代表点とを結ぶベクトルと、特定部位の代表点に設定された法線ベクトルとの内積を求め、特定部位の代表点が第２の仮想カメラから見えているか否かを判定するようにしてもよい。
【００５８】
通信制御部１１４は、他のゲームシステム１０に送信するパケットを生成する処理、パケット送信先のゲームシステム１０のネットワークアドレスを指定する処理、受信したパケットを記憶部５０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部６０の制御処理等を行う。特に本実施形態では、育成ゲームをネットワーク（例えば、インターネット）を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部６０を介してデータパケット及びコマンドパケットを送受信させる制御を行う。
【００５９】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、第１の表示部１８および第２の表示部３４に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を、ピクセル単位で画像情報を記憶できる描画バッファ（ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００６０】
特に本実施形態では描画部１２０は、第１の仮想カメラの位置、向き、画角に基づいて頂点処理を行い、第１の仮想カメラから見た画像を第１の描画バッファ５２（第１の描画領域の一例）に描画すると同時に、第２の仮想カメラの位置、向き、画角に基づいて頂点処理を行い、第２の仮想カメラから見た画像を第２の描画バッファ５３（第２の描画領域の一例）に描画する。
【００６１】
なお描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６２】
そして描画部１２０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００６３】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部５１に保存される。
【００６４】
テクスチャマッピングは、記憶部５０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部５０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００６５】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００６６】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００６７】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００６８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部４４に出力する。特に本実施形態では、特定オブジェクトに仮想的な音発生源が設定されているとともに、音発生源ごとに音発生源から発生する音データが設定されている。そして音生成部１３０は、プレーヤからの操作情報やプログラムなどにより音を発生させるイベントが発生した場合に、オブジェクトに設定された仮想的な音発生源の位置と、第１の仮想カメラおよび第２の仮想カメラの少なくとも一方の位置、向き、画角の少なくとも１つとに基づいて、音出力部４４に出力させる音を生成する。
【００６９】
詳細には音生成部１３０は、仮想カメラの位置と音発生源とを結ぶベクトルや音発生源に設定されている法線ベクトルに基づいて、仮想カメラと音発生源との位置の関係、相対的な向きの関係、画角内に音発生源が存在するか否かなどに応じて、各音発生源の音データを音出力部４４から出力する際の音量や、左右の音出力部４４のそれぞれから出力する音量のバランスなど、各音発生源の音データを合成する際の各音発生源の音データの値や割合を決定する。この場合には音生成部１３０は、例えば特定オブジェクトに設定された仮想的な音発生源に対する第１の仮想カメラとの距離と第２の仮想カメラとの距離との比に応じて、各音発生源の音データの音量の割合を決定することができる。
【００７０】
また音生成部１３０は、例えば、第１の仮想カメラに対応する位置、向き、画角において音を集音する第１の仮想マイクと、第２の仮想カメラに対応する位置、向き、画角において音を集音する第２の仮想マイクとを設定し、各仮想マイクについて各音発生源の音データを合成した上で、各仮想マイクについて合成された音データを合成して音出力部４４から音を出力させるようにしてもよい。
【００７１】
また音生成部１３０は、仮想的な音発生源が設定されたオブジェクトの第１の描画バッファ５２における描画割合と第２の描画バッファ５３における描画割合とに応じて、各音発生源の音データを合成する際の各音発生源の音データの値や割合を決定し、音出力部に出力させる音を生成するようにしてもよい。この場合には音生成部１３０は、例えば、第１の描画バッファ５２に特定オブジェクトが大きく描画されている場合は、特定オブジェクトに設定された仮想的な音発生源の音データの第１の仮想マイクにおける音量を大きくし、第２の描画バッファ５３に特定オブジェクトが描画されていない場合は、特定オブジェクトに設定された仮想的な音発生源の音データの第２の仮想マイクにおける音量を小さくするあるいは０にして、音データを合成するようにしてもよい。
【００７２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００７３】
３．本実施形態の手法
以下、本実施形態のゲームシステム１０の手法について詳細に説明する。本実施形態のゲームシステム１０は、オブジェクト空間に第１の仮想カメラと第２の仮想カメラとを設定し、第１の仮想カメラと第２の仮想カメラとを種々の態様で連動させて制御する。これによりゲームシステム１０は、１つのオブジェクト空間を第１の仮想カメラから見た画像と第２の仮想カメラ見た画像とを、種々の態様で連動させて表示することができる。
【００７４】
３−１．キャラクタの位置情報に応じた連動制御
図３は、本実施形態のゲームシステム１０により設定される３次元のオブジェクト空間２００の一例を示す図である。図３では、図中の左右方向の軸がＸ軸、上下方向の軸がＹ軸、斜め手前奥方向の軸がＺ軸となっている。図３に示すようにゲームシステム１０は、一定の範囲のオブジェクト空間２００に、複数のキャラクタ２０２や、木オブジェクト２０４や、地面オブジェクト２０６などの種々のオブジェクトを設定する。またゲームシステム１０は、地面オブジェクト２０６を覆うように、半球形状の天球オブジェクト２０８をオブジェクト空間２００に設定し、天球オブジェクト２０８の内側面に空の様子が描かれたテクスチャをマッピングする。
【００７５】
更にゲームシステム１０は、天球オブジェクト２０８の内側において地面オブジェクト２０６を囲むように、円筒形状の背景オブジェクト２１０をオブジェクト空間２００に設定し、背景オブジェクト２１０の内側面に木々や山々などの背景の様子が描かれたテクスチャをマッピングする。そしてゲームシステム１０は、背景オブジェクト２１０の内側に仮想カメラを設定し、オブジェクト空間２００を仮想カメラから見た画像を描画することにより、一定の範囲のオブジェクト空間２００を、実際の範囲よりも広大な空間であるかのように見せている。
【００７６】
そしてゲームシステム１０は、図３に示すように、オブジェクト空間２００において人間の身長に合わせて地面オブジェクト２０６から１．６ｍ（「ｍ」はオブジェクト空間２００における仮想的な長さの単位）程度の高さに、第１の仮想カメラ２１２を設定する。そしてゲームシステム１０は、いずれかのキャラクタ２０２に第１の仮想カメラ２１２の注視点を設定し、注視点を設定したキャラクタ２０２から１．０ｍ程度離れた位置から注視点を向くように第１の仮想カメラ２１２の位置と向きとを制御する。
【００７７】
ここで各キャラクタ２０２は、移動・動作アルゴリズムなどにより自動的に地面オブジェクト２０６上を歩き回るように移動・動作が制御され、高さが０．６ｍ〜１．０ｍ程度とされ、各キャラクタ２０２の中央付近に注視点が設定される。従って図１で示したように、第１の仮想カメラ２１２から見た画像が表示される第１の表示部１８には、地面オブジェクト２０６から１．６ｍ程度の高さから水平に対して４５°程度の角度で見下ろすようにキャラクタ２０２を見た画像が表示される。
【００７８】
また各キャラクタ２０２は、通常は地面オブジェクト２０６上で移動・動作が制御されるが、所定の条件が満たされると、図３に示す木オブジェクト２０４を登るように移動・動作が制御される。ここで、木オブジェクト２０４を登るキャラクタ２０２とともに第１の仮想カメラ２１２の位置を移動させ、木オブジェクト２０４を登るキャラクタ２０２の上方から第１の仮想カメラ２１２の向きを下方に向けると、背景オブジェクト２１０に背景用のテクスチャがマッピングされていることが明らかとなる不自然な画像が表示されてしまう。一方、かかる事態を防止するために第１の仮想カメラ２１２の位置の高さを変化させずに、木オブジェクト２０４を登るキャラクタ２０２に第１の仮想カメラ２１２の注視点を設定し続けると、第１の仮想カメラ２１２の向きが上方に向くため、地面オブジェクト２０６上に存在する他のキャラクタ２０２が表示されなくなってしまう。
【００７９】
そこでゲームシステム１０は、図３に示すように、第１の仮想カメラ２１２の上方に第２の仮想カメラ２１４をオブジェクト空間２００に設定しつつ、第１の仮想カメラ２１２を制御するための第１の制御情報がとり得る値に制限範囲を設定する。そしてゲームシステム１０は、制限範囲内の値で第１の制御情報を演算するとともに、第２の仮想カメラ２１４を制御するための第２の制御情報が第１の制御情報の制限範囲外の値となるように第１の制御情報に基づいて第２の制御情報を演算する。
【００８０】
図４は、第１の制御情報と第２の制御情報の関係の一例を説明するための図である。図４では、図中の手前奥方向の軸がＸ軸、上下方向の軸がＹ軸、左右方向の軸がＺ軸となっている。図４に示すようにゲームシステム１０は、第１の仮想カメラ２１２の位置の上方１ｍ（地面オブジェクト２０６から２．６ｍ）の高さに第２の仮想カメラ２１４を設定し、第１の仮想カメラ２１２の向きの９０°上方を向くように第２の仮想カメラ２１４の向きを制御する。従って図１で示したように、第２の仮想カメラ２１４から見た画像が表示される第２の表示部３４には、地面オブジェクト２０６から２．６ｍ程度の高さから水平に対して４５°程度の角度で見上げるようにオブジェクト空間２００を見た画像が表示される。
【００８１】
そしてゲームシステム１０は、注視点を設定したキャラクタ２０２が移動すると、第１の仮想カメラ２１２がキャラクタ２０２の移動に追従するように、移動後の注視点の位置座標に基づいて、第１の仮想カメラ２１２を制御するための第１の制御情報を演算する。そしてゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４を制御するための第２の制御情報を演算する。具体的にはゲームシステム１０は、第１の仮想カメラ２１２の位置情報（第１の制御情報の構成要素）のうち高さを示すＹ座標の値に１．０ｍ分の座標値αを加算することにより、第２の仮想カメラ２１４の位置情報（第２の制御情報の構成要素）を演算し、第２の仮想カメラ２１４のＸ軸回りの回転角度が第１の仮想カメラ２１２のＸ軸回りの回転角度から９０°上向きとなるように第２の仮想カメラ２１４の向き（第２の制御情報の構成要素）を演算する。すなわちゲームシステム１０は、第１の制御情報を第２の制御情報に変換することにより、第１の仮想カメラ２１２から見た画像の変化に連動させて第２の仮想カメラ２１４から見た画像を変化させる。
【００８２】
そして図５に示すように、第１の仮想カメラ２１２の注視点を設定したキャラクタ２０２が木オブジェクト２０４を登ることにより、そのキャラクタ２０２の位置が第１の仮想カメラ２１２の位置よりも高い位置に移動した場合であっても、ゲームシステム１０は、第１の仮想カメラ２１２の位置の高さを変化させないように制御するとともに、第１の仮想カメラ２１２の向きを水平方向よりも上方に向けないように制御する。すなわちゲームシステム１０は、第１の仮想カメラ２１２の位置の高さと上方の向きに制限範囲を設定しつつ、制限範囲が設定されることにより第１の仮想カメラ２１２が撮影することができない（画角に入らない）範囲のオブジェクト空間２００を第２の仮想カメラ２１４が撮影するように、第１の仮想カメラ２１２と第２の仮想カメラ２１４とを制御している。これによりゲームシステム１０は、不自然な画像が表示されない範囲で、地面オブジェクト２０６上に存在する他のキャラクタ２０２の様子を示す画像を第１の表示部１８に表示させつつ、木を登るキャラクタ２０２の様子を示す画像を第２の表示部３４に表示させることができる。
【００８３】
３−２．第２の描画領域の描画
このようにゲームシステム１０は、第１の仮想カメラ２１２に関してはいずれかのキャラクタ２０２に注視点を設定して位置、向きを制御しているが、第２の仮想カメラ２１４に関しては第１の仮想カメラ２１２の位置、向きの変化に連動するように位置、向きを制御しているため、第２の仮想カメラ２１４の画角内にキャラクタ２０２が存在しないことが多い。従って、図１で示したように、第２の表示部３４にキャラクタ２０２が表示されないことが多い。そこでゲームシステム１０は、第１の仮想カメラ２１２と第２の仮想カメラ２１４とを連動させて制御しているときに、第２の表示部３４にキャラクタ２０２が表示されない状態で所定期間が経過すると、図６（Ａ）に示すように、記憶部に記憶されている予め描画された画像データに基づいて、特殊画像を第２の描画領域に描画し、第２の表示部３４に特殊画像を表示させる。
【００８４】
ここでゲームシステム１０は、予め描画された画像データとして、過去のゲームの進行中において第１の表示部１８の描画領域である第１の描画領域または第２の表示部３４の描画領域である第２の描画領域に描画された画像データを用いている。そのためゲームシステム１０は、キャラクタ２０２が木に登るなどの特定のイベントが発生した場合に、第１の描画領域または第２の描画領域に描画された画像データの複製を保存データとして記憶部に記憶させる。またゲームシステム１０は、第２の仮想カメラ２１４の画角内にキャラクタ２０２が存在する場合に、第２の描画領域に描画された画像データの複製を保存データとして記憶部に記憶させる。
【００８５】
これによりゲームシステム１０は、第２の表示部３４にキャラクタ２０２が表示されない状態で所定期間が経過した場合に、過去のゲームの進行中において描画された画像を第２の表示部３４に表示させることにより、例えば育成対象であるキャラクタ２０２の過去の様子を顧みるような演出を行うことができる。そしてゲームシステム１０は、第２の表示部３４に特殊画像を表示させている間にキャラクタ２０２が木に登るイベントが発生すると、第２の仮想カメラ２１４から見た画像を第２の描画領域に描画する処理を再開し、第２の表示部３４に第２の仮想カメラ２１４から見た画像を表示させる。
【００８６】
ここでゲームシステム１０は、過去のゲームの進行中において描画された画像データが未だない場合には、第２の表示部３４にキャラクタ２０２が表示されない状態で所定期間が経過すると、第１の仮想カメラ２１２と第２の仮想カメラ２１４の連動制御を中断して、第１の制御情報に依らずに第２の制御情報を演算する。例えばゲームシステム１０は、第２の表示部３４にキャラクタ２０２が表示されない状態で所定期間が経過すると、第１の仮想カメラ２１２の注視点が設定されているキャラクタ２０２に第２の仮想カメラ２１４の注視点を設定する、または図６（Ｂ）に示すように、第１の仮想カメラ２１２の注視点が設定されていない他のキャラクタ２０２に第２の仮想カメラ２１４の注視点を設定する。そしてゲームシステム１０は、第２の仮想カメラ２１４がキャラクタ２０２の移動に追従するように、移動後の注視点の位置座標に基づいて、第２の仮想カメラ２１４を制御するための第２の制御情報を演算する。またゲームシステム１０は、所与のイベントの発生に基づいて、発生したイベントに対応するオブジェクトに注視点を設定して第２の仮想カメラ２１４の制御を行うようにしてもよい。あるいは発生したイベントに対応する予め定められた制御情報を用いて第２の仮想カメラ２１４の制御を行うようにしてもよい。
【００８７】
３−３．操作情報に応じた連動制御
本実施形態のゲームシステム１０は、上述した相対的に狭いオブジェクト空間２００の他に、相対的に広いオブジェクト空間２００のオブジェクトデータを情報記憶媒体に格納している。そしてゲームシステム１０は、プレーヤからの操作情報やプログラムなどに基づいて、情報記憶媒体から相対的に広いオブジェクト空間２００のオブジェクトデータを読み出し、第１の仮想カメラ２１２と第２の仮想カメラ２１４とを設定するオブジェクト空間２００を、比較的狭いオブジェクト空間２００から比較的広いオブジェクト空間２００に変更する。
【００８８】
ここで複数のキャラクタ２０２は、相対的に広いオブジェクト空間２００においても移動・動作アルゴリズムなどにより自動的に地面オブジェクト２０６上を歩き回るように移動・動作が制御されているが、第１の仮想カメラ２１２と第２の仮想カメラ２１４とは、各キャラクタ２０２の位置とは無関係にこのオブジェクト空間２００に設定される。従って第１の仮想カメラ２１２と第２の仮想カメラ２１４とを設定するオブジェクト空間２００が、比較的狭いオブジェクト空間２００から比較的広いオブジェクト空間２００に変更されると、第１の仮想カメラ２１２および第２の仮想カメラ２１４のいずれの画角内にもキャラクタ２０２が存在しないことが多い。そこでこのような場合にはゲームシステム１０は、プレーヤからの操作情報に基づいて、第１の仮想カメラ２１２および第２の仮想カメラ２１４の位置、向き、画角を制御することにより、プレーヤにキャラクタ２０２を探させるようにしている。
【００８９】
図７は、このような場合における第１の制御情報と第２の制御情報の関係の一例を説明するための図である。図７では、図中の左右方向の軸がＸ軸、上下方向の軸がＹ軸、手前奥方向の軸がＺ軸となっている。図７に示すようにゲームシステム１０は、まず第１の仮想カメラ２１２の位置の上方１ｍの高さに第２の仮想カメラ２１４を設定する。そしてゲームシステム１０は、例えば図１で示した十字キー２０に対してプレーヤが右方向を指定する操作を行うと、図７に示すように、第１の仮想カメラ２１２の向きが右方向に変化するように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の向きが左方向に変化するように第２の制御情報を演算する。またゲームシステム１０は、十字キー２０に対してプレーヤが下方向を指定する操作を行うと、図８に示すように、第１の仮想カメラ２１２の向きが下方向に変化するように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の向きが上方向に変化するように第２の制御情報を演算する。
【００９０】
すなわちゲームシステム１０は、プレーヤからの操作情報に基づいて第１の制御情報を演算すると、第１の仮想カメラ２１２の向きと第２の仮想カメラ２１４の向きとが平行になる状態の向きを基準向きとして、第１の仮想カメラ２１２の向きと第２の仮想カメラ２１４の向きとが異なる方向に変化するように、第１の制御情報を第２の制御情報に変換する（向き変換処理の一例）。これによりゲームシステム１０は、第１の仮想カメラ２１２から見た画像の変化に連動させて第２の仮想カメラ２１４から見た画像を変化させる。
【００９１】
具体的にはゲームシステム１０は、第１の仮想カメラ２１２と第２の仮想カメラ２１４の向きをそれぞれの注視点の位置座標により設定しており、操作情報に基づいてそれぞれの注視点の位置座標を変化させることにより、第１の仮想カメラ２１２と第２の仮想カメラ２１４の向きを変化させている。そしてゲームシステム１０は、操作情報に基づいて第１の仮想カメラ２１２の注視点の位置座標を変化させると、第１の仮想カメラ２１２の基準向きにおける注視点の位置座標からの各座標値の変化量を、第２の仮想カメラ２１４の基準向きにおける注視点の位置座標から減算することにより第２の仮想カメラ２１４の注視点の位置座標を演算する。例えば第１の仮想カメラ２１２の注視点の位置座標の変化量が（５，−４，−２）である場合には、第２の仮想カメラ２１４の基準向きにおける注視点の位置座標から（５，−４，−２）を減算することにより変化後の第２の仮想カメラ２１４の注視点の位置座標を求める。
【００９２】
なおゲームシステム１０は、プレーヤが十字キー２０に対して向きを指定する操作を行っている間、第１の仮想カメラ２１２の向きに対する第２の仮想カメラ２１４の向きを変化させ、プレーヤが十字キー２０に対して向きを指定する操作を終了すると、変化後の第１の仮想カメラ２１２の向きに平行となるように第２の仮想カメラ２１４の向きを変化させる。またはゲームシステム１０は、プレーヤが十字キー２０に対して向きを指定する操作を終了すると、第１の仮想カメラ２１２と第２の仮想カメラ２１４の向きを変化前の基準向きに戻すようにしてもよい。
【００９３】
またゲームシステム１０は、図１で示した第１の表示部１８に対してプレーヤが中心よりも右側を指定する接触操作を行うと、図９に示すように、第１の仮想カメラ２１２の位置が右方向に変化するように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の位置が左方向に変化するように第２の制御情報を演算する。
【００９４】
またゲームシステム１０は、図１で示した第３ボタン２６を押下する操作を行うと、第１の仮想カメラ２１２の位置が前方向に変化するように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の位置が後ろ方向に変化するように第２の制御情報を演算する。
【００９５】
すなわちゲームシステム１０は、プレーヤからの操作情報に基づいて第１の制御情報を演算すると、第２の仮想カメラ２１４の位置が第１の仮想カメラ２１２の位置の真上となる状態（Ｘ座標値とＺ座標値とが同一である状態）の位置を基準位置として、第１の仮想カメラ２１２の位置と第２の仮想カメラ２１４の位置とが異なる方向に変化するように、第１の制御情報を第２の制御情報に変換する（位置変換処理の一例）。これによりゲームシステム１０は、第１の仮想カメラ２１２から見た画像の変化に連動させて第２の仮想カメラ２１４から見た画像を変化させる。
【００９６】
具体的にはゲームシステム１０は、操作情報に基づいて第１の仮想カメラ２１２の位置座標を変化させると、第１の仮想カメラ２１２の基準位置の位置座標からの各座標値の変化量を、第２の仮想カメラ２１４の基準位置の位置座標から減算することにより第２の仮想カメラ２１４の位置座標を演算する。例えば第１の仮想カメラ２１２の位置座標の変化量が（５，−４，−２）である場合には、第２の仮想カメラ２１４の基準位置の位置座標から（５，−４，−２）を減算することにより第２の仮想カメラ２１４の位置座標を求める。
【００９７】
なおゲームシステム１０は、プレーヤが第１の表示部１８に対して位置を指定する接触操作を行っている間、第１の仮想カメラ２１２の位置に対する第２の仮想カメラ２１４の位置を変化させ、プレーヤが第１の表示部１８に対して位置を指定する接触操作を終了すると、変化後の第１の仮想カメラ２１２の位置の真上となる位置に第２の仮想カメラ２１４の位置を移動させる。またはゲームシステム１０は、プレーヤが第１の表示部１８に対して位置を指定する接触操作を終了すると、第１の仮想カメラ２１２と第２の仮想カメラ２１４の位置を変化前の基準位置に戻すようにしてもよい。
【００９８】
またゲームシステム１０は、図１で示した第１ボタン２２を押下する操作を行うと、図１０に示すように、第１の仮想カメラ２１２の画角が広くなるように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の画角が狭くなるように第２の制御情報を演算する。一方ゲームシステム１０は、第２ボタン２４を押下する操作を行うと、第１の仮想カメラ２１２の画角が狭くなるように第１の制御情報を演算する。するとゲームシステム１０は、演算した第１の制御情報を変換して、第２の仮想カメラ２１４の画角が広くなるように第２の制御情報を演算する。
【００９９】
すなわちゲームシステム１０は、プレーヤからの操作情報に基づいて第１の制御情報を演算すると、第１の仮想カメラ２１２と第２の仮想カメラ２１４の画角がいずれも４５°となる状態を基準画角として、第１の仮想カメラ２１２の画角と第２の仮想カメラ２１４の画角との比が変化するように、第１の制御情報を第２の制御情報に変換する（画角変換処理の一例）。これによりゲームシステム１０は、第１の仮想カメラ２１２から見た画像の変化に連動させて第２の仮想カメラ２１４から見た画像を変化させる。
【０１００】
具体的にはゲームシステム１０は、操作情報に基づいて第１の仮想カメラ２１２の画角を変化させると、第１の仮想カメラ２１２の基準画角からの変化量を、第２の仮想カメラ２１４の画角から減算することにより第２の制御情報を演算する。例えば第１の仮想カメラ２１２の画角の変化量が５°である場合には、第２の仮想カメラ２１４の基準画角から５°を減算することにより第２の仮想カメラ２１４の画角を求める。
【０１０１】
なおゲームシステム１０は、プレーヤが第１ボタン２２または第２ボタン２４に対して押下操作を行っている間、第１の仮想カメラ２１２の画角と第２の仮想カメラ２１４の画角との比を変化させ、プレーヤが第１ボタン２２または第２ボタン２４に対して押下操作を終了すると、第１の仮想カメラ２１２と第２の仮想カメラ２１４の画角を変化前の基準画角に戻す。
【０１０２】
そしてゲームシステム１０は、プレーヤが第１の仮想カメラ２１２の画角内にキャラクタ２０２を収めることにより、第１の表示部１８にキャラクタ２０２が表示されている状態で、プレーヤが第１の表示部１８に対してキャラクタ２０２が表示されている位置を指定する接触操作を行うと、接触操作を行ったキャラクタ２０２に第１の仮想カメラ２１２の注視点を設定する。そしてゲームシステム１０は、上述したようなキャラクタ２０２の位置情報に応じた第１の仮想カメラ２１２と第２の仮想カメラ２１４の連動制御を行う。
【０１０３】
３−４．イベント発生に応じた連動制御
本実施形態のゲームシステム１０は、相対的に広いオブジェクト空間２００においても、キャラクタ２０２が木オブジェクト２０４に登るイベントが発生する。ここで相対的に広いオブジェクト空間２００では、上述した相対的に狭いオブジェクト空間２００よりも、木オブジェクト２０４を登るキャラクタ２０２の上方から第２の仮想カメラ２１４の向きを下方に向けることにより不自然な画像が表示されるおそれが少なくなる。そこでゲームシステム１０は、相対的に広いオブジェクト空間２００に第１の仮想カメラ２１２と第２の仮想カメラ２１４とが設定されている場合には、キャラクタ２０２が木オブジェクト２０４に登るイベントが発生すると、第１の仮想カメラ２１２がキャラクタ２０２の下方からキャラクタ２０２を見上げるように、第２の仮想カメラ２１４がキャラクタ２０２の上方からキャラクタ２０２を見下ろすように、第１の仮想カメラ２１２と第２の仮想カメラ２１４の位置と向きとを制御する。
【０１０４】
詳細にはゲームシステム１０は、相対的に広いオブジェクト空間２００においても、キャラクタ２０２が木オブジェクト２０４に登るイベントが発生するまでは、図４で示したように、第１の仮想カメラ２１２の位置の上方１ｍの高さに第２の仮想カメラ２１４を設定し、第１の仮想カメラ２１２の向きの９０°上方を向くように第２の仮想カメラ２１４の向きを制御する。そして相対的に広いオブジェクト空間２００においては、キャラクタ２０２が木オブジェクト２０４に登るイベントが発生すると、図１１に示すように、ゲームシステム１０は第１の仮想カメラ２１２の位置と第２の仮想カメラ２１４の位置との間の距離を１ｍから３ｍに変更する（位置変更処理の一例）。
【０１０５】
そしてゲームシステム１０は、第１の仮想カメラ２１２の注視点と第２の仮想カメラ２１４の注視点とを同一のキャラクタ２０２に設定する（向き変更処理の一例）。特にゲームシステム１０は、図１１に示すように、第１の仮想カメラ２１２の注視点をキャラクタ２０２の臀部に設定し、第２の仮想カメラ２１４の注視点をキャラクタ２０２の頭部に設定する。
【０１０６】
更にゲームシステム１０は、キャラクタ２０２が木オブジェクト２０４に登るイベントが発生する前よりも第１の仮想カメラ２１２の画角と第２の仮想カメラ２１４の画角とが狭くなるように変更する（画角変更処理の一例）。これにより木オブジェクト２０４を登るキャラクタ２０２の上方から第２の仮想カメラ２１４を下方に向けても、画角を狭くすることにより背景オブジェクト２１０が第２の仮想カメラ２１４の画角に入ることを防止することができ、不自然な画像が表示されることを防止することができる。
【０１０７】
そしてゲームシステム１０は、キャラクタ２０２の位置が変化すると、第１の仮想カメラ２１２の位置と第２の仮想カメラ２１４の位置との関係を、第２の仮想カメラ２１４が第１の仮想カメラ２１２の真上であって互いの距離が３ｍである状態に保ちつつ、第１の仮想カメラ２１２が第１の仮想カメラ２１２の注視点を向き、第２の仮想カメラ２１４が第２の仮想カメラ２１４の注視点を向くように第１の制御情報と第２の制御情報を演算する（向き変更処理の一例）。これにより図１２に示すように、第１の仮想カメラ２１２から見た画像が表示される第１の表示部１８には、木オブジェクト２０４に登るキャラクタ２０２に追従しつつキャラクタ２０２の下方から臀部を見上げる画像が表示され、第２の仮想カメラ２１４から見た画像が表示される第２の表示部３４には、木オブジェクト２０４に登るキャラクタ２０２に追従しつつキャラクタ２０２の上方から頭部を見下ろす画像が表示される。
【０１０８】
またゲームシステム１０は、第１の仮想カメラ２１２の注視点をキャラクタ２０２の臀部に設定し、第２の仮想カメラ２１４の注視点をキャラクタ２０２の頭部に設定する場合には、第１の仮想カメラ２１２の注視点にキャラクタ２０２の臀部用の第１の音発生源を設定し、第２の仮想カメラ２１４の注視点にキャラクタ２０２の頭部用の第２の音発生源を設定する。そしてゲームシステム１０は、プレーヤからの操作情報やプログラムなどにより第１の音発生源から音を発生させるイベントが発生した場合に、第１の音発生源の位置と第１の仮想カメラの位置、向き、画角の少なくとも１つとに基づいて、音出力部４４に出力させる音を生成する。またゲームシステム１０は、プレーヤからの操作情報やプログラムなどにより第２の音発生源の音を発生させるイベントが発生した場合に、第２の音発生源の位置と第２の仮想カメラの位置、向き、画角の少なくとも１つとに基づいて、音出力部４４に出力させる音を生成する。これによりゲームシステム１０では、第１の表示部１８に表示する画像と第２の表示部３４に表示する画像の変化に連動させて出力音を変化させることができる。
【０１０９】
またゲームシステム１０では、キャラクタ２０２が木オブジェクト２０４の上端まで登ると、相対的に広いオブジェクト空間２００であっても、木オブジェクト２０４の上端まで登ったキャラクタ２０２の上方から第２の仮想カメラ２１４の向きを下方に向けると不自然な画像が表示されるおそれがある。そこでゲームシステム１０は、キャラクタ２０２が木オブジェクト２０４の先端まで登る特殊イベントが発生すると、図１３に示すように、第１の仮想カメラ２１２の位置と第２の仮想カメラ２１４の位置との間の距離を３ｍから１ｍに変更する（位置変更処理の一例）。そしてゲームシステム１０は、第１の仮想カメラ２１２の向きと第２の仮想カメラ２１４の向きとを水平方向に変更する（向き変更処理の一例）。更にゲームシステム１０は、キャラクタ２０２の位置情報に基づいて、第１の仮想カメラ２１２の角錐台形状の視界範囲の上側の側面と、第２の仮想カメラ２１４の角錐台形状の視界範囲の下側の側面との交線が、キャラクタ２０２の位置に対応するように画角を変更する（画角変更処理の一例）。これによりゲームシステム１０は、不自然な画像が表示されることを防止しつつ、第１の表示部１８に表示された画像と第２の表示部３４に表示された画像とを隣接させると各表示部に部分的に描画されたキャラクタ２０２が接合されるようにキャラクタ２０２を描画することができる。
【０１１０】
４．本実施形態の処理の流れ
図１４は、本実施形態のゲームシステム１０において、特殊画像を描画する場合に行われる特殊画像描画処理の詳細を示すフローチャートである。図１４に示すように特殊画像描画処理では、ゲームシステム１０は、１フレーム前の描画処理において第２の描画領域にキャラクタ２０２が描画されていたか否かを判断し（ステップＳ１０）、第２の描画領域にキャラクタ２０２が描画されていた場合には（ステップＳ１０でＹ）、第２の仮想カメラ２１４から見た画像を描画する（ステップＳ１２）。また、１フレーム前の描画処理において第２の描画領域にキャラクタ２０２が描画されていない場合には（ステップＳ１０でＮ）、第２の描画領域にキャラクタ２０２が描画されていない状態で所定期間が経過していないか否かを判断し（ステップＳ１４）、所定期間が経過していない場合には（ステップＳ１４でＹ）、第２の仮想カメラ２１４から見た画像を描画する（ステップＳ１２）。また、第２の描画領域にキャラクタ２０２が描画されていない状態で所定期間が経過した場合には（ステップＳ１４でＮ）、特定イベントが発生したか否かを判断し（ステップＳ１６）、特定イベントが発生した場合には（ステップＳ１６でＹ）、第２の仮想カメラ２１４から見た画像を描画する（ステップＳ１２）。一方、特定イベントが発生していない場合には（ステップＳ１６でＮ）、記憶部に記憶されている予め描画された画像データに基づいて、特殊画像を第２の描画領域に描画する（ステップＳ１８）。
【０１１１】
図１５は、本実施形態のゲームシステム１０において、特殊画像用の画像データが未だない場合に行われる仮想カメラ制御処理１の詳細を示すフローチャートである。図１５に示すように仮想カメラ制御処理１では、ゲームシステム１０は、キャラクタ２０２が移動することにより注視点が移動すると（ステップＳ２０でＹ）、注視点の位置情報に基づいて第１の制御情報を演算する（ステップＳ２２）。そして第１の制御情報を用いて第１の仮想カメラ２１２を制御する（ステップＳ２４）。ここで１フレーム前の描画処理において第２の描画領域にキャラクタ２０２が描画されていた場合には（ステップＳ２６でＹ）、第１の制御情報を第２の制御情報に変換する（ステップＳ２８）。そして第２の制御情報を用いて第２の仮想カメラ２１４を制御する（ステップＳ３０）。
【０１１２】
また、１フレーム前の描画処理において第２の描画領域にキャラクタ２０２が描画されていない場合には（ステップＳ２６でＮ）、第２の描画領域にキャラクタ２０２が描画されていない状態で所定期間が経過していないか否かを判断し（ステップＳ３２）、所定期間が経過していない場合には（ステップＳ３２でＹ）、第１の制御情報を第２の制御情報に変換する（ステップＳ２８）。また、第２の描画領域にキャラクタ２０２が描画されていない状態で所定期間が経過した場合には（ステップＳ３２でＮ）、特定イベントが発生したか否かを判断し（ステップＳ３４）、特定イベントが発生した場合には（ステップＳ３４でＹ）、第１の制御情報を第２の制御情報に変換する（ステップＳ２８）。
【０１１３】
一方、特定イベントが発生していない場合には（ステップＳ３４でＮ）、他のキャラクタ２０２に第２の仮想カメラ２１４の注視点を設定する（ステップＳ３６）。そして注視点の位置座標に基づいて第２の制御情報を演算し（ステップＳ３８）、第２の制御情報を用いて第２の仮想カメラ２１４を制御する（ステップＳ３０）。
【０１１４】
図１６は、本実施形態のゲームシステム１０において、操作情報に応じて行われる仮想カメラ制御処理２の詳細を示すフローチャートである。図１６に示すように仮想カメラ制御処理２では、ゲームシステム１０は、操作情報が入力されると（ステップＳ５０でＹ）、操作情報に基づいて第１の制御情報を演算する（ステップＳ５２）。そして第１の制御情報を用いて第１の仮想カメラ２１２を制御する（ステップＳ５４）。そして、第１の制御情報を、上述した位置変換処理、向き変換処理、画角変換処理を行うことにより第２の制御情報に変換する（ステップＳ５６）。そして第２の制御情報を用いて第２の仮想カメラ２１４を制御する（ステップＳ５８）。そして、第１の描画領域にキャラクタ２０２が描画されている状態で、プレーヤがキャラクタ２０２の表示位置に対して接触操作を行うことによりキャラクタ２０２に第１の仮想カメラ２１２の注視点が設定されると（ステップＳ６０でＹ）、仮想カメラの制御を上述した仮想カメラ制御処理１に切り替える（ステップＳ６２）。
【０１１５】
図１７は、本実施形態のゲームシステム１０において、特定イベントが発生した場合に行われる仮想カメラ制御処理３の詳細を示すフローチャートである。図１７に示すように仮想カメラ制御処理３では、ゲームシステム１０は、特定イベントが発生していない場合には（ステップＳ７０でＹ）、キャラクタ２０２が移動することにより注視点が移動すると（ステップＳ７２でＹ）、注視点の位置情報に基づいて第１の制御情報を演算する（ステップＳ７４）。そして第１の制御情報を用いて第１の仮想カメラ２１２を制御する（ステップＳ７６）。そして第１の制御情報を第２の制御情報に変換し（ステップＳ７８）、第２の制御情報を用いて第２の仮想カメラ２１４を制御する（ステップＳ８０）。
【０１１６】
一方、特定イベントが発生した場合には（ステップＳ７０でＮ）、上述した位置変更処理、向き変更処理、画角変更処理を行う（ステップＳ８２）。そしてキャラクタ２０２が移動することにより注視点が移動すると（ステップＳ８４でＹ）、第１の仮想カメラ２１２の注視点の位置情報に基づいて、第１の制御情報の構成要素である第１の位置情報と第１の向き情報とを演算する（ステップＳ８６）。そして第１の位置情報と第１の向き情報（第１の制御情報）を用いて第１の仮想カメラ２１２を制御する（ステップＳ８８）。そして第１の制御情報のうち第１の位置情報を第２の制御情報の構成要素である第２の位置情報に変換する（ステップＳ９０）。そしてキャラクタ２０２が移動することにより移動した第２の仮想カメラ２１４の注視点の位置情報に基づいて、第２の制御情報の構成要素である第２の向き情報を演算する（ステップＳ９２）。そして第２の位置情報と第２の向き情報（第２の制御情報）を用いて第２の仮想カメラ２１４を制御する（ステップＳ９４）。そして特定イベントが終了した場合は（ステップＳ９６でＹ）処理を終了し、特定イベントが終了しない場合は（ステップＳ９６でＮ）、ステップＳ８４からステップＳ９６までの処理を繰り返す。
【０１１７】
５．変形例
上記実施形態で説明した手法は、一例を示したに過ぎず、上記実施形態の手法と同様の効果を奏する均等な手法を採用した場合においても本発明の範囲に含めることができる。また本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。そして上記実施形態の手法や、変形例として後述する各種の手法は、本発明を実現する手法として適宜組み合わせて採用することができる。
【０１１８】
例えば上述した実施形態では、第１の表示部１８が操作部４０としても機能する例を挙げて説明したが、第２の表示部３４も操作部４０として機能するようにしてもよい。また上述した実施形態では、第１の描画領域に対応して第１の表示部１８が設けられ、第２の描画領域に対応して第２の表示部３４が設けられている例を挙げて説明したが、１つの表示部の表示領域を、第１の描画領域に対応する表示領域と第２の描画領域に対応する表示領域とに分割するようにしてもよい。また第１の描画領域と第２の描画領域とは、それぞれ個別の記憶装置として設けられるようにしてもよいし、１つの記憶装置のメモリ領域を分割した各領域として設けられるようにしてもよい。
【０１１９】
また上述した実施形態では、予め描画された画像データとして過去のゲームの進行中において描画された画像データを用いる例を挙げて説明したが、例えばゲームシステム１０のソフトウェアの作成時に情報記憶媒体に格納されたものとしてもよい。
【０１２０】
また本発明は、携帯型のゲームシステムの他に、業務用ゲームシステム、据え置き型の家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１２１】
【図１】本実施形態のゲームシステム１０の外観を示す図。
【図２】本実施形態のゲームシステム１０の機能ブロック図。
【図３】本実施形態のゲームシステム１０のオブジェクト空間を示す図。
【図４】本実施形態のゲームシステム１０の制御手法の説明図。
【図５】本実施形態のゲームシステム１０の制御手法の説明図。
【図６】本実施形態のゲームシステム１０で生成される画像を示す図。
【図７】本実施形態のゲームシステム１０の制御手法の説明図。
【図８】本実施形態のゲームシステム１０の制御手法の説明図。
【図９】本実施形態のゲームシステム１０の制御手法の説明図。
【図１０】本実施形態のゲームシステム１０の制御手法の説明図。
【図１１】本実施形態のゲームシステム１０の制御手法の説明図。
【図１２】本実施形態のゲームシステム１０で生成される画像を示す図。
【図１３】本実施形態のゲームシステム１０の制御手法の説明図。
【図１４】本実施形態のゲームシステム１０の処理の流れを示すフローチャート図。
【図１５】本実施形態のゲームシステム１０の処理の流れを示すフローチャート図。
【図１６】本実施形態のゲームシステム１０の処理の流れを示すフローチャート図。
【図１７】本実施形態のゲームシステム１０の処理の流れを示すフローチャート図。
【符号の説明】
【０１２２】
１０  ゲームシステム、１２  本体下部、１４  本体上部、１６  ヒンジ部、
１８  第１の表示部、２０  十字キー、２２  第１ボタン、２４  第２ボタン、
２８  第４ボタン、３０  スタートボタン、３２  セレクトボタン、
３４  第２の表示部、３６  スピーカ、３８  マイク、
４０  操作部、４２  音入力部、４４  音出力部、４６  情報記憶媒体、５０  記憶部、
６０  通信部、１００  処理部、１０２  ゲーム処理部、１０４  表示制御部、
１０６  オブジェクト空間設定部、１０８  仮想カメラ制御部、
１１０  移動・動作制御部、１１２  判定部、１１４  通信制御部、
２００  オブジェクト空間、２０２  キャラクタ、２０４  木オブジェクト、
２０６  地面オブジェクト、２０８  天球オブジェクト、２１０  背景オブジェクト、
２１２  第１の仮想カメラ、２１４  第２の仮想カメラ、
【図２】
2009237680.tif 000003
【図３】
2009237680.tif 000004
【図４】
2009237680.tif 000005
【図５】
2009237680.tif 000006
【図７】
2009237680.tif 000007
【図８】
2009237680.tif 000008
【図９】
2009237680.tif 000009
【図１０】
2009237680.tif 000010
【図１１】
2009237680.tif 000011
【図１２】
2009237680.tif 000012
【図１３】
2009237680.tif 000013
【図１４】
2009237680.tif 000014
【図１５】
2009237680.tif 000015
【図１６】
2009237680.tif 000016
【図１７】
2009237680.tif 000017
【図１】
2009237680.tif 000018
【図６】
2009237680.tif 000019