(57)【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
ゲーム空間を移動するオブジェクトと液面の接触点を求める手段と、
ゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する波紋画像生成手段と、を含み、
波紋画像生成手段が、
前記接触点と波紋テクスチャをマッピングした波紋オブジェクトの代表点が重なるように波紋オブジェクトを配置するよう構成され、時間の経過につれて配置する波紋オブジェクトを大きくすることを特徴とするゲームシステム。
【請求項２】
請求項１において、
波紋画像生成手段が、
液面の輪郭付近に近づくほど波紋画像を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うことを特徴とするゲームシステム。
【請求項３】
画像生成を行うゲームシステムであって、
ゲーム空間を移動するオブジェクトと液面の接触点を求める手段と、
ゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する波紋画像生成手段と、を含み、
波紋画像生成手段が、
前記接触点と波紋テクスチャの波紋画像の波紋の輪の中心点が重なるように波紋テクスチャを液面オブジェクトにマッピングするよう構成され、
時間の経過につれてマッピングする波紋テクスチャを拡大してより大きな波紋を有する波紋テクスチャを液面オブジェクトにマッピングすることを特徴とするゲームシステム。
【請求項４】
請求項３において、
波紋画像生成手段が、
液面の輪郭付近に近づくほど波紋画像を薄くするような半透明情報を液面オブジェクトにマッピングされる液面テクスチャに設定しておき、波紋テクスチャを液面オブジェクトにマッピングする際に当該半透明情報に基づき半透明処理を行うことを特徴とするゲームシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
波紋画像生成手段が、
時間の経過に従って波紋画像を薄くするように波紋画像を描画する際の半透明情報を変化させて半透明処理を行うことを特徴とするゲームシステム。
【請求項６】
コンピュータにより読み取り可能な情報記憶媒体であって、
ゲーム空間を移動するオブジェクトと液面の接触点を求める手段と、
ゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する波紋画像生成手段と、してコンピュータを機能させるプログラムが記憶され、
前記波紋画像生成手段が、
前記接触点と波紋テクスチャをマッピングした波紋オブジェクトの代表点が重なるように波紋オブジェクトを配置するよう構成され、
時間の経過につれて配置する波紋オブジェクトを大きくすることを特徴とする情報記憶媒体。
【請求項７】
請求項６において、
液面の輪郭付近に近づくほど波紋画像を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うことを特徴とする情報記憶媒体。
【請求項８】
コンピュータにより読み取り可能な情報記憶媒体であって、
ゲーム空間を移動するオブジェクトと液面の接触点を求める手段と、
ゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する波紋画像生成手段と、してコンピュータを機能させるプログラムが記憶され、
前記波紋画像生成手段が、
前記接触点と波紋テクスチャの波紋波紋画像の波紋の輪の中心点が重なるように波紋テクスチャを液面オブジェクトにマッピングするよう構成され、
時間の経過につれてマッピングする波紋テクスチャを拡大してより大きな波紋を有する波紋テクスチャを液面オブジェクトにマッピングすることを特徴とする情報記憶媒体。
【請求項９】
請求項８において、
液面の輪郭付近に近づくほど波紋画像を薄くするような半透明情報を液面オブジェクトにマッピングされる液面テクスチャに設定しておき、波紋テクスチャを液面オブジェクトにマッピングする際に当該半透明情報に基づき半透明処理を行うことを特徴とする情報記憶媒体。
【請求項１０】
請求項６乃至９のいずれかにおいて、
時間の経過に従って波紋波紋画像を薄くするように波紋画像を描画する際の半透明情報を変化させて半透明処理を行うことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。ここにおいて例えばゲーム空間内に池や水溜まり等の水面がある場合にはリアルな水面の表現が重要となる。
【０００４】
最近のコンピュータグラフィックスによれば水面の質感や揺らぎや透明感等のリアルな表現が可能であり、例えば静止又は定常状態の池や水溜まり等のリアルな画像を提供するゲームシステムは多い。
【０００５】
ところが現実の水溜まりは常に静止又は定常状態ではなく、何かが水面に入ったりした場合には、水面に動的な変化が生じる。例えば水面に人が脚を踏み込んだりした場合には、接触点の周りに波紋が生じて、やがて波紋が広がり時間の経過とともに波紋が消滅する。
【０００６】
そこでゲームシステムにおいても、インタラクティブに動作するキャラクタが池や水溜まり等の水面に脚を踏み入れたりした場合に、その水面に生じる動的な変化をリアルに表現することが好ましい。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、インタラクティブに水面に生じる動的な変化をリアルに表現可能なゲームシステム、プログラム及び情報記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
（１）本発明は画像生成を行うゲームシステムであって、ゲーム空間を移動するオブジェクトと液面の接触点を求める手段と、ゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する波紋画像生成手段と、を含むことを特徴とする。
【０００９】
また本発明にかかるプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させることを特徴とする。また本発明にかかる情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【００１０】
ここにおいて液面とは、例えば水面であり、池や水溜まり等の静止した液体の液面でもよいし、海や川等の動きのある液面でもよい。また液面は、例えば自由曲面で構成されている場合でもよいし、ポリゴンオブジェクトで構成されている場合でもよいし、スプライトのような１枚ポリゴンで構成されている場合でもよい。
【００１１】
本発明によればリアルタイムに演算された移動オブジェクトと液面の接触点の周りに波紋画像を生成することができる。
【００１２】
したがってインタラクティブに動作するキャラクタが池や水溜まり等の水面に脚を踏み入れたりした場合に、その水面に発生する波紋をリアルに表現することができる。
【００１３】
（２）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、前記接触点と波紋オブジェクトの波紋の中心点が重なるように波紋オブジェクトを配置することを特徴とする。
【００１４】
ここにおいて波紋オブジェクトは、例えば自由曲面で構成されている場合でもよいし、ポリゴンオブジェクトで構成されている場合でもよいし、スプライトのような１枚ポリゴンで構成されている場合でもよい。
【００１５】
本発明によれば、前記接触点と波紋オブジェクトの波紋の中心点が重なるように波紋オブジェクトを配置することで、インタラクティブに発生した接触点に対して、接触点を中心としてその周りに波紋が生じた画像を生成することができる。
【００１６】
（３）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、時間の経過につれて配置する波紋オブジェクトを大きくすることを特徴とする。
【００１７】
ここにおいて時間の経過とは接触してからの経過時間のことであり、例えば進行したフレーム数で時間の経過を判断する場合には、フレームの進行につれて配置する波紋オブジェクトを大きくする場合も本発明に含まれる。
【００１８】
本発明によれば時間の経過につれて発生した波紋が広がっていく画像を生成することができる。
【００１９】
（４）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うことを特徴とする。
【００２０】
例えば液面テクスチャや所与のバッファに液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておくことができる。
【００２１】
本発明によれば液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うことで液面の端付近に近づくほど波紋がうすく表示される画像を生成することができる。
【００２２】
（５）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、前記接触点と波紋テクスチャの波紋の中心点が重なるように波紋テクスチャを液面オブジェクトにマッピングすることを特徴とする。
【００２３】
本発明によれば、前記接触点と波紋テクスチャの波紋の中心点が重なるように波紋テクスチャを液面オブジェクトにマッピングすることで、インタラクティブに発生した接触点に対して、接触点を中心としてその周りに波紋が生じた画像を生成することができる。
【００２４】
（６）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、波紋の大きさの異なる複数の波紋テクスチャを用意しておいて、時間の経過につれてマッピングする波紋テクスチャをより大きな波紋を有する波紋テクスチャに差し替えることを特徴とする。
【００２５】
ここにおいて時間の経過とは接触してからの経過時間のことであり、例えば進行したフレーム数で時間の経過を判断する場合には、フレームの進行につれて配置する波紋オブジェクトを大きくする場合も本発明に含まれる。
【００２６】
本発明によれば時間の経過につれて発生した波紋が広がっていく画像を生成することができる。
【００２７】
（７）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋テクスチャをマッピングする際に当該半透明情報に基づき半透明処理を行うことを特徴とする。
【００２８】
例えば液面テクスチャや所与のバッファに液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておくことができる。
【００２９】
本発明によれば液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うことで液面の端付近に近づくほど波紋がうすく表示される画像を生成することができる。
【００３０】
（８）また本発明に係るゲームシステム、プログラム及び情報記憶媒体は、波紋画像生成手段が、時間の経過に従って波紋を薄くすることを特徴とする。
【００３１】
ここにおいて時間の経過とは接触してからの経過時間のことであり、例えば進行したフレーム数で時間の経過を判断する場合には、フレームの進行につれて配置する波紋を薄くする場合も本発明に含まれる。
【００３２】
例えば波紋発生からの経過時間に基づき、半透明描画処理を用いて波紋を描画する際に参照するα値を変更することにより、波紋画像のＲＧＢ値を０に近づける場合でもよいし、例えば波紋テクスチャのＲＧＢ値を直接操作して０に近づける場合でもよい。
【００３３】
本発明によれば発生した波紋が時間が経過するにつれ薄く表示される画像を生成することができる。
【００３４】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３５】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００３６】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３７】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００３８】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、メインメモリ１７２、フレームバッファ１７４（第１のフレームバッファ、第２のフレームバッファ）として機能し、ＲＡＭなどのハードウェアにより実現できる。
【００３９】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００４０】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００４１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００４２】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００４３】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００４４】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４５】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４６】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００４７】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、ゲームプログラムなどに基づいて行う。
【００４８】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって例えば座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）や、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファ１７４に描画するための処理等の各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。
【００４９】
また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００５０】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００５１】
ゲーム処理部１１０は、移動・動作演算部１１２、接触点演算処理部１１４とを含む。
【００５２】
ここで移動・動作演算部１１２は、キャラクタ車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００５３】
より具体的には、移動・動作演算部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００５４】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
また接触点演算処理部１１４は、ゲーム空間を移動するオブジェクトと液面の接触点を求める処理を行う。
【００５５】
波紋画像生成部１４０はゲーム空間を移動するオブジェクトが液面に接触した場合に、前記接触点の周りに波紋画像を生成する処理を行う。前記接触点と波紋オブジェクトの波紋の中心点が重なるように波紋オブジェクトを配置する処理を行うようにしてもよい。また時間の経過につれて配置する波紋オブジェクトを大きくする処理を行うようにしてもよい。また液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋オブジェクトを描画する際に当該半透明情報に基づき半透明処理を行うようにしてもよい。
【００５６】
また前記接触点と波紋テクスチャの波紋の中心点が重なるように波紋テクスチャを液面オブジェクトにマッピングする処理を行うようにしてもよい。また波紋の大きさの異なる複数の波紋テクスチャを用意しておいて、時間の経過につれてマッピングする波紋テクスチャをより大きな波紋を有する波紋テクスチャに差し替える処理を行うようにしてもよい。また、液面の輪郭付近に近づくほど波紋を薄くするような半透明情報を設定しておき、波紋テクスチャをマッピングする際に当該半透明情報に基づき半透明処理を行うようにしてもよい。
【００５７】
また時間の経過に従って波紋を薄くする処理を行うようにしてもよい。
【００５８】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５９】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００６０】
２．本実施形態の特徴
本実施の形態の特徴を図面を用いて説明する。
【００６１】
図２は本実施の形態の特徴について説明するための図である。
【００６２】
本実施の形態では、ゲーム空間を移動するキャラクタオブジェクト２１０（オブジェクト）とゲーム空間の水溜まり２２０（液面）とのヒットチェックをリアルタイムに行い、キャラクタオブジェクト２１０（オブジェクト）と水溜まり２２０（液面）の接触点２３０を求め、液面の前記接触点２３０の周りに発生した波紋２４０の画像を生成する。
【００６３】
図３（Ａ）（Ｂ）は、本実施の形態において波紋画像を生成する際の手法の一例について説明するための図である。
【００６４】
例えば図３（Ａ）に示すように道３１２の一部にできた水溜まり３２２に所与のオブジェクトが接触点３４０に接触した場合に水たまり３２２の水面に発生した波紋３３２を表現する場合の一例として図３（Ｂ）に示すような手法がある。
【００６５】
すなわち水溜まりオブジェクト３２０と波紋オブジェクト３３０を用いて、背景オブジェクトの所定エリアに水溜まりオブジェクト３２０をおき、水溜まりオブジェクト３２０の上に波紋オブジェクト３３０をおいて画像生成を行う手法である。ここで水溜まりオブジェクト２２０は水溜まりテクスチャがマッピングされ、波紋オブジェクト３３０には波紋テクスチャがマッピングされるとする。
【００６６】
なお水溜まりオブジェクト２２０や波紋オブジェクト３３０は、例えばスプライトのような１枚ポリゴンで構成されている場合でもよい。
【００６７】
以下かかる手法を用いて波紋画像を生成する場合を例にとり説明する。
【００６８】
図４はゲーム空間における波紋オブジェクトの位置決定について説明するための図である。例えばキャラクタオブジェクトが水溜まりに脚を入れた場合に水面に生じる波紋を生成する場合には、まず水面とキャラクタオブジェクトのヒットチェックを行い、水面上の接触点の座標（Ｘｗ、Ｙｗ、Ｚｗ）を求める。
【００６９】
ここで波紋の中心点を波紋オブジェクトの代表点として、波紋オブジェクトの代表点に接触点の座標（Ｘｗ、Ｙｗ、Ｚｗ）を与える。そして３５０に示すように、水溜まりオブジェクト３２０の接触点３４０に波紋オブジェクト３３０の代表点が重なるように配置する。
【００７０】
このように水溜まりオブジェクト３２０と波紋オブジェクト３３０を配置することで、接触点の周りに波紋が生じる画像を生成することができる。
【００７１】
図５（Ａ）（Ｂ）は、時間の経過に伴う波紋の広がりを表現する構成について説明するための図である。
【００７２】
図５（Ａ）の３６０−１は接触直後の波紋画像であり、３３０−１はこの波紋画像３６０−１を生成する際に用いた波紋オブジェクトである。また図５（Ｂ）の３６０−２は数フレーム経過後の波紋画像であり、３３０−２はこの波紋画像３６０−２を生成する際に用いた波紋オブジェクトである。
【００７３】
本実施の形態では接触してから時間（フレーム）が経過するほど、大きな波紋オブジェクトを用いて波紋画像を生成する。波紋オブジェクトを大きくすると、マッピングの際に波紋テクスチャが波紋オブジェクトの大きさに応じて拡大されるので、波紋（３３２−１、３３２−２）自体も同様に拡大される。
【００７４】
このようにすることで、時間（フレーム）が経過するほど波紋が大きくなる様子を表現することができる。
【００７５】
次に、水溜まりの端に行くほど波紋を薄くする構成について説明する。
【００７６】
図６は水溜まりテクスチャに設定されているα値の内容について説明するための図である。同図に示すように水たまりをより中心に近い方から端にむかってＥ1、Ｅ2、Ｅ3、Ｅ4の複数のエリアに分割し、各エリアのα値としてα1＞α2＞α3＞α4となるようなα1、α2、α3、α4を設定する。ここでα値は０以上、１以下の値をとるものとし、フレームバッファに描画する各ピクセルについて半透明処理を行う際に使用する。
【００７７】
図７は水溜まりテクスチャに設定されたα値に基づき波紋画像を半透明描画する処理について説明するための図である。
【００７８】
４００は波紋画像描画前（水溜まりは描画済み）のフレームバッファ様子を模式的に示したものであり、４１０はレンダリング後の波紋画像である。本実施の形態では水溜まりテクスチャに設定されたα値に基づきαブレンディング処理を行い、波紋画像４１０を水溜まりが描画されたフレームバッファ４００に半透明描画する。４００’は波紋画像描画後のフレームバッファの様子を模式的に表したものである。
【００７９】
なおαブレンディング処理を行う際に必要なアルファ値は水溜まりテクスチャを参照するようにしてもよい。また水溜まりをフレームバッファに描画する際にα値もフレームバッファに書き込んでおき、フレームバッファに書き込んだアルファ値を参照するようにしてもよい。
【００８０】
ここでＰ1は波紋画像描画前のフレームバッファにおける水溜まりの中心付近のピクセルであり、Ｐ1’はＰ1に波紋画像のｐ1が描画された後のフレームバッファにおけるピクセルである。Ｐ1におけるＲＧＢ値とα値が（Ｒ1、Ｇ1、Ｂ1、α1）、ｐ1におけるＲＧＢ値が（ｒ1、ｇ1、ｂ1）で、Ｐ1’におけるＲＧＢ値が（Ｒ1’、Ｇ1’、Ｂ1’）とすると、Ｒ1’、Ｇ1’、Ｂ1’は以下の式で与えられる。
【００８１】
Ｒ1’＝α1ｒ1＋（１‐α1）Ｒ1
Ｇ1’＝α1ｇ1＋（１‐α1）Ｇ1
Ｂ1’＝α1ｂ1＋（１‐α1）Ｂ1
またＰ2は波紋画像描画前のフレームバッファにおける水溜まりの中心よりやや端に離れたピクセルであり、Ｐ2’はＰ2に波紋画像のｐ2が描画された後のフレームバッファにおけるピクセルである。Ｐ2におけるＲＧＢ値とα値が（Ｒ2、Ｇ2、Ｂ2、α2）、ｐ2におけるＲＧＢ値が（ｒ2、ｇ2、ｂ2）で、Ｐ2’におけるＲＧＢ値が（Ｒ2’、Ｇ2’、Ｂ2’）とすると、Ｒ2’、Ｇ2’、Ｂ2’は以下の式で与えられる。
【００８２】
Ｒ2’＝α2ｒ2＋（１‐α2）Ｒ2
Ｇ2’＝α2ｇ2＋（１‐α2）Ｇ2
Ｂ2’＝α2ｂ2＋（１‐α2）Ｂ2
ここにおいてα1＞α2であるため、水溜まりの端に近いピクセルＰ2は水溜まりの中心付近のピクセルＰ1に比べ波紋が薄くなる。
【００８３】
次に時間の経過につれて波紋を薄くする構成について説明する。
【００８４】
図８（Ａ）（Ｂ）は、水溜まりテクスチャに設定されているα値の時間の経過に伴う変化状況について説明するための図である。図８（Ａ）は接触直後の各エリアＥ1、Ｅ2、Ｅ3、Ｅ4のα値の値を表しており、図８（Ｂ）は接触して所定時間（フレーム）経過後の直後の各エリアＥ1、Ｅ2、Ｅ3、Ｅ4のα値の値を表している。
【００８５】
ここにおいてα1＞α1’、α2＞α2’、α3＞α3’、α4＞α4’である。このように本実施の形態では時間の経過とともにα値を減少させる。
【００８６】
図９（Ａ）（Ｂ）（Ｃ）は水溜まりの所与の点における波紋のＲＧＢ値の時間（フレーム）の経過に伴う変化について説明するための図である。
【００８７】
ｔ＝０は接触による波紋発生時である。またＲｈ，Ｇｈ，Ｂｈはそれぞれ波紋テクスチャの波紋のＲＧＢ値である。本実施の形態のように時間の経過とともにα値を減少させることにより、水溜まりに描画された波紋を時間の経過とともに薄くし最終的に波紋を消滅させることができる。
【００８８】
図１０は本実施の形態の波紋画像生成処理の一例について説明するためのフローチャート図である。
【００８９】
まずキャラクタオブジェクトと水溜まりのヒットチェックを行う（ステップＳ１０）。
【００９０】
そしてキャラクタオブジェクトが水溜まりに接触した場合には、キャラクタオブジェクトと水溜まりの接触点の座標Ｐを求め、接触点におく波紋オブジェクトを生成し、水溜まり上の接触点の座標Ｐが波紋オブジェクトの波紋の中心となるように波紋オブジェクトの位置を決定する（ステップＳ２０、Ｓ３０、Ｓ４０）。
【００９１】
またキャラクタオブジェクトが水溜まりに接触しなかった場合には、ステップＳ５０に行く（ステップＳ２０）。
【００９２】
次に波紋オブジェクトの発生からの経過時間に従い波紋オブジェクトを拡大し、水溜まりテクスチャに設定されたα値を減少させる（ステップＳ５０）。
【００９３】
水溜まりテクスチャをマッピングした水溜まりオブジェクトをフレームバッファに描画する（ステップＳ６０）。
【００９４】
水溜まりテクスチャに設定されたα値に基づき、波紋テクスチャをマッピングした水溜まりオブジェクトをフレームバッファに半透明描画する（ステップＳ７０）。
【００９５】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１１を用いて説明する。
【００９６】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００９７】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９８】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９９】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１００】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１０１】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１０２】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１０３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１０４】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１０５】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０６】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１０７】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１０８】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１０９】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１１０】
図１２（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１１１】
図１２（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１１２】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１１３】
なお、図１２（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１１４】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１１５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１１６】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１１７】
本実施の形態では、水溜まりテクスチャがマッピングされた水溜まりオブジェクト３２０と波紋テクスチャがマッピングされた波紋オブジェクト３３０を用いて、水溜まりに生じた波紋画像を生成する場合について説明したが、これに限られない。例えば水溜まりオブジェクトに、水溜まりテクスチャと波紋テクスチャをマルチテクスチャマッピングする場合でもよい。
【０１１８】
図１３は、マルチテクスチャマッピングを用いた波紋画像生成処理の一例について説明するためのフローチャート図である。
【０１１９】
まずキャラクタオブジェクトと水溜まりのヒットチェックを行う（ステップＳ１１０）。
【０１２０】
そしてキャラクタオブジェクトが水溜まりに接触した場合には、キャラクタオブジェクトと水溜まりの接触点の座標Ｐを求める（ステップＳ１２０、Ｓ１３０）。
【０１２１】
またキャラクタオブジェクトが水溜まりに接触しなかった場合には、ステップＳ１４０に行く（ステップＳ２０）。
【０１２２】
次に波紋の発生からの経過時間に従い波紋テクスチャのパラメータを拡大し、水溜まりテクスチャに設定されたα値を減少させる（ステップＳ１４０）。ここにおいて波紋テクスチャのパラメータを拡大するとは、例えば水溜まりオブジェクトに設定された波紋テクスチャのＵＶ値を拡大するような場合である。当該ＵＶ値を拡大することにより水溜まりオブジェクトにマッピングされた波紋模様を大きくすることができる。
【０１２３】
水溜まりテクスチャに設定されたα値に基づき、水溜まりテクスチャ及び波紋テクスチャを水溜まりオブジェクトにマルチテクスチャマッピングする（ステップＳ１５０）。
【０１２４】
本実施の形態では波紋発生からの経過時間に基づき、水溜まりテクスチャに設定されたα値を減少させることにより、波紋画像のＲＧＢ値を０に近づける場合を例にとり説明したがこれに限られない。例えば波紋テクスチャのＲＧＢ値を直接操作して０に近づける場合でもよい。
【０１２５】
本実施の形態では波紋オブジェクトを描画する際に水溜まりの輪郭付近に近づくほど波紋を薄くするための半透明処理に使用するα値を水溜まりテクスチャに設定している場合を例にとり説明したがこれに限られない。例えば他の領域に設定しておく場合でもよい。
【０１２６】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１２７】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムのブロック図の例である。
【図２】本実施の形態の特徴について説明するための図である。
【図３】図３（Ａ）（Ｂ）は、本実施の形態において波紋画像を生成する際の手法の一例について説明するための図である。
【図４】ゲーム空間における波紋オブジェクトの位置決定について説明するための図である。
【図５】図５（Ａ）（Ｂ）は、時間の経過に伴う波紋の広がりを表現する構成について説明するための図である。
【図６】水溜まりテクスチャに設定されているα値の内容について説明するための図である。
【図７】水溜まりテクスチャに設定されたα値に基づき波紋画像を半透明描画する処理について説明するための図である。
【図８】図８（Ａ）（Ｂ）は、水溜まりテクスチャに設定されているα値の時間の経過に伴う変化状況について説明するための図である。
【図９】図９（Ａ）（Ｂ）（Ｃ）は水溜まりの所与の点における波紋のＲＧＢ値の時間（フレーム）の経過に伴う変化について説明するための図である。
【図１０】図１０は本実施の形態の波紋画像生成処理の一例について説明するためのフローチャート図である。
【図１１】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１２】図１２（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【図１３】マルチテクスチャマッピングを用いた波紋画像生成処理の一例について説明するためのフローチャート図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１１２  移動・動作演算部
１１４  接触点演算処理部
１３０  画像生成部
１４０  波紋画像生成部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  セーブ用情報記憶装置
１９６  通信部
【図１】
0004632530.tif 000002
【図２】
0004632530.tif 000003
【図３】
0004632530.tif 000004
【図４】
0004632530.tif 000005
【図５】
0004632530.tif 000006
【図６】
0004632530.tif 000007
【図７】
0004632530.tif 000008
【図８】
0004632530.tif 000009
【図９】
0004632530.tif 000010
【図１０】
0004632530.tif 000011
【図１１】
0004632530.tif 000012
【図１２】
0004632530.tif 000013
【図１３】
0004632530.tif 000014