(57)【特許請求の範囲】
【請求項１】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部と、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部として、
コンピュータを機能させ、
前記オブジェクトデータ記憶部が、
複数種類の移動体オブジェクトのオブジェクトデータを記憶し、
前記オブジェクト空間設定部が、
前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、
前記テクスチャ座標演算部が、
前記移動体オブジェクトの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記移動体オブジェクトの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とするプログラム。
【請求項２】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部と、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部として、
コンピュータを機能させ、
前記テクスチャ座標演算部が、
前記オブジェクト空間で発生するイベントの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とするプログラム。
【請求項３】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部として、
コンピュータを機能させ、
前記オブジェクトデータ記憶部が、
複数種類の移動体オブジェクトのオブジェクトデータを記憶し、
前記オブジェクト空間設定部が、
前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、
前記テクスチャ記憶部が、
前記移動体オブジェクトの種類に応じて異なる複数の照明パターンテクスチャを記憶し、
前記被照明領域設定部が、
前記移動体オブジェクトの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記移動体オブジェクトの種類に応じた被照明領域を設定することを特徴とするプログラム。
【請求項４】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部として、
コンピュータを機能させ、
前記テクスチャ記憶部が、
前記オブジェクト空間で発生するイベントの種類に応じて異なる複数の照明パターンテクスチャを記憶し、
前記被照明領域設定部が、
前記イベントの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とするプログラム。
【請求項５】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部として、
コンピュータを機能させ、
前記照明処理部が、
前記照明対象オブジェクトを構成する頂点に対して予め設定された前記照明光に対する影響度パラメータに基づいて、前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を調整する処理を照明処理として行うことを特徴とするプログラム。
【請求項６】
請求項３〜５のいずれかにおいて、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部として、コンピュータを更に機能させ、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定することを特徴とするプログラム。
【請求項７】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜６のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項８】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部と、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含み、
前記オブジェクトデータ記憶部が、
複数種類の移動体オブジェクトのオブジェクトデータを記憶し、
前記オブジェクト空間設定部が、
前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、
前記テクスチャ座標演算部が、
前記移動体オブジェクトの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記移動体オブジェクトの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とする画像生成システム。
【請求項９】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部と、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含み、
前記テクスチャ座標演算部が、
前記オブジェクト空間で発生するイベントの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とする画像生成システム。
【請求項１０】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含み、
前記オブジェクトデータ記憶部が、
複数種類の移動体オブジェクトのオブジェクトデータを記憶し、
前記オブジェクト空間設定部が、
前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、
前記テクスチャ記憶部が、
前記移動体オブジェクトの種類に応じて異なる複数の照明パターンテクスチャを記憶し、
前記被照明領域設定部が、
前記移動体オブジェクトの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記移動体オブジェクトの種類に応じた被照明領域を設定することを特徴とする画像生成システム。
【請求項１１】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含み、
前記テクスチャ記憶部が、
前記オブジェクト空間で発生するイベントの種類に応じて異なる複数の照明パターンテクスチャを記憶し、
前記被照明領域設定部が、
前記イベントの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定することを特徴とする画像生成システム。
【請求項１２】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのオブジェクトデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとを記憶するオブジェクトデータ記憶部と、
前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、
前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、
前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、
前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含み、
前記照明処理部が、
前記照明対象オブジェクトを構成する頂点に対して予め設定された前記照明光に対する影響度パラメータに基づいて、前記照明対象オブジェクトのオブジェクトデータに基づき得られる色を調整する処理を照明処理として行うことを特徴とする画像生成システム。
【請求項１３】
請求項１０〜１２のいずれかにおいて、
前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部を更に含み、
前記被照明領域設定部が、
求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内の仮想カメラ（所与の視点）から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤはプレーヤ移動体を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する敵移動体と競争することで３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のためによりリアルな画像を生成することが重要な技術的課題になっている。このため夜間走行のシーンでは、移動体からのライトによる照明などについても、よりリアルに表現できることが望まれる。
【特許文献１】特許３２５４１９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、移動体からの照明等をリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、前記オブジェクト空間内を移動する照明源となる移動体オブジェクトのモデルデータと、移動体オブジェクトから照明を受ける照明対象オブジェクトのモデルデータとを記憶するモデルデータ記憶部と、前記移動体オブジェクト及び前記照明対象オブジェクトを前記オブジェクト空間に対して設定するオブジェクト空間設定部と、前記移動体オブジェクトから照射される照明光の照明パターンを設定した照明パターンテクスチャを記憶するテクスチャ記憶部と、前記移動体オブジェクトに対して設定した投影中心からの前記照明光の広がりを表す射影マトリクスを用いて、前記照明対象オブジェクトのモデルデータに含まれる頂点座標に対応する前記照明パターンテクスチャ用のテクスチャ座標を演算するテクスチャ座標演算部と、求められたテクスチャ座標に基づいて、前記照明パターンテクスチャを照明対象オブジェクトにテクスチャマッピングして前記照明対象オブジェクトに対して被照明領域を設定する被照明領域設定部と、前記被照明領域の設定情報に基づいて、前記照明対象オブジェクトに対して前記照明光を反映させる照明処理を行う照明処理部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム及び該プログラムを記憶する情報記憶媒体に関係する。
【０００６】
本発明によれば、移動体オブジェクトの移動によって照明源の位置が変動するが、その変動した位置に応じて照明対象オブジェクトに対して被照明領域が設定される。すなわち本発明によれば、照明源の移動に応じた被照明領域を設定することで移動体からの照明をリアルに背景等に反映させた画像を生成することができる。
【０００７】
（２）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクトデータ記憶部が、複数種類の移動体オブジェクトのオブジェクトデータを記憶し、前記オブジェクト空間設定部が、前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、前記テクスチャ記憶部が、前記移動体オブジェクトの種類に応じて異なる複数の照明パターンテクスチャを記憶し、前記被照明領域設定部が、前記移動体オブジェクトの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記移動体オブジェクトの種類に応じた被照明領域を設定するようにしてもよい。このようにすれば、移動体の種類毎に照明パターンを変えているので、移動体の種類に応じた照明の効果を背景等に反映させたリアルな表現を行うことができる。
【０００８】
（３）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクトデータ記憶部が、複数種類の移動体オブジェクトのオブジェクトデータを記憶し、前記オブジェクト空間設定部が、前記複数種類の移動体オブジェクトのうち１種類以上を前記オブジェクト空間に設定し、前記テクスチャ座標演算部が、前記移動体オブジェクトの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、前記被照明領域設定部が、求められたテクスチャ座標に基づいて、前記移動体オブジェクトの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定するようにしてもよい。このようにすれば、移動体の種類毎に射影マトリクスを変えているので、移動体の種類に応じて照明光の影響を受ける範囲を変化させたリアルな表現を行うことができる。
【０００９】
（４）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部が、前記オブジェクト空間で発生するイベントの種類に応じて異なる複数の照明パターンテクスチャを記憶し、前記被照明領域設定部が、前記イベントの種類に応じた照明パターンテクスチャを前記照明対象オブジェクトにテクスチャマッピングして前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定するようにしてもよい。このようにすれば、イベントに応じて照明のパターンを変化させることで、例えば、照明の故障イベントなどに対応したリアルな表現を行うことができる。
【００１０】
（５）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ座標演算部が、前記オブジェクト空間で発生するイベントの種類に応じて異なる射影マトリクスを用いて前記テクスチャ座標を演算し、前記被照明領域設定部が、求められたテクスチャ座標に基づいて、前記イベントの種類に応じた被照明領域を前記照明対象オブジェクトに対して設定するようにしてもよい。このようにすれば、イベントに応じて射影マトリクスを変化させることで、例えば、照明の故障イベントなどに対応したリアルな表現を行うことができる。
【００１１】
（６）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記照明処理部が、前記照明対象オブジェクトを構成する頂点に対して予め設定された前記照明光に対する影響度パラメータに基づいて、前記照明対象オブジェクトのモデルデータに基づき得られる色を調整する処理を照明処理として行うようにしてもよい。このようにすれば、影響度の大きさに応じて色を調整するだけで照明対象オブジェクトに対して照明源オブジェクトから受ける光の影響を反映させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１３】
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１４】
操作部１６０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００１６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００１７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００１８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００１９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２０】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２１】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。特に本実施形態では、記憶部１７０のオブジェクトデータ記憶部１７６にオブジェクト空間内を移動する照明源オブジェクト（移動体オブジェクト）のオブジェクトデータと、照明源オブジェクトから照明を受ける照明対象オブジェクトのオブジェクトデータとが記憶されており、これらのオブジェクトをオブジェクト空間に配置する処理を行う。
【００２２】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。特に本実施形態では、操作部１６０によりプレーヤが入力した操作データなどに基づいて、照明源オブジェクト（移動体オブジェクト）をオブジェクト空間内で移動させる処理を行う。
【００２３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００２４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００２６】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００２７】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００２８】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００２９】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００３０】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００３１】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００３２】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００３３】
さらに本実施形態では描画部１２０が、テクスチャ座標演算部１２２、被照明領域設定部１２４、照明処理部１２６とを含む。
【００３４】
テクスチャ座標演算部１２２は、照明源オブジェクト（オブジェクト空間内を移動する移動体オブジェクト）に対して設定した投影中心（カメラ中心、代表点、基準点）からの照明光の広がりを表す射影マトリクスを用いて求められる変換マトリクスによって、照明対象オブジェクトのオブジェクトデータに含まれる頂点座標に対応する照明パターンテクスチャ用のテクスチャ座標を演算する。具体的には、ワールドマトリクス（第１のマトリクス）、ビューマトリクス（第２のマトリクス）、射影マトリクス（第３のマトリクス）、及び座標中心をずらして、かつ値域を正規化するための補正マトリクス（第４のマトリクス）からなる変換マトリクスと頂点座標とを乗算する処理をおこなって、頂点座標をテクスチャ座標に変換する。これにより、照明源オブジェクトと照明対象オブジェクトとの相対的な位置関係に応じたテクスチャ座標が求められる。
【００３５】
被照明領域設定部１２４は、テクスチャ座標演算部１２２により求められたテクスチャ座標に基づいて、照明対象オブジェクトに照明パターンテクスチャをテクスチャマッピングすることにより照明対象オブジェクトに対して被照明領域を設定する処理を行う。具体的には、テクスチャ記憶部１７６には、照明源オブジェクトから照射される照明光の照明パターンに応じてテクセルの値（輝度値）を変化させた照明パターンテクスチャが記憶されており、テクスチャ座標に基づいてサンプリングされるテクセルデータ（パラメータ）を照明対象オブジェクトに対応づけることにより照明対象オブジェクトには照明パターンに応じた被照明対象領域が設定される。
【００３６】
照明処理部１２６は、被照明領域の設定情報に基づいて、照明対象オブジェクトに対して照明源オブジェクトからの照明光を反映させる照明処理を行う。具体的には、照明対象オブジェクトに対して設定された被照明領域以外の領域について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて暗い色に変更する照明処理を行う。
【００３７】
影響度パラメータは、照明源オブジェクトから受ける照明光の影響度を表すパラメータであって、オブジェクトデータ記憶部１７６に格納されている照明対象オブジェクトのオブジェクトデータにおいて照明対象オブジェクトを構成する頂点に対応づけられているパラメータである。この影響度パラメータは、α値（Ａ値）により設定することができ、例えば、頂点α値として各頂点に直接対応づけられていてもよいし、頂点に対応づけられたテクスチャ座標よりサンプリングされるデカールテクスチャ（模様テクスチャ）のテクセルのα値によって間接的に対応づけられていてもよい。また影響度パラメータは、頂点に直接対応づけられた頂点α値とデカールテクスチャのテクセルに設定されたα値との乗算結果により求められるようにしてもよい。
【００３８】
またオブジェクトデータ記憶部１７６には、照明対象オブジェクトのオブジェクトデータにおいて照明対象オブジェクトを構成する複数の頂点の各頂点に対して、照明源オブジェクトから受ける照明光を反映した色が対応づけられている。この「照明光を反映した色」は、例えば、頂点色（ディフューズ）として各頂点に直接対応づけられていてもよいし、頂点に対応づけられたテクスチャ座標よりサンプリングされるデカールテクスチャ（模様テクスチャ）のテクセルの色によって間接的に対応づけられていてもよい。また「照明光を反映した色」は、頂点に直接対応づけられた頂点色とデカールテクスチャのテクセルに設定された色との乗算結果により求められるようにしてもよい。
【００３９】
また照明対象オブジェクトが、照明源オブジェクトとは異なる他の照明源（例えば、街灯）からの照明光を受けている第１の領域と、他の照明源からの照明光を受けていない第２の領域とを含む場合には、オブジェクトデータ記憶部１７６に格納される照明対象オブジェクトのオブジェクトデータでは、第１の領域を構成する頂点に対して、照明源オブジェクトから受ける照明光と他の照明源から受ける照明光とを反映した色を対応づけておき、第２の領域を構成する頂点に対して、前記照明源オブジェクトからの照明光を反映した色が対応付けられておくことができる。特にこのような場合には、照明対象オブジェクトのオブジェクトデータでは、第２の領域を構成する頂点に対して、第１の領域を構成する頂点よりも照明源オブジェクトからの照明光の影響が大きくなるように影響度パラメータが対応づけておくことが好ましい。
【００４０】
なお照明処理では、被照明領域について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて明るい色に変更するようにしてもよいし、被照明領域及びそれ以外の領域の双方について照明対象オブジェクトのオブジェクトデータに基づき得られる色を影響度パラメータに応じて調整するようにしてもよい。
【００４１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４３】
２．本実施形態の手法
２．１  被照明領域の設定手法
本実施の形態では、図２に示すように、オブジェクト空間内を移動する照明源となる電車の車両オブジェクトＯＢ１（照明源オブジェクト、移動体オブジェクト）からの照明光を受ける線路のコースオブジェクトＯＢ２（照明対象オブジェクト）に対して照明パターンをテクスチャ化したテクスチャＴＥＸ（照明パターンテクスチャ）を投影マッピングすることで車両オブジェクトＯＢ１の移動に応じた被照明領域をコースオブジェクトＯＢ２に対して設定する手法を採用する。
【００４４】
具体的には、まず図３に示すように照明の明るさに応じて内側から外側に向かってテクセル値が連続的に変化したパターンを照明パターンとして設定したテクスチャＴＥＸ（照明パターンテクスチャ）を用意する。このテクスチャＴＥＸでは、照明領域と非照明領域とが設定され、各領域に応じてテクセルに照明の明るさパラメータＬが設定されている。図４に示すように、明るさパラメータＬは、照明領域のうち照明光が強い領域Ｒ１がＬ＝１に設定され、その内側から外側に向かって領域Ｒ２では０＜Ｌ＜１の範囲で連続的に明るさパラメータＬが変化するように設定されている。また非照明領域では、明るさパラメータＬが０に設定される。なお明るさパラメータＬは、テクセルのＲＧＢ成分の各色成分の輝度値あるいはテクセルのα値として設定することができ、先に述べたようなテクセルの設定とは異なる設定をしてもよい。
【００４５】
そして、このテクスチャＴＥＸを図５に示すように照明源となる電車を模した車両オブジェクトＯＢ１の予め定められた位置を投影中心とする仮想カメラＶＣ２（第２の仮想カメラ）から射影することにより線路を模したコースオブジェクトＯＢ２の各頂点の位置とテクセルの位置とを対応づけるようにテクスチャ座標を求めている。また本実施形態の手法では、仮想カメラＶＣ２が車両オブジェクトＯＢ１の正面下向きに設置されており、仮想カメラＶＣ２の投影中心からの照明光がコースオブジェクトＯＢ２に向けて広がって照射されている様子を表現している。すなわちテクスチャＴＥＸのテクスチャマッピング対象領域を仮想カメラＶＣ２の画角内に存在する頂点（図５の例では、頂点Ｖ１〜Ｖ５）の座標がテクスチャ座標に変換される。このようにして本実施形態では、テクスチャＴＥＸに照明パターンとして設定した明るさパラメータＬがコースオブジェクトＯＢ２の頂点に対応づけられることにより、コースオブジェクトＯＢ２の一部の領域について明るさパラメータＬが０＜Ｌ≦１に設定され、その領域が車両オブジェクトＯＢ１からの照明光を受けている被照明領域として設定される。なお、図５中の仮想カメラＶＣ１（第１の仮想カメラ）は描画対象となるオブジェクト空間のシーンを撮影（ビューボリューム内のオブジェクトをスクリーンに透視投影）するためのカメラである。
【００４６】
ここで本実施形態では、テクスチャＴＥＸ用のテクスチャ座標の求め方として、頂点座標を所定の変換マトリクスを用いてテクスチャ座標に変換する手法を採用している。例えば、コースオブジェクトＯＢ２のオブジェクトデータに含まれる各頂点の座標値をローカル座標系（モデル座標系）の座標値からワールド座標系の座標値へ変換するワールドマトリクスＷと、仮想カメラＶＣ１の投影中心を原点とするビュー座標系（視点座標系）への変換を行うビューマトリクスＶと、照明源の投影中心からの照明光の広がり（投影中心からの距離に応じたテクスチャ画像の拡大率）を表す射影マトリクスＰと、各マトリクスＷ，Ｖ，Ｐによって得られたテクスチャ座標の座標系の中心（原点）をずらすとともに値域を正規化（−１〜１を０〜１に正規化）するための行列要素を含む補正マトリクスとを用意して、これらの各マトリクスに基づいて、コースオブジェクトＯＢ２の頂点座標をテクスチャ座標に変換するための変換マトリクスｍを求めることができる。
【００４７】
【数１】
0004749131.tif 000002
【００４８】
ここで射影マトリクスＰは、テクスチャＴＥＸに設定される照明パターンに応じて変化させることができる。例えば、車両オブジェクトＯＢ１として複数のオブジェクトデータが用意されている場合には、オブジェクト毎に異なるテクスチャＴＥＸが対応づけられるとともに、対応づけられたテクスチャＴＥＸに応じた射影マトリクスＰを用いて変換マトリクスｍを得ることができる。この場合、各射影マトリクスＰでは互いに画角等が異なるように各行列要素が設定される。このようにすれば、車両毎の照明パターンがテクスチャＴＥＸで用意されるとともに、車両毎の照明の広がりが射影マトリクスＰで用意されるため、車両毎に背景等を照らす様子が違う画像を生成することができる。また車両オブジェクトＯＢ１がコースオブジェクトＯＢ２上を移動している時にライトの一部が故障するようなイベントが発生した場合に、その故障後の照明パターンを設定したテクスチャＴＥＸを用意しておいて、マッピング対象のテクスチャＴＥＸを切り替えるようにしてもよい。このようにすれば、発生したイベントの種類に応じた被照明領域をコースオブジェクトＯＢ２に対して設定することができる。
【００４９】
なおオブジェクトの種類に応じてテクスチャＴＥＸのみを変更するようにしてもよいし、オブジェクトの種類に応じて射影マトリクスＰのみを変更するようにしてもよいし、オブジェクトの種類に応じてテクスチャＴＥＸと射影マトリクスＰの双方を変更するようにしてもよい。またイベントの種類に応じてテクスチャＴＥＸのみを変更するようにしてもよいし、イベントの種類に応じて射影マトリクスＰのみを変更するようにしてもよいし、イベントの種類に応じてテクスチャＴＥＸと射影マトリクスＰの双方を変更するようにしてもよい。またオブジェクトの種類やイベントの種類に応じてテクスチャＴＥＸや射影マトリクスＰを変更する場合には、複数種類のオブジェクトや複数種類のイベントに個別のテクスチャＴＥＸや個別の射影マトリクスＰが対応づけられていてもよいし、複数種類のオブジェクトや複数種類のイベントの一部に対して共通のテクスチャＴＥＸや共通の射影マトリクスＰが対応づけられていてもよい。また複数種類のオブジェクトや複数種類のイベントをグループ分けしておき、グループ毎にテクスチャＴＥＸや射影マトリクスＰが対応づけられていてもよい。
【００５０】
また上記手法では、予め仮想カメラＶＣ２を正面下向きに向けて車両オブジェクトＯＢ１内の投影中心に設置した場合を説明したが、これに限定されない。例えば、図６に示すように、仮想カメラＶＣ２が車両オブジェクトＯＢ１の真正面を向くように設置して、仮想カメラＶＣ２の投影中心から照明光が広がって照射される様子を表現するようにしてもよい。この場合、仮想カメラＶＣ２の投影中心からの距離Ｄに応じて照明光がある距離範囲を照らす様子を表現するため、閾値パラメータとして距離Ｄｔｈを設定するようにしてもよい。この場合、テクスチャＴＥＸのテクスチャマッピング対象領域を仮想カメラＶＣ２の画角内であって、かつ仮想カメラＶＣ２の投影中心から距離ＤがＤｔｈの範囲に存在する頂点（図５の例では、頂点Ｖ２〜Ｖ５）の座標がテクスチャ座標に変換される。
【００５１】
また、仮想カメラＶＣ２の投影中心から距離Ｄｔｈの範囲にある頂点をテクスチャＴＥＸのマッピング対象の頂点とする場合だけでなく、例えば、仮想カメラＶＣ２の画角内に存在する全ての頂点をテクスチャＴＥＸのマッピング対象の頂点としておき、各頂点に対応づけられたテクスチャＴＥＸのテクセルに設定される明るさパラメータＬを仮想カメラＶＣ２の投影中心からの距離Ｄに応じて減衰させる補正を行って、ある距離範囲（補正後の明るさパラメータＬ´が０＜Ｌ´≦１となった範囲）にだけ照明光が届いている様子を表現してもよい。
【００５２】
２．２  照明処理の手法
本実施形態では、オブジェクト空間内を移動する車両オブジェクトＯＢ１からの照明を受ける照明対象のコースオブジェクトＯＢ２のオブジェクトデータに車両オブジェクトＯＢ１からの照明に対する影響度を設定して、コースオブジェクトＯＢ２の色をオブジェクトデータに予め設定した影響度に応じて調整する照明処理の手法を採用する。
【００５３】
具体的には、コースオブジェクトＯＢ２のオブジェクトデータの構築段階で以下のような設定を行う。まず図７に示すように、コースオブジェクトＯＢ２の全領域が車両オブジェクトＯＢ１からの照明で照らされている場合を想定して、車両オブジェクトＯＢ１の照明光の色を反映させた色を各頂点の色として設定する。
【００５４】
次に、図８に示すように、車両オブジェクトＯＢ１からの照明を一切受けていない場合を想定して、コースオブジェクトＯＢ２の本来の色を各頂点の色として設定する。なお図８では、予め車両オブジェクトＯＢ１以外の照明源として街灯の照明を受けている領域については、その街灯の照明光を反映した色を頂点の色として設定している。また図８では、街灯の照明を予め受けている領域（元々明るい領域）と街灯の照明を受けていない領域（元々暗い場所）とで車両オブジェクトＯＢ１の照明光に対する影響度が異なるように影響度パラメータを設定している。この影響度パラメータは、街灯の照明を受けている領域のほうが街灯の照明を受けていない領域よりも影響度が小さくなるようにしている。すなわち元々暗い場所は照明の影響を受けやすく、元々明るい場所は照明の影響を受けにくいという現象を影響度パラメータとして設定している。そしてこの影響度パラメータは、頂点のα値（Ａ値）として設定される。
【００５５】
そして最終的には、図７に示すように設定した車両オブジェクトＯＢ１からの照明光を受けた場合の色と、図８に示すように設定した車両オブジェクトＯＢ１からの照明光を受けていない場合の色と、コースオブジェクトＯＢ２の元々の色の明るさに応じて決めた車両オブジェクトＯＢ１の照明光に対する影響度に応じてコースオブジェクトＯＢ２の各頂点の色を決定し、図９に示すように、車両オブジェクトＯＢ１からの照明光を受けた場合の色と車両オブジェクトＯＢ１からの照明光を受けていない場合の色とをブレンドした色を各頂点の色としてオブジェクトデータを構築する。
【００５６】
このように予め頂点に対して設定しておいた色を利用して本実施形態では、以下のように車両オブジェクトＯＢ１からの照明を受けた場合の照明処理を行う。
【００５７】
まず、車両オブジェクトＯＢ１が通過するコースオブジェクトＯＢ２の各領域において車両オブジェクトＯＢ１を照明源とする照明光の影響度が図１０に示すように設定されている場合を考える。図１０では、コースオブジェクトＯＢ２の一部の領域Ｓ１（第１の領域）が他の照明源（街灯）からの照明を予め受けている領域として設定されており、それ以外の領域Ｓ２（第２の領域）については、影響度パラメータＡがＡ＝Ａ１（例えば、０＜＜Ａ１≦１）に設定されている。ここでＡ１は車両オブジェクトＯＢ１からの照明光の影響が大きいことを表す値として設定される。また他の照明源からの照明を受けている領域Ｓ１では、内側から外側にかけて街灯による照明の影響が小さくなることを考慮して、内側では影響度パラメータＡがＡ＝Ａ２（例えば、０≦Ａ２＜＜１）に設定され、内側から外側に向かって影響度パラメータＡがＡ２からＡ１に連続的に変化するように設定されている。ここでＡ２は車両オブジェクトＯＢ１からの照明光の影響が小さいことを表す値として設定される。
【００５８】
このような状況において車両オブジェクトＯＢ１はコースオブジェクトＯＢ２を照明光で照らしながら図１１のようにコースオブジェクトＯＢ２の上を移動し、車両オブジェクトＯＢ１の移動に応じて被照明領域Ｓ０が設定される。被照明領域Ｓ０は、先に述べた手法でテクスチャＴＥＸがコースオブジェクトＯＢ２に投影マッピングすることにより、テクスチャＴＥＸのテクセルに対応づけられた明るさパラメータＬに基づいて領域指定パラメータＬＴが設定されて、この領域指定パラメータＬＴにより被照明領域とそれ以外の領域とが画定される。この領域指定パラメータＬＴは、テクスチャＴＥＸが投影マッピングされた領域については、ＬＴ＝１−Ｌを設定し、それ以外の領域については、ＬＴ＝１を固定的に設定している。すなわち、被照明領域Ｓ０では、車両オブジェクトＯＢ１の照明光が強く当たっている領域ではＬＴ＝０となり、その領域から照明が当たっていない領域（ＬＴ＝１の領域）に向けてＬＴが０＜ＬＴ＜１の範囲で連続的に変化する。
【００５９】
このように被照明領域Ｓ０とそれ以外の領域が設定されたコースオブジェクトＯＢ２を描画する際に、オブジェクトデータに基づき得られる色ＲＧＢ（ｍ）を、以下のような調整式（１）により調整してコースオブジェクトＯＢ２の色ＲＧＢ（ｏ）を設定する。このような調整をすることによって、例えば、図１２に示すような仮想カメラＶＣ１から見える視界画像が生成される。なお「オブジェクトデータに基づき得られる色ＲＧＢ（ｍ）」は、オブジェクトの頂点色であってもよいし、オブジェクトにテクスチャマッピングされるデカールテクスチャのテクセルの色であってもよいし、頂点色とデカールテクスチャのテクセルの色との乗算結果であってもよい。
【００６０】
ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）＊（Ａ＊（１−ＬＴ）＋（１−Ａ））      （１）
具体的には、各領域Ｓ０〜Ｓ２については、以下のような色に調整される。
【００６１】
まず図１１に示す被照明領域Ｓ０のＬＴ＝０の領域（ＯＢ１からの照明光が強く当たっている領域）については、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）となり、コースオブジェクトＯＢ２のオブジェクトデータに基づき得られる色がその領域を描画するための色として設定される。
【００６２】
また図１１に示す被照明領域Ｓ０の０＜ＬＴ＜１の領域（ＯＢ１からの照明光が徐々に減衰していく領域）については、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）＊（１−Ａ＊ＬＴ）となり、コースオブジェクトＯＢ２のオブジェクトデータに基づき得られる色を、コースオブジェクトＯＢ２の頂点毎に設定しておいた影響度パラメータＡ（α値）とテクスチャＴＥＸの投影マッピングにより設定した領域指定パラメータＬＴ（＝１−Ｌ）との乗算値に応じて暗くした色（輝度を下げた色）がその領域を描画するための色として設定される。
【００６３】
また図１１に示す領域Ｓ１、Ｓ２のうちＬＴ＝１の領域（被照明領域Ｓ０以外の領域、ＯＢ１からの照明光を受けていない領域））については、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）＊（１−Ａ）となり、コースオブジェクトＯＢ２のオブジェクトデータに基づき得られる色を、コースオブジェクトＯＢ２の頂点毎に設定しておいた影響度パラメータＡ（α値）に応じて暗くした色（輝度を下げた色）がその領域を描画するための色として設定される。
【００６４】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１３のフローチャートを用いて説明する。
【００６５】
まず車両オブジェクトＯＢ１の位置を演算する（ステップＳ１０）。これにより車両オブジェクトＯＢ１に設定される仮想カメラＶＣ２の投影中心の位置が決定される。
【００６６】
次に、車両オブジェクトの種類に応じた射影マトリクスＰを用いて投影マッピング用の変換マトリクスｍを演算する（ステップＳ１１）。そして投影マッピングの対象となるコースオブジェクトＯＢ２のオブジェクトデータを読み出す（ステップＳ１２）。このオブジェクトデータには、頂点座標、頂点色、頂点α値、デカールテクスチャのテクスチャ座標などが含まれている。頂点色は、車両オブジェクトＯＢ１からの照明光を反映させた色が設定される。頂点α値には、車両オブジェクトＯＢ１からの照明光に対する影響度パラメータが設定される。デカールテクスチャは、上記実施形態の例では、線路のレールや枕木を表現した画像である。
【００６７】
次に、コースオブジェクトＯＢ２のオブジェクトデータから得た頂点座標をステップＳ１１で求めた変換マトリクスｍを用いて投影マッピング用のテクスチャ座標に変換する（ステップＳ１３）。なおステップＳ１３で行うマトリクス変換は、描画プロセッサの頂点シェーダ（頂点処理ユニット）により行われる。なおステップＳ１３で行うマトリクス変換は、描画プロセッサのピクセルシェーダ（ピクセル処理ユニット）で行わせるようにしてもよい。
【００６８】
続いて、テクスチャ座標に基づいてテクスチャデータ（テクセル値）をサンプリングしてコースオブジェクトＯＢ２に対して照明パターンを設定したテクスチャＴＥＸを投影マッピングして被照明領域を設定する（ステップＳ１４）。
【００６９】
そして被照明領域の設定情報である領域指定パラメータ（ＬＴ＝１−Ｌ）とオブジェクトデータから得た影響度パラメータ（Ａ）に応じてコースオブジェクトＯＢ２の各領域（被照明領域とそれ以外の領域）の色を決定する（ステップＳ１５）。例えば、被照明領域についてはコースオブジェクトＯＢ２のオブジェクトデータに基づき得られる色をそのまま、あるいは領域指定パラメータに応じて減色して、その領域を描画するための色として設定し、被照明領域以外の領域については、影響度パラメータに応じて減色して、その領域を描画するための色として設定する。なおステップＳ１４で行うテクスチャデータのサンプリングやステップＳ１５で行うオブジェクトの描画色の決定は、描画プロセッサのピクセルシェーダ（ピクセル処理ユニット）により行われる。
【００７０】
最終的には、求めた色データ（ＲＧＢの各色成分の輝度値データ）と位置データ（座標データ）とに基づいて、コースオブジェクトＯＢ２を描画する（ステップＳ１６）。
【００７１】
４．ハードウェア構成
図１４に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００７２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００７３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７４】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７５】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００７６】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７７】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００７８】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また接触痕跡の表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００７９】
また上記実施形態では、コースオブジェクトに移動照明源からの照明光を反映させる例を説明したが、例えば、コースオブジェクト以外の背景オブジェクトに対して同様の照明処理を行うようにしてもよい。また照明対象オブジェクトはオブジェクト空間に固定的に配置される固定物オブジェクトに限られず、オブジェクト空間内を移動する移動体オブジェクトであってもよい。
【００８０】
また上記実施形態では、コースオブジェクトのオブジェクトデータに移動照明源からの照明を受けた場合の明るい色を予め設定して、被照明領域以外の領域をオブジェクトデータに予め設定した影響度に応じて色を暗くするという照明処理の手法を採用していたが、コースオブジェクトのオブジェクトデータに移動照明源からの照明を受けていない場合の暗い色を予め設定して、被照明領域をオブジェクトデータに予め設定した影響度に応じて色を明るくするようにしてもよい。またコースオブジェクトのオブジェクトデータに移動照明源からの照明を受けた場合の明るい色とその照明を受けていない場合の暗い色との中間的な明るさの色を予め設定しておき、被照明領域についてはオブジェクトデータに予め設定した影響度に応じて色を明るくし、被照明領域以外の領域についてはオブジェクトデータに予め設定した影響に応じて色を暗くするように調整してもよい。
【００８１】
また上記実施形態では電車の車両のライトが線路を照らす場合を例に説明したが、本実施形態の手法は、車のライトが道路や他の車を照らす場合などや、プレーヤキャラクタが装備した懐中電灯や松明で背景等が照らされる場合にも適用できる。また予め街灯などの他の照明源により背景等が照らされる場合、他の照明源が、オブジェクト空間内を移動するようなものであってもよく、この場合には、背景等に予め設定する影響度パラメータが動的に求められるような処理を行ってもよい。また、例えば車のライトによる照明を表現する場合、ロービームとハイビームとによって投影マッピング用の仮想カメラＶＣ２の向き（視線方向）が変わるように変換マトリクスｍを求めるようにしてもよい。
【００８２】
また本発明は種々のゲーム（レーシングゲーム、格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００８３】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の手法を説明するための図。
【図３】本実施形態の手法で用いられるテクスチャ画像。
【図４】本実施形態の手法で用いられるテクスチャ画像の説明図。
【図５】本実施形態の手法を説明するための図。
【図６】本実施形態の手法を説明するための図。
【図７】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図８】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図９】本実施形態の手法で用いられるオブジェクトデータの説明図。
【図１０】本実施形態の手法を説明するための図。
【図１１】本実施形態の手法を説明するための図。
【図１２】本実施形態の手法を用いて描かれた画像。
【図１３】本実施形態の処理の例を示すフローチャート。
【図１４】ハードウェア構成の例。
【符号の説明】
【００８４】
ＯＢ１  車両オブジェクト（照明源オブジェクト、移動体オブジェクト）、
ＯＢ２  コースオブジェクト（照明対象オブジェクト）、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  描画部、１２２  テクスチャ座標演算部、
１２４  照明処理部、１６０  操作部、１７０  記憶部、１７２  主記憶部、
１７４  描画バッファ、１７６  オブジェクトデータ記憶部、
１７８  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部、
【図１】
0004749131.tif 000003
【図２】
0004749131.tif 000004
【図５】
0004749131.tif 000005
【図６】
0004749131.tif 000006
【図１０】
0004749131.tif 000007
【図１１】
0004749131.tif 000008
【図１３】
0004749131.tif 000009
【図１４】
0004749131.tif 000010
【図３】
0004749131.tif 000011
【図４】
0004749131.tif 000012
【図７】
0004749131.tif 000013
【図８】
0004749131.tif 000014
【図９】
0004749131.tif 000015
【図１２】
0004749131.tif 000016