説明

プログラム、情報記憶媒体及び画像生成システム

【課題】移動体からの照明等をリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供する。
【解決手段】 車両オブジェクトOB1の位置に応じて、コースオブジェクトOB2に車両オブジェクトOB1から照射される照明光の照明パターンを設定した照明パターンテクスチャTEXをテクスチャマッピングすることによりコースオブジェクトOB2に対して被照明領域を設定し、コースオブジェクトOB2のオブジェクトデータにおいてコースオブジェクトOB2を構成する頂点に対応づけられた車両オブジェクトOB1から受ける照明光の影響度パラメータに応じて、コースオブジェクトOB2に対して設定された被照明領域及びそれ以外の領域の少なくとも一方についてコースオブジェクトOB2のオブジェクトデータに基づき得られる色を調整する照明処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
従来より、仮想的な3次元空間であるオブジェクト空間内の仮想カメラ(所与の視点)から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤはプレーヤ移動体を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する敵移動体と競争することで3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のためによりリアルな画像を生成することが重要な技術的課題になっている。このため夜間走行のシーンでは、移動体からのライトによる照明などについても、よりリアルに表現できることが望まれる。
【特許文献1】特許3254195号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は上記事情に鑑みてなされたものであり、その目的は、移動体からの照明等をリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明は、オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、前記オブジェクト空間内を移動する照明源オブジェクトのオブジェクトデータと、照明源オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、前記照明源オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、前記照明源オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、前記照明源オブジェクトの位置に応じて、前記照明対象オブジェクトに前記照明パターンテクスチャをテクスチャマッピングすることにより前記照明対象オブジェクトに対して被照明領域を設定する照明領域設定部と、前記照明対象オブジェクトのオブジェクトデータにおいて前記照明対象オブジェクトを構成する頂点に対応づけられた前記照明源オブジェクトから受ける照明光の影響度パラメータに応じて、前記照明対象オブジェクトに対して設定された被照明領域及びそれ以外の領域の少なくとも一方について前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を調整する照明処理を行う照明処理部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム及び該プログラムを記憶する情報記憶媒体に関係する。
【0006】
本発明によれば、照明対象オブジェクトのオブジェクトデータに照明源オブジェクトから受ける照明の影響度をパラメータとして予め設定しておくことで、影響度の大きさに応じて色を調整するだけで照明対象オブジェクトに対して照明源オブジェクトから受ける光の影響を反映させることができる。すなわち本発明によれば、照明源オブジェクトの移動にフレキシブルに対応して照明処理が施されたリアルな画像を生成することができる。
【0007】
(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記照明対象オブジェクトのオブジェクトデータでは、前記照明対象オブジェクトを構成する複数の頂点の各頂点に対して、前記照明源オブジェクトから受ける照明光を反映した色が対応づけられており、前記照明処理部が、前記照明対象オブジェクトの被照明領域に対して前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を設定し、前記照明対象オブジェクトの被照明領域以外の領域に対して前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を前記影響度パラメータに応じて暗くした色を設定する処理を照明処理として行うようにしてもよい。このようにすれば、照明源オブジェクトからの照明光の影響を受けた被照明領域とそれ以外の領域との明るさの調整が容易になる。
【0008】
(3)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影響度パラメータは、前記照明対象オブジェクトを構成する複数の頂点の各頂点に対応づけられたα値であって、前記照明処理部が、前記照明対象オブジェクトの被照明領域以外の領域について、前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を構成する各色成分の輝度値に前記α値又は前記α値に基づき得られる値を乗算する処理を照明処理として行うようにしてもよい。このようにすれば、複雑な輝度調整を行うことなく、簡便に被照明領域以外の領域の色を暗くすることができる。
【0009】
(5)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記照明対象オブジェクトは、前記照明源オブジェクトとは異なる他の照明源からの照明光を受けている第1の領域と、前記他の照明源からの照明光を受けていない第2の領域とを含み、前記照明対象オブジェクトのオブジェクトデータでは、前記第1の領域を構成する頂点に対して、前記照明源オブジェクトから受ける照明光と前記他の照明源から受ける照明光とを反映した色が対応づけられ、前記第2の領域を構成する頂点に対して、前記照明源オブジェクトからの照明光を反映した色が対応付けられていてもよい。このようにすれば、複数種類の照明光の影響を個別に処理する必要がなくなるため処理負荷が軽減できる。
【0010】
(6)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記照明対象オブジェクトのオブジェクトデータでは、前記第2の領域を構成する頂点に対して、前記第1の領域を構成する頂点よりも前記照明源オブジェクトからの照明光の影響が大きくなるように前記影響度パラメータが対応づけられていてもよい。このように元々他の照明源からの照明光の影響を受けている場所とそうでない場所とにおいて影響度の大小を変化させることで、照明源オブジェクトからの照明を受けていない場合に暗くなる度合いを変化させてリアルな表現をすることができる。
【発明を実施するための最良の形態】
【0011】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0012】
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0013】
操作部160は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0014】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0015】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0016】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0017】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0018】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0019】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0020】
オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。特に本実施形態では、記憶部170のオブジェクトデータ記憶部176にオブジェクト空間内を移動する照明源オブジェクト(移動体オブジェクト)のオブジェクトデータと、照明源オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとが記憶されており、これらのオブジェクトをオブジェクト空間に配置する処理を行う。
【0021】
移動・動作処理部112は、オブジェクト(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。特に本実施形態では、操作部160によりプレーヤが入力した操作データなどに基づいて、照明源オブジェクト(移動体オブジェクト)をオブジェクト空間内で移動させる処理を行う。
【0022】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0023】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0024】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0025】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0026】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0027】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
【0028】
テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0029】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0030】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0031】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0032】
さらに本実施形態では描画部120が、テクスチャ座標演算部122、被照明領域設定部124、照明処理部126とを含む。
【0033】
テクスチャ座標演算部122は、照明源オブジェクト(オブジェクト空間内を移動する移動体オブジェクト)に対して設定した投影中心(カメラ中心、代表点、基準点)からの照明光の広がりを表す射影マトリクスを用いて求められる変換マトリクスによって、照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する照明パターンテクスチャ用のテクスチャ座標を演算する。具体的には、ワールドマトリクス(第1のマトリクス)、ビューマトリクス(第2のマトリクス)、射影マトリクス(第3のマトリクス)、及び座標中心をずらして、かつ値域を正規化するための補正マトリクス(第4のマトリクス)からなる変換マトリクスと頂点座標とを乗算する処理をおこなって、頂点座標をテクスチャ座標に変換する。これにより、照明源オブジェクトと照明対象オブジェクトとの相対的な位置関係に応じたテクスチャ座標が求められる。
【0034】
被照明領域設定部124は、テクスチャ座標演算部122により求められたテクスチャ座標に基づいて、照明対象オブジェクトに照明パターンテクスチャをテクスチャマッピングすることにより照明対象オブジェクトに対して被照明領域を設定する処理を行う。具体的には、テクスチャ記憶部176には、照明源オブジェクトから照射される照明光の照明パターンに応じてテクセルの値(輝度値)を変化させた照明パターンテクスチャが記憶されており、テクスチャ座標に基づいてサンプリングされるテクセルデータ(パラメータ)を照明対象オブジェクトに対応づけることにより照明対象オブジェクトには照明パターンに応じた被照明対象領域が設定される。
【0035】
照明処理部126は、被照明領域の設定情報に基づいて、照明対象オブジェクトに対して照明源オブジェクトからの照明光を反映させる照明処理を行う。具体的には、照明対象オブジェクトに対して設定された被照明領域以外の領域について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて暗い色に変更する照明処理を行う。
【0036】
影響度パラメータは、照明源オブジェクトから受ける照明光の影響度を表すパラメータであって、オブジェクトデータ記憶部176に格納されている照明対象オブジェクトのオブジェクトデータにおいて照明対象オブジェクトを構成する頂点に対応づけられているパラメータである。この影響度パラメータは、α値(A値)により設定することができ、例えば、頂点α値として各頂点に直接対応づけられていてもよいし、頂点に対応づけられたテクスチャ座標よりサンプリングされるデカールテクスチャ(模様テクスチャ)のテクセルのα値によって間接的に対応づけられていてもよい。また影響度パラメータは、頂点に直接対応づけられた頂点α値とデカールテクスチャのテクセルに設定されたα値との乗算結果により求められるようにしてもよい。
【0037】
またオブジェクトデータ記憶部176には、照明対象オブジェクトのオブジェクトデータにおいて照明対象オブジェクトを構成する複数の頂点の各頂点に対して、照明源オブジェクトから受ける照明光を反映した色が対応づけられている。この「照明光を反映した色」は、例えば、頂点色(ディフューズ)として各頂点に直接対応づけられていてもよいし、頂点に対応づけられたテクスチャ座標よりサンプリングされるデカールテクスチャ(模様テクスチャ)のテクセルの色によって間接的に対応づけられていてもよい。また「照明光を反映した色」は、頂点に直接対応づけられた頂点色とデカールテクスチャのテクセルに設定された色との乗算結果により求められるようにしてもよい。
【0038】
また照明対象オブジェクトが、照明源オブジェクトとは異なる他の照明源(例えば、街灯)からの照明光を受けている第1の領域と、他の照明源からの照明光を受けていない第2の領域とを含む場合には、オブジェクトデータ記憶部176に格納される照明対象オブジェクトのオブジェクトデータでは、第1の領域を構成する頂点に対して、照明源オブジェクトから受ける照明光と他の照明源から受ける照明光とを反映した色を対応づけておき、第2の領域を構成する頂点に対して、前記照明源オブジェクトからの照明光を反映した色が対応付けられておくことができる。特にこのような場合には、照明対象オブジェクトのオブジェクトデータでは、第2の領域を構成する頂点に対して、第1の領域を構成する頂点よりも照明源オブジェクトからの照明光の影響が大きくなるように影響度パラメータが対応づけておくことが好ましい。
【0039】
なお照明処理では、被照明領域について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて明るい色に変更するようにしてもよいし、被照明領域及びそれ以外の領域の双方について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて調整するようにしてもよい。
【0040】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0041】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0042】
2.本実施形態の手法
2.1 被照明領域の設定手法
本実施の形態では、図2に示すように、オブジェクト空間内を移動する照明源となる電車の車両オブジェクトOB1(照明源オブジェクト、移動体オブジェクト)からの照明光を受ける線路のコースオブジェクトOB2(照明対象オブジェクト)に対して照明パターンをテクスチャ化したテクスチャTEX(照明パターンテクスチャ)を投影マッピングすることで車両オブジェクトOB1の移動に応じた被照明領域をコースオブジェクトOB2に対して設定する手法を採用する。
【0043】
具体的には、まず図3に示すように照明の明るさに応じて内側から外側に向かってテクセル値が連続的に変化したパターンを照明パターンとして設定したテクスチャTEX(照明パターンテクスチャ)を用意する。このテクスチャTEXでは、照明領域と非照明領域とが設定され、各領域に応じてテクセルに照明の明るさパラメータLが設定されている。図4に示すように、明るさパラメータLは、照明領域のうち照明光が強い領域R1がL=1に設定され、その内側から外側に向かって領域R2では0<L<1の範囲で連続的に明るさパラメータLが変化するように設定されている。また非照明領域では、明るさパラメータLが0に設定される。なお明るさパラメータLは、テクセルのRGB成分の各色成分の輝度値あるいはテクセルのα値として設定することができ、先に述べたようなテクセルの設定とは異なる設定をしてもよい。
【0044】
そして、このテクスチャTEXを図5に示すように照明源となる電車を模した車両オブジェクトOB1の予め定められた位置を投影中心とする仮想カメラVC2(第2の仮想カメラ)から射影することにより線路を模したコースオブジェクトOB2の各頂点の位置とテクセルの位置とを対応づけるようにテクスチャ座標を求めている。また本実施形態の手法では、仮想カメラVC2が車両オブジェクトOB1の正面下向きに設置されており、仮想カメラVC2の投影中心からの照明光がコースオブジェクトOB2に向けて広がって照射されている様子を表現している。すなわちテクスチャTEXのテクスチャマッピング対象領域を仮想カメラVC2の画角内に存在する頂点(図5の例では、頂点V1〜V5)の座標がテクスチャ座標に変換される。このようにして本実施形態では、テクスチャTEXに照明パターンとして設定した明るさパラメータLがコースオブジェクトOB2の頂点に対応づけられることにより、コースオブジェクトOB2の一部の領域について明るさパラメータLが0<L≦1に設定され、その領域が車両オブジェクトOB1からの照明光を受けている被照明領域として設定される。なお、図5中の仮想カメラVC1(第1の仮想カメラ)は描画対象となるオブジェクト空間のシーンを撮影(ビューボリューム内のオブジェクトをスクリーンに透視投影)するためのカメラである。
【0045】
ここで本実施形態では、テクスチャTEX用のテクスチャ座標の求め方として、頂点座標を所定の変換マトリクスを用いてテクスチャ座標に変換する手法を採用している。例えば、コースオブジェクトOB2のオブジェクトデータに含まれる各頂点の座標値をローカル座標系(モデル座標系)の座標値からワールド座標系の座標値へ変換するワールドマトリクスWと、仮想カメラVC1の投影中心を原点とするビュー座標系(視点座標系)への変換を行うビューマトリクスVと、照明源の投影中心からの照明光の広がり(投影中心からの距離に応じたテクスチャ画像の拡大率)を表す射影マトリクスPと、各マトリクスW,V,Pによって得られたテクスチャ座標の座標系の中心(原点)をずらすとともに値域を正規化(−1〜1を0〜1に正規化)するための行列要素を含む補正マトリクスとを用意して、これらの各マトリクスに基づいて、コースオブジェクトOB2の頂点座標をテクスチャ座標に変換するための変換マトリクスmを求めることができる。
【0046】
【数1】

【0047】
ここで射影マトリクスPは、テクスチャTEXに設定される照明パターンに応じて変化させることができる。例えば、車両オブジェクトOB1として複数のオブジェクトデータが用意されている場合には、オブジェクト毎に異なるテクスチャTEXが対応づけられるとともに、対応づけられたテクスチャTEXに応じた射影マトリクスPを用いて変換マトリクスmを得ることができる。この場合、各射影マトリクスPでは互いに画角等が異なるように各行列要素が設定される。このようにすれば、車両毎の照明パターンがテクスチャTEXで用意されるとともに、車両毎の照明の広がりが射影マトリクスPで用意されるため、車両毎に背景等を照らす様子が違う画像を生成することができる。また車両オブジェクトOB1がコースオブジェクトOB2上を移動している時にライトの一部が故障するようなイベントが発生した場合に、その故障後の照明パターンを設定したテクスチャTEXを用意しておいて、マッピング対象のテクスチャTEXを切り替えるようにしてもよい。このようにすれば、発生したイベントの種類に応じた被照明領域をコースオブジェクトOB2に対して設定することができる。
【0048】
なおオブジェクトの種類に応じてテクスチャTEXのみを変更するようにしてもよいし、オブジェクトの種類に応じて射影マトリクスPのみを変更するようにしてもよいし、オブジェクトの種類に応じてテクスチャTEXと射影マトリクスPの双方を変更するようにしてもよい。またイベントの種類に応じてテクスチャTEXのみを変更するようにしてもよいし、イベントの種類に応じて射影マトリクスPのみを変更するようにしてもよいし、イベントの種類に応じてテクスチャTEXと射影マトリクスPの双方を変更するようにしてもよい。またオブジェクトの種類やイベントの種類に応じてテクスチャTEXや射影マトリクスPを変更する場合には、複数種類のオブジェクトや複数種類のイベントに個別のテクスチャTEXや個別の射影マトリクスPが対応づけられていてもよいし、複数種類のオブジェクトや複数種類のイベントの一部に対して共通のテクスチャTEXや共通の射影マトリクスPが対応づけられていてもよい。また複数種類のオブジェクトや複数種類のイベントをグループ分けしておき、グループ毎にテクスチャTEXや射影マトリクスPが対応づけられていてもよい。
【0049】
また上記手法では、予め仮想カメラVC2を正面下向きに向けて車両オブジェクトOB1内の投影中心に設置した場合を説明したが、これに限定されない。例えば、図6に示すように、仮想カメラVC2が車両オブジェクトOB1の真正面を向くように設置して、仮想カメラVC2の投影中心から照明光が広がって照射される様子を表現するようにしてもよい。この場合、仮想カメラVC2の投影中心からの距離Dに応じて照明光がある距離範囲を照らす様子を表現するため、閾値パラメータとして距離Dthを設定するようにしてもよい。この場合、テクスチャTEXのテクスチャマッピング対象領域を仮想カメラVC2の画角内であって、かつ仮想カメラVC2の投影中心から距離DがDthの範囲に存在する頂点(図5の例では、頂点V2〜V5)の座標がテクスチャ座標に変換される。
【0050】
また、仮想カメラVC2の投影中心から距離Dthの範囲にある頂点をテクスチャTEXのマッピング対象の頂点とする場合だけでなく、例えば、仮想カメラVC2の画角内に存在する全ての頂点をテクスチャTEXのマッピング対象の頂点としておき、各頂点に対応づけられたテクスチャTEXのテクセルに設定される明るさパラメータLを仮想カメラVC2の投影中心からの距離Dに応じて減衰させる補正を行って、ある距離範囲(補正後の明るさパラメータL´が0<L´≦1となった範囲)にだけ照明光が届いている様子を表現してもよい。
【0051】
2.2 照明処理の手法
本実施形態では、オブジェクト空間内を移動する車両オブジェクトOB1からの照明を受ける照明対象のコースオブジェクトOB2のオブジェクトデータに車両オブジェクトOB1からの照明に対する影響度を設定して、コースオブジェクトOB2の色をオブジェクトデータに予め設定した影響度に応じて調整する照明処理の手法を採用する。
【0052】
具体的には、コースオブジェクトOB2のオブジェクトデータの構築段階で以下のような設定を行う。まず図7に示すように、コースオブジェクトOB2の全領域が車両オブジェクトOB1からの照明で照らされている場合を想定して、車両オブジェクトOB1の照明光の色を反映させた色を各頂点の色として設定する。
【0053】
次に、図8に示すように、車両オブジェクトOB1からの照明を一切受けていない場合を想定して、コースオブジェクトOB2の本来の色を各頂点の色として設定する。なお図8では、予め車両オブジェクトOB1以外の照明源として街灯の照明を受けている領域については、その街灯の照明光を反映した色を頂点の色として設定している。また図8では、街灯の照明を予め受けている領域(元々明るい領域)と街灯の照明を受けていない領域(元々暗い場所)とで車両オブジェクトOB1の照明光に対する影響度が異なるように影響度パラメータを設定している。この影響度パラメータは、街灯の照明を受けている領域のほうが街灯の照明を受けていない領域よりも影響度が小さくなるようにしている。すなわち元々暗い場所は照明の影響を受けやすく、元々明るい場所は照明の影響を受けにくいという現象を影響度パラメータとして設定している。そしてこの影響度パラメータは、頂点のα値(A値)として設定される。
【0054】
そして最終的には、図7に示すように設定した車両オブジェクトOB1からの照明光を受けた場合の色と、図8に示すように設定した車両オブジェクトOB1からの照明光を受けていない場合の色と、コースオブジェクトOB2の元々の色の明るさに応じて決めた車両オブジェクトOB1の照明光に対する影響度に応じてコースオブジェクトOB2の各頂点の色を決定し、図9に示すように、車両オブジェクトOB1からの照明光を受けた場合の色と車両オブジェクトOB1からの照明光を受けていない場合の色とをブレンドした色を各頂点の色としてオブジェクトデータを構築する。
【0055】
このように予め頂点に対して設定しておいた色を利用して本実施形態では、以下のように車両オブジェクトOB1からの照明を受けた場合の照明処理を行う。
【0056】
まず、車両オブジェクトOB1が通過するコースオブジェクトOB2の各領域において車両オブジェクトOB1を照明源とする照明光の影響度が図10に示すように設定されている場合を考える。図10では、コースオブジェクトOB2の一部の領域S1(第1の領域)が他の照明源(街灯)からの照明を予め受けている領域として設定されており、それ以外の領域S2(第2の領域)については、影響度パラメータAがA=A1(例えば、0<<A1≦1)に設定されている。ここでA1は車両オブジェクトOB1からの照明光の影響が大きいことを表す値として設定される。また他の照明源からの照明を受けている領域S1では、内側から外側にかけて街灯による照明の影響が小さくなることを考慮して、内側では影響度パラメータAがA=A2(例えば、0≦A2<<1)に設定され、内側から外側に向かって影響度パラメータAがA2からA1に連続的に変化するように設定されている。ここでA2は車両オブジェクトOB1からの照明光の影響が小さいことを表す値として設定される。
【0057】
このような状況において車両オブジェクトOB1はコースオブジェクトOB2を照明光で照らしながら図11のようにコースオブジェクトOB2の上を移動し、車両オブジェクトOB1の移動に応じて被照明領域S0が設定される。被照明領域S0は、先に述べた手法でテクスチャTEXがコースオブジェクトOB2に投影マッピングすることにより、テクスチャTEXのテクセルに対応づけられた明るさパラメータLに基づいて領域指定パラメータLTが設定されて、この領域指定パラメータLTにより被照明領域とそれ以外の領域とが画定される。この領域指定パラメータLTは、テクスチャTEXが投影マッピングされた領域については、LT=1−Lを設定し、それ以外の領域については、LT=1を固定的に設定している。すなわち、被照明領域S0では、車両オブジェクトOB1の照明光が強く当たっている領域ではLT=0となり、その領域から照明が当たっていない領域(LT=1の領域)に向けてLTが0<LT<1の範囲で連続的に変化する。
【0058】
このように被照明領域S0とそれ以外の領域が設定されたコースオブジェクトOB2を描画する際に、オブジェクトデータに基づき得られる色RGB(m)を、以下のような調整式(1)により調整してコースオブジェクトOB2の色RGB(o)を設定する。このような調整をすることによって、例えば、図12に示すような仮想カメラVC1から見える視界画像が生成される。なお「オブジェクトデータに基づき得られる色RGB(m)」は、オブジェクトの頂点色であってもよいし、オブジェクトにテクスチャマッピングされるデカールテクスチャのテクセルの色であってもよいし、頂点色とデカールテクスチャのテクセルの色との乗算結果であってもよい。
【0059】
RGB(o)=RGB(m)*(A*(1−LT)+(1−A)) (1)
具体的には、各領域S0〜S2については、以下のような色に調整される。
【0060】
まず図11に示す被照明領域S0のLT=0の領域(OB1からの照明光が強く当たっている領域)については、RGB(o)=RGB(m)となり、コースオブジェクトOB2のオブジェクトデータに基づき得られる色がその領域を描画するための色として設定される。
【0061】
また図11に示す被照明領域S0の0<LT<1の領域(OB1からの照明光が徐々に減衰していく領域)については、RGB(o)=RGB(m)*(1−A*LT)となり、コースオブジェクトOB2のオブジェクトデータに基づき得られる色を、コースオブジェクトOB2の頂点毎に設定しておいた影響度パラメータA(α値)とテクスチャTEXの投影マッピングにより設定した領域指定パラメータLT(=1−L)との乗算値に応じて暗くした色(輝度を下げた色)がその領域を描画するための色として設定される。
【0062】
また図11に示す領域S1、S2のうちLT=1の領域(被照明領域S0以外の領域、OB1からの照明光を受けていない領域))については、RGB(o)=RGB(m)*(1−A)となり、コースオブジェクトOB2のオブジェクトデータに基づき得られる色を、コースオブジェクトOB2の頂点毎に設定しておいた影響度パラメータA(α値)に応じて暗くした色(輝度を下げた色)がその領域を描画するための色として設定される。
【0063】
3.本実施形態の処理
次に、本実施形態の詳細な処理例について図13のフローチャートを用いて説明する。
【0064】
まず車両オブジェクトOB1の位置を演算する(ステップS10)。これにより車両オブジェクトOB1に設定される仮想カメラVC2の投影中心の位置が決定される。
【0065】
次に、車両オブジェクトの種類に応じた射影マトリクスPを用いて投影マッピング用の変換マトリクスmを演算する(ステップS11)。そして投影マッピングの対象となるコースオブジェクトOB2のオブジェクトデータを読み出す(ステップS12)。このオブジェクトデータには、頂点座標、頂点色、頂点α値、デカールテクスチャのテクスチャ座標などが含まれている。頂点色は、車両オブジェクトOB1からの照明光を反映させた色が設定される。頂点α値には、車両オブジェクトOB1からの照明光に対する影響度パラメータが設定される。デカールテクスチャは、上記実施形態の例では、線路のレールや枕木を表現した画像である。
【0066】
次に、コースオブジェクトOB2のオブジェクトデータから得た頂点座標をステップS11で求めた変換マトリクスmを用いて投影マッピング用のテクスチャ座標に変換する(ステップS13)。なおステップS13で行うマトリクス変換は、描画プロセッサの頂点シェーダ(頂点処理ユニット)により行われる。なおステップS13で行うマトリクス変換は、描画プロセッサのピクセルシェーダ(ピクセル処理ユニット)で行わせるようにしてもよい。
【0067】
続いて、テクスチャ座標に基づいてテクスチャデータ(テクセル値)をサンプリングしてコースオブジェクトOB2に対して照明パターンを設定したテクスチャTEXを投影マッピングして被照明領域を設定する(ステップS14)。
【0068】
そして被照明領域の設定情報である領域指定パラメータ(LT=1−L)とオブジェクトデータから得た影響度パラメータ(A)に応じてコースオブジェクトOB2の各領域(被照明領域とそれ以外の領域)の色を決定する(ステップS15)。例えば、被照明領域についてはコースオブジェクトOB2のオブジェクトデータに基づき得られる色をそのまま、あるいは領域指定パラメータに応じて減色して、その領域を描画するための色として設定し、被照明領域以外の領域については、影響度パラメータに応じて減色して、その領域を描画するための色として設定する。なおステップS14で行うテクスチャデータのサンプリングやステップS15で行うオブジェクトの描画色の決定は、描画プロセッサのピクセルシェーダ(ピクセル処理ユニット)により行われる。
【0069】
最終的には、求めた色データ(RGBの各色成分の輝度値データ)と位置データ(座標データ)とに基づいて、コースオブジェクトOB2を描画する(ステップS16)。
【0070】
4.ハードウェア構成
図14に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0071】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0072】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0073】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0074】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0075】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0076】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0077】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また接触痕跡の表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【0078】
また上記実施形態では、コースオブジェクトに移動照明源からの照明光を反映させる例を説明したが、例えば、コースオブジェクト以外の背景オブジェクトに対して同様の照明処理を行うようにしてもよい。また照明対象オブジェクトはオブジェクト空間に固定的に配置される固定物オブジェクトに限られず、オブジェクト空間内を移動する移動体オブジェクトであってもよい。
【0079】
また上記実施形態では、コースオブジェクトのオブジェクトデータに移動照明源からの照明を受けた場合の明るい色を予め設定して、被照明領域以外の領域をオブジェクトデータに予め設定した影響度に応じて色を暗くするという照明処理の手法を採用していたが、コースオブジェクトのオブジェクトデータに移動照明源からの照明を受けていない場合の暗い色を予め設定して、被照明領域をオブジェクトデータに予め設定した影響度に応じて色を明るくするようにしてもよい。またコースオブジェクトのオブジェクトデータに移動照明源からの照明を受けた場合の明るい色とその照明を受けていない場合の暗い色との中間的な明るさの色を予め設定しておき、被照明領域についてはオブジェクトデータに予め設定した影響度に応じて色を明るくし、被照明領域以外の領域についてはオブジェクトデータに予め設定した影響に応じて色を暗くするように調整してもよい。
【0080】
また上記実施形態では電車の車両のライトが線路を照らす場合を例に説明したが、本実施形態の手法は、車のライトが道路や他の車を照らす場合などや、プレーヤキャラクタが装備した懐中電灯や松明で背景等が照らされる場合にも適用できる。また予め街灯などの他の照明源により背景等が照らされる場合、他の照明源が、オブジェクト空間内を移動するようなものであってもよく、この場合には、背景等に予め設定する影響度パラメータが動的に求められるような処理を行ってもよい。また、例えば車のライトによる照明を表現する場合、ロービームとハイビームとによって投影マッピング用の仮想カメラVC2の向き(視線方向)が変わるように変換マトリクスmを求めるようにしてもよい。
【0081】
また本発明は種々のゲーム(レーシングゲーム、格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0082】
【図1】本実施形態の画像生成システムの機能ブロック図。
【図2】本実施形態の手法を説明するための図。
【図3】本実施形態の手法で用いられるテクスチャ画像。
【図4】本実施形態の手法で用いられるテクスチャ画像の説明図。
【図5】本実施形態の手法を説明するための図。
【図6】本実施形態の手法を説明するための図。
【図7】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図8】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図9】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図10】本実施形態の手法を説明するための図。
【図11】本実施形態の手法を説明するための図。
【図12】本実施形態の手法を用いて描かれた画像。
【図13】本実施形態の処理の例を示すフローチャート。
【図14】ハードウェア構成の例。
【符号の説明】
【0083】
OB1 車両オブジェクト(照明源オブジェクト、移動体オブジェクト)、
OB2 コースオブジェクト(照明対象オブジェクト)、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、122 テクスチャ座標演算部、
124 照明処理部、160 操作部、170 記憶部、172 主記憶部、
174 描画バッファ、176 オブジェクトデータ記憶部、
178 テクスチャ記憶部、180 情報記憶媒体、190 表示部、
192 音出力部、194 携帯型情報記憶装置、196 通信部、

【特許請求の範囲】
【請求項1】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源オブジェクトのオブジェクトデータと、照明源オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記照明源オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記照明源オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明源オブジェクトの位置に応じて、前記照明対象オブジェクトに前記照明パターンテクスチャをテクスチャマッピングすることにより前記照明対象オブジェクトに対して被照明領域を設定する照明領域設定部と、
前記照明対象オブジェクトのオブジェクトデータにおいて前記照明対象オブジェクトを構成する頂点に対応づけられた前記照明源オブジェクトから受ける照明光の影響度パラメータに応じて、前記照明対象オブジェクトに対して設定された被照明領域及びそれ以外の領域の少なくとも一方について前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を調整する照明処理を行う照明処理部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記照明対象オブジェクトのオブジェクトデータでは、前記照明対象オブジェクトを構成する複数の頂点の各頂点に対して、前記照明源オブジェクトから受ける照明光を反映した色が対応づけられており、
前記照明処理部が、
前記照明対象オブジェクトの被照明領域に対して前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を設定し、前記照明対象オブジェクトの被照明領域以外の領域に対して前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を前記影響度パラメータに応じて暗くした色を設定する処理を照明処理として行うことを特徴とするプログラム。
【請求項3】
請求項2において、
前記影響度パラメータは、前記照明対象オブジェクトを構成する複数の頂点の各頂点に対応づけられたα値であって、
前記照明処理部が、
前記照明対象オブジェクトの被照明領域以外の領域について、前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を構成する各色成分の輝度値に前記α値又は前記α値に基づき得られる値を乗算する処理を照明処理として行うことを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記照明対象オブジェクトは、前記照明源オブジェクトとは異なる他の照明源からの照明光を受けている第1の領域と、前記他の照明源からの照明光を受けていない第2の領域とを含み、
前記照明対象オブジェクトのオブジェクトデータでは、前記第1の領域を構成する頂点に対して、前記照明源オブジェクトから受ける照明光と前記他の照明源から受ける照明光とを反映した色が対応づけられ、前記第2の領域を構成する頂点に対して、前記照明源オブジェクトからの照明光を反映した色が対応付けられていることを特徴とするプログラム。
【請求項5】
請求項4において、
前記照明対象オブジェクトのオブジェクトデータでは、前記第2の領域を構成する頂点に対して、前記第1の領域を構成する頂点よりも前記照明源オブジェクトからの照明光の影響が大きくなるように前記影響度パラメータが対応づけられていることを特徴とするプログラム。
【請求項6】
コンピュータにより読取可能な情報記憶媒体であって、請求項1〜5のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項7】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源オブジェクトのオブジェクトデータと、照明源オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記照明源オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記照明源オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明源オブジェクトの位置に応じて、前記照明対象オブジェクトに前記照明パターンテクスチャをテクスチャマッピングすることにより前記照明対象オブジェクトに対して被照明領域を設定する照明領域設定部と、
前記照明対象オブジェクトのオブジェクトデータにおいて前記照明対象オブジェクトを構成する頂点に対応づけられた前記照明源オブジェクトから受ける照明光の影響度パラメータに応じて、前記照明対象オブジェクトに対して設定された被照明領域及びそれ以外の領域の少なくとも一方について前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を調整する照明処理を行う照明処理部と、
を含むことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図5】
image rotate

【図6】
image rotate

【図10】
image rotate

【図11】
image rotate

【図13】
image rotate

【図14】
image rotate

【図3】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図12】
image rotate


【公開番号】特開2007−141081(P2007−141081A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−336049(P2005−336049)
【出願日】平成17年11月21日(2005.11.21)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】