JP4624527B2 - ゲームシステム及び情報記憶媒体 - Google Patents

ゲームシステム及び情報記憶媒体 Download PDF

Info

Publication number
JP4624527B2
JP4624527B2 JP2000229247A JP2000229247A JP4624527B2 JP 4624527 B2 JP4624527 B2 JP 4624527B2 JP 2000229247 A JP2000229247 A JP 2000229247A JP 2000229247 A JP2000229247 A JP 2000229247A JP 4624527 B2 JP4624527 B2 JP 4624527B2
Authority
JP
Japan
Prior art keywords
image
processing
synthesis
parameter
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000229247A
Other languages
English (en)
Other versions
JP2002042155A (ja
JP2002042155A5 (ja
Inventor
泰洋 稲川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2000229247A priority Critical patent/JP4624527B2/ja
Publication of JP2002042155A publication Critical patent/JP2002042155A/ja
Publication of JP2002042155A5 publication Critical patent/JP2002042155A5/ja
Application granted granted Critical
Publication of JP4624527B2 publication Critical patent/JP4624527B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム(RPG)を楽しむことができるゲームシステムを例にとれば、プレーヤは、キャラクタ(オブジェクト)を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【0003】
ところで、プレーヤが操作するキャラクタ(オブジェクト)やその背景を、よりリアルに表現する画像処理の1つとして、フォグ処理が知られている。
【0004】
フォグ処理は、オブジェクト空間内の所与の視点からの距離に応じて、表示オブジェクトのカラーを背景に溶け込ませる処理を行う。これにより、霧、雲、もやなどの大気の状態、或いは視点からの距離感を表現することができる。
【0005】
しかしながら従来の3次元空間であるオブジェクト空間における画像を生成するゲームシステムでは、一般的に奥行き方向に相当するZ軸方向でしか上述したフォグ処理を行うことができず、Y軸方向やX軸方向、或いは任意の方向の軸に沿ってフォグ処理を施した画像を生成することができなかった。
【0006】
したがって、オブジェクト空間において任意の方向に任意のカラーが溶け込むといった表現を行うことができず、例えば大気の状態や距離感をより効果的に表現する高度なゲーム画像を生成することができなかった。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクト空間において任意の方向に任意のカラーが溶け込む表現を可能とするゲームシステム及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定する合成パラメータ設定手段と、前記合成パラメータに基づいて、所与の画像情報とジオメトリ処理後の前記オブジェクトの画像情報に基づく合成処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0009】
ここで、オブジェクトの定義点とは、オブジェクトを形成するために定義されるものであり、例えばオブジェクト空間におけるポリゴンの場合は頂点、自由曲面の場合は制御点を意味する。
【0010】
本発明によれば、所与の視点での画像が生成されるオブジェクト空間内に設定されるオブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定し、当該合成パラメータに基づいて、所与の画像情報とジオメトリ処理後のオブジェクトの画像情報とに基づく合成処理を行うようにした。したがって、従来のように奥行き方向だけではなく、任意の方向に任意のカラーへの合成処理を施した、より効果的なゲーム画像を生成することができる。
【0011】
ここで、合成パラメータとは、各画素の関連付けられて記憶される情報であり、オブジェクトの定義点毎に設定され、例えば色情報以外のプラスアルファの情報としての透明度(不透明度或いは半透明度と等価)を示すα値、所与の色に溶かし込むための係数としてのフォグ値などをいう。
【0012】
また、所与の画像情報とは、合成処理の種類に応じて異なるが、例えば別に設定してある背景色などのフォグカラーや、既に描画領域に描画されているジオメトリ処理後の画像情報などを意味する。
【0013】
また、この描画領域としては、例えばフレームバッファ、ワークバッファ(中間バッファ、別バッファ)などの画素単位で画像情報を記憶できる領域をいう。
【0014】
さらに、合成処理とは、ジオメトリ処理後の画像情報との間で行われる、例えば所与のフォグ処理、α合成などをいい、こうすることでそれぞれのカラーに溶け込む表現を行う。
【0015】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記任意の軸に対して1又は複数の平面を設定する手段と、前記オブジェクトの定義点に対して、前記平面を規定する平面方程式に基づいて境界判定を行う手段とを含み、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とする。
【0016】
こうすることで、合成処理対象のオブジェクトの定義点に設定される合成パラメータの設定処理を簡素化して、より複雑で、効果的な合成処理が行われたゲーム画像を生成することができる。
【0017】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とする。
【0018】
こうすることで、合成パラメータの設定に伴う処理負荷を軽減することができ、その分だけ他の処理に負荷をかけることができるので、よりプレーヤの興味を引くゲーム画像を提供する可能性を大きくする。
【0019】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、第1のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第2のオブジェクト群に対しては1又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とする。
【0020】
本発明によれば、例えばゲーム開始シーケンス前に算出した合成パラメータをオブジェクトデータに埋め込み、それ以降当該オブジェクトデータを用いて各種合成処理を行うことで、本発明独自の効果的な画像の生成に伴う処理負荷を大幅に軽減することができる。
【0021】
更に、オブジェクトのモデリングの際に、パラメータを編集してその都度モデルをコンバートしてオブジェクトデータを生成するよりも、ゲーム進行に応じて適切な各種パラメータ設定を行うことができるので、作業の後戻りを省略することができ、モデリングの工数をも大幅に削減する。
【0022】
また、同じオブジェクトデータに対して、異なるパラメータを設定することができるため、ゲームの進行に応じたオブジェクトデータを用意する必要がなくなり、格納すべきオブジェクトデータの容量を削減することができる。
【0023】
また本発明は、オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、前記位置関係に応じて補間された合成パラメータに基づいて、所与の画像情報とジオメトリ処理後の前記オブジェクトの画像情報に基づく合成処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0024】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とする。
【0025】
本発明によれば、オブジェクトの位置に対して、合成パラメータの境界平面を移動させて、オブジェクトの定義点と境界平面との位置関係を変更するため、オブジェクトを次第に出現させたり、或いは次第に消滅させたりといった複雑なゲーム画像を、簡素な処理で実現することができる。
【0026】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とする。
【0027】
本発明によれば、合成パラメータを設定するための境界平面に対して、オブジェクトを移動させて、オブジェクトの定義点と境界平面との位置関係を変更するため、移動するオブジェクトを次第に出現させたり、或いは次第に消滅させたりといった複雑なゲーム画像を、簡素な処理で実現することができる。
【0028】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の画像情報は、固定色の背景画像情報であることを特徴とする。
【0029】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の画像情報は、描画領域に描画された画像情報であることを特徴とする。
【0030】
こうすることで、任意の軸に沿ったフォグ処理若しくはα合成処理を施して、任意の方向に任意のカラーが溶け込むといった表現を行うことができず、例えば大気の状態や距離感をより効果的に表現する高度なゲーム画像を生成することができる。
【0031】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記合成パラメータが増減される軸が複数設定されることを特徴とする。
【0032】
本発明によれば、従来の奥行き方向(Z軸方向)の合成処理のみならず、例えばY軸方向の合成処理(フォグ処理やα値による合成処理)を行うことができ、これまでには表現が困難であった大気状態や距離感を容易に表現することができるようになる。
【0033】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0034】
1.本実施形態のゲームシステム構成
図1に、本実施形態のゲームシステム(画像生成システム)のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0035】
ここで、処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、または音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSPなど)、或いはASIC(ゲートアレイなど)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0036】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筐体などのハードウェアにより実現できる。
【0037】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0038】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
【0039】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時などに記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報などの少なくとも1つを含むものである。
【0040】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0041】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0042】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0043】
通信部196は、外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0044】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0045】
処理部100は、ゲーム処理部110、画像生成部120、音生成部140を含む。
【0046】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はX軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバ処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0047】
画像生成部120は、ゲーム処理部110からの指示などにしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して、表示部190に出力する。
【0048】
音生成部140は、ゲーム処理部110からの指示などにしたがって各種の音処理を行い、BGM、効果音、又は音声などの音を生成し、音出力部192に出力する。
【0049】
なお、ゲーム処理部110、画像生成部120、音生成部140の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0050】
ゲーム処理部110は、オブジェクト移動処理部112、境界平面設定部114を含む。
【0051】
ここで、オブジェクト移動処理部112は、キャラクタなどのオブジェクト(モデル)の移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算し、例えば操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0052】
より具体的には、オブジェクト移動処理部112は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば、第(k−1)(kは、2以上の自然数)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間をΔtとする。すると、第kフレームでのオブジェクトの位置をPMk、速度VMkは、例えば次の(1)、(2)式のように求められる。
【0053】
PMk=PMk-1+VMk-1×Δt ・・・(1)
VMk=VMk-1+AMk-1×Δt ・・・(2)
また平面境界設定部114は、オブジェクト空間におけるポリゴンの頂点や自由曲面の制御点(広義には、オブジェクトの定義点)に設定される合成パラメータについて、補間処理やクリップ処理を行うための平面を任意の軸に対して設定する処理を行う。本実施形態では、この設定された合成パラメータに基づいて各種合成処理を行って、オブジェクト空間内の所与の視点での画像が生成されるようになっている。
【0054】
ここで合成パラメータとは、各画素に関連付けられて記憶される情報であり、オブジェクトの定義点毎に設定され、画像生成部120において画素単位で補間して所与の合成処理が行われる。本実施形態では、合成パラメータとして、例えば色情報以外のプラスアルファの情報としての透明度(不透明度或いは半透明度と等価)を示すα値、所与の色に溶かし込むための係数としてのフォグ値を意味するものとするが、これらに限定されるものではなく、他にマスク情報、バンプ情報等がある。また、本実施形態では、合成パラメータの値として、「0」から「1」の範囲の値とする。
【0055】
画像生成部120は、ジオメトリ処理部122、合成パラメータ設定部124、描画(レンダリング)部126を含む。
【0056】
ここで、ジオメトリ処理部122は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元演算)を、オブジェクトに対して行う。そして、ジオメトリ処理により得られた透視変換後のオブジェクトデータは、描画データ(頂点の位置座標、テクスチャ座標、色(輝度)データ)として、記憶部170の主記憶部172に格納されて、保存される。
【0057】
合成パラメータ設定部124は、α値やフォグ値といったオブジェクトの定義点ごとに設定された合成パラメータを補間して、各画素の合成パラメータ、すなわちα値やフォグ値を設定する処理を行う。より具体的には、境界平面設定部114によって設定された境界平面に基づいて合成パラメータの補間、或いはクリップ処理を行って、各合成パラメータを設定する。
【0058】
描画(レンダリング)部126は、ジオメトリ処理により得られ、記憶部170の主記憶部172に保存された描画データに基づいて、描画領域174にオブジェクトの画像を描画するための処理を行う。これにより、オブジェクトが配置されるオブジェクト空間内の所与の視点(仮想カメラ)での画像が生成されるようになる。
【0059】
この描画部126は、合成部130を含む。
【0060】
合成部130は、描画データが含む合成パラメータに基づいて、2つの画像を合成する。例えば、合成パラメータがポリゴンの各頂点に設定されたα値の場合、画素ごとに各頂点に設定されたα値に基づいて補間し、このα値を用いて、フレームバッファである描画領域174に、既にジオメトリ処理後のオブジェクトの画像と、これに重ねて描画するオブジェクトの画像とに対して、合成処理を行う(α合成処理)。これにより、既に描画されているオブジェクト画像に対して半透明合成画像を生成する。α値による合成処理がαブレンディングである場合、次の(3)〜(5)式に従って、画素ごとに2つの画像が合成される。
【0061】
Q=α×R1+(1−α)×R2 ・・・(3)
Q=α×G1+(1−α)×G2 ・・・(4)
Q=α×B1+(1−α)×B2 ・・・(5)
なお、R1、G1、B1は、描画領域174に既に描画されている第1のオブジェクトの画像の色(輝度)を示すR、G、B成分であり、R2、G2、B2はこの第1のオブジェクトに重ねて描画する第2のオブジェクトの画像のR、G、B成分である。またRQ、GQ、BQは、αブレンディングにより生成される出力画像である。なお、αとしては、第1のオブジェクトのα値を使用してもよいし、第2のオブジェクトのα値を使用してもよい。
【0062】
以下では、境界平面設定部114によって設定された境界平面に基づいて補間、或いはクリップ処理されたα値に基づくα合成処理を、レイヤα処理と呼ぶ。
【0063】
また、例えば、合成パラメータがポリゴンの各頂点に設定されたフォグ値である場合、画素ごとに各頂点に設定されたフォグ値に基づいて補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う(フォグ処理)。これにより、背景色として設定されているフォグカラーに溶かし込む合成画像を生成することができる。フォグ値についても、上述した(3)〜(5)式と同様に合成画像を生成することができる。
【0064】
以下では、境界平面設定部114によって設定された境界平面に基づいて補間、或いはクリップ処理されたフォグ値に基づくフォグ処理を、レイヤフォグ処理と呼ぶ。
【0065】
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0066】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、有線若しくは無線のネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0067】
2.本実施形態の特徴
2.1 合成パラメータの設定
本実施形態では、Z軸方向に限らず任意の軸方向に、上述したα値やフォグ値といった合成パラメータを増減させ、当該合成パラメータに基づいて所与の画像情報とジオメトリ処理後のオブジェクトの画像情報とに基づく合成処理を行うことができる点を特徴とする。そのため、本実施形態では、合成パラメータの値がそれぞれ「0」、「1」である境界平面を、3次元空間であるオブジェクト空間における任意の軸方向に設定する。そして、これら境界平面とオブジェクトの定義点との距離に応じて、当該定義点に設定される合成パラメータを各画素において補間することで、オブジェクト空間において任意の方向に任意のカラーが溶け込む表現が可能な画像生成を実現している。
【0068】
2.1.1 フォグ値の設定
以下、合成パラメータとしてフォグ値を例に、説明する。
【0069】
図2に、本実施形態において、オブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値が設定されているオブジェクトの定義点との関係を示す。
【0070】
すなわち、本実施形態では、図2に示すようにX軸、Y軸、Z軸からなる3次元空間であるオブジェクト空間の任意の方向の軸200に対し、2つの境界平面(レイヤ)202、204として平面S0、S1を配置する。平面S0とS1は、互いに平行で、かつ各法線ベクトルが向き合うように配置される。
【0071】
レイヤ202について、平面S0を特定する平面方程式を次の(6)式のように示すと、レイヤ204である平面S1は、次の(7)式で特定することができる。
【0072】
0: ax+by+cz+d0=0 ・・・(6)
1:−ax−by−cz+d1=0 ・・・(7)
(6)、(7)式は、法線ベクトルが次のように示されることを意味する。
【0073】
0:法線ベクトルV0=(a,b,c) ・・・(8)
1:法線ベクトルV1=(−a,−b,−c) ・・・(9)
ここで、平面S0であるレイヤ202をフォグ値の「0」境界、平面S1であるレイヤ204をフォグ値の「1」境界とすると、レイヤ202より上側をフォグ値「0」の領域(フォグ値0領域)、レイヤ204より下側をフォグ値「1」の領域(フォグ値1領域)、レイヤ202とレイヤ204との間をフォグ値が補間される領域(フォグ値補間領域)とが形成される。
【0074】
以下では、「0」境界のレイヤ202をレイヤ0、「1」境界のレイヤ204をレイヤ1とする。
【0075】
例えば、軸200上のオブジェクトの定義点としてP0、P1、P2を考える。点P0はレイヤ0(平面S0)より上側の領域(フォグ値0領域)、点P1はレイヤ0とレイヤ1(平面S1)の間の領域(フォグ値補間領域)、点P2はレイヤ1より下側の領域(フォグ値1領域)にあるものとする。
【0076】
ここで、点P0(P0X,P0Y,P0Z)とレイヤ0、1との関係は、次のようになる。
【0077】
レイヤ0: aP0X+bP0Y+cP0Z+d0<0 ・・・(10)
レイヤ1:−aP0X−bP0Y−cP0Z+d1>0 ・・・(11)
したがって、点P0はレイヤ0より上側で、またレイヤ1より上側にあると容易に判別することができるので、この判別結果から点P0におけるフォグ値を「0」と設定する。
【0078】
また、点P2(P2X,P2Y,P2Z)とレイヤ0、1との関係は、次のようになる。
【0079】
レイヤ0: aP2X+bP2Y+cP2Z+d0>0 ・・・(12)
レイヤ1:−aP2X−bP2Y−cP2Z+d1<0 ・・・(13)
したがって、点P2はレイヤ0より下側であって、更にレイヤ1より下側にあると容易に判別することができるので、この判別結果から点P2におけるフォグ値を「1」と設定する。
【0080】
一方、点P1(P1X,P1Y,P1Z)とレイヤ0、1との関係は、次のようになる。
【0081】
レイヤ0: aP1X+bP1Y+cP1Z+d0>0 ・・・(14)
レイヤ1:−aP1X−bP1Y−cP1Z+d1>0 ・・・(15)
したがって、点P2はレイヤ0より下側であって、レイヤ1より上側にあると容易に判別することができるので、本実施形態では、設定すべきフォグ値について、点P1とレイヤ0、1との距離に応じた線形補間を行う。
【0082】
図3(A)、(B)に、本実施形態においてオブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値の線形補間の概要を説明するための図を示す。
【0083】
すなわち、図3(A)に示すように、レイヤ0である平面S0とレイヤ1である平面S1とが平行に配置され、それぞれフォグ値0領域、フォグ値補間領域、フォグ値1領域を形成する。フォグ値0領域では、オブジェクトの定義点とレイヤ0、1との距離に関係なく当該定義点に設定されたフォグ値を「0」とする。フォグ値1領域では、オブジェクトの定義点とレイヤ0、1との距離に関係なく当該定義点に設定されたフォグ値を「1」とする。これに対して、フォグ値補間領域では、同図(B)に示すようにレイヤ0、1と定義点との距離に応じたフォグ値を線形補間する。より具体的には、距離Dの間にフォグ値が「0」から「1」に変化するように、その間の定義点におけるフォグ値を線形補間する。
【0084】
定義点P1において線形補間されたフォグ値fは、次式のように示すことができる。
【0085】
【数1】
Figure 0004624527
この場合、レイヤ0とレイヤ1とが平行であるため、レイヤ0とレイヤ1との距離が決まり、予め計算しておくことで、フォグ値の線形補間に伴う処理負荷を軽減することができる。
【0086】
このようにして、オブジェクト空間において任意の軸200に対して配置された2平面に基づいて設定されたフォグ値を用いて、例えば背景色として別に設定された所与の画像情報(色情報)に溶かし込むように表現することができる。特に、ゲーム処理により、従来のような奥行き方向だけに限定されない任意の方向の軸に対して、リアルタイムに上述したレイヤ0、1を設定することで、これまでに得られない効果的なレイヤフォグ処理を行うことができる。
【0087】
図4〜図7に、本実施形態のレイヤフォグ処理が行われたゲーム画像の一例を示す。
【0088】
ここでは、オブジェクト空間における同一の視点(仮想カメラ)から見た画像として、水面から顔を出す「水蛇」の動きについて、数フレーム間隔をおいて連続的に示している。図4〜図7において、同一部分には同一符号を付している。
【0089】
ゲーム処理によってリアルタイムにレイヤ0、1をY軸方向に動かすことで、水深が深い位置にあるオブジェクトをフォグカラーとして設定された背景色「黒」に溶け込む表現を可能にしている。特に、移動する表示オブジェクトである「水蛇」が水面から顔を出すのに伴う水面の上昇、下降に応じて、レイヤ0、1を動かすことによって、リアルタイムに変化する水面からある一定の水深より深い部分は背景色「黒」に自然と溶け込むような表現を実現している。
【0090】
例えば、図4〜図7では、格子状に配置された直線によって特定される平面210、212をそれぞれレイヤ0、1とし、平面210を水面の上昇、下降に応じてY軸方向に移動させると共に、平面212を水面からのある一定の深度を保つように平面210と所与の間隔を置いて設定する。
【0091】
これにより、オブジェクト空間において、水蛇214である移動オブジェクトのオブジェクト画像のうち、平面210であるレイヤ0よりY軸方向に上側にある部分は、フォグ値0領域にあるため、背景色「黒」によるフォグ処理が行われた結果、水蛇214のオブジェクト画像がそのまま表示される。
【0092】
これに対して、水蛇214の移動オブジェクトのオブジェクト画像のうち、平面210であるレイヤ0よりY軸方向に下側にあって平面212であるレイヤ1よりY軸方向に上側にある部分は、フォグ値補間領域にあるため、レイヤ1に近くなるほど背景色「黒」に徐々に近づくようなフォグ処理画像が表示される。
【0093】
また、水蛇214の移動オブジェクトのオブジェクト画像のうち、平面212であるレイヤ1よりY軸方向に下側にある部分は、フォグ値1領域にあるため、水蛇214のオブジェクト画像は完全に背景色「黒」に溶け込んでしまい、背景色がそのまま表示される。
【0094】
このように本実施形態では、Z軸方向以外の任意の軸方向に境界平面を設定して、合成パラメータを変化させることで、ゲーム画像の効果的なフォグ処理画像を生成することができる。
【0095】
また、これは従来のようにZ軸方向の一方向のみの合成処理に限定されないことを意味する。すなわち、オブジェクト空間において、任意の2軸の各方向にそれぞれ上述したレイヤ0、1の境界平面を設定することで、それぞれの軸方向に変化する合成パラメータを用いて、従来にないゲーム画像のレイヤフォグ処理画像を提供することができることを意味する。
【0096】
上述した図4〜図7に示したゲーム画像を例にすると、例えばZ軸方向にも同様に互いに法線ベクトルが向き合う平行な境界平面を設定して、Z軸方向に合成パラメータを変化させることで、奥行きに応じたフォグ処理画像をも生成することができ、結果としてY軸方向とZ軸方向とでそれぞれレイヤフォグ処理された画像により、従来からの奥行き方向の距離感の表現に加えて、上下方向または左右方向に表現されるこれまでにない効果的な画像を生成することができる。
【0097】
次に、上述したリアルタイムのレイヤフォグ処理について、本実施形態における詳細例を説明する。
【0098】
このレイヤフォグ処理は、ゲーム処理によりリアルタイムに設定される境界平面に対して、水蛇を構成するポリゴンの各頂点(広義には、移動する表示オブジェクトの定義点)に対して領域判定(狭義には、境界判定)を行う。しかしながら、ゲーム処理によって境界平面が設定される座標系がワールド座標系であるため、ワールド座標系で各ポリゴンの頂点ごとに領域判定を行うことは、処理負荷の増大を招く。そこで、本実施形態では、境界平面をモデル座標系に変換し、当該座標系で領域判定するようにしている。
【0099】
図8に、モデル座標系の概要を示す。
【0100】
すなわち、領域判定対象のオブジェクトのモデル座標系が、図8に示すようにx軸、y軸、z軸で表されるとき、ゲーム処理によってワールド座標系でリアルタイムに設定されるレイヤ0、レイヤ1をモデル座標系に座標変換し、モデル座標系におけるレイヤ0´、レイヤ1´を生成する。そして、このモデル座標系で、領域判定対象のオブジェクトの定義点ごとに、レイヤ0´、レイヤ1´によって形成される領域A、B、Cのどの領域にあるかを判定する。
【0101】
図9に、本実施形態におけるリアルタイムのフォグ値設定処理に関するフローチャートの一例を示す。
【0102】
まず、領域判定対象のオブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列T-1を生成する(ステップS10)。
【0103】
次に、境界平面設定部114によってワールド座標系に設定されたレイヤ0、1を逆行列T-1によりモデル座標系に変換し、それぞれレイヤ0´、1´とする(ステップS11)。
【0104】
続いて、合成パラメータ設定部124により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を1つ取り出す(ステップS12)。
【0105】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図8における領域Aに存在するか否かを判別する(ステップS13)。
【0106】
より具体的には、ゲーム処理によってワールド座標系に設定された境界平面が、(6)、(7)式で示されるため、これをステップS10で生成した逆行列T-1により変換することで、当該オブジェクトのモデル座標系におけるレイヤ0´、1´を特定する平面方程式が得られる。そして、領域判定対象のオブジェクトの頂点座標について、(10)〜(15)式で示したようにモデル座標系に変換されたレイヤ0´、1´の各平面方程式に代入した値により、頂点座標がレイヤ0´、1´に対して上側にあるか下側にあるかをそれぞれ判別することができる。このようにして、オブジェクトの頂点座標がレイヤ0´、1´によって形成される領域A〜Cのいずれかの領域にあるかを判別することができる。
【0107】
こうして、ステップS12で取り出したオブジェクトの頂点座標が、領域Aにないと判定されたとき(ステップS13:N)、同様にして領域Cにあるか否かを判別する(ステップS14)。
【0108】
ステップS14で、オブジェクトの頂点座標が更に領域Cにないと判定されたとき(ステップS14:N)、合成パラメータ設定部124は、当該頂点座標が領域Bにあると判断して、レイヤ0´、1´の距離からの距離に応じて、図3(B)に示したように「0」〜「1」の間で線形補間した値を、当該頂点座標におけるフォグ値として設定する(ステップS15)。
【0109】
一方、ステップS13で、オブジェクトの頂点座標が領域Aにあると判別されたとき(ステップS13:Y)、フォグ値「0」の境界平面であるレイヤ0´より上側であるため、合成パラメータ設定部124は、当該頂点座標におけるフォグ値を「0.0」に設定する(ステップS16)。
【0110】
また、ステップS14で、オブジェクトの頂点座標が領域Cにあると判別されたとき(ステップS14:Y)、フォグ値「1」の境界平面であるレイヤ1´より下側であるため、合成パラメータ設定部124は、当該頂点座標におけるフォグ値を「1.0」に設定する(ステップS17)。
【0111】
こうして、ステップS15〜S17で、合成パラメータ設定部124によってフォグ値が設定された後、ジオメトリ処理部122は、オブジェクトの頂点データに基づいて、頂点の位置座標の座標変換を行う。すなわち、モデル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、色計算を行って、描画情報を生成する。そして、この描画情報は、合成パラメータ設定部124によって設定されたフォグ値が付与され、描画データとして記憶部170の主記憶部172に保存される。
【0112】
この主記憶部172に保存された描画データに基づいて、描画部126により描画領域174にオブジェクトの画像を描画するための処理が行われる。その際、合成部130は、描画データに含まれるフォグ値に基づいて、画素ごとに補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う。
【0113】
ステップS18で描画データが生成されると、合成パラメータ設定部124は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し(ステップS19)、終了したと判別されたとき(ステップS19:Y)、一連の処理を終了する。
【0114】
一方、ステップS19で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき(ステップS19:N)、ステップS12に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてフォグ値の設定処理を行う。
【0115】
2.1.2 α値の設定
上述したように任意の軸に対して境界平面を配置し、オブジェクトの頂点座標に設定される合成パラメータとしては、任意のフォグカラーに溶け込ませるためのフォグ処理だけではなく、既に描画領域に描画された画像との間で合成処理を行うα合成にも同様に適用することができる。
【0116】
すなわち、オブジェクトの頂点座標に設定されるα値についても、図2、図3と同様にα値が「0」、「1」の境界平面を設定し、各境界平面によって形成される領域をα値0領域、α値補間領域、α値1領域として、頂点座標ごとに領域判定をする。そして、頂点座標が存在する領域に応じたα値を設定することで、例えば既に描画領域に描画されているジオメトリ処理後のオブジェクトの画像との間でα合成を行って、重ねて描画される背景画像(色情報)に溶かし込むように表現することができる。特に、ゲーム処理により、従来のような奥行き方向だけに限定されない任意の方向の軸に対して、リアルタイムに上述したレイヤ0、1を設定することで、これまでに得られない効果的なα合成処理画像を生成することができる。
【0117】
次に、上述したリアルタイムのα合成処理について、本実施形態における詳細例を説明する。
【0118】
このα合成処理についても、ゲーム処理によりリアルタイムに設定される境界平面に対して、モデル座標系においてポリゴンの各頂点(広義には、移動する表示オブジェクトの定義点)に対して領域判定を行う。
【0119】
図10に、本実施形態におけるリアルタイムのα値設定処理に関するフローチャートの一例を示す。
【0120】
まず、領域判定対象のオブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列T-1を生成する(ステップS20)。
【0121】
次に、境界平面設定部114によってワールド座標系に設定されたレイヤ0、1を逆行列T-1によりモデル座標系に変換し、それぞれレイヤ0´、1´とする(ステップS21)。
【0122】
続いて、合成パラメータ設定部124により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を1つ取り出す(ステップS22)。
【0123】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図8における領域Aに存在するか否かを判別する(ステップS23)。
【0124】
ステップS12で取り出したオブジェクトの頂点座標が、領域Aにないと判定されたとき(ステップS23:N)、同様にして領域Cにあるか否かを判別する(ステップS24)。
【0125】
ステップS24で、オブジェクトの頂点座標が更に領域Cにないと判定されたとき(ステップS24:N)、合成パラメータ設定部124は、当該頂点座標が領域Bにあると判断して、レイヤ0´、1´の距離からの距離に応じて、図3(B)に示したように「0」〜「1」の間で線形補間した値を、当該頂点座標におけるα値として設定する(ステップS25)。
【0126】
一方、ステップS23で、オブジェクトの頂点座標が領域Aにあると判別されたとき(ステップS23:Y)、フォグ値「0」の境界平面であるレイヤ0´より上側であるため、合成パラメータ設定部124は、当該頂点座標におけるα値を「0.0」に設定する(ステップS26)。
【0127】
また、ステップS24で、オブジェクトの頂点座標が領域Cにあると判別されたとき(ステップS24:Y)、α値「1」の境界平面であるレイヤ1´より下側であるため、合成パラメータ設定部124は、当該頂点座標におけるα値を「1.0」に設定する(ステップS27)。
【0128】
こうして、ステップS25〜S27で、合成パラメータ設定部124によってα値が設定された後、ジオメトリ処理部122は、オブジェクトの頂点データに基づいて、透視変換や、色計算等を行って、描画情報を生成する。この描画情報は、合成パラメータ設定部124によって設定されたα値が付与され、描画データとして記憶部170の主記憶部172に保存される。
【0129】
主記憶部172に保存された描画データは、描画部126により描画領域174にオブジェクトの画像を描画するための処理が行われる。その際、合成部130は、描画データに付与されたα値に基づいて、画素ごとに補間し、このα値を用いて、例えばαブレンディングを行う。
【0130】
ステップS28で描画データが生成されると、合成パラメータ設定部124は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し(ステップS29)、終了したと判別されたとき(ステップS29:Y)、一連の処理を終了する。
【0131】
一方、ステップS29で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき(ステップS29:N)、ステップS22に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてα値の設定処理を行う。
【0132】
このようにして頂点ごとに任意の軸に沿ってα値を設定することができるので、オブジェクトの表示/非表示についてもゲームエフェクトとして効果的にオブジェクトが次第に消えたり現れたりするといった効果的な表現が可能となる。
【0133】
2.2 前処理による効率化
本実施形態では、オブジェクト空間内に設定された境界平面であるレイヤ0、1とオブジェクトの各頂点との位置関係によって、フォグ値、α値が決まるため、オブジェクトが移動若しくは回転するたびに、1又は複数フレームごとに合成パラメータを生成し、更新する必要がある。
【0134】
そこで、合成パラメータの更新に伴う処理負荷を軽減するため、オブジェクト空間に配置されるオブジェクトを、ワールド座標系に配置される樹木や岩(例えば、図4における岩オブジェクト216)といった主に地形などを表現するための第1のオブジェクト群と、キャラクタなどワールド座標系で移動が伴う第2のオブジェクト群とに分類していることを特徴としている。
【0135】
第1のオブジェクト群についてはゲームシーケンス開始前に、一度計算した合成パラメータをオブジェクトデータに書き込み、それ以降固定的にこのオブジェクトデータに含まれる合成パラメータでフォグ処理画像、α合成画像を生成する。
【0136】
第1のオブジェクト群として選択されるべきオブジェクトとしては、ゲーム進行中に全く固定的なものに限定されることなく、比較的長期間(例えば数十フレーム、数百フレーム)ごとに更新する必要があるものであっても、処理負荷を軽減させることができる。
【0137】
第2のオブジェクト群については、1又は複数フレームごとに、合成パラメータを更新させる。
【0138】
以下、合成パラメータとしてのフォグ値の設定を例に、岩などのワールド座標系で不動の第1のオブジェクト群のオブジェクトデータ生成処理と、これによって生成されたオブジェクトデータを用いた画像生成処理について説明する。
【0139】
図11に、本実施形態における第1のオブジェクト群のオブジェクトデータ生成処理に関するフローチャートの一例を示す。
【0140】
ゲーム処理部110は、ゲームプログラムなどに基づいて種々のゲーム処理を行う。このゲーム処理部110が、所与のゲームシーケンスの開始前のイベント発生を監視し(ステップS30:N)、これを検出したとき(ステップS30:Y)、まず必要なオブジェクトデータを情報記憶媒体180から取り出し、主記憶部172に展開する(ステップS31)。なお、オブジェクトデータは、記憶部170から取り出されたり、通信部196より通信ネットワークを介して受信される場合もある。また、必要なオブジェクトデータとは、予め岩などワールド座標系で移動しないオブジェクト(第1のオブジェクト群)として所与のテーブルに登録されたオブジェクトを意味する。
【0141】
続いて、境界平面設定部114により、ワールド座標系で合成パラメータとしてのフォグ値の「0」境界、「1」境界であるレイヤ0、1を設定する(ステップS32)。
【0142】
そして、画像生成部120が、主記憶部172に展開されたオブジェクトデータから、処理すべきオブジェクトを1つ取り出し(ステップS33)、当該オブジェクトをモデル座標系からワールド座標系に座標変換するためのマトリクスの逆行列T-1を生成する(ステップS34)。
【0143】
次に、境界平面設定部114によってワールド座標系に設定されたレイヤ0、1を逆行列T-1によりモデル座標系に変換し、それぞれレイヤ0´、1´とする(ステップS35)。
【0144】
続いて、合成パラメータ設定部124により、領域判定対象のオブジェクトの定義点、例えばポリゴンの頂点座標を1つ取り出す(ステップS36)。
【0145】
そして、取り出したオブジェクトの定義点である、例えばポリゴンの頂点座標が、図8における領域Aに存在するか否かを判別する(ステップS37)。
【0146】
取り出したオブジェクトの頂点座標が、領域Aにないと判定されたとき(ステップS37:N)、同様にして領域Cにあるか否かを判別する(ステップS38)。
【0147】
ステップS38で、オブジェクトの頂点座標が更に領域Cにないと判定されたとき(ステップS14:N)、合成パラメータ設定部124は、当該頂点座標が領域Bにあると判断して、レイヤ0´、1´の距離からの距離に応じて、図3(B)に示したように「0」〜「1」の間で線形補間した値を、当該頂点座標におけるフォグ値として設定する(ステップS39)。
【0148】
一方、ステップS37で、オブジェクトの頂点座標が領域Aにあると判別されたとき(ステップS37:Y)、フォグ値「0」の境界平面であるレイヤ0´より上側であるため、合成パラメータ設定部124は、当該頂点座標におけるフォグ値を「0.0」に設定する(ステップS40)。
【0149】
また、ステップS38で、オブジェクトの頂点座標が領域Cにあると判別されたとき(ステップS38:Y)、フォグ値「1」の境界平面であるレイヤ1´より下側であるため、合成パラメータ設定部124は、当該頂点座標におけるフォグ値を「1.0」に設定する(ステップS41)。
【0150】
こうして、ステップS39〜S41で設定されたフォグ値は、合成パラメータ設定部124によって、オブジェクトデータの所与の位置に書き込まれる(ステップS42)。
【0151】
その後、合成パラメータ設定部124は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し(ステップS43)、終了していないと判別されたとき(ステップS43:N)、ステップS36に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にしてフォグ値を設定し、オブジェクトデータに埋め込む。
【0152】
一方、ステップS43でオブジェクトの全頂点に対して上述した処理が終了したと判別されたとき(ステップS43:Y)、続いて第1のオブジェクトとして登録された全オブジェクトに対してフォグ値の設定が終了したか否かを判別する(ステップS44)。
【0153】
第1のオブジェクトとして登録された全オブジェクトに対してフォグ値の設定が終了したと判別されたとき(ステップS44:Y)、一連の処理を終了する(エンド)が、終了していないと判別されたとき(ステップS44:N)、ステップS33に戻って、次のオブジェクトを取り出して、以下同様に当該オブジェクトの頂点ごとにフォグ値の設定を行う。
【0154】
ここでは、合成パラメータとしてフォグ値の設定を行ったが、α値の場合も同様の処理で、ゲームシーケンス前に演算して、オブジェクトデータに埋め込むことができる。
【0155】
図12に、図11で生成したオブジェクトデータを用いた画像生成処理に関するフローチャートの一例を示す。
【0156】
ゲーム処理部110が、所与のゲームシーケンスの進行中であるか否かを監視し(ステップS50:N)、これを検出したとき(ステップS50:Y)、図11のステップS42で書き込んだオブジェクトデータから、頂点データを取り出す(ステップS51)。
【0157】
そして、ジオメトリ処理部122は、当該頂点データに基づいて、頂点の位置座標の座標変換を行う。すなわち、モデル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、色計算を行って、描画情報を生成する。そして、この描画情報は、図11のステップS39〜ステップS41で設定されたフォグ値がそのまま付与され、描画データとして記憶部170の主記憶部172に保存される。
【0158】
この主記憶部172に保存された描画データに基づいて、描画部126により描画領域174にオブジェクトの画像を描画するための処理が行われる。その際、合成部130は、描画データに含まれるフォグ値に基づいて、画素ごとに補間し、このフォグ値を用いて、フォグカラーとして別に設定している画像情報と、所与の画像とに対して、合成処理を行う。
【0159】
ステップS52で描画データが生成されると、合成パラメータ設定部124は、オブジェクトの全頂点に対して上述した処理が終了したか否かを判別し(ステップS53)、終了したと判別されたとき(ステップS53:Y)、一連の処理を終了する。
【0160】
一方、ステップS53で、オブジェクトの全頂点に対して上述した処理が終了していないと判別されたとき(ステップS53:N)、ステップS51に戻って、当該オブジェクトの次の頂点座標を取り出して、以下同様にして描画データを生成する。
【0161】
ここでは、合成パラメータとしてフォグ値について説明したが、α値の場合も同様の処理で、ゲームシーケンス前に算出したα値を埋め込んだオブジェクトデータに基づいて描画データを生成することができる。
【0162】
このようにしてゲーム開始シーケンス前に算出した合成パラメータをオブジェクトデータに埋め込み、それ以降このオブジェクトデータを用いてフォグ処理画像、α合成画像を生成することで、上述した効果的な画像の生成に伴う処理負荷を大幅に軽減することができる。
【0163】
更に、オブジェクトのモデリングの際に、パラメータを編集してその都度モデルをコンバートしてオブジェクトデータを生成するよりも、ゲームプログラムによるゲーム進行に応じて境界平面を設定するためのパラメータを設定するほうが、作業の後戻りを省略することができるため、モデリングの工数を大幅に削減することができるようになる。
【0164】
また、同じオブジェクトデータに対して、異なるパラメータを設定することができるため、ゲームの進行に応じたオブジェクトデータを用意する必要がなくなり、格納すべきオブジェクトデータの容量を削減することができる。
【0165】
2.3 境界平面とオブジェクトとの位置関係
本実施形態では、境界平面設定部114によってオブジェクト空間内の任意の軸に対して設定される合成パラメータの「0」境界であるレイヤ0、「1」境界であるレイヤ1と、オブジェクト空間内に設定されるオブジェクトとの位置関係をリアルタイムに変更することで、これまでに表現できなかった効果的なゲーム画像を生成することができる点を特徴としている。
【0166】
この位置関係をリアルタイムに変更する場合として、オブジェクトの位置に対してレイヤ0、1をリアルタイムに変更する場合と、レイヤ0、1の位置に対してオブジェクトの位置を移動させる場合とがある。
【0167】
2.3.1 境界平面のリアルタイム変化(オブジェクト固定)
図13に、境界平面をリアルタイムに変化させる場合の境界平面とオブジェクトの定義点との関係を示す。
【0168】
すなわち、図13に示すようにX軸、Y軸、Z軸からなる3次元空間であるオブジェクト空間の任意の方向の軸300に対し、2つの境界平面(レイヤ)302、304として平面S0、S1を、平行に、かつ各法線ベクトルが向き合うように配置する。
【0169】
そして、軸300上にあるオブジェクトの定義点(例えばポリゴンの頂点)Pに対して、軸300の上下方向にレイヤ0、レイヤ1を移動方向306に移動させることで、レイヤ0、1と定義点Pとの位置関係をリアルタイムに変更させる。
【0170】
このように位置関係を変更させることで、レイヤ0、1の間の領域に定義点がある場合、変更に伴い上述した合成パラメータの補間値も変更するため、この補間値によるフォグ処理画像、α合成処理画像もこれまでにないエフェクト効果を発揮することができる。
【0171】
なお、レイヤ0、1のいずれか一方を固定して、他方のみを軸方向に移動させてもよい。また、両レイヤの間隔を一定に保ちながら軸方向に移動させてもよいし、間隔も変化しながら両レイヤを軸方向に移動させることで、定義点とレイヤとの位置関係を変更するようにしてもよい。
【0172】
図14〜図17に、本実施形態において、固定したオブジェクトに対してレイヤ0、1を移動させてレイヤα処理を行う場合のゲーム画像の一例を示す。
【0173】
ここでは、オブジェクト空間における同一の視点(仮想カメラ)から見た画像として、人の形をした固定オブジェクトに対してレイヤ0、1をY軸方向に移動させた場合の数フレーム間隔ごとの様子を示している。図14〜図17において、同一部分には同一符号を付している。また、α合成処理としてαブレンディングを用いている。
【0174】
例えば図14において、人の形をした固定オブジェクト310に対して、Y軸に垂直にα値の「0」境界平面、「1」境界平面を配置する。なお、ここでは「0」境界平面312だけ示されており、α値の「1」境界はY軸方向の下側にあって画面外にあるものとする。
【0175】
したがって、「0」境界平面312よりY軸方向に上側にあるオブジェクトの定義点に設定されるα値は「0」となるため、この領域の固定オブジェクト310は背景がそのまま表示される。
【0176】
一方、「0」境界平面312よりY軸方向に下側にあるオブジェクトの定義点は、図示しない「1」境界平面との間の距離に応じて補間されるため、「1」境界平面に近づくほど、次第に固定オブジェクトの色が鮮明になるように表現される。
【0177】
また、図15では、図14に示されるレイヤ0、1の位置から、共にY軸方向に上側に移動させている。その結果、α値の「1」境界平面314であるレイヤ1が固定オブジェクト310の足の部分にかかっている。
【0178】
この場合、「1」境界平面314よりY軸方向に下側にあるオブジェクトの定義点に設定されるα値は「1」となるため、この領域の固定オブジェクト310のカラーがそのまま表示される。
【0179】
更に、図16、図17では、レイヤ0、1の位置を、次第にY軸方向に上側に移動させ続けることで、人の形をした固定オブジェクト310を下側の部分から次第に出現させるといったゲーム画像を生成することができる。
【0180】
次に、上述した合成パラメータの境界平面を変化させた場合の、本実施形態における詳細例を説明する。
【0181】
図18に、本実施形態における合成パラメータの境界平面を変化させた場合のレイヤα処理に関するフローチャートの一例を示す。
【0182】
すなわち、まずゲーム進行に応じて、境界平面設定部114によりα値が「0」である「0」境界平面であるレイヤ0を設定する(ステップS60)。
【0183】
続いて、脅威開閉面設定部114は、ステップS60で設定したレイヤ0に対応するレイヤ1を設定する(ステップS61)。
【0184】
そして、画像生成部120により、ステップS60、S61で設定された境界平面によるレイヤα処理の影響を受けるオブジェクトを選択し、当該オブジェクトに対して上述したようなα値を設定する。更に、これにより設定したα値に基づいてオブジェクト画像を描画するための描画データを生成する(ステップS62)。
【0185】
ここでは、レイヤα処理について説明したが、レイヤフォグ処理についても同様に処理することが可能である。
【0186】
2.3.2 オブジェクトのリアルタイム変化(境界平面固定)
図19に、オブジェクトをリアルタイムに移動させる場合の境界平面とオブジェクトの定義点との関係を示す。
【0187】
すなわち、図19に示すようにX軸、Y軸、Z軸からなる3次元空間であるオブジェクト空間の任意の方向の軸350に対し、2つの境界平面(レイヤ)352、354として平面S0、S1を、平行に、かつ各法線ベクトルが向き合うように配置する。
【0188】
そして、軸350の上下方向にレイヤ0、レイヤ1に対して、軸350上にあるオブジェクトの定義点(例えばポリゴンの頂点)Pを軸350の移動方向356に移動させることで、レイヤ0、1と定義点Pとの位置関係をリアルタイムに変更させる。
【0189】
このように位置関係を変更させることで、レイヤ0、1の間の領域に定義点がある場合、変更に伴い上述した合成パラメータの補間値も変更するため、この補間値によるフォグ処理画像、α合成処理画像もこれまでにないエフェクト効果を発揮することができる。
【0190】
なお、定義点Pの移動のみならず、レイヤ0、1のいずれか一方を固定して、他方のみを軸方向に移動させてもよい。また、定義点Pの移動のみならず、両レイヤの間隔を一定に保ちながら軸方向に移動させてもよいし、間隔も変化しながら両レイヤを軸方向に移動させて、境界平面と定義点との位置関係を変更するようにしてもよい。
【0191】
図20〜図22に、本実施形態において、固定したレイヤ0、1に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の一例を示す。
【0192】
ここでは、オブジェクト空間における同一の視点(仮想カメラ)から見た画像として、移動オブジェクト360が、床面オブジェクトに対して垂直に設けられた境界平面362、364によって形成された領域を通過させる場合の数フレーム間隔ごとの様子を示している。図20〜図22において、同一部分には同一符号を付している。また、α合成処理としてαブレンディングを用いている。
【0193】
例えば図20において、人の形をした移動オブジェクト360に移動方向に対して、垂直にα値の「0」境界平面(レイヤ0)、「1」境界平面(レイヤ1)を配置する。
【0194】
したがって、「1」境界平面364より左側にある移動オブジェクト360の定義点に設定されるα値は「1」となるため、この領域の移動オブジェクト360のカラーはそのまま表示される。
【0195】
一方、「0」境界平面362、「1」境界平面364の間の領域にある移動オブジェクト360の腕の先の部分のオブジェクトについては、α値が補間されて、次第に背景の床オブジェクトが鮮明になるように表現される。
【0196】
また、図21では、図20で示されるレイヤ0、1に対して、移動オブジェクト360が、更に「0」境界平面362側に移動させている。
【0197】
この場合、「0」境界平面362より右側にあるオブジェクトの定義点に設定されるα値は「0」となるため、この領域の移動オブジェクト360のカラーは表示されず、背景の床オブジェクトのカラーがそのまま表示される。
【0198】
更に、図22では、移動オブジェクト360を更に、レイヤ0の方向へ移動させたため、移動オブジェクト360の移動によりオブジェクトが次第に消滅して表示されるといったゲーム画像を生成することができる。これとは逆に、移動オブジェクトをレイヤ0からレイヤ1の方向に移動させることで、移動オブジェクト360を移動させながら次第に出現させるといった表現も可能となる。
【0199】
次に、上述した合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合の、本実施形態における詳細例を説明する。
【0200】
図23に、本実施形態における合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合のレイヤα処理に関するフローチャートの一例を示す。
【0201】
すなわち、まずゲーム進行に応じて、移動オブジェクト処理部112により、移動オブジェクトを移動させて、移動オブジェクトの位置や回転角度を更新する(ステップS70)。
【0202】
続いて、モデル座標系で定義された移動オブジェクト112のオブジェクトデータをワールド座標系に反映させるため、ステップS70で更新された位置、角度にオブジェクトを配置するためのマトリクスを更新する(ステップS71)。
【0203】
続いて、このマトリクスを用いて、上述したようにレイヤα処理を行って、合成パラメータとしてのα値を演算し、当該オブジェクトを描画するための描画データを生成する(ステップS72)。
【0204】
このレイヤα処理について、既に述べているので詳細な説明は省略する。
【0205】
ここでは、レイヤα処理について説明したが、レイヤフォグ処理についても同様である。
【0206】
要は、オブジェクトの位置に対してレイヤ0、1の位置が変化し、或いはレイヤ0、1に対して移動するオブジェクトの位置が変化する場合に、上述した合成処理を施すことで効果的なゲーム画像を生成することができる。
【0207】
2.4 その他
本実施形態では、以上のように表示対象となるオブジェクトと、任煮の軸に沿って配置された境界平面を設置することで、オブジェクトの定義点と境界平面との距離に応じて合成パラメータを補間し、当該合成パラメータに基づく各種合成処理を行うことができる。
【0208】
例えば、上述したように水面に現れる「水蛇」を表現する場合、従来では奥行き方向でしか距離感などを表現できなかったが、本実施形態によれば更にY軸方向やその他各種方向にも、合成処理を行うことができる。
【0209】
より具体的には、従来どおり奥行き方向にレイヤα処理を行って視点からの距離感を表現すると共に、上下する水面と水面からの深度(Y軸方向)に応じて「水蛇」の胴体について、上述したレイヤフォグ処理を行う。
【0210】
図24に、本実施形態における水面から現れる「水蛇」の画像生成処理の一例のフローチャートを示す。
【0211】
まず、ゲーム処理部110によってゲーム進行に応じて決まる水面の高さ位置に、水面を表示するための水面オブジェクトを配置し、そのY座標を保持する(ステップS80)。
【0212】
次に、保持したY座標位置に、XZ平面に平行な平面(Y=y0)を設定し、レイヤ0とする(ステップS81)。
【0213】
更に、当該Y座標(y0)から、水の透明度を表現するための仮想的な水深である所定量を減算し、そのY座標にレイヤ0と平行な平面(Y=y1)であるレイヤ1を設定する(ステップS82)。
【0214】
そして、レイヤフォグ処理の影響を受けるオブジェクトを選択し、当該オブジェクトについて上述したレイヤフォグ処理を行って、オブジェクトを描画する(ステップS83)。
【0215】
このように、従来通り奥行き方向の距離感を表現すると共に、例えば水面からの深度に応じた「水蛇」の胴体の表示について本実施形態のレイヤフォグ処理を行うことで、何ら複雑な処理を行うことなく従来では得られなかった複数方向のα合成若しくはフォグ処理による効果的な画像を生成することができる。
【0216】
3.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図25を用いて説明する。
【0217】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0218】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0219】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリックプロセッサ904に指示する。
【0220】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレーとする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0221】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0222】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0223】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0224】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0225】
RAM960は、各種プロセッサの作業領域として用いられる。
【0226】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROMなど)間でのDMA転送を制御するものである。
【0227】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD983(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0228】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【0229】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0230】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930などに処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930などは、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0231】
図26(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード1106)には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム或いはデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0232】
図26(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0233】
図26(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラムなどが端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0234】
なお、図26(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバ)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバ)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0235】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0236】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0237】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0238】
また、本実施形態では、合成パラメータを「0」、「1」にクリップするための境界平面を2つ設け、両平面に挟まれた領域について線形補間するものとして説明したが、平面を1つだけ設け、当該平面とオブジェクトの定義点からの距離に応じて合成パラメータを補間して、当該定義点に設定するようにしても同様のゲーム画像を生成することが可能である。
【0239】
また本実施形態では、境界平面に挟まれた領域では線形補間するものとして説明したが、これに限定されるものではなく、所与の関数を用いるなどして、2次曲線的な補間を行ってもよい。
【0240】
また、本実施形態により補間、設定されたα値に基づいて行われるα合成処理の種類の限定されない。
【0241】
また、本実施形態で説明した処理例は、ポリゴン単位、或いはモデル単位に処理を行ってもよい。
【0242】
更に、本実施形態では、合成パラメータとして透明度(不透明度或いは半透明度と等価)を示すα値、フォグ値を例に説明したが、これらに限定されるものではない。オブジェクトの定義点ごとに設定されるパラメータであって、当該パラメータに基づいて画像合成するものであれば、その種類に限定されない。
【0243】
また、本発明はゲーム画像を生成する種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲームなど)に適用できる。
【0244】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボードなどの種々のゲームシステム(画像生成システム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態のゲームシステム(画像生成システム)のブロック図の一例を示す図である。
【図2】本実施形態において、オブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値が設定されているオブジェクトの定義点との関係を示す説明図である。
【図3】図3(A)、(B)は、本実施形態においてオブジェクト空間に設定した境界平面と、合成パラメータとしてのフォグ値の線形補間の概要を示す説明図である。
【図4】本実施形態における例やフォグ処理が行われたゲーム画像の第1の例を示す説明図である。
【図5】本実施形態における例やフォグ処理が行われたゲーム画像の第2の例を示す説明図である。
【図6】本実施形態における例やフォグ処理が行われたゲーム画像の第3の例を示す説明図である。
【図7】本実施形態における例やフォグ処理が行われたゲーム画像の第4の例を示す説明図である。
【図8】本実施形態におけるモデル座標系の概要を示す説明図である。
【図9】本実施形態におけるリアルタイムのフォグ値設定処理に関するフローチャートの一例を示す図である。
【図10】本実施形態におけるリアルタイムのα値設定処理に関するフローチャートの一例を示す図である。
【図11】本実施形態における第1のオブジェクト群のオブジェクトデータ生成処理に関するフローチャートの一例を示す図である。
【図12】図11で生成したオブジェクトデータを用いた画像生成処理に関するフローチャートの一例を示す図である。
【図13】境界平面をリアルタイムに変化させる場合の境界平面とオブジェクトの定義点との関係を示す説明図である。
【図14】本実施形態において、固定したオブジェクトに対してレイヤ0、1を移動させてレイヤα処理を行う場合のゲーム画像の第1の例を示す説明図である。
【図15】本実施形態において、固定したオブジェクトに対してレイヤ0、1を移動させてレイヤα処理を行う場合のゲーム画像の第2の例を示す説明図である。
【図16】本実施形態において、固定したオブジェクトに対してレイヤ0、1を移動させてレイヤα処理を行う場合のゲーム画像の第3の例を示す説明図である。
【図17】本実施形態において、固定したオブジェクトに対してレイヤ0、1を移動させてレイヤα処理を行う場合のゲーム画像の第4の例を示す説明図である。
【図18】本実施形態における合成パラメータの境界平面を変化させた場合のレイヤα処理に関するフローチャートの一例を示す図である。
【図19】本実施形態において、オブジェクトをリアルタイムに移動させる場合の境界平面とオブジェクトの定義点との関係を示す説明図である。
【図20】本実施形態において、固定したレイヤ0、1に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第1の例を示す説明図である。
【図21】本実施形態において、固定したレイヤ0、1に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第2の例を示す説明図である。
【図22】本実施形態において、固定したレイヤ0、1に対して、オブジェクトを移動させてレイヤα処理を行う場合のゲーム画像の第3の例を示す説明図である。
【図23】本実施形態において、合成パラメータの境界平面に対して、移動オブジェクトを移動させた場合のレイヤα処理に関するフローチャートの一例を示す図である。
【図24】本実施形態における水面から現れるオブジェクトの画像生成処理のフローチャートの一例を示す図である。
【図25】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図26】図26(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
100 処理部
110 ゲーム処理部
112 オブジェクト移動処理部
114 境界平面設定部
120 画像生成部
122 ジオメトリ処理部
124 合成パラメータ設定部
126 描画部
130 合成部
140 音成西部
160 操作部
170 記憶部
172 主記憶部
174 描画領域
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
200、300、350 軸
202、302、352 レイヤ0
204、304、354 レイヤ1
306、356 移動方向

Claims (16)

  1. オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、
    前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメータを設定する合成パラメータ設定手段と、
    前記合成パラメータに基づいて、描画領域に描画されているジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
    を含むことを特徴とするゲームシステム。
  2. 請求項1において、
    前記任意の軸に対して1又は複数の平面を設定する手段と、
    前記オブジェクトの定義点に対して、前記平面を特定する平面方程式に基づいて境界判定を行う手段とを含み、
    前記合成パラメータ設定手段は、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とするゲームシステム。
  3. 請求項2において、
    前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とするゲームシステム。
  4. 請求項1乃至3のいずれかにおいて、
    前記合成パラメータ設定手段は、
    第1のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第2のオブジェクト群に対しては1又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とするゲームシステム。
  5. オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するゲームシステムであって、
    前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、
    前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、
    前記位置関係に応じて補間された合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
    を含むことを特徴とするゲームシステム。
  6. 請求項5において、
    前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とするゲームシステム。
  7. 請求項5において、
    前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とするゲームシステム。
  8. 請求項1乃至7のいずれかにおいて、
    前記合成パラメータが増減される軸が複数設定されることを特徴とするゲームシステム。
  9. コンピュータが読み取り可能な情報記憶媒体であって、
    オブジェクトが定義されるオブジェクト空間における所与の視点での画像を生成するための前記オブジェクトの定義点に、任意の軸方向に増減する合成パラメーを設定する合成パラメータ設定手段と、
    前記合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクの画像情報とに基づく合成処理を行う手段と、
    としてコンピュータを機能させるためのプログラムを含むことを特徴とする情報記憶媒体。
  10. 請求項9において、
    前記任意の軸に対して1又は複数の平面を設定する手段と、
    前記オブジェクトの定義点に対して、前記平面を特定する平面方程式に基づいて境界判定を行う手段と、
    してコンピュータを機能させるためのプログラムを含み、
    前記合成パラメータ設定手段は、前記境界判定結果から前記合成パラメータを補間して前記定義点の合成パラメータを設定することを特徴とする情報記憶媒体。
  11. 請求項10において、
    前記合成パラメータの補間は、前記平面からの距離に応じて線形補間されたものであることを特徴とする情報記憶媒体。
  12. 請求項9乃至11のいずれかにおいて、
    前記合成パラメータ設定手段は、
    第1のオブジェクト群に対しては前記合成パラメータを固定的に用いると共に、第2のオブジェクト群に対しては1又は複数フレームごとに前記合成パラメータを更新するものであることを特徴とする情報記憶媒体。
  13. コンピュータが読み取り可能な情報記憶媒体であって、
    オブジェクトが設定されるオブジェクト空間における所与の視点での画像を生成するための前記オブジェクトの定義点に設定された合成パラメータの変化を開始させる境界平面を任意の軸方向に対して設定する手段と、
    前記境界平面と前記オブジェクトとの位置関係をリアルタイムに変化させる手段と、
    前記位置関係に応じて補間された合成パラメータに基づいて、描画領域に描画されたジオメトリ処理後の画像情報とジオメトリ処理後の前記オブジェクトの画像情報とに基づく合成処理を行う手段と、
    してコンピュータを機能させるためのプログラムを含むことを特徴とする情報記憶媒体。
  14. 請求項13において、
    前記オブジェクトの位置に対して前記境界平面の位置をリアルタイムに変化させるものであることを特徴とする情報記憶媒体。
  15. 請求項13において、
    前記境界平面の位置に対して前記オブジェクトの位置をリアルタイムに変化させるものであることを特徴とする情報記憶媒体。
  16. 請求項9乃至15のいずれかにおいて、
    前記合成パラメータが増減される軸が複数設定されることを特徴とする情報記憶媒体。
JP2000229247A 2000-07-28 2000-07-28 ゲームシステム及び情報記憶媒体 Expired - Fee Related JP4624527B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000229247A JP4624527B2 (ja) 2000-07-28 2000-07-28 ゲームシステム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000229247A JP4624527B2 (ja) 2000-07-28 2000-07-28 ゲームシステム及び情報記憶媒体

Publications (3)

Publication Number Publication Date
JP2002042155A JP2002042155A (ja) 2002-02-08
JP2002042155A5 JP2002042155A5 (ja) 2007-07-26
JP4624527B2 true JP4624527B2 (ja) 2011-02-02

Family

ID=18722401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000229247A Expired - Fee Related JP4624527B2 (ja) 2000-07-28 2000-07-28 ゲームシステム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4624527B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4785195B2 (ja) * 2006-09-07 2011-10-05 サミー株式会社 画像処理装置、遊技機、及び画像処理プログラム
CN116541121B (zh) * 2023-07-06 2023-09-19 深圳市微克科技有限公司 基于智能穿戴设备的表盘鱼游动方法、系统和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04267284A (ja) * 1991-02-22 1992-09-22 Mitsubishi Precision Co Ltd 模擬視界装置
JPH09231400A (ja) * 1996-02-20 1997-09-05 Namco Ltd 画像合成方法及び装置
JPH1170274A (ja) * 1998-06-17 1999-03-16 Namco Ltd 3次元ゲーム装置及び画像合成方法
JPH1173520A (ja) * 1997-08-28 1999-03-16 Hitachi Ltd グラフィックス処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW225595B (ja) * 1991-09-03 1994-06-21 Gen Electric

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04267284A (ja) * 1991-02-22 1992-09-22 Mitsubishi Precision Co Ltd 模擬視界装置
JPH09231400A (ja) * 1996-02-20 1997-09-05 Namco Ltd 画像合成方法及び装置
JPH1173520A (ja) * 1997-08-28 1999-03-16 Hitachi Ltd グラフィックス処理装置
JPH1170274A (ja) * 1998-06-17 1999-03-16 Namco Ltd 3次元ゲーム装置及び画像合成方法

Also Published As

Publication number Publication date
JP2002042155A (ja) 2002-02-08

Similar Documents

Publication Publication Date Title
US7636087B2 (en) Program, information storage medium, image generation system, and image generation method
US7706636B2 (en) Image generation system (game system), image generation method, program and information storage medium
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3297410B2 (ja) 画像生成システム及び情報記憶媒体
JP4624527B2 (ja) ゲームシステム及び情報記憶媒体
JP4721476B2 (ja) 画像生成システム及び情報記憶媒体
JP4632855B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP2003051024A (ja) 画像生成システム及び情報記憶媒体
JP4412692B2 (ja) ゲームシステム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP3292713B2 (ja) 画像生成システム及び情報記憶媒体
JP4786389B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006318196A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2004038639A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4632530B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP4162125B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4391633B2 (ja) 画像生成システム及び情報記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101104

R150 Certificate of patent or registration of utility model

Ref document number: 4624527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees