JP3687558B2 - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP3687558B2 JP3687558B2 JP2001103937A JP2001103937A JP3687558B2 JP 3687558 B2 JP3687558 B2 JP 3687558B2 JP 2001103937 A JP2001103937 A JP 2001103937A JP 2001103937 A JP2001103937 A JP 2001103937A JP 3687558 B2 JP3687558 B2 JP 3687558B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- polygons
- ball
- fielder
- depth direction
- 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 - Lifetime
Links
Images
Description
【0001】
【産業上の利用分野】
本発明は、画像処理装置および画像処理方法に関し、詳しくは野球、サッカー等の球技を模したビデオゲーム等においてボールに対するキャラクタの動作を円滑に行うことのできる画像処理装置および画像処理方法に関する。
【0002】
【従来の技術】
コンピュータ技術の進歩に伴い、コンピュータグラフィックス技術を用いたビデオゲーム機(画像処理装置)が広く利用されるようになってきた。中でも、野球、サッカー等の球技を模したビデオゲーム機に対する人気は根強いものがあり、この種のビデオゲーム機が数多く案出されている。
【0003】
しかしながら、従来のビデオゲーム機は、以下のように多くの問題を抱えていた。 第1に、野手の捕球動作を円滑に表示するのが困難であった。
【0004】
従来のビデオゲーム機は一般に、打者、野手等を表示するディスプレイと、画面上の打者あるいは野手等を操作する操作スティックと、操作スティックの操作に応じて画面上に所望の映像を表示する画像処理回路とを備えて構成されていた。このようなビデオゲーム機においては、各野手の動作姿勢毎にスプライトと呼ばれる平面画像が用意され、ゲーム進行に応じたスプライトが画面上に表示される。また、野手の近傍にはコリジョンエリアと呼ばれる衝突判定用の仮想領域が設けられ、ボールがコリジョンエリアに入った場合に野手の捕球動作が行われていた。
【0005】
例えば、遊戯者がスティックを操作すると、画面上の野手はスティック操作に応じて打球を追いかける。このとき、野手に伴いコリジョンエリアも移動する。そして、野手がボールに追い付き、ボールが野手の近傍のコリジョンエリアに入った場合には、野手は捕球動作を行う。すなわち、ビデオゲーム機は、画面上におけるボールが野手の近傍に達しことを判断し、捕球動作を表すスプライトを表示していた。このため、画面上においてボールがコリジョンエリアに入らない限り、野手は捕球動作を開始することはない。
【0006】
ところが、ボールがコリジョンエリアに入ってから野手が捕球するまでの時間は極めて短く、ボールがコリジョンエリアに入ってから極めて短時間に野手に捕球動作を行わせなければならない。このため、野手の捕球動作はぎこちないものとなり、臨場感のあるゲームを提供するのが困難となっていた。かかる問題を解決する方法として、野手の近傍のコリジョンエリアを大きくする方法が考えられる。すなわち、ボールがコリジョンエリアに入ってから野手が捕球するまでの時間を長くする方法が考えられる。ところが、コリジョンエリアを大きくしたのでは、野手から遠く離れたボールに対しても野手が捕球動作を開始してしまい、捕球不可能なボールに対してまで野手の捕球動作が行われるという不都合が新たに生じる。
【0007】
第2に、打球とフェンスとの衝突判定処理のために多くの演算を要し、高速処理の妨げとなっていた。
【0008】
ビデオゲーム機において、打球が外野手を超えて飛んだ場合には、打球とフェンスとの衝突判定が行われる。例えば、フェンスが複数のポリゴン(多角形)で表示されている場合には、ボールの座標がポリゴン上にあるか否かが判断されていた。そして、ボールがフェンスを構成するポリゴンに衝突したと判断された場合には、ボールをフェンスから跳ね返す処理が行われる。
【0009】
すなわち、従来の野球ゲームにおいては、ボールの座標値が、フェンスを構成するポリゴン上に位置するか否かによって、ボールとフェンスとの衝突判定を行っていた。しかしながら、ボールおよびポリゴンの座標値は、3次元データによって表現されているため、両者の位置関係を判断するためには多くの演算処理を費やさなければならなかった。したがって、ゲーム全体の処理速度の低下等の問題が生じていた。
【0010】
第3に、背番号とユニフォームのように、互いに密着したポリゴン同士の隠面処理を正確に行うのは困難であった。
【0011】
野球、サッカー等のビデオゲームにおいては、ゲームの臨場感を増すためには、各選手にそれぞれ異なった背番号を付することが望ましい。ところが、各選手のユニフォーム毎に異なった画像を用意したのでは表示データは膨大なものとなってしまう。このため、ユニフォームの画像と背番号の画像を別に用意し、背番号の画像をユニフォームの画像上に重ねる手法が採られている。
【0012】
しかしながら、背番号およびユニフォームをポリゴンによって表示する場合には、以下の問題が生じる。ポリゴンが重なり合った場合には、画面の奥側にあるポリゴンのうち重なり合った部分を表示しない処理(隠面処理)が行われる。このような隠面処理の方法として、ポリゴンの奥行き方向の座標(z座標値)の大小により各ポリゴンの優先順位を決定し、優先順位に従いポリゴンを表示する方法(Zソート法)が案出されている。すなわち、Zソート法においては、ポリゴン毎に代表点が決定され、代表点同士のz座標値の大小に従いポリゴンの優先順位が定められる。
【0013】
このように、Zソート法においては、各ポリゴン毎に一つの代表点を決定しなければならない。代表点の決定方法としては、ポリゴンの頂点のうち、最も手前側にある頂点を代表点とする方法、ポリゴンの頂点のうち、最も奥側にある頂点を代表点とする方法、あるいは、ポリゴンの重心を代表点とする方法がある。しかしながら、いずれの方法をとるにしても、背番号とユニフォームのように2つのポリゴンが互いに密着(2つのz座標値の値が近似)している場合には、ポリゴンの優先順位を正確に決定するのが困難である。すなわち、背番号がユニフォームの下に隠れて表示される等、誤った隠面処理がなされることがあった。
【0014】
かかる問題を回避する方法として、背番号の優先順位をユニフォームの優先順位よりも高くし、背番号を常にユニフォーム上に重ねる方法が考えられる。しかしながら、この方法によっては、野手が正面を向いた場合(背中が表示されない場合)に背番号が表示されるという問題が新たに生じ得る。したがって、従来は、互いに密着したポリゴン同士の隠面処理を正確に行うのが極めて困難であった。
【0015】
本発明は、上記課題に鑑みてなされたものであって、本発明の第1の目的は、捕球動作を円滑に行うことの可能な画像処理装置および画像処理方法を提供することにある。
【0016】
本発明の第2の目的は、打球とフェンスとの衝突判定を簡易な演算により実行可能な画像処理装置および画像処理方法を提供することにある。
【0017】
本発明の第3の目的は、背番号とユニフォームのように互いに密着したポリゴンにおける隠面処理を正確に行うことのできる画像処理装置および画像処理方法を提供することにある。
【0018】
【課題を解決するための手段】
【0019】
本発明は、前記目的を達成するためのものであって、3次元座標系で表された複数のポリゴンを2次元座標系に投影する座標変換手段と、2次元座標系に投影された上記複数のポリゴン同士の表示順位を、表示画面に対して奥行き方向の座標値の大小に基づき決定するとともに、この表示順位に従いポリゴンを優先的に表示する隠面処理手段とを備えた画像処理装置において、上記隠面処理手段は、記述順位が予め定められた複数のポリゴンよりなるポリゴングループの表示順位を当該ポリゴングループを構成する一のポリゴンの奥行き方向の座標値に基づき決定するとともに、当該ポリゴングループを表示すると決定した場合に限り、当該ポリゴングループを構成する各ポリゴン間の奥行き方向の座標値の比較を行うことなく、必要な当該ポリゴンを上記記述順位に従って表示する画像処理装置である。
【0020】
上記隠面処理手段は、また、上記記述順位の最も高いポリゴンの奥行き方向座標値に基づき上記ポリゴングループの表示順位を決定する画像処理装置である。
【0021】
本発明の実施形態においては、上記一のポリゴンは、ユニフォームを表し、上記他のポリゴンは背番号を表す。
【0022】
本発明において、座標変換手段は、3次元座標系で表された複数のポリゴンを2次元座標系に投影する。そして、隠面処理手段は2次元座標系に投影された上記複数のポリゴン同士の表示順位を、表示画面に対して奥行き方向の座標値の大小に基づき決定するとともに、この表示順位に従いポリゴンを優先的に表示する。また、隠面処理手段は、記述順位が予め定められた複数のポリゴンよりなるポリゴングループの表示順位をポリゴングループを構成する一のポリゴンの奥行き方向の座標値に基づき決定する。そして、隠面処理手段は、ポリゴングループを表示すると決定した場合に限り、ポリゴングループを構成するそれぞれのポリゴンを記述順位に基づき優先的に表示する。
【0023】
すなわち、同一ポリゴングループ内においては、各ポリゴンの奥行き方向の座標値の比較(例えばZソート)は行われず、予め定められた記述順位に従ってポリゴンが表示される。したがって、2つのポリゴンが密着しているような場合であっても、正確な隠面処理を行うことが可能となる。例えば、ユニフォームを表すポリゴンおよび背番号を表すポリゴンを正確に表示することができる。
【0024】
隠面処理手段は、記述順位の最も高いポリゴンの奥行き方向座標値に基づきポリゴングループの表示順位を決定している。したがって、本発明によれば、ポリゴングループ同士の表示順位を、他のポリゴンと同様に決定することができるため、例えばZソート法を用いた従来の隠面処理および本発明に係る隠面処理の互換性を確保することが可能となる。
【0025】
また、本発明において、2次元座標系に投影された上記複数のポリゴン同士の表示順位を、表示画面に対して奥行き方向の座標値の大小に基づき決定するとともに、この表示順位に従いポリゴンを優先的に表示する。また、記述順位が予め定められた複数のポリゴンよりなるポリゴングループの表示順位をポリゴングループを構成する一のポリゴンの奥行き方向の座標値に基づき決定する。そして、ポリゴングループを表示すると決定した場合に限り、ポリゴングループを構成するそれぞれのポリゴンを記述順位に基づき優先的に表示する。
【0026】
すなわち、同一ポリゴングループ内においては、各ポリゴンの奥行き方向の座標値の比較(例えばZソート)は行われず、予め定められた記述順位に従ってポリゴンが表示される。したがって、2つのポリゴンが密着しているような場合、奥行き方向の座標値が近似している場合であっても、正確な隠面処理を行うことが可能となる。
【0027】
【実施例】
(第1実施例)
I.構成
図1は本発明の第1実施例に係る画像処理装置を用いたビデオゲーム機の外観図である。この図において、ビデオゲーム機本体1は略箱型をなし、その内部にはゲーム処理用の基板等が設けられている。また、ビデオゲーム機本体1の前面には、2つのコネクタ2aが設けられており、これらのコネクタ2aにはゲーム操作用のPAD2bがケーブル2cを介して接続されている。2人の遊戯者が野球ゲーム等を楽しむ場合には、2つのPAD2bが使用される。
【0028】
ビデオゲーム機本体1の上部には、ROMカートリッジ接続用のカートリッジI/F1a、CD−ROM読み取り用のCD−ROMドライブ1bが設けられている。ビデオゲーム機本体1の背面には、図示されていないが、ビデオ出力端子およびオーディオ出力端子が設けられている。このビデオ出力端子はケーブル4aを介してTV受像機5のビデオ入力端子に接続されるとともに、オーディオ出力端子はケーブル4bを介してTV受像機5のオーディオ入力端子に接続されている。このようなビデオゲーム機において、ユーザがPAD2bを操作することにより、TV受像機5に映し出された画面を見ながらゲームを行うことができる。
【0029】
図2は本実施例に係るTVゲーム機の概要を表すブロック図である。この画像処理装置は、装置全体の制御を行うCPUブロック10、ゲーム画面の表示制御を行うビデオブロック11、効果音等を生成するサウンドブロック12、CD−ROMの読み出しを行うサブシステム13等により構成されている。
【0030】
CPUブロック10は、SCU(System Control Unit)100、メインCPU101、RAM102、ROM103、カートリッジI/F1a、サブCPU104、CPUバス103等により構成されている。メインCPU101は、装置全体の制御を行うものである。このメインCPU101は、内部にDSP(Digital Signal Processor)と同様の演算機能を備え、アプリケーションソフトを高速に実行可能である。RAM102は、メインCPU101のワークエリアとして使用されるものである。ROM103には、初期化処理用のイニシャルプログラム等が書き込まれている。SCU100は、バス105、106、107を制御することにより、メインCPU101、VDP120、130、DSP140、CPU141等の間におけるデータ入出力を円滑に行うものである。また、SCU100は、内部にDMAコントローラを備え、ゲーム中のスプライトデータをビデオブロック11内のVRAMに転送することができる。これにより、ゲーム等のアプリケーションソフトを高速に実行することが可能である。カートリッジI/F1aは、ROMカートリッジの形態で供給されるアプリケーションソフトを入力するためのものである。
【0031】
サブCPU104は、SMPC(System Manager & Peripheral Control)と呼ばれるもので、メインCPU101からの要求に応じて、PAD2bからペリフェラルデータをコネクタ2aを介して収集する機能等を備えている。メインCPU101はサブCPU104から受け取ったペリフェラルデータに基づき、例えばゲーム画面中の野手を移動させる等の処理を行うものである。コネクタ2aには、PAD、ジョイスティック、キーボード等のうちの任意のペリフェラルが接続可能である。サブCPU104は、コネクタ2a(本体側端子)に接続されたペリフェラルの種類を自動的に認識し、ペリフェラルの種類に応じた通信方式に従いペリフェラルデータ等を収集する機能を備えている。
【0032】
ビデオブロック11は、ビデオゲームのポリゴンデータから成るキャラクタ等の描画を行うVDP(Video Display Processor)120、背景画面の描画、ポリゴン画像データおよび背景画像の合成、クリッピング処理等を行うVDP130とを備えている。VDP120はVRAM121およびフレームバッファ122、123に接続されている。ビデオゲーム機のキャラクタを表すポリゴンの描画データはメインCPU101からSCU100を介してVDP120に送られ、VRAM121に書き込まれる。VRAM121に書き込まれた描画データは、例えば、16または8ビット/pixelの形式で描画用のフレームバッファ122または123に描画される。描画されたフレームバッファ122または123のデータはVDP130に送られる。描画を制御する情報は、メインCPU101からSCU100を介してVDP120に与えられる。そして、VDP120は、この指示に従い描画処理を実行する。
【0033】
VDP130はVRAM131に接続され、VDP130から出力された画像データはメモリ132を介してエンコーダ160に出力される構成となっている。エンコーダ160は、この画像データに同期信号等を付加することにより映像信号を生成し、TV受像機5に出力する。これにより、TV受像機5に野球ゲームの画面が表示される。
【0034】
サウンドブロック12は、PCM方式あるいはFM方式に従い音声合成を行うDSP140と、このDSP140の制御等を行うCPU141とにより構成されている。DSP140により生成された音声データは、D/Aコンバータ170により2チャンネルの信号に変換された後にスピーカ5bに出力される。
【0035】
サブシステム13は、CD−ROMドライブ1b、CD I/F180、CPU181、MPEG AUDIO182、MPEG VIDEO183等により構成されている。このサブシステム13は、CD−ROMの形態で供給されるアプリケーションソフトの読み込み、動画の再生等を行う機能を備えている。CD−ROMドライブ1bはCD−ROMからデータを読み取るものである。CPU181は、CD−ROMドライブ1bの制御、読み取られたデータの誤り訂正等の処理を行うものである。CD−ROMから読み取られたデータは、CD I/F180、バス106、SCU100を介してメインCPU101に供給され、アプリケーションソフトとして利用される。また、MPEG AUDIO182、MPEG VIDEO183は、MPEG規格(Motion Picture Expert Groug)により圧縮されたデータを復元するデバイスである。これらのMPEG AUDIO182、MPEG VIDEO183を用いてCD−ROMに書き込まれたMPEG圧縮データの復元を行うことにより、動画の再生を行うことが可能となる。
【0036】
続いて、本実施例に係る画像処理装置の構成を説明する。図3は、メインCPU101、RAM102、ROM103等により構成される画像処理装置の機能ブロック図である。この図において、仮想領域生成手段31は、ボール(第1画像)の移動方向に対して前方位置にコリジョンエリア(仮想領域)を生成する機能を備えたものである。位置判断手段34はボールの速度および高さ(位置)を判断し、判断結果を仮想領域生成手段31に与えるものである。判定手段32はコリジョンエリアと野手との位置関係を判定し、判定結果を画像変更手段33に与える構成となっている。画像変更手段33は、判定手段32による判定結果(コリジョンエリアおよび野手の位置関係)に基づき野手(第2画像)の姿勢を変更するものである。すなわち、コリジョンエリア内に野手が入ると、野手は捕球動作を行う。
【0037】
図4は、本実施例に係るビデオゲーム機によって表示される野球ゲームの画面の一例を示している。この野球ゲームは、1人または2人で実行可能なものである。すなわち、遊戯者が2人いる場合には2人の遊戯者が守備および攻撃を交互に行い、遊戯者が1人のみの場合には遊戯者はコンピュータ(ビデオゲーム機)を対戦相手として守備および攻撃を交互に行う。ディスプレイ5上には、ゲーム進行に合わせた場面が3次元グラフィックスとして表示される。投球持においてはバッターの背後から見た場面が表示されるが、打撃直後は同図に示されるように野手を中心とした場面が表示される。
【0038】
野手J,Kは、PAD2bの操作によって移動させることが可能である。すなわち、遊戯者がPAD2bを操作すると、メインCPU101はボール42の飛行方向に位置する野手J、Kのうち、先ず内野側に位置する野手Jを移動させる。そして、野手Jがボールを取り損ねた場合には、メインCPU101はPAD2bの操作に応じて次に外野側の野手Kを移動させる。このようにして、簡単な操作によって複数の野手を移動させることが可能となる。
【0039】
打者41がボールを打つと同時に、メインCPU101はボール42の速度および方向を算出し、これらの算出結果からボール42の落下予想地点44を算出する。なお、この落下予想地点44は、実際に画面上に表示される。ボール42の落下持までに、野手JまたはKを落下予想地点44の近傍に移動した場合には、野手JまたはKはフライを捕ることができる。
【0040】
ボール42の飛行方向(前方)におけるグランド(基準平面画像)上には仮想的なコリジョンエリア43が位置している。このコリジョンエリア43は、ボール42と野手との衝突(コリジョン)判定に際して使用されるものであり、実際に表示されるものではない。野手JまたはKがコリジョンエリア43内に移動した場合には、野手JまたはKはボール42を捕球することが可能である。一方、野手JまたはKがコリジョンエリア43の範囲外に位置する限り、野手JまたはKは捕球動作を行わない。
【0041】
このコリジョンエリアを図5〜図9を参照しながら詳述する。図5は、コリジョンエリア、ボール、野手のそれぞれの位置関係を説明するための図である。この図に示されるように、コリジョンエリア43は、ボール42から所定距離だけ前方に離れたグランド上に位置している。すなわち、コリジョンエリア43は、ボール42の飛行に従い、ボール43の前方のグランド上を移動する。コリジョンエリア43とボール42との距離は、12インタラプトの時間にボール42が進む距離に相当する。
【0042】
なお、本実施例にあっては、1フレーム(垂直帰線周期期間1/60msec×2=33.3msec)毎にインタラプトが発生することから、12インタラプトの時間は約0.4secとなる。また、野手J、Kの姿勢は、1インタラプト(1フレーム)毎に変化するため、12インタラプトの時間に野手は12コマ分の動作を行うことが可能である。例えば、図6に示されるように、コリジョンエリア43内に入った野手Jが捕球動作を開始してから捕球を完了するまでに、野手Jは体の向きをボールに向けながら12コマ分の動作を実行することができる。したがって、野手の捕球動作を滑らかに表示することが可能となる。
【0043】
図7は、コリジョンエリア43および捕球姿勢を説明するための図である。この図に示されるように、コリジョンエリア43は、エリアA,B1,B2,C1,C2により構成されており、各エリアA,B1,B2,C1,C2には野手の捕球姿勢71〜75が対応付けられている。例えば、野手がエリアAに入った場合には、ボールは野手の正面に来るので、野手の捕球時の姿勢は捕球姿勢73のようになる。野手がエリアC1に入った場合には、ボールは野手の左側に来る(ボールはエリアAを通過する)ので、野手の捕球姿勢は捕球姿勢71のようになる。なお、同図に示された捕球姿勢71〜75は、ボールの高さが低い場合におけるものであり、ボールの高さに応じた捕球姿勢が選択される。
【0044】
図8は、コリジョンエリアの上面図である。上述したように、コリジョンエリア43は、エリアA,B1,B2,C1,C2により構成されている。最も中心のエリアAはボールの飛行経路下に位置し、円形をなしている。そして、エリアAの外側には、それぞれ扇型をなすエリアB1,B2,C1,C2が順に設けられている。エリアB1,B2,C1,C2は、ボールの速度が遅くなるに従い、順に消滅するものである。例えば、ボールがグラウンドにバウンドし、ボールの速度が低下したような場合には、エリアC1,C2が先ず消滅する。
【0045】
さらに、ボールの速度が低下すると、エリアB1,B2が消滅し、エリアAのみが残存する。現実の野球において、ボールが止まりそうな場合に野手がボールに飛びつく(図7の捕球姿勢71、75を参照)ことは通常あり得ない。したがって、ボールの速度に応じてコリジョンエリア43の大きさを適宜変更することにより、画面上の野手の動作を現実の野手の動作に近づけることが可能となる。
【0046】
また、エリアB1,B2の有効角度θb、エリアC1,C2の有効角度θcも同様にボールの速度等によって変化する。例えば、ボールの速度が速い場合には、ボールの通過位置に野手を素早く移動させなければならない。このとき、コリジョンエリア43の面積が狭い場合には、ボールを捕球するのが極めて困難となってしまう。そこで、このような場合には、有効角度θb、θcを大きくし、コリジョンエリア43の面積を広げることによって、ボールが高速である場合における捕球の困難さを軽減している。
【0047】
図9は、ボールの移動に伴うコリジョンエリア43の形状の変化の様子を表している。ボールが打たれた後、停止するまでに、コリジョンエリア43は位置(a)〜(d)を順に通過する。位置(a)は、打撃直後のコリジョンエリアの位置を示している。上述したように、ボールが高速である場合においては、捕球の困難さを軽減するために有効角度θb、θcを大きくしている。そして、ボールの速度が低下すると、有効角度θb、θcは小さくなり、コリジョンエリア43の面積は減少する(位置(b))。
【0048】
さらに、ボールがその速度を減少させながら位置(c)に到達すると、コリジョンエリア43のエリアC1,C2は消滅する。ボールが停止する直前(位置(d))には、コリジョンエリア43のエリアB1,B2は消滅する。このとこのコリジョンエリア43は円形のエリアAのみとなるため、野手はボールに対して全方向から捕球を行うことができる。このように、ボールの速度に伴いコリジョンエリア43の形状を変化させることにより、本物らしい野手の捕球動作を再現することが可能となる。
【0049】
図10は、コリジョンエリア上の野手の位置およびボールの高さに応じた野手の捕球姿勢を表す図である。この図において、縦軸はボールの高さを示し、横軸はコリジョンエリア上の野手の位置を示している。捕球姿勢111〜113はジャンプしながら捕球を行う野手を表し、捕球姿勢114はフライを捕る野手を表している。さらに、捕球姿勢115〜119は野手の胸の高さにおいて捕球する野手を表し、捕球姿勢120〜124はゴロを捕る野手を表している。また、捕球姿勢125は、正面に飛びつきながら捕球する野手を表している。これらの捕球姿勢のうち、捕球姿勢115、119、120、124は移動しながら捕球を行うものである。
【0050】
また、コリジョンエリア上の野手の位置に応じた捕球姿勢が選択される。例えば、野手がエリアAに位置し、かつ、ボールが高い位置にある場合(フライ)には、グラブを上に揚げた捕球姿勢114が表示される。また、野手がエリアC1に位置し、かつ、ボールが野手の胸の高さに位置する場合には、グラブを左側に差し出した捕球姿勢115が表示される。このように、コリジョンエリア上の野手の位置、および、ボールの高さに応じて野手の捕球姿勢を変更することにより、現実感溢れる野球ゲームを提供することができる。
【0051】
II.作用
続いて、図11、図12に示されたフローチャートを参照しながら、本実施例に係る画像位置判定装置の作用を説明する。
【0052】
図11は画像処理を用いたビデオゲーム機の作用を表すフローチャートである。このフローチャートは、ボールがバッターによって打たれたことを条件として、1インタラプト(1フレーム)毎に実行されるものである。先ず、位置判断手段34は、打撃直後のボールの移動方向、角度、速度を判断する(S1)。そして、仮想領域生成手段31は、ボールの速度に基づき、コリジョンエリア43の形状(大きさ、有効角度)を決定する。例えば、打撃直後において、ボールの速度が速い場合には、コリジョンエリア43のエリアB1,B2の有効角度θb、エリアC1,C2の有効角度θcを大きくする(図8、図9)。このようにして、決定されたコリジョンエリア43は、ボールから所定距離だけ前方に離れたグランド上に位置している。コリジョンエリア43とボールとの距離は、12インタラプトの時間にボール42が進む距離に相当する。なお、コリジョンエリア43は、実際は画面上に表示されない。
【0053】
仮想領域生成手段31は、コリジョンエリア43のエリアA,B1,B2,C1,C2に野手の捕球姿勢を対応付ける(S2)。例えば、図10に示されるように、エリアAに対しては、野手の正面で捕球を行う捕球姿勢が対応付けられ、エリアB1,B2,C1,C2のそれぞれに対しては、野手の側方で捕球を行う捕球姿勢が対応付けられる。
【0054】
続いて、判定手段32は、全員の野手の中からボールを捕球する可能性のある(ボールに近い位置にある)野手を選び出し、この野手とコリジョンエリア43の中心位置との距離Dを算出する(S3)。例えば、図1において、野手Jが選択された場合には、野手Jとコリジョンエリア43の中心位置との距離Dが算出される。そして、距離Dがコリジョンエリア43の最大半径よりも大きい場合、ずなわち、野手Jがコリジョンエリア43の外側に位置している場合(S4でYES)には、判定手段32はS10の処理を実行する。
【0055】
S10において、判定手段32は、野手J以外にボールを捕球する可能性のある野手が存在するか否かを判断する。野手J以外にボールを捕球する可能性のある野手Kが存在する場合(S10でNO)には、野手Kに処理対象を移行する(S9)。そして、野手Kについて、上述したS3,S4の処理を実行する。この結果、野手Kとコリジョンエリア43の中心位置との距離Dが、コリジョンエリア43の最大サイズよりも大きいと判断された場合には、さらにS10が実行される。S10において、野手J,K以外にボールを捕球する可能性のある野手が存在しないと、判定手段32が判断した場合(S10でYES)には、本フローチャートの処理を終了し、図示されていないメインフローチャートに戻る。
【0056】
この後、1フレーム毎にインタラプトが発生し、上述した図11のフローチャートが繰り返し実行される。ボールが打たれてから所定時間経過することによって、ボールは移動し、ボールの速度および高さ等も変化する。ボール位置判断手段34は、このときのボールの移動方向、角度、速度を判断し(S1)、仮想領域生成手段31は、ボールの速度に基づき、コリジョンエリア43の形状(大きさ、有効角度)を改めて決定する。例えば、ボールの速度が遅くなった場合には、コリジョンエリア43の有効角度θb、有効角度θcは小さくなる。
【0057】
遊戯者がPAD2bを操作し、遊戯者Jがコリジョンエリア43の中に入ったとする。すると、ステップS4の判断結果はNOとなり、S5以降の処理が実行される。判定手段32は、距離DがエリアAの半径Arよりも小さいか否か、すなわち、野手JがエリアA内に位置するか否かを判断する(S5)。判断の結果がNOである場合には、判定手段32は、距離DがエリアB1,B2の半径Brよりも小さいか否かを判断する(S6)。さらに、判断の結果がNOである場合には、距離DがエリアC1,C2の半径Crよりも小さいか否かを判断する(S7)。すなわち、判定手段32は、S5〜S7において野手Jがコリジョンエリア43のいずれのエリアに位置するかを判断する。
【0058】
例えば、野手JがエリアB1に位置すると判定手段32が判断した場合(S6でYES)には、S8のサブルーチンが実行される。
【0059】
S8のサブルーチンを図12に示す。ステップS81において、画像変更手段33は、コリジョンエリア43の中心点と野手Jとのなす角度を算出する。そして、画像変更手段33は、算出された角度に対応する捕球姿勢が定義されているか否かを判断する(S82)。捕球姿勢が定義されていない場合(S82でNO)には、処理が次の野手に移行された後(S86)、図11のメインフローチャートに戻る。例えば、野手Jがコリジョンエリア43の左側(エリアB1側)に入った場合には、図10中の捕球姿勢115が定義されているので(S82でYES)、S83以降の処理が実行される。
【0060】
画像変更手段33は、PAD(またはスティック)2bの情報、野手の向き、ボールの高さ等に基づき、正確な捕球姿勢を決定する(S83)。そして、このようにして決定された捕球姿勢が存在しない場合(S84でNO)には、処理を次の野手、例えば野手Kに移した後(S86)、図11のメインフローチャートに戻る。一方、S83において決定された捕球姿勢が存在する場合(S84でYES)には、画面上の野手Jの姿勢を捕球姿勢に変更し(S85)、図11のメインフローチャートに戻った後に処理を終了する。このようにして、捕球を行う野手が決定された後は、図12のサブルーチンは実行されず、図示されていない姿勢変更処理が1インタラプト毎に実行される。この姿勢変更処理によって野手Jの姿勢は1フレーム毎に除々に変化する。そして、野手Jが捕球動作を開始してから12インタラプト後に、野手Jのグラブにボールが入る。
【0061】
したがって、本実施例によれば、野手がコリジョンエリア43に入ってから、12インタラプト(12フレーム)分の動作を野手に行わせることができるため、本物に近い捕球動作を再現することが可能となる。また、コリジョンエリア43上における野手の位置に応じて捕球姿勢を変更することにより、現実感溢れる捕球動作を実現することができる。
【0062】
(第2実施例)第2実施例に係るビデオゲーム機は、上述した第1実施例に係るビデオゲーム機に対して背番号の表示に関する機能が付加されたものである。以下、この機能を、図13、図14を参照しながら説明する。
【0063】
図14は、選手の上半身を表すポリゴンのデータ構造を説明するための図である。この図において、ユニフォームは4つポリゴングループ14A、14B、14C、14Dによって構成されている。各ポリゴングループは、ユニフォームの一部を表すポリゴンおよび背番号の一部を表すポリゴンによって構成されている。すなわち、ポリゴン14Aは、4分割されたユニフォームの一部を表すポリゴン1401、および、4分割された背番号の一部を表すポリゴン1411によって構成されている。同様に、ポリゴングループ14Bはポリゴン1402、1412によって構成され、ポリゴングループ14Cはポリゴン1403、1413によって構成されている。また、ポリゴングループ14Dはポリゴン1404、1414によって構成されている。
【0064】
ポリゴングループ14A、14B、14C、14Dのそれぞれについて、ポリゴンの記述順位(優先順位)が設定されている。例えば、ポリゴングループ14Aにおいては、ユニフォームのポリゴン1401、背番号のポリゴン1411の順に記述順位が定められている。また、ポリゴングループ14A、14B、14C、14Dのそれぞれの中で最も記述順位の高いポリゴンが各ポリゴングループを代表するポリゴンとして選ばれている。すなわち、ユニフォームを表示するポリゴン1401、1402、1403、1404がポリゴングループ14A、14B、14C、14Dを代表するポリゴンとしてそれぞれ選択される。
【0065】
このように構成されたポリゴンデータの表示手順を図13を参照しながら説明する。同図の(A)に示されるように、ユニフォームを表すポリゴン1401〜1404、背番号を表すポリゴン1411〜1414は3次元座標系における座標によって表されている。メインCPU101(図2)は、この3次元座標系に対する座標変換を行ない、同図の(B)に示す2次元座標系を生成する。座標変換は、ポリゴン1401〜1404、1411〜1414の各頂点の座標を2次元座標系に投影することによって行われる。
【0066】
そして、メインCPU101は、ポリゴングループ14A、14B、14C、14Dのそれぞれを代表するポリゴン1401、1402、1403、1404、および、他のポリゴン(野手の胸、腕等を表すポリゴン)についての優先順位を判断する。例えば、野手が正面を向いている(胸が画面側を向いている)場合には、背中は胸の裏側に位置する。すなわち、ポリゴングループ14A、14B、14C、14Dのそれぞれを代表するポリゴン1401、1402、1403、1404のZ座標値は胸を表すポリゴンのZ座標値よりも大きくなる。したがって、この場合にはポリゴングループ14A、14B、14C、14D全体が表示されなくなる(背中は胸の裏側に隠れる)。
【0067】
一方、野手が画面に対して後ろ向きである場合には、ポリゴングループ14A、14B、14C、14Dのそれぞれを代表するポリゴン1401、1402、1403、1404のZ座標値は胸を表すポリゴンのZ座標値よりも小さくなる。この場合にはポリゴングループ14A、14B、14C、14Dは胸のポリゴンに優先して表示される。ポリゴングループ14A、14B、14C、14Dのそれぞれにおいては、予め定められた記述順位に従ってポリゴンが表示される。例えば、ポリゴングループ14Aにおいては、ユニフォームを表すポリゴン1401に重ねて背番号を表すポリゴン1411が上書きされる。すなわち、同一ポリゴングループ内においては、各ポリゴンのZ座標値の比較(Zソート)は行われず、予め定められた記述順位に従ってポリゴンが表示される。
【0068】
上述したように、同一のポリゴングループ内においては、各ポリゴンのZ座標値同士の比較は行われず、予め定められた記述順位に従ってポリゴンが表示される。したがって、ユニフォームを表すポリゴンおよび背番号を表すポリゴンのように、2つのポリゴンが密着しているような場合であっても、正確な隠面処理を行うことが可能となる。例えば、ユニフォームを表すポリゴンおよび背番号を表すポリゴンを正確に表示することができる。また、ポリゴングループの表示順位は、最も記述順位の高いポリゴンのZ座標値に基づき決定されるため、本実施例に係る隠面処理とZソート法との互換性を確保することが可能となる。
【0069】
なお、本実施例はユニフォーム上の背番号の表示に限定されることなく、競技用自動車上の番号等に適用することも可能である。
【0070】
(第3実施例)本実施例に係るビデオゲーム機は上述した第1実施例に係るビデオゲーム機に以下の機能が付加されたものである。図15を参照しながら本発明の第3実施例に係るビデオゲーム機を説明する。
【0071】
図15は、画面上における球場1500の外観図である。セカンドベースの後方には仮想的な中心点1502が設定され、この中心点1502に対して半径R、角度θの円弧が外野フェンス1501として表示されている。また、この図において、符号1503はバッターによって打たれたボールを示している。メインCPU101は、中心点1502からボール1503までの距離rを算出するとともに、図中の角度φが角度θの範囲にあるか否かを判断する。これら2つの条件に加えて、ボール1503の高さが外野フェンス1501の高さ以下である条件が満たされた場合には、メインCPU101は、ボール1503が外野フェンス1501に衝突したと判断する。そして、メインCPU101は、ボール1503を外野フェンス1501から跳ね返す処理を行い、ディスプレイ5上に跳ね返されたボールが映し出される。
【0072】
本実施例によれば、距離r等の演算のみによってボールと外野フェンスとの衝突判定を行うことができ、ポリゴン同士の複雑な衝突判定処理を行う必要がない。このため、ボールと外野フェンスとの衝突を容易に判定することが可能となる。
【0073】
(他の実施例)本発明は以上の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲において変形実施可能である。例えば、野球ゲームのみならずサッカーゲーム、テニスゲーム等に本発明を適用してもよい。
【0074】
【発明の効果】
以上説明してきたように、本発明によれば以下の効果を得ることが可能である。互いに密着したポリゴンの隠面処理を正確に行うことが可能となる。本発明によれば、同一のポリゴングループ内においては、各ポリゴンの奥行き方向の座標値同士の比較は行われず、予め定められた記述順位に従ってポリゴンが表示される。したがって、ユニフォームを表すポリゴンおよび背番号を表すポリゴンのように、2つのポリゴンが密着しているような場合であっても、正確な隠面処理を行うことが可能となる。また、ポリゴングループの表示順位は、他のポリゴンの表示順位と同様に、Zソート法等のアルゴリズムによって決定されるため、本発明に係る隠面処理と従来の隠面処理(例えばZソート法)との互換性を確保することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係るビデオゲーム機の外観図である。
【図2】本発明の第1実施例に係るビデオゲーム機の概略構成図である。
【図3】本発明の第1実施例に係る画像処理装置の機能ブロック図である。
【図4】本発明の第1実施例に係る野球ゲームの画面を表す図である。
【図5】本発明の第1実施例に係るコリジョンエリア、ボール、および、野手の位置関係を表す図である。
【図6】本発明の第1実施例に係るコリジョンエリアに野手が入った状態を表す図である。
【図7】本発明の第1実施例に係るコリジョンエリアの各エリアと捕球姿勢との対応を示す図である。
【図8】本発明の第1実施例に係るコリジョンエリアの詳細を説明するための図である。
【図9】本発明の第1実施例に係るコリジョンエリアの形状の変化を説明するための図である。
【図10】本発明の第1実施例に係る野手の捕球姿勢を説明するための図である。
【図11】本発明の第1実施例に係るビデオゲーム機の作用を表すフローチャートである。
【図12】本発明の第1実施例に係るビデオゲーム機の作用を表すフローチャートである。
【図13】本発明の第2実施例に係るビデオゲーム機を説明するための図である。
【図14】本発明の第2実施例に係るビデオゲーム機の作用を表すフローチャートである。
【図15】本発明の第3実施例に係るビデオゲーム機を説明するための図である。
【符号の説明】
31 仮想領域生成手段
32 判定手段
33 画像変更手段
34 位置判断手段
42 ボール(第1画像)
43 コリジョンエリア(仮想領域)
71〜75、111〜125、J、K 野手(第2画像)
101 メインCPU(座標変換手段、隠面処理手段)
14A、14B、14C、14D ポリゴングループ
1501 外野フェンス(曲面画像)[0001]
[Industrial application fields]
The present invention relates to an image processing apparatus and an image processing method, and more particularly, to an image processing apparatus and an image processing method capable of smoothly performing a character's action on a ball in a video game or the like simulating a ball game such as baseball or soccer.
[0002]
[Prior art]
With the advance of computer technology, video game machines (image processing devices) using computer graphics technology have been widely used. Among them, video game machines imitating ball games such as baseball and soccer have a strong popularity, and many video game machines of this type have been devised.
[0003]
However, the conventional video game machine has many problems as follows. First, it was difficult to smoothly display the fielder's catching action.
[0004]
Conventional video game machines generally have a display for displaying batters, fielders, etc., an operation stick for operating batters or fielders on the screen, and image processing for displaying a desired video on the screen according to the operation of the operation sticks. And was configured with a circuit. In such a video game machine, a planar image called a sprite is prepared for each fielder's movement posture, and a sprite corresponding to the progress of the game is displayed on the screen. In addition, a collision determination virtual area called a collision area is provided in the vicinity of the fielder, and when the ball enters the collision area, the fielder catches the ball.
[0005]
For example, when the player operates the stick, the fielder on the screen follows the shot in response to the stick operation. At this time, the collision area moves with the fielder. When the fielder catches up with the ball and the ball enters the collision area near the fielder, the fielder performs a catching action. That is, the video game machine has determined that the ball on the screen has reached the vicinity of the fielder and has displayed a sprite representing the catching action. For this reason, unless the ball enters the collision area on the screen, the fielder does not start the catching operation.
[0006]
However, the time from when the ball enters the collision area until the fielder catches the ball is very short, and the fielder must perform the ball catching operation in a very short time after the ball enters the collision area. For this reason, the fielder's catching action becomes awkward and it is difficult to provide a game with a sense of reality. As a method of solving such a problem, a method of enlarging the collision area near the fielder can be considered. That is, a method of increasing the time from when the ball enters the collision area until the fielder catches the ball can be considered. However, when the collision area is increased, the fielder starts catching a ball far away from the fielder, and the fielder catches even a ball that cannot be caught. A new inconvenience arises.
[0007]
Second, many operations are required for the collision determination process between the hit ball and the fence, which hinders high-speed processing.
[0008]
In the video game machine, when the hit ball flies beyond the outfielder, the collision determination between the hit ball and the fence is performed. For example, when the fence is displayed with a plurality of polygons (polygons), it is determined whether or not the coordinates of the ball are on the polygons. Then, when it is determined that the ball has collided with the polygon constituting the fence, a process of rebounding the ball from the fence is performed.
[0009]
That is, in the conventional baseball game, the collision determination between the ball and the fence is performed based on whether or not the coordinate value of the ball is positioned on the polygon that forms the fence. However, since the coordinate values of the ball and polygon are expressed by three-dimensional data, it has been necessary to spend a lot of calculation processing in order to determine the positional relationship between the two. Therefore, problems such as a decrease in the processing speed of the entire game have occurred.
[0010]
Thirdly, it has been difficult to accurately perform hidden surface processing of polygons that are in close contact with each other, such as a uniform number and a uniform.
[0011]
In video games such as baseball and soccer, it is desirable to assign different numbers to each player in order to increase the realism of the game. However, if different images are prepared for each player's uniform, the display data becomes enormous. For this reason, a technique is employed in which a uniform image and a uniform number image are prepared separately, and the uniform number image is superimposed on the uniform image.
[0012]
However, the following problems arise when the number and uniform are displayed with polygons. If the polygons overlap, a process (hidden surface process) is performed that does not display the overlapping part of the polygons on the back side of the screen. As a method for such hidden surface processing, a method of determining the priority order of each polygon according to the depth coordinate (z coordinate value) of the polygon and displaying the polygon according to the priority order (Z sort method) has been devised. ing. That is, in the Z sort method, representative points are determined for each polygon, and the priority order of the polygons is determined according to the magnitude of the z coordinate value between the representative points.
[0013]
Thus, in the Z sort method, one representative point must be determined for each polygon. As a representative point determination method, among the polygon vertices, the closest vertex is the representative point, among the polygon vertices, the deepest vertex is the representative point, or the polygon vertex There is a method using the center of gravity as a representative point. However, regardless of which method is used, if two polygons are closely attached to each other (like two z-coordinate values), such as a uniform number and a uniform, the priority order of the polygons is accurately determined. Difficult to do. In other words, an incorrect hidden surface process may be performed, such as a hidden number displayed under a uniform.
[0014]
As a method for avoiding such a problem, a method is conceivable in which the priority number of the back number is made higher than the priority order of the uniform, and the back number is always superimposed on the uniform. However, this method may cause a new problem that the spine number is displayed when the fielder faces the front (when the back is not displayed). Therefore, conventionally, it has been extremely difficult to accurately perform the hidden surface processing of the polygons that are in close contact with each other.
[0015]
The present invention has been made in view of the above problems, and a first object of the present invention is to provide an image processing apparatus and an image processing method capable of smoothly performing a ball catching operation.
[0016]
A second object of the present invention is to provide an image processing apparatus and an image processing method capable of executing a collision determination between a hit ball and a fence by a simple calculation.
[0017]
A third object of the present invention is to provide an image processing apparatus and an image processing method capable of accurately performing hidden surface processing on polygons that are in close contact with each other such as a uniform number and a uniform.
[0018]
[Means for Solving the Problems]
[0019]
In order to achieve the above object, the present invention provides a coordinate conversion means for projecting a plurality of polygons represented in a three-dimensional coordinate system onto a two-dimensional coordinate system, and the plurality of projections projected onto a two-dimensional coordinate system. In the image processing apparatus comprising the hidden surface processing means for preferentially displaying the polygons according to the display order, the display order of the polygons is determined based on the magnitude of the coordinate value in the depth direction with respect to the display screen, The hidden surface processing means determines the display order of a polygon group composed of a plurality of polygons having a predetermined description order based on the coordinate value in the depth direction of one polygon constituting the polygon group, and Only when it is determined to be displayed, it is necessary to compare the coordinate values in the depth direction between the polygons making up the polygon group. The polygons is an image processing apparatus for displaying according to the above described order.
[0020]
The hidden surface processing means is alsoThe display order of the polygon group is determined based on the depth direction coordinate value of the polygon with the highest description order.decideAn image processing apparatus.
[0021]
In the embodiment of the present invention, the one polygon represents a uniform, and the other polygon represents a spine number.
[0022]
In the present inventionThe coordinate conversion means projects a plurality of polygons expressed in a three-dimensional coordinate system onto the two-dimensional coordinate system. Then, the hidden surface processing means determines the display order of the plurality of polygons projected on the two-dimensional coordinate system based on the magnitude of the coordinate value in the depth direction with respect to the display screen, and prioritizes the polygons according to the display order. Display. The hidden surface processing means determines the display order of a polygon group composed of a plurality of polygons having a predetermined description order based on the coordinate values in the depth direction of one polygon constituting the polygon group. The hidden surface processing means preferentially displays each polygon constituting the polygon group based on the description order only when it is determined to display the polygon group.
[0023]
That is, within the same polygon group, the comparison of coordinate values in the depth direction of each polygon (for example, Z sort) is not performed, and the polygons are displayed according to a predetermined description order. Therefore, even when two polygons are in close contact with each other, accurate hidden surface processing can be performed.For example,A polygon representing a uniform and a polygon representing a uniform number can be accurately displayed.
[0024]
The hidden surface processing means isThe display order of the polygon group is determined based on the coordinate value in the depth direction of the polygon having the highest description order. Therefore, according to the present invention, the display order of the polygon groups can be determined in the same manner as other polygons. For example, the conventional hidden surface processing using the Z sort method and the hidden surface processing according to the present invention can be performed. Compatibility can be ensured.
[0025]
In the present invention,The display order of the plurality of polygons projected on the two-dimensional coordinate system is determined based on the magnitude of the coordinate value in the depth direction with respect to the display screen, and the polygons are preferentially displayed according to the display order. Further, the display order of a polygon group composed of a plurality of polygons having a predetermined description order is determined based on the coordinate values in the depth direction of one polygon constituting the polygon group. Then, only when it is determined to display the polygon group, each polygon constituting the polygon group is preferentially displayed based on the description order.
[0026]
That is, within the same polygon group, the comparison of coordinate values in the depth direction of each polygon (for example, Z sort) is not performed, and the polygons are displayed according to a predetermined description order. Therefore, when two polygons are in close contact, accurate hidden surface processing can be performed even when the coordinate values in the depth direction are approximate.
[0027]
【Example】
(First embodiment)
I. Constitution
FIG. 1 is an external view of a video game machine using an image processing apparatus according to a first embodiment of the present invention. In this figure, the video game machine
[0028]
A cartridge I / F 1 a for connecting a ROM cartridge and a CD-ROM drive 1 b for reading a CD-ROM are provided on the upper part of the video game machine
[0029]
FIG. 2 is a block diagram showing an outline of the TV game machine according to the present embodiment. The image processing apparatus includes a CPU block 10 for controlling the entire apparatus, a video block 11 for controlling display of a game screen, a sound block 12 for generating sound effects, a subsystem 13 for reading a CD-ROM, and the like. Has been.
[0030]
The CPU block 10 includes an SCU (System Control Unit) 100, a
[0031]
The
[0032]
The video block 11 includes a VDP (Video Display Processor) 120 that draws characters and the like composed of polygon data of a video game, and a
[0033]
The
[0034]
The sound block 12 includes a DSP 140 that performs speech synthesis in accordance with the PCM method or the FM method, and a
[0035]
The subsystem 13 includes a CD-ROM drive 1b, a CD I /
[0036]
Subsequently, the configuration of the image processing apparatus according to the present embodiment will be described. FIG. 3 is a functional block diagram of an image processing apparatus including the
[0037]
FIG. 4 shows an example of a baseball game screen displayed by the video game machine according to the present embodiment. This baseball game can be executed by one or two people. That is, if there are two players, the two players will alternately defend and attack, and if there is only one player, the player will defend and defend the computer (video game machine) as his opponent. Perform attacks alternately. On the
[0038]
The fielders J and K can be moved by operating the
[0039]
At the same time that the
[0040]
A
[0041]
This collision area will be described in detail with reference to FIGS. FIG. 5 is a diagram for explaining the positional relationship between the collision area, the ball, and the fielder. As shown in this figure, the
[0042]
In this embodiment, since an interrupt is generated every frame (
[0043]
FIG. 7 is a diagram for explaining the
[0044]
FIG. 8 is a top view of the collision area. As described above, the
[0045]
Furthermore, if the speed of the ball decreases, area B1, B2Disappears and only area A remains. In actual baseball, it is usually impossible for a fielder to jump to a ball when the ball is likely to stop (see catching
[0046]
Area B1, B2Effective angle θ ofb, Area C1, C2Effective angle θ ofcSimilarly, it also changes depending on the speed of the ball. For example, when the speed of the ball is high, the fielder must be quickly moved to the passing position of the ball. At this time, if the area of the
[0047]
FIG. 9 shows how the shape of the
[0048]
Furthermore, when the ball reaches position (c) while reducing its speed, area C of
[0049]
FIG. 10 is a diagram showing the fielder's catching posture according to the position of the fielder on the collision area and the height of the ball. In this figure, the vertical axis indicates the height of the ball, and the horizontal axis indicates the position of the fielder on the collision area. The catching postures 111 to 113 represent fielders that catch a ball while jumping, and the catching
[0050]
In addition, a catching posture corresponding to the position of the fielder on the collision area is selected. For example, when the fielder is located in the area A and the ball is at a high position (fly), the catching
[0051]
II. Action
Next, the operation of the image position determination apparatus according to the present embodiment will be described with reference to the flowcharts shown in FIGS.
[0052]
FIG. 11 is a flowchart showing the operation of the video game machine using image processing. This flowchart is executed every interrupt (one frame) on condition that the ball is hit by a batter. First, the position determining means 34 determines the moving direction, angle, and speed of the ball immediately after hitting (S1). Then, the virtual
[0053]
The virtual area generating means 31 is used for the areas A and B of the collision area 43.1, B2, C1, C2The fielder's catching posture is associated with (S2). For example, as shown in FIG. 10, area A is associated with a catching posture for catching in front of a fielder, and area B1, B2, C1, C2Each of these is associated with a catching posture for catching on the side of the fielder.
[0054]
Subsequently, the determination means 32 selects a fielder who may catch the ball (at a position close to the ball) from all the fielders, and calculates a distance D between the fielder and the center position of the
[0055]
In S10, the determination means 32 determines whether there is a fielder who may catch the ball other than the fielder J. If there is a fielder K that may catch the ball other than the fielder J (NO in S10), the processing target is transferred to the fielder K (S9). Then, for the fielder K, the processes of S3 and S4 described above are executed. As a result, when it is determined that the distance D between the fielder K and the center position of the
[0056]
Thereafter, an interrupt is generated for each frame, and the above-described flowchart of FIG. 11 is repeatedly executed. When a predetermined time elapses after the ball is hit, the ball moves, and the speed and height of the ball change. The ball
[0057]
It is assumed that the player operates the
[0058]
For example, fielder J is area B1If the determination means 32 determines that it is located at (YES in S6), the subroutine of S8 is executed.
[0059]
FIG. 12 shows the subroutine of S8. In step S <b> 81, the image changing unit 33 calculates an angle formed by the center point of the
[0060]
The image changing means 33 determines an accurate catching posture based on the information on the PAD (or stick) 2b, the direction of the fielder, the height of the ball, etc. (S83). Then, when the catching posture determined in this way does not exist (NO in S84), the process is moved to the next fielder, for example, fielder K (S86), and the process returns to the main flowchart of FIG. On the other hand, when the catching posture determined in S83 exists (YES in S84), the posture of the fielder J on the screen is changed to the catching posture (S85), and the processing is performed after returning to the main flowchart of FIG. Exit. In this way, after the fielder to catch the ball is determined, the subroutine of FIG. 12 is not executed, and the posture changing process (not shown) is executed for each interrupt. By this posture changing process, the posture of the fielder J gradually changes for each frame. The ball enters the fielder J's grab 12 interrupts after the fielder J starts to catch the ball.
[0061]
Therefore, according to the present embodiment, since the fielder can perform the operation for 12 interrupts (12 frames) after the fielder enters the
[0062]
(Second Embodiment) A video game machine according to a second embodiment is a video game machine according to the first embodiment described above added with a function relating to the display of the spine number. Hereinafter, this function will be described with reference to FIGS.
[0063]
FIG. 14 is a diagram for explaining a data structure of a polygon representing the upper body of the player. In this figure, the uniform is composed of four
[0064]
Polygon description order (priority order) is set for each of the
[0065]
A display procedure of the polygon data configured as described above will be described with reference to FIG. As shown in FIG. 3A,
[0066]
Then, the
[0067]
On the other hand, when the fielder is facing backward with respect to the screen, the Z coordinate values of the
[0068]
As described above, in the same polygon group, the Z coordinate values of the polygons are not compared with each other, and the polygons are displayed according to a predetermined description order. Therefore, accurate hidden surface processing can be performed even when two polygons are in close contact, such as a polygon representing a uniform and a polygon representing a back number. For example, a polygon representing a uniform and a polygon representing a uniform number can be accurately displayed. Further, since the display order of the polygon group is determined based on the Z coordinate value of the polygon with the highest description order, compatibility between the hidden surface processing and the Z sort method according to the present embodiment can be ensured. .
[0069]
In addition, a present Example is not limited to the display of the back number on a uniform, It is also possible to apply to the number etc. on the motor vehicle for competitions.
[0070]
(Third Embodiment) A video game machine according to this embodiment is obtained by adding the following functions to the video game machine according to the first embodiment described above. A video game machine according to a third embodiment of the present invention will be described with reference to FIG.
[0071]
FIG. 15 is an external view of a
[0072]
According to the present embodiment, it is possible to determine the collision between the ball and the outer field fence only by calculating the distance r and the like, and it is not necessary to perform a complicated collision determination process between polygons. For this reason, it becomes possible to easily determine the collision between the ball and the outfield fence.
[0073]
(Other Embodiments) The present invention is not limited to the above embodiments, and modifications can be made without departing from the spirit of the present invention. For example, the present invention may be applied not only to baseball games but also to soccer games and tennis games.
[0074]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained. It is possible to accurately perform hidden surface processing of polygons that are in close contact with each other. According to the present invention, in the same polygon group, the coordinate values in the depth direction of the polygons are not compared with each other, and the polygons are displayed according to a predetermined description order. Therefore, accurate hidden surface processing can be performed even when two polygons are in close contact, such as a polygon representing a uniform and a polygon representing a back number. Further, since the display order of the polygon groups is determined by an algorithm such as the Z sort method similarly to the display order of other polygons, the hidden surface processing according to the present invention and the conventional hidden surface processing (for example, Z sort method) It is possible to ensure compatibility with.
[Brief description of the drawings]
FIG. 1 is an external view of a video game machine according to a first embodiment of the present invention.
FIG. 2 is a schematic configuration diagram of a video game machine according to the first embodiment of the present invention.
FIG. 3 is a functional block diagram of the image processing apparatus according to the first embodiment of the present invention.
FIG. 4 is a diagram showing a baseball game screen according to the first embodiment of the present invention.
FIG. 5 is a diagram illustrating a positional relationship between a collision area, a ball, and a fielder according to the first embodiment of the present invention.
FIG. 6 is a diagram illustrating a state in which a fielder enters a collision area according to the first embodiment of the present invention.
FIG. 7 is a diagram showing a correspondence between each area of the collision area and the catching posture according to the first embodiment of the present invention.
FIG. 8 is a diagram for explaining details of a collision area according to the first embodiment of the present invention;
FIG. 9 is a diagram for explaining a change in the shape of a collision area according to the first embodiment of the present invention.
FIG. 10 is a view for explaining a ball catching posture of a fielder according to the first embodiment of the present invention.
FIG. 11 is a flowchart showing the operation of the video game machine according to the first embodiment of the present invention.
FIG. 12 is a flowchart showing the operation of the video game machine according to the first embodiment of the present invention.
FIG. 13 is a diagram for explaining a video game machine according to a second embodiment of the present invention.
FIG. 14 is a flowchart showing the operation of the video game machine according to the second embodiment of the present invention.
FIG. 15 is a diagram for explaining a video game machine according to a third embodiment of the present invention.
[Explanation of symbols]
31 Virtual region generation means
32 judgment means
33 Image changing means
34 Position determination means
42 balls (first image)
43 Collision area (virtual area)
71-75, 111-125, J, K Fielder (second image)
101 main CPU (coordinate conversion means, hidden surface processing means)
14A, 14B, 14C, 14D Polygon group
1501 Outfield fence (curved surface image)
Claims (5)
一のポリゴンと、この一のポリゴンに対して奥行き方向の座標値が近似しており、上記一のポリゴンに対する記述順位が上記一のポリゴンとの上記奥行き方向の座標値の大小に関わりなく定められている他のポリゴンと、からなるポリゴングループを有し、
上記隠面処理手段は、上記一のポリゴンの3次元座標系における座標を決定するステップと、上記一のポリゴンの奥行き方向の座標値に基づいて、上記ポリゴングループの表示順位を決定するステップと、上記ポリゴングループが表示されると判定された場合に、上記他のポリゴンを上記定められた記述順位に基づいて表示するステップを実行するように構成されてなる画像処理装置。A coordinate conversion means for projecting a plurality of polygons expressed in a three-dimensional coordinate system onto a two-dimensional coordinate system, and a display order of the plurality of polygons projected onto the two-dimensional coordinate system in a depth direction with respect to the display screen. In an image processing apparatus comprising a hidden surface processing means for preferentially displaying polygons in accordance with the display order, while determining based on the magnitude of the coordinate value,
And one polygon, and coordinate values in the depth direction with respect to this single polygon approximation, description order with respect to the first polygon is defined irrespective of the magnitude of the depth direction of the coordinate values of the polygons of the one A polygon group consisting of other polygons,
The hidden surface processing means, and determining the coordinates in a three-dimensional coordinate system of polygon the one, based on the coordinate values in the depth direction of the polygon the one, determining the display order of the polygon group, If it is determined that the polygon group are displayed, the image processing apparatus comprising configured to perform the step of displaying based on the other polygons description order defined above.
一のポリゴンと、この一のポリゴンに対して奥行き方向の座標値が近似しており、上記一のポリゴンに対する記述順位が上記一のポリゴンとの上記奥行き方向の座標値の大小に関わりなく定められている他のポリゴンと、からなるポリゴングループを有し、上記一のポリゴンの3次元座標系における座標を決定するステップと、上記一のポリゴンの奥行き方向の座標値に基づいて、上記ポリゴングループの表示順位を決定するステップと、上記ポリゴングループが表示されると判定された場合に、上記他のポリゴンを上記定められた記述順位に基づいて表示するステップとを備えることを特徴とする画像表示方法。A plurality of polygons represented in a three-dimensional coordinate system projected on 2-dimensional coordinate system, the display order of the plurality of polygons between projected, determined based on the magnitude of the coordinate values in the depth direction with respect to the display screen, this an image processing method for performing display of the polygons based on the display order,
And one polygon, and coordinate values in the depth direction with respect to this single polygon approximation, description order with respect to the first polygon is defined irrespective of the magnitude of the depth direction of the coordinate values of the polygons of the one has been the other polygons are, the polygon group consisting of, determining the coordinates in a three-dimensional coordinate system of polygon the one, based on the coordinate values in the depth direction of the polygon the one, of the polygon group determining a display order, when it is determined that the polygon group are displayed, the image display method characterized by comprising the step of displaying based on the other polygons description order defined above .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001103937A JP3687558B2 (en) | 2001-04-02 | 2001-04-02 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001103937A JP3687558B2 (en) | 2001-04-02 | 2001-04-02 | Image processing apparatus and image processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11346195A Division JP3239683B2 (en) | 1995-05-11 | 1995-05-11 | Image processing apparatus and image processing method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002137674A Division JP2003030685A (en) | 2002-05-13 | 2002-05-13 | Image processor and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001319247A JP2001319247A (en) | 2001-11-16 |
JP3687558B2 true JP3687558B2 (en) | 2005-08-24 |
Family
ID=18956902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001103937A Expired - Lifetime JP3687558B2 (en) | 2001-04-02 | 2001-04-02 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3687558B2 (en) |
-
2001
- 2001-04-02 JP JP2001103937A patent/JP3687558B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001319247A (en) | 2001-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3239683B2 (en) | Image processing apparatus and image processing method | |
EP0842682B1 (en) | Image processor for games | |
JP3529138B2 (en) | Image processing apparatus, image processing method, game apparatus using the same, and storage medium | |
US6394894B1 (en) | Game device, collision determination method and information storing medium | |
JP3927821B2 (en) | PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
US6257983B1 (en) | Computer readable program product storing program for cursor display in ball-playing game, said program, and cursor display processing apparatus and method for ball-playing type game | |
JP3433380B2 (en) | Computer-readable recording medium recording a ball game program, ball game processing apparatus and method | |
JP2006230578A (en) | Program, information storage medium and game apparatus | |
JP4955873B2 (en) | Program, information storage medium, and game device | |
JP2009000383A (en) | Program, information recording medium and image generating system | |
JP2006268676A (en) | Program, information storage medium and image generation system | |
WO2008016064A1 (en) | Game device, object display method in game device, and display program | |
JP2003047766A (en) | Game information, information storage medium and game device | |
JP3885381B2 (en) | Game image display method | |
JP3594181B2 (en) | GAME DEVICE, GAME CONTROL METHOD, RECORDING MEDIUM | |
JP3687558B2 (en) | Image processing apparatus and image processing method | |
JP3533393B1 (en) | GAME PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
JP3686069B2 (en) | Program, information storage medium, and image generation system | |
JP5117474B2 (en) | GAME DEVICE, GAME CONTROL PROGRAM, AND GAME CONTROL METHOD | |
JP2003030685A (en) | Image processor and image processing method | |
JP3502869B2 (en) | Computer-readable recording medium recording a ball game video game program, computer program, ball game video game processing apparatus, and ball game video game processing method | |
JP2002200348A (en) | Control method for baseball game, storage medium, and game device | |
JP4097235B2 (en) | Image generating apparatus and information storage medium | |
JP3920902B2 (en) | PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
JP3665317B2 (en) | Computer-readable recording medium recording a ball game program, ball game processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050216 |
|
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: 20050517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050530 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |