| 【発明の名称】 |
ゲーム情報、情報記憶媒体、及びゲーム装置 |
| 【発明者】 |
【氏名】稲川 泰洋 【住所又は居所】東京都大田区多摩川2丁目8番5号 株式会社ナムコ内
|
| 【要約】 |
【課題】少ない演算負荷とメモリ消費で効率的に光沢や映り込みが表現可能なゲーム情報等を提供し、プレーヤによりリアルなゲームを楽しんでもらう。
【解決手段】リアルな3DCGによるゲーム画面を生成するために、環境テクスチャやスペキュラマップをリアルタイムで生成して、3次元仮想空間内のオブジェクトである敵戦闘機OBにテクスチャマッピングによって光沢や映り込みを表現する。ここで、敵戦闘機OB1で使用した環境テクスチャまたはスペキュラマップSM1を記憶しておいて、例えば、敵戦闘機OB2およびOB3を処理する際に、敵戦闘機OB1との距離dnが所与の判定値Dminより小さい場合に、環境テクスチャまたはスペキュラマップSMを新たに生成せずに、記憶しておいた情報を流用することによって、生成に要する演算負荷やメモリ領域の消費を軽減する。 |
【特許請求の範囲】
【請求項1】プロセッサの演算・制御によって、装置に対して、所与の視点から見た仮想空間の画像を生成して、所与のゲームを実行させるためのゲーム情報であって、仮想空間内に複数の反射オブジェクトを配置する配置手段と、環境テクスチャを記憶する記憶手段と、前記配置された反射オブジェクトの内、描画対象の反射オブジェクトを特定する特定手段と、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定する判定手段と、前記判定手段により環境テクスチャを生成すると判定された場合に、当該反射オブジェクトに対する環境テクスチャを生成し、前記記憶手段に記憶させる生成手段と、前記記憶手段に記憶された環境テクスチャに基づいて、前記特定された反射オブジェクトを描画する描画手段と、を前記装置に機能させるための情報を含むゲーム情報。 【請求項2】請求項1において、仮想空間内に光源オブジェクトを配置する手段を前記装置に機能させるための情報と、前記生成手段が、反射オブジェクトに対する環境テクスチャとして、前記配置された光源オブジェクトに係る環境テクスチャを生成するための情報と、を含むゲーム情報。 【請求項3】請求項1又は2において、前記判定手段が、判定済みの反射オブジェクトの配置位置と、前記特定された反射オブジェクトの配置位置とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報を含むゲーム情報。 【請求項4】請求項1〜3の何れかにおいて、前記判定手段が、判定済みの反射オブジェクトと前記視点の位置関係と、前記特定された反射オブジェクトと前記視点の位置関係とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報を含むゲーム情報。 【請求項5】請求項1〜4の何れかにおいて、仮想空間内に光源オブジェクトを配置する手段を前記装置に機能させるための情報と、前記判定手段が、判定済みの反射オブジェクトと前記光源オブジェクトの位置関係と、前記特定された反射オブジェクトと前記光源オブジェクトの位置関係とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報と、を含むゲーム情報。 【請求項6】請求項1〜5の何れかにおいて、前記特定手段が、前記各反射オブジェクトの配置位置に基づいて、所与の順番で描画対象の反射オブジェクトを特定するための情報を含むゲーム情報。 【請求項7】請求項1〜5の何れかにおいて、前記各反射オブジェクトの配置位置に基づいて、反射オブジェクトをグループ化するグループ化手段を前記装置に機能させるための情報と、前記特定手段が、前記グループ化手段によりグループ化された反射オブジェクト毎に、反射オブジェクトを特定するための情報と、を含むゲーム情報。 【請求項8】請求項1〜7の何れか記載のゲーム情報を記憶する情報記憶媒体。 【請求項9】所与の視点から見た仮想空間の画像を生成して、所与のゲームを実行するゲーム装置であって、仮想空間内に複数の反射オブジェクトを配置する配置手段と、環境テクスチャを記憶する記憶手段と、前記配置された反射オブジェクトの内、描画対象の反射オブジェクトを特定する特定手段と、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定する判定手段と、前記判定手段により環境テクスチャを生成すると判定された場合に、当該反射オブジェクトに対する環境テクスチャを生成し、前記記憶手段に記憶させる生成手段と、前記記憶手段に記憶された環境テクスチャに基づいて、前記特定された反射オブジェクトを描画する描画手段と、を備えるゲーム装置。 【請求項10】請求項9において、仮想空間内に光源オブジェクトを配置する手段を備え、前記生成手段が、反射オブジェクトに対する環境テクスチャとして、前記配置された光源オブジェクトに係る環境テクスチャを生成することを特徴とするゲーム装置。 【請求項11】請求項9又は10において、前記判定手段が、判定済みの反射オブジェクトの配置位置と、前記特定された反射オブジェクトの配置位置とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定することを特徴とするゲーム装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、プロセッサによる演算・制御により、装置に対して、所与の視点から見た仮想空間の画像を生成して所与のゲームを実行させるためのゲーム情報等に関する。 【0002】 【従来の技術】従来、3次元仮想空間であるオブジェクト空間内に複数のオブジェクトを配置し、オブジェクト空間内の所与の視点から見える3DCG画像を表示するゲームが知られている。そうしたゲームは、所謂仮想現実感を楽しむものとして人気が高く、最近ではよりリアルな仮想現実感を求められる傾向にある。 【0003】リアルな仮想現実感を実現するために重要な要素の一つが、3DCG画像自体のリアリティである。特に、周囲の環境からの反射が元になるオブジェクト表面の光沢や映り込みは、プレーヤに対してオブジェクトの質感や存在感といったリアリティを感じさせるとともに、周囲の環境との関係の深さを示し、環境のリアリティをも感じさせる重要な要素である。 【0004】光沢表現が可能な3DCG画像の生成手法としては、例えばレイ・トレーシングや環境マッピングなど種々の方法が提案されている。 【0005】環境マッピングでは、先ず3次元仮想空間における所与の視点からみた周囲の環境を、仮想の円柱や球、或いは立方体の内面に写像することで2次元画像情報、即ち環境テクスチャを生成する。そして、オブジェクトの表面にあたかも環境テクスチャが反射しているかのようにテクスチャマッピングすることによって、光沢表現や映り込みなどを表現する。環境マッピングは、レイ・トレーシング法などと比較すると、演算負荷が小さい。その為、例えば、単純で高速処理可能なシェーディング・アルゴリズムであるレイ・キャスティングとの組み合わせで、多くの場面で光沢や映り込の表現に利用されている。 【0006】 【本発明が解決しようとする課題】ところが、ゲームでは動画を多用する場合が多く、3DCG画像の生成に多くの演算負荷を掛けて時間を割くことはできない。例えば、TVモニタに表示する場合、約1/60秒ごとに画像を生成する必要があり、演算負荷の大きいレンダリング法では画像の生成が追い着かずにゲームとして成り立たないといった事態が起こる。 【0007】前述の環境マッピングを利用する場合であっても、現状では環境テクスチャをレンダリングの都度オブジェクト毎に求めなければならず、どうしてもゲーム処理における演算負荷が大きくなる。その為、光沢や映り込みが極限られたオブジェクトにしか描けない、あるいはオブジェクトの数が制限される、など多くの問題があった。処理能力が低くメモリ容量の少ない装置では、光沢表現そのものを実現できない場合もあった。 【0008】本発明は、以上の課題を鑑みて考えられたものであって、その目的とするところは、少ない演算負荷とメモリ消費で効率的に光沢や映り込みが表現可能なゲーム情報等を提供することである。 【0009】 【課題の解決手段】上記課題を解決するために、請求項1記載の発明は、プロセッサの演算・制御によって、装置に対して、所与の視点から見た仮想空間の画像を生成して、所与のゲームを実行させるためのゲーム情報であって、仮想空間内に複数の反射オブジェクトを配置する配置手段(例えば、図3のゲーム演算部22)と、環境テクスチャを記憶する記憶手段(例えば、図3の画像生成部24、一時記憶部44)と、前記配置された反射オブジェクトの内、描画対象の反射オブジェクトを特定する特定手段(例えば、図3の画像生成部24)と、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定する判定手段(例えば、図3のシェーディング部240)と、前記判定手段により環境テクスチャを生成すると判定された場合に、当該反射オブジェクトに対する環境テクスチャを生成し、前記記憶手段に記憶させる生成手段(例えば、図3のスペキュラマップ生成部242)と、前記記憶手段に記憶された環境テクスチャに基づいて、前記特定された反射オブジェクトを描画する描画手段(例えば、図3のテクスチャマッピング部244)と、を前記装置に機能させるための情報を含むことを特徴とする。 【0010】また、請求項9記載の発明は、所与の視点から見た仮想空間の画像を生成して、所与のゲームを実行するゲーム装置であって、仮想空間内に複数の反射オブジェクトを配置する配置手段と、環境テクスチャを記憶する記憶手段と、前記配置された反射オブジェクトの内、描画対象の反射オブジェクトを特定する特定手段と、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定する判定手段と、前記判定手段により環境テクスチャを生成すると判定された場合に、当該反射オブジェクトに対する環境テクスチャを生成し、前記記憶手段に記憶させる生成手段と、前記記憶手段に記憶された環境テクスチャに基づいて、前記特定された反射オブジェクトを描画する描画手段と、を備えることを特徴とする。 【0011】反射オブジェクトとは、環境マッピングによって環境テクスチャが貼り込まれるオブジェクトのことであって、光沢や映り込みを表現されるオブジェクトのことである。 【0012】反射オブジェクトに適用される環境テクスチャは、厳密にはオブジェクトと、光源と、及び視点との相対的な位置関係によって異なった内容となる。しかし、実際の利用においては、環境テクスチャはテクスチャマッピング処理によって元の画像から歪んだ状態になる。また、ゲームの場合、動画を多用するために、環境テクスチャの厳密さを必要としない場合が多い。即ち、環境テクスチャの差異が小さい、或いは差異があってもゲーム画面上でプレーヤが認識できない条件においては、環境テクスチャを流用することができる。 【0013】請求項1又は9記載の発明では、配置手段によって仮想空間内に複数の反射オブジェクトが配置され、特定手段が描画対象とする反射オブジェクトを選択(特定)する。そして、判定手段が環境テクスチャを生成するか否かを判定する。 【0014】ここで、生成の判定がなされて生成手段が環境テクスチャを生成したならば、環境テクスチャを記憶手段に記憶しておく。そして、特定手段が次の反射オブジェクトを特定し処理する際に、判定手段が環境テクスチャを新たに生成しないと判定したならば、前記記憶手段によって記憶された環境テクスチャを流用する。即ち、新たに環境テクスチャを生成するのに必要とされた演算負荷とメモリ領域の消費を軽減させる。この様に、環境テクスチャを適宜異なるオブジェクトに流用することによって演算負荷とメモリ消費を軽減することで、動画を多用するゲームであっても、環境テクスチャを用いて光沢表現や映り込みを表現することができる。 【0015】また、光沢表現のみを必要とする場合には、請求項2記載の発明のように、請求項1のゲーム情報において、仮想空間内に光源オブジェクトを配置する手段(例えば、図3のゲーム演算部22)を前記装置に機能させるための情報(例えば、図3のゲーム情報42)と、前記生成手段が、反射オブジェクトに対する環境テクスチャとして、前記配置された光源オブジェクトに係る環境テクスチャを生成するための情報(例えば、図3のシェーディングプログラム422)と、を含むとしても良い。 【0016】又は、請求項10記載の発明のように、請求項9のゲーム装置において、仮想空間内に光源オブジェクトを配置する手段を備え、前記生成手段が、反射オブジェクトに対する環境テクスチャとして、前記配置された光源オブジェクトに係る環境テクスチャを生成することを特徴としても良い。 【0017】光源オブジェクトとは、所与の光を発するように設定された光源やオブジェクトである。 【0018】請求項2又は10記載の発明によれば、生成手段が、環境テクスチャを生成する際に光源オブジェクトのみをその写像対象とする。環境テクスチャには、光源オブジェクトからの光の情報のみが描かれるために、所謂スペキュラマップとして利用すること可能となる。そして、描画手段が、例えば、加算合成でテクスチャマッピングすることによって、反射オブジェクトの表面に光沢を表現できる。従って、請求項2又は10記載の発明によれば、請求項1又は9の何れかと同様の効果を奏するとともに、光沢のみを表現する場合には、環境テクスチャの生成に要する演算負荷をさらに軽減することができる。 【0019】また、演算負荷を更に軽減するには、請求項3記載の発明のように、請求項1又は2のゲーム情報において、前記判定手段が、判定済みの反射オブジェクトの配置位置と、前記特定された反射オブジェクトの配置位置とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報(例えば、図3の近接判定情報442)を含むとしても良い。 【0020】或いは、請求項11記載の発明のように、請求項9又は10のゲーム装置において、前記判定手段が、判定済みの反射オブジェクトの配置位置と、前記特定された反射オブジェクトの配置位置とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定することを特徴としても良い。 【0021】判定手段による、環境テクスチャの生成するか否かの判定、即ち環境テクスチャの流用可否判定の一つの考え方は、環境テクスチャを新たに生成しても記憶手段に記憶されている環境テクスチャと差異が小さいと予想されるかどうかである。 【0022】請求項3又は11記載の発明によれば、例えば、ワールド座標におけるXYZ座標値の差から、判定済みの反射オブジェクトと特定された反射オブジェクトとの距離を求める。そして、判定手段が、該距離が所与の判定値より小さい場合に環境テクスチャを流用し新たには生成しないと判断する。即ち、距離が近い場合には、視点や光源オブジェクトとの相対的な位置関係の変化が少なく、環境テクスチャを新たに生成しても記憶手段に記憶されている環境テクスチャと差異が小さく、環境テクスチャの流用が可能と考える。 【0023】判定に係る要素はオブジェクトの配置位置だけで良いので、判定に要する演算負荷は小さくてすむ。従って、請求項1又は2、或いは請求項9又は10と同様の効果を奏するとともに、より演算負荷を軽減することができる。 【0024】また、判定におけるオブジェクトの位置関係については、双方のXYZ座標値に基づいた距離による判定に限らず、所与の基準となる位置からの距離の差であっても良く、請求項4記載の発明のように、請求項1〜3の何れかのゲーム情報において、前記判定手段が、判定済みの反射オブジェクトと前記視点の位置関係と、前記特定された反射オブジェクトと前記視点の位置関係とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報(例えば、図3のシェーディングプログラム240、近接判定条件442、オブジェクト・データ424)を含むとしても良い。 【0025】請求項4記載の発明によれば、例えば、判定手段は反射オブジェクトと視点との距離、或いはワールド座標軸の何れかからの距離を求め、両オブジェクトの距離の差が所与の判定値より小さい場合には、環境テクスチャを生成しないと判断する。反射オブジェクトと視点の距離や座標軸からの距離は、光沢を表現するシェーディング処理の前段階で既に求められている場合が多い。即ち、反射オブジェクトの配置位置を認識するにあたって、両反射オブジェクト間の直接的な距離値を求めるよりも演算負荷を軽減できる。従って、請求項1〜3の何れかと同様の効果を奏するとともに、より演算負荷を少なくすることができる。 【0026】また、判定手段が、請求項3で示された、判定済みの反射オブジェクトの配置位置と特定された反射オブジェクトの配置位置と、請求項4で新たに示された、それぞれの反射オブジェクトと視点との位置関係との、両方の関係から判断するならば、視点からの距離に応じた細かな判定も可能になる。例えば、視点から両オブジェクトが離れている場合には、視点からの距離に応じて判定基準値を大きくして、両反射オブジェクトの距離が大きめであっても環境テクスチャの流用可と判定する。即ち、視点から遠く離れた反射オブジェクトは、ゲーム画面上は小さく表現されるために、環境テクスチャの差異が認識され難いので、通常よりも判定を甘くしても不都合は無いと考える。従って、より環境テクスチャが流用される度合を高め、演算負荷の軽減を促進することができる。 【0027】或いは、判定条件に両反射オブジェクトと光源オブジェクトの相対的な位置関係を加味して、請求項5記載の発明のように、請求項1〜4の何れかのゲーム情報において、仮想空間内に光源オブジェクトを配置する手段を前記装置に機能させるための情報と、前記判定手段が、判定済みの反射オブジェクトと前記光源オブジェクトの位置関係と、前記特定された反射オブジェクトと前記光源オブジェクトの位置関係とに基づいて、前記特定された反射オブジェクトの環境テクスチャを生成するか否かを判定するための情報(例えば、図3のシェーディングプログラム240、近接判定条件442、オブジェクト・データ424)と、を含むとしても良い。 【0028】例えば、光源オブジェクトが、反射オブジェクトより視点近くに配置された場合と、反射オブジェクトより視点から離れて配置された場合とでは、光沢の位置は違わなくては不自然になる。そこで、請求項5記載の発明によれば、判定手段は、例えば、判定済みの反射オブジェクトと光源オブジェクトの位置関係と、特定された反射オブジェクトと光源オブジェクトの位置関係を比較し、差異が大きい場合には環境テクスチャの流用をしないと判断することで、環境テクスチャの無理な流用を避ける。 【0029】具体的には、例えば、それぞれの反射オブジェクトから光源オブジェクトへの単位ベクトルを求める。ここで、更にベクトルの内積を求めると、ベクトルが略同方向を向いている場合は正になり、ベクトルが略反対方向を向いている場合は負になる。求められたベクトルの内積の正負や大小によって、両反射オブジェクトと光源オブジェクトとの相対的な位置関係を判断することができる。従って、請求項5記載の発明によれば、請求項1〜4の何れかと同様の効果を奏するとともに、より適切な流用によって自然な光沢や映り込みを実現することができる。 【0030】請求項7記載の発明は、請求項1〜6の何れかのゲーム情報を記憶することを特徴とする情報記憶媒体(例えば、図7のCD−ROM1206、ICメモリ1208、メモリカード1212)である。 【0031】情報記憶媒体とは、例えば、CD−ROM、DVD、MO、ハードディスク、ICメモリ、メモリースティック、DATなどの磁気テープ媒体を利用したものなどである。装置に、前記情報記憶媒体よりゲーム情報を読込ませることによって、請求項1〜6の発明の何れかの効果をもたらすことができる。 【0032】 【発明の実施の形態】[第1の実施形態]以下、図1〜図8を参照して、本発明を業務用ゲーム装置に適用した第1の実施形態について詳細に説明する。第1の実施形態は、本発明を、宇宙空間で敵戦闘機を打ち落とすシューティングゲームに適用し、光沢表現をする場合を例とするが、本発明の適用範囲がこれに限定されるものではない。 【0033】[構成の説明]先ず、図1を参照して、本実施形態における構成を説明する。図1は、本発明を適用した業務用ゲーム装置1300の外観の一例を示す図である。同図において、プレーヤは、ディスプレイ1304に映し出された3DCGによるゲーム画面を見ながら、操作レバー1306と操作ボタン1308を操作して、敵戦闘機OBに照準Mを移動させ、射撃タイミング等を入力してシューティングゲームを楽しむ。 【0034】ゲームプレイや画像の生成に係る演算処理や制御を行うハードウェアは、システム基盤1310上に実現され、種々の処理に必要なゲームプログラムやデータ等を含むゲーム情報は、システム基板1310上の情報記憶媒体であるICメモリ1312に格納されている。 【0035】[原理の説明]次に、図2〜図3を参照して、本実施形態における原理を説明する。図2は、3次元仮想空間におけるオブジェクトの配置と、適用されるスペキュラマップの関係を示す図である。同図に示すように、仮想空間内には、視点C、光源オブジェクトL1とL2、反射オブジェクトである敵戦闘機OB1〜OB3が配置されている。 【0036】視点Cはカメラに相当し、視点Cから見た様子がレンダリングされてゲーム画面として表示される。光源オブジェクトL1とL2は、所与の色の光を発するよう設定された光源やオブジェトであって、例えば、恒星、灯台、戦闘機やミサイル等の推進装置の噴射物、レーザ兵器などの光軌跡などがこれに相当する。敵戦闘機OB1〜OB3は、ゲーム設定上の標的となる反射オブジェクトであって、他のオブジェクトと同様に複数のポリゴンによって形成されている。敵戦闘機OB1とOB2は、視点Cの近くに互いに近接して配置され、敵戦闘機OB3は、敵戦闘機OB1とOB2とは離れて視点Cの遠くに配置されている。 【0037】本実施形態では、他の多くのゲーム装置と同様に、レイ・キャスティング法によるレンダリングを行う。そこで、敵戦闘機OB1〜OB3の表面に、よりリアルな光沢表現(表面の反射)を描画するために、敵戦闘機OB1〜OB3の周囲の環境から来る光を、環境マッピングの考え方を利用してレンダリングに取り入れる。 【0038】具体的には、例えば、図3(a)に示すように、敵戦闘機OBの代表点Pから見える光源オブジェクトL1とL2を、例えば、仮想的な円筒や球、或いは立方体の内面に描画する。描画された環境テクスチャは、光源オブジェクトLのみを対象としたことで、例えば図3(b)に示すような黒地に光のRGB情報が描かれ、スペキュラマップとして利用することができる。このスペキュラマップは、所定のシェーディング・アルゴリズムやテクスチャマッピングによって敵戦闘機OBのポリゴンの色を決定した後に、例えば、加算合成でテクスチャマッピングされ、光源色を備えたハイライトや映り込みとなって戦闘機OBの光沢を表現する。 【0039】上述のような環境テクスチャの内容、ならびにこれに基づくスペキュラマップの内容は、敵戦闘機OBの位置によって変化する。その為、従来は敵戦闘機OB毎、即ち処理対象の反射オブジェクトが変わる毎に「オブジェクトの選択」→「スペキュラマップの生成」→「メモリに記憶」→「スペキュラマップのマッピング」→「メモリから消去」といった処理をリアルタイムに繰り返す必要があった。 【0040】しかし、反射オブジェクトが近接する場合、生成される環境テクスチャ(スペキュラマップ)の差異は小さい場合が多く、また反射オブジェクトへのマッピング時に歪みが生じるために、プレーヤに差異が伝わらない場合が多い。そこで、本実施形態では、仮想空間に近接して配置されたオブジェクト間で、スペキュラマップを流用することによって、スペキュラマップの生成負荷を軽減させる。 【0041】具体的には、図2の例では、敵戦闘機OB1とOB2が近接しているので、敵戦闘機OB1の処理をする際に生成されたメモリ内に記憶されたスペキュラマップSM1を消去せずに残しておいて、敵戦闘機OB2にそのまま適用する。敵戦闘機OB3は、離れた位置に配置されているので、スペキュラマップSM1を適用すると違和感が生じるので、別途スペキュラマップSM2を生成して使用する。 【0042】この様に、メモリ内に記憶されたスペキュラマップSMをそのまま流用することによって、演算負荷を軽減するとともに、メモリ消費を少なくして利用効率を上げることで、メモリの容量が少ない装置であっても光沢表現が可能となる。また、演算負荷を軽減させたことで、その分より多数の敵戦闘機OBを登場させて、ゲームの迫力を増すことも可能となる。 【0043】尚、本実施形態では、反射オブジェト間でスペキュラマップを流用するか否かの判断は、前回処理した反射オブジェクトと今回処理する反射オブジェクトの距離で(図2の例では、敵戦闘機OB1とOB2の距離、OB2とOB3の距離に応じて)決定するものとし、流用の可否判定を以下、近接判定と言うが、適宜判定条件を設定しても構わない。 【0044】[機能ブロックの説明]次に、本実施形態を実現するための機能ブロックを説明する。図4は、本発明における機能ブロックの一例を示すブロック図である。同図において、機能ブロックは、操作部10、処理部20、表示部30、記憶部40を備える。 【0045】操作部10は、プレーヤが、例えばゲームステージの選択や照準Mの移動操作、射撃タイミングなどの入力をするためのものであって、操作入力信号は処理部20に出力される。その機能は、例えば、十字キー、レバー、ボタンなどのハードウェアによって実現できる。 【0046】処理部20は、ゲーム装置全体の制御、装置内の各機能ブロックへの命令、ゲーム処理などの各種の演算処理を行う。その機能は、例えば、CPU(CISC型、RISC型)、DSP、あるいはASIC(ゲートアレイ等)などのハードウェア、及び所与のプログラムにより実現できる。また、処理部20には、主にゲーム処理に係る演算処理を行うゲーム演算部22と、ゲーム演算部22の処理によって求められた3次元仮想空間のデータから、ゲーム画像となる3DCG画像を生成する画像生成部24とが含まれる。 【0047】ゲーム演算部22は、操作部10からの操作入力信号や、記憶部40から読み出したプログラム等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えは、ゲームステージの選択処理、反射オブジェクトや光源オブジェクトなどをオブジェクト空間に配置する処理、オブジェクトへのテクスチャマッピングするテクスチャの選択処理、照準Mや敵戦闘機OBなどの移動に伴う位置・姿勢・運動等を求める演算処理、視点の位置や視線方向の決定、ヒットチェック処理、或いはゲーム結果(成績)を求める処理等が挙げられる。 【0048】画像生成部24は、例えば、CPU、DSP、画像生成専用のLSIなどのハードウェア、及び記憶部40に格納されたプログラムやデータによって実現され、ゲーム演算部22からの指示信号や各種データ等に基づいて3DCG画像の生成を行う。具体的には、例えば、ゲーム演算部22によって3次元仮想空内に配置されたオブジェクトの座標変換処理や陰面消去及びクリッピングなどの幾何学変換処理、幾何学変換されたオブジェクトの色を決めるシェーディング処理、描画用のメモリ領域(フレームメモリ)へのデータの描きこみなどの処理を行う。そして、生成された画像データは表示部30に出力されてゲーム画面として表示される。 【0049】また、画像生成部24には、シェーディング部240が含まれ、シェーディング部240には、さらにスペキュラマップ生成部242と、テクスチャマッピング部244とが備えられている。 【0050】シェーディング部240は、レンダリング・パイプラインの一部であって、オブジェクトを構成するポリゴンの表面の色や輝度を演算・決定する機能を有する。そして、シェーディング部240は、例えば、処理対象の反射オブジェクトの選択処理や、グロー・シェ−ディイングやフォン・シェーディングなどといった所謂シェーディングによる表面の濃淡の決定、及び描画用のメモリ領域へのデータの書込み/読込みなどを行う。 【0051】スペキュラマップ生成部242は、環境マッピングの考え方を基にして、敵戦闘機OBの代表点Pから見たと仮定される周囲の環境(周囲に配置された他のオブジェクトや背景情報)のなかから光源オブジェクトLのみを対象とした環境テクスチャを作成する。そして、生成された環境テクスチャは、光源オブジェクトLのみが描かれていることから、敵戦闘機OBのスペキュラマップとして利用する。環境テクスチャ(スペキュラマップ)は、記憶部40に格納される。 【0052】テクスチャマッピング部244は、所謂テクスチャマッピングを実行する手段であって、処理対象となる反射オブジェクトの表面に所与のテクスチャを貼りこむ。テクスチャマッピングの手法は、適宜設定して構わない。 【0053】そして本実施形態では、テクスチャマッピング部244は、敵戦闘機OBの表面にマーキングなどのディテールを表現するための従来のテクスチャマッピング処理と、先のスペキュラマップ生成部242によって作成されたスペキュラマップを適用して光沢表現をする処理と、を担う。 【0054】表示部30は、画像生成部24からの画像信号に基づいて、ゲーム画面を表示するものであり、例えば、CRT、LCD、ELD、PDP、HMD等のハードウェアによって実現できる。 【0055】記憶部40は、例えば、CD−ROM、ゲームカセット、ICカード、MC、FD(R) 、DVD、ICメモリ、ハードディスク等のハードウェアによって実現される。記憶部40には、種々のゲーム処理を実行させるゲームプログラムや、画像生成における処理を実行させるプログラム、及びプログラムの実行に必要な設定値等のデータが含まれるゲーム情報42と、処理部20や他のブロックがプログラムやデータ等の情報を一時的に格納する一時記憶部44とが、含まれている。 【0056】ゲーム情報42には、特に、シェーディング部240を実現するシェーディングプログラム422と、ゲーム内に登場するオブジェクトの設定に関する情報が格納されたオブジェクト・データ424と、オブジェクトに貼りこむテクスチャが格納されたテクスチャ・データ426と、が含まれる。 【0057】オブジェクト・データ424は、反射オブジェクトである敵戦闘機OBや光源オブジェクトLなどのオブジェクト毎に用意され、例えば、オブジェクトの形状や、適用されるテクスチャのID、光の色などの発光に関する諸設定、オブジェクトの位置や姿勢及び運動などのデータ、適用されるシェーディング方法の設定などを格納する。 【0058】通常のオブジェクトと光源オブジェクトLの識別は、例えば、光に関する設定値が所与の値以上であることで判断しても良いし、識別用のフラグを設けても良く、適宜設定して構わない。また、ゲームに多数のオブジェクトが配置される場合には、オブジェクト・データ424に本発明の適用するオブジェクト(反射オブジェクト)を選択/指定するフラグ等を適宜設け、演算負荷を更に軽減させるとしても良い。 【0059】テクスチャ・データ426は、例えば、敵戦闘機OBの色彩のディテールを表現する2次元画像データ、所謂テクスチャであって、敵戦闘機OBの機種毎に用意されている。 【0060】一時記憶部44は、処理部20が演算処理に必要なデータを一時的に格納する記憶領域であって、近接判定情報442と、スペキュラマップ情報444とを含む。 【0061】近接判定情報442は、例えば、現在処理対象となっている反射オブジェクトの識別情報と、前回処理対象であった反射オブジェクトの位置座標と、近接判定の判定値Dminと、を記憶する。該位置情報は、現在処理対象となっている反射オブジェクトの処理が終了したら、次回の判定に備えて現在処理対象の反射オブジェクトの位置情報が上書きされる。スペキュラマップ情報444は、スペキュラマップ生成部242が、生成したスペキュラマップを記憶する。 【0062】効果音やBGMなどゲーム音を必要とする場合は、例えば、処理部20内に音信号を生成する機能ブロックを設け、記憶部40に音生成プログラムや音データ等を備え、更に音信号を出力する音出力部を設けることによって実現できる。 【0063】[処理フローの説明]次に、図5と図13を参照して、処理の流れについて説明する。 【0064】図13は、ゲーム画面の表示に係る一連の処理における一般的な流れを説明するためのフローチャートである。同図に示すように、先ず、ゲーム演算部22によってゲーム処理が実行され、3次元仮想空間における敵戦闘機OBや視点C及び光源オブジェクトLの位置や姿勢及び運動などが決定される(ステップ;S302)。求められたデータは、記憶部40内のオブジェクト・データ424に格納される。 【0065】オブジェクトの3次元仮想空間内の位置や姿勢等が定まったならば、次に、画像生成部24によって幾何学変換処理が行われる。具体的には、例えば、モデル座標系からワールド座標系への座標変換処理と、視点Cから見てオブジェクトの隠れる面を見つけてレンダリング処理から外す陰面処理と、表示面からはみ出す個所を予め見つけレンダリングの対象から外すクリッピング処理と、及び視点座標系から最終的に表示部30に表示するときのスクリーン座標を求める透視変換処理と、が行われる(ステップ;S304)。 【0066】幾何学変換処理が終了すると、シェーディング部240によって、シェーディング処理が行われて、光沢表現を含めたオブジェクトの描かれるべき色が決定される(ステップ;S306)。決定された色情報は、公知のごとくピクセル毎に画像データは描画用のメモリ領域であるフレームメモリに格納される。 【0067】シェーディング処理を終えたならば、画像生成部24から表示部30に、フレームメモリに格納された画像データの信号が出力され、表示部30のディスプレイにゲーム画面が表示される(ステップ;S308)。 【0068】次に、図5を参照して、図2に示した3次元仮想空間のオブジェクトの配置状態を例にシェーディング処理の流れを具体的に説明する。 【0069】図5は、本実施形態におけるシェ−ディング処理の流れを説明するためのフローチャートである。同図に示すように、先ず、シェーディング部240が、処理対象となる反射オブジェクトである敵戦闘機OB1を選択する(ステップ;S502)。 【0070】反射オブジェクト(敵戦闘機OB1)を選択したならば、シェーディング部240は、敵戦闘機OB1のオブジェクト・データ424の設定に基づいて、所定のシェーディング・アルゴリズム(例えば、フラット・シェーディングや、グローシェーディング、フォン・シェーディングなど)によって、敵戦闘機OB1の表面に濃淡をつける(ステップ;S504)。 【0071】次に、テクスチャマッピング部244が、敵戦闘機OB1のオブジェクト・データ424の設定に基づいて、テクスチャ・データ426から所定のテクスチャを読み出し、テクスチャマッピングする(ステップ;S506)。この段階で、現在処理中の反射オブジェクトである敵戦闘機OB1には、光沢表現を除く一応の色彩が施された状態にある。 【0072】次に、敵戦闘機OB1は、そのフレームにおける最初のオブジェクトにあたるので(ステップ;S508のYES)、無条件でスペキュラマップ生成部242がスペキュラマップ情報444を作成する(ステップ;S514)。 【0073】そして、テクスチャマッピング部244が、敵戦闘機OB1にスペキュラマップ情報444を、例えば、加算合成によってテクスチャマッピングして、敵戦闘機OB1への光沢表現を実現する(ステップ;S516)。 【0074】敵戦闘機OB1への光沢表現が終了したならば、画像生成部24は、敵戦闘機OB1の位置座標を近接判定情報442に記憶し(ステップ;S518)、まだ未処理の反射オブジェクトがある場合は、次の反射オブジェクトの処理に移る(ステップ;S520のYES)。 【0075】次に、シェーディング部240は、処理対象の反射オブジェクトとして敵戦闘機OB2を選ぶ(ステップ;S502)。敵戦闘機OB2は、そのフレームにおける最初の処理対象の反射オブジェクトではないので、敵戦闘機OB1との近接条件の判定に移る(ステップ;S508のNO) 【0076】シェーディング部240は、近接判定情報442から敵戦闘機OB1の位置座標(前回処理した反射オブジェクトの位置座標)を取得し、敵戦闘機OB2の位置座標(現在処理対象の反射オブジェクトの位置座標)との距離dnを求める(ステップ;S510)。 【0077】距離dnが求められたならば、シェーディング部240は、距離dnを判定値Dminと比較する。図2の例では、敵戦闘機OB1とOB2とは近接して配置されており、距離dn<判定値Dminを満たす(ステップ;S512のYES)。シェーディング部240は、敵戦闘機OB1と敵戦闘機OB2とが近接していると判断して、スペキュラマップ情報444をそのまま敵戦闘機OB2に適用する(ステップ;S516)。これによって、敵戦闘機OB2向けにスペキュラマップを生成する演算負荷を省略することができる。 【0078】次いで、シェーディング部240は、戦闘機OB2の位置座標を、近接判定情報442に記憶し、次回の判定に備える(ステップ;S518)。そして、まだ未処理の反射オブジェクトがある場合は、次の反射オブジェクトの処理に移る(ステップ;S520のYES) 【0079】次に、シェーディング部240は、処理対象の反射オブジェクトとして敵戦闘機OB3を選ぶ(ステップ;S502)。敵戦闘機OB3は、そのフレームにおける最初の処理対象の反射オブジェクトではないので、敵戦闘機OB2との近接条件の判定に移る(ステップ;S508のNO)即ち、シェーディング部240は、近接判定情報442から敵戦闘機OB2の位置座標(前回処理した反射オブジェクトの位置座標)を取得し、敵戦闘機OB3の位置座標(現在処理対象の反射オブジェクトの位置座標)との距離dnを求める(ステップ;S510)。 【0080】そして、シェーディング部240は、距離dnを判定値Dminと比較する。図2の例では、敵戦闘機OB2とOB3とは離れて配置されており、距離dn<判定値Dminを満たさない(ステップ;S512のNO)。従ってシェーディング部240は、敵戦闘機OB2と敵戦闘機OB3とが近接していないと判断して、スペキュラマップ生成部242がスペキュラマップを生成し、スペキュラマップ情報444は更新される(ステップ;S514)。そして、テクスチャマッピング部244が、更新されたスペキュラマップ情報444を敵戦闘機OB3に適用する(ステップ;S516)。 【0081】シェーディング部240は、戦闘機OB3の位置座標を、近接判定情報442に記憶し、次回の判定に備える(ステップ;S518)。以上で、図2における敵戦闘機OBは全て処理されたので、シェーディング処理を終了する(ステップ;S520のNO)。 【0082】シェーディング処理が終了したならば、図13に示したように従来と同様にして表示部30にゲーム画面が表示される。 【0083】[ハードウェアの構成]次に、本実施形態を実現できるハードウェアの構成について説明する。図6は、本実施形態のハードウェア構成の一例を示す図である。同図に示す装置ではCPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Cポート1012、1014が、システムバス1016により相互にデータの入出力可能に接続されている。更に、音生成IC1008には、スピーカ1020が接続され、画像生成IC1010には、表示装置1018が接続され、I/Cポート1012には、コントロール装置1022が接続され、I/Cポート1014には、通信装置1024が接続されている。 【0084】CPU1000は、ROM1002に格納されているシステムプログラム、情報記憶媒体1006に格納されているプログラム、コントロール装置1022によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。 【0085】RAM1004は、このCPU1000の作業領域などとして用いられる記憶手段であり、情報記憶媒体1006やROM1006の所与の内容、或いはCPU1000の演算結果が格納される。 【0086】情報記憶媒体1006は、プログラム、画像データ、音データなど予め設定されている情報や、ゲームの進行状況を記憶するプレイデータなどが主に格納されるものであり、図4におけるゲーム情報42も格納される。業務用ゲーム装置1300では、システム基板1310上に実装されたROM等のICメモリ1312やハードディスクが該当する。この場合、情報記憶媒体1006は、ROM1002になる。 【0087】音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やBGM等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。 【0088】また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報にもとづいて表示装置1018にゲーム画面を出力するための画素情報を生成する集積回路である。 【0089】コントロール装置1022は、図1の操作レバー1306と操作ボタン1308等に相当するものであり、プレーヤが、ゲームの進行に応じて種々の操作を装置本体に入力するための装置である。 【0090】また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてプログラムに応じて所与の情報を送受信し、通信回線を介してプログラム等のゲーム情報を送受信することなどに利用される。 【0091】図5で説明した処理は、当該処理を行うプログラムと、該プログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC10101、音生成IC1008等によって実現される。尚、画像生成IC1010、音生成IC1008等で行われる処理はCPU1000、或いは汎用のDSPなどのLSIによってソフトウェア的に実行されても良い。 【0092】[変形例の説明]尚、本発明は図1に示した業務用ゲーム装置だけでなく、家庭用ゲーム装置、多数のプレーヤが参加する大型アトラクション装置、マルチメディア端末、画像生成装置、ゲーム画像を生成するシステム基板等の種々の装置に適用できる。 【0093】例えば、図7は、本発明を家庭用のゲーム装置1200に適用した場合の一例を示す図である。同図において、プレーヤは、ディスプレイ1201に映し出されたゲーム画面を見ながら、ゲームコントローラ1202、1204に備えられた十字キーやジョイレバー、各種のボタン等を操作してゲームを楽しむ。この場合、ゲームプログラムや初期設定データ等のゲームを実行するために必要なゲーム情報は、本体装置1210に着脱自在な情報記憶媒体であるCD−ROM1206、ICメモリ1208、メモリカード1212等に格納されている。 【0094】また、図8は、本実施形態を、ネットワークを介して接続された装置を含むゲーム装置に適用した場合の一例を示す図である。図8(a)の構成では、ホスト装置1400と、ホスト装置1400と通信回線1402を介して接続される端末1404−1〜1404−n(nは整数)とを含む。この場合、ゲーム情報42は、例えはホスト装置1400が制御可能な磁気ディスク装置、磁気テープ装置、ICメモリ等の情報記憶媒体1406に格納されている。端末1404−1〜1404−nが、スタンドアロンでゲーム画像、ゲーム音を再生できるものである場合には、ホスト装置1400からは、ゲーム画像、ゲーム音を生成するためのゲームプログラムなどが端末1404−1〜1404−nに配信される。一方、スタンドアロンで生成できない場合には、ホスト装置1400がゲーム画像、ゲーム音を生成して端末1404−1〜1404−nに伝送することにより端末において出力することとなる。 【0095】図8(b)の構成の場合、ホスト装置1400に該当する装置は無く、端末1404−1〜1404−nが通信回線1402を介して接続され、本発明の各手段を端末1404−1〜1404−n間で分散して実行する。同様に、本発明の各手段を実行するためのプログラムやデータを端末の情報記憶媒体に分散して格納するようにしても良い。 【0096】ネットワークに接続する端末は、上述した家庭用ゲーム装置であることは勿論のこと、パーソナルコンピュータ、業務用ゲーム装置、PDAなどの携帯端末などで有っても良い。そして、業務用ゲーム装置をネットワークに接続する場合には、業務用ゲーム装置の間で情報のやり取りが可能であるとともに、家庭用ゲーム装置との間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を使用可能な構成としても良い。 【0097】[第2の実施の形態]次に、本発明の第2の実施形態について説明する。第2の実施形態は、第1の実施形態と同様に業務用ゲーム装置1300(図1参照)にてシューティングゲームを行う場合を例に説明するが、本実施形態では、敵戦闘機OBの近接判定においてオブジェクト間の距離だけでなく、敵戦闘機OBと光源オブジェクトLの相対的な位置関係で判定する。また、敵戦闘機OBの処理順番に関しても、より多数の敵戦闘機OBが登場する場合に効率的な処理ができるようにグループ化する場合について説明する。尚、第1の実施形態と同様の要素については同じ符号とし、説明を省略する。 【0098】[原理の説明]先ず、図9と図10を参照して、本実施形態における原理を説明する。図9は、3次元仮想空間におけるオブジェクトの配置状態の一例を示す図であって、仮想空間のワールド座標Z−X面を真上から見た概念図である。 【0099】同図に示すように、3次元仮想空間には、視点C、敵戦闘機OB1〜OB6と、味方戦闘機OB7とOB8、光源オブジェクトL1とL2とが配置されている。特に、敵戦闘機OB1とOB5、敵戦闘機OB2とOB4とOB6、味方戦闘機OB7とOB8は、それぞれ近接して配置されている。 【0100】全体的に見ると幾つかの範囲に寄り集まって配置されているこれらの反射オブジェクトも、第1の実施形態に示すように、各オブジェクトの添付番号順にOB1→OB2→OB3・・・→OB8とシェーディング処理を行うと、処理上は離れて配置されていると判断されてしまう。その為、図9の場合では、味方戦闘機OB7とOB8の間でしかスペキュラマップの流用は実現されないことになる。そこで、本実施形態では、シェーディング処理に先立って近接して配置された反射オブジェクトをグループG1〜G4にグループ化し、グループの添付番号順にシェーディングを行うことでスペキュラマップの流用度合を高める。 【0101】そして、各グループ毎にシェーディング処理を実行するが、クループ内の反射オブジェクトに付いては、以下の近接判定方法によってスペキュラマップの流用可否を判断する。 【0102】図10は、本実施形態における近接判定方法の概念を説明する図である。同図に示すように、3次元仮想空間内に敵戦闘機OB1とOB2、及び光源オブジェクトLが配置されているとする。敵戦闘機OB1とOB2では、光源オブジェクトLによって光沢が表現されるべき面(向き)を白く表現している。 【0103】図10(a)の場合、光源オブジェクトLは、敵戦闘機OB1と敵戦闘機OB2のどちらに対しても、ワールド座標Z軸方向の前方に位置している。光沢は敵戦闘機OB1とOB2ともに右側部の白色部分に光沢が表現され、現象としての矛盾は生じないので、スペキュラマップの流用が可能と判断する。一方、図10(b)の場合、光源オブジェクトLは、敵戦闘機OB1よりは後方だが敵戦闘機OB2よりは前方に位置している。このため、光沢は、敵戦闘機OB1の光沢は後部の白色部分に表現され、敵戦闘機OB2の光沢は左側部の白色部分に表現されるべきである。従って、敵戦闘機OB1とOB2は近接して配置されているがスペキュラマップの流用は不可能と判断する。 【0104】具体的には、敵戦闘機OB1とOB2それぞれについて、代表点から光源オブジェクトLへの単位ベクトルn1及びn2を求め、両ベクトルの内積で流用の可否を判断する。例えば、先の図10(a)に示した配置条件ではベクトルの内積は正になり、図10(b)の配置条件では負になる。即ち、内積が正なら流用可、負なら流用不可と判定する。 【0105】この様に、スペキュラマップの流用にあたって、敵戦闘機OBと光源オブジェクトLの相対的な位置関係から流用可否の判定を行うことによって、光源オブジェクトLが敵戦闘機OB1とOB2の間をすり抜ける条件であっても、より自然に見えるように光沢表現を実現できる。 【0106】尚、以上の近接判定においては、全ての光源オブジェクトLを判定に加える必要は無く、ゲーム演出の観点から適宜選択することによって、よりメリハリの有る効果的な画面を作り出すことができる。この際、判定対象とする光源オブジェクトLの識別は、例えばオブジェクト・データ424に識別用のフラグを設け、或いは別途判定対処の光源オブジェクトLの識別番号を格納して参照する、などの方法で実現できる。 【0107】[機能ブロックの説明]次に、本実施形態を実現するための機能ブロックを説明する。図11は、本発明における機能ブロックの一例を示すブロック図である。同図において、機能ブロックは、操作部10、処理部20、表示部30、記憶部40を備える。 【0108】本実施形態では、特に、処理部20の画像生成部24に処理順設定部246を備え、また記憶部40の一時記憶部44にはグループ情報446が含まれる。 【0109】処理順設定部246は、3次元仮想空間内に多数配置されているオブジェクト、即ち敵戦闘機OB1からOB6、及び味方戦闘機OB7とOB8を、シェーディングに先立って近接して配置されている反射オブジェクト同士をグループ化する。グループ化の方法としては、例えば、視点Cに向かって一つ前の反射オブジェクトからの距離を求め、該距離が所与の値以下である場合を同一のグループとみなすなど、適宜公知の技術によって実現して構わない。 【0110】処理順設定部246によってグループ化された情報は、グループ情報446として記憶される。グループ情報446は、例えば、グループごとに用意され、そのグループに含まれる反射オブジェクトの番号を格納する。 【0111】[処理フローの説明]次に、図12を参照して、図9に示した3次元仮想空間のオブジェクトの配置状態を元に処理の流れを詳細に説明する。 【0112】図12は、本実施形態における光沢表現の処理の流れを説明するためのフローチャートである。具体的には、シェーディング処理における一処理に位置付けられる。従って、第1の実施形態と同様に前段階として以下の処理が行われる。即ち、ゲーム演算部22よる敵戦闘機OBや視点C及び光源オブジェクトLなどの3次元仮想空間における位置や姿勢の決定と情報の記憶。画像生成部24による、幾何学変換処理である。(図13参照)。 【0113】以上の前段階処理が終わったならば、図12に示すシェーディング処理に移行する。先ず、処理順設定部246は、3次元仮想空間内に多数配置されている敵戦闘機OB1からOB6、及び味方戦闘機OB7とOB8をシェーディングに先立って、近接して配置されている反射オブジェクト同士をグループ化し(ステップ;S702)、グループ情報446を作成する(ステップ;S704)。 【0114】グループ化が行われたならば、シェーディング部240は、グループ情報446から処理対象のグループGを選択する(ステップ;S706)。図9の例では、グループG1が選択される。シェーディング部240は、グループG1に含まれる敵戦闘機OB1とOB5について順にシェーディングを行う。 【0115】先ず、シェーディング部240は、処理対処のオブジェクトとして戦闘機OB1を選択し(ステップ;S708)、該当するオブジェクト・データ424の設定に基づいて、所定のシェーディング・アルゴリズム(例えば、フラット・シェーディングや、グローシェーディング、フォン・シェーディングなど)によって、敵戦闘機OB1の表面に濃淡をつける(ステップ;S710)。 【0116】次いで、テクスチャマッピング部244が、テクスチャ・データ426から所定のテクスチャを読み出し、敵戦闘機OB1にマッピングする(ステップ;S712)。 【0117】オブジェクトの濃淡の決定とテクスチャマッピングがされたならば、光沢の表現に移る。敵戦闘機OB1はグループG1における最初の反射オブジェクトに当るので(ステップ;S714のYES)、無条件でスペキュラマップ生成部242がスペキュラマップ情報444を生成する(ステップ;S722)。 【0118】そして、テクスチャマッピング部244が、敵戦闘機OB1にスペキュラマップ情報444を、例えば、加算合成でテクスチャマッピングして、敵戦闘機OB1への光沢表現を実現する(ステップ;S724)。 【0119】敵戦闘機OB1への光沢表現が終了したならば、シェーディング部240は、敵戦闘機OB1の位置座標を近接判定情報442に記憶し(ステップ;S726)、まだ未処理の反射オブジェクトがある場合は、次の反射オブジェクトの処理に移る(ステップ;S728のYES)。 【0120】次に、グループ情報446に基づいて、シェーディング部240は、処理対象の反射オブジェクトとして敵戦闘機OB5を選択する(ステップ;S706)。そして、前述と同様にして敵戦闘機OB5にシェーディングとテクスチャマッピングが実行される(ステップ;S710→S712)。 【0121】次に、光沢表現を施すにあたって、シェーディング部240は、敵戦闘機OB5はグループG1における最初の処理対象の反射オブジェクトではないので、敵戦闘機OB1との近接条件の判定を行う(ステップ;S714)。 【0122】先ず、シェーディング部240は、敵戦闘機OB1の代表点から光源オブジェクトLへの単位ベクトルn1を求め(ステップ;S716)、敵戦闘機OB5の代表点から光源オブジェクトLへの単位ベクトルn2を求める(ステップ;S718)。 【0123】次いで、シェーディング部240は、単位ベクトルn1とn2の内積を求める(ステップ;S720)。内積が正の場合は(ステップ;S720のYES)、図10(a)に示した状態と同様の相対位置関係に相当し、スペキュラマップの流用が可能であると判断され、テクスチャマッピング部244が、スペキュラマップ情報444をそのまま敵戦闘機OB5に適用する(ステップ;S724)。内積が負の場合は(ステップ;S720のNO)、図10(b)に示した状態と同様の相対位置関係に相当し、スペキュラマップの流用は不可であると判断される。従って、スペキュラマップ生成部242が、敵戦闘機OB5向けに新たにスペキュラマップ情報444を生成し(ステップ;S722)、テクスチャマッピング部244が、新しいスペキュラマップ情報444を敵戦闘機OB5に適用する(ステップ;S724)。 【0124】スペキュラマップが適用されて光沢が表現されたならば、シェーディング部240は、戦闘機OB5の位置座標を、近接判定情報442に記憶し、次回の判定に備える(ステップ;S726)。図9の例では、グループG1は、それ以上の反射オブジェクトが含まれていないので、シェーディング部240は、処理対象となる次のグループを選択する(ステップ;S728のNO→S730のYES)。 【0125】全てのグループGに対して処理を終えたらば、シェーディング処理を終了し(ステップ;S730のNO)、従来と同様にして表示部30にゲーム画面を表示する。 【0126】以上のように、処理順番のグループ化を行うことによって、反射オブジェクトの添付番号順に従ったOB1→OB2…→OB8の処理では1回(敵戦闘機OB7とOB8の間)だけであったスペキュラマップの流用を4回(敵戦闘機OB1とOB5、OB2とOB4、OB4とOB6、OB7とOB8)に高めることができる。また、敵戦闘機OBと光源オブジェクトLの相対位置に基づくスペキュラマップの流用可否判断をすることによって、無理の無い流用でより自然な光沢表現を実現することができる。 【0127】第2の実施形態を実現するハードウェアの構成は、第1の実施形態と同様であるので説明は省略する。 【0128】以上、本発明を実現する第1及び第2の実施形態について説明したが、本発明の適用がこれらに限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて適宜変更可能である。 【0129】例えば、両実施形態では、シューティングゲームを例としたが、3DCGを用いてゲーム画面を構成するゲームであれば、例えば、レースゲーム、アクションゲーム、RPGゲーム、パズルゲームなど他の分野のゲームでも適用可能である。またその対象となるオブジェクトも、ポリゴンによって形成されるのであれば、例えば、戦闘機やレーシングカーなどの乗り物、ロボット、人物、生物、背景、建築物、メニュー画面、文字、マークなど他の種類であっても構わない。 【0130】また、スペキュラマップの流用可否の判定は、装置の処理能力とゲーム内容に応じて、演算負荷とゲームのバランスを考慮して適宜設定されるべきである。 【0131】ゲーム内容に応じてスペキュラマップの流用を使い分けるならば、例えば、反射オブジェクトが少ない場合は流用をしないとしても良い。具体的には、例えば、宇宙戦闘機によるシューティングゲームの場合、自機が敵戦艦の狭い通路構造状の内部に突入したシチュエーションでは、狭い通路をいかに抜けるかその操縦テクニックがポイントであって、反射オブジェクトである敵戦闘機OBが少ない場合が多い。従って、こうした場合、敵艦内部では演算負荷が軽いのでスペキュラマップの流用判定せず、敵戦艦内部を突破して宇宙空間に出たならば、再びスペキュラマップを流用判定をするとしても良い。 【0132】また、光源の数によって流用判定の適用を設定するとしても良く、例えば、レーシングゲームでトンネル内を走行する場面では、多数のトンネル灯火が映り込んで演算負荷が増加するのでスペキュラマップの流用判定をし、一方トンネル外では、映り込む対象が少ないのでスペキュラマップの流用判定をしないとしても良い。 【0133】また更に、スペキュラマップの流用可否の判定の方法に関しても、例えば、第2の実施形態では、上述のごとくグループ化とベクトルの内積関係から求めたが、これに内積関係に基づく判定の前段階として、第1の実施形態において示したオブジェクト間の距離による判定を適宜含めるとしても構わない。或いは、第1の実施形態において、適戦闘機OBと視点Cの距離dc(図2参照)を求め、例えば、該距離dcに応じて判定値Dminを増加させるように変化させて判定に使用することで、より流用の度合いを高めるとしても良い。 【0134】 【発明の効果】本発明によれば、生成手段が環境テクスチャを生成したならば、これを記憶手段に記憶しておく。そして、特定手段が次の反射オブジェクトを特定し処理する際に、環境テクスチャを新たに生成しないと判断した場合に、前記記憶手段によって記憶された環境テクスチャを流用し、演算負荷とともにメモリ領域の消費を軽減させる。従って少ない演算負荷とメモリ消費で効率的に光沢表現や映り込みを実現することができる。
|
| 【出願人】 |
【識別番号】000134855 【氏名又は名称】株式会社ナムコ 【住所又は居所】東京都大田区多摩川2丁目8番5号
|
| 【出願日】 |
平成13年9月17日(2001.9.17) |
| 【代理人】 |
【識別番号】100090033 【弁理士】 【氏名又は名称】荒船 博司 (外1名)
|
| 【公開番号】 |
特開2003−79942(P2003−79942A) |
| 【公開日】 |
平成15年3月18日(2003.3.18) |
| 【出願番号】 |
特願2001−282384(P2001−282384) |
|