(57)【特許請求の範囲】
【請求項１】
仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定する当たり判定手段と、この当たり判定結果を反映して前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像生成手段と、を備え、
前記当たり判定手段は、
前記移動路のポリゴンの各頂点に与えられた頂点位置情報と各頂点位置における法線ベクトルを含む頂点データから、前記オブジェクトの当たり位置における該当たり位置の頂点位置情報および当該頂点位置における法線ベクトルを含む当たり判定用データを補間して求める補間手段と、
この補間手段により求められた前記当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段と、を有する、
ことを特徴とした画像処理装置。
【請求項２】
仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定する当たり判定手段と、この当たり判定結果を反映して前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像生成手段と、を備え、
前記当たり判定手段は、
前記オブジェクトの当たり位置での当たり判定用データを前記ポリゴンで表現する前記移動路のポリゴンに貼り付けるテクスチャの情報に応じて補正する補正手段と、
この補正手段により補正された前記当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段と、を有し、
前記移動路のポリゴンに貼り付けるテクスチャの情報が濃淡データである、
ことを特徴とした画像処理装置。
【請求項３】
仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定する当たり判定手段と、この当たり判定結果を反映して前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像生成手段と、を備え、
前記当たり判定手段は、
前記移動路のポリゴンの各頂点に与えられた頂点位置情報と当該頂点位置における法線ベクトルを含む頂点データから、前記オブジェクトの当たり位置における該当たり位置の高さおよび法線ベクトルを含む当たり判定用データを補間して求める補間手段と、
この補間手段により補間された前記当たり判定用データを前記ポリゴンで表現する前記移動路のポリゴンに貼り付けるテクスチャの情報に応じて補正する補正手段と、
この補正手段により補正された前記当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段と、を有する、
ことを特徴とした画像処理装置。
【請求項４】
前記移動路のポリゴンに貼り付けるテクスチャの情報は、濃淡データであることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記補間手段は、
前記移動路とオブジェクトとの当たり位置から前記仮想３次元空間に設定された３次元座標軸のいずれかの座標軸に沿った平行な仮想線を辿ることにより到達する前記ポリゴンの２辺及び当該２辺の各々と前記仮想線とが交差して得られる第１及び第２の交点を指定する手段と、
前記ポリゴンの２辺の各々の両端の頂点データに基づいて、当該２辺のうちの一方の辺の両端に対応した第１の稜線と、当該２辺のうちの他方の辺に対応した第２の稜線と、を設定する手段と、
前記第１及び第２の稜線の各々に基づいて、前記第１及び第２の交点を両端とする線分に対応した第３の稜線を設定する手段と、
前記第３の稜線に基づいて前記当たり判定位置の前記当たり判定用データを求める手段と、を有する、
請求項１又は３記載の画像処理装置。
【請求項６】
画像処理装置が、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成するように構成された画像処理方法であって、
前記画像処理装置は、
前記移動路のポリゴンの各頂点に与えられた頂点位置情報と各頂点位置における法線ベクトルを含む頂点データから、前記オブジェクトの当たり位置における該当たり位置の頂点位置情報および当該頂点位置における法線ベクトルを含む当たり判定用データを補間して求め、
この求められた前記当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定する、ことを特徴とした画像処理方法。
【請求項７】
画像処理装置が、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成するように構成された画像処理方法であって、
前記画像処理装置は、前記オブジェクトの当たり位置での当たり判定用データを前記ポリゴンで表現する前記移動路のポリゴンに貼り付けるテクスチャの情報に応じて補正し、この補正された当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定するものであり、
前記移動路のポリゴンに貼り付けるテクスチャの情報が濃淡データである、ことを特徴とした画像処理方法。
【請求項８】
画像処理装置が、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を判定しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成するように構成された画像処理方法であって、
前記画像処理装置は、
前記移動路のポリゴンの各頂点に与えられた頂点位置座標と各頂点位置における法線ベクトルを含む頂点データから、前記オブジェクトの当たり位置における該当たり位置の頂点位置情報および当該頂点位置における法線ベクトルから成る当たり判定用データを補間して求め、
この求められた前記当たり判定用データを前記ポリゴンで表現する前記移動路のポリゴンに貼り付けるテクスチャの情報に応じて補正し、
この補正された前記当たり判定用データに応じて前記オブジェクトの前記移動路への当たりを設定する、
ことを特徴とした画像処理方法。
【請求項９】
請求項６乃至８のいずれか一項記載の画像処理方法をコンピュータに実行させるためのプログラムを記憶した、当該コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
技術分野
本発明は、画像生成装置および画像生成方法に関し、特に、ゲーム装置などのように仮想３次元空聞内を移動させる移動体とその移動路などの周囲環境との間の関わり具合をより緻密にかつリアルに表現するようにした画像生成装置および画像生成方法に関する。
背景技術
近年のコンピュータグラフィックス技術の発達に伴い、業務用、家庭用を問わず、シミュレーション装置やゲーム装置が広く一般に普及するようになっている。ゲーム装置の一つのジャンルとして、仮想ゲーム空間内でオブジェクトとしての車両を移動させて競争するカーレースをゲーム内容とするゲーム装置があり、根強い人気を得ている。
このジャンルのゲーム装置は通常、予め記憶したゲームプログラムを実行するコンピュータ装置を内蔵した装置本体と、ゲームで表現されるオブジェクトの移動を指令する操作信号を装置本体に与える操作部と、装置本体でゲームプログラムが実行されることによるゲーム展開に伴う画像を表示するモニタと、そのゲーム展開に伴う音響を発生させる音響装置とを備えている。
カーレースゲームは通常、自車と敵車とが競争する形式でゲームが進められるので、ゲームをよりリアルにかつ臨場感溢れるものにする上で、車両の動きをよりリアルにシミュレートすることが需要であることは勿論のこと、背景の一部となる道路や地形（環境）との関わり具合、さらに車から周囲環境への関わりといった要素を反映した画像処理の緻密さリアルさも重要なファクタである。
しかしながら、このカーレースをゲーム内容とする従来のゲーム装置の場合、上述したように車両の走行に伴って発生する車両と周囲環境との聞の相互干渉のファクタを画像として表現する上で、以下のような未解決の問題が指摘されていた。
（１）車両の走行状態を画像表現するには、一定時間毎に地形と車両のタイヤ（車輪）との当たりを判定することが必要である。地形は近年では地形を細かく区分けした適宜な数のポリゴンデータにより表現されている。各ポリゴンデータはその複数の頂点の位置座標とそのポリゴン面全体で１つの法泉ベクトルのデータとを有している。従来の当たり判定はポリゴン面そのもの（ポリゴン面の座標）に対して行う構成であったため、ポリゴン同士が比較的大きな角度を持って隣接しているような場合、その繋ぎめを超えたときの当たり判定の方向が急激に変化することがあり、車両が不自然な挙動を呈していた。例えば、比較的滑らかに見える路面部分を走行していたにも関わらず、ポリゴン面同士の角度が大きかったために、車両の向きがロール方向、ピッチ方向、さらにはヨー方向に急変し、遊戯者に違和感を与えてしまっていた。
勿論、路面やその周囲環境を表す地形に対して１つのポリゴン面の大きさをタイヤの大きさに比べて非常に小さく設定すれば、その分、地形全体は滑らかさを増すから、そのような当たり判定の方向の急変は起こり難い。しかし、そのようにポリゴン面を細かく設定することは、地形のデータ量がその分増えることであり、メモリに必要な記憶容量が非常に大きくなり、コンピュータ装置のＣＰＵへの演算負荷も著しく増えることとなる。仮に、記憶容量の大きなメモリは装備できたとしても、装置全体の処理速度は低下してしまう。処理速度の低下は昨今のゲーム装置にとって非常に不利なものであり、市場性にも影響する。このため、ポリゴン面の大きさの設定には自ずと一定の限界があった。
またポリゴン面同士にわたる挙動変化のみならず、各ポリゴン面上の細かい凹凸を反映した車両の挙動もリアル感を向上させる上で非常に重要である。従来、これを表現しようとする場合、その凹凸の高さ情報を予めポリゴン（テクスチャ）毎に持たせておき、この凹凸の高さ情報との間で当たり判定をとる必要があり、データ量および演算量が膨大になり、実際上不可能であった。
さらに、車両の挙動が周囲環境に及ぼすファクタの１つに走行に伴う路面、地面からの砂煙の発生がある。この砂煙は路面状態や高速、加速といった走行状態をリアルに表現する上で、非常に大切なファクタの１つである。
それにも関わらず、従来、この砂煙の画像処理は非常に難しく、その表現の出来栄えとの兼ね合いから砂煙は表現しないことが多かった。この砂煙を敢えて表現する場合、単に砂煙のもや（固まり）の外表面を表現する１枚または複数枚のポリゴンを背景などに３次元的に重ねて表示していた。このため、輪郭が非常に目立たつ砂煙のもやとしての物体を車両の後方に飛ばすことで表現していた。
しかしながら、実際には一見して砂煙とは見えないことが多く、非常に人為的に見える画像になっていた。このため、煙をなす粒子という感覚を表現するため、煙のポリゴンの存在感を落とした画像処理で粒子感を代替させることが多く、そのような場合、砂煙としての臨場感に不足していた。また、例えば敵車が加速しながら自車を追い越していくときに、視点カメラが位置的に砂煙の雰囲気中に入ってしまうことがある。そのような場合、従来では、視点カメラは実際には砂煙のもやの中に在りながら、トンネルの中に入ってその壁のみ、すなわち砂煙の固まりの外表面のみが見えるという不自然な状態の画像しか生成できなかった。
さらに、移動している車両がその周囲環境に干渉するファクタとして、車両の点灯しているヘッドライトやテールランプ、さらには車体の一部がゲーム空間内の仮想的な太陽光に反射する光がある。これらはいずれも光の拡散または光のまぶしさとして表現できるファクタである。
従来のゲーム装置において、これらの輝度の高い物体を表現する場合、その物体自体の色を明るく表現するか、ハード的に備えているユニットを使った霧の効果を利用して表現するか、さらにはその光物体の外郭から中心に進むにつれて透明から不透明に変化する１枚の板を自車に向けて発光点に置くことで表現するかの手法を採用している。
しかし、これらの手法はいずれも動く物体からの拡散光の本質的性質である指向性を表現することができず、単に光っていることを表しているだけであって、移動中の車両がダイナミックに光を出すといった感覚に欠けていた。また、とくに、３番目の手法の場合、ヘッドライトを例に挙げると、かかる車両を後ろから見た場合でも光が拡散しているという不自然な状態になってしまう。
本発明は、上述したゲーム装置が有する未解決の問題を克服するためになされたもので、演算量やデータ量を格別に増大させることなく、移動体としての車両とその周囲環境との間の相互干渉に関わるファクタを、よりリアルに表現でき、車両の移動をメインテーマとするゲームの臨場感を高め、また興味感を向上させることができる画像生成装置および画像生成方法を提供することを、共通の目的とする。
具体的には、本発明の第１の目的は、演算量やデータ量を格別増大させることなく、ポリゴン同士の繋ぎめを超えた当たり判定のときの判定方向の急変を防止して、違和感の少ない、より自然な当たり判定を行うとともに、路面の凹凸をも考慮した当たり判定を行うことで、車両挙動表現のリアル感、臨場感を従来よりも格段に高めた画像生成装置および画像生成方法を提供することである。
本発明の第２の目的は、演算量やデータ量を格別増大させることなく、砂煙のもやによる粒子感を表現して従来ののっぺりした又は人為的な砂煙による違和感を排除するとともに、カメラ視点がもやの中に空間的に位置した場合でも、そのカメラ視点から観測されるもや状態の違和感を排除した砂煙を表現できる画像生成装置および画像生成方法を提供することである。
本発明の第３の目的は、演算量やデータ量を格別増大させることなく、移動している車両から発せされるヘッドライト、テールライト、反射光といった指向性を持った拡散光をダイナミックに画像生成して、リアリティを向上させた拡散光を表現できる画像生成装置および画像生成方法を提供することである。
発明の開示
上記目的を達成するため、第１の発明に係る画像生成装置によれば、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を確立する当たり確立手段と、この当たり状態を保持しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する生成手段とを備え、前記当たり確立手段は、前記移動路のポリゴンの頂点に与えられた頂点データから前記オブジェクトの当たり位置における当たり確立用データを補間して求める補間手段と、この補間手段により補間された当たり確立用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段とを有する、ことを特徴とする。
例えば、前記頂点データは各頂点の高さと法線ベクトルから成り、前記当たり確立用データは前記当たり位置の高さおよび法線ベクトルから成る。また例えば、前記補間手段は、前記当たり位置から座標軸に沿って辿って交差する前記ポリゴンの２辺それぞれを指定する手段と、前記各辺の両端の頂点データに基づく第１および第２の稜線を設定する手段と、この各稜線上で前記２辺との交差点それぞれのデータを求める手段と、前記２辺との交差点を両端とする線分の第３の稜線を指定する手段と、この第３の稜線上で前記交差点それぞれのデータから前記当たり判定位置の前記当たり確立用データを求める手段とを有する。好適には、前記第１乃至第３の稜線は３次式で与えられる。
さらに、第２の発明に係る画像生成装置は、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を確立する当たり確立手段と、この当たり状態を保持しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像データ生成手段とを備え、前記当たり確立手段は、前記オブジェクトの当たり位置での当たり確立用データを前記ポリゴンで表現する前記移動路の属性に応じて補正する補正手段と、この補正手段により補正された前記当たり確立用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段とを有する、ことを特徴とする。
例えば、前記当たり確立用データは前記当たり位置の高さおよび法線ベクトルである。また例えば、前記移動路の属性はその移動路の凹凸であり、この凹凸の情報は前記ポリゴンに貼り付けるテクスチャに与えられた濃淡データを用いる。
さらに、第３の発明に係る画像生成装置は、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を確立する当たり確立手段と、この当たり状態を保持しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像データ生成手段とを備え、前記当たり確立手段は、前記移動路のポリゴンの頂点に与えられた頂点データから前記オブジェクトの当たり位置における当たり確立用データを補間して求める補間手段と、この補間手段により補間された当たり確立用データを前記ポリゴンで表現する前記移動路の属性に応じて補正する補正手段と、この補正手段により補正された前記当たり確立用データに応じて前記オブジェクトの前記移動路への当たりを設定する当たり設定手段とを有する、ことを特徴とする。例えば、前記当たり確立用データは前記当たり位置の高さおよび法線ベクトルである。
さらに、第４の発明に係る画像生成装置によれば、仮想３次元空間を移動するオブジェクトの光源から放射される拡散光の画像データをそのオブジェクトの移動状態に応じて制御する拡散光制御手段と、この制御された拡散光の画像データを含めた前記オブジェクトの移動状態を表す画像データを生成する生成手段とを備えたことを特徴とする。
好適には、前記拡散光制御手段は、前記光源の向きを表す光源ベクトルおよび前記仮想３次元空間内のカメラ視点の向きを表す視線ベクトルを求める手段と、前記拡散光の画像データとして１枚のポリゴンを指定する手段と、前記両ベクトル間の角度情報に基づき前記ポリゴンの大きさを変化させる変化手段とを有する。また、好適には、前記変化手段は、前記両ベクトルの向きが一致したときに無限大に発散する係数を乗じて前記ポリゴンの大きさを変化させる手段である。
さらに、第５の発明に係る画像生成装置によれば、仮想３次元空間を移動するオブジェクトが発生する砂煙の画像データをそのオブジェクトの移動状態に応じて制御する砂煙制御手段と、この制御された砂煙の画像データを含めた前記オブジェクトの移動状態を表す画像データを生成する生成手段とを備えたことを特徴とする。
この場合の好適な一例は、前記砂煙制御手段は、前記砂煙の画像データを２次元配置の複数のポリゴンとして指定する手段と、前記オブジェクトの挙動を含むファクタの物理的影響の度合いを求める手段と、この度合いに応じて前記複数のポリゴンそれぞれの挙動を演算する手段と、この演算結果に応じて前記複数のポリゴンを相互に繋いでポリゴン集合体として再構成する手段とを有する、ことである。また例えば、前記砂煙制御手段は、前記再構成されたポリゴン集合体に砂煙らしさに関わる透明度の相違および霧状に見える処理を加える手段を有することができる。
なお、上記各構成において、前記オブジェクトは前記仮想３次元空間内で移動するカーレースゲームの車である、ことができる。
さらに、第６の発明に係る画像生成方法は、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を確立しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像生成方法であって、前記移動路のポリゴンの頂点に与えられた頂点データから前記オブジェクトの当たり位置における当たり確立用データを補間して求め、この補間された当たり確立用データに応じて前記オブジェクトの前記移動路への当たりを設定する、ことを特徴とする。
さらに、第７の発明に係る画像生成方法は、仮想３次元空間にポリゴンで設定したオブジェクトおよび移動路の間の当たり状態を確立しながら前記オブジェクトが前記移動路を移動する状態を表す画像データを生成する画像生成方法であって、前記オブジェクトの当たり位置での当たり確立用データを前記ポリゴンで表現する前記移動路の属性に応じて補正し、この補正された当たり確立用データに応じて前記オブジェクトの前記移動路への当たりを設定する、ことを特徴とする。
さらに、第８の発明に係る画像生成方法は、仮想３次元空間を移動するオブジェクトの光源から放射される拡散光の方向が当該空間内のカメラ視点の方向に一致するにしたがって当該拡散光の大きさおよび強度が増加させる、ことを特徴とする。
さらに、第９の発明に係る画像生成方法は、仮想３次元空間を移動するオブジェクトにより発生される砂煙を当該オブジェクトの挙動に応じて変形するとともに、その外縁に至るほど透明感を増加させる、ことを特徴とする。
【図面の簡単な説明】
図１は、本発明の１つの実施形態にかかるゲーム装置の構成を示すブロック図。図２は、ＣＰＵを中心として実行されるメインフローを示す図。図３は、当たり判定処理の概要を示すサブフローの図。図４は、路面を構成する多数のポリゴンの配置を示す模式図。図５は、当たり判定処理におけるポリゴン内の補間処理の手順を説明するための図。図６は、当たり判定処理におけるポリゴン内の補間処理の手順を説明するための図。図７は、当たり判定処理におけるポリゴン内の補間処理の手順を説明するための図。図８は、当たり判定処理におけるバンプ補正処理の手順を説明するための図。図９は、当たり判定処理におけるバンプ補正処理の手順を説明するための図。図１０は、当たり判定処理におけるバンプ補正処理の手順を説明するための図。図１１は、当たり判定処理におけるバンプ補正処理の手順を説明するための図。図１２は、砂煙の発生処理の概要手順を説明するための図。図１３は、砂煙の発生処理を説明するための図。図１４は、砂煙の発生処理を説明するための図。図１５は、砂煙の発生処理を説明するための図。図１６は、砂煙の発生処理を説明するための図。図１７は、拡散光の表現処理の概要手順を説明するための図。図１８は、拡散光の表現処理を説明するための図。図１９は、拡散光の表現処理を説明するための図。図２０は、拡散光の表現処理を説明するための図。図２１は、拡散光の表現処理を説明するための図。
発明を実施するための最良の形態
以下、本発明の１つの実施の形態を図面を参照して説明する。
図１に示すゲーム装置は、本発明に係る画像生成装置および画像生成方法を実施する１つの形態であり、カーレース用のゲームを実施する装置である。この装置は、その基本的要素としてゲーム処理ボード１０、入力装置１１、出力装置１２、ＴＶモニタ１３、およびスピーカ１４を備える。
入力装置１１は、ハンドル、アクセル、ブレーキ、シフトレバー、ビューチャンジスイッチなどを備える。出力装置１３は、ハンドルキックバック機構、各種表示ランプ類などを備える。ＴＶモニタ１３はカーレースゲームの画像を表示するもので、ＴＶモニタの代わりにプロジェクタを使用してもよい。ビューチャンジスイッチは仮想的なカメラ視点の位置を変更するためのスイッチである。遊戯者がこのスイッチを操作することで、例えば、運転席から見た前方の視点、自車を斜め後方から見た視点などを選択できる。
ゲーム処理ボード１０は、カウンタ１００、ＣＰＵ（中央演算処理装置）１０１、このゲーム装置の動作プログラムやデータが記憶された記憶媒体としてのＲＯＭ１０２、ＲＡＭ１０３、サウンド装置１０４、入出力インターフェイス１０６、スクロールデータ演算装置１０７、コ・プロセッサ（補助演算処理装置）１０８、地形データＲＯＭ１０９、ジオメタライザ１１０、形状データＲＯＭ１１１、描画装置１１２、テクスチャデータＲＯＭ１１３、テクスチャマップＲＡＭ１１４、フレームバッファ１１５、画像合成装置１１６、およびＤ／Ａ変換器１１７を備えている。
この内、ＣＰＵ１０１はバスラインを介して、初期値からカウントダウンするカウンタ１００、所定のプログラムや画像処理プログラムなどを記憶したＲＯＭ１０２、演算データを記憶するＲＡＭ１０３、サウンド装置１０４、入出力インターフェース１０６、スクロールデータ演算装置１０７、コ・プロセッサ１０８、およびジオメタライザ１１０に接続されている。ＲＡＭ１０３はバッファ用として機能させるもので、ジオメタライザに対する各種コマンドの書込み（オブジェクトの表示など）、変換マトリクス演算時を含む各種演算時の必要データの書込みなどに使用される。
入出力インターフェース１０６は入力装置１１および出力装置１２に接続されており、入力装置１１の各種の操作信号、検知信号がデジタル量としてＣＰＵ１０１に取り込まれる。また、ＣＰＵ１０１などで生成された信号を出力装置１２に供給できる。サウンド装置１０４は電力増幅器１０５を介してスピーカ１４に接続されている。これにより、サウンド装置１０４で生成された音響信号が電力増幅され、スピーカ１４から音響として出力される。
ＣＰＵ１０１は、ＲＯＭ１０２に内蔵したプログラムに基づいて、入力装置１１からの操作信号および地形データＲＯＭ１０９からの地形データ、または形状データＲＯＭ１１１からの形状データ（「自車、敵車などのオブジェクト」、および、「路面、地形、空、観客、各種構造物などの背景」などの３次元データ）を読み込んで、地形と車の当たり判定、車同士の衝突判定、４輪サスペンションの挙動計算、車の挙動計算の挙動計算（シミュレーション）、および砂煙の発生処理、拡散光の発生・制御処理を含む特殊効果処理の演算を行う。
車の挙動計算は、入力装置１１からの遊戯者による操作信号を用いて仮想３次元空間（ゲーム空間）での車の動きをシミュレートするものである。これを実行するには、仮想３次元空間での車のポリゴンの座標値が決定された後、この座標値を２次元視野座標系に変換するための変換マトリクスと形状データ（ポリゴンデータ）とがジオメタライザ１１０に指定される。コ・プロセッサ１０８には地形データＲＯＭ１０９が接続されており、予め定めた地形データがコ・プロセッサ１０８およびＣＰＵ１０１に渡される。コ・プロセッサ１０８は主に、地形と車の当たり判定や車の挙動計算時に浮動小数点の演算を引き受けるようになっている。このため、ＣＰＵの演算負荷を軽減できる。
ジオメタライザ１１０は形状データＲＯＭ１１１および描画装置１１２に接続されている。形状データＲＯＭ１１１には、上述したように、複数のポリゴンから成る形状データ（３つ以上の頂点から成る車、地形、背景などの３次元データ）が予め記憶されている。この形状データはジオメタライザ１１０に渡される。ジオメタライザ１１０はＣＰＵ１０１から指定される変換マトリクスで、指定された形状データの透視変換を行い、３次元仮想空間での座標系から視野座標系に変換した形状データを得る。
描画装置１１２は、変換された視野座標系の形状データにテクスチャを貼り付け、フレームバッファ１１５に出力する。このテクスチャの貼り付けを行うため、描画装置１１２はテクスチャデータＲＯＭ１１３およびテクスチャマップＲＡＭ１１４に接続されるとともに、フレームバッファ１１５に接続されている。
なお、ポリゴンデータとは、３個以上の頂点の集合からなるポリゴン（多角形：主に３角形、４角形）の各頂点の相対ないしは絶対座標の座標データ群を言う。前記地形データＲＯＭ１０９には、所定の判定（当たり判定など）を実行する上で足りる、比較的粗く設定されたポリゴンデータが格納されている。これに対し、形状データＲＯＭ１１１には車、背景などの画面を構成する形状に関して、より緻密に設定されたポリゴンデータが格納されている。
スクロールデータ演算装置１０７は文字などのスクロール画面のデータ（ＲＯＭ１０２に格納されている）を計算する。この演算装置１０７とフレームバッファ１１５とが画像合成装置１１６およびＤ／Ａ変換器１１７を介してＴＶモニタ１３に至る。これにより、フレームバッファ１１５に一時記憶された車、地形（背景）などのポリゴン画面（シミュレーション結果）とスピード、ラップタイムなどの文字情報のスクロール画面とが指定プライオリティにしたがって合成され、最終的な画像データがフレーム毎かつ一定タイミング毎に生成される。この画像データはＤ／Ａ変換器１１７でアナログ信号に変換されてＴＶモニタ１３に送られ、ゲーム画面としてリアルタイムに表示される。
（作用）
＜メインルーチン処理＞
続いて、本実施形態のゲーム装置によるカーレースに関わる画像生成処理を説明する。図２はその画像生成処理のメインルーチンを示す。このメインルーチンは例えば表示インターラプトに同期した１フィールド（１／６０秒）毎にＣＰＵ１０１により繰り返し実行される。なお、画像画面の内、少なくとも車両および車両が走行する移動路としての路面は複数のポリゴン（例えば３角形のポリゴン）により形成される。とくに、路面を表す各ポリゴンの各頂点には、３次元仮想空間内の基準位置からの高さの情報（すなわち頂点位置情報）と頂点位置における法線ベクトルとが与えられており、その情報が予めメモリに格納されている。
まず、ＣＰＵ１０１は入力装置１１により検出された遊戯者の操作情報および前回のインターラプト時に演算していた演算情報を読み込む（ステップ２０１）。この内、操作情報には遊戯者が操作したハンドル角度、アクセル角度などが含まれる。また演算情報にはＣＰＵ１０１が処理した自車、敵車の位置、車両挙動情報、砂煙や拡散光などの特殊効果情報も含まれる。なお、自車は操作情報に基づきＣＰＵ１０１により管理されているが、敵車はＣＰＵ１０１により事前のプログラムに基づき独自に管理される。
次いで、この操作情報および前回のインターラプト時の演算情報（自車、敵車の位置、走行方向など）に基づき今回のインターラプト時の各車両の当たり判定位置（車輪の接地位置）を算出する（ステップ２０２）。
次いで、ＣＰＵ１０１は、各車両の当たり判定位置毎に当たり判定処理を実行する（ステップ２０３）。次いで、車両挙動に関わる特殊効果として、砂煙の発生処理および拡散光の表現処理を順次実行する（ステップ２０４、２０５）。これらステップ２０３〜２０５の処理は後述される。
この後、ＣＰＵ１０１はさらに、操作情報や当たり判定結果を反映した車両挙動を計算し（ステップ２０６）、透視変換マトリクスを作成・指定し（ステップ２０７）、さらに描画に必要なポリゴンデータなどを指定する（ステップ２０８）。これによりインターラプト毎に画像データが更新され、カーレースゲームの展開に伴う画像がＴＶモニタ１３にその他の文字情報と共に表示される。これにより、遊戯者は表示画面を見ながらさらに所望の操作入力を入力装置１１から与え、ゲームを行うことができる。
（当たり判定処理）
続いて、上述したステップ２０３で実施される当たり判定処理の詳細をその原理と共に図３〜図１０に基づき説明する。
図３には、ステップ２０３で実施される処理のサブルーチンを示す。このルーチンによれば、図４に例示する如く設定された路面を成す複数のポリゴンＰＧの中から、各車両について算出した当たり判定点が属する当たり判定の対象となるポリゴンを仮想３次元空間のｘｚ平面上から探索する（ステップ２０３ａ）。
次いで、対象ポリゴンにおいて当たり判定位置の高さと法線ベクトルを補間により新しく演算する（ステップ２０３ｂ）。この演算法を以下に説明する。
いま、図５に示すように、対象ポリゴンがポリゴンＡＢＣで、その中に位置する判定点がＰ（Ｐｘ，Ｐｚ）であるとする。判定点Ｐをｘ軸に沿って平行に辿ると、ポリゴンＡＢＣの辺ＡＢまたは辺ＢＣに到達する。それらの交点をＰAB、ＰBCとする。次いで、例えば辺ＡＢとｙ軸とによる２次元系を考える。これにより、図５および図６に示すように、点Ａにおける高さｙAの線分頂点と点Ｂにおける高さｙBの線分頂点とを結ぶ曲線を想定できる。この曲線を稜線と呼ぶ。
そして、点Ａでｔ＝０、点Ｂでｔ＝１となる位置パラメータｔを導入し、上記稜線を表す関数ｆAB（ｔ）を、
ｆAB（ｔ）＝ｙ＝ａｔ３＋ｂｔ２＋ｃｔ＋ｄ      （１）
と想定する（図６参照）。境界条件から、
ｆ（０）＝ｄ＝ｙA＝点Ａの高さ
ｆ（１）＝ａ＋ｂ＋ｃ＋ｄ＝ｙB＝点Ｂの高さ
ｆ′（０）＝ｃ＝ｎA＝点Ａにおける法線の傾き
ｆ′（１）＝３ａ＋２ｂ＋ｃ＝ｎB＝点Ｂにおける法線の傾き
が定まり、これから
ａ＝２ｙA−２ｙB＋ｎA＋ｎB
ｂ＝−３ｙA＋３ｙB−２ｎA−ｎB
ｃ＝ｎA
ｄ＝ｙA
により係数が算出される。したがって、点Ａ，Ｂにおける高さｙA、ｙBおよび法線の傾きｎA、ｎBは事前に与えられているので、係数ａ，ｂ，ｃ，ｄは算出できる。そこで、この点Ａ，Ｂに関する稜線を規定する係数ａ，ｂ，ｃ，ｄをリアルタイムにその都度、演算するか、または、事前に演算してメモリに係数のテーブルデータとして格納しておいて、その都度読み出すようにしてもよい。後者の方が処理速度の点では有利である。
演算により、または、読み出しにより得た係数ａ，ｂ，ｃ，ｄを前記（１）式による関数ｆABから交点ＰABにおける関数値ｆAB（ＰAB）を求める。したがって、点ＰABの座標は（Ｐｘ′，ｆAB（Ｐ′），Ｐｚ）となる。ここで、Ｐｘ′ＰをＸ軸に沿って移動したときのＡＢとの交点の座標位置である。その時の関数値がＰ′である。
また、交点ＰABにおける法線ベクトルＮｐ′は、点Ａと点Ｂの法線ベクトルＮA、ＮBを次式による線形補間で算出する。
ベクトルＮｐ′＝［（１−ｔp）ＮA＋ｔpＮB］／
｜（ＮA＋ＮB）｜    （２）
上述と同様にして別の辺ＢＣが形成する稜線に基づいて、辺ＢＣ上の交点ＰBC上の座標と法線ベクトルを算出する。
さらに上述の２つの交点ＰABおよびＰBC間の線分ＰABＰBCに対しても上述と同様に、図７に示す如く３次式による稜線を想定し、この稜線に基づいて判定点Ｐ上の座標ｙ（高さ）と法線ベクトル（大きさ、方向）を算出する。このようにして判定点Ｐ上のｙ座標（高さ）と法線ベクトルの情報がポリゴン頂点の高さ情報および法線ベクトル情報から一意に求められる。
なお、この算出に使用する対象ポリゴンの辺は辺ＡＢ、辺ＢＣのみに限定されるものではなく、当たり判定点Ｐをｚ軸と平行に辿って到達する辺ＡＣ，辺ＡＢを用いてもよい。要するにいずれか２辺を利用すればよい。
次いで、ＣＰＵ１０１は図３において、当たり判定点Ｐの高さおよび法線ベクトルにさらに路面のバンプ（凹凸）に依存した細かな補正を加える処理を行う（ステップ２０３ｃ、２０３ｄ，２０３ｅ）。
この補正処理はバンプ用テクスチャの濃淡を路面凹凸を表す高さ情報と見做して行うもので、この処理をバンプ補正と呼ぶことにする。なお、ここではポリゴンに貼り付けるテクスチャの属性をバンプ補正（すなわち最終的には当たり判定）に利用することが特徴的であり、上述した濃淡のほか、テクスチャとして与えられる草、石などの物体をバンプ情報と見做してバンプ補正を行うこともできる。
ステップ２０３ｃでは、いま対象となっているポリゴン内にバンプ用テクスチャが施されているかどうかをフラグなどを使って判断する。バンプ用テクスチャが施されていない（ＮＯ）場合、ステップ２０３ｄは飛ばして処理される。バンプ用テクスチャが施されている（ＹＥＳ）の場合、ステップ２０３ｄにて、バンプ用テクスチャに依る当たり判定位置の高さおよび法線ベクトルが算出される。この算出処理を以下に詳述する。
一般に、図８に示すように、テクスチャのｕｖ座標系とポリゴンのｘｚ座標系とで３点の写像は次のマトリクスＭ、Ｍ＾で表される。つまり、ｕｖ座標系からｘｚ座標系へは、
0004226663.tif 000002
により変換でき、反対に、ｘｚ座標系からｕｖ坐標系へは
0004226663.tif 000003
により変換できる。
いま、ｕｖ座標系における当たり判定位置に相当するある点（ｕ0，ｖ0）を囲む４つのピクセルを図９に示すように選択すると、この４つのピクセルはそれぞれ高さデータＴ00，Ｔ10，Ｔ11，Ｔ01を有している。
この高さデータの内、ｖ軸に平行な一方の辺の両ピクセルに相当するＴ00〜Ｔ10と他方の辺の両ピクセルに相当するＴ01〜Ｔ11について位置ｖ0での高さＴu0，Ｔu1を線形補間でそれぞれ算出する。
同様に、ｕ軸に平行な一方の辺の両ピクセルに相当するＴ00〜Ｔ01と他方の辺の両ピクセルに相当するＴ10〜Ｔ11について位置ｕ0での高さＴ0v，Ｔ1vを線形補間でそれぞれ算出する。
次いで、上述のように補間した高さデータの内、ｕ軸に平行にとった線分の高さデータＴｕ０〜Ｔｕ１の傾きを求め、これを点（ｕ0，ｖ0）におけるｕ軸方向偏微分値（＝傾き）と見做す。また、ｖ軸に平行にとった線分の高さデータＴ０ｖ〜Ｔ１ｖの傾きを求め、これを点（ｕ0，ｖ0）におけるｖ軸方向偏微分値（＝傾き）と見做す。
この２つの傾きをｕ，ｖ軸の各方向の接線ベクトルｄｕ，ｄｖに変換し、それらを上述したマトリクスＭでテクスチャのｕｖ座標系からポリゴンのｘｚ座標系に変換する。
さらに、変換された２つの接線ベクトルｄｕ，ｄｖに共に直交する直線が当たり判定点Ｐ（Ｐｘ，Ｐｚ）におけるバンプ補正された法線ベクトルとなる（図１０参照）。この当たり判定点Ｐ（Ｐｘ，Ｐｚ）のバンプ補正された高さは４点のピクセルの高さデータをバイリニア補間することで算出される。
次いで、ＣＰＵ１０１は図３のステップ２０３ｅに移行し、当たり判定位置の最終的な高さと法線ベクトルを、上述のステップ２０３ｂで算出したポリゴンに依る補間データ（高さ、法線ベクトル）とステップ２０３ｄで算出したバンプ補間データ（高さ、法線ベクトル）とを合成する。高さについては両者を加減する。
法線ベクトルについては以下のように変換される。いま、ポリゴンに依る補間で得た法線ベクトルｎ、および、バンプ補正により得た法線ベクトルｍとする。ベクトルｍは、ベクトルｎが直上（０，１，０）を向いているときの法線方向になるので、それに合わせて（０，１，０）をベクトルｎに変換する変換マトリクスを求める（図１１参照）。次いで、この変換マトリクスでベクトルｍを変換する。この変換されたベクトルｍが最終的に合成された法線ベクトルとなる。
これによりポリゴン内で補間された高さおよび法線ベクトルのデータがバンプ補正によってさらに細かく修正される。
この結果得られた最終的な当たり判定位置の高さデータおよび法線ベクトルデータを用いて車両タイヤと対象ポリゴンとの間の当たりがとられる（図３、ステップ２０３ｆ）。
上述した一連の当たり判定処理は一定微小時間毎に繰り返し実行され、連続的な当たり判定が各タイヤ、自車、敵車の各車両に対してなされ、当たり処理が実施される。
本実施形態によれば、まず、当たり判定位置における高さと法線ベクトルがポリゴンデータから補間される。このため、当たり判定位置がポリゴン面に角度差の在る、あるポリゴンから別のポリゴンに移ったときにも、当たり判定の方向に供する法線ベクトルの方向が従来法よりも格段に滑らかに変化するので、当たり判定の方向も滑らかに変わり、当たり判定の精度を従来法よりも向上させ、違和感のないものにすることができる。
その上、本実施形態では、上述のようにポリゴンに依り一度補間した高さおよび法線ベクトルを、さらに、テクスチャの属性である濃淡データによりバンプ補正するという２段階の修正法を採っている。このため、路面の大局的な高低変化を滑らかに捕らえた後で、路面の細かな凹凸を緻密に反映させた高さおよび法線ベクトルで当たり判定を行うので、当たり判定の精度が非常に高くなって、路面の属性をより正確に捕らえた車両挙動をシミュレートできる。
なお、上述したポリゴンデータに依る補間処理とテクスチャによるバンプ補正処理とは必ずしも両者を併用して実施しなくてもよく、いずれか一方のみを単独に実施する場合でも従来の当たり判定に比べて、その判定精度は非常に高くなるという利点が得られる。
（砂煙の発生処理）
次いで、図２のステップ２０４による砂煙の発生処理を説明する。ＣＰＵ１０１は、上述のように当たり判定処理が終わると、カーレースゲームの特殊効果処理の１つとして、この砂煙の発生処理を実施して表示画面に臨場感を演出する。この処理を図１２〜図１６に基づき説明する。図１２に処理手順の概要を示す。
まず、砂煙を表すポリゴンデータとして、予め格子状のポリゴンの集合体をメモリ内に格納しておく。図１３は、この集合体の一例を模式的に示すもので、縦方向Ｒを煙の解像度の次元に、横方向Ｔを時間軸の次元にとった２次元状のマッピングになっている。具体的例としては、縦方向のポリゴン数Ｒｍａｘ＝５、横方向のポリゴン数Ｔｍａｘ＝２０である。このポリゴン数は表示精度と演算負荷との兼ね合いにおいて適宜に決定すればよい。
各ポリゴンの頂点それぞれには現在の空間位置、速度、そのほかのパラメータを砂煙計算時に持たせる。このパラメータの数、ならびに、縦方向の解像度および横方向の時間軸を表すポリゴン数が多いほど砂煙のシミュレーションが精密になる。この砂煙のポリゴン集合体は種々の要因に応じて変形させながら表示する処理を行うので、格子としてのポリゴン各頂点相互を繋ぐ繋ぎ情報が画像データとして用いられる。砂煙全体の形状は変形して決定される。
いま、車両の前輪から砂煙が噴出する場合を想定する。最初に、ポリゴン集合体の内、時間軸Ｔ＝０の位置において解像度Ｒ方向に在るポリゴン列の各ポリゴンに対して前輪の接地面の位置、および、タイヤの路面からの空転度や乱数からの初速を与える（図１２、ステップ２０３１）。次いで、時間軸Ｔ＝１の位置に移行して解像度Ｒ方向に在るポリゴン列の各ポリゴンに対して位置および速度を設定する。具体的には、前回のフレーム表示時に処理したＴ＝０の位置の各ポリゴンが有していた位置および速度に、Ｔ＝１の位置の各ポリゴンが今回のフレーム表示に際して受ける種々の砂煙パラメータを加味して決定される（ステップ２０３２）。ここでは、砂煙パラメータとして風の向きおよび強さ、重力加速度、空気抵抗などを採用する。これらのパラメータはその都度、操作情報や現在の車速などから演算して求める。これにより、Ｔ＝１の２列目の各ポリゴンには前回処理時の前列の各ポリゴンの動きが反映された動きが与えられる。
同様に、Ｔ＝２の３列目からＴ＝ｎ（例えば２０）のｎ＋１列目まで、上述の演算を繰り返す（ステップ２０３２）。つまり、Ｔ＝２の各ポリゴンについて、前回処理時のＴ＝１の各ポリゴンの位置及び速度に、砂煙パラメータを加味して位置および速度を与える。Ｔ＝３の各ポリゴンについて、前回処理時のＴ＝２の各ポリゴンの位置及び速度に、砂煙パラメータを加味して位置および速度を与える。同様に演算していって、最終は、Ｔ＝ｎの各ポリゴンについて、前回処理時のＴ＝ｎ−１の各ポリゴンの位置及び速度に、砂煙パラメータを加味して位置および速度を与える。
この一連の演算により設定した各ポリゴンの頂点位置を、頂点同士の繋ぎデータを用いて砂煙を表す物体として再構成する（ステップ２０３３）。これにより、１つの形状に戻され、表示時には頂点各点が砂煙のように振る舞う。
この変形させたポリゴン集合体に対して、さらに、砂煙らしさをさらに強調するための種々の処理を施す（ステップ２０３４）。この処理としては、（１）時間軸Ｔ方向にポリゴンを辿るにつれて透明度を上げる処理、（２）砂煙全体を横方向から見たとき、最上位置のポリゴンと背景との境目が目立たなくなるように上方にいくほど透明度を上げる処理、（３）カメラ視点が砂煙の雰囲気中に入った場合でも、違和感がないように、煙と同一色のフォグ（霧）を掛け、かつ、そのフォグの濃度が砂煙の中心に近づくにつれて濃くする処理などである。
このように本実施形態では、砂煙をポリゴン集合体で表すこととし、各ポリゴンの頂点を物理演算によって設定し、ポリゴン集合体の尾を引かせることにより砂煙が表示される。とくに、物理演算として、前回処理時の前列ポリゴンの動きを後列ポリゴンに反映させるとともに、風の向きおよび強さ、重力加速度、空気抵抗などの環境要因を主とする砂煙パラメータの量を反映させている。このため、図１４および図１５に示すように、砂煙ＳＳは車輪から尾を引くようになびいて且つ手前になるほど広がって表示され、その形状は各種の砂煙パラメータの量に応じて自在に変わる。この物理演算による頂点の動き決定のために、砂煙全体の挙動（舞い上がり、なびき）が従来のものに比べて非常に自然に近く見えるようになり、人為的であるとの違和感を殆ど無くすることができる。
また、砂煙全体は、上方にいくほど、また後方にいくほど透明度が増すこととなる。つまり、砂煙の粒子濃度がそれらの方向に進むほど低くなるように表示され、砂煙の固まりの輪郭がぼやけて表示される。従来のように、砂煙の固まりとそれ以外との境界が明瞭過ぎるという不自然さを排除することができる。これによっても、砂煙を表示する上でのリアル感が格段に向上する。
さらに、図１６に示すように、加速した敵車ＥＣに自車が追い越されたような場合、自車の遊戯者位置に在るカメラ視点が敵車の巻き上げる砂煙ＳＳの雰囲気中にすっぽり入ってしまうことがある。このようなケースでは、従来法によると、中身が空っぽの砂煙のトンネルに入ってしまったかのような錯覚を与える画面しか表示されなかった。これに対し、本実施形態では、砂煙と同一色のフォグが掛けられ、さらにその中心ほどフォグの濃度の濃い画面が表示されるので、砂煙の中身が詰まった本来の状態を表現することができる。従来法に依る違和感を排除して、非常にリアルな砂煙を表現でき、ゲームの臨場感を向上させることができる
さらに、このフォグ処理によって、画面のクリッピング処理（物体がある一定距離以上手前に近づいたときはその物体を表示しない処理）を活用でき、表示の不自然さを回避するとともに演算処理の軽減化を図ることができる。
なお、４輪駆動者の場合、砂煙は４輪全てから発生するが、前進時に後輪から発生する砂煙のポリゴンは前輪から発生するそれと混ざってしまうので、砂煙ポリゴンの発生を省略することができる。反対に、後退時は前輪から発生させる砂煙ポリゴンを省略することができる。
次いで、図２のステップ２０５による拡散光の表現処理を説明する。ＣＰＵ１０１は、砂煙の発生処理に引き続き、カーレースゲームの特殊効果処理の１つとして、この拡散光の表現処理を実施して表示画面に臨場感を演出する。この処理を図１７〜２１に基づき説明する。図１７に処理手順の概要を示す。
図１８は、３次元仮想空間における車両とカメラ視点の位置関係を示す。車両の空間位置関係を示す行列をＭｃ、カメラ視点の空間位置関係を示す行列をＭｅとすると、これらの行列は以下のように表される。
0004226663.tif 000004
まず、図１９（ａ）（ｂ）に例示するように、車両（光源の向き）およびカメラ視点それぞれの方向ベクトルＶｃ，Ｖｅを求める（図１７、ステップ２０４１）。これらの方向ベクトルは車両（表示対象の光源の向き）、カメラ視点それぞれが空間上でどの方向を向いているかを示す量であり、それぞれの行列Ｍｃ，Ｍｅの方向成分に対して（０，０，１）を乗じることで算出できる。つまり、
0004226663.tif 000005
となる。
次いで、この２つの方向ベクトル間の角度を求める（ステップ２０４２）。具体的には、この角度は、２つのベクトルの内積を演算し、その方向余弦を求めことで算出できる。すなわち、方向余弦は、
ｃｏｓθ＝（Ｖｃ・Ｖｅ）÷（｜Ｖｃ｜×｜Ｖｅ｜）
＝（ｍｃ００ｍｅ００＋ｍｃ１０ｍｅ１０＋ｍｃ２０ｍｅ２０）÷
［（ｍｃ００2＋ｍｃ１０2＋ｍｃ２０2）1/2×
（ｍｃ００2＋ｍｃ１０2＋ｍｃ２０2）1/2］
で求められる。この結果から、方向正弦は
ｓｉｎθ＝（１−ｃｏｓ2θ）1/2、
で求める（ステップ２０４３）。
次いで、この逆数１／ｓｉｎθを演算する（ステップ２０４４）。この関数１／ｓｉｎθは２つの方向ベクトルＶｃ，Ｖｅが互いに平行になったときのみ無限大に発散する曲線を描く（図２０参照）。この関数は後述するように拡散光の表示体に対する拡大係数として機能させる。
そこで、図２１に示すように、車両のヘッドライトなどの光源位置には１枚の光源ポリゴンＰＧＬ（光源１つ当たりに１枚のポリゴンが望ましい）を配置するが、この光源ポリゴンを視線と垂直に交わる平面の方向に、関数１／ｓｉｎθで拡大する処理を実施する（ステップ２０４５）。光源ポリゴンは視線ベクトルに対して常に正対している訳ではないから、上記拡大処理の中で、光ポリゴンと光源ベクトル（車両の方向ベクトル）との間の成す角度を演算し、この角度に応じて光ポリゴンを楕円状に拡大変形させ（３次元仮想空間において、Ｘ軸方向又はＹ軸方向を楕円状に拡大させ）、正対したとき（すなわち光源ポリゴンが視線ベクトルの正面に向く）には円状に拡大する処理も行う。この光源ポリゴンはその外郭から中心に向かって透明から不透明な光源色をマッピングしてある。
これにより、カメラ視線と車両（光源の向き）の角度が平行に近づくにつれて、図２１の（ｂ）から（ｃ）に示すように、加速度的に拡大拡散する発光状態が楕円状から無限大に拡大する円状に変化しつつ表示される。しかも、拡散光の中心位置にある発光源は不透明であるから、最も眩しい箇所であることも表現できる。図２１（ａ）は、上記光源に対する演出処理の初期状態であり、光源の形状は小径を持った円又は楕円である。
したがって、画面を見ている遊戯者（仮想的にカメラ視点に居る観測者）に拡散光が方向性を有しているという感覚を確実に与えることができ、この感覚は実際の車両との間で日常体験するものと非常に近いことから、車両の挙動のリアル感向上に確実に寄与することなる。なお、光源の形状変化は、ここで示されたものに限定されるものではなく、星形など様々な形状にすることが可能である。
とくに、カメラ視点と車両の向きとが一致するときの発光状態は拡散光が表示画面よりも大きくなって表現されるので、遊戯者に与えるインパクト感には大きいものがあり、ゲームとしての興味感を盛り上げることができ、直感的に把握し易い画像を提供できる。
また、このような従来とは一線を画した拡散光の表現処理であり、その視覚的な効果は絶大でありながら、処理演算法は上述したように１枚のポリゴンの拡大処理がベースであるので、非常に簡単である。このため、演算処理負荷は小さくて済み、処理速度も速いという特徴がある。
なお、この拡散光の表現処理は車両のヘッドライトに限定されるものではなく、テールランプであってもよいし、またその両方に実施してもよい。さらに、この拡散光の表現処理は、戦闘機ゲームにおける戦闘機の操縦席のガラス面に反射する太陽光の拡散状態を表現する場合にも好適に実施できる。
なお、本発明はカーレースゲームを行う画像生成装置としてのゲーム装置に実施する場合に限定されない。水上ボートレース、スケートボードゲームなど、仮想３次元空間内に設定した移動路を移動体としてのオブジェクトを移動させるゲーム装置に好適に実施することができる。
また、砂煙の他に水煙でも良い。また、煙でも良い。要するに移動する物体から排出される、移動の結果の演出のための表示されるものであれば良い。
なお、本発明における記憶媒体としては、他の記憶手段、例えばハードディスク、カートリッジ型のＲＯＭ、ＣＤ−ＲＯＭ等他公知の各種媒体の他、通信媒体（インターネット、各種パソコン通信網、これらのサーバー上の情報自体）をも含むものであってもよい。
産業上の利用性
本発明は、以上説明したように、演算量やデータ量を格別に増大させることなく、移動体としての車両とその周囲環境との間の相互干渉に関わるファクタを、よりリアルに表現でき、車両の移動をメインテーマとするゲームの臨場感を高め、また興味感を向上させることができる画像生成装置および画像生成方法を提供することができる。
とくに、ポリゴン同士の繋ぎめを超えた当たり判定のときの判定方向の急変を防止して、違和感の少ない、より自然な当たり判定を行うとともに、路面の凹凸をも考慮した当たり判定を行うことで、車両挙動表現のリアル感、臨場感を従来よりも格段に高めることができる。
また、砂煙のもやによる粒子感を表現して従来ののっぺりした又は人為的な砂煙による違和感を排除するとともに、カメラ視点がもやの中に空間的に位置した場合でも、そのカメラ視点から観測されるもや状態の違和感を排除した砂煙を表現できる。
さらに、移動している車両から発せされるヘッドライト、テールライト、反射光といった指向性を持った拡散光をダイナミックに画像生成して、リアリティを向上させた拡散光を表現できる。
【図１】
0004226663.tif 000006
【図２】
0004226663.tif 000007
【図３】
0004226663.tif 000008
【図４】
0004226663.tif 000009
【図５】
0004226663.tif 000010
【図６】
0004226663.tif 000011
【図７】
0004226663.tif 000012
【図８】
0004226663.tif 000013
【図９】
0004226663.tif 000014
【図１０】
0004226663.tif 000015
【図１１】
0004226663.tif 000016
【図１２】
0004226663.tif 000017
【図１３】
0004226663.tif 000018
【図１４】
0004226663.tif 000019
【図１５】
0004226663.tif 000020
【図１６】
0004226663.tif 000021
【図１７】
0004226663.tif 000022
【図１８】
0004226663.tif 000023
【図１９】
0004226663.tif 000024
【図２０】
0004226663.tif 000025
【図２１】
0004226663.tif 000026