説明

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

【課題】芝生などの画像のリアルな表現を可能にするプログラム等の提供。
【解決手段】画像生成システムは、第1〜第Nのテクスチャを記憶するテクスチャ記憶部と、第1〜第Nのテクスチャがマッピングされる第1〜第Nのオブジェクトを描画する描画部を含む。第1のテクスチャのテクセルのうち第1のグループに属するテクセルについては0よりも大きなα1がα値に設定され、第K−1(2≦K≦N)のテクスチャにおいて0よりも大きなαK-1にα値が設定されるテクセルと同じテクスチャ座標で指定される第Kのテクスチャのテクセルについては、αK-1以下のαKにα値が設定される。描画部は、第K−1のテクスチャがマッピングされる第K−1のオブジェクトの上に、第Kのテクスチャがマッピングされる第Kのオブジェクトが描画されるように、第1〜第Nのオブジェクトを描画する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。サッカーゲームを楽しめる画像生成システムを例にとれば、プレーヤは、画面に映し出されたキャラクタを操作し、フィールド上でドリブルをしたりシュートをしたりしてゲームを楽しむ。
【0003】
ところで、このようなサッカーゲームなどでは、競技場のフィールドの地面の芝生についてもリアルに表現できることが望ましい。
【0004】
しかしながら、これまでの画像生成システムでは、このような芝生の表現は、芝生の画像が描かれた1枚のテクスチャを地面のオブジェクトにマッピングすることで実現していた。このため、芝生の深さなどをリアルに表現することができず、プレーヤの仮想現実感を今ひとつ向上できなかった。また2枚のポリゴンを用いて水面を表現する従来技術も知られているが、この従来技術では、2枚のポリゴン間でのα値の相関関係については考慮されていないため、リアルな芝生画像の生成は難しいという課題がある。
【特許文献1】特開平11−90044号公報
【特許文献2】特開平10−198819号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、芝生などの画像のリアルな表現を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0006】
本発明は、画像を生成する画像生成システムであって、第1〜第N(Nは2以上の整数)のテクスチャを記憶するテクスチャ記憶部と、前記第1〜第Nのテクスチャがマッピングされる第1〜第Nのオブジェクトを描画する描画部とを含み、前記テクスチャ記憶部は、前記第1のテクスチャのテクセルのうち第1のグループに属するテクセルについては、0よりも大きなα1にα値が設定されるように、前記第1のテクスチャを記憶し、第K−1(2≦K≦N)のテクスチャにおいて0よりも大きなαK-1がα値に設定されるテクセルと同じテクスチャ座標で指定される第Kのテクスチャのテクセルについては、前記αK-1以下のαKにα値が設定されるように、第2〜第Nのテクスチャを記憶し、前記描画部は、前記第K−1のテクスチャがマッピングされる第K−1のオブジェクトの上に、前記第Kのテクスチャがマッピングされる第Kのオブジェクトが描画されるように、前記第1〜第Nのオブジェクトを描画する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0007】
本発明によれば、第1のテクスチャでは、第1のグループに属する複数のテクセルについては、0よりも大きなα1にα値が設定される。なおα1は第1のテクスチャの複数のテクセルにおいて異なる値であってもよいし、同じ値であってもよい。また第1のテクスチャのテクセルが属するグループは、第1のグループだけであってもよいし、それ以外の第2のグループ等があってもよい。
【0008】
そしてK=2とした場合に、第2のテクスチャ(第Kのテクスチャ)では、第1のテクスチャ(第K−1のテクスチャ)においてα1にα値が設定されるテクセルと同じテクスチャ座標のテクセルについては、α1以下のα2にα値が設定される。なおα2は第2のテクスチャの複数のテクセルにおいて異なる値であってもよいし、同じ値であってもよい。同様にK=3とした場合に、第3のテクスチャ(第Kのテクスチャ)では、第2のテクスチャ(第K−1のテクスチャ)において0より大きなα2にα値が設定されるテクセルと同じテクスチャ座標のテクセルについては、α2以下のα3にα値が設定される。なおα3は第3のテクスチャの複数のテクセルにおいて異なる値であってもよいし、同じ値であってもよい。
【0009】
そして本発明では、第1のオブジェクト(第K−1のオブジェクト)の上に第2のオブジェクト(第Kのオブジェクト)が描画され、第2のオブジェクト(第K−1のオブジェクト)の上に第3のオブジェクト(第Kのオブジェクト)が描画されるというように、第1〜第Nのテクスチャがマッピングされる第1〜第Nのオブジェクト(レイヤー・オブジェクト)が描画される。従って第1〜第Nのテクスチャに設定されるα値を用いたブレンディング処理(α合成処理)等を行うことで、芝生等の画像のリアルな表現が可能になる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部は、前記αK-1に対する前記αKの減衰率が少なくとも2つのテクセルで異なるように、前記第1〜第Nのテクスチャを記憶するようにしてもよい。
【0011】
このようにすれば、第1〜第Nのテクスチャの各テクセル(第1のグループのテクセル)におけるα値が、下のレイヤーのオブジェクトから上のレイヤーのオブジェクトに向かって異なる減衰率で減少するようになる。従って、芝生の草等の長さが不規則に変化する様子を表現できるようになり、よりリアルな画像を生成できる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部は、前記第1のテクスチャのテクセルのうち第2のグループに属するテクセルについては、0のα値が設定されるように、前記第1のテクスチャを記憶するようにしてもよい。
【0013】
このようにすれば、第2のグループのテクセルの下にある画像が透けて見えるリアルな画像を生成できる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部は、前記第1のテクスチャにおいて0のα値が設定されるテクセルと同じテクスチャ座標で指定される第2〜第Nのテクスチャのテクセルについては、0のα値が設定されるように、前記第2〜第Nのテクスチャを記憶するようにしてもよい。
【0015】
このようにすれば、例えば上方向から見た場合等に、第2のグループのテクセルの下にある画像が透けて見えるようになり、更にリアルな画像を生成できる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部は、0よりも大きなα値に設定α1されるテクセルの周囲のテクセルについては、0のα値に設定されるように、前記第1のテクスチャを記憶するようにしてもよい。
【0017】
このようにすれば、例えばテクスチャマッピングのバイリニア補間等を利用して、リアルな画像を生成できるようになる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、下地オブジェクトを描画し、前記下地オブジェクトの上に前記第1〜第Nのオブジェクトを描画し、前記第1〜第Nのテクスチャに設定されるα値に基づいて、前記下地オブジェクトの色と第1〜第Nのオブジェクトの色とのブレンディング処理を行うようにしてもよい。
【0019】
このようにすれば、下地オブジェクトの色と第1〜第Nのオブジェクトの色とがブレンドされた色の画像を生成できるようになる。なお第1〜第Nのオブジェクトの色は、第1〜第Nのオブジェクトの頂点色として設定される色であってもよいし、第1〜第Nのテクスチャに設定される色であってもよい。或いは第1〜第Nのテクスチャとは別に用意され、第1〜第Nのオブジェクトにマッピングされるテクスチャ(例えば第1、第2の帯状パターンテクスチャ)に設定される色であってもよい。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記下地オブジェクトは、地面を表現するためのオブジェクトであってもよい。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第1〜第Nのオブジェクトは、前記地面の上の芝生を表現するためのオブジェクトであってもよい。
【0022】
なお下地オブジェクトは、地面を表現するオブジェクト以外であってもよいし、第1〜第Nのオブジェクトは、芝生以外の画像を表現するためのオブジェクトであってもよい。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラの視線方向、視点位置を制御する仮想カメラ制御部と、α値演算部とを含み(仮想カメラ制御部、α値演算部としてコンピュータを機能させ)、前記テクスチャ記憶部は、明るい色の帯状パターンと暗い色の帯状パターンとが第1の座標軸方向に沿って並ぶ第1の帯状パターンテクスチャと、明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向に沿って並ぶ第2の帯状パターンテクスチャを記憶し、前記α値演算部は、前記仮想カメラの視線方向に基づいて、前記第1、第2の帯状パターンテクスチャの色のブレンド率であるα値αABを演算し、前記描画部は、前記第1の帯状パターンテクスチャの色と前記第2の帯状パターンテクスチャの色とを前記αABに基づいてブレンドするαブレンディング処理を行いながら、前記第1、第2の帯状パターンテクスチャがマッピングされる前記第1〜第Nのオブジェクトを描画するようにしてもよい。
【0024】
また本発明は、画像を生成する画像生成システムであって、仮想カメラの視線方向、視点位置を制御する仮想カメラ制御部と、明るい色の帯状パターンと暗い色の帯状パターンとが第1の座標軸方向に沿って並ぶ第1の帯状パターンテクスチャと、明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向に沿って並ぶ第2の帯状パターンテクスチャを記憶するテクスチャ記憶部と、前記仮想カメラの視線方向に基づいて、前記第1、第2の帯状パターンテクスチャの色のブレンド率であるα値αABを演算するα値演算部と、前記第1の帯状パターンテクスチャの色と前記第2の帯状パターンテクスチャの色とを前記αABに基づいてブレンドするαブレンディング処理を行いながら、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトを描画する描画部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0025】
本発明によれば、仮想カメラの視線方向に基づいてα値αABが求められる。具体的には例えば視線方向のベクトルと所与の方向のベクトル(例えば第1又は第2の座標軸方向の単位ベクトル)との内積等に基づいてα値αABが求められる。そして求められたα値αABに基づいて第1の帯状パターンテクスチャの色と第2の帯状パターンテクスチャの色がブレンドされてオブジェクトが描画される。このようにすれば、仮想カメラの視線方向に応じて、第1の帯状パターンテクスチャの色と第2の帯状パターンテクスチャの色のブレンド率が変化するようになり、例えば芝目等のリアルな画像を生成できるようになる。
【0026】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、下地オブジェクトを描画し、前記下地オブジェクトの上に、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトを描画するようにしてもよい。
【0027】
また本発明では、前記下地オブジェクトは、地面を表現するためのオブジェクトであってもよい。
【0028】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトは、前記地面の上の芝生を表現するためのオブジェクトであってもよい。
【0029】
なお下地オブジェクトは、地面を表現するオブジェクト以外であってもよいし、第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトは、芝生以外の画像を表現するためのオブジェクトであってもよい。
【発明を実施するための最良の形態】
【0030】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0031】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0032】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0033】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、ハードディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0034】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0035】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0036】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0037】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0038】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、α値演算部116、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0039】
オブジェクト空間設定部110は、キャラクタ、ボール、芝生、地面(フィールド)、競技場などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどの1又は複数のプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体オブジェクト(キャラクタ、ボール)、背景オブジェクト(芝生、地面、競技場、天球)のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。
【0040】
移動・動作処理部112は、オブジェクト(キャラクタ又はボール等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(モデルオブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0041】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0042】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0043】
α値演算部116はα値の演算処理を行う。具体的には仮想カメラ制御部114で得られた仮想カメラの視線方向(視線方向ベクトル)に基づいてα値を演算する。
【0044】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0045】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
【0046】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0047】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0048】
描画部120は、ジオメトリ処理部122、隠面消去部124、αブレンディング部126、テクスチャマッピング部128を含む。
【0049】
ジオメトリ処理部122は、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等のジオメトリ処理を行う。そして、ジオメトリ処理後(透視投影変換後)のモデルデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0050】
隠面消去部124は、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。即ちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うと共にZバッファのZ値を新たなZ値に更新する。
【0051】
αブレンディング部126はαブレンディング処理を行う。ここでαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【0052】
Q=(1−α)×R1+α×R2
Q=(1−α)×G1+α×G2
Q=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
【0053】
Q=R1+α×R2
Q=G1+α×G2
Q=B1+α×B2
また、減算αブレンディングの場合には下式の処理を行う。
【0054】
Q=R1−α×R2
Q=G1−α×G2
Q=B1−α×B2
ここで、R1、G1、B1は、描画バッファ174(フレームバッファ)に既に描画されている画像(元画像)のRGB成分であり、R2、G2、B2は、描画バッファ174に描画すべき画像のRGB成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
【0055】
テクスチャマッピング部128はテクスチャマッピング(テクスチャサンプリング)処理を行う。ここでテクスチャマッピング処理は、テクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点等に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部178からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
【0056】
そして本実施形態ではテクスチャ記憶部178は、第1〜第N(Nは2以上の整数。或いはNは3又は4以上の整数)のテクスチャ(テクスチャデータ)を記憶する。この第1〜第Nのテクスチャは芝生を表現するためのテクスチャであり、α値のプレーンを有する。そして描画部120は、この第1〜第Nのテクスチャをテクスチャ記憶部178から読み出し、読み出された第1〜第Nのテクスチャを第1〜第Nのオブジェクトにマッピングし、これらの第1〜第Nのオブジェクトを描画バッファ174に描画する。この第1〜第Nのオブジェクトは芝生(地面の上の芝生)を表現するためのオブジェクトであり、1又は複数のプリミティブ面により構成される。
【0057】
具体的にはテクスチャ記憶部178では、第1のテクスチャのテクセルのうち第1のグループに属するテクセル(複数のテクセル)については、0よりも大きなα1にα値が設定される。例えば第1のテクスチャのテクセルのうち第1のグループに属する第1〜第Iのテクセルでは、0よりも大きなα1にα値が設定される。一方、第1のテクスチャのテクセルのうち第2のグループに属する第I+1〜第Jのテクセルでは、例えば0のα値が設定される。この場合、0よりも大きなα1にα値が設定されるテクセル(第1のグループに属するテクセル)の周囲(例えば上下左右)のテクセルについては、0のα値が設定されるようにすることができる。
【0058】
なお第1〜第Iのテクセルのα値は、例えばα1=1.0というように同じ値であってもよいし、違う値であってもよい。また本実施形態では、α値が0であるということは透明を意味し、α値が1.0であるということは不透明を意味しており、この意味と同様の意味を持つαの値は本発明の範囲に含まれる。
【0059】
またテクスチャ記憶部178では、第K−1(2≦K≦N)のテクスチャにおいて0よりも大きなαK-1にα値が設定されるテクセルと同じテクスチャ座標の第Kのテクスチャのテクセルについては、αK-1以下のαK(αK-1より小さなαK)にα値が設定される。例えば第1のテクスチャ(第K−1のテクスチャ)において0よりも大きなα1にα値が設定されるテクセルと同じテクスチャ座標の第2のテクスチャ(第Kのテクスチャ)のテクセルについては、α1以下のα2にα値が設定される。また第2のテクスチャ(第K−1のテクスチャ)において0よりも大きなα2にα値が設定されるテクセルと同じテクスチャ座標の第3のテクスチャ(第Kのテクスチャ)のテクセルについては、α2以下のα3にα値が設定される。第4〜第Nのテクスチャについても同様である。
【0060】
この場合に、第1のテクスチャにおいて0のα値が設定されるテクセルと同じテクスチャ座標で指定される第2〜第Nのテクスチャのテクセルについては、例えばα値が0に設定される。またαK-1に対するαKの減衰率が少なくとも2つのテクセルで異なるように、第1〜第Nのテクスチャが記憶される。例えば第1のテクセルでのα値の減衰率と第2のテクセルでのα値の減衰率が異なるようにする。
【0061】
描画部120は、第K−1のテクスチャがマッピングされる第K−1のオブジェクトの上に、第Kのテクスチャがマッピングされる第Kのオブジェクトが描画されるように、第1〜第Nのオブジェクトを描画する。例えば第1のテクスチャがマッピングされる第1のオブジェクトを描画し、この第1のオブジェクトの上に、第2のテクスチャがマッピングされる第2のオブジェクトを描画する。また第2のオブジェクトの上に、第3のテクスチャがマッピングされる第3のオブジェクトを描画する。第4〜第Nのオブジェクトについても同様である。
【0062】
また描画部120は、下地オブジェクトを描画バッファ174に描画する。具体的には下地テクスチャがマッピングされた下地オブジェクトを描画する。そして描画された下地オブジェクトの上に第1〜第Nのオブジェクトを順次描画する。更に具体的には、第1〜第Nのテクスチャに設定されるα値に基づいて、下地オブジェクトの色と第1〜第Nのオブジェクトの色(芝生等のテクスチャの色)とのブレンディング処理を行う。
【0063】
なお下地オブジェクトは例えば地面(マップ)等を表現するためのオブジェクトである。また下地オブジェクトを基準として、第1のオブジェクトは最も低い位置に配置され、第Nのオブジェクトは最も高い位置に配置される。
【0064】
また本実施形態ではテクスチャ記憶部178が、明るい色(輝度が高い色)の帯状パターンと暗い色(輝度が低い色)の帯状パターンとが第1の座標軸方向(例えばY軸)に沿って交互に並ぶ第1の帯状パターンテクスチャ(横の芝目を表すためのテクスチャ)を記憶する。また明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向(例えばX軸)に沿って交互に並ぶ第2の帯状パターンテクスチャ(縦の芝目を表すためのテクスチャ)を記憶する。なお3つ以上の帯状パターンテクスチャを記憶するようにしてもよい。
【0065】
そしてα値演算部116は、仮想カメラの視線方向に基づいてα値αABを演算する。また描画部120(αブレンディング部126)は、第1の帯状パターンテクスチャの色と第2の帯状パターンテクスチャの色とをαABに基づいてブレンドするブレンディング処理(α合成処理)を行う。そして描画部120(テクスチャマッピング部128)は、第1、第2の帯状パターンテクスチャを第1〜第Nのオブジェクトにマッピングして描画する。
【0066】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0067】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0068】
2.本実施形態の手法
2.1 芝生画像の表現
図2に示すように本実施形態では、テクスチャ記憶部178がテクスチャTEX1〜TEX6(広義には第1〜第Nのテクスチャ)を記憶する。これらのTEX1〜TEX6はα値のプレーンを有するテクスチャである。そして描画部120は、これらのテクスチャTEX1〜TEX6がマッピングされるオブジェクトOB1〜OB6(広義には第1〜第Nのオブジェクト)を描画する。具体的には、競技場の地面(フィールド)等を表す地面オブジェクトOBG(広義には下地オブジェクト)に地面テクスチャTEXG(広義には下地テクスチャ)をマッピングして描画バッファ174に描画する。そしてこの地面オブジェクトOBGの上に、テクスチャTEX1〜TEX6のα値を用いたαブレンディング処理を行いながら、複数レイヤーに重ねられたオブジェクトOB1〜OB6を描画する。
【0069】
更に具体的には、サッカー競技場のフィールドの芝生用のテクスチャとして図3に示すようなTEXAが用意される。このTEXAは芝生の色を表すテクスチャであり、競技場のフィールド全体の芝生の色を1枚のテクスチャで表している。本実施形態では、このテクスチャTEXAの色と、地面オブジェクトOBGの色とを、テクスチャTEX1〜TEX6に設定されたα値を用いてブレンドする。このために本実施形態では図3に示すように、テクスチャTEX1〜TEX6がマッピングされるオブジェクトOB1〜OB6をリピートしながら、フィールドを敷き詰めるように描画する。
【0070】
図4にテクスチャTEX1、TEX2、TEX3・・・のα値のパターンの例を示す。例えばテクスチャTEX1のテクセルのうち、A1、A2、A3に示すテクセルは第1のグループに属し、0よりも大きなα1=1.0にα値が設定されている。このようにα1=1.0となる第1のグループのテクセルは、芝生のうち草がある部分を表している。
【0071】
一方、TEX1のテクセルのうち、B1、B2、B3、B4に示すテクセルは第2のグループに属し、0のα値が設定されている。このようにα値が0となる第2のグループのテクセルは、芝生のうち穴が空いて地面が見える部分を表している。
【0072】
テクスチャTEX1(第K−1のテクスチャ)においてα1=1.0に設定されているA1〜A3のテクセルと同じテクスチャ座標(テクスチャアドレス)のテクスチャTEX2(第Kのテクスチャ)のテクセルについては、図4のC1、C2、C3に示すようにα1=1.0よりも小さなα2=0.8、0.6、0.7にα値が設定されている。例えばA1、C1では、1.0から0.8にα値が減少し、A2、C2では、1.0から0.6にα値が減少している。
【0073】
この場合に本実施形態では、α1(αK-1)に対するα2(αK)の減衰率が少なくとも2つのテクセルで異なるようになっている。例えばα1に対するα2の減衰率は、A1、C1では80パーセントとなり、A2、C2では60パーセントとなる。
【0074】
またテクスチャTEX2(第K−1のテクスチャ)においてα2=0.8、0.6、0.7にα値が設定されているC1〜C3のテクセルと同じテクスチャ座標で指定されるテクスチャTEX3(第Kのテクスチャ)のテクセルについては、図4のE1、E2、E3に示すように、α2=0.8、0.6、0.7よりも小さなα3=0.6、0.3、0.4にα値が設定されている。例えばC1、E1では0.8から0.6にα値が減少し、C2、E2では0.6から0.3にα値が減少している。
【0075】
この場合にも本実施形態では、α2(αK-1)に対するα3(αK)の減衰率が少なくとも2つのテクセルで異なるようになっている。例えばα2に対するα3の減衰率は、C1、E1では75パーセントとなり、C2、E2では50パーセントとなっている。
【0076】
更に図4のB1、D1、F1や、B2、D2、F2に示すように、テクスチャTEX1においてα値が0に設定されるテクセルと同じテクスチャ座標で指定されるテクスチャTEX2、TEX3(第2〜第Nのテクスチャ)のテクセルについても、α値が0に設定される。
【0077】
図5〜図10にテクスチャTEX1〜TEX6の具体例を示す。例えば図5のテクスチャTEX1において、白の色のテクセルはα=1.0に設定されているテクセル(第1のグループに属するテクセル)であり、黒の色のテクセルはα=0.0に設定されているテクセル(第2のグループに属するテクセル)である。また図6のテクスチャTEX2では白い色のテクセル(α=1.0のテクセル)が減っており、図7のテクスチャTEX3では更に減っている。そして図10のテクスチャTEX6ではほとんどのテクセルが黒の色のテクセル(α=0のテクセル)になっている。
【0078】
図11に示すように本実施形態では、地面オブジェクトOBGの上にオブジェクトOB1が描画される。そしてOB1の上にOB2が描画され、OB2の上にOB3が描画され、OB3の上にOB4が描画され、OB4の上にOB5が描画され、OB5の上にOB6が描画される。
【0079】
そして第1のグループのテクセルT1、T3、T5、T7、T9については、テクスチャTEX1のα値が1.0に設定される。また第2のグループのテクセルT2、T4、T6、T8については、テクスチャTEX1のα値が0に設定される。
【0080】
またテクセルT1については、テクスチャTEX1、TEX2、TEX3、TEX4・・・・に行くに従って、α値が1.0、0.7、0.3、0というように減衰する。同様にテクセルT3については、α値が1.0、0.5、0というように減衰し、テクセルT5については、α値が1.0、0.8、0.5、0.2、0というように減衰する。
【0081】
図11のように本実施形態では、α値の減衰率がテクセル同士で異なっている。このようにすることで、芝生の草の長さの長短を表現することが可能になり、リアルな芝生画像を生成できる。
【0082】
またテクセルT2、T4、T6、T8では、上方から見た場合には地面オブジェクトOBGの色が見えるようになる。また斜め方向から見た場合には、オブジェクトOB1〜OB6のうちα値が0よりも大きい部分での芝生の色(図3のTEXAの色)と、地面オブジェクトOBGの色とがブレンドされて見えるようになる。従って、芝生の深さを表現することが可能になり、生成される画像のリアル度を向上できる。
【0083】
なお図11の各テクセルT1〜T9のα値は以下のような手法により決定できる。例えばテクスチャTEX1のα値が0であるテクセルT2、T4、T6、T8については、他のテクスチャTEX2〜TEX6でのα値も0に設定する。なおTEX1のうち、どのテクセルを0のα値に設定し、どのテクセルを1.0のα値に設定するかは、乱数等を用いて決定できる。
【0084】
一方、テクスチャTEX1のα値が1.0であるテクセルT1、T3、T5、T7、T9については、芝生の長さが設定される。例えばテクセルT1、T3、T5、T7、T9の芝生の長さは、各々、3、2、4、6、3に設定される。そしてこれらのテクセルT1、T3、T7、T9では、各々、長さ3、2、4、6、3を越えた所でα値が0になるように、各テクスチャTEX1〜TEX6でのα値を乱数等を用いて決定する。こうすることで、不規則に草の長さが設定された芝生を表現できる。
【0085】
また本実施形態では図12(A)に示すように、0よりも大きなα値に設定されているテクセル(第1のグループのテクセル)の周囲のテクセルについては、0のα値のテクセル(第2のグループのテクセル)になるように設定してる。
【0086】
例えば図12(A)では、α値が1.0であるテクセルTAの上下左右の周囲のテクセルTB、TC、TD、TEのα値は0に設定されている。なお図12(A)ではテクセルTF、TG、TH、TIについてもα値が0に設定されているが、これらのα値については1.0に設定するようにしてもよい。
【0087】
図12(A)に示すようにテクセルのα値を設定してテクスチャマッピングを行うと、バイリニア補間(テクセル補間)により、生成されるピクセルの画像は例えば図12(B)のような画像になる。即ち四角のテクセルが丸い図形の画像に見えるようになる。またテクセルTAのα値が例えば0.8である場合には、図12(C)に示すように、図12(B)に比べて小さな丸い図形に見えるようになる。従って、例えば芝生の画像を斜め方向から見た場合に、図12(D)に示すように見え、丸みを帯びた芝生の草の形状を擬似的に表現できる。
【0088】
例えば図12(A)においてαが1.0になるテクセルが隣り合うと、ピクセルの画像は楕円形状になってしまい、不自然な画像になってしまう。これに対して図12(A)に示すように、α値が1.0のテクセルの周囲のテクセルのα値を0に設定すれば、円柱状の1本1本の草の形状を擬似的に表現できるようになる。
【0089】
以上のように本実施形態では、テクスチャマッピングのバイリニア補間を利用することで、リアルな芝生画像の生成に成功している。例えば図13、図14、図15、図16に本実施形態により生成される画像の例を示す。図13、図14は、競技場の芝生を上方から見た図であり、図13は視点が芝生から遠い場合の図であり、図14は視点を芝生に近づけた場合の図である。また図15、図16は、競技場の芝生を斜め上方向から見た図であり、図15は視点が芝生から遠い場合の図であり、図16は視点を芝生に近づけた場合の図である。このように本実施形態によれば、芝生の1本1本の草のモデル等を用意しなくても、あたかも本物の芝生が生えているかのように見えるリアルな画像の生成が可能になる。
【0090】
2.2 芝目の表現
本実施形態では芝生の芝目を表現するために以下のような手法を採用している。例えば図17では、第1の帯状パターンのテクスチャTEXA(第1の芝目パターンのテクスチャ)と、第2の帯状パターンのテクスチャTEXB(第2の芝目パターンのテクスチャ)が用意される。
【0091】
具体的にはテクスチャTEXAでは、明るい色(例えば白っぽい色)の帯状パターン(テクスチャパターン)と、暗い色(例えば緑っぽい色)の帯状パターン(テクスチャパターン)とがY軸(広義には第1の座標軸)方向に沿って交互に並んでいる。別の言い方をすれば、TEXAはX軸方向の芝目パターンのテクスチャになっている。またテクスチャTEXBでは、明るい色の帯状パターンと暗い色の帯状パターンとがX軸(広義には第2の座標軸)方向に沿って交互に並んでいる。別の言い方をすれば、TEXBはY軸方向の芝目パターンのテクスチャになっている。
【0092】
そして本実施形態では、これらのテクスチャTEXAとTEXBの色を、仮想カメラVCの視線方向VLに基づき求められたα値αABによりブレンドする。
【0093】
具体的には図18のG1では、仮想カメラVCの視線方向VLは(X、Y)=(1、0)の方向に向いており、この場合にはαAB=1.0になる。即ちテクスチャTEXAの色はαAB=1.0の割合でブレンドされ、テクスチャTEXBの色は(1−αAB)=0の割合でブレンドされる。そしてテクスチャTEXAの色をCA、TEXBの色をCBとすると、ブレンディング処理後の色CBLは、CBL=CA×αAB+CB×(1−αAB)=CAになる。従って仮想カメラVCからは、テクスチャTEXAで表されるX軸方向の芝目が強く見えるようになり、リアルな芝目画像を生成できる。
【0094】
また図18のG2では、仮想カメラVCの視線方向VLは(X、Y)=(1、1)の方向に向いており、この場合にはαAB=0.5になる。即ちテクスチャTEXA、TEXBの色は共に0.5の割合でブレンドされる。従って、ブレンディング処理後の色CBLは、CBL=CA×αAB+CB×(1−αAB)=CA×0.5+CB×0.5になる。従って仮想カメラVCからは、テクスチャTEXAで表されるX軸方向の芝目と、テクスチャTEXBで表されるY軸方向の芝目とが混ざり合って見えるようになり、リアルな芝目画像を生成できる。
【0095】
また図18のG3では、仮想カメラVCの視線方向VLは(X、Y)=(0、1)の方向に向いており、この場合にはαAB=0になる。即ちテクスチャTEXA、TEXBの色は、各々、0、1.0の割合でブレンドされる。従って、ブレンディング処理後の色CBLは、CBL=CA×αAB+CB×(1−αAB)=CBになる。従って仮想カメラVCからは、テクスチャTEXBで表されるY軸方向の芝目が強く見えるようになり、リアルな芝目画像を生成できる。
【0096】
同様にG4、G5、G6の場合にはαABは、各々、0.5、1.0、0になる。従って、αブレンディング処理後の色CBLは、各々、CA×0.5+CB×0.5、CA、CBになる。
【0097】
なお図19に本実施形態で生成される画像の例を示す。図19は、図18のG1に示すように仮想カメラVCの視線方向VLが向いている時に生成される画像の例である。図19では、テクスチャTEXAの色とTEXBの色がブレンドされ、X軸方向の芝目とY軸方向の芝目とが混ざり合って見えるリアルな画像が生成されている。
【0098】
以上のように本実施形態の手法によれば、仮想カメラVCの視線方向VLに基づいてα値αABを求め、このαABに基づいてテクスチャTEXAとTEXBの色をブレンドするという簡素で負荷の軽い処理で、芝目が表現されたリアルな芝生画像を生成できる。
【0099】
なお本実施形態では、図17、図18の手法で得られた色CBLと、地面オブジェクトOBGの色CGとを、図2のテクスチャTEX1〜TEX6に設定されたα値に基づいてブレンドすることで、最終的な芝生画像の色を求めている。
【0100】
2.3 詳細な処理例
次に本実施形態の詳細な処理例を図20のフローチャートを用いて説明する。
【0101】
まず、キャラクタ(移動体オブジェクト)の位置、方向を演算する(ステップS1)。このキャラクタは、サッカーゲームを例にとればサッカー選手を表すキャラクタである。
【0102】
次に、仮想カメラの位置、視線方向を求める(ステップS2)。この場合、仮想カメラの位置、視線方向は、キャラクタの位置、方向に基づいて求めてもよいし、キャラクタの位置、方向とは無関係に仮想カメラの制御プログラムに基づいて仮想カメラの位置、視線線方向を求めてもよい。
【0103】
次に、ステップS2で求められた仮想カメラの視線方向VLに基づいて、帯状パターンテクスチャTEXA、TEXBのブレンド率であるα値αABを求める(ステップS3)。具体的には、αAB=abs(VL・S)の演算式でαABを求める。ここで、Sは、例えばX方向を向く単位ベクトルである。またabs(Q)はQの絶対値を求める関数である。またVL・SはベクトルVLとSの内積を意味する。
【0104】
次に地面オブジェクトを描画する(ステップS4)。そしてキャラクタを描画する(ステップS5)。
【0105】
次にK=1に設定する(ステップS6)。そして第KのテクスチャTEXKがマッピングされる第KのオブジェクトOBKを描画する(ステップS7)。この場合のαブレンディングの式は下式のようになる。
【0106】
COL=CG×(1−α)+{CA×αAB+CB×(1−αAB)}×α
ここで、COLは最終的な結果色であり、CGは地面の色であり、αはテクスチャTEXKに設定されるα値(図2のTEX1〜TEX6に設定されるα値)である。またCAは帯状パターンテクスチャTEXAの色であり、CBは帯状パターンテクスチャTEXBの色であり、αABは、TEXAとTEXBの色のブレンド率である。
【0107】
次にKを1だけインクリメントする(ステップS8)。そしてKがNよりも大きいか否かを判断し(ステップS9)、KがN以下である場合にはステップS7に戻る。一方、KがNよりも大きい場合には処理を終了する。
【0108】
3.ハードウェア構成
図21に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0109】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0110】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0111】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0112】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0113】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0114】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0115】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(下地オブジェクト、下地テクスチャ、第1の座標軸、第2の座標軸等)と共に記載された用語(地面オブジェクト、地面テクスチャ、Y軸、X軸等)は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【0116】
また本実施形態では芝生の画像表現に本発明の手法を適用した場合について説明したが本発明はこれに限定されず、他の画像表現にも適用可能である。またテクスチャマッピング手法やテクスチャのα値設定手法も本実施形態で説明した手法には限定されない。
【0117】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0118】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】本実施形態の描画手法の説明図。
【図3】本実施形態の描画手法の説明図。
【図4】テクスチャに設定されるα値のパターン例。
【図5】テクスチャTEX1の具体例。
【図6】テクスチャTEX2の具体例。
【図7】テクスチャTEX3の具体例。
【図8】テクスチャTEX4の具体例。
【図9】テクスチャTEX5の具体例。
【図10】テクスチャTEX6の具体例。
【図11】テクスチャのα値の設定手法の説明図。
【図12】図12(A)(B)(C)(D)はバイリニア補間を利用する手法の説明図。
【図13】本実施形態により生成される画像の例。
【図14】本実施形態により生成される画像の例。
【図15】本実施形態により生成される画像の例。
【図16】本実施形態により生成される画像の例。
【図17】芝目を表現する手法の説明図。
【図18】芝目を表現する手法の説明図。
【図19】本実施形態により生成される画像の例。
【図20】本実施形態の処理の詳細例。
【図21】ハードウェア構成例。
【符号の説明】
【0119】
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 α値演算部、120 描画部、
122 ジオメトリ処理部、124 隠面消去部、126 αブレンディング部、
128 テクスチャマッピング部、130 音生成部、160 操作部、
170 記憶部、172 主記憶部、174 描画バッファ、
176 モデルデータ記憶部、178 テクスチャ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
第1〜第N(Nは2以上の整数)のテクスチャを記憶するテクスチャ記憶部と、
前記第1〜第Nのテクスチャがマッピングされる第1〜第Nのオブジェクトを描画する描画部として、
コンピュータを機能させ、
前記テクスチャ記憶部は、
前記第1のテクスチャのテクセルのうち第1のグループに属するテクセルについては、0よりも大きなα1にα値が設定されるように、前記第1のテクスチャを記憶し、
第K−1(2≦K≦N)のテクスチャにおいて0よりも大きなαK-1にα値が設定されるテクセルと同じテクスチャ座標で指定される第Kのテクスチャのテクセルについては、前記αK-1以下のαKにα値が設定されるように、第2〜第Nのテクスチャを記憶し、
前記描画部は、
前記第K−1のテクスチャがマッピングされる第K−1のオブジェクトの上に、前記第Kのテクスチャがマッピングされる第Kのオブジェクトが描画されるように、前記第1〜第Nのオブジェクトを描画することを特徴とするプログラム。
【請求項2】
請求項1において、
前記テクスチャ記憶部は、
前記αK-1に対する前記αKの減衰率が少なくとも2つのテクセルで異なるように、前記第1〜第Nのテクスチャを記憶することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記テクスチャ記憶部は、
前記第1のテクスチャのテクセルのうち第2のグループに属するテクセルについては、0のα値が設定されるように、前記第1のテクスチャを記憶することを特徴とするプログラム。
【請求項4】
請求項3において、
前記テクスチャ記憶部は、
前記第1のテクスチャにおいて0のα値が設定されるテクセルと同じテクスチャ座標で指定される第2〜第Nのテクスチャのテクセルについては、0のα値が設定されるように、前記第2〜第Nのテクスチャを記憶することを特徴とするプログラム。
【請求項5】
請求項3又は4において、
前記テクスチャ記憶部は、
0よりも大きなα値α1に設定されるテクセルの周囲のテクセルについては、0のα値に設定されるように、前記第1のテクスチャを記憶することを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
前記描画部は、
下地オブジェクトを描画し、前記下地オブジェクトの上に前記第1〜第Nのオブジェクトを描画し、前記第1〜第Nのテクスチャに設定されるα値に基づいて、前記下地オブジェクトの色と、第1〜第Nのオブジェクトの色とのブレンディング処理を行うことを特徴とするプログラム。
【請求項7】
請求項6において、
前記下地オブジェクトは、地面を表現するためのオブジェクトであることを特徴とするプログラム。
【請求項8】
請求項7において、
前記第1〜第Nのオブジェクトは、前記地面の上の芝生を表現するためのオブジェクトであることを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
仮想カメラの視線方向、視点位置を制御する仮想カメラ制御部と、
α値演算部として、
コンピュータを機能させ、
前記テクスチャ記憶部は、
明るい色の帯状パターンと暗い色の帯状パターンとが第1の座標軸方向に沿って並ぶ第1の帯状パターンテクスチャと、明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向に沿って並ぶ第2の帯状パターンテクスチャを記憶し、
前記α値演算部は、
前記仮想カメラの視線方向に基づいて、前記第1、第2の帯状パターンテクスチャの色のブレンド率であるα値αABを演算し、
前記描画部は、
前記第1の帯状パターンテクスチャの色と前記第2の帯状パターンテクスチャの色とを前記αABに基づいてブレンドするαブレンディング処理を行いながら、前記第1、第2の帯状パターンテクスチャがマッピングされる前記第1〜第Nのオブジェクトを描画することを特徴とするプログラム。
【請求項10】
画像を生成するためのプログラムであって、
仮想カメラの視線方向、視点位置を制御する仮想カメラ制御部と、
明るい色の帯状パターンと暗い色の帯状パターンとが第1の座標軸方向に沿って並ぶ第1の帯状パターンテクスチャと、明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向に沿って並ぶ第2の帯状パターンテクスチャを記憶するテクスチャ記憶部と、
前記仮想カメラの視線方向に基づいて、前記第1、第2の帯状パターンテクスチャの色のブレンド率であるα値αABを演算するα値演算部と、
前記第1の帯状パターンテクスチャの色と前記第2の帯状パターンテクスチャの色とを前記αABに基づいてブレンドするαブレンディング処理を行いながら、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトを描画する描画部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項11】
請求項10において、
前記描画部は、
下地オブジェクトを描画し、前記下地オブジェクトの上に、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトを描画することを特徴とするプログラム。
【請求項12】
請求項11において、
前記下地オブジェクトは、地面を表現するためのオブジェクトであることを特徴とするプログラム。
【請求項13】
請求項12において、
前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトは、前記地面の上の芝生を表現するためのオブジェクトであることを特徴とするプログラム。
【請求項14】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至13のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項15】
画像を生成する画像生成システムであって、
第1〜第N(Nは2以上の整数)のテクスチャを記憶するテクスチャ記憶部と、
前記第1〜第Nのテクスチャがマッピングされる第1〜第Nのオブジェクトを描画する描画部とを含み、
前記テクスチャ記憶部は、
前記第1のテクスチャのテクセルのうち第1のグループに属するテクセルについては、0よりも大きなα1にα値が設定されるように、前記第1のテクスチャを記憶し、
第K−1(2≦K≦N)のテクスチャにおいて0よりも大きなαK-1にα値が設定されるテクセルと同じテクスチャ座標で指定される第Kのテクスチャのテクセルについては、前記αK-1以下のαKにα値が設定されるように、第2〜第Nのテクスチャを記憶し、
前記描画部は、
前記第K−1のテクスチャがマッピングされる第K−1のオブジェクトの上に、前記第Kのテクスチャがマッピングされる第Kのオブジェクトが描画されるように、前記第1〜第Nのオブジェクトを描画することを特徴とする画像生成システム。
【請求項16】
画像を生成する画像生成システムであって、
仮想カメラの視線方向、視点位置を制御する仮想カメラ制御部と、
明るい色の帯状パターンと暗い色の帯状パターンとが第1の座標軸方向に沿って並ぶ第1の帯状パターンテクスチャと、明るい色の帯状パターンと暗い色の帯状パターンとが第2の座標軸方向に沿って並ぶ第2の帯状パターンテクスチャを記憶するテクスチャ記憶部と、
前記仮想カメラの視線方向に基づいて、前記第1、第2の帯状パターンテクスチャの色のブレンド率であるα値αABを演算するα値演算部と、
前記第1の帯状パターンテクスチャの色と前記第2の帯状パターンテクスチャの色とを前記αABに基づいてブレンドするαブレンディング処理を行いながら、前記第1、第2の帯状パターンテクスチャがマッピングされるオブジェクトを描画する描画部とを含むことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図17】
image rotate

【図18】
image rotate

【図20】
image rotate

【図21】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図19】
image rotate


【公開番号】特開2007−164651(P2007−164651A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−362740(P2005−362740)
【出願日】平成17年12月16日(2005.12.16)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】