(57)【特許請求の範囲】
【請求項１】
オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、
前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定する合成パラメータ設定手段と、
前記合成パラメータに基づいて、描画領域に描画されているジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
を含むことを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記任意の軸に対して１又は複数の平面を設定する手段と、
前記オブジェクトの定義点に対して、前記平面を特定する平面方程式に基づいて境界判定を行う手段とを含み、
前記合成パラメータ設定手段は、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とするゲームシステム。
【請求項３】
請求項２において、
前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とするゲームシステム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記合成パラメータ設定手段は、
第１のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第２のオブジェクト群に対しては１又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とするゲームシステム。
【請求項５】
オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、
前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、
前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、
前記位置関係に応じて補間された合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
を含むことを特徴とするゲームシステム。
【請求項６】
請求項５において、
前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とするゲームシステム。
【請求項７】
請求項５において、
前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とするゲームシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記合成パラメータが増減される軸が複数設定されることを特徴とするゲームシステム。
【請求項９】
コンピュータが読み取り可能な情報記憶媒体であって、
オブジェクトが定義されるオブジェクト空間における所与の視点での画像を生成するための前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメーを設定する合成パラメータ設定手段と、
前記合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクの画像情報とに基づく合成処理を行う手段と、
としてコンピュータを機能させるためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項１０】
請求項９において、
前記任意の軸に対して１又は複数の平面を設定する手段と、
前記オブジェクトの定義点に対して、前記平面を特定する平面方程式に基づいて境界判定を行う手段と、
してコンピュータを機能させるためのプログラムを含み、
前記合成パラメータ設定手段は、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とする情報記憶媒体。
【請求項１１】
請求項１０において、
前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とする情報記憶媒体。
【請求項１２】
請求項９乃至１１のいずれかにおいて、
前記合成パラメータ設定手段は、
第１のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第２のオブジェクト群に対しては１又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とする情報記憶媒体。
【請求項１３】
コンピュータが読み取り可能な情報記憶媒体であって、
オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するための前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、
前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、
前記位置関係に応じて補間された合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
してコンピュータを機能させるためのプログラムを含むことを特徴とする情報記憶媒体。
【請求項１４】
請求項１３において、
前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とする情報記憶媒体。
【請求項１５】
請求項１３において、
前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とする情報記憶媒体。
【請求項１６】
請求項９乃至１５のいずれかにおいて、
前記合成パラメータが増減される軸が複数設定されることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム（ＲＰＧ）を楽しむことができるゲームシステムを例にとれば、プレーヤは、キャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【０００３】
ところで、プレーヤが操作するキャラクタ（オブジェクト）やその背景を、よりリアルに表現する画像処理の１つとして、フォグ処理が知られている。
【０００４】
フォグ処理は、オブジェクト空間内の所与の視点からの距離に応じて、表示オブジェクトのカラーを背景に溶け込ませる処理を行う。これにより、霧、雲、もやなどの大気の状態、或いは視点からの距離感を表現することができる。
【０００５】
しかしながら従来の３次元空間であるオブジェクト空間における画像を生成するゲームシステムでは、一般的に奥行き方向に相当するＺ軸方向でしか上述したフォグ処理を行うことができず、Ｙ軸方向やＸ軸方向、或いは任意の方向の軸に沿ってフォグ処理を施した画像を生成することができなかった。
【０００６】
したがって、オブジェクト空間において任意の方向に任意のカラーが溶け込むといった表現を行うことができず、例えば大気の状態や距離感をより効果的に表現する高度なゲーム画像を生成することができなかった。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクト空間において任意の方向に任意のカラーが溶け込む表現を可能とするゲームシステム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定する合成パラメータ設定手段と、前記合成パラメータに基づいて、所与の画像情報とジオメトリ処理後の前記オブジェクトの画像情報に基づく合成処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【０００９】
ここで、オブジェクトの定義点とは、オブジェクトを形成するために定義されるものであり、例えばオブジェクト空間におけるポリゴンの場合は頂点、自由曲面の場合は制御点を意味する。
【００１０】
本発明によれば、所与の視点での画像が生成されるオブジェクト空間内に設定されるオブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定し、当該合成パラメータに基づいて、所与の画像情報とジオメトリ処理後のオブジェクトの画像情報とに基づく合成処理を行うようにした。したがって、従来のように奥行き方向だけではなく、任意の方向に任意のカラーへの合成処理を施した、より効果的なゲーム画像を生成することができる。
【００１１】
ここで、合成パラメータとは、各画素の関連付けられて記憶される情報であり、オブジェクトの定義点毎に設定され、例えば色情報以外のプラスアルファの情報としての透明度（不透明度或いは半透明度と等価）を示すα値、所与の色に溶かし込むための係数としてのフォグ値などをいう。
【００１２】
また、所与の画像情報とは、合成処理の種類に応じて異なるが、例えば別に設定してある背景色などのフォグカラーや、既に描画領域に描画されているジオメトリ処理後の画像情報などを意味する。
【００１３】
また、この描画領域としては、例えばフレームバッファ、ワークバッファ（中間バッファ、別バッファ）などの画素単位で画像情報を記憶できる領域をいう。
【００１４】
さらに、合成処理とは、ジオメトリ処理後の画像情報との間で行われる、例えば所与のフォグ処理、α合成などをいい、こうすることでそれぞれのカラーに溶け込む表現を行う。
【００１５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記任意の軸に対して１又は複数の平面を設定する手段と、前記オブジェクトの定義点に対して、前記平面を規定する平面方程式に基づいて境界判定を行う手段とを含み、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とする。
【００１６】
こうすることで、合成処理対象のオブジェクトの定義点に設定される合成パラメータの設定処理を簡素化して、より複雑で、効果的な合成処理が行われたゲーム画像を生成することができる。
【００１７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とする。
【００１８】
こうすることで、合成パラメータの設定に伴う処理負荷を軽減することができ、その分だけ他の処理に負荷をかけることができるので、よりプレーヤの興味を引くゲーム画像を提供する可能性を大きくする。
【００１９】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、第１のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第２のオブジェクト群に対しては１又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とする。
【００２０】
本発明によれば、例えばゲーム開始シーケンス前に算出した合成パラメータをオブジェクトデータに埋め込み、それ以降当該オブジェクトデータを用いて各種合成処理を行うことで、本発明独自の効果的な画像の生成に伴う処理負荷を大幅に軽減することができる。
【００２１】
更に、オブジェクトのモデリングの際に、パラメータを編集してその都度モデルをコンバートしてオブジェクトデータを生成するよりも、ゲーム進行に応じて適切な各種パラメータ設定を行うことができるので、作業の後戻りを省略することができ、モデリングの工数をも大幅に削減する。
【００２２】
また、同じオブジェクトデータに対して、異なるパラメータを設定することができるため、ゲームの進行に応じたオブジェクトデータを用意する必要がなくなり、格納すべきオブジェクトデータの容量を削減することができる。
【００２３】
また本発明は、オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、前記位置関係に応じて補間された合成パラメータに基づいて、所与の画像情報とジオメトリ処理後の前記オブジェクトの画像情報に基づく合成処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００２４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とする。
【００２５】
本発明によれば、オブジェクトの位置に対して、合成パラメータの境界平面を移動させて、オブジェクトの定義点と境界平面との位置関係を変更するため、オブジェクトを次第に出現させたり、或いは次第に消滅させたりといった複雑なゲーム画像を、簡素な処理で実現することができる。
【００２６】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とする。
【００２７】
本発明によれば、合成パラメータを設定するための境界平面に対して、オブジェクトを移動させて、オブジェクトの定義点と境界平面との位置関係を変更するため、移動するオブジェクトを次第に出現させたり、或いは次第に消滅させたりといった複雑なゲーム画像を、簡素な処理で実現することができる。
【００２８】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の画像情報は、固定色の背景画像情報であることを特徴とする。
【００２９】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の画像情報は、描画領域に描画された画像情報であることを特徴とする。
【００３０】
こうすることで、任意の軸に沿ったフォグ処理若しくはα合成処理を施して、任意の方向に任意のカラーが溶け込むといった表現を行うことができず、例えば大気の状態や距離感をより効果的に表現する高度なゲーム画像を生成することができる。
【００３１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記合成パラメータが増減される軸が複数設定されることを特徴とする。
【００３２】
本発明によれば、従来の奥行き方向（Ｚ軸方向）の合成処理のみならず、例えばＹ軸方向の合成処理（フォグ処理やα値による合成処理）を行うことができ、これまでには表現が困難であった大気状態や距離感を容易に表現することができるようになる。
【００３３】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３４】
１．本実施形態のゲームシステム構成
図１に、本実施形態のゲームシステム（画像生成システム）のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０、或いは処理部１００と記憶部１７０と情報記憶媒体１８０を含めばよく）、それ以外のブロック（例えば操作部１６０、表示部１９０、音出力部１９２、携帯型情報記憶装置１９４、通信部１９６）については、任意の構成要素とすることができる。
【００３５】
ここで、処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、または音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰなど）、或いはＡＳＩＣ（ゲートアレイなど）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筐体などのハードウェアにより実現できる。
【００３７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３８】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００３９】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時などに記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報などの少なくとも１つを含むものである。
【００４０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００４１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００４２】
携帯型情報記憶装置１９４は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００４３】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４４】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４５】
処理部１００は、ゲーム処理部１１０、画像生成部１２０、音生成部１４０を含む。
【００４６】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＸ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバ処理などの種々のゲーム処理を、操作部１６０からの操作データや、携帯型情報記憶装置１９４からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【００４７】
画像生成部１２０は、ゲーム処理部１１０からの指示などにしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。
【００４８】
音生成部１４０は、ゲーム処理部１１０からの指示などにしたがって各種の音処理を行い、ＢＧＭ、効果音、又は音声などの音を生成し、音出力部１９２に出力する。
【００４９】
なお、ゲーム処理部１１０、画像生成部１２０、音生成部１４０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００５０】
ゲーム処理部１１０は、オブジェクト移動処理部１１２、境界平面設定部１１４を含む。
【００５１】
ここで、オブジェクト移動処理部１１２は、キャラクタなどのオブジェクト（モデル）の移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算し、例えば操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００５２】
より具体的には、オブジェクト移動処理部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば、第（ｋ−１）（ｋは、２以上の自然数）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間をΔｔとする。すると、第ｋフレームでのオブジェクトの位置をＰＭk、速度ＶＭkは、例えば次の（１）、（２）式のように求められる。
【００５３】
ＰＭk＝ＰＭk-1＋ＶＭk-1×Δｔ      ・・・（１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×Δｔ      ・・・（２）
また平面境界設定部１１４は、オブジェクト空間におけるポリゴンの頂点や自由曲面の制御点（広義には、オブジェクトの定義点）に設定される合成パラメータについて、補間処理やクリップ処理を行うための平面を任意の軸に対して設定する処理を行う。本実施形態では、この設定された合成パラメータに基づいて各種合成処理を行って、オブジェクト空間内の所与の視点での画像が生成されるようになっている。
【００５４】
ここで合成パラメータとは、各画素に関連付けられて記憶される情報であり、オブジェクトの定義点毎に設定され、画像生成部１２０において画素単位で補間して所与の合成処理が行われる。本実施形態では、合成パラメータとして、例えば色情報以外のプラスアルファの情報としての透明度（不透明度或いは半透明度と等価）を示すα値、所与の色に溶かし込むための係数としてのフォグ値を意味するものとするが、これらに限定されるものではなく、他にマスク情報、バンプ情報等がある。また、本実施形態では、合成パラメータの値として、「０」から「１」の範囲の値とする。
【００５５】
画像生成部１２０は、ジオメトリ処理部１２２、合成パラメータ設定部１２４、描画（レンダリング）部１２６を含む。
【００５６】
ここで、ジオメトリ処理部１２２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を、オブジェクトに対して行う。そして、ジオメトリ処理により得られた透視変換後のオブジェクトデータは、描画データ（頂点の位置座標、テクスチャ座標、色（輝度）データ）として、記憶部１７０の主記憶部１７２に格納されて、保存される。
【００５７】
合成パラメータ設定部１２４は、α値やフォグ値といったオブジェクトの定義点ごとに設定された合成パラメータを補間して、各画素の合成パラメータ、すなわちα値やフォグ値を設定する処理を行う。より具体的には、境界平面設定部１１４によって設定された境界平面に基づいて合成パラメータの補間、或いはクリップ処理を行って、各合成パラメータを設定する。
【００５８】
描画（レンダリング）部１２６は、ジオメトリ処理により得られ、記憶部１７０の主記憶部１７２に保存された描画データに基づいて、描画領域１７４にオブジェクトの画像を描画するための処理を行う。これにより、オブジェクトが配置されるオブジェクト空間内の所与の視点（仮想カメラ）での画像が生成されるようになる。
【００５９】
この描画部１２６は、合成部１３０を含む。
【００６０】
合成部１３０は、描画データが含む合成パラメータに基づいて、２つの画像を合成する。例えば、合成パラメータがポリゴンの各頂点に設定されたα値の場合、画素ごとに各頂点に設定されたα値に基づいて補間し、このα値を用いて、フレームバッファである描画領域１７４に、既にジオメトリ処理後のオブジェクトの画像と、これに重ねて描画するオブジェクトの画像とに対して、合成処理を行う（α合成処理）。これにより、既に描画されているオブジェクト画像に対して半透明合成画像を生成する。α値による合成処理がαブレンディングである場合、次の（３）〜（５）式に従って、画素ごとに２つの画像が合成される。
【００６１】
ＲQ＝α×Ｒ1＋（１−α）×Ｒ2      ・・・（３）
ＧQ＝α×Ｇ1＋（１−α）×Ｇ2      ・・・（４）
ＢQ＝α×Ｂ1＋（１−α）×Ｂ2      ・・・（５）
なお、Ｒ1、Ｇ1、Ｂ1は、描画領域１７４に既に描画されている第１のオブジェクトの画像の色（輝度）を示すＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2はこの第１のオブジェクトに重ねて描画する第２のオブジェクトの画像のＲ、Ｇ、Ｂ成分である。またＲQ、ＧQ、ＢQは、αブレンディングにより生成される出力画像である。なお、αとしては、第１のオブジェクトのα値を使用してもよいし、第２のオブジェクトのα値を使用してもよい。
【００６２】
以下では、境界平面設定部１１４によって設定された境界平面に基づいて補間、或いはクリップ処理されたα値に基づくα合成処理を、レイヤα処理と呼ぶ。
【００６３】
また、例えば、合成パラメータがポリゴンの各頂点に設定されたフォグ値である場合、画素ごとに各頂点に設定されたフォグ値に基づいて補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う（フォグ処理）。これにより、背景色として設定されているフォグカラーに溶かし込む合成画像を生成することができる。フォグ値についても、上述した（３）〜（５）式と同様に合成画像を生成することができる。
【００６４】
以下では、境界平面設定部１１４によって設定された境界平面に基づいて補間、或いはクリップ処理されたフォグ値に基づくフォグ処理を、レイヤフォグ処理と呼ぶ。
【００６５】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６６】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、有線若しくは無線のネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００６７】
２．本実施形態の特徴
２．１  合成パラメータの設定
本実施形態では、Ｚ軸方向に限らず任意の軸方向に、上述したα値やフォグ値といった合成パラメータを増減させ、当該合成パラメータに基づいて所与の画像情報とジオメトリ処理後のオブジェクトの画像情報とに基づく合成処理を行うことができる点を特徴とする。そのため、本実施形態では、合成パラメータの値がそれぞれ「０」、「１」である境界平面を、３次元空間であるオブジェクト空間における任意の軸方向に設定する。そして、これら境界平面とオブジェクトの定義点との距離に応じて、当該定義点に設定される合成パラメータを各画素において補間することで、オブジェクト空間において任意の方向に任意のカラーが溶け込む表現が可能な画像生成を実現している。
【００６８】
２．１．１  フォグ値の設定
以下、合成パラメータとしてフォグ値を例に、説明する。
【００６９】
図２に、本実施形態において、オブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値が設定されているオブジェクトの定義点との関係を示す。
【００７０】
すなわち、本実施形態では、図２に示すようにＸ軸、Ｙ軸、Ｚ軸からなる３次元空間であるオブジェクト空間の任意の方向の軸２００に対し、２つの境界平面（レイヤ）２０２、２０４として平面Ｓ0、Ｓ1を配置する。平面Ｓ0とＳ1は、互いに平行で、かつ各法線ベクトルが向き合うように配置される。
【００７１】
レイヤ２０２について、平面Ｓ0を特定する平面方程式を次の（６）式のように示すと、レイヤ２０４である平面Ｓ1は、次の（７）式で特定することができる。
【００７２】
Ｓ0：  ａｘ＋ｂｙ＋ｃｚ＋ｄ0＝０      ・・・（６）
Ｓ1：−ａｘ−ｂｙ−ｃｚ＋ｄ1＝０      ・・・（７）
（６）、（７）式は、法線ベクトルが次のように示されることを意味する。
【００７３】
Ｓ0：法線ベクトルＶ0＝（ａ，ｂ，ｃ）            ・・・（８）
Ｓ1：法線ベクトルＶ1＝（−ａ，−ｂ，−ｃ）      ・・・（９）
ここで、平面Ｓ0であるレイヤ２０２をフォグ値の「０」境界、平面Ｓ1であるレイヤ２０４をフォグ値の「１」境界とすると、レイヤ２０２より上側をフォグ値「０」の領域（フォグ値０領域）、レイヤ２０４より下側をフォグ値「１」の領域（フォグ値１領域）、レイヤ２０２とレイヤ２０４との間をフォグ値が補間される領域（フォグ値補間領域）とが形成される。
【００７４】
以下では、「０」境界のレイヤ２０２をレイヤ０、「１」境界のレイヤ２０４をレイヤ１とする。
【００７５】
例えば、軸２００上のオブジェクトの定義点としてＰ0、Ｐ1、Ｐ2を考える。点Ｐ0はレイヤ０（平面Ｓ0）より上側の領域（フォグ値０領域）、点Ｐ1はレイヤ０とレイヤ１（平面Ｓ1）の間の領域（フォグ値補間領域）、点Ｐ2はレイヤ１より下側の領域（フォグ値１領域）にあるものとする。
【００７６】
ここで、点Ｐ0（Ｐ0X，Ｐ0Y，Ｐ0Z）とレイヤ０、１との関係は、次のようになる。
【００７７】
レイヤ０：  ａＰ0X＋ｂＰ0Y＋ｃＰ0Z＋ｄ0＜０      ・・・（１０）
レイヤ１：−ａＰ0X−ｂＰ0Y−ｃＰ0Z＋ｄ1＞０      ・・・（１１）
したがって、点Ｐ0はレイヤ０より上側で、またレイヤ１より上側にあると容易に判別することができるので、この判別結果から点Ｐ0におけるフォグ値を「０」と設定する。
【００７８】
また、点Ｐ2（Ｐ2X，Ｐ2Y，Ｐ2Z）とレイヤ０、１との関係は、次のようになる。
【００７９】
レイヤ０：  ａＰ2X＋ｂＰ2Y＋ｃＰ2Z＋ｄ0＞０      ・・・（１２）
レイヤ１：−ａＰ2X−ｂＰ2Y−ｃＰ2Z＋ｄ1＜０      ・・・（１３）
したがって、点Ｐ2はレイヤ０より下側であって、更にレイヤ１より下側にあると容易に判別することができるので、この判別結果から点Ｐ2におけるフォグ値を「１」と設定する。
【００８０】
一方、点Ｐ1（Ｐ1X，Ｐ1Y，Ｐ1Z）とレイヤ０、１との関係は、次のようになる。
【００８１】
レイヤ０：  ａＰ1X＋ｂＰ1Y＋ｃＰ1Z＋ｄ0＞０      ・・・（１４）
レイヤ１：−ａＰ1X−ｂＰ1Y−ｃＰ1Z＋ｄ1＞０      ・・・（１５）
したがって、点Ｐ2はレイヤ０より下側であって、レイヤ１より上側にあると容易に判別することができるので、本実施形態では、設定すべきフォグ値について、点Ｐ1とレイヤ０、１との距離に応じた線形補間を行う。
【００８２】
図３（Ａ）、（Ｂ）に、本実施形態においてオブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値の線形補間の概要を説明するための図を示す。
【００８３】
すなわち、図３（Ａ）に示すように、レイヤ０である平面Ｓ0とレイヤ１である平面Ｓ1とが平行に配置され、それぞれフォグ値０領域、フォグ値補間領域、フォグ値１領域を形成する。フォグ値０領域では、オブジェクトの定義点とレイヤ０、１との距離に関係なく当該定義点に設定されたフォグ値を「０」とする。フォグ値１領域では、オブジェクトの定義点とレイヤ０、１との距離に関係なく当該定義点に設定されたフォグ値を「１」とする。これに対して、フォグ値補間領域では、同図（Ｂ）に示すようにレイヤ０、１と定義点との距離に応じたフォグ値を線形補間する。より具体的には、距離Ｄの間にフォグ値が「０」から「１」に変化するように、その間の定義点におけるフォグ値を線形補間する。
【００８４】
定義点Ｐ1において線形補間されたフォグ値ｆは、次式のように示すことができる。
【００８５】
【数１】
0004624527.tif 000002
この場合、レイヤ０とレイヤ１とが平行であるため、レイヤ０とレイヤ１との距離が決まり、予め計算しておくことで、フォグ値の線形補間に伴う処理負荷を軽減することができる。
【００８６】
このようにして、オブジェクト空間において任意の軸２００に対して配置された２平面に基づいて設定されたフォグ値を用いて、例えば背景色として別に設定された所与の画像情報（色情報）に溶かし込むように表現することができる。特に、ゲーム処理により、従来のような奥行き方向だけに限定されない任意の方向の軸に対して、リアルタイムに上述したレイヤ０、１を設定することで、これまでに得られない効果的なレイヤフォグ処理を行うことができる。
【００８７】
図４〜図７に、本実施形態のレイヤフォグ処理が行われたゲーム画像の一例を示す。
【００８８】
ここでは、オブジェクト空間における同一の視点（仮想カメラ）から見た画像として、水面から顔を出す「水蛇」の動きについて、数フレーム間隔をおいて連続的に示している。図４〜図７において、同一部分には同一符号を付している。
【００８９】
ゲーム処理によってリアルタイムにレイヤ０、１をＹ軸方向に動かすことで、水深が深い位置にあるオブジェクトをフォグカラーとして設定された背景色「黒」に溶け込む表現を可能にしている。特に、移動する表示オブジェクトである「水蛇」が水面から顔を出すのに伴う水面の上昇、下降に応じて、レイヤ０、１を動かすことによって、リアルタイムに変化する水面からある一定の水深より深い部分は背景色「黒」に自然と溶け込むような表現を実現している。
【００９０】
例えば、図４〜図７では、格子状に配置された直線によって特定される平面２１０、２１２をそれぞれレイヤ０、１とし、平面２１０を水面の上昇、下降に応じてＹ軸方向に移動させると共に、平面２１２を水面からのある一定の深度を保つように平面２１０と所与の間隔を置いて設定する。
【００９１】
これにより、オブジェクト空間において、水蛇２１４である移動オブジェクトのオブジェクト画像のうち、平面２１０であるレイヤ０よりＹ軸方向に上側にある部分は、フォグ値０領域にあるため、背景色「黒」によるフォグ処理が行われた結果、水蛇２１４のオブジェクト画像がそのまま表示される。
【００９２】
これに対して、水蛇２１４の移動オブジェクトのオブジェクト画像のうち、平面２１０であるレイヤ０よりＹ軸方向に下側にあって平面２１２であるレイヤ１よりＹ軸方向に上側にある部分は、フォグ値補間領域にあるため、レイヤ１に近くなるほど背景色「黒」に徐々に近づくようなフォグ処理画像が表示される。
【００９３】
また、水蛇２１４の移動オブジェクトのオブジェクト画像のうち、平面２１２であるレイヤ１よりＹ軸方向に下側にある部分は、フォグ値１領域にあるため、水蛇２１４のオブジェクト画像は完全に背景色「黒」に溶け込んでしまい、背景色がそのまま表示される。
【００９４】
このように本実施形態では、Ｚ軸方向以外の任意の軸方向に境界平面を設定して、合成パラメータを変化させることで、ゲーム画像の効果的なフォグ処理画像を生成することができる。
【００９５】
また、これは従来のようにＺ軸方向の一方向のみの合成処理に限定されないことを意味する。すなわち、オブジェクト空間において、任意の２軸の各方向にそれぞれ上述したレイヤ０、１の境界平面を設定することで、それぞれの軸方向に変化する合成パラメータを用いて、従来にないゲーム画像のレイヤフォグ処理画像を提供することができることを意味する。
【００９６】
上述した図４〜図７に示したゲーム画像を例にすると、例えばＺ軸方向にも同様に互いに法線ベクトルが向き合う平行な境界平面を設定して、Ｚ軸方向に合成パラメータを変化させることで、奥行きに応じたフォグ処理画像をも生成することができ、結果としてＹ軸方向とＺ軸方向とでそれぞれレイヤフォグ処理された画像により、従来からの奥行き方向の距離感の表現に加えて、上下方向または左右方向に表現されるこれまでにない効果的な画像を生成することができる。
【００９７】
次に、上述したリアルタイムのレイヤフォグ処理について、本実施形態における詳細例を説明する。
【００９８】
このレイヤフォグ処理は、ゲーム処理によりリアルタイムに設定される境界平面に対して、水蛇を構成するポリゴンの各頂点（広義には、移動する表示オブジェクトの定義点）に対して領域判定（狭義には、境界判定）を行う。しかしながら、ゲーム処理によって境界平面が設定される座標系がワールド座標系であるため、ワールド座標系で各ポリゴンの頂点ごとに領域判定を行うことは、処理負荷の増大を招く。そこで、本実施形態では、境界平面をモデル座標系に変換し、当該座標系で領域判定するようにしている。
【００９９】
図８に、モデル座標系の概要を示す。
【０１００】
すなわち、領域判定対象のオブジェクトのモデル座標系が、図８に示すようにｘ軸、ｙ軸、ｚ軸で表されるとき、ゲーム処理によってワールド座標系でリアルタイムに設定されるレイヤ０、レイヤ１をモデル座標系に座標変換し、モデル座標系におけるレイヤ０´、レイヤ１´を生成する。そして、このモデル座標系で、領域判定対象のオブジェクトの定義点ごとに、レイヤ０´、レイヤ１´によって形成される領域Ａ、Ｂ、Ｃのどの領域にあるかを判定する。
【０１０１】
図９に、本実施形態におけるリアルタイムのフォグ値設定処理に関するフローチャートの一例を示す。
【０１０２】
まず、領域判定対象のオブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列Ｔ-1を生成する（ステップＳ１０）。
【０１０３】
次に、境界平面設定部１１４によってワールド座標系に設定されたレイヤ０、１を逆行列Ｔ-1によりモデル座標系に変換し、それぞれレイヤ０´、１´とする（ステップＳ１１）。
【０１０４】
続いて、合成パラメータ設定部１２４により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を１つ取り出す（ステップＳ１２）。
【０１０５】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図８における領域Ａに存在するか否かを判別する（ステップＳ１３）。
【０１０６】
より具体的には、ゲーム処理によってワールド座標系に設定された境界平面が、（６）、（７）式で示されるため、これをステップＳ１０で生成した逆行列Ｔ-1により変換することで、当該オブジェクトのモデル座標系におけるレイヤ０´、１´を特定する平面方程式が得られる。そして、領域判定対象のオブジェクトの頂点座標について、（１０）〜（１５）式で示したようにモデル座標系に変換されたレイヤ０´、１´の各平面方程式に代入した値により、頂点座標がレイヤ０´、１´に対して上側にあるか下側にあるかをそれぞれ判別することができる。このようにして、オブジェクトの頂点座標がレイヤ０´、１´によって形成される領域Ａ〜Ｃのいずれかの領域にあるかを判別することができる。
【０１０７】
こうして、ステップＳ１２で取り出したオブジェクトの頂点座標が、領域Ａにないと判定されたとき（ステップＳ１３：Ｎ）、同様にして領域Ｃにあるか否かを判別する（ステップＳ１４）。
【０１０８】
ステップＳ１４で、オブジェクトの頂点座標が更に領域Ｃにないと判定されたとき（ステップＳ１４：Ｎ）、合成パラメータ設定部１２４は、当該頂点座標が領域Ｂにあると判断して、レイヤ０´、１´の距離からの距離に応じて、図３（Ｂ）に示したように「０」〜「１」の間で線形補間した値を、当該頂点座標におけるフォグ値として設定する（ステップＳ１５）。
【０１０９】
一方、ステップＳ１３で、オブジェクトの頂点座標が領域Ａにあると判別されたとき（ステップＳ１３：Ｙ）、フォグ値「０」の境界平面であるレイヤ０´より上側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるフォグ値を「０．０」に設定する（ステップＳ１６）。
【０１１０】
また、ステップＳ１４で、オブジェクトの頂点座標が領域Ｃにあると判別されたとき（ステップＳ１４：Ｙ）、フォグ値「１」の境界平面であるレイヤ１´より下側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるフォグ値を「１．０」に設定する（ステップＳ１７）。
【０１１１】
こうして、ステップＳ１５〜Ｓ１７で、合成パラメータ設定部１２４によってフォグ値が設定された後、ジオメトリ処理部１２２は、オブジェクトの頂点データに基づいて、頂点の位置座標の座標変換を行う。すなわち、モデル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、色計算を行って、描画情報を生成する。そして、この描画情報は、合成パラメータ設定部１２４によって設定されたフォグ値が付与され、描画データとして記憶部１７０の主記憶部１７２に保存される。
【０１１２】
この主記憶部１７２に保存された描画データに基づいて、描画部１２６により描画領域１７４にオブジェクトの画像を描画するための処理が行われる。その際、合成部１３０は、描画データに含まれるフォグ値に基づいて、画素ごとに補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う。
【０１１３】
ステップＳ１８で描画データが生成されると、合成パラメータ設定部１２４は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し（ステップＳ１９）、終了したと判別されたとき（ステップＳ１９：Ｙ）、一連の処理を終了する。
【０１１４】
一方、ステップＳ１９で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき（ステップＳ１９：Ｎ）、ステップＳ１２に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてフォグ値の設定処理を行う。
【０１１５】
２．１．２  α値の設定
上述したように任意の軸に対して境界平面を配置し、オブジェクトの頂点座標に設定される合成パラメータとしては、任意のフォグカラーに溶け込ませるためのフォグ処理だけではなく、既に描画領域に描画された画像との間で合成処理を行うα合成にも同様に適用することができる。
【０１１６】
すなわち、オブジェクトの頂点座標に設定されるα値についても、図２、図３と同様にα値が「０」、「１」の境界平面を設定し、各境界平面によって形成される領域をα値０領域、α値補間領域、α値１領域として、頂点座標ごとに領域判定をする。そして、頂点座標が存在する領域に応じたα値を設定することで、例えば既に描画領域に描画されているジオメトリ処理後のオブジェクトの画像との間でα合成を行って、重ねて描画される背景画像（色情報）に溶かし込むように表現することができる。特に、ゲーム処理により、従来のような奥行き方向だけに限定されない任意の方向の軸に対して、リアルタイムに上述したレイヤ０、１を設定することで、これまでに得られない効果的なα合成処理画像を生成することができる。
【０１１７】
次に、上述したリアルタイムのα合成処理について、本実施形態における詳細例を説明する。
【０１１８】
このα合成処理についても、ゲーム処理によりリアルタイムに設定される境界平面に対して、モデル座標系においてポリゴンの各頂点（広義には、移動する表示オブジェクトの定義点）に対して領域判定を行う。
【０１１９】
図１０に、本実施形態におけるリアルタイムのα値設定処理に関するフローチャートの一例を示す。
【０１２０】
まず、領域判定対象のオブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列Ｔ-1を生成する（ステップＳ２０）。
【０１２１】
次に、境界平面設定部１１４によってワールド座標系に設定されたレイヤ０、１を逆行列Ｔ-1によりモデル座標系に変換し、それぞれレイヤ０´、１´とする（ステップＳ２１）。
【０１２２】
続いて、合成パラメータ設定部１２４により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を１つ取り出す（ステップＳ２２）。
【０１２３】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図８における領域Ａに存在するか否かを判別する（ステップＳ２３）。
【０１２４】
ステップＳ１２で取り出したオブジェクトの頂点座標が、領域Ａにないと判定されたとき（ステップＳ２３：Ｎ）、同様にして領域Ｃにあるか否かを判別する（ステップＳ２４）。
【０１２５】
ステップＳ２４で、オブジェクトの頂点座標が更に領域Ｃにないと判定されたとき（ステップＳ２４：Ｎ）、合成パラメータ設定部１２４は、当該頂点座標が領域Ｂにあると判断して、レイヤ０´、１´の距離からの距離に応じて、図３（Ｂ）に示したように「０」〜「１」の間で線形補間した値を、当該頂点座標におけるα値として設定する（ステップＳ２５）。
【０１２６】
一方、ステップＳ２３で、オブジェクトの頂点座標が領域Ａにあると判別されたとき（ステップＳ２３：Ｙ）、フォグ値「０」の境界平面であるレイヤ０´より上側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるα値を「０．０」に設定する（ステップＳ２６）。
【０１２７】
また、ステップＳ２４で、オブジェクトの頂点座標が領域Ｃにあると判別されたとき（ステップＳ２４：Ｙ）、α値「１」の境界平面であるレイヤ１´より下側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるα値を「１．０」に設定する（ステップＳ２７）。
【０１２８】
こうして、ステップＳ２５〜Ｓ２７で、合成パラメータ設定部１２４によってα値が設定された後、ジオメトリ処理部１２２は、オブジェクトの頂点データに基づいて、透視変換や、色計算等を行って、描画情報を生成する。この描画情報は、合成パラメータ設定部１２４によって設定されたα値が付与され、描画データとして記憶部１７０の主記憶部１７２に保存される。
【０１２９】
主記憶部１７２に保存された描画データは、描画部１２６により描画領域１７４にオブジェクトの画像を描画するための処理が行われる。その際、合成部１３０は、描画データに付与されたα値に基づいて、画素ごとに補間し、このα値を用いて、例えばαブレンディングを行う。
【０１３０】
ステップＳ２８で描画データが生成されると、合成パラメータ設定部１２４は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し（ステップＳ２９）、終了したと判別されたとき（ステップＳ２９：Ｙ）、一連の処理を終了する。
【０１３１】
一方、ステップＳ２９で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき（ステップＳ２９：Ｎ）、ステップＳ２２に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてα値の設定処理を行う。
【０１３２】
このようにして頂点ごとに任意の軸に沿ってα値を設定することができるので、オブジェクトの表示／非表示についてもゲームエフェクトとして効果的にオブジェクトが次第に消えたり現れたりするといった効果的な表現が可能となる。
【０１３３】
２．２  前処理による効率化
本実施形態では、オブジェクト空間内に設定された境界平面であるレイヤ０、１とオブジェクトの各頂点との位置関係によって、フォグ値、α値が決まるため、オブジェクトが移動若しくは回転するたびに、１又は複数フレームごとに合成パラメータを生成し、更新する必要がある。
【０１３４】
そこで、合成パラメータの更新に伴う処理負荷を軽減するため、オブジェクト空間に配置されるオブジェクトを、ワールド座標系に配置される樹木や岩（例えば、図４における岩オブジェクト２１６）といった主に地形などを表現するための第１のオブジェクト群と、キャラクタなどワールド座標系で移動が伴う第２のオブジェクト群とに分類していることを特徴としている。
【０１３５】
第１のオブジェクト群についてはゲームシーケンス開始前に、一度計算した合成パラメータをオブジェクトデータに書き込み、それ以降固定的にこのオブジェクトデータに含まれる合成パラメータでフォグ処理画像、α合成画像を生成する。
【０１３６】
第１のオブジェクト群として選択されるべきオブジェクトとしては、ゲーム進行中に全く固定的なものに限定されることなく、比較的長期間（例えば数十フレーム、数百フレーム）ごとに更新する必要があるものであっても、処理負荷を軽減させることができる。
【０１３７】
第２のオブジェクト群については、１又は複数フレームごとに、合成パラメータを更新させる。
【０１３８】
以下、合成パラメータとしてのフォグ値の設定を例に、岩などのワールド座標系で不動の第１のオブジェクト群のオブジェクトデータ生成処理と、これによって生成されたオブジェクトデータを用いた画像生成処理について説明する。
【０１３９】
図１１に、本実施形態における第１のオブジェクト群のオブジェクトデータ生成処理に関するフローチャートの一例を示す。
【０１４０】
ゲーム処理部１１０は、ゲームプログラムなどに基づいて種々のゲーム処理を行う。このゲーム処理部１１０が、所与のゲームシーケンスの開始前のイベント発生を監視し（ステップＳ３０：Ｎ）、これを検出したとき（ステップＳ３０：Ｙ）、まず必要なオブジェクトデータを情報記憶媒体１８０から取り出し、主記憶部１７２に展開する（ステップＳ３１）。なお、オブジェクトデータは、記憶部１７０から取り出されたり、通信部１９６より通信ネットワークを介して受信される場合もある。また、必要なオブジェクトデータとは、予め岩などワールド座標系で移動しないオブジェクト（第１のオブジェクト群）として所与のテーブルに登録されたオブジェクトを意味する。
【０１４１】
続いて、境界平面設定部１１４により、ワールド座標系で合成パラメータとしてのフォグ値の「０」境界、「１」境界であるレイヤ０、１を設定する（ステップＳ３２）。
【０１４２】
そして、画像生成部１２０が、主記憶部１７２に展開されたオブジェクトデータから、処理すべきオブジェクトを１つ取り出し（ステップＳ３３）、当該オブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列Ｔ-1を生成する（ステップＳ３４）。
【０１４３】
次に、境界平面設定部１１４によってワールド座標系に設定されたレイヤ０、１を逆行列Ｔ-1によりモデル座標系に変換し、それぞれレイヤ０´、１´とする（ステップＳ３５）。
【０１４４】
続いて、合成パラメータ設定部１２４により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を１つ取り出す（ステップＳ３６）。
【０１４５】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図８における領域Ａに存在するか否かを判別する（ステップＳ３７）。
【０１４６】
取り出したオブジェクトの頂点座標が、領域Ａにないと判定されたとき（ステップＳ３７：Ｎ）、同様にして領域Ｃにあるか否かを判別する（ステップＳ３８）。
【０１４７】
ステップＳ３８で、オブジェクトの頂点座標が更に領域Ｃにないと判定されたとき（ステップＳ１４：Ｎ）、合成パラメータ設定部１２４は、当該頂点座標が領域Ｂにあると判断して、レイヤ０´、１´の距離からの距離に応じて、図３（Ｂ）に示したように「０」〜「１」の間で線形補間した値を、当該頂点座標におけるフォグ値として設定する（ステップＳ３９）。
【０１４８】
一方、ステップＳ３７で、オブジェクトの頂点座標が領域Ａにあると判別されたとき（ステップＳ３７：Ｙ）、フォグ値「０」の境界平面であるレイヤ０´より上側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるフォグ値を「０．０」に設定する（ステップＳ４０）。
【０１４９】
また、ステップＳ３８で、オブジェクトの頂点座標が領域Ｃにあると判別されたとき（ステップＳ３８：Ｙ）、フォグ値「１」の境界平面であるレイヤ１´より下側であるため、合成パラメータ設定部１２４は、当該頂点座標におけるフォグ値を「１．０」に設定する（ステップＳ４１）。
【０１５０】
こうして、ステップＳ３９〜Ｓ４１で設定されたフォグ値は、合成パラメータ設定部１２４によって、オブジェクトデータの所与の位置に書き込まれる（ステップＳ４２）。
【０１５１】
その後、合成パラメータ設定部１２４は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し（ステップＳ４３）、終了していないと判別されたとき（ステップＳ４３：Ｎ）、ステップＳ３６に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてフォグ値を設定し、オブジェクトデータに埋め込む。
【０１５２】
一方、ステップＳ４３でオブジェクトの全頂点に対して上述した処理が終了したと判別されたとき（ステップＳ４３：Ｙ）、続いて第１のオブジェクトとして登録された全オブジェクトに対してフォグ値の設定が終了したか否かを判別する（ステップＳ４４）。
【０１５３】
第１のオブジェクトとして登録された全オブジェクトに対してフォグ値の設定が終了したと判別されたとき（ステップＳ４４：Ｙ）、一連の処理を終了する（エンド）が、終了していないと判別されたとき（ステップＳ４４：Ｎ）、ステップＳ３３に戻って、次のオブジェクトを取り出して、以下同様に当該オブジェクトの頂点ごとにフォグ値の設定を行う。
【０１５４】
ここでは、合成パラメータとしてフォグ値の設定を行ったが、α値の場合も同様の処理で、ゲームシーケンス前に演算して、オブジェクトデータに埋め込むことができる。
【０１５５】
図１２に、図１１で生成したオブジェクトデータを用いた画像生成処理に関するフローチャートの一例を示す。
【０１５６】
ゲーム処理部１１０が、所与のゲームシーケンスの進行中であるか否かを監視し（ステップＳ５０：Ｎ）、これを検出したとき（ステップＳ５０：Ｙ）、図１１のステップＳ４２で書き込んだオブジェクトデータから、頂点データを取り出す（ステップＳ５１）。
【０１５７】
そして、ジオメトリ処理部１２２は、当該頂点データに基づいて、頂点の位置座標の座標変換を行う。すなわち、モデル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、色計算を行って、描画情報を生成する。そして、この描画情報は、図１１のステップＳ３９〜ステップＳ４１で設定されたフォグ値がそのまま付与され、描画データとして記憶部１７０の主記憶部１７２に保存される。
【０１５８】
この主記憶部１７２に保存された描画データに基づいて、描画部１２６により描画領域１７４にオブジェクトの画像を描画するための処理が行われる。その際、合成部１３０は、描画データに含まれるフォグ値に基づいて、画素ごとに補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う。
【０１５９】
ステップＳ５２で描画データが生成されると、合成パラメータ設定部１２４は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し（ステップＳ５３）、終了したと判別されたとき（ステップＳ５３：Ｙ）、一連の処理を終了する。
【０１６０】
一方、ステップＳ５３で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき（ステップＳ５３：Ｎ）、ステップＳ５１に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にして描画データを生成する。
【０１６１】
ここでは、合成パラメータとしてフォグ値について説明したが、α値の場合も同様の処理で、ゲームシーケンス前に算出したα値を埋め込んだオブジェクトデータに基づいて描画データを生成することができる。
【０１６２】
このようにしてゲーム開始シーケンス前に算出した合成パラメータをオブジェクトデータに埋め込み、それ以降このオブジェクトデータを用いてフォグ処理画像、α合成画像を生成することで、上述した効果的な画像の生成に伴う処理負荷を大幅に軽減することができる。
【０１６３】
更に、オブジェクトのモデリングの際に、パラメータを編集してその都度モデルをコンバートしてオブジェクトデータを生成するよりも、ゲームプログラムによるゲーム進行に応じて境界平面を設定するためのパラメータを設定するほうが、作業の後戻りを省略することができるため、モデリングの工数を大幅に削減することができるようになる。
【０１６４】
また、同じオブジェクトデータに対して、異なるパラメータを設定することができるため、ゲームの進行に応じたオブジェクトデータを用意する必要がなくなり、格納すべきオブジェクトデータの容量を削減することができる。
【０１６５】
２．３  境界平面とオブジェクトとの位置関係
本実施形態では、境界平面設定部１１４によってオブジェクト空間内の任意の軸に対して設定される合成パラメータの「０」境界であるレイヤ０、「１」境界であるレイヤ１と、オブジェクト空間内に設定されるオブジェクトとの位置関係をリアルタイムに変更することで、これまでに表現できなかった効果的なゲーム画像を生成することができる点を特徴としている。
【０１６６】
この位置関係をリアルタイムに変更する場合として、オブジェクトの位置に対してレイヤ０、１をリアルタイムに変更する場合と、レイヤ０、１の位置に対してオブジェクトの位置を移動させる場合とがある。
【０１６７】
２．３．１  境界平面のリアルタイム変化（オブジェクト固定）
図１３に、境界平面をリアルタイムに変化させる場合の境界平面とオブジェクトの定義点との関係を示す。
【０１６８】
すなわち、図１３に示すようにＸ軸、Ｙ軸、Ｚ軸からなる３次元空間であるオブジェクト空間の任意の方向の軸３００に対し、２つの境界平面（レイヤ）３０２、３０４として平面Ｓ0、Ｓ1を、平行に、かつ各法線ベクトルが向き合うように配置する。
【０１６９】
そして、軸３００上にあるオブジェクトの定義点（例えばポリゴンの頂点）Ｐに対して、軸３００の上下方向にレイヤ０、レイヤ１を移動方向３０６に移動させることで、レイヤ０、１と定義点Ｐとの位置関係をリアルタイムに変更させる。
【０１７０】
このように位置関係を変更させることで、レイヤ０、１の間の領域に定義点がある場合、変更に伴い上述した合成パラメータの補間値も変更するため、この補間値によるフォグ処理画像、α合成処理画像もこれまでにないエフェクト効果を発揮することができる。
【０１７１】
なお、レイヤ０、１のいずれか一方を固定して、他方のみを軸方向に移動させてもよい。また、両レイヤの間隔を一定に保ちながら軸方向に移動させてもよいし、間隔も変化しながら両レイヤを軸方向に移動させることで、定義点とレイヤとの位置関係を変更するようにしてもよい。
【０１７２】
図１４〜図１７に、本実施形態において、固定したオブジェクトに対してレイヤ０、１を移動させてレイヤα処理を行う場合のゲーム画像の一例を示す。
【０１７３】
ここでは、オブジェクト空間における同一の視点（仮想カメラ）から見た画像として、人の形をした固定オブジェクトに対してレイヤ０、１をＹ軸方向に移動させた場合の数フレーム間隔ごとの様子を示している。図１４〜図１７において、同一部分には同一符号を付している。また、α合成処理としてαブレンディングを用いている。
【０１７４】
例えば図１４において、人の形をした固定オブジェクト３１０に対して、Ｙ軸に垂直にα値の「０」境界平面、「１」境界平面を配置する。なお、ここでは「０」境界平面３１２だけ示されており、α値の「１」境界はＹ軸方向の下側にあって画面外にあるものとする。
【０１７５】
したがって、「０」境界平面３１２よりＹ軸方向に上側にあるオブジェクトの定義点に設定されるα値は「０」となるため、この領域の固定オブジェクト３１０は背景がそのまま表示される。
【０１７６】
一方、「０」境界平面３１２よりＹ軸方向に下側にあるオブジェクトの定義点は、図示しない「１」境界平面との間の距離に応じて補間されるため、「１」境界平面に近づくほど、次第に固定オブジェクトの色が鮮明になるように表現される。
【０１７７】
また、図１５では、図１４に示されるレイヤ０、１の位置から、共にＹ軸方向に上側に移動させている。その結果、α値の「１」境界平面３１４であるレイヤ１が固定オブジェクト３１０の足の部分にかかっている。
【０１７８】
この場合、「１」境界平面３１４よりＹ軸方向に下側にあるオブジェクトの定義点に設定されるα値は「１」となるため、この領域の固定オブジェクト３１０のカラーがそのまま表示される。
【０１７９】
更に、図１６、図１７では、レイヤ０、１の位置を、次第にＹ軸方向に上側に移動させ続けることで、人の形をした固定オブジェクト３１０を下側の部分から次第に出現させるといったゲーム画像を生成することができる。
【０１８０】
次に、上述した合成パラメータの境界平面を変化させた場合の、本実施形態における詳細例を説明する。
【０１８１】
図１８に、本実施形態における合成パラメータの境界平面を変化させた場合のレイヤα処理に関するフローチャートの一例を示す。
【０１８２】
すなわち、まずゲーム進行に応じて、境界平面設定部１１４によりα値が「０」である「０」境界平面であるレイヤ０を設定する（ステップＳ６０）。
【０１８３】
続いて、脅威開閉面設定部１１４は、ステップＳ６０で設定したレイヤ０に対応するレイヤ１を設定する（ステップＳ６１）。
【０１８４】
そして、画像生成部１２０により、ステップＳ６０、Ｓ６１で設定された境界平面によるレイヤα処理の影響を受けるオブジェクトを選択し、当該オブジェクトに対して上述したようなα値を設定する。更に、これにより設定したα値に基づいてオブジェクト画像を描画するための描画データを生成する（ステップＳ６２）。
【０１８５】
ここでは、レイヤα処理について説明したが、レイヤフォグ処理についても同様に処理することが可能である。
【０１８６】
２．３．２  オブジェクトのリアルタイム変化（境界平面固定）
図１９に、オブジェクトをリアルタイムに移動させる場合の境界平面とオブジェクトの定義点との関係を示す。
【０１８７】
すなわち、図１９に示すようにＸ軸、Ｙ軸、Ｚ軸からなる３次元空間であるオブジェクト空間の任意の方向の軸３５０に対し、２つの境界平面（レイヤ）３５２、３５４として平面Ｓ0、Ｓ1を、平行に、かつ各法線ベクトルが向き合うように配置する。
【０１８８】
そして、軸３５０の上下方向にレイヤ０、レイヤ１に対して、軸３５０上にあるオブジェクトの定義点（例えばポリゴンの頂点）Ｐを軸３５０の移動方向３５６に移動させることで、レイヤ０、１と定義点Ｐとの位置関係をリアルタイムに変更させる。
【０１８９】
このように位置関係を変更させることで、レイヤ０、１の間の領域に定義点がある場合、変更に伴い上述した合成パラメータの補間値も変更するため、この補間値によるフォグ処理画像、α合成処理画像もこれまでにないエフェクト効果を発揮することができる。
【０１９０】
なお、定義点Ｐの移動のみならず、レイヤ０、１のいずれか一方を固定して、他方のみを軸方向に移動させてもよい。また、定義点Ｐの移動のみならず、両レイヤの間隔を一定に保ちながら軸方向に移動させてもよいし、間隔も変化しながら両レイヤを軸方向に移動させて、境界平面と定義点との位置関係を変更するようにしてもよい。
【０１９１】
図２０〜図２２に、本実施形態において、固定したレイヤ０、１に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の一例を示す。
【０１９２】
ここでは、オブジェクト空間における同一の視点（仮想カメラ）から見た画像として、移動オブジェクト３６０が、床面オブジェクトに対して垂直に設けられた境界平面３６２、３６４によって形成された領域を通過させる場合の数フレーム間隔ごとの様子を示している。図２０〜図２２において、同一部分には同一符号を付している。また、α合成処理としてαブレンディングを用いている。
【０１９３】
例えば図２０において、人の形をした移動オブジェクト３６０に移動方向に対して、垂直にα値の「０」境界平面（レイヤ０）、「１」境界平面（レイヤ１）を配置する。
【０１９４】
したがって、「１」境界平面３６４より左側にある移動オブジェクト３６０の定義点に設定されるα値は「１」となるため、この領域の移動オブジェクト３６０のカラーはそのまま表示される。
【０１９５】
一方、「０」境界平面３６２、「１」境界平面３６４の間の領域にある移動オブジェクト３６０の腕の先の部分のオブジェクトについては、α値が補間されて、次第に背景の床オブジェクトが鮮明になるように表現される。
【０１９６】
また、図２１では、図２０で示されるレイヤ０、１に対して、移動オブジェクト３６０が、更に「０」境界平面３６２側に移動させている。
【０１９７】
この場合、「０」境界平面３６２より右側にあるオブジェクトの定義点に設定されるα値は「０」となるため、この領域の移動オブジェクト３６０のカラーは表示されず、背景の床オブジェクトのカラーがそのまま表示される。
【０１９８】
更に、図２２では、移動オブジェクト３６０を更に、レイヤ０の方向へ移動させたため、移動オブジェクト３６０の移動によりオブジェクトが次第に消滅して表示されるといったゲーム画像を生成することができる。これとは逆に、移動オブジェクトをレイヤ０からレイヤ１の方向に移動させることで、移動オブジェクト３６０を移動させながら次第に出現させるといった表現も可能となる。
【０１９９】
次に、上述した合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合の、本実施形態における詳細例を説明する。
【０２００】
図２３に、本実施形態における合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合のレイヤα処理に関するフローチャートの一例を示す。
【０２０１】
すなわち、まずゲーム進行に応じて、移動オブジェクト処理部１１２により、移動オブジェクトを移動させて、移動オブジェクトの位置や回転角度を更新する（ステップＳ７０）。
【０２０２】
続いて、モデル座標系で定義された移動オブジェクト１１２のオブジェクトデータをワールド座標系に反映させるため、ステップＳ７０で更新された位置、角度にオブジェクトを配置するためのマトリクスを更新する（ステップＳ７１）。
【０２０３】
続いて、このマトリクスを用いて、上述したようにレイヤα処理を行って、合成パラメータとしてのα値を演算し、当該オブジェクトを描画するための描画データを生成する（ステップＳ７２）。
【０２０４】
このレイヤα処理について、既に述べているので詳細な説明は省略する。
【０２０５】
ここでは、レイヤα処理について説明したが、レイヤフォグ処理についても同様である。
【０２０６】
要は、オブジェクトの位置に対してレイヤ０、１の位置が変化し、或いはレイヤ０、１に対して移動するオブジェクトの位置が変化する場合に、上述した合成処理を施すことで効果的なゲーム画像を生成することができる。
【０２０７】
２．４  その他
本実施形態では、以上のように表示対象となるオブジェクトと、任煮の軸に沿って配置された境界平面を設置することで、オブジェクトの定義点と境界平面との距離に応じて合成パラメータを補間し、当該合成パラメータに基づく各種合成処理を行うことができる。
【０２０８】
例えば、上述したように水面に現れる「水蛇」を表現する場合、従来では奥行き方向でしか距離感などを表現できなかったが、本実施形態によれば更にＹ軸方向やその他各種方向にも、合成処理を行うことができる。
【０２０９】
より具体的には、従来どおり奥行き方向にレイヤα処理を行って視点からの距離感を表現すると共に、上下する水面と水面からの深度（Ｙ軸方向）に応じて「水蛇」の胴体について、上述したレイヤフォグ処理を行う。
【０２１０】
図２４に、本実施形態における水面から現れる「水蛇」の画像生成処理の一例のフローチャートを示す。
【０２１１】
まず、ゲーム処理部１１０によってゲーム進行に応じて決まる水面の高さ位置に、水面を表示するための水面オブジェクトを配置し、そのＹ座標を保持する（ステップＳ８０）。
【０２１２】
次に、保持したＹ座標位置に、ＸＺ平面に平行な平面（Ｙ＝ｙ0）を設定し、レイヤ０とする（ステップＳ８１）。
【０２１３】
更に、当該Ｙ座標（ｙ0）から、水の透明度を表現するための仮想的な水深である所定量を減算し、そのＹ座標にレイヤ０と平行な平面（Ｙ＝ｙ1）であるレイヤ１を設定する（ステップＳ８２）。
【０２１４】
そして、レイヤフォグ処理の影響を受けるオブジェクトを選択し、当該オブジェクトについて上述したレイヤフォグ処理を行って、オブジェクトを描画する（ステップＳ８３）。
【０２１５】
このように、従来通り奥行き方向の距離感を表現すると共に、例えば水面からの深度に応じた「水蛇」の胴体の表示について本実施形態のレイヤフォグ処理を行うことで、何ら複雑な処理を行うことなく従来では得られなかった複数方向のα合成若しくはフォグ処理による効果的な画像を生成することができる。
【０２１６】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図２５を用いて説明する。
【０２１７】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０２１８】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０２１９】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリックプロセッサ９０４に指示する。
【０２２０】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレーとする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０２２１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０２２２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０２２３】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０２２４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０２２５】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０２２６】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭなど）間でのＤＭＡ転送を制御するものである。
【０２２７】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８３（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０２２８】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【０２２９】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０２３０】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０などに処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０などは、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０２３１】
図２６（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード１１０６）には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム或いはデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０２３２】
図２６（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０２３３】
図２６（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラムなどが端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０２３４】
なお、図２６（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバ）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバ）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０２３５】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０２３６】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０２３７】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０２３８】
また、本実施形態では、合成パラメータを「０」、「１」にクリップするための境界平面を２つ設け、両平面に挟まれた領域について線形補間するものとして説明したが、平面を１つだけ設け、当該平面とオブジェクトの定義点からの距離に応じて合成パラメータを補間して、当該定義点に設定するようにしても同様のゲーム画像を生成することが可能である。
【０２３９】
また本実施形態では、境界平面に挟まれた領域では線形補間するものとして説明したが、これに限定されるものではなく、所与の関数を用いるなどして、２次曲線的な補間を行ってもよい。
【０２４０】
また、本実施形態により補間、設定されたα値に基づいて行われるα合成処理の種類の限定されない。
【０２４１】
また、本実施形態で説明した処理例は、ポリゴン単位、或いはモデル単位に処理を行ってもよい。
【０２４２】
更に、本実施形態では、合成パラメータとして透明度（不透明度或いは半透明度と等価）を示すα値、フォグ値を例に説明したが、これらに限定されるものではない。オブジェクトの定義点ごとに設定されるパラメータであって、当該パラメータに基づいて画像合成するものであれば、その種類に限定されない。
【０２４３】
また、本発明はゲーム画像を生成する種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲームなど）に適用できる。
【０２４４】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボードなどの種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステム（画像生成システム）のブロック図の一例を示す図である。
【図２】本実施形態において、オブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値が設定されているオブジェクトの定義点との関係を示す説明図である。
【図３】図３（Ａ）、（Ｂ）は、本実施形態においてオブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値の線形補間の概要を示す説明図である。
【図４】本実施形態における例やフォグ処理が行われたゲーム画像の第１の例を示す説明図である。
【図５】本実施形態における例やフォグ処理が行われたゲーム画像の第２の例を示す説明図である。
【図６】本実施形態における例やフォグ処理が行われたゲーム画像の第３の例を示す説明図である。
【図７】本実施形態における例やフォグ処理が行われたゲーム画像の第４の例を示す説明図である。
【図８】本実施形態におけるモデル座標系の概要を示す説明図である。
【図９】本実施形態におけるリアルタイムのフォグ値設定処理に関するフローチャートの一例を示す図である。
【図１０】本実施形態におけるリアルタイムのα値設定処理に関するフローチャートの一例を示す図である。
【図１１】本実施形態における第１のオブジェクト群のオブジェクトデータ生成処理に関するフローチャートの一例を示す図である。
【図１２】図１１で生成したオブジェクトデータを用いた画像生成処理に関するフローチャートの一例を示す図である。
【図１３】境界平面をリアルタイムに変化させる場合の境界平面とオブジェクトの定義点との関係を示す説明図である。
【図１４】本実施形態において、固定したオブジェクトに対してレイヤ０、１を移動させてレイヤα処理を行う場合のゲーム画像の第１の例を示す説明図である。
【図１５】本実施形態において、固定したオブジェクトに対してレイヤ０、１を移動させてレイヤα処理を行う場合のゲーム画像の第２の例を示す説明図である。
【図１６】本実施形態において、固定したオブジェクトに対してレイヤ０、１を移動させてレイヤα処理を行う場合のゲーム画像の第３の例を示す説明図である。
【図１７】本実施形態において、固定したオブジェクトに対してレイヤ０、１を移動させてレイヤα処理を行う場合のゲーム画像の第４の例を示す説明図である。
【図１８】本実施形態における合成パラメータの境界平面を変化させた場合のレイヤα処理に関するフローチャートの一例を示す図である。
【図１９】本実施形態において、オブジェクトをリアルタイムに移動させる場合の境界平面とオブジェクトの定義点との関係を示す説明図である。
【図２０】本実施形態において、固定したレイヤ０、１に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第１の例を示す説明図である。
【図２１】本実施形態において、固定したレイヤ０、１に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第２の例を示す説明図である。
【図２２】本実施形態において、固定したレイヤ０、１に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第３の例を示す説明図である。
【図２３】本実施形態において、合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合のレイヤα処理に関するフローチャートの一例を示す図である。
【図２４】本実施形態における水面から現れるオブジェクトの画像生成処理のフローチャートの一例を示す図である。
【図２５】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２６】図２６（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１１２  オブジェクト移動処理部
１１４  境界平面設定部
１２０  画像生成部
１２２  ジオメトリ処理部
１２４  合成パラメータ設定部
１２６  描画部
１３０  合成部
１４０  音成西部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画領域
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
２００、３００、３５０  軸
２０２、３０２、３５２  レイヤ０
２０４、３０４、３５４  レイヤ１
３０６、３５６  移動方向
【図１】
0004624527.tif 000003
【図２】
0004624527.tif 000004
【図３】
0004624527.tif 000005
【図４】
0004624527.tif 000006
【図５】
0004624527.tif 000007
【図６】
0004624527.tif 000008
【図７】
0004624527.tif 000009
【図８】
0004624527.tif 000010
【図９】
0004624527.tif 000011
【図１０】
0004624527.tif 000012
【図１１】
0004624527.tif 000013
【図１２】
0004624527.tif 000014
【図１３】
0004624527.tif 000015
【図１４】
0004624527.tif 000016
【図１５】
0004624527.tif 000017
【図１６】
0004624527.tif 000018
【図１７】
0004624527.tif 000019
【図１８】
0004624527.tif 000020
【図１９】
0004624527.tif 000021
【図２０】
0004624527.tif 000022
【図２１】
0004624527.tif 000023
【図２２】
0004624527.tif 000024
【図２３】
0004624527.tif 000025
【図２４】
0004624527.tif 000026
【図２５】
0004624527.tif 000027
【図２６】
0004624527.tif 000028