説明

プログラム、情報記録媒体および画像生成システム

【課題】オブジェクト空間における任意の位置における仮想的な状況の変化をプレーヤに観賞又は観察させること。
【解決手段】第1の仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのときの仮想カメラの位置に応じた位置データを第2の仮想カメラ制御処理用の位置データとして保存する。そして保存させた位置データに基づく第2の仮想カメラ制御処理を介して、操作者が気に入った風景等を改めて描画して画像として表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記録媒体および画像生成システムに関する。
【背景技術】
【0002】
近年、仮想的な3次元空間(以下、「オブジェクト空間」という。)に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ(所与の視点)から見た画像を生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとしてゲームシステム等、様々なシステムにて用いられている。
【0003】
例えばこのような画像生成システム(ゲームシステム)として、操作者が物語に登場するキャラクタの行動を指定することによって、その物語を進行させていくロールプレイングゲームを実行するものがある。このロールプレイングゲームでは、物語の中でキャラクタ(以下、「プレーヤキャラクタ」という。)を移動させ、謎解き、宝物の発見、敵との戦闘など種々のイベントを発生させる。そして、移動中の風景や、イベントの様子などの画像を描画してこれを表示することにより、プレーヤに種々の疑似体験を提供する。
【0004】
そしてこのようなロールプレイングゲームを実行する画像生成システムには、ゲーム実行中に表示した画像を、記念写真のようにして保存する機能を有するものがある。例えば、プレーヤの操作に従ってオブジェクト空間内の任意の位置における画像データを取得し、アルバム写真という形式にて閲覧可能に保存することができるようになっている(例えば、特許文献1)。
【特許文献1】特開2003−117239号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら従来の画像生成システムは、ゲーム実行中において描画した画像を保存し、保存した画像をそのまま表示させるものであり、ある場面(シーン)又は景色をその状況を保持しつつ記憶するだけであった。
【0006】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクト空間における任意の位置における仮想的な状況の変化をプレーヤに観賞又は観察させることにより、新たな興味を喚起することができる画像生成システム、プログラムおよび情報記録媒体を提供することにある。
【課題を解決するための手段】
【0007】
(1)上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて前記仮想カメラの位置を制御する第1の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部と、
を含み、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第2の仮想カメラ制御処理を更に行うことを特徴とする画像生成システムに関係する。
【0008】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータに読み取り可能な情報記憶媒体であって、当該プログラムを記録した記憶媒体に関係する。
【0009】
本発明によれば、操作者からの第1の操作入力に応じて仮想カメラの位置が制御される第1の仮想カメラ制御処理と、制御データに基づいて仮想カメラが制御される第2の仮想カメラ制御処理とを行う。ここで本発明では第1の仮想カメラ制御処理において、操作者からの第1の操作入力に応じて仮想カメラの位置を変化させ、第2の操作入力に応じて仮想カメラの位置に応じた位置データを保存させる。そして本発明では、第2の仮想カメラ制御処理が行われる場合に、保存させた位置データに基づいて第2の仮想カメラ制御処理における仮想カメラの位置を制御し、当該位置における仮想カメラから見た画像を描画する。
【0010】
これにより本発明によれば、第1の仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのときの仮想カメラの位置に応じた位置データを第2の仮想カメラ制御処理用の位置データとして保存することができる。そして操作者からの第1の操作入力に応じて仮想カメラの位置が変化しても、保存させた位置データに基づく第2の仮想カメラ制御処理を介して、操作者が気に入った風景等を改めて描画して画像として表示させることができる。
【0011】
このように本発明によれば、一度描画した画像そのものを保存しておくのではなく、位置データを保存しておき、改めて位置データに基づく画像を描画する。従って本発明によれば、保存しておくデータ容量を大幅に削減することができるとともに、改めて画像を描画するので第2の仮想カメラ制御処理を介して描画する画像を動画像として表示させることができる。更に本発明によれば、第2の仮想カメラ制御処理を介して描画する画像を、対応する第1の仮想カメラ制御処理を介して描画した画像とほぼ同様の構成の画像としつつも、状況を変化させた画像とすることができる。
【0012】
こうして本発明によれば、操作者が指定したオブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させるという、新たな興味を喚起する画像生成システムを提供することができる。
【0013】
(2)また本発明は、
前記第2の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定するパラメータ設定部を更に含み、
前記描画部が、
前記第2の仮想カメラ制御処理が行われる場合に、前記状況パラメータに応じた画像を描画するようにしてもよい。
【0014】
本発明によれば、オブジェクト空間における任意の位置における時間的変化、天候の変化、イベント発生の有無などの各種の状況の変化を状況パラメータによって設定し、状況パラメータに応じた画像を描画することができる。従って本発明によれば、状況パラメータを変化させることにより、オブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させることができる。
【0015】
(3)また本発明は、
前記オブジェクト空間設定部が、
前記第2の仮想カメラ制御処理が行われる場合に、前記第2の仮想カメラ制御処理における仮想カメラの位置に応じて前記オブジェクト空間に特殊オブジェクトを設定するようにしてもよい。
【0016】
本発明によれば、例えば、第1の仮想カメラ制御処理を介して描画した画像においては存在しなかった特殊オブジェクトを、第2の仮想カメラ制御処理を介して描画する画像において存在させることができる。これにより本発明によれば、例えばオブジェクト空間内に適宜発生する小動物などの移動体オブジェクトを特殊オブジェクトとして設定することにより、オブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させることができる。
【0017】
(4)また本発明は、
前記第1の操作入力に応じて、移動体オブジェクトの移動を制御する移動処理部を更に含み、
前記仮想カメラ制御部が、
前記第1の仮想カメラ制御処理において、前記移動体オブジェクトの位置に応じて前記仮想カメラの位置の制御を行うようにしてもよい。
【0018】
本発明によれば、操作者からの第1の操作入力に応じて移動体オブジェクトを移動させ、例えば移動体オブジェクトに追従するように仮想カメラの制御を行う。従って本発明によれば、操作者が操作する移動体オブジェクトの移動に関連付けて、第2の仮想カメラ制御処理用の位置データを保存させることができる。
【0019】
(5)また本発明は、
前記位置データを外部装置に送信する通信制御部を更に含むようにしてもよい。
【0020】
本発明によれば、位置データを外部装置に送信することにより、本発明の画像生成システムと同様の機能を有する別の画像生成システムにおいても、第2の仮想カメラ制御処理を介して描画する画像を表示させることができる。従って本発明によれば、位置データという容量の小さなデータの送受信を行うことにより、1の操作者が指定したオブジェクト空間における任意の位置における仮想的な状況の変化を、他者にも観賞又は観察させることができる。
【0021】
(6)また本発明は、
前記保存制御部が、
前記位置データに関連づけて、当該位置データに応じた位置における前記仮想カメラから前記オブジェクト空間を見た画像を選択用画像として前記記憶部に保存させるようにしてもよい。
【0022】
本発明によれば、位置データに基づいて画像を描画する前に、当該位置データに基づいていかなる画像が描画されるかを選択用画像により操作者に認識させることができる。例えば保存させた位置データが複数ある場合に、各位置データに基づいて描画される画像を選択用画像によりサムネイル形式で表示させることができる。従って本発明によれば、操作者が所望する画像に対応する位置データを容易に特定させることができる。
【0023】
(7)また本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部と、
を含み、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させるようにしてもよい。
【0024】
本発明によれば、仮想カメラ制御処理を介してオブジェクト空間の任意の位置における画像を描画してこれを操作者に視認させつつ、例えば操作者が気に入った風景や、印象的な場面の画像が表示された場合に、そのとき描画された画像に基づく保存用画像を保存することができる。よって、操作者からの第1の操作入力に応じて仮想カメラの位置が変化しても、保存用画像に基づく画像を表示部に表示させることにより、操作者が気に入った風景等を表示させることができる。そして本発明によれば、保存用画像に基づく画像を表示部に表示させる場合に、状況パラメータに応じて保存用画像の色を変化させる。
【0025】
例えば、保存用画像の一部又は全部の輝度、色度、色相、彩度、明度、透明度等などの描画色の属性を変化させるフィルタ処理など所定の画像処理を行うことにより、保存用画像を例えば昼の時間帯の画像から夜の時間帯の画像に変化させることができる。
【0026】
従って本発明によれば、保存用画像に基づく画像を、仮想カメラ制御処理を介して描画した画像とほぼ同様の構成の画像としつつも、状況を変化させた画像とすることができる。こうして本発明によれば、操作者が指定したオブジェクト空間の任意の位置における仮想的な状況の変化を操作者に観賞又は観察させるという、新たな興味を喚起する画像生成システムを提供することができる。
【0027】
(8)また本発明は、
前記描画部が、
前記描画した画像の色を基準色に変化させた基準画像を描画し、
前記保存制御部が、
前記保存用画像として前記基準画像を前記記憶部に保存させるようにしてもよい。
【0028】
本発明によれば、状況パラメータに応じて色を変化させる元画像となる保存用画像として、基準画像を保存させる。例えば、第2の操作入力が行われたときに描画した画像が夜の時間帯の画像であって全体的に色が濃い(黒に近い)画像であっても、色を変化させやすい即ち色が薄い(白に近い)基準画像に描画しなおして(変換して)、これを保存させる。従って本発明によれば、状況パラメータに応じて基準画像の色を容易に変化させることができ、かつ色を変化させても自然な配色の画像を保存用画像に基づく画像として表示部に表示させることができる。
【0029】
(9)また本発明は、
外部装置により保存された前記保存用画像を前記外部装置から受信する通信制御部を更に含み、
前記パラメータ設定部が、
前記受信した保存用画像の状況パラメータを設定し、
前記描画部が、
前記受信した保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて、前記保存用画像の色を変化させるようにしてもよい。
【0030】
本発明によれば、本発明の画像生成システムと同様の機能を有する別の画像生成システムにおいて保存された保存用画像を受信して、受信した保存用画像の色を状況パラメータに応じて変化させた画像を表示させることができる。従って本発明によれば、1の操作者が指定したオブジェクト空間における任意の位置における仮想的な状況の変化を、他者にも観賞又は観察させることができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明に好適な実施の形態について図面を用いて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態にて説明される構成の全てが、本発明の必須の構成要件であるとは限らない。
【0032】
1.概要
本実施形態の画像生成システムは、ロールプレイングゲームの実行中に、プレーヤの操作に応じてオブジェクト空間内を移動するプレーヤキャラクタに仮想カメラを追従させる第1の仮想カメラ制御処理と、予めプレーヤの操作に基づき記憶されたカメラ位置において仮想カメラを制御する第2の仮想カメラ制御処理と、を実行する。そしてこの画像生成システムは、プレーヤの操作に応じて第1の仮想カメラ制御処理及び第2の仮想カメラ制御処理の何れかを選択して、又は、切り替えて仮想カメラを制御する。
【0033】
ここで本実施形態の画像生成システムは、プレーヤの操作に応じてプレーヤキャラクタが移動し、任意のオブジェクト空間上の位置において描画された画像を、当該位置以外において観賞可能に又は観察可能にすることを希望した場合には、当該プレーヤの操作入力に応じて当該位置(以下、「観察/観賞地点」という。)を第2の仮想カメラ制御処理を行う位置として記憶するようになっている。
【0034】
そして本実施形態の画像生成システムは、第1の仮想カメラ制御処理時又はプログラムゲーム開始時などの任意のタイミングにおいて、プレーヤによって或いは所定のプログラムに応じて位置データが選択されると、当該位置データに基づいて仮想カメラの位置を設定し、現在、過去又は未来のオブジェクト空間における観察/観賞地点の状況を描画する第2の仮想カメラ制御処理を行う。
【0035】
従って本実施形態の画像生成システムは、プレーヤが希望するオブジェクト空間内における各地の現在の状況や仮想的な状況を、プレーヤキャラクタを当該地点まで移動させなくても観賞又は観察できるようになっている。
【0036】
なお本実施形態では、位置データ及び位置選択用画像データを他のゲーム装置又はコンピュータ装置などの他の端末装置に送信できるようになっており、当該位置データ及び位置選択用データを受信した他の端末装置において、受信した位置データに基づいて第2の仮想カメラ制御処理を行うことができるようになっている。ただし、サーバ装置を用いてゲーム処理を行う場合には、勿論、サーバ装置に位置データ等を提供し、他の端末装置が当該位置データ等に基づいて第2の仮想カメラ制御処理を実行することができるようにしてもよい。
【0037】
2.構成
次に、図1を用いて本実施形態における画像生成システム(ゲームシステム)の構成について説明する。図1は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図1の構成要素(各部)の一部を省略した構成としてもよい。
【0038】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0039】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶されるフレームバッファ172と、オブジェクトの形状等オブジェクトに関するデータが記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ176と、を含む。なお、これらの一部を省略する構成としてもよい。特に、本実施形態の記憶部170は、仮想カメラに関するデータが記憶されるカメラデータ記憶部177を有している。
【0040】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0041】
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
【0042】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0043】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0044】
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0045】
通信部196は、外部装置(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0046】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0047】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は、記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0048】
特に、本実施形態の処理部100は、オブジェクト空間設定部110と、移動・動作処理部112と、仮想カメラ制御部114と、保存制御部116と、パラメータ設定部118と、通信制御部119と、描画部120と、音生成部130と、を含む。なお、これらの一部を省略する構成としてもよい。
【0049】
オブジェクト空間設定部110は、移動体オブジェクト(キャラクタ、車、バイク、飛行機等)、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0050】
移動・動作処理部112は、移動体オブジェクト(キャラクタや車の他にキャラクタが使用する道具等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部112は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
【0051】
具体的には、本実施形態の移動・動作処理部112は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【0052】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0053】
特に本実施形態では、仮想カメラ制御部114は、第1の操作入力に応じて仮想カメラの位置を制御する第1の仮想カメラ制御処理と、所与の制御データに基づいて仮想カメラを制御する第2の仮想カメラ制御処理とを行う。そして本実施形態では仮想カメラ制御部114は、プレーヤからの操作入力(第3の操作入力)に応じて、第1の仮想カメラ制御処理と第2の仮想カメラ制御処理とを選択的に行う。
【0054】
ここで第1の仮想カメラ制御処理では、仮想カメラ制御部114は、プレーヤの操作に応じて移動するプレーヤキャラクタの位置又は向きの変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。詳細には、移動・動作処理部112で得られたプレーヤキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御する。具体的には本実施形態では、仮想カメラがプレーヤキャラクタをプレーヤキャラクタの後方から撮影する。なおプレーヤキャラクタを表示させずに、仮想カメラをプレーヤキャラクタの視点(一人称視点)として、第1の操作入力に応じて仮想カメラの位置を直接的に制御するようにしてもよい。
【0055】
一方、第2の仮想カメラ制御処理では、仮想カメラ制御部114は、第1の操作入力に応じて仮想カメラの位置を制御せず、所与の制御データに基づいて仮想カメラを制御する。例えば仮想カメラ制御部114は、予め定められた仮想カメラの制御パターンデータに基づいて、仮想カメラを予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行うようにしてもよい。即ち第2の仮想カメラ制御処理では、仮想カメラの制御が自動的に行われる。
【0056】
特に本実施形態では仮想カメラ制御部114は、第2の仮想カメラ制御処理が行われる場合に、保存制御部116により保存された位置データに基づいて第2の仮想カメラ制御処理における仮想カメラの位置を制御する。具体的には仮想カメラ制御部114は、第1の仮想カメラ制御処理から第2の仮想カメラ制御処理に切り替えられた場合に、第1の仮想カメラ制御処理における仮想カメラの位置を、保存された位置データに基づく位置に変更する。そして第2の仮想カメラ制御処理では、各描画フレームにおいて仮想カメラの位置をそのまま同じ位置に設定する処理を行う。
【0057】
即ち本実施形態では仮想カメラ制御部114は、第2の仮想カメラ制御処理では仮想カメラの位置を変更しない制御を行う。なお第2の仮想カメラ制御処理では、仮想カメラ制御部114は、所定の仮想カメラの制御パターンデータに基づいて、仮想カメラの向き、画角は変更するようにしてもよい。また、第1の仮想カメラ制御処理における仮想カメラの位置を保存された位置データに基づく位置に変更した後に、所定の仮想カメラの制御パターンデータに基づいて仮想カメラの位置を変更するようにしてもよい。つまり第2の仮想カメラ制御処理では、保存された位置データに基づき仮想カメラの位置が設定され、操作者からの操作入力には応じずに所与の制御データに基づいて仮想カメラの制御が行われる。
【0058】
保存制御部116は、第1の仮想カメラ制御処理における仮想カメラの位置に応じた位置データを、第2の操作入力に応じて記憶部に保存させる処理を行う。即ちプレーヤがオブジェクト空間上の任意の位置を指定して、第2の仮想カメラ制御処理において用いる仮想カメラの位置データを保存させる。具体的には本実施形態では、ゲームにおいてプレーヤキャラクタがゲームアイテムとしてのカメラを取得した場合に、第2の操作入力に応じて当該カメラでゲーム中の風景を撮影するというイベントが実行される。このとき保存制御部116は、第2の操作入力が行われたときの仮想カメラの位置に応じた位置データを取得し、記憶部170のカメラデータ記憶部177に記憶させる。本実施形態では、オブジェクト空間の任意の位置において、所定回数の撮影イベントを実行することができ、複数の位置データを保存させることができる。なお、カメラデータ記憶部177には、仮想カメラの位置データのみならず、仮想カメラの向き、画角に関するデータが記憶されるようにしてもよい。
【0059】
ここで、第1の仮想カメラ制御処理における仮想カメラの位置とは、第1の操作入力に応じて移動するキャラクタオブジェクトに追従して移動する仮想カメラの位置に限られない。例えばゲームアイテムとしてのカメラで撮影を行う際に、ゲームアイテムとしてのカメラの位置に仮想カメラの位置を切り替えて、カメラのファインダー越しにゲーム中の風景を見るような画像を生成する場合には、当該仮想カメラの位置とすることができる。また、第1の仮想カメラ制御処理における仮想カメラの位置に応じた位置データとは、仮想カメラの位置そのものを示す位置データのみならず、仮想カメラが追従するプレーヤキャラクタの位置や、プレーヤキャラクタが構えたゲームアイテムとしてのカメラオブジェクトの位置を示す位置データとすることができる。
【0060】
また保存制御部116は、位置データに関連づけて、当該位置データに応じた位置における仮想カメラからオブジェクト空間を見た画像を選択用画像として記憶部に保存させる。この選択用画像(以下、「位置選択用画像」という。)は、保存された複数の位置データの中から、第2の仮想カメラ制御処理に用いる仮想カメラの位置をプレーヤに選択させるための画像データである。例えば本実施形態では、プレーヤに対して位置選択用画像をサムネイル形式で表示して、プレーヤにいずれかの位置選択用画像を選択させる。そして選択された位置選択用画像に対応付けて記憶されている位置データに基づいて、第2の仮想カメラ制御処理を行う。
【0061】
具体的には保存制御部116は、第2の操作入力に応じて位置データを記憶部に保存させる際にフレームバッファ172に描画されていた画像を、画像サイズを縮小した位置選択用画像に変換して、カメラデータ記憶部172に位置データと対応付けて記憶させる。なお位置選択用画像は、フレームバッファ172に描画されていた画像の色又は形状などの情報を一部省略したり、解像度を低下させたものとしてもよい。
【0062】
パラメータ設定部118は、第2の仮想カメラ制御処理が行われる場合に、第2の仮想カメラ制御処理における仮想カメラの位置から見たオブジェクト空間の状況パラメータを設定する。具体的には本実施形態では、現実世界の現在時刻(実時間)、ゲームに設定された時刻(過去や未来などを含む仮想的な時刻)、天候、季節など、オブジェクト空間内の状況を表す状況パラメータを設定する。ここで状況パラメータの設定は、プレーヤの操作入力又は所定のプログラムに基づき設定する。例えば乱数抽出によりランダムに設定するようにしてもよい。
【0063】
すると前述のオブジェクト空間設定部110が、第2の仮想カメラ制御処理が行われる場合に、設定された状況パラメータに応じてオブジェクト空間にオブジェクトを設定する。例えば天候や時間を決定する状況パラメータに応じて、天候に応じた雲オブジェクト(雲テクスチャがマッピングされた板ポリゴン等)を設定したり、時間に応じた光源(光源の種類、数、位置、強さ等)を設定する。またオブジェクト空間に、空などを表現するための背景スプライト等の2次元画像を設定する場合には、天候や時間に応じた2次元画像(背景スプライト)を設定する。また、2次元画像がアニメーションデータに基づき変化する場合には、状況パラメータに応じてその変化を制御する。例えば木の葉のゆれや、波の様子などが、状況パラメータに応じて異なるようにする。また、状況パラメータに応じてオブジェクトの色を変化させて設定するようにしてもよい。
【0064】
またオブジェクト空間設定部110は、第2の仮想カメラ制御処理が行われる場合に、設定された状況パラメータに応じて、特殊オブジェクトとして小動物や飛行機等の移動体オブジェクトを、第2の仮想カメラ制御処理における仮想カメラの位置付近のオブジェクト空間上の位置に設定する。ここで特殊オブジェクトとしての移動体オブジェクトは、所与の移動・動作制御プログラムに応じてランダムに移動・動作が制御され、第2の仮想カメラ制御処理における仮想カメラから見える範囲付近を移動するように、オブジェクト空間に配置設定される。
【0065】
通信制御部119は、カメラデータ記憶部177に保存された位置データと、当該位置データに関連づけて保存された保存用画像とを通信部196を介して外部装置に送信する制御を行う。また、外部装置に保存された位置データと、当該位置データに関連づけて保存された保存用画像とを通信部196を介して外部装置から受信する制御を行う。特に本実施形態では通信制御部119は、位置データ関連付けて、当該位置データに基づいて第2の仮想カメラ制御処理を行う場合に設定される状況パラメータを送信するようにしてもよい。例えば位置データを外部装置に送信する場合に、操作入力又は所与のプログラムに基づき状況パラメータを選択し、選択された状況パラメータを位置データに関連付けて外部装置に送信するようにしてもよい。
【0066】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。特に本実施形態では、描画部120は、第2の仮想カメラ制御処理を介してオブジェクト空間を仮想カメラから見た画像を描画する場合には、設定された状況パラメータに応じた画像を描画する。具体的には描画部120は、状況パラメータに応じて設定されたオブジェクトを描画し、状況パラメータに応じて描画する色を変化させたり、フォグ(霧、ぼかし)処理等のポストエフェクト処理を行う。また状況パラメータに応じてマッピングするテクスチャを変えるようにしてもよい。即ち描画部120は、位置データが保存された際に第1の仮想カメラ制御処理を介して描画された画像と、当該位置データに基づいて第2の仮想カメラ制御処理を介して描画する画像とが、設定された状況パラメータに応じて変化するように、第2の仮想カメラ制御処理を介した画像を描画する。
【0067】
より詳細には描画部120は、いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0068】
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
【0069】
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【0070】
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0071】
なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0072】
そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0073】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
【0074】
テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0075】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0076】
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【0077】
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0078】
αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。
【0079】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0080】
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。特に本実施形態では音生成部140は、第2の仮想カメラ制御処理を介してオブジェクト空間を仮想カメラから見た画像が描画される場合には、設定された状況パラメータに応じた音源を設定し、状況パラメータに応じた音を生成して出力する。
【0081】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0082】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0083】
3.本実施形態の手法
3.1 第1の仮想カメラ制御処理
次に、図2及び図3を用いて本実施形態の画像生成システムにおける第1の仮想カメラ制御処理について説明する。
【0084】
本実施形態の画像生成システムは、オブジェクト空間が複数のエリア(例えば30以上のエリア)に分割されており、エリアごとに当該エリアに存在するオブジェクトのオブジェクトデータを情報記憶媒体180から読み出し、記憶部170に記憶する。本実施形態では、プレーヤキャラクタが存在するエリアのオブジェクトデータのみを記憶部170に展開する。従って本実施形態では、プレーヤキャラクタの移動に伴ってプレーヤキャラクタが存在するエリアが変更されると、変更後のエリアに存在するオブジェクトのオブジェクトデータを情報記憶媒体180から読み出し、記憶部170に記憶する。そして本実施形態では、各エリア毎にオブジェクト空間を形成しつつ、第1の仮想カメラ制御処理を実行し、ロールプレイングゲームの進行に併せて種々の画像を生成するようになっている。
【0085】
例えば本実施の形態では、第1のカメラ制御処理として、図2に示すように、プレーヤからの操作入力(第1の操作入力)に応じて移動するプレーヤオブジェクトPOに追従し、当該プレーヤオブジェクトPOを含めて又は当該プレーヤオブジェクトは含めずに、仮想カメラCAから見える画像を描画する。
【0086】
特に、この画像生成システムは、第1のカメラ制御処理として、プレーヤオブジェクトPOに追従しつつ、図3(a)に示すような当該プレーヤオブジェクトを含めた画像を描画するとともに、プレーヤの操作又は所定のプログラムに従って視線方向を変更し、図3(b)に示すように、プレーヤオブジェクトを含めずに、適宜オブジェクト空間の任意の範囲を描画するようになっている。
【0087】
3.2 位置データの保存
次に、本実施形態の画像生成システムにおける位置データを保存する処理(以下、「保存処理」という。)について説明する。本実施形態では、第1の仮想カメラ制御処理を実行している際に、プレーヤの操作入力(第2の操作入力)に従って、第2の仮想カメラ制御処理において用いる位置データを保存するようになっている。
【0088】
例えば、図4に示すように、第2のエリアを移動するプレーヤキャラクタPOに追従する仮想カメラCAが地点Aにある場合に、図5に示すような風景を示す画像が描画されたとする。そしてこの画像を見たプレーヤがその風景を気に入った場合には、プレーヤの撮影操作入力(第2の操作入力)に従って、プレーヤキャラクタPOがもつゲームアイテムとしてのカメラでゲーム中の風景を撮影するというイベントを実行する。すると本実施形態では、プレーヤからの撮影操作入力に従って、当該操作時の仮想カメラのオブジェクト空間上の位置座標である地点Aの位置座標(位置データ)と、仮想カメラの向き、画角の情報を取得する。なお本実施の形態では、取得した位置座標に当該位置座標が第2エリアであることを識別するための情報(以下、「エリア情報」ともいう。)を付加して保存するようになっている。
【0089】
そして本実施形態では、プレーヤからの第1の操作入力に応じてプレーヤキャラクタPOをオブジェクト空間上の任意の位置に移動させ、第2の操作入力に応じて任意の位置において風景を撮影するイベントを実行し、任意の位置に対応する複数の仮想カメラの位置データを保存させる。このとき本実施形態では、位置データに関連づけて、当該位置データに応じた位置における仮想カメラからオブジェクト空間を見た画像を位置選択用画像として保存させる。
【0090】
3.3 第2の仮想カメラ制御処理
次に、本実施形態の画像生成システムにおける第2の仮想カメラ制御処理について説明する。本実施形態では、第1の仮想カメラ制御処理時又はプログラムゲーム開始時などの任意のタイミングにおいて、プレーヤからの操作入力(第3の操作入力)に基づいて、観察/観賞地点として記憶された位置選択用画像を一覧表的に表示し、当該プレーヤに選択させるようになっている。具体的には本実施の形態では、図6に示すように、エリア毎又は記憶された時刻に従って、各位置選択用画像を一覧表的に表示する。
【0091】
そして、一の位置選択用画像が選択されると(例えば、図6の各画像における「GO」ボタンが選択操作されると)、選択された画像に対応する仮想カメラの位置データを設定する。すると、観察/観賞地点の時刻、天候又は特殊オブジェクトの有無など、当該第2の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況を決定するための状況パラメータを設定する。
【0092】
そして本実施の形態では、設定された仮想カメラの位置データに基づいて仮想カメラの位置を変更し、かつ、設定された状況パラメータに基づいて、オブジェクトの設定、光源計算、移動体オブジェクトの動作処理(移動及び動作演算又はシミュレーション)、アニメーション処理(揺らぎやテクスチャの処理による2次元アニメーション)、描画処理などの各種処理を実行する。即ち本実施形態では、位置データに基づいて仮想カメラの位置を制御する第2の仮想カメラ制御処理を介して、状況パラメータに応じた画像を描画する。
【0093】
特に本実施形態では、第2の仮想カメラ制御処理として、位置データに従って仮想カメラの位置を変更しない制御処理を行う。即ち各フレーム毎に同一の位置にて仮想カメラから見た画像を各フレーム毎に生成するようになっている。
【0094】
このように、本実施形態の画像生成システムは、一度描画した画像そのものを再び表示させるのではなく、状況パラメータに応じてオブジェクト空間における種々の状況が反映された画像を改めて描画することができるようになっている。
【0095】
具体的には、本実施形態の画像生成システムは、一の位置選択用画像が選択されると、例えば状況パラメータとして現在時刻(現実の時刻)が設定される。これによって本実施形態では、プレーヤに、第2の仮想カメラ制御処理にて上述のように記憶された位置における風景の現在の状況を提供することができるようになっている。
【0096】
従って例えば、地点Aにおいて風景を撮影するイベントが発生した時刻が昼であって、そのとき第1の仮想カメラ制御処理を介して描画された画像が、図5に示すように昼の風景を示す画像であったとしても、第2の仮想カメラ制御処理を行う場合に設定された状況パラメータとしての現在時刻が日没の時刻である場合には、図7(a)に示すように、日没の風景の画像が描画される。また、状況パラメータとしての現在時刻が夜の時刻である場合には、図7(b)に示すように、夜の風景の画像が描画される。
【0097】
また、本実施形態の画像生成システムは、オブジェクト空間の気象状況を設定するための状況パラメータを所定のプログラムに基づいて決定して設定するようになっている。例えば本実施の形態では、「晴れ」、「曇り」及び「雨」などの気象状況をランダムに決定する。即ち本実施形態では、状況パラメータとして気象状況を設定することによって、プレーヤに、第2の仮想カメラ制御処理を介して、上述のように記憶された位置における現在の状況を提供することができるようになっている。
【0098】
従って例えば、地点Aにおいて風景を撮影するイベントが発生した時点での天候が「晴れ」であって、そのとき第1の仮想カメラ制御処理を介して描画された画像が、図5に示すように「晴れ」の風景を示す画像であったとしても、第2の仮想カメラ制御処理を行う場合に設定された状況パラメータとしての天候が「雨」である場合には、図8(a)に示すように、雨が降っている風景の画像が描画される。また、状況パラメータとしての天候が「曇り」である場合には、図8(b)に示すように、曇りの風景の画像が描画される。
【0099】
さらに、本実施形態の画像生成システムは、選択された位置データに応じて、小動物など特殊オブジェクトの出現の可否を示す状況パラメータを設定するようになっている。例えば、この画像生成システムは、海岸が観察/観賞地点として記憶されている場合に、「かに」又は「カモメ」といった小動物を無作為に出現させるプログラムを用いてこの状況パラメータを設定する。
【0100】
すなわち、本実施形態の画像生成システムは、状況パラメータとして特殊オブジェクトの状況を設定することによって、プレーヤに、第2の仮想カメラ制御処理にて上述のように記憶された位置における現在の状況を提供することができるようになっている。
【0101】
従って例えば、地点Aにおいて風景を撮影するイベントが発生した時点では地点Aに特殊オブジェクトが存在しなかったため、そのとき第1の仮想カメラ制御処理を介して描画された画像が、図5に示すように特殊オブジェクトが存在しない画像であってとしても、第2の仮想カメラ制御処理を行う場合に状況パラメータによって「かに」の出現が設定された場合には、図9(a)に示すように、「かに」のオブジェクトOB1が移動する画像が描画される。また、状況パラメータによって「カモメ」の出現が設定された場合には、図9(b)に示すように、「カモメ」のオブジェクトOB2の画像が描画される。
【0102】
なお、本実施形態の画像生成システムは、特殊オブジェクトが出現しないものの、小動物の足跡や植物を食い荒らした跡など、状況パラメータによって該特殊オブジェクトが出現した痕跡を描画するようにしてもよい。
【0103】
また本実施の形態では、プレーヤの指示に従って、海辺に釣り竿を設定すること、小動物を捕獲するための罠を仕掛けること、草木を植えることなど種々のイベントを実行することができる。そして本実施形態では、当該イベントに係るオブジェクト空間上の位置に応じた位置データを保存させるので、プレーヤキャラクタが当該イベントに係る地点から移動して他の地点に存在する場合でも、第2の仮想カメラ制御処理を介して描画される画像により、これらイベントの進行の様子、変化の様子をプレーヤに表示することができる。この場合には本実施形態では、例えば魚が釣り竿に引っかかった状況、魚が釣れた状況又は魚を取り逃がした状況などの各種の状況を設定するための状況パラメータを所定のプログラムによって設定し、当該状況パラメータを含めて各種の状況パラメータに応じて、第2の仮想カメラ制御処理を介した画像を描画する。
【0104】
4.本実施形態の処理
次に、本実施形態で行われる処理の流れの一例についてフローチャートを用いて説明する。
【0105】
図10は、本実施形態の第1の仮想カメラ制御処理を行う場合の流れの一例を示すフローチャートである。図10に示すように本実施形態では、まずゲームが開始され、プレーヤからのプレーヤキャラクタを移動させる操作入力(第1の操作入力)が行われると(ステップS10でY)、移動操作入力に応じてキャラクタオブジェクトを移動させるとともに仮想カメラを追従させて移動させる(第1の仮想カメラ制御処理)(ステップS12)。そしてオブジェクト空間を前記仮想カメラから見た画像を描画する(ステップS14)。
【0106】
そしてゲーム中の風景をカメラアイテムで撮影するイベントを実行させる撮影操作入力(第2の操作入力)が行われると(ステップS16のY)、プレーヤキャラクタがゲーム中でカメラアイテムのシャッターを押す撮影イベントを実行し(ステップS18)、そのときの仮想カメラの位置に対応する位置データを保存する。また撮影イベントを実行したときに描画していた画像を画像サイズを縮小して、位置選択用画像として位置データと関連付けて保存する(ステップS20)。
【0107】
こうして本実施形態では、第1の仮想カメラ制御処理において、移動操作入力に応じて仮想カメラの位置を制御し、任意の位置において撮影操作入力において位置データを保存させる処理を繰り返す。
【0108】
図11は、本実施形態の第2の仮想カメラ制御処理を行う場合の流れの一例を示すフローチャートである。図11に示すように本実施形態では、第1の仮想カメラ制御処理中に、プレーヤから第2の仮想カメラ制御処理に切り替える切替操作入力(第3の操作入力)が行われると(ステップS40のY)、保存させている位置選択用画像をサムネイル形式で表示する(ステップS42)。
【0109】
そして、プレーヤからいずれかの位置選択用画像を選択する選択操作入力(第4の操作入力)が行われると(ステップS44のY)、選択された位置選択用画像に対応する位置データを第2の仮想カメラ制御処理用の仮想カメラの位置として設定する(ステップS46)。すると、第2の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定する(ステップS48)。
【0110】
そして、設定された位置データに基づき仮想カメラの位置を変更し、第2の仮想カメラ制御処理を行う(ステップS50)。そして設定された状況パラメータに応じて、変更後の仮想カメラの位置からオブジェクト空間を見た画像を描画する(ステップS52)。
【0111】
ここで、プレーヤから第2の仮想カメラ制御処理に用いる位置データを変更する変更操作入力(第5の操作入力)が行われると(ステップS54のY)、ステップS42に戻り、保存させている位置選択用画像をサムネイル形式で表示する(ステップS42)。また、プレーヤから第1の仮想カメラ制御処理に切り替える切替操作入力(第6の操作入力)が行われると(ステップS56のY)、第2の仮想カメラ制御処理を終了して、図10の各処理を行う。
【0112】
こうして本実施形態では、第1の仮想カメラ制御処理において保存させた位置データに基づいて第2の仮想カメラ制御処理を行うことにより、プレーヤキャラクタの位置に拘わらず、撮影イベントを実行した位置における画像を描画する。そして第2の仮想カメラ制御処理を介して描画される画像は、状況パラメータに応じて描画されるので、撮影イベントを実行したときとは状況が異なる画像として描画される。
【0113】
5.他の実施形態
以上は、保存制御部116が、第2の操作入力に応じて仮想カメラの位置に応じた位置データを記憶部170に保存させ、仮想カメラ制御部114が、位置データに基づいて仮想カメラの位置を制御する第2の仮想カメラ制御処理を行う態様を例に挙げて説明した。これに対し他の実施形態として、保存制御部116が、第2の操作入力に応じて、描画された画像に基づく保存用画像を記憶部に保存させ、パラメータ設定部118が、保存用画像の状況パラメータを設定し、表示制御部が、オブジェクト空間を仮想カメラから見た画像と、保存用画像に基づく画像の少なくとも一方を表示部に表示させ、描画部120が、保存用画像に基づく画像が表示される場合に、状況パラメータに応じて保存用画像の色を変化させるようにしてもよい。この実施形態によっても、上記実施形態と同様に、プレーヤキャラクタの位置に拘わらず撮影イベントを実行した位置における画像を、撮影イベントを実行したときとは状況が異なる画像として表示させることができる。
【0114】
具体的にはこの実施形態では、保存制御部116が、第2の操作入力に応じて撮影イベントを実行したときにフレームバッファ172に描画されていた画像を、保存用画像として別のバッファに保存させる。ここでこの実施形態では、フレームバッファ172に描画されていた画像をそのまま保存用画像として保存させるのではなく、描画部120が、フレームバッファ172に描画されていた画像を基準色に変化させた基準画像に描画しなおし(変換し)、保存制御部116が、基準画像を保存用画像として別のバッファに保存させる。
【0115】
より詳細にはこの実施形態では、基準画像を描画する処理として描画部120は、フレームバッファ172に描画されていた画像のうち、オブジェクトを除く背景(背景スプライト等)やポストエフェクト処理用のフィルタ(エフェクト色が描画された板ポリゴン等)を除去したり、それらの色を透明に設定する。また描画部120は、フレームバッファ172に描画されていた画像の色を全体的に薄くする変換処理を行うようにしてもよい。即ちこの実施形態では描画部120は、フレームバッファ172に描画されていた画像の色を、状況パラメータに応じて容易にかつ自然に変化させることができるように、基準画像に変換する。
【0116】
そして描画部120は、保存用画像に基づく画像が表示される場合に、状況パラメータに応じて保存用画像の色を変化させる。より具体的には描画部120は、状況パラメータに応じて、背景(背景スプライト等)の色やポストエフェクト処理用のフィルタ(エフェクト色が描画された板ポリゴン等)を改めて設定して、状況パラメータに応じた画像を描画する。
【0117】
例えば、風景を撮影するイベントが発生した時刻が昼であって、そのとき仮想カメラ制御処理を介して描画された画像が、昼の風景を示す画像であったとしても、保存用画像に基づく画像が表示される場合に設定された状況パラメータとしての現在時刻が日没の時刻である場合には、基準画像に対して日没の状況を作り出すためのフィルタ処理等を実行し、夕方の風景の画像を描画する。また、状況パラメータとしての現在時刻が夜の時刻である場合には、基準画像に対して夜の状況を作り出すためのフィルタ処理等を実行し、夜の風景の画像を描画する。
【0118】
またこの実施形態では、通信制御部119が、外部装置により保存された保存用画像(基準画像)を外部装置から受信し、パラメータ設定部118が、受信した保存用画像の状況パラメータを設定し、描画部120が、受信した保存用画像(基準画像)に基づく画像が表示される場合に、状況パラメータに応じて、保存用画像(基準画像)の色を変化させるようにしてもよい。
【0119】
6.ハードウェア構成
次に、図12を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図12は、本実施形態を実現できるハードウェア構成を示す一例である。
【0120】
メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【0121】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0122】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0123】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。
【0124】
また、この描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0125】
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、1つのプロセッサにより実現してもよい。また、プロセッサとしてCPUとGPUを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
【0126】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0127】
ROM950には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。
【0128】
RAM960は、各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0129】
なお、本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0130】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0131】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(プリミティブ面等)として引用された用語(ポリゴン等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0132】
また、上述の描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【0133】
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0134】
【図1】一実施形態の画像生成システムの機能ブロック図の例。
【図2】一実施形態の画像生成システムにおける第1の仮想カメラ制御処理を説明するための図。
【図3】図3(A)、(B)は、一実施形態の画像生成システムで生成される画像例。
【図4】一実施形態の画像生成システムにおける位置データの保存処理を説明するための図。
【図5】一実施形態の画像生成システムで生成される画像例。
【図6】一実施形態の画像生成システムで表示される選択画面例。
【図7】図7(A)、(B)は、一実施形態の画像生成システムで生成される画像例。
【図8】図8(A)、(B)は、一実施形態の画像生成システムで生成される画像例。
【図9】図9(A)、(B)は、一実施形態の画像生成システムで生成される画像例。
【図10】一実施形態の処理の流れの一例を示すフローチャート図。
【図11】一実施形態の処理の流れの一例を示すフローチャート図。
【図12】ハードウェアの構成例。
【符号の説明】
【0135】
PO プレーヤオブジェクト、CA 仮想カメラ、OB1・OB2 特殊オブジェクト、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 保存制御部、118 パラメータ設定部、
119 通信制御部、120 画像生成部、130 音生成部、
160 操作部、170 記憶部、180 情報記憶媒体、190 表示部、
192 音出力部、194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて前記仮想カメラの位置を制御する第1の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部としてコンピュータを機能させ、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第2の仮想カメラ制御処理を更に行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記第2の仮想カメラ制御処理における仮想カメラから見たオブジェクト空間の状況パラメータを設定するパラメータ設定部としてコンピュータを更に機能させ、
前記描画部が、
前記第2の仮想カメラ制御処理が行われる場合に、前記状況パラメータに応じた画像を描画することを特徴とするプログラム。
【請求項3】
請求項1、2のいずれかにおいて、
前記オブジェクト空間設定部が、
前記第2の仮想カメラ制御処理が行われる場合に、前記第2の仮想カメラ制御処理における仮想カメラの位置に応じて前記オブジェクト空間に特殊オブジェクトを設定することを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記第1の操作入力に応じて、移動体オブジェクトの移動を制御する移動処理部としてコンピュータを更に機能させ、
前記仮想カメラ制御部が、
前記第1の仮想カメラ制御処理において、前記移動体オブジェクトの位置に応じて前記仮想カメラの位置の制御を行うことを特徴とするプログラム。
【請求項5】
請求項1〜4のいずれかにおいて、
前記位置データを外部装置に送信する通信制御部としてコンピュータを更に機能させることを特徴するプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記保存制御部が、
前記位置データに関連づけて、当該位置データに応じた位置における前記仮想カメラから前記オブジェクト空間を見た画像を選択用画像として前記記憶部に保存させることを特徴とするプログラム。
【請求項7】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部としてコンピュータを機能させ、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させることを特徴とするプログラム。
【請求項8】
請求項7において、
前記描画部が、
前記描画した画像の色を基準色に変化させた基準画像を描画し、
前記保存制御部が、
前記保存用画像として前記基準画像を前記記憶部に保存させることを特徴とするプログラム。
【請求項9】
請求項7、8のいずれかにおいて、
外部装置により保存された前記保存用画像を前記外部装置から受信する通信制御部としてコンピュータを更に機能させ、
前記パラメータ設定部が、
前記受信した保存用画像の状況パラメータを設定し、
前記描画部が、
前記受信した保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて、前記保存用画像の色を変化させることを特徴とするプログラム。
【請求項10】
コンピュータに読み取り可能な情報記憶媒体であって、請求項1乃至9のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて前記仮想カメラの位置を制御する第1の仮想カメラ制御処理を行う仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて前記仮想カメラの位置に応じた位置データを記憶部に保存させる保存制御部と、
を含み、
前記仮想カメラ制御部が、
前記位置データに基づいて前記仮想カメラの位置を制御する第2の仮想カメラ制御処理を更に行うことを特徴とする画像生成システム。
【請求項12】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
前記オブジェクト空間内にオブジェクトを設定するオブジェクト空間設定部と、
第1の操作入力に応じて、前記仮想カメラの位置を制御する仮想カメラ制御部と、
前記オブジェクト空間を前記仮想カメラから見た画像を描画する描画部と、
第2の操作入力に応じて、前記描画された画像に基づく保存用画像を記憶部に保存させる保存制御部と、
前記保存用画像の状況パラメータを設定するパラメータ設定部と、
前記オブジェクト空間を前記仮想カメラから見た画像と、前記保存用画像に基づく画像の少なくとも一方を表示部に表示させる表示制御部と、
を含み、
前記描画部が、
前記保存用画像に基づく画像が表示される場合に、前記状況パラメータに応じて前記保存用画像の色を変化させることを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−27064(P2008−27064A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2006−197238(P2006−197238)
【出願日】平成18年7月19日(2006.7.19)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】