(57)【要約】【課題】オブジェクト空間における任意の位置における仮想的な状況の変化をプレーヤに観賞又は観察させること。【解決手段】第１の仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのときの仮想カメラの位置に応じた位置データを第２の仮想カメラ制御処理用の位置データとして保存する。そして保存させた位置データに基づく第２の仮想カメラ制御処理を介して、操作者が気に入った風景等を改めて描画して画像として表示させる。【選択図】図６
2008027064.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて前記仮想カメラの位置を制御する第１の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部としてコンピュータを機能させ、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第２の仮想カメラ制御処理を更に行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記第２の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定するパラメータ設定部としてコンピュータを更に機能させ、
前記描画部が、
前記第２の仮想カメラ制御処理が行われる場合に、前記状況パラメータに応じた画像を描画することを特徴とするプログラム。
【請求項３】
請求項１、２のいずれかにおいて、
前記オブジェクト空間設定部が、
前記第２の仮想カメラ制御処理が行われる場合に、前記第２の仮想カメラ制御処理における仮想カメラの位置に応じて前記オブジェクト空間に特殊オブジェクトを設定することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記第１の操作入力に応じて、移動体オブジェクトの移動を制御する移動処理部としてコンピュータを更に機能させ、
前記仮想カメラ制御部が、
前記第１の仮想カメラ制御処理において、前記移動体オブジェクトの位置に応じて前記仮想カメラの位置の制御を行うことを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記位置データを外部装置に送信する通信制御部としてコンピュータを更に機能させることを特徴するプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記保存制御部が、
前記位置データに関連づけて、当該位置データに応じた位置における前記仮想カメラから前記オブジェクト空間を見た画像を選択用画像として前記記憶部に保存させることを特徴とするプログラム。
【請求項７】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部としてコンピュータを機能させ、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させることを特徴とするプログラム。
【請求項８】
請求項７において、
前記描画部が、
前記描画した画像の色を基準色に変化させた基準画像を描画し、
前記保存制御部が、
前記保存用画像として前記基準画像を前記記憶部に保存させることを特徴とするプログラム。
【請求項９】
請求項７、８のいずれかにおいて、
外部装置により保存された前記保存用画像を前記外部装置から受信する通信制御部としてコンピュータを更に機能させ、
前記パラメータ設定部が、
前記受信した保存用画像の状況パラメータを設定し、
前記描画部が、
前記受信した保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて、前記保存用画像の色を変化させることを特徴とするプログラム。
【請求項１０】
コンピュータに読み取り可能な情報記憶媒体であって、請求項１乃至９のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて前記仮想カメラの位置を制御する第１の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部と、
を含み、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第２の仮想カメラ制御処理を更に行うことを特徴とする画像生成システム。
【請求項１２】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部と、
を含み、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記録媒体および画像生成システムに関する。
【背景技術】
【０００２】
近年、仮想的な３次元空間（以下、「オブジェクト空間」という。）に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ（所与の視点）から見た画像を生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとしてゲームシステム等、様々なシステムにて用いられている。
【０００３】
例えばこのような画像生成システム（ゲームシステム）として、操作者が物語に登場するキャラクタの行動を指定することによって、その物語を進行させていくロールプレイングゲームを実行するものがある。このロールプレイングゲームでは、物語の中でキャラクタ（以下、「プレーヤキャラクタ」という。）を移動させ、謎解き、宝物の発見、敵との戦闘など種々のイベントを発生させる。そして、移動中の風景や、イベントの様子などの画像を描画してこれを表示することにより、プレーヤに種々の疑似体験を提供する。
【０００４】
そしてこのようなロールプレイングゲームを実行する画像生成システムには、ゲーム実行中に表示した画像を、記念写真のようにして保存する機能を有するものがある。例えば、プレーヤの操作に従ってオブジェクト空間内の任意の位置における画像データを取得し、アルバム写真という形式にて閲覧可能に保存することができるようになっている（例えば、特許文献１）。
【特許文献１】特開２００３−１１７２３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら従来の画像生成システムは、ゲーム実行中において描画した画像を保存し、保存した画像をそのまま表示させるものであり、ある場面（シーン）又は景色をその状況を保持しつつ記憶するだけであった。
【０００６】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクト空間における任意の位置における仮想的な状況の変化をプレーヤに観賞又は観察させることにより、新たな興味を喚起することができる画像生成システム、プログラムおよび情報記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
（１）上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて前記仮想カメラの位置を制御する第１の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部と、
を含み、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第２の仮想カメラ制御処理を更に行うことを特徴とする画像生成システムに関係する。
【０００８】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体に関係する。
【０００９】
本発明によれば、操作者からの第１の操作入力に応じて仮想カメラの位置が制御される第１の仮想カメラ制御処理と、制御データに基づいて仮想カメラが制御される第２の仮想カメラ制御処理とを行う。ここで本発明では第１の仮想カメラ制御処理において、操作者からの第１の操作入力に応じて仮想カメラの位置を変化させ、第２の操作入力に応じて仮想カメラの位置に応じた位置データを保存させる。そして本発明では、第２の仮想カメラ制御処理が行われる場合に、保存させた位置データに基づいて第２の仮想カメラ制御処理における仮想カメラの位置を制御し、当該位置における仮想カメラから見た画像を描画する。
【００１０】
これにより本発明によれば、第１の仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのときの仮想カメラの位置に応じた位置データを第２の仮想カメラ制御処理用の位置データとして保存することができる。そして操作者からの第１の操作入力に応じて仮想カメラの位置が変化しても、保存させた位置データに基づく第２の仮想カメラ制御処理を介して、操作者が気に入った風景等を改めて描画して画像として表示させることができる。
【００１１】
このように本発明によれば、一度描画した画像そのものを保存しておくのではなく、位置データを保存しておき、改めて位置データに基づく画像を描画する。従って本発明によれば、保存しておくデータ容量を大幅に削減することができるとともに、改めて画像を描画するので第２の仮想カメラ制御処理を介して描画する画像を動画像として表示させることができる。更に本発明によれば、第２の仮想カメラ制御処理を介して描画する画像を、対応する第１の仮想カメラ制御処理を介して描画した画像とほぼ同様の構成の画像としつつも、状況を変化させた画像とすることができる。
【００１２】
こうして本発明によれば、操作者が指定したオブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させるという、新たな興味を喚起する画像生成システムを提供することができる。
【００１３】
（２）また本発明は、
前記第２の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定するパラメータ設定部を更に含み、
前記描画部が、
前記第２の仮想カメラ制御処理が行われる場合に、前記状況パラメータに応じた画像を描画するようにしてもよい。
【００１４】
本発明によれば、オブジェクト空間における任意の位置における時間的変化、天候の変化、イベント発生の有無などの各種の状況の変化を状況パラメータによって設定し、状況パラメータに応じた画像を描画することができる。従って本発明によれば、状況パラメータを変化させることにより、オブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させることができる。
【００１５】
（３）また本発明は、
前記オブジェクト空間設定部が、
前記第２の仮想カメラ制御処理が行われる場合に、前記第２の仮想カメラ制御処理における仮想カメラの位置に応じて前記オブジェクト空間に特殊オブジェクトを設定するようにしてもよい。
【００１６】
本発明によれば、例えば、第１の仮想カメラ制御処理を介して描画した画像においては存在しなかった特殊オブジェクトを、第２の仮想カメラ制御処理を介して描画する画像において存在させることができる。これにより本発明によれば、例えばオブジェクト空間内に適宜発生する小動物などの移動体オブジェクトを特殊オブジェクトとして設定することにより、オブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させることができる。
【００１７】
（４）また本発明は、
前記第１の操作入力に応じて、移動体オブジェクトの移動を制御する移動処理部を更に含み、
前記仮想カメラ制御部が、
前記第１の仮想カメラ制御処理において、前記移動体オブジェクトの位置に応じて前記仮想カメラの位置の制御を行うようにしてもよい。
【００１８】
本発明によれば、操作者からの第１の操作入力に応じて移動体オブジェクトを移動させ、例えば移動体オブジェクトに追従するように仮想カメラの制御を行う。従って本発明によれば、操作者が操作する移動体オブジェクトの移動に関連付けて、第２の仮想カメラ制御処理用の位置データを保存させることができる。
【００１９】
（５）また本発明は、
前記位置データを外部装置に送信する通信制御部を更に含むようにしてもよい。
【００２０】
本発明によれば、位置データを外部装置に送信することにより、本発明の画像生成システムと同様の機能を有する別の画像生成システムにおいても、第２の仮想カメラ制御処理を介して描画する画像を表示させることができる。従って本発明によれば、位置データという容量の小さなデータの送受信を行うことにより、１の操作者が指定したオブジェクト空間における任意の位置における仮想的な状況の変化を、他者にも観賞又は観察させることができる。
【００２１】
（６）また本発明は、
前記保存制御部が、
前記位置データに関連づけて、当該位置データに応じた位置における前記仮想カメラから前記オブジェクト空間を見た画像を選択用画像として前記記憶部に保存させるようにしてもよい。
【００２２】
本発明によれば、位置データに基づいて画像を描画する前に、当該位置データに基づいていかなる画像が描画されるかを選択用画像により操作者に認識させることができる。例えば保存させた位置データが複数ある場合に、各位置データに基づいて描画される画像を選択用画像によりサムネイル形式で表示させることができる。従って本発明によれば、操作者が所望する画像に対応する位置データを容易に特定させることができる。
【００２３】
（７）また本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第１の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第２の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部と、
を含み、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させるようにしてもよい。
【００２４】
本発明によれば、仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのとき描画された画像に基づく保存用画像を保存することができる。よって、操作者からの第１の操作入力に応じて仮想カメラの位置が変化しても、保存用画像に基づく画像を表示部に表示させることにより、操作者が気に入った風景等を表示させることができる。そして本発明によれば、保存用画像に基づく画像を表示部に表示させる場合に、状況パラメータに応じて保存用画像の色を変化させる。
【００２５】
例えば、保存用画像の一部又は全部の輝度、色度、色相、彩度、明度、透明度等などの描画色の属性を変化させるフィルタ処理など所定の画像処理を行うことにより、保存用画像を例えば昼の時間帯の画像から夜の時間帯の画像に変化させることができる。
【００２６】
従って本発明によれば、保存用画像に基づく画像を、仮想カメラ制御処理を介して描画した画像とほぼ同様の構成の画像としつつも、状況を変化させた画像とすることができる。こうして本発明によれば、操作者が指定したオブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させるという、新たな興味を喚起する画像生成システムを提供することができる。
【００２７】
（８）また本発明は、
前記描画部が、
前記描画した画像の色を基準色に変化させた基準画像を描画し、
前記保存制御部が、
前記保存用画像として前記基準画像を前記記憶部に保存させるようにしてもよい。
【００２８】
本発明によれば、状況パラメータに応じて色を変化させる元画像となる保存用画像として、基準画像を保存させる。例えば、第２の操作入力が行われたときに描画した画像が夜の時間帯の画像であって全体的に色が濃い（黒に近い）画像であっても、色を変化させやすい即ち色が薄い（白に近い）基準画像に描画しなおして（変換して）、これを保存させる。従って本発明によれば、状況パラメータに応じて基準画像の色を容易に変化させることができ、かつ色を変化させても自然な配色の画像を保存用画像に基づく画像として表示部に表示させることができる。
【００２９】
（９）また本発明は、
外部装置により保存された前記保存用画像を前記外部装置から受信する通信制御部を更に含み、
前記パラメータ設定部が、
前記受信した保存用画像の状況パラメータを設定し、
前記描画部が、
前記受信した保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて、前記保存用画像の色を変化させるようにしてもよい。
【００３０】
本発明によれば、本発明の画像生成システムと同様の機能を有する別の画像生成システムにおいて保存された保存用画像を受信して、受信した保存用画像の色を状況パラメータに応じて変化させた画像を表示させることができる。従って本発明によれば、１の操作者が指定したオブジェクト空間における任意の位置における仮想的な状況の変化を、他者にも観賞又は観察させることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明に好適な実施の形態について図面を用いて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態にて説明される構成の全てが、本発明の必須の構成要件であるとは限らない。
【００３２】
１．概要
本実施形態の画像生成システムは、ロールプレイングゲームの実行中に、プレーヤの操作に応じてオブジェクト空間内を移動するプレーヤキャラクタに仮想カメラを追従させる第１の仮想カメラ制御処理と、予めプレーヤの操作に基づき記憶されたカメラ位置において仮想カメラを制御する第２の仮想カメラ制御処理と、を実行する。そしてこの画像生成システムは、プレーヤの操作に応じて第１の仮想カメラ制御処理及び第２の仮想カメラ制御処理の何れかを選択して、又は、切り替えて仮想カメラを制御する。
【００３３】
ここで本実施形態の画像生成システムは、プレーヤの操作に応じてプレーヤキャラクタが移動し、任意のオブジェクト空間上の位置において描画された画像を、当該位置以外において観賞可能に又は観察可能にすることを希望した場合には、当該プレーヤの操作入力に応じて当該位置（以下、「観察／観賞地点」という。）を第２の仮想カメラ制御処理を行う位置として記憶するようになっている。
【００３４】
そして本実施形態の画像生成システムは、第１の仮想カメラ制御処理時又はプログラムゲーム開始時などの任意のタイミングにおいて、プレーヤによって或いは所定のプログラムに応じて位置データが選択されると、当該位置データに基づいて仮想カメラの位置を設定し、現在、過去又は未来のオブジェクト空間における観察／観賞地点の状況を描画する第２の仮想カメラ制御処理を行う。
【００３５】
従って本実施形態の画像生成システムは、プレーヤが希望するオブジェクト空間内における各地の現在の状況や仮想的な状況を、プレーヤキャラクタを当該地点まで移動させなくても観賞又は観察できるようになっている。
【００３６】
なお本実施形態では、位置データ及び位置選択用画像データを他のゲーム装置又はコンピュータ装置などの他の端末装置に送信できるようになっており、当該位置データ及び位置選択用データを受信した他の端末装置において、受信した位置データに基づいて第２の仮想カメラ制御処理を行うことができるようになっている。ただし、サーバ装置を用いてゲーム処理を行う場合には、勿論、サーバ装置に位置データ等を提供し、他の端末装置が当該位置データ等に基づいて第２の仮想カメラ制御処理を実行することができるようにしてもよい。
【００３７】
２．構成
次に、図１を用いて本実施形態における画像生成システム（ゲームシステム）の構成について説明する。図１は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３８】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３９】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクトの形状等オブジェクトに関するデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。特に、本実施形態の記憶部１７０は、仮想カメラに関するデータが記憶されるカメラデータ記憶部１７７を有している。
【００４０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００４１】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００４２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００４３】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４４】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００４５】
通信部１９６は、外部装置（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４６】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４７】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は、記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４８】
特に、本実施形態の処理部１００は、オブジェクト空間設定部１１０と、移動・動作処理部１１２と、仮想カメラ制御部１１４と、保存制御部１１６と、パラメータ設定部１１８と、通信制御部１１９と、描画部１２０と、音生成部１３０と、を含む。なお、これらの一部を省略する構成としてもよい。
【００４９】
オブジェクト空間設定部１１０は、移動体オブジェクト（キャラクタ、車、バイク、飛行機等）、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト設定部１１０は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５０】
移動・動作処理部１１２は、移動体オブジェクト（キャラクタや車の他にキャラクタが使用する道具等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動・動作処理部１１２は、操作部１６０によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム（移動・動作アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【００５１】
具体的には、本実施形態の移動・動作処理部１１２は、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【００５２】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００５３】
特に本実施形態では、仮想カメラ制御部１１４は、第１の操作入力に応じて仮想カメラの位置を制御する第１の仮想カメラ制御処理と、所与の制御データに基づいて仮想カメラを制御する第２の仮想カメラ制御処理とを行う。そして本実施形態では仮想カメラ制御部１１４は、プレーヤからの操作入力（第３の操作入力）に応じて、第１の仮想カメラ制御処理と第２の仮想カメラ制御処理とを選択的に行う。
【００５４】
ここで第１の仮想カメラ制御処理では、仮想カメラ制御部１１４は、プレーヤの操作に応じて移動するプレーヤキャラクタの位置又は向きの変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。詳細には、移動・動作処理部１１２で得られたプレーヤキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御する。具体的には本実施形態では、仮想カメラがプレーヤキャラクタをプレーヤキャラクタの後方から撮影する。なおプレーヤキャラクタを表示させずに、仮想カメラをプレーヤキャラクタの視点（一人称視点）として、第１の操作入力に応じて仮想カメラの位置を直接的に制御するようにしてもよい。
【００５５】
一方、第２の仮想カメラ制御処理では、仮想カメラ制御部１１４は、第１の操作入力に応じて仮想カメラの位置を制御せず、所与の制御データに基づいて仮想カメラを制御する。例えば仮想カメラ制御部１１４は、予め定められた仮想カメラの制御パターンデータに基づいて、仮想カメラを予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行うようにしてもよい。即ち第２の仮想カメラ制御処理では、仮想カメラの制御が自動的に行われる。
【００５６】
特に本実施形態では仮想カメラ制御部１１４は、第２の仮想カメラ制御処理が行われる場合に、保存制御部１１６により保存された位置データに基づいて第２の仮想カメラ制御処理における仮想カメラの位置を制御する。具体的には仮想カメラ制御部１１４は、第１の仮想カメラ制御処理から第２の仮想カメラ制御処理に切り替えられた場合に、第１の仮想カメラ制御処理における仮想カメラの位置を、保存された位置データに基づく位置に変更する。そして第２の仮想カメラ制御処理では、各描画フレームにおいて仮想カメラの位置をそのまま同じ位置に設定する処理を行う。
【００５７】
即ち本実施形態では仮想カメラ制御部１１４は、第２の仮想カメラ制御処理では仮想カメラの位置を変更しない制御を行う。なお第２の仮想カメラ制御処理では、仮想カメラ制御部１１４は、所定の仮想カメラの制御パターンデータに基づいて、仮想カメラの向き、画角は変更するようにしてもよい。また、第１の仮想カメラ制御処理における仮想カメラの位置を保存された位置データに基づく位置に変更した後に、所定の仮想カメラの制御パターンデータに基づいて仮想カメラの位置を変更するようにしてもよい。つまり第２の仮想カメラ制御処理では、保存された位置データに基づき仮想カメラの位置が設定され、操作者からの操作入力には応じずに所与の制御データに基づいて仮想カメラの制御が行われる。
【００５８】
保存制御部１１６は、第１の仮想カメラ制御処理における仮想カメラの位置に応じた位置データを、第２の操作入力に応じて記憶部に保存させる処理を行う。即ちプレーヤがオブジェクト空間上の任意の位置を指定して、第２の仮想カメラ制御処理において用いる仮想カメラの位置データを保存させる。具体的には本実施形態では、ゲームにおいてプレーヤキャラクタがゲームアイテムとしてのカメラを取得した場合に、第２の操作入力に応じて当該カメラでゲーム中の風景を撮影するというイベントが実行される。このとき保存制御部１１６は、第２の操作入力が行われたときの仮想カメラの位置に応じた位置データを取得し、記憶部１７０のカメラデータ記憶部１７７に記憶させる。本実施形態では、オブジェクト空間の任意の位置において、所定回数の撮影イベントを実行することができ、複数の位置データを保存させることができる。なお、カメラデータ記憶部１７７には、仮想カメラの位置データのみならず、仮想カメラの向き、画角に関するデータが記憶されるようにしてもよい。
【００５９】
ここで、第１の仮想カメラ制御処理における仮想カメラの位置とは、第１の操作入力に応じて移動するキャラクタオブジェクトに追従して移動する仮想カメラの位置に限られない。例えばゲームアイテムとしてのカメラで撮影を行う際に、ゲームアイテムとしてのカメラの位置に仮想カメラの位置を切り替えて、カメラのファインダー越しにゲーム中の風景を見るような画像を生成する場合には、当該仮想カメラの位置とすることができる。また、第１の仮想カメラ制御処理における仮想カメラの位置に応じた位置データとは、仮想カメラの位置そのものを示す位置データのみならず、仮想カメラが追従するプレーヤキャラクタの位置や、プレーヤキャラクタが構えたゲームアイテムとしてのカメラオブジェクトの位置を示す位置データとすることができる。
【００６０】
また保存制御部１１６は、位置データに関連づけて、当該位置データに応じた位置における仮想カメラからオブジェクト空間を見た画像を選択用画像として記憶部に保存させる。この選択用画像（以下、「位置選択用画像」という。）は、保存された複数の位置データの中から、第２の仮想カメラ制御処理に用いる仮想カメラの位置をプレーヤに選択させるための画像データである。例えば本実施形態では、プレーヤに対して位置選択用画像をサムネイル形式で表示して、プレーヤにいずれかの位置選択用画像を選択させる。そして選択された位置選択用画像に対応付けて記憶されている位置データに基づいて、第２の仮想カメラ制御処理を行う。
【００６１】
具体的には保存制御部１１６は、第２の操作入力に応じて位置データを記憶部に保存させる際にフレームバッファ１７２に描画されていた画像を、画像サイズを縮小した位置選択用画像に変換して、カメラデータ記憶部１７２に位置データと対応付けて記憶させる。なお位置選択用画像は、フレームバッファ１７２に描画されていた画像の色又は形状などの情報を一部省略したり、解像度を低下させたものとしてもよい。
【００６２】
パラメータ設定部１１８は、第２の仮想カメラ制御処理が行われる場合に、第２の仮想カメラ制御処理における仮想カメラの位置から見たオブジェクト空間の状況パラメータを設定する。具体的には本実施形態では、現実世界の現在時刻（実時間）、ゲームに設定された時刻（過去や未来などを含む仮想的な時刻）、天候、季節など、オブジェクト空間内の状況を表す状況パラメータを設定する。ここで状況パラメータの設定は、プレーヤの操作入力又は所定のプログラムに基づき設定する。例えば乱数抽出によりランダムに設定するようにしてもよい。
【００６３】
すると前述のオブジェクト空間設定部１１０が、第２の仮想カメラ制御処理が行われる場合に、設定された状況パラメータに応じてオブジェクト空間にオブジェクトを設定する。例えば天候や時間を決定する状況パラメータに応じて、天候に応じた雲オブジェクト（雲テクスチャがマッピングされた板ポリゴン等）を設定したり、時間に応じた光源（光源の種類、数、位置、強さ等）を設定する。またオブジェクト空間に、空などを表現するための背景スプライト等の２次元画像を設定する場合には、天候や時間に応じた２次元画像（背景スプライト）を設定する。また、２次元画像がアニメーションデータに基づき変化する場合には、状況パラメータに応じてその変化を制御する。例えば木の葉のゆれや、波の様子などが、状況パラメータに応じて異なるようにする。また、状況パラメータに応じてオブジェクトの色を変化させて設定するようにしてもよい。
【００６４】
またオブジェクト空間設定部１１０は、第２の仮想カメラ制御処理が行われる場合に、設定された状況パラメータに応じて、特殊オブジェクトとして小動物や飛行機等の移動体オブジェクトを、第２の仮想カメラ制御処理における仮想カメラの位置付近のオブジェクト空間上の位置に設定する。ここで特殊オブジェクトとしての移動体オブジェクトは、所与の移動・動作制御プログラムに応じてランダムに移動・動作が制御され、第２の仮想カメラ制御処理における仮想カメラから見える範囲付近を移動するように、オブジェクト空間に配置設定される。
【００６５】
通信制御部１１９は、カメラデータ記憶部１７７に保存された位置データと、当該位置データに関連づけて保存された保存用画像とを通信部１９６を介して外部装置に送信する制御を行う。また、外部装置に保存された位置データと、当該位置データに関連づけて保存された保存用画像とを通信部１９６を介して外部装置から受信する制御を行う。特に本実施形態では通信制御部１１９は、位置データ関連付けて、当該位置データに基づいて第２の仮想カメラ制御処理を行う場合に設定される状況パラメータを送信するようにしてもよい。例えば位置データを外部装置に送信する場合に、操作入力又は所与のプログラムに基づき状況パラメータを選択し、選択された状況パラメータを位置データに関連付けて外部装置に送信するようにしてもよい。
【００６６】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。特に本実施形態では、描画部１２０は、第２の仮想カメラ制御処理を介してオブジェクト空間を仮想カメラから見た画像を描画する場合には、設定された状況パラメータに応じた画像を描画する。具体的には描画部１２０は、状況パラメータに応じて設定されたオブジェクトを描画し、状況パラメータに応じて描画する色を変化させたり、フォグ（霧、ぼかし）処理等のポストエフェクト処理を行う。また状況パラメータに応じてマッピングするテクスチャを変えるようにしてもよい。即ち描画部１２０は、位置データが保存された際に第１の仮想カメラ制御処理を介して描画された画像と、当該位置データに基づいて第２の仮想カメラ制御処理を介して描画する画像とが、設定された状況パラメータに応じて変化するように、第２の仮想カメラ制御処理を介した画像を描画する。
【００６７】
より詳細には描画部１２０は、いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６８】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【００６９】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００７０】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００７１】
なお、描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００７２】
そして、描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７３】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部１７０に記憶する。
【００７４】
テクスチャマッピングでは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７５】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。
【００７６】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【００７７】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７８】
αブレンディング（α合成）では、描画部１２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。
【００７９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００８０】
音生成部１４０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。特に本実施形態では音生成部１４０は、第２の仮想カメラ制御処理を介してオブジェクト空間を仮想カメラから見た画像が描画される場合には、設定された状況パラメータに応じた音源を設定し、状況パラメータに応じた音を生成して出力する。
【００８１】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００８２】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８３】
３．本実施形態の手法
３．１  第１の仮想カメラ制御処理
次に、図２及び図３を用いて本実施形態の画像生成システムにおける第１の仮想カメラ制御処理について説明する。
【００８４】
本実施形態の画像生成システムは、オブジェクト空間が複数のエリア（例えば３０以上のエリア）に分割されており、エリアごとに当該エリアに存在するオブジェクトのオブジェクトデータを情報記憶媒体１８０から読み出し、記憶部１７０に記憶する。本実施形態では、プレーヤキャラクタが存在するエリアのオブジェクトデータのみを記憶部１７０に展開する。従って本実施形態では、プレーヤキャラクタの移動に伴ってプレーヤキャラクタが存在するエリアが変更されると、変更後のエリアに存在するオブジェクトのオブジェクトデータを情報記憶媒体１８０から読み出し、記憶部１７０に記憶する。そして本実施形態では、各エリア毎にオブジェクト空間を形成しつつ、第１の仮想カメラ制御処理を実行し、ロールプレイングゲームの進行に併せて種々の画像を生成するようになっている。
【００８５】
例えば本実施の形態では、第１のカメラ制御処理として、図２に示すように、プレーヤからの操作入力（第１の操作入力）に応じて移動するプレーヤオブジェクトＰＯに追従し、当該プレーヤオブジェクトＰＯを含めて又は当該プレーヤオブジェクトは含めずに、仮想カメラＣＡから見える画像を描画する。
【００８６】
特に、この画像生成システムは、第１のカメラ制御処理として、プレーヤオブジェクトＰＯに追従しつつ、図３（ａ）に示すような当該プレーヤオブジェクトを含めた画像を描画するとともに、プレーヤの操作又は所定のプログラムに従って視線方向を変更し、図３（ｂ）に示すように、プレーヤオブジェクトを含めずに、適宜オブジェクト空間の任意の範囲を描画するようになっている。
【００８７】
３．２  位置データの保存
次に、本実施形態の画像生成システムにおける位置データを保存する処理（以下、「保存処理」という。）について説明する。本実施形態では、第１の仮想カメラ制御処理を実行している際に、プレーヤの操作入力（第２の操作入力）に従って、第２の仮想カメラ制御処理において用いる位置データを保存するようになっている。
【００８８】
例えば、図４に示すように、第２のエリアを移動するプレーヤキャラクタＰＯに追従する仮想カメラＣＡが地点Ａにある場合に、図５に示すような風景を示す画像が描画されたとする。そしてこの画像を見たプレーヤがその風景を気に入った場合には、プレーヤの撮影操作入力（第２の操作入力）に従って、プレーヤキャラクタＰＯがもつゲームアイテムとしてのカメラでゲーム中の風景を撮影するというイベントを実行する。すると本実施形態では、プレーヤからの撮影操作入力に従って、当該操作時の仮想カメラのオブジェクト空間上の位置座標である地点Ａの位置座標（位置データ）と、仮想カメラの向き、画角の情報を取得する。なお本実施の形態では、取得した位置座標に当該位置座標が第２エリアであることを識別するための情報（以下、「エリア情報」ともいう。）を付加して保存するようになっている。
【００８９】
そして本実施形態では、プレーヤからの第１の操作入力に応じてプレーヤキャラクタＰＯをオブジェクト空間上の任意の位置に移動させ、第２の操作入力に応じて任意の位置において風景を撮影するイベントを実行し、任意の位置に対応する複数の仮想カメラの位置データを保存させる。このとき本実施形態では、位置データに関連づけて、当該位置データに応じた位置における仮想カメラからオブジェクト空間を見た画像を位置選択用画像として保存させる。
【００９０】
３．３  第２の仮想カメラ制御処理
次に、本実施形態の画像生成システムにおける第２の仮想カメラ制御処理について説明する。本実施形態では、第１の仮想カメラ制御処理時又はプログラムゲーム開始時などの任意のタイミングにおいて、プレーヤからの操作入力（第３の操作入力）に基づいて、観察／観賞地点として記憶された位置選択用画像を一覧表的に表示し、当該プレーヤに選択させるようになっている。具体的には本実施の形態では、図６に示すように、エリア毎又は記憶された時刻に従って、各位置選択用画像を一覧表的に表示する。
【００９１】
そして、一の位置選択用画像が選択されると（例えば、図６の各画像における「ＧＯ」ボタンが選択操作されると）、選択された画像に対応する仮想カメラの位置データを設定する。すると、観察／観賞地点の時刻、天候又は特殊オブジェクトの有無など、当該第２の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況を決定するための状況パラメータを設定する。
【００９２】
そして本実施の形態では、設定された仮想カメラの位置データに基づいて仮想カメラの位置を変更し、かつ、設定された状況パラメータに基づいて、オブジェクトの設定、光源計算、移動体オブジェクトの動作処理（移動及び動作演算又はシミュレーション）、アニメーション処理（揺らぎやテクスチャの処理による２次元アニメーション）、描画処理などの各種処理を実行する。即ち本実施形態では、位置データに基づいて仮想カメラの位置を制御する第２の仮想カメラ制御処理を介して、状況パラメータに応じた画像を描画する。
【００９３】
特に本実施形態では、第２の仮想カメラ制御処理として、位置データに従って仮想カメラの位置を変更しない制御処理を行う。即ち各フレーム毎に同一の位置にて仮想カメラから見た画像を各フレーム毎に生成するようになっている。
【００９４】
このように、本実施形態の画像生成システムは、一度描画した画像そのものを再び表示させるのではなく、状況パラメータに応じてオブジェクト空間における種々の状況が反映された画像を改めて描画することができるようになっている。
【００９５】
具体的には、本実施形態の画像生成システムは、一の位置選択用画像が選択されると、例えば状況パラメータとして現在時刻（現実の時刻）が設定される。これによって本実施形態では、プレーヤに、第２の仮想カメラ制御処理にて上述のように記憶された位置における風景の現在の状況を提供することができるようになっている。
【００９６】
従って例えば、地点Ａにおいて風景を撮影するイベントが発生した時刻が昼であって、そのとき第１の仮想カメラ制御処理を介して描画された画像が、図５に示すように昼の風景を示す画像であったとしても、第２の仮想カメラ制御処理を行う場合に設定された状況パラメータとしての現在時刻が日没の時刻である場合には、図７（ａ）に示すように、日没の風景の画像が描画される。また、状況パラメータとしての現在時刻が夜の時刻である場合には、図７（ｂ）に示すように、夜の風景の画像が描画される。
【００９７】
また、本実施形態の画像生成システムは、オブジェクト空間の気象状況を設定するための状況パラメータを所定のプログラムに基づいて決定して設定するようになっている。例えば本実施の形態では、「晴れ」、「曇り」及び「雨」などの気象状況をランダムに決定する。即ち本実施形態では、状況パラメータとして気象状況を設定することによって、プレーヤに、第２の仮想カメラ制御処理を介して、上述のように記憶された位置における現在の状況を提供することができるようになっている。
【００９８】
従って例えば、地点Ａにおいて風景を撮影するイベントが発生した時点での天候が「晴れ」であって、そのとき第１の仮想カメラ制御処理を介して描画された画像が、図５に示すように「晴れ」の風景を示す画像であったとしても、第２の仮想カメラ制御処理を行う場合に設定された状況パラメータとしての天候が「雨」である場合には、図８（ａ）に示すように、雨が降っている風景の画像が描画される。また、状況パラメータとしての天候が「曇り」である場合には、図８（ｂ）に示すように、曇りの風景の画像が描画される。
【００９９】
さらに、本実施形態の画像生成システムは、選択された位置データに応じて、小動物など特殊オブジェクトの出現の可否を示す状況パラメータを設定するようになっている。例えば、この画像生成システムは、海岸が観察／観賞地点として記憶されている場合に、「かに」又は「カモメ」といった小動物を無作為に出現させるプログラムを用いてこの状況パラメータを設定する。
【０１００】
すなわち、本実施形態の画像生成システムは、状況パラメータとして特殊オブジェクトの状況を設定することによって、プレーヤに、第２の仮想カメラ制御処理にて上述のように記憶された位置における現在の状況を提供することができるようになっている。
【０１０１】
従って例えば、地点Ａにおいて風景を撮影するイベントが発生した時点では地点Ａに特殊オブジェクトが存在しなかったため、そのとき第１の仮想カメラ制御処理を介して描画された画像が、図５に示すように特殊オブジェクトが存在しない画像であってとしても、第２の仮想カメラ制御処理を行う場合に状況パラメータによって「かに」の出現が設定された場合には、図９（ａ）に示すように、「かに」のオブジェクトＯＢ１が移動する画像が描画される。また、状況パラメータによって「カモメ」の出現が設定された場合には、図９（ｂ）に示すように、「カモメ」のオブジェクトＯＢ２の画像が描画される。
【０１０２】
なお、本実施形態の画像生成システムは、特殊オブジェクトが出現しないものの、小動物の足跡や植物を食い荒らした跡など、状況パラメータによって該特殊オブジェクトが出現した痕跡を描画するようにしてもよい。
【０１０３】
また本実施の形態では、プレーヤの指示に従って、海辺に釣り竿を設定すること、小動物を捕獲するための罠を仕掛けること、草木を植えることなど種々のイベントを実行することができる。そして本実施形態では、当該イベントに係るオブジェクト空間上の位置に応じた位置データを保存させるので、プレーヤキャラクタが当該イベントに係る地点から移動して他の地点に存在する場合でも、第２の仮想カメラ制御処理を介して描画される画像により、これらイベントの進行の様子、変化の様子をプレーヤに表示することができる。この場合には本実施形態では、例えば魚が釣り竿に引っかかった状況、魚が釣れた状況又は魚を取り逃がした状況などの各種の状況を設定するための状況パラメータを所定のプログラムによって設定し、当該状況パラメータを含めて各種の状況パラメータに応じて、第２の仮想カメラ制御処理を介した画像を描画する。
【０１０４】
４．本実施形態の処理
次に、本実施形態で行われる処理の流れの一例についてフローチャートを用いて説明する。
【０１０５】
図１０は、本実施形態の第１の仮想カメラ制御処理を行う場合の流れの一例を示すフローチャートである。図１０に示すように本実施形態では、まずゲームが開始され、プレーヤからのプレーヤキャラクタを移動させる操作入力（第１の操作入力）が行われると（ステップＳ１０でＹ）、移動操作入力に応じてキャラクタオブジェクトを移動させるとともに仮想カメラを追従させて移動させる（第１の仮想カメラ制御処理）（ステップＳ１２）。そしてオブジェクト空間を前記仮想カメラから見た画像を描画する（ステップＳ１４）。
【０１０６】
そしてゲーム中の風景をカメラアイテムで撮影するイベントを実行させる撮影操作入力（第２の操作入力）が行われると（ステップＳ１６のＹ）、プレーヤキャラクタがゲーム中でカメラアイテムのシャッターを押す撮影イベントを実行し（ステップＳ１８）、そのときの仮想カメラの位置に対応する位置データを保存する。また撮影イベントを実行したときに描画していた画像を画像サイズを縮小して、位置選択用画像として位置データと関連付けて保存する（ステップＳ２０）。
【０１０７】
こうして本実施形態では、第１の仮想カメラ制御処理において、移動操作入力に応じて仮想カメラの位置を制御し、任意の位置において撮影操作入力において位置データを保存させる処理を繰り返す。
【０１０８】
図１１は、本実施形態の第２の仮想カメラ制御処理を行う場合の流れの一例を示すフローチャートである。図１１に示すように本実施形態では、第１の仮想カメラ制御処理中に、プレーヤから第２の仮想カメラ制御処理に切り替える切替操作入力（第３の操作入力）が行われると（ステップＳ４０のＹ）、保存させている位置選択用画像をサムネイル形式で表示する（ステップＳ４２）。
【０１０９】
そして、プレーヤからいずれかの位置選択用画像を選択する選択操作入力（第４の操作入力）が行われると（ステップＳ４４のＹ）、選択された位置選択用画像に対応する位置データを第２の仮想カメラ制御処理用の仮想カメラの位置として設定する（ステップＳ４６）。すると、第２の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定する（ステップＳ４８）。
【０１１０】
そして、設定された位置データに基づき仮想カメラの位置を変更し、第２の仮想カメラ制御処理を行う（ステップＳ５０）。そして設定された状況パラメータに応じて、変更後の仮想カメラの位置からオブジェクト空間を見た画像を描画する（ステップＳ５２）。
【０１１１】
ここで、プレーヤから第２の仮想カメラ制御処理に用いる位置データを変更する変更操作入力（第５の操作入力）が行われると（ステップＳ５４のＹ）、ステップＳ４２に戻り、保存させている位置選択用画像をサムネイル形式で表示する（ステップＳ４２）。また、プレーヤから第１の仮想カメラ制御処理に切り替える切替操作入力（第６の操作入力）が行われると（ステップＳ５６のＹ）、第２の仮想カメラ制御処理を終了して、図１０の各処理を行う。
【０１１２】
こうして本実施形態では、第１の仮想カメラ制御処理において保存させた位置データに基づいて第２の仮想カメラ制御処理を行うことにより、プレーヤキャラクタの位置に拘わらず、撮影イベントを実行した位置における画像を描画する。そして第２の仮想カメラ制御処理を介して描画される画像は、状況パラメータに応じて描画されるので、撮影イベントを実行したときとは状況が異なる画像として描画される。
【０１１３】
５．他の実施形態
以上は、保存制御部１１６が、第２の操作入力に応じて仮想カメラの位置に応じた位置データを記憶部１７０に保存させ、仮想カメラ制御部１１４が、位置データに基づいて仮想カメラの位置を制御する第２の仮想カメラ制御処理を行う態様を例に挙げて説明した。これに対し他の実施形態として、保存制御部１１６が、第２の操作入力に応じて、描画された画像に基づく保存用画像を記憶部に保存させ、パラメータ設定部１１８が、保存用画像の状況パラメータを設定し、表示制御部が、オブジェクト空間を仮想カメラから見た画像と、保存用画像に基づく画像の少なくとも一方を表示部に表示させ、描画部１２０が、保存用画像に基づく画像が表示される場合に、状況パラメータに応じて保存用画像の色を変化させるようにしてもよい。この実施形態によっても、上記実施形態と同様に、プレーヤキャラクタの位置に拘わらず撮影イベントを実行した位置における画像を、撮影イベントを実行したときとは状況が異なる画像として表示させることができる。
【０１１４】
具体的にはこの実施形態では、保存制御部１１６が、第２の操作入力に応じて撮影イベントを実行したときにフレームバッファ１７２に描画されていた画像を、保存用画像として別のバッファに保存させる。ここでこの実施形態では、フレームバッファ１７２に描画されていた画像をそのまま保存用画像として保存させるのではなく、描画部１２０が、フレームバッファ１７２に描画されていた画像を基準色に変化させた基準画像に描画しなおし（変換し）、保存制御部１１６が、基準画像を保存用画像として別のバッファに保存させる。
【０１１５】
より詳細にはこの実施形態では、基準画像を描画する処理として描画部１２０は、フレームバッファ１７２に描画されていた画像のうち、オブジェクトを除く背景（背景スプライト等）やポストエフェクト処理用のフィルタ（エフェクト色が描画された板ポリゴン等）を除去したり、それらの色を透明に設定する。また描画部１２０は、フレームバッファ１７２に描画されていた画像の色を全体的に薄くする変換処理を行うようにしてもよい。即ちこの実施形態では描画部１２０は、フレームバッファ１７２に描画されていた画像の色を、状況パラメータに応じて容易にかつ自然に変化させることができるように、基準画像に変換する。
【０１１６】
そして描画部１２０は、保存用画像に基づく画像が表示される場合に、状況パラメータに応じて保存用画像の色を変化させる。より具体的には描画部１２０は、状況パラメータに応じて、背景（背景スプライト等）の色やポストエフェクト処理用のフィルタ（エフェクト色が描画された板ポリゴン等）を改めて設定して、状況パラメータに応じた画像を描画する。
【０１１７】
例えば、風景を撮影するイベントが発生した時刻が昼であって、そのとき仮想カメラ制御処理を介して描画された画像が、昼の風景を示す画像であったとしても、保存用画像に基づく画像が表示される場合に設定された状況パラメータとしての現在時刻が日没の時刻である場合には、基準画像に対して日没の状況を作り出すためのフィルタ処理等を実行し、夕方の風景の画像を描画する。また、状況パラメータとしての現在時刻が夜の時刻である場合には、基準画像に対して夜の状況を作り出すためのフィルタ処理等を実行し、夜の風景の画像を描画する。
【０１１８】
またこの実施形態では、通信制御部１１９が、外部装置により保存された保存用画像（基準画像）を外部装置から受信し、パラメータ設定部１１８が、受信した保存用画像の状況パラメータを設定し、描画部１２０が、受信した保存用画像（基準画像）に基づく画像が表示される場合に、状況パラメータに応じて、保存用画像（基準画像）の色を変化させるようにしてもよい。
【０１１９】
６．ハードウェア構成
次に、図１２を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図１２は、本実施形態を実現できるハードウェア構成を示す一例である。
【０１２０】
メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１２１】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１２２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１２３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。
【０１２４】
また、この描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１２５】
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、１つのプロセッサにより実現してもよい。また、プロセッサとしてＣＰＵとＧＰＵを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
【０１２６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１２７】
ＲＯＭ９５０には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。
【０１２８】
ＲＡＭ９６０は、各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１２９】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１３０】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３１】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（プリミティブ面等）として引用された用語（ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３２】
また、上述の描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【０１３３】
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３４】
【図１】一実施形態の画像生成システムの機能ブロック図の例。
【図２】一実施形態の画像生成システムにおける第１の仮想カメラ制御処理を説明するための図。
【図３】図３（Ａ）、（Ｂ）は、一実施形態の画像生成システムで生成される画像例。
【図４】一実施形態の画像生成システムにおける位置データの保存処理を説明するための図。
【図５】一実施形態の画像生成システムで生成される画像例。
【図６】一実施形態の画像生成システムで表示される選択画面例。
【図７】図７（Ａ）、（Ｂ）は、一実施形態の画像生成システムで生成される画像例。
【図８】図８（Ａ）、（Ｂ）は、一実施形態の画像生成システムで生成される画像例。
【図９】図９（Ａ）、（Ｂ）は、一実施形態の画像生成システムで生成される画像例。
【図１０】一実施形態の処理の流れの一例を示すフローチャート図。
【図１１】一実施形態の処理の流れの一例を示すフローチャート図。
【図１２】ハードウェアの構成例。
【符号の説明】
【０１３５】
ＰＯ  プレーヤオブジェクト、ＣＡ  仮想カメラ、ＯＢ１・ＯＢ２  特殊オブジェクト、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  保存制御部、１１８  パラメータ設定部、
１１９  通信制御部、１２０  画像生成部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2008027064.tif 000003
【図２】
2008027064.tif 000004
【図４】
2008027064.tif 000005
【図１０】
2008027064.tif 000006
【図１１】
2008027064.tif 000007
【図１２】
2008027064.tif 000008
【図３】
2008027064.tif 000009
【図５】
2008027064.tif 000010
【図６】
2008027064.tif 000011
【図７】
2008027064.tif 000012
【図８】
2008027064.tif 000013
【図９】
2008027064.tif 000014