(57)【特許請求の範囲】
【請求項１】
３次元位置データをもつオブジェクトを所定の視点から見た映像によって表示手段に表示する画像処理をデータ処理手段が行うようにした画像処理方法において、
前記データ処理手段は、記憶手段に記憶された前記オブジェクトの位置データに基づいて、前記オブジェクトの視点方向のみに向いた面に対して所定の仮想面を設定し、この仮想面の位置データと所定の軌道の位置データに基づいて、前記仮想面と軌道との交差判定を行い、該仮想面と該軌道との交差域の位置データに基づいて該交差域に装飾を施して前記表示手段に表示する処理を実行するデータ処理を実行するようにした画像処理方法。
【請求項２】
前記仮想面が前記オブジェクトへの視点方向を向いた面の外周近傍に設定された平面から構成される請求項１記載の画像処理方法。
【請求項３】
前記仮想面が前記オブジェクトを表示手段の表示座標上に投影した平面から構成され、前記軌道が前記表示手段の表示座標系に交差する交差域の位置データと、前記仮想面の位置データとに基づいて、前記交差域が前記仮想面の範囲内に存在するか否かを判定し、存在する場合に前記軌道とか前記仮想面とが交差すると判定する請求項１記載の画像処理方法。
【請求項４】
前記所定の軌道が表示手段に向けられた照準直線軌道である請求項1乃至３のいずれか一項記載の画像処理方法。
【請求項５】
前記仮想面が複数設定されたとき、優先度が高い仮想面の交差域データを選択するようにした請求項１乃至４記載の画像処理装置。
【請求項６】
前記データ処理手段は、前記所定軌道をとる弾丸が前記仮想面と交差した位置の座標データと角度とを計算し、当該座標データと角度とに基づいて前記仮想面に対する着弾痕の表示処理を行う請求項１乃至５記載の画像処理方法。
【請求項７】
３次元位置データをもつオブジェクトを所定の視点から見た映像によって表示手段に表示するようにした画像処理装置において、
前記オブジェクト位置データを記憶するオブジェクトデータ記憶手段と、
前記オフジェクトの視点方向に向いた面に対して所定の仮想面を設定し、該仮想面の位置データと所定の軌道の位置データとに基づいて、該仮想面と軌道との交差判定を行い、該仮想面と該軌道との交差域の位置データに基づいて当該交差域に装飾を施して表示手段に表示する処理を実行するデータ処理手段を備える、画像処理装置。
【請求項８】
請求項７記載の画像処理装置を３次元射撃ゲームの画像処理に用いて成るゲーム装置であって、前記交差判定が、前記仮想面と弾丸の照準軌道との間で実行され、この仮想面に着弾痕を表示するように構成された３次元射撃ゲーム装置。
【請求項９】
所定のプログラムに基づいて、ＣＰＵが、操作盤から入力される照準座標データに基づいて、３次元位置データをもつオブジェクトに対する射撃の命中判定を行う処理を行うとともに、該オブジェクトを所定の視点から見た映像によって表示手段に表示するための表示データを形成する処理を実行するように構成された射撃ゲーム装置における画像処理方法であって、前記ＣＰＵが、前記操作盤からのトリガーのオンを判定したとき、該トリガーオン時点での照準データを用いて照準点の位置座標を得る処理と、前記オブジェクトに対する前記視点の方向のみに向いた面に設定された仮想面の位置座標を記憶手段から読み出す処理と、前記仮想面の位置データと照準点の位置座標とに基づいて、前記仮想面が前記照準点の位置座標を包含するか否かを判定し、包含すると判定されたとき、該仮想面に対する該照準点の相対的位置を着弾点として算出する処理と、前記着弾点の座標と前記仮想面の位置座標とに基づいて、前記着弾点に着弾痕の装飾を形成して前記表示手段に表示する処理と、を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、３次元位置データを持つオブジェクトをディスプレイ上に表示できる画像処理に使用され、当該オブジェクトと所定の直線等である軌道とが交差するか否かを簡単に判定し、しかもこの交差点を表示画面上に、視点の位置、角度等が変化しても容易に画面に表示することができる画像表示処理に関するものである。
【０００２】
詳しくは、３次元座標データからなる画像をモニタ上に表示できるゲーム装置、特に、射撃ゲームに係わり、ゲーム空間内のオブジェクト（「キャラクタ」と言っても良い。）が被弾したか否かを判定するとともに、その被弾痕を視点が変わっても簡単、かつ迅速に表示することができる画像表示処理技術に関するものである。
【０００３】
【従来の技術】
一般に、ディスプレイに表示された画像をリアルタイムに処理する装置としてゲーム装置が知られている。このようなゲーム装置は、予め格納された各種ゲームに関するプログラムを実行するゲーム機本体と、このゲーム装置本体に各種操作指令を与えるコントローラと、前記ゲーム機本体で処理された内容を表示するディスプレイとから構成されている。
【０００４】
このゲーム装置では、各種オブジェクト等を含む画像をディスプレイ上に表示し、かつコントローラからの所定の操作に応じて入力されたデータが所定のオブジェクトに交差するか否か判定することが必要となることがある。
【０００５】
例えば、コントローラとしてガンユニットを用いて射撃ゲーム機を構成した場合、ディスプレイ上に表示された目標物（オブジェクト）に対して、ガンで狙いをつけて射撃したときに、当該ディスプレイ上の目標物に着弾痕を形成するに当たって、実際に狙った直線上にオブジェクトが存在するか否かを判定する必要がある。
【０００６】
従来の画像処理技術では、ディスプレイ上の２次元のオブジェクトに対して、例えばガンユニット等のコントローラから所定の操作に応じて入力されたデータが交差するか否か判定するだけであったので、その判定処理は比較的に簡単であり、また前述したようにして求めた交差点に対して一定の画像装飾（着弾痕形成）を施すことも比較的に容易であった。
【０００７】
【発明が解決しようとする課題】
ところで、最近では、３次元空間内にあるオブジェクトをディスプレイ上に表示してゲーム空間を提供する、三次元コンピュータグラッフィク技術を利用したゲーム装置が実現されている。このゲーム装置では、３次元空間内にあるオブジェクトを三角形や四角形等の多角形からなる平面片（ポリゴン）の組み合わせから構成し、これをディスプレイに表示する処理が行われている。
【０００８】
このようなゲーム装置では、オブジェクト、すなわち各ポリゴンは３次元位置データ（主として座標データ）を持ち、この座標データを元に所定の視点から見たオブジェクトを画面上に表示するように構成されている。
【０００９】
そして、視点が移動したり、またパースが変化すると、移動した視点から見た画像、パースの変化に対応した画像を絶対座標データから演算して、モニタに表示できるような処理が実行されている。
【００１０】
したがって、このようなゲーム装置では、３次元オブジェクトをディスプレイ上にあらゆる角度から表示できるように処理されているので、例えばオブジェクトのある一点に表示させた装飾（弾着痕）についても、視点移動やパース変化に応じて当該装飾の位置、角度及び大きさを変化させる演算をし直さなければならない。
【００１１】
しかしならが、このための演算を視点の移動並びにパースの変化の都度全てのポリゴン毎に実行することは、演算処理装置に大きな負担を与えることになり、ひいてはかかるゲーム処理の速度自体が遅延することにもつながる。
【００１２】
したがって、３次元データに基づいてゲーム空間を実現する従来のゲーム装置においては、着弾痕のような装飾を表示するためのデータ処理が行われていないのが現状であった。
【００１３】
また、あるオブジェクトに着弾しているか否かの判定にあっても、オブジェクトの全ての面のポリゴン（例えば立体の場合に、上面、四側面及び底面の６面）を各々について着弾の有無を判定しなけらばならず、オブジェクトに対する命中判定に要する処理時間がかさみ、ゲームの展開が遅延するという問題があった。
【００１４】
本発明は、このように各ポリゴンについて画像処理を適用することなしに、オブジェクトに対して必要なデータ処理を簡単、かつ迅速に実行することができる画像処理装置を提供することを目的としている。また、他の目的は、オブジェクトと弾道等の軌道との交差の有無を迅速に判定することができる画像処理装置を提供することを目的とする。またさらに他の目的は、このような交差域を視点が移動しても簡単、迅速に演算して表示することができる画像処理装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
前記目的を達成するために、この発明は、３次元位置データをもつオブジェクトを所定の視点から見た映像によって表示手段に表示する画像処理をデータ処理手段が行うようにした画像処理方法において、前記データ処理手段は、記憶手段に記憶された前記オブジェクトの位置データに基づいて、前記オブジェクトの視点方向のみに向いた面に対して所定の仮想面を設定し、この仮想面の位置データと所定の軌道の位置データに基づいて、前記仮想面と軌道との交差判定を行い、該仮想面と該軌道との交差域の位置データに基づいて該交差域に装飾を施して前記表示手段に表示する処理を実行するデータ処理を実行するようにした画像処理方法及びその装置であることを特徴とする。
【００１６】
前記データ処理手段は、前記仮想面の位置データと所定の軌道の位置データとに基づいて、当該仮想面に前記軌道が交差するか否かを判定する判定手段を備える。
【００１７】
また、このデータ処理手段は、前記仮想面と所定の軌道との交差域の位置データを記憶する交差域データ記憶手段と、この交差域データに基づいて当該交差域を表示手段に表示するための処理を実行する表示処理手段と、を備える。
【００１８】
前記仮想面としては、適宜設定できるが、たとえば、前記オブジェクトの外周近傍に設定された平面から構成される。
【００１９】
このような平面として、前記オブジェクトを表示手段の表示座標上に投影した平面を選択できる。
【００２０】
また、前記所定の軌道は、たとえば、表示手段に向けられた照準直線軌道である。
【００２１】
前記データ処理手段は、前記仮想面が複数設定されたとき、優先度が高い仮想面の交差域データを選択するデータ選択手段を備える。
【００２２】
前記仮想平面を、視点方向の面にのみ設けることができる。
【００２３】
前記判定手段は、前記軌道が表示手段の表示座標系に交差する領域の位置データと、前記仮想面が表示手段の表示座標系に投影された位置データとに基づいて、前記交差域が前記仮想面の範囲内に存在するか否かを比較する比較手段を有し、この交差域が前記仮想面の範囲内に存在する場合に前記軌道と仮想面とが交差すると判定する。
【００２４】
また、前記データ処理手段は、前記軌道が前記表示手段の表示座標系に交差する領域の位置データを検出する検出手段と、この位置データを三次元データ座標系に変換する変換手段と、この交差域の位置データを記憶する交差域データ記憶手段と、この交差域データに基づいて当該交差域を表示手段に表示するための処理を実行する表示処理手段と、を備える。
【００２５】
本発明の好適な実施態様は、３次元位置データをもつオブジェクトを所定の視点から見た映像によって表示手段に表示するようにした画像処理装置において、前記オブジェクト位置データを記憶するオブジェクトデータ記憶手段と、前記オブジェクトの外周近傍に所定の仮想平面を設定し、この仮想平面とガンユニットの照準軌道とが交差するか否かを判定する命中判定手段と、当該仮想平面と当該照準軌道との交差域データを演算する演算手段と、当該交差域データに基づいて当該交差域を表示手段に表示可能なように処理する表示処理手段と、を備えることを特徴とする。
【００２６】
【作用】
本発明の画像処理装置は、オブジェクトに対して所定の仮想面を設定し、かかる仮想面のデータに基づいてオブジェクトに必要なデータ処理を行うように構成した。たとえば、オブジェクトに対する弾丸の命中、あるいは着弾痕の形成を仮想面と弾丸の命中、あるいは仮想面への着弾痕の形成をもって置き換えるように構成した。この結果、オブジェクトのデータ処理、たとえば、着弾の有無、あるいは着弾痕の形成等、に必要なデータとして仮想面を構成するデータを用いれば良いことになり、オブジェクトの各点（たとえば、各ポリゴン）についてデータ処理をすることを避けることができる。
【００２７】
このようなデータ処理の一例として、オブジェクトと所定の軌道との交差の有無を判定するとすると、その判定に必要なデータ量が仮想面のデータ量に一般的には限られることになるから、交差の有無の判定が容易となる。
【００２８】
また、この交差域をオブジェクトに表示する場合、交差域のデータを表示データに変換するにしても、変換対象データは仮想面の範囲内であるため、オブジェクトの各点についてデータ処理を行う場合に比較して、データ処理量が少なくなり、演算速度が向上する。
【００２９】
そして、ガンユニットの照準軌道と仮想面の交差判定を実行する場合は、オブジェクトに対する弾丸の命中判定、および着弾痕の表示が簡単かつ迅速化される。
【００３０】
仮想面が平面であり、この仮想平面をオブジェクトの外周面近傍に設定することにより、着弾痕が常時オブジェクトの表面に現れるようにすることができる。
また、仮想平面として、最も優先度の高いものの判定結果を利用する事により、全ての仮想平面の交差域を表示する処理が実行されることを防ぎ、処理速度を向上する。
【００３１】
さらに、前記軌道が表示手段の表示座標系に交差する領域の位置データと、前記仮想面が表示手段の表示座標系に投影された位置データとに基づいて、前記交差域が前記仮想面の範囲内に存在するか否かを比較し、この交差域が前記仮想面の範囲内に存在する場合に前記軌道と仮想面とが交差すると判定するようにしたことから、表示座標系と軌道とが交差する領域の二次元座標データをそのまま利用して、仮想面と軌道との交差有無判定を容易に実行することが可能となる。
【００３２】
【実施例】
以下、本発明の実施例について図面を参照しながら説明する。本実施例では、画面上のオブジェクトをプレーヤーがガンユニットにより狙撃する射撃ゲーム機を例にして、以下説明する。
【００３３】
図１は、本発明の画像処理が適用されたゲーム装置の例を示すブロック図である。
【００３４】
図１に示すゲーム機は、大別して、ゲーム機本体１と、操作盤２と、ＣＲＴディスプレイ３と、図示しないスピーカとを備えて構成されており、以下各構成要素について説明する。
【００３５】
前記ゲーム機本体１は、データ処理装置１１と、メモリ１２と、図示しないがその他の装置とから構成されている。データ処理装置１１は、中央処理装置（ＣＰＵ）１３を含んで構成されており、メモリ１２から所定のプログラムを取り込んで所定のゲームを実行し、必要なデータをメモリ１２に格納したりメモリ１２から取り込んだりするようになっている。
【００３６】
このＣＰＵ１３は、メモリ１２に格納されている所定のプログラムにより、命中判定を実行する特定平面（壁）命中判定処理部１５と、当該壁に命中したときに当該命中部分に所定の装飾を施す処理を実行する着弾痕計算処理部１６とを実現する。
【００３７】
前記操作盤２は、例えばガンユニットで構成されており、照準ｘ座標データＳ１と、照準ｙ座標データＳ２と、トリガーオン（ＯＮ）／オフ（ＯＦＦ）データＳ３とを出力できるようになっており、これらデータＳ１，Ｓ２及びＳ３をゲーム機本体１のデータ処理装置１１に入力できるようになっている。
【００３８】
前記メモリ１２には、所定のゲームプログラム、ポリゴンモデルデータ（各ポリゴンの３次元座標データ）、特定平面（壁）の相対座標・角度データを記憶するとともに、必要な変数や座標のデータを格納できるようになっている。ここで、特定平面（以下、単に「壁」、あるいは「特定平面」ということもある。）は、本発明の仮想面に該当するものであるが、その内容については後述する。
【００３９】
前記データ処理装置１１は、オブジェクトに必要なデータ処理を行う。ここで、必要なデータ処理とは、オブジェクトの位置データに基づいて、オブジェクトを変更あるいは移動し、オブジェクトを別の視点から表示し、あるいは、オブジェクトに弾丸が命中したか否かの判定、オブジェクトに必要な装飾処理（着弾痕等）を形成する等所定のデータ処理の一切を含むものである。
【００４０】
データ処理装置１１は、ＣＰＵ１３で処理した結果からモニタ上に表示するための表示データを形成し、その表示データをディスプレイ３に供給できるような回路構成とされている。
【００４１】
データ処理装置１１は、例えば３次元のオブジェクトをカメラにより、所定の視点、すなわちあらゆるカメラ角度とカメラ位置で撮影したような画像データおよび表示データを形成できるようになっており、そのオブジェクトに関する３次元座標をメモリ１２に記憶しており、かつカメラの位置及び角度に関する三次元座標もメモリ１２に記憶している。
【００４２】
ここで、表示データは、各ポリゴンや弾着痕（装飾点）のメモリ座標上の３次元位置データをモニタの座標系へ変換することによって得られるものである。
【００４３】
なお、この仮想面を特定平面としたことは好ましい態様の一つであって、当然のことながら、このような平面にのみ限定されないものである。この点については後述する。
【００４４】
図２は、上記実施例の信号の流れを主にして示すブロック図である。図３及び図４は、同実施例で用いる特定平面（壁）命中判定処理に使用する特定平面の説明図である。図５は同実施例の壁命中判定処理フローチャートであり、図６は同図５の一部詳細に説明するフローチャートである。図７は同実施例の着弾痕計算処理フローチャートである。以下、これらの図を基にさらに説明する。
【００４５】
図２に示すように、操作盤２は、照準ｘ座標データＳ１及び照準ｙ座標データＳ２と、トリガーオン／オフデータＳ３を形成し、この操作盤２の各データＳ１，Ｓ２，Ｓ３は、ゲーム機本体１のデータ処理装置１１におけるＣＰＵ１３の壁命中判定処理部１５に与えられるようになっている。
【００４６】
また、メモリ１２は、ポリゴンモデルデータＤｐ及び壁相対座標・角度データＤｋを記憶するＲＯＭ１７と、壁の当たりフラッグＦｋ、当たった壁のＩｄ格納変数ｈｉ及び着弾痕の３次元座標データＤｄ等を格納できるＲＡＭ１８とからなり、ＲＯＭ１７は壁命中判定処理部１５に接続されており、ＲＡＭ１８には壁命中判定処理部１５及び着弾痕計算処理部１６が接続される関係にある。
【００４７】
前記壁命中判定処理部１５は、前記各データＳ１，Ｓ２，Ｓ３及びＲＯＭ１７内の壁相対座標・角度データＤｋ並びに必要に応じてポリゴンモデルデータＤｐをそれぞれ取り込み、これらのデータを基に、図５及び図６のフローチャートを実行して操作盤２をしてオブジェクトを狙った方向がオブジェクトの壁に命中するか否かの判定処理を実行する。
【００４８】
ここで、前記壁命中判定処理部１５で判定に使用する特定平面（壁）について、図３を参照して説明する。図３に示すように、立体形状のオブジェクト２０があるとする。ここで、このオブジェクトは実際には複数のポリゴンの集合から構成されており、各ポリゴンの３次元座標が前記ＲＯＭ１８内のポリゴンモデルデータとして保存されている。
【００４９】
このオブジェクト２０について、命中判定を行いたい面、例えば正面、右側面及び上面について、正面の投影面に同一の特定平面（壁）Ｗ１、右側面の投影面に同一の特定平面（壁）Ｗ２、及び上面の投影面に同一の特定平面（壁）Ｗ３を、貼りつけるものとする。すなわち、オブジェクトの外周面近傍にこれらの平面を設定し、その平面を構成するためのデータ群を前記ＲＯＭ１８内に事前に壁位置データとして記憶する。これらのデータ群は、壁の原点座標に対する相対座標として構成され、具体的には相対座標（３次元座標）データと、また角度データから構成される。
【００５０】
Ｏ１、Ｏ２及びＯ３は、各特定平面（壁）Ｗ１、Ｗ２及びＷ３の原点である。前記相対座標データは、これら原点の座標データと、各特定平面のコーナー部（図２の２０Ａ〜２０Ｄ）がこの原点に対して有する座標データとから構成される。
【００５１】
なお、この特定平面Ｗ１，Ｗ２，及びＷ３は、オブジェクト２０の全ての面に貼りつける必要はなく、ディスプレイ３上で正面として見える面側のみに設ければ少なくとも足りることがある。
【００５２】
図４に示すような変形なタイプのオブジェクト２０については、図示のように二つの特定平面（壁）Ｗ１１．Ｗ１２を貼りつければ良い。すなわち、壁としては、オブジェクトの形状になるべく合致するように複数設けることができる。一方、壁の数が増えると、それだけ壁のデータが増加するのでデータ処理量が増加する。
【００５３】
仮想平面をオブジェクトの回りに設定するのは、オブジェクトに必要なデータ処理（本実施例では、当たり判定並びに着弾痕の形成・移動）を壁のデータを利用して実行することにより、オブジェクトの各ポリゴンにデータ処理を実行することを避けるか、あるいは省略するものであるから、壁の数が増加することによりデータ処理精度は向上するが、一方、データ処理速度が遅延する。要するに、これらの均衡の上に立って好ましい壁の数を選択すれば良い。
【００５４】
なお、Ｏ１１．Ｏ１２は、特定平面（壁）Ｗ１１．Ｗ１２の原点である。
【００５５】
このような特定平面（壁）を貼りつけたオブジェクト２０を用いて命中判定処理を実行する壁命中判定処理部１５は、図５及び図６のフローチャートを実行し、
ある特定平面に弾丸が当たったと判定したときには、ＲＡＭ１８内の壁当たりフラッグＦｋを立てるとともに、着弾した壁の壁のＩｄ格納変数ｈｉを格納するとともに、当該判定結果を着弾痕計算処理部１６に与えるようになっている。
【００５６】
着弾痕計算処理部１６は、図７のフローチャートを処理し、壁に当たった弾着痕の相対位置を算出し、その相対位置から着弾痕の絶対座標と角度を算出して、必要な処理を行って、当該データをＲＡＭ１８に着弾痕３次元座標データＤｄとして格納するようになっている。
【００５７】
このようにして得られた着弾痕３次元座標データＤｄは、データ処理装置１１において、所定の視点から見た座標、すなわちモニタ上の座標にマトリックス変換された後、表示データとして、ディスプレイ３０に供給されるようになっている。
【００５８】
次に、上述した実施例の動作を図１ないし図１０を参照して説明する。
【００５９】
当たり判定処理を図５に示されたルーチンに基づいて説明する。
【００６０】
まず、データ処理装置１１が動作していて、プレイヤーが操作盤２のガントリガーを引いたか否かを常時判定している（ステップ２０１）。
【００６１】
ここで、データ処理装置１１が、プレイヤーがガントリガーを引いたと判定したとき（ステップ２０１；ＹＥＳ）、データ処理装置１１のＣＰＵ１３における壁命中判定処理部１５は、前記操作盤２からの照準ｘ座標データＳ１及び照準ｙ座標データＳ２を用いて、ディスプレイ３上の撃った座標：照準点（ｇｘ，ｇｙ）を得る（ステップ２０２）。
【００６２】
ここで、かかる照準点座標（ｇｘ，ｇｙ）は次のようにして求めることができる。ガントリガーがオンした時点から、ガンユニット先端に設けられている受光素子にモニタ上の走査線が検出されるまでの時間は前記照準点座標と１：１に対応する。したがって、この検出時間を測定することにより前記照準点座標を決定することができる。
【００６３】
次に、壁命中判定処理部１５は、チェックする壁をセットする（ステップ２０３）。このステップでは、例えば、図３に示すオブジェクト２０において、特定平面（壁）Ｗ１の座標データ、角度データを前記ＲＯＭ１７から読み出し、これを当該処理部１５の所定レジスタ領域にセットする。
【００６４】
そして、壁命中判定処理部１５は、特定平面（壁）Ｗ１の４点の三次元座標（絶対座標データ）がディスプレイ３上に投影される位置を、マトリックス変換処理によって算出する（ステップ２０４）。次に、壁命中判定処理部１５は、その４点で構成された４角形（特定平面（壁）Ｗ１のディスプレイ３上の投影座標）内に座標（ｇｘ，ｇｙ）が内包されるか判定する（ステップ２０５）。このような処理によってオブジェクトと所定の軌道（本実施例では、「弾道」がこの”軌道”に該当する。）とが交差するか否かを簡単、かつ迅速に判定することができる。
【００６５】
図５に示すルーチンにおいて、座標（ｇｘ，ｇｙ）が特定平面（壁）Ｗ１のディスプレイ３上の投影座標に包含される、すなわち、弾道と特定平面とが交差すると壁命中判定処理部１５が判定したときには（ステップ２０５；ＹＥＳ）、壁命中判定処理部１５はその壁に着弾したと判定して、当たりのフラッグＦｋ１をＲＡＭ１８内の所定のエリアに格納し（ステップ２０６）、次のステップに進む。
【００６６】
一方、座標（ｇｘ，ｇｙ）が前記投影座標に包含されないと壁命中判定処理部１５が判定したときには（ステップ２０５；ＮＯ）、次のステッブに進む。
【００６７】
次のステップでは、壁命中判定処理部１５は、チェックすべき全ての特定平面（壁）が終了したかチェックする（ステップ２０７）。このステップでは、この実施例が図３に示すオブジェクト２０を採用したので、特定平面（壁）Ｗ１〜Ｗ３のチェックがすべて終了したかを壁命中判定処理部１５が判定する。当然、特定平面（壁）Ｗ１のみが終了しただけであるので、全部の壁を終了していないと壁命中判定処理部１５は判定するから（ステップ２０７；ＮＯ）、壁命中判定処理部１５は次の特定平面（壁）Ｗ２をセットする（ステップ２０８）。
【００６８】
そして、壁命中判定処理部１５は特定平面（壁）Ｗ２の４点の三次元座標がディスプレイ３上に投影される位置を算出する（ステップ２０４）。その４点で構成された４角形（特定平面（壁）Ｗ２のディスプレイ３上の投影座標）内に座標（ｇｘ，ｇｙ）が内包されるか壁命中判定処理部１５が判定する（ステップ２０５）。ここで、座標（ｇｘ，ｇｙ）が特定平面（壁）Ｗ２のディスプレイ３上の投影座標に包含されると壁命中判定処理部１５で判断されたときには（ステップ２０５；ＹＥＳ）、壁命中判定処理部１５はその壁当たりのフラッグＦｋ２をＲＡＭ１８内の所定のエリアに格納して（ステップ２０６）、次のステップに進む。
【００６９】
一方、座標（ｇｘ，ｇｙ）が前記投影座標に包含されないと壁命中判定処理部１５が判定したときには（ステップ２０５；ＮＯ）、次のステッブに進む。
【００７０】
次のステップでは、チェックすべき全ての特定平面（壁）が終了したか壁命中判定処理部１５がチェックする（ステップ２０７）。このステップでは、この実施例が図３に示すオブジェクト２０を採用したので、特定平面（壁）Ｗ１〜Ｗ３のチェックがすべて終了したかを壁命中判定処理部１５で判定する。当然、特定平面（壁）Ｗ１及び特定平面（壁）Ｗ２が終了しただけであるので、全部の壁を終了していないと壁命中判定処理部１５は判断するから（ステップ２０７；ＮＯ）、壁命中判定処理部１５は次の特定平面（壁）Ｗ３をセットする（ステップ２０８）。
【００７１】
そして、壁命中判定処理部１５は、特定平面（壁）Ｗ３の４点の三次元座標がディスプレイ３上に投影される位置を算出する（ステップ２０４）。その４点で構成された４角形（特定平面（壁）Ｗ３のディスプレイ３上の投影座標）内に座標（ｇｘ，ｇｙ）が内包されるか否か壁命中判定処理部１５で判定する（ステップ２０５）。ここで、壁命中判定処理部１５は、座標（ｇｘ，ｇｙ）が特定平面（壁）Ｗ３のディスプレイ３上の投影座標に包含されると判定したときには（ステップ２０５；ＹＥＳ）、壁命中判定処理部１５はその壁当たりのフラッグＦｋ３をＲＡＭ１８内の所定のエリアに格納して（ステップ２０６）、次のステップに進む。一方、座標（ｇｘ，ｇｙ）が前記投影座標に包含されないと壁命中判定処理部１５で判定したときには（ステップ２０５；ＮＯ）、次のステッブに進む。
【００７２】
一般的にいえば、例えば特定平面（壁）Ｗ１に着弾したときには、他の特定平面（壁）Ｗ２や特定平面（壁）Ｗ３には着弾しないことになる。
【００７３】
このように例えばオブジェクト２０の全ての判断する特定平面（壁）Ｗの判定を終了したところで（ステップ２０７；ＮＯ）、壁命中判定処理部１５は、弾丸が当たった特定平面（壁）Ｗの個数ｎがゼロか否か判定する（ステップ２０８）。ここで、壁命中判定処理部１５が着弾した特定平面（壁）Ｗの数ｎ＝０であると判定したならば（ステップ２０８；ＹＥＳ）、壁命中判定処理部１５は着弾した特定平面（壁）Ｗがないとして処理を終了する。
【００７４】
一方、着弾した特定平面（壁）Ｗの数ｎ≠０であると壁命中判定処理部１５が判定したならば（ステップ２０８；ＮＯ）、壁命中判定処理部１５は着弾した数ｎ≧２であるか否を判断する（ステップ２１０）。
【００７５】
ここで、壁命中判定処理部１５が着弾した数ｎ≧２でないと判断したときには（ステップ２１０；ＮＯ）、壁命中判定処理部１５は当たった特定平面（壁）のＩｄをＲＡＭ１８の所定のエリアに壁のＩｄ格納変数ｈｉとして格納して（ステップ２１１）、処理を終了する。
【００７６】
一方、壁命中判定処理部１５が着弾した数ｎ≧２であると判断したときには（ステップ２１１；ＹＥＳ）、特定平面（壁）Ｗ１〜Ｗ３の優先順位（プライオリティ）をチェックして（ステップ２１２）、処理を終了する。
【００７７】
ここで、壁命中判定処理部１５は、優先順位（プライオリティ）のチェック（ステップ２１２）を、図６に示すフローチャートを使用して次のようにして行なっている。
【００７８】
すなわち、壁命中判定処理部１５は、弾丸が当たった特定平面（壁）Ｗについてのみ、カメラの位置と特定平面（壁）Ｗとの距離を計算する（ステップ２１２１）。次に、壁命中判定処理部１５は、前記距離の計算結果を用いて、最も距離の小さい特定平面（壁）Ｗを選び、それ以外の特定平面（壁）ＷのフラッグＦｋをクリアする（ステップ２１２２）。また、壁命中判定処理部１５は、前記最も距離の小さな特定平面（壁）ＷのＩｄをＲＡＭ１８の所定のエリアに壁のＩｄ格納変数ｈｉとして格納する（ステップ２１２３）。このようにして複数ある特定平面（壁）Ｗの場合には、カメラに一番近い特定平面（壁）すなわち、もっとも優先順位が高い壁Ｗを利用している。
【００７９】
このように処理することにより、弾丸の軌道上に複数の壁が存在している場合、所定の一つの壁、たとえば、視点から見てもっとも手前の壁にのみ着弾痕を形成する処理を可能とする。この結果、弾道上にある全ての壁に着弾痕（装飾）を形成処理を避ける。現実の環境においても、着弾するのはもっとも手前の壁である。このように処理することにより計算速度の向上を図ることもできる。なお、先の説明から明かではあるが、当たりフラグは各壁毎に設けられている。
【００８０】
前記壁命中判定処理部１５は、また、当たった特定平面（壁）ＷのＩｄを着弾痕計算処理部１６に与える。これにより、着弾痕計算処理部１６は、弾痕残し処理を実行する。
【００８１】
この弾痕残し処理は、図７に示すルーチンによって実行される。まず、着弾痕計算処理部１６は、壁命中判定処理部１５から与えられるデータを基に着弾のあった特定平面（壁）Ｗがあったか判定する（ステップ３０１）。この判定は、壁当たりフラグ（図２の１８）の格納データをチェックすることにより迅速に実行可能である。
【００８２】
着弾痕計算処理部１６は、特定平面（壁）Ｗに着弾がないときには（ステップ３０１；ＮＯ）、処理を終了する。
【００８３】
一方、着弾痕計算処理部１６は、特定平面（壁）Ｗに着弾があったと判定したときには（ステップ３０１；ＹＥＳ）、その壁のＩｄを取り込んで、該当する特定平面（壁）Ｗの着弾点の当たった相対的位置を算出する（ステップ３０２）。ここで、相対的位置とは、特定平面の原点を基準とする着弾痕の位置データを意味する。この位置データとは、原点の三次元座標成分に壁の基準軸に対する配向角度成分（θ）を含めたデータからなる。
【００８４】
また、着弾痕計算処理部１６は、前記算出結果（相対座標）を用いて特定平面（壁）Ｗに当たった位置の三次元絶対座標と角度：絶対位置データを算出する（ステップ３０３）。
【００８５】
ここで、着弾痕並びに壁のコーナー部の４点部分の相対座標から絶対座標を演算することについて図１５を参照しながら説明する。
【００８６】
絶対原点座標をＯ（ＯＸ，ＯＹ，ＯＺ）とし、壁の原点座標をＷ（ＷＸ，ＷＹ，ＷＺ）とすると、壁の原点座標は、絶対原点座標に対する相対座標によって与えられる。また、壁は絶対Ｘ軸に対してθ分傾きが与えられている。そして、壁の座標系において、壁の４点の座標を壁の原点からのＸ，Ｙ軸方向へのずれ（ＳＸ，ＳＹ）をもって表すと、当該４点の座標は壁の原点からの相対座標で、（ＳＸ，０）、（−ＳＸ，０）、（ＳＸ，ＳＹ）、（−ＳＸ，ＳＹ）と表せる。
【００８７】
そして、着弾痕を求める段階において、着弾痕の壁の原点からのずれ
（ｂＸ，ｂＹ）を求める。これが、壁の原点からの相対座標となる。したがって、着弾痕の絶対座標は、原点Ｗ（ＷＸ，ＷＹ，ＷＺ）をトランス変換し、Ｘ軸にθローテート変換し、そこから（ｂＸ，ｂＹ，０）トランス変換した位置であり、（ｇｘ，ｇｙ，ｇｚ）と表すことができる。そして、その傾きはＸ軸に対してθである。
【００８８】
ここで、説明した着弾痕は所定の領域を占めるものであり、変換後の絶対位置データに基づいて与えられる一つまたは複数のポリゴンから構成できる。この座標位置とポリゴンとの関連は、前記ＲＯＭ１７の所定記憶領域に、好適には、記憶テーブルの形で予め設定される。
【００８９】
このような演算処理により、図２のオブジェクト２０の回りに設定されている壁に着弾痕を形成し、以後、着弾痕のデータをモニタ座標系にマトリックス変換することにより所定の視点から見た映像として表示することができることになり、全てのポリゴンについて当たり判定と着弾痕の表示処理を行うことなく、前記特定平面についてのみ当たり判定と着弾痕の表示処理を実施すれば良い。したがって、これらのための演算処理を軽くする。
【００９０】
次に、着弾痕の相対座標を得るための計算について説明する。例えば図３に示すオブジェクト２０のような３次元空間内にある一点をディスプレイ３上に投影したときの投影点の計算は、カメラの位置、角度情報のマトリツクスに対して、移動変換マトリツクス及び回転変換マトリツクスの演算を施して得られたマトリツクスＭと、視野角を決定するフォーカス値とを用いて求めることができる。
ここで、このマトリツクスＭは、
【００９１】
【数１】
0003603285.tif 000002
【００９２】
として得ることができる。
また、前記ディスプレイ３上の投影点を算出するための関数をｆとし、投影点座標（ｇｘ，ｇｙ）とすると、
【００９３】
【数２】
0003603285.tif 000003
【００９４】
と表すことができる。
このようにして３次元空間内の１点が、ディスプレイ３上に投影された投影点として算出することができる。このように算出されると、３次元空間内の１点が、あるカメラ位置とカメラ角度にあるカメラで撮影されたと同様なことになり、そのカメラで撮影された画像としてディスプレイ３上に表示されることを意味している。
【００９５】
さて、着弾点を求めるために、操作盤２にある銃口をある位置に向けてトリガーを引いたとすると、このときのディスプレイ３上の座標（ｇｘ，ｇｙ）は既知のものとなる。
【００９６】
そこで、この座標（ｇｘ，ｇｙ）が、命中した特定平面（壁）Ｗ上のどの点に当たるかを算出する方法を次に説明する。命中した特定平面（壁）Ｗの原点をＯとすると、その原点ＯのマトリツクスＶとする。また、着弾点を、命中した特定平面（壁）Ｗの原点Ｏから、ｘ方向にｘ、ｙ方向にｙだけ移動した点（ｘ，ｙ，０）と仮定すると、この点のマトリツクスＰは、
【００９７】
【数３】
0003603285.tif 000004
【００９８】
で表すことができる。
このマトリツクスＰを算出すると、
【００９９】
【数４】
0003603285.tif 000005
【０１００】
のようになる。したがって、
【０１０１】
【数５】
ｇｘ＝ｆ（Ｐ３０，Ｐ３２）
ｇｙ＝ｆ（Ｐ３１，Ｐ３２）
と表すことができる。また、各Ｐ３０〜Ｐ３３は、数式４から
【０１０２】
【数６】
Ｐ３０＝ｗ００ｘ＋ｗ１０ｙ＋ｗ３０
Ｐ３１＝ｗ０１ｘ＋ｗ１１ｙ＋ｗ３１
Ｐ３２＝ｗ０２ｘ＋ｗ１２ｙ＋ｗ３２
と表すことができる。
【０１０３】
したがって、数式５は、ｘとｙとの２元連立１次方程式で表されることになり、容易に移動点（ｘ，ｙ）の値を求めることができることになる。この点の座標から絶対位置データを求める方法は、前述のとおりである。
【０１０４】
このようにして得られた座標を用いて、次に着弾痕計算処理部１６は、着弾痕数が所定の最大値を越えていないかを判定する（ステップ３０４）。ここで、最大値を越えているときには（ステップ３０４；ＹＥＳ）、最大値を越える部分のデータをキャンセルし（ステップ３０６）、残りのデータについてステップ３０５に移行する。
【０１０５】
また、最大値を越えていないときには（ステップ３０４；ＮＯ）、そのようにした得られたデータをメモリ１２のＲＡＭ１８にセーブする（ステップ３０５）。
【０１０６】
したがって、データ処理装置１１は、上記ＲＡＭ１８に記憶されたデータを基に、着弾のあった特定平面（壁）Ｗの原点Ｏから、ｘ軸、ｙ軸方向に座標（ｘ，ｙ）だけ移動した点に弾丸が当たったものとして、その座標系に着弾痕の絵を装飾した画像データとし、これをディスプレイ３に与える。すると、ディスプレイ３上には、ポリゴンの上の当該命中点にあたかも弾丸が命中したかのように表示させることができる。
【０１０７】
このように本実施例では、前記３次元オブジェクトの所定面の投影面を基に特定平面を構成し、この特定平面を前記所定面に位置させて、当該特定平面の座標と所定の直線等の座標から交差する点を算出するようにしている。また、本実施例では、そのようにして得られた交差点の座標が、その交差点を有する特定平面（壁）Ｗの上ではどの点に相当するかを計算している。
【０１０８】
すなわち、この場合、特定平面（壁）Ｗの原点のマトリツクスＶとしたときに、その交差点の座標に相当する位置のマトリツクスＰは、移動変換マトリツクスＴとすると、上述したようにＰ＝ＴＶで表すことができ、これにより、当該特定平面（壁）Ｗ上の位置Ｐに着弾痕を残すようにすることができる。
【０１０９】
なお、上記実施例では、着弾痕を残すために、図３あるいは図４に示すような特定平面（壁）Ｗを構成したが、単に命中だけを判定するのであれば、例えば図８（ａ）に示すように円柱３００に複数の特定平面Ｗ３０〜Ｗ４０を設けたもの、円柱３００にクロスした特定平面（壁）Ｗ５０、Ｗ５１を設けたもの、図９に示すように円柱３００、３０１の全面を特定平面（壁）Ｗ６０〜Ｗ６３で囲繞したもの、あるいは図１０に示すように、直方体３０３の対角に特定平面（壁）Ｗ７０を設けたものであってもよい。
【０１１０】
また、仮想面としては、平面に限られず、このような命中判定に多大な時間を要するという不都合を解消する意味で、図１１に示すような６面体のオブジェクト１０１が存在するときに、図１２に示すように大きな球１０２をオブジェクト１０１内に内蔵させて、かつオブジェクト１０１の内容積と球１０２との間の隙間に小さな球１０３〜１１０を詰めたものでオブジェクト１０１を近似させたものでも良い。なお、図１３は図１２のオブジェクト１０１を正面から見た図である。
【０１１１】
このような球１０２と小さな球１０３〜１１０でオブジェクト１０１を近似させようとすると、計算量は従来のポリゴンを使用したものに比較して少なくなる。ただし、オブジェクト１０１の内容積と球１０２及び球１０３〜１１０とによってある程度隙間ができてしまい、命中判定に誤差が生じることになるため、オブジェクト１０１内に小さな球を多数詰め込んでオブジェクト１０１を近似させることが考えられる。
【０１１２】
また、図１４に示すように、オブジェクト１０１を大きな球１２０ですっぽりと包んでしまうことが考えられる。
【０１１３】
【発明の効果】
以上説明したように、本発明に係わる画像処理装置によれば、オブジェクトに対して所定の仮想面を設定し、かかる仮想面のデータに基づいてオブジェクトに必要なデータ処理を行うように構成したため、各ポリゴンについて画像処理を適用することなしに、オブジェクトに対して必要なデータ処理を簡単、かつ迅速に実行することができる。
【０１１４】
また、前記仮想面の位置データと所定の軌道の位置データとに基づいて、当該仮想面に前記軌道が交差するか否かを判定するように構成したので、オブジェクトと弾道等の軌道との交差の有無を迅速に判定することができる。
【０１１５】
また、この交差域をオブジェクトに表示する場合、交差域のデータを表示データに変換するにしても、変換対象データは仮想面の範囲内であるため、オブジェクトの各点についてデータ処理を行う場合に比較して、データ処理量が少なくなり、演算速度が向上する。
【０１１６】
そして、ガンユニットの照準軌道と仮想面の交差判定を実行する場合も、オブジェクトに対する弾丸の命中判定、および着弾痕の表示が簡単かつ迅速化される。
【０１１７】
さらに、仮想面が平面であり、この仮想平面をオブジェクトの外周面近傍に設定することにより、着弾痕が常時オブジェクトの表面に現れるようにすることができる。
【０１１８】
また、仮想平面として、最も優先度の高いものの判定結果を利用する事により、全ての仮想平面の交差域が表示される処理が実行されることを防ぎ、処理速度を向上する。
【０１１９】
さらに、前記軌道が表示手段の表示座標系に交差する領域の位置データと、前記仮想面が表示手段の表示座標系に投影された位置データとに基づいて、前記交差域が前記仮想面の範囲内に存在するか否かを比較し、この交差域が前記仮想面の範囲内に存在する場合に前記軌道と仮想面とが交差すると判定するようにしたことから、表示座標系と軌道とが交差する領域の二次元座標データをそのまま利用して、仮想面と軌道との交差有無判定を容易に実行することが可能となる。
【０１２０】
またさらに、前記交差域を仮想面に設定していることから、視点が移動しても簡単、迅速に交差域の座標変換を演算し、これを表示することができる。
【図面の簡単な説明】
【図１】本発明の実施例が適用されたゲーム装置を示すブロック図である。
【図２】同実施例が適用された装置の処理の機能ブロック図である。
【図３】同実施例で使用するオブジェクトと特定平面の例を示す説明図てある。
【図４】同実施例で使用するオブジェクトと特定平面の他の例を示す説明図である。
【図５】同実施例の壁命中判定処理動作のフローチャートである。
【図６】同実施例の一部動作を示すフローチャートである。
【図７】同実施例の着弾痕計算処理動作を示すフローチャートである。
【図８】同実施例で使用する特定平面の他の例を示す説明図である。
【図９】同実施例で使用する特定平面の他の例を示す説明図である。
【図１０】同実施例で使用する特定平面の他の例を示す説明図である。
【図１１】立体オブジェクトを示す図である。
【図１２】立体オブジェクトを球で近似させた図である。
【図１３】図１２の正面図である。
【図１４】立体を球で包んだ状態を示す図である。
【図１５】着弾痕の相対位置データと絶対位置データとの関係を示す説明図である。
【符号の説明】
１  ゲーム機本体
２  操作盤
３  ディスプレイ
１１  データ処理装置
１２  メモリ
１３  ＣＰＵ
１５  壁命中判定処理部
１６  着弾痕計算処理部
１７  ＲＯＭ
１８  ＲＡＭ
２０  オブジェクト
Ｗ１，Ｗ２，Ｗ３  特定平面（壁）
Ｏ１，Ｏ２，Ｏ３  原点
【図１】
0003603285.tif 000006
【図２】
0003603285.tif 000007
【図３】
0003603285.tif 000008
【図４】
0003603285.tif 000009
【図５】
0003603285.tif 000010
【図６】
0003603285.tif 000011
【図７】
0003603285.tif 000012
【図８】
0003603285.tif 000013
【図９】
0003603285.tif 000014
【図１０】
0003603285.tif 000015
【図１１】
0003603285.tif 000016
【図１２】
0003603285.tif 000017
【図１３】
0003603285.tif 000018
【図１４】
0003603285.tif 000019
【図１５】
0003603285.tif 000020