JP3768971B2 - Image generating apparatus, method and program - Google Patents
Image generating apparatus, method and program Download PDFInfo
- Publication number
- JP3768971B2 JP3768971B2 JP2003121664A JP2003121664A JP3768971B2 JP 3768971 B2 JP3768971 B2 JP 3768971B2 JP 2003121664 A JP2003121664 A JP 2003121664A JP 2003121664 A JP2003121664 A JP 2003121664A JP 3768971 B2 JP3768971 B2 JP 3768971B2
- Authority
- JP
- Japan
- Prior art keywords
- reaction force
- behavior
- ball
- acceleration
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、サッカーのゴールネットのように柔軟性のあるシート状の物体にボール等の他の物体が衝突した際の挙動を表す画像を生成する画像生成装置、方法およびプログラムに関する。
【0002】
【従来の技術】
従来から、布や膜等の柔軟な材質の物体の全面に設置した質点の位置座標を、固定された部分を基準にして順番に計算することにより、布等の被表示体の自然な動きを表現する画像生成装置が知られている(例えば、特許文献1参照。)。この画像生成装置では、質点に作用する影響力を計算した後、隣接する質点間の距離が所定の距離を超えるときに質点の位置調整を行ったり、隣接する質点間の距離が所定位置に納まるように質点の位置調整を行っている。
【0003】
【特許文献1】
国際公開第WO97/31338号パンフレット(第12−24頁、図1−12)
【0004】
【発明が解決しようとする課題】
ところで、上述した特許文献1に開示された画像生成装置では、柔軟な物体の全面に設置された各質点に作用する影響力が計算されるため、この影響力に他の物体から作用する力を含めることにより、別の物体と各質点との間の相互作用を計算して、別の物体の挙動を再現することができる。例えば、サッカーのゴールネットにボールが衝突した際のボールの挙動を計算することが可能になる。しかし、実際には、ボールに接触する質点が多数存在する場合には、質点からボールに作用する力を個別に計算して加算すると、計算量が増大し、処理も複雑になるという問題があった。このため、柔軟な物体に衝突した別の物体の挙動を少ない計算量で求めることができ、しかもその挙動を正確に表現することができる手法が求められていた。
【0005】
本発明は、このような点に鑑みて創作されたものであり、その目的は、柔軟な物体に衝突した別の物体の挙動を少ない計算量でより正確に再現することができる画像生成装置、方法およびプログラムを提供することにある。
【0006】
【課題を解決するための手段】
上述した課題を解決するために、本発明の画像生成装置は、柔軟性のある第1の物体に衝突した第2の物体の挙動を計算して第2の物体の画像を表示するものであって、第2の物体が第1の物体に衝突したときに第1の物体から第2の物体に反力が作用する反力エリアを設定し、この反力エリアから作用する力に基づいて第2の物体の挙動を計算する挙動計算手段と、挙動計算手段によって挙動が計算された第2の物体に対応する画像を生成する画像生成手段と、画像生成手段によって生成された画像を画面に表示する画像表示手段とを備えている。
【0007】
また、本発明の画像生成方法は、柔軟性のある第1の物体に第2の物体が衝突したときに第1の物体から第2の物体に反力が作用する反力エリアを設定し、この反力エリアから作用する力に基づいて第2の物体の挙動を計算する挙動計算手段と、挙動計算手段によって挙動が計算された第2の物体に対応する画像を生成する画像生成手段と、画像生成手段によって生成された画像を画面に表示する画面表示手段とを備える画像生成装置の画像生成方法であって、第2の物体の挙動を挙動計算手段によって計算するステップと、挙動計算手段によって挙動が計算された第2の物体に対応する画像を、画像生成手段によって生成するステップと、画像生成手段によって生成された画像を、画像表示手段によって画面に表示するステップとを有している。
【0008】
また、本発明の画像生成プログラムは、柔軟性のある第1の物体に衝突した第2の物体の挙動を計算して第2の物体の画像を表示するためにコンピュータを、第2の物体が第1の物体に衝突したときに第1の物体から第2の物体に反力が作用する反力エリアを設定し、この反力エリアから作用する力に基づいて第2の物体の挙動を計算する挙動計算手段と、挙動計算手段によって挙動が計算された第2の物体に対応する画像を生成する画像生成手段と、画像生成手段によって生成された画像を画面に表示する画像表示手段として機能させる。
【0009】
柔軟性のある第1の物体に第2の物体が衝突した場合には、第1の物体がほぼ均一なものであれば、第1の物体から第2の物体に対して所定の反力が作用すると考えられる。したがって、この反力が作用する領域を反力エリアとして設定して所定の反力を第2の物体に作用させることにより、複雑な計算を行うことなく少ない計算量で第2の物体の挙動をより正確に再現することができる。
【0010】
また、上述した挙動計算手段は、反力によって生じる第2の物体の加速度を計算した後、この加速度を考慮した第2の物体の速度および位置を計算することが望ましい。このような計算を行うことにより、反力エリアから第2の物体に作用する反力の設定が適切であれば、この反力によって生じる第2の物体の挙動をより正確に再現することが可能になる。
【0011】
また、上述した加速度には、反力エリア内に第2の物体が進入したときに生じる第1の物体が第2の物体を押し戻す力による成分が含まれていることが望ましい。一般に、ネット等の柔軟性のある第1の物体にボール等の第2の物体が衝突した場合、第1の物体が変形して発生する反力によって第2の物体が押し戻される。したがって、第2の物体に生じる加速度にこのような押し戻す力の成分を含ませることにより、衝突時のより正確な挙動を再現することが可能になる。
【0012】
また、上述した加速度には、反力エリア内に第2の物体が進入したときに生じる第2の物体の速度の減衰を示す成分が含まれていることが望ましい。一般に、第2の物体が第1の物体に衝突すると、衝突時に第2の物体の速度が減衰する。したがって、第2の物体に生じる加速度にこのような速度の減衰成分を含ませることにより、衝突時のより正確な挙動を再現することが可能になる。
【0013】
また、上述した加速度には、反力エリア内に第2の物体が進入したときに生じる第1の物体と第2の物体との間の摩擦による成分が含まれていることが望ましい。一般に、第2の物体が第1の物体に衝突すると、これらの間の摩擦力が第2の物体に作用する。したがって、第2の物体に生じる加速度にこのような摩擦力成分を含ませることにより、衝突時のより正確な挙動を再現することが可能になる。
【0014】
また、上述した加速度には、第1の物体の縁から所定範囲に対応する反力エリア内に第2の物体が進入したときに、第2の物体が第1の物体に沿って移動する成分が含まれていることが望ましい。第2の物体が第1の物体に衝突したときに第1の物体が凹形状に変形する場合には、この凹形状に沿って第2の物体が移動することがある。したがって、このような場合に、第2の物体に生じる加速度に第2の物体が第1の物体に沿って移動する成分を含ませることにより、衝突時のより正確な挙動を再現することが可能になる。
【0015】
また、上述した反力エリアは、第1の物体を構成する面に対し片側であって、第2の物体の反衝突側に設定されていることが望ましい。これにより、第2の物体が第1の物体に衝突した後に反力を受けることによって生じる挙動をより正確に再現することが可能になる。
【0016】
また、上述した反力エリアは、第1の物体が第2の物体と衝突する可能性のある範囲およびこの衝突によって第1の物体が変形する可能性のある範囲を含むように設定されていることが望ましい。これにより、第2の物体が第1の物体から反力を受ける範囲を反力エリアとして設定することが可能になり、第2の物体が第1の物体に衝突した際の挙動をより正確に再現することができる。
【0017】
また、上述した第1の物体が2以上の面を折り曲げた形状を有しているときに、それぞれの面に対応して複数の反力エリアが設定されていることが望ましい。第1の物体が複数の面を有する場合にそれぞれの面毎に反力エリアを設定することにより、衝突した面に対応させて第2の物体の挙動を計算することが可能になり、複雑な形状を有する第1の物体に第2の物体が衝突した場合の挙動をより正確に再現することが可能になる。
【0018】
また、上述した反力エリアは、一部が互いに重複して設定されており、挙動計算手段は、第2の物体が複数の反力エリアの重複領域に進入したときに、複数の反力エリアから作用する反力を用いて第2の物体の挙動を計算することが望ましい。これにより、第1の物体の複数の面が交差する近傍に第2の物体が衝突した際の複雑な挙動を再現することが可能になる。
【0019】
また、上述した複数の反力エリアは、一部が互いに重複して設定されており、挙動計算手段は、第2の物体が複数の反力エリアの重複領域に進入したときであって、第1の物体の180度を超える折り曲げ部から進入したときに、第2の物体が最初に衝突した面に対応して設定された反力エリアから作用する反力のみを用いて第2の物体の挙動を計算することが望ましい。これにより、第1の物体が連結した複数の面から構成され、その交差部の凸側から第2の物体が衝突した際のより正確な挙動を再現することが可能になる。
【0020】
また、上述した第1の物体の縁が固定されている場合に、縁から所定範囲内にある第1の物体に第2の物体が衝突したときに、第1の物体の延在する向きであって第2の物体の反衝突側に第2の物体に対して反力を作用させる挙動修正用反力エリアがさらに設定されており、挙動計算手段は、第2の物体が反力エリアと挙動修正用反力エリアの重複領域に進入したときに、反力エリアと挙動修正用反力エリアの両方から作用する反力を用いて第2の物体の挙動を計算することが望ましい。これにより、第1の物体が棒状部材に拘束されており、第2の物体が衝突した際の挙動をより正確に再現することができる。
【0021】
【発明の実施の形態】
以下、本発明を適用した一実施形態のサッカーゲーム装置について、図面を参照しながら詳細に説明する。
図1は、一実施形態のサッカーゲーム装置の構成を示す図である。また、図2は本実施形態のゲーム装置の外観斜視図である。
【0022】
図1および図2に示すように、本実施形態のサッカーゲーム装置は、入力装置10、ディスプレイ装置20、コイン投入部30、スタートボタン32、ゲーム演算部40、画像処理部50、スピーカ72、情報記録媒体80を含んで構成されている。このサッカーゲーム装置は、一般的なコンピュータとしての構成であるCPU、ROM、RAM等を含んで構成されている。
【0023】
入力装置10は、図2に示すように、任意方向に傾斜させることによりその傾斜方向に対応したプレーヤキャラクタの移動方向を指示したり、メニュー選択時のカーソル移動等を指示するために用いられるジョイスティック12と、プレーヤキャラクタの動作を決定したり、各種の操作内容を確定するために用いられる複数(例えば3つ)の押しボタンスイッチ14とを有している。複数の押しボタンスイッチ14を使い分けることにより、プレーヤはプレーヤキャラクタにボールを蹴らせたり、ボールをドリブルしたりする操作指示を行うことが可能になる。
【0024】
ディスプレイ装置20は、入力される映像信号に基づいてゲーム画像を画面上に表示する。例えば、このディスプレイ装置20は、CRT(陰極線管)により構成されており、1秒間に60フレームのゲーム画像が表示される。
コイン投入部30は、プレーヤがコインを挿入する部分である。また、スタートボタン32は、プレーヤがサッカーゲームの開始を指示するためのものである。
【0025】
ゲーム演算部40は、サッカーゲーム装置全体の制御を行っており、プレーヤによってコイン投入部30にコインが投入され、さらにスタートボタン32が押下されると、所定のゲームプログラムを実行することにより、入力装置10を用いたプレーヤの操作に応じたサッカーゲームの演算処理を開始する。また、ゲーム演算部40は、ゲームオーバーになったか否かを判定する。例えば、ゲーム演算部40は、ゲーム演算を開始してからの経過時間を測定しており、ゲーム開始から所定時間が経過したときにゲームオーバーになったものと判定する。ゲームオーバーになった場合には、ゲーム演算部40は、一連のサッカーゲームの演算処理を終了する。ゲーム演算部40の詳細構成および動作については後述する。
【0026】
画像処理部50は、ゲーム演算部40による演算結果(三次元オブジェクトを構成する各ポリゴンの頂点座標)が入力され、仮想的な三次元ゲーム空間に配置された三次元オブジェクトを所定の視点位置から見た二次元画像を生成する処理を行う。この画像処理部50は、透視投影変換処理部52とテクスチャマッピング処理部54を備えている。透視投影変換処理部52は、プレーヤによる操作内容に応じて設定された仮想的な視点位置に基づいて、三次元ゲーム空間内に配置されたポリゴンによって表された三次元オブジェクトを二次元平面上に投影する処理を行う。テクスチャマッピング処理部54は、透視投影変換によって二次元平面上の頂点位置が計算された各ポリゴンに対して、その内部をテクスチャデータで貼り付ける処理(テクスチャマッピング処理)を行う。このようにして画像処理部50によって二次元のゲーム画像が得られる。
【0027】
情報記録媒体80は、ゲーム演算部40や画像処理部50等において実行されるプログラム(画像生成プログラム)、表示用の画像データ、効果音発生用の音声データ等が主に格納されるものである。例えば、半導体メモリやハードディスク装置等が用いられる。あるいは、DVDやCDを情報記録媒体80として用い、これらを読み取り装置(図示せず)によって読み取ったプログラムをゲーム演算部40に入力するようにしてもよい。
【0028】
また、図1に示したゲーム演算部40は、入力判定部41、イベント処理部42、ゲーム空間演算部43、効果音生成部46を含んで構成されている。
入力判定部41は、プレーヤによる入力装置10、コイン投入部30、スタートボタン32の各操作内容を判定する。例えば、コイン投入部30に対するコイン投入の有無や、コインが投入された直後におけるスタートボタン32の押下の有無、あるいは入力装置10に含まれるジョイスティック12や押しボタンスイッチ14の操作内容が判定される。入力判定部41は、入力装置10に含まれるジョイスティック12等の操作内容を判定すると、この判定した操作内容に応じた信号をイベント処理部42に入力する。
【0029】
イベント処理部42は、入力判定部41によって判定された入力装置10の操作内容に基づいて、各種イベントの発生やゲームの進行状況に対応した分岐判断などのサッカーゲームの進行に必要な処理を行う。
ゲーム空間演算部43は、仮想的な三次元ゲーム空間内に存在する各種の三次元オブジェクトの挙動を計算する。本実施形態のサッカーゲームでは、プレーヤが操作するキャラクタ(プレーヤキャラクタ)やその他の味方チームあるいは敵チームのキャラクタ、ボール、ゴールに張られたネット等が三次元オブジェクトとして形成されている。また、各三次元オブジェクトは複数のポリゴンによって構成されており、ゲーム空間演算部43は、三次元オブジェクトを構成する各ポリゴンの頂点座標を計算することにより、各三次元オブジェクトの挙動を所定の時間間隔で計算する。
【0030】
ゲーム空間演算部43は、ボール計算部44とネット計算部45を有している。ボール計算部44は、ボールの挙動をフレームの表示間隔よりも短い時間間隔で計算する。例えば、1フレームに対応してボールの挙動を4回計算する。上述したように、1フレームの表示間隔が1/60秒の場合には、その1/4である1/240秒毎にボールの挙動が計算される。
【0031】
また、ネット計算部45は、ネットの挙動をフレームの表示間隔よりも短い時間間隔で計算する。例えば、1フレームに対してネットの挙動を2回計算する。1フレームの表示間隔が1/60秒の場合には、その1/2である1/120秒毎にネットの挙動が計算される。
【0032】
このようにして、ゲーム空間演算部43によって各三次元オブジェクトの挙動が計算されると、画像処理部50によって各三次元オブジェクトを構成するポリゴンを用いた透視投影変換処理およびテクスチャマッピング処理が行われ、フレーム毎のゲーム画像が生成される。
【0033】
上述したサッカーゴールのネットが柔軟性のある第1の物体に、ボールが第2の物体に対応する。また、ボール計算部44が挙動計算手段に、画像処理部50が画像生成手段に、ディスプレイ装置20が画像表示手段にそれぞれ対応する。本実施形態のサッカーゲーム装置はこのような構成を有しており、次に、ボールおよびネットの挙動を計算するゲーム演算部40の動作を説明する。
【0034】
上述したように、ボールの挙動計算はゲーム空間演算部43内のボール計算部44によって行われ、ネットの挙動計算はゲーム空間演算部43内のネット計算部45によって行われる。以下では、これらの各計算について場合を分けて説明する。
【0035】
(1)ボールの衝突挙動
まず、プレーヤキャラクタやその他の味方チームあるいは敵チームの各キャラクタによって蹴られたボールがゴールのネットに衝突する際の衝突挙動の詳細について説明する。
【0036】
本実施形態では、ネットと衝突した際のボールの挙動計算に際しては、実際にネットから受ける反力を計算するのではなく、以下に詳細を示す「反力エリアモデル」を使って計算を行った。この反力エリアモデルとは、ボールが所定の空間領域(反力エリア)に進入すると、その位置や速度に応じて空間から力を受け、速度を変えるというものである。
【0037】
このモデルでは、ネットとボールの干渉作用による複雑な計算処理を行うことなく、あたかも、ネットとボールの相互作用によるボールの挙動をシミュレートすることが可能である。また、ボールに加わる反力の設定が適切であれば、ボールは必ず衝突側(サッカーゴールの内側から衝突した場合には内側、外側から衝突した場合には外側)に戻ってくる。
【0038】
図3は、本実施形態のサッカーゲームにおいて用いられるゴールの概要を示す図である。図3に示すように、ゴールは、左右2本のゴールポストGP1、GP2と、これらの上端を連結するように取り付けられるクロスバーCBと、左側面A、右側面B、上面C、正面Dからなるネットとを含んで構成されている。
【0039】
図4は、ネットの正面Dに向かって内側(正面側)からボールBOが飛んでくる場合の反力エリアモデルの説明図である。ゴールポストGP1、GP2のネット側端部を結んだ線上のほぼ中央であって地面の位置を原点Oとする。また、正面側からゴールを見たときに、原点Oから水平方向右側にx軸正方向を、鉛直方向上側にy軸正方向を、水平方向手前側にz方向正方向を設定するものとする。
【0040】
(1−1)正面Dにおけるボールの挙動
ゴールポストGP1、GP2の間を通るようにネットの正面Dに向かってボールBOが飛んできたときの反力エリアモデルは、z軸方向の基準位置の境界面からz軸負方向に向かう所定範囲が反力エリアとして設定される。基準位置は、ネットの正面Dから力を受ける可能性のある範囲が考慮される。例えば、図4に示すように、ネットが揺れ動く場合を想定して、ネットの正面Dが自重で垂下した状態よりも若干手前(z軸正方向)側に基準位置が設定されている。また、反力エリアに進入したボールBOの基準位置からの進入深さをd1とする。なお、この基準位置は、ネットの正面Dが自重で垂下した位置としてもよい。
【0041】
図5は、ボールの衝突挙動を計算するボール計算部44の動作手順を示す流れ図である。ボールの位置のy座標をPy 、速度ベクトルをV、角速度ベクトルをRとする。また、反力エリアの境界面(d1=0の基準位置)の法線ベクトルをNとする(侵入深さ方向と反対方向を正とする)。
【0042】
ステップ100:まず、ボール計算部44は、以下の式を用いてボールの加速度aを計算する。
右辺第1項(K1d1 2N)は、ネットがボールを押し戻す力によるボールの加速度成分を表している。K1は押し戻す強さを表す係数である。
【0043】
右辺第2項(K2d1 2|V・N|N)は、境界面に対して垂直方向のボール速度の減衰に対応する成分を表している。K2は減衰の強さを表す係数であり、速度ベクトルVの方向によって次のように値が変わる。
K2=K2a (V・N≧0の場合)
K2=K2b (V・N<0の場合)
右辺第3項(K3d1 2(V−|V・N|N))は、境界面に対して平行方向のボールの減衰に対応する成分を表している。K3は減衰の強さを示す係数である。
【0044】
右辺第4項(K4K1d1 2(1−Py/H1)2)は、ボールの巻き上がりの加速度成分を表している。H1はネット高さの1/2であり、K4は巻き上がりの強さを表す係数である。但し、Py/H1≧1の場合はK4=0とする。また、V・N≧0の場合もK4=0とする。なお、「ボールの巻き上がり」とは、ボールが低い位置でネットに当たった際に、ネットが登り斜面のように働いて、ボールがネットを登るように動く現象をいう。
【0045】
右辺第5項(K5K1d1 2(r(R×N)−V)/|r(R×N)−V|)は、ボールとネットとの摩擦による加速度成分を表している。K5はボールとネットとの間の摩擦係数を表す。rはボールの半径である。
右辺第6項(G)は、重力加速度ベクトルである。
【0046】
ステップ101:次に、ボール計算部44は、以下の式を用いてボールの速度を計算する。
V’=V+at1 …(2)
この(2)式において、V’は計算しようとする新しいボールの速度である。Vは前回のボールの挙動計算において計算されたボールの速度である。t1はボールの挙動計算の繰り返し間隔であり、本実施形態ではt1=1/240秒である。
【0047】
ステップ102:次に、ボール計算部44は、以下の式を用いてボールの位置を計算する。
P’=P+V’t1 …(3)
この(3)式において、P’は計算しようとする新しいボールの位置である。Pは前回のボールの挙動計算において計算されたボールの位置である。
【0048】
このようにして、t1(=1/240秒)毎にボールの位置が計算される。
(1−2)左側面A、右側面Bにおけるボールの挙動
正面D以外の面に向かってボールが飛んできた場合も、ボールはそれぞれの面から力を受けるため、正面Dと同様の反力エリアを設定することにより、図5に示した手順に従ってボールの挙動を計算することができる。
【0049】
図6は、ネットの左側面Aあるいは右側面Bにボールが飛んできた場合の反力エリアモデルの説明図である。
ゴールポストGP1、GP2の間を通るようにネットの左側面Aに向かってボールが飛んできたときの反力エリアモデルは、x軸方向の基準位置の境界面からx軸負方向に向かう所定範囲が反力エリアとして設定される。また、反力エリアに進入したボールの基準位置からの進入深さをa1とする。
【0050】
左側面Aに対応する反力エリアにボールが進入した場合の挙動は、図5に示した手順にしたがって、ボールの加速度計算(ステップ100)、ボールの速度計算(ステップ101)、ボールの位置計算(ステップ102)を行うことにより求めることができる。但し、(1)式の右辺各項に含まれるボールの進入深さd1をa1に置き換えて加速度aが計算される。
【0051】
また、右側面Bについても同様である。すなわち、右側面Bに対応する反力エリアにボールが進入した場合の挙動も、図5に示した手順にしたがって、ボールの加速度計算(ステップ100)、ボールの速度計算(ステップ101)、ボールの位置計算(ステップ102)を行うことにより求めることができる。但し、(1)式の右辺各項に含まれるボールの進入深さd1を、右側面Bに対応して設定された反力エリアに進入したボールの基準位置からの進入深さb1に置き換えて加速度aが計算される。
【0052】
(1−3)上面Cにおけるボールの挙動
図7は、ネットの上面Cに向かってボールが飛んできた場合の反力エリアモデルの説明図である。
ゴールポストGP1、GP2の間およびクロスバーCBの下側を通るようにネットの上面Cに向かってボールが飛んできたときの反力エリアモデルは、y軸方向の基準位置の境界面からy軸正方向に向かう所定範囲が反力エリアとして設定される。また、反力エリアに進入したボールの基準位置からの進入深さをc1とする。
【0053】
上面Cに対応する反力エリアにボールが進入した場合の挙動も、基本的には図5に示した手順にしたがって、ボールの加速度計算(ステップ100)、ボールの速度計算(ステップ101)、ボールの位置計算(ステップ102)を行うことにより求めることができる。
【0054】
但し、(1)式の右辺各項に含まれるボールの進入深さd1をc1に置き換えて加速度aが計算される。また、上面Cの場合にはボールの巻き上がりがないので、(1)式の右辺第4項(K4K1d1 2(1−Py/H1)2)は省略されてボールの加速度計算が行われる。
【0055】
(1−4)反力エリアの重複
図8は、正面Dと左側面Aの境界近傍のゴールの隅に向けてボールが飛んでいく場合のボールの挙動を示す図である。図8に示すように、ゴールの隅に向けてボールBOが蹴られた場合には、ボールは正面Dから左側面Aに回り込むように移動する。このような反力エリアが重複する位置におけるボールの挙動は、図4に示す正面Dの反力エリアから受ける力と図6に示す左側面Aの反力エリアから受ける力を同時にボールに作用させればよい。すなわち、(1)式を用いて図4に示す正面Dの反力エリアにおけるボールの加速度と、(1)式を用いて図6に示す左側面Aの反力エリアにおけるボールの加速度とを別々に計算した後合成し、この合成した加速度を用いてボールの速度およびボールの位置を計算することにより、ゴールの隅にボールが蹴られた場合の自然な挙動を再現することが可能になる。
【0056】
(1−5)ゴールポスト、クロスバー近傍でのボールの挙動
ゴール内に蹴りこまれたボールが、正面Dの反力エリアから受ける力によって、ゴールポストGP1近傍の左側面AやゴールポストGP2近傍の右側面Bまで戻される場合が考えられる。
【0057】
図9は、正面DからゴールポストGP1近傍の左側面Aに向けてボールが戻された場合のボールの挙動を示す図である。図9に示すように、正面DからP1方向にボールが移動すると、図6に示した左側面Aに対応する反力エリアからボールBOが力を受けて、P3方向にボールが戻される。しかし、実際にはゴールポストGP1があるため、P3方向にはボールBOは戻らず、P1方向に対して逆方向に近いP2方向にボールBOが移動するようにする必要がある。この点については、正面Dから上面Cに向かってボールが戻された場合も同様である。
【0058】
このため、本実施形態では、正面DからゴールポストGP1、GP2近傍の左側面Aや右側面BあるいはクロスバーCB近傍の上面Cにボールが戻されたときに、このボールを飛んできた方向に押し戻すために、特別な反力エリア(挙動修正用反力エリア)を設定している。
【0059】
図10は、ゴールポストGP1、GP2の近傍に飛んだボールを押し戻す場合の反力エリアモデルの説明図である。
正面DからゴールポストGP1近傍の左側面Aに向かってボールが飛んでいった場合の反力エリアモデルは、左側面Aよりも外側であって、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。また、反力エリアに進入したボールの基準位置からの進入深さをe1とする。
【0060】
このようにして設定された反力エリアは、図6に示した左側面Aに対応する反力エリアと部分的に重複する。したがって、図10に示した左側面Aに対応する反力エリア内に進入したボールは、この反力エリアと図6に示した左側面Aに対応する反力エリアの両方から力を受けることになる。このような反力エリアの重複については、図8に示したゴールの隅にボールが進入した場合と同様であり、2つの反力エリアから受ける力を考慮してボールの加速度を合成した後、この合成された加速度を用いてボールの速度およびボールの位置を計算することにより、図9に示すP2方向にボールBOを移動させることが可能になり、ゴールポストGP1近傍にボールが飛んだ場合の自然な挙動を再現することが可能になる。
【0061】
なお、上述した説明では、正面DからゴールポストGP1近傍の左側面Aに向かってボールが飛んでいった場合の反力エリアモデルを考えたが、正面DからゴールポストGP2近傍の右側面Bに向かってボールが飛んでいった場合の反力モデルも同様である。
【0062】
図11は、クロスバーCBの近傍に飛んできたボールを押し戻す場合の挙動修正用反力エリアモデルの説明図である。
正面DからクロスバーCB近傍の上面Cに向かってボールが飛んできた場合の反力エリアモデルは、上面Cよりも上側であって、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。また、反力エリアに進入したボールの基準位置からの進入深さをe3とする。
【0063】
このようにして設定された反力エリアは、図7に示した上面Cに対応する反力エリアと部分的に重複する。したがって、図11に示した上面Cに対応する反力エリア内に進入したボールは、この反力エリアと図7に示した上面Cに対応する反力エリアの両方から力を受けることになる。このような反力エリアの重複については、図10に示したゴールポストGP1、GP2近傍に反力エリアを設定した場合と同様であり、2つの反力エリアから受ける力を考慮してボールの加速度を合成した後、この合成された加速度を用いてボールの速度およびボールの位置を計算することにより、クロスバーCB近傍にボールが飛んだ場合の自然な挙動を再現することが可能になる。
【0064】
(1−6)外側から飛んできてネットに当たった場合のボールの挙動
ところで、上述した各種のケースでは、ゴールポストGP1、GP2の間を通過した後にゴールネットにボールが衝突した場合の挙動を考えたが、ゴールの周囲からゴールネットにボールが衝突する場合もある。このような場合にも、正面D、左側面A、右側面B、上面Cのそれぞれに対応する反力エリアモデルを設定してボールの挙動を計算することができる。
【0065】
図12〜図16のそれぞれは、ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる反力エリアモデルの説明図である。
図12には、ネットの正面Dに向かって外側(裏側)からボールが飛んできた場合の反力エリアが示されている。このようなボールに対しては、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。
【0066】
図13には、ネットの左側面Aあるいは右側面Bに向かって外側からボールが飛んできた場合の反力エリアが示されている。左側面Aに向かって外側から飛んでくるボールに対しては、x軸方向の基準位置の境界面からx軸正方向に向かう所定範囲が反力エリアとして設定されている。また、右側面Bに向かって外側から飛んでくるボールに対しては、x軸方向の基準位置の境界面からx軸負方向に向かう所定範囲が反力エリアとして設定されている。
【0067】
図14には、ネットの上面Cに外側からボールが飛んできた場合の反力エリアが示されている。このようなボールに対しては、y軸方向の基準位置の境界面からy軸負方向に向かう所定範囲が反力エリアとして設定されている。
図15には、ゴールポストGP1近傍の左側面AあるいはゴールポストGP2近傍の右側面Bに外側からボールが飛んできた場合の挙動修正用反力エリアが示されている。ゴールポストGP1近傍の左側面Aに向かって飛んでくるボールに対しては、左側面Aよりも内側であって、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。また、ゴールポストGP2近傍の右側面Bに向かって飛んでくるボールに対しては、右側面Bよりも内側であって、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。
【0068】
図16には、クロスバーCBの近傍の上面Cに外側からボールが飛んできた場合の挙動修正用反力エリアが示されている。このようなボールに対しては、上面Cよりも下側であって、z軸方向の基準位置の境界面からz軸正方向に向かう所定範囲が反力エリアとして設定されている。
【0069】
なお、ボールがネットに内側から衝突した場合には、2つの反力エリアが重複している場合(例えばゴールの隅にボールが飛んできた場合)には、これら2つの反力エリアから別々に力を受けるものとしてボールの加速度、速度、位置を計算したが、ボールがネットの外側から衝突した場合に同じ手法で計算を行うと実際の挙動と一致しなくなる場合がある。
【0070】
例えば、図17に示すように、左側面Aの正面D近傍に外側からP4方向にボールBOが飛んできた場合を考えるものとする。このボールBOの位置に基づいて、計算対象となる反力エリアとして、図13に示す反力エリアと図12に示す反力エリアが抽出される。しかし、これら2つの反力エリアからボールBOが力を受けるものとしてボールの位置を計算すると、図18に示すように、ボールBOが飛んできたP4方向とは異なる斜めのP5方向にボールが押し戻されることになる。実際のボールの挙動としては、ボールBOは、飛んできたP6方向に押し戻されるはずである。
【0071】
本実施形態では、ボールがネットの外側から飛んできて衝突した場合(ネットの2面が180度を超えて交差する側からボールが飛んできた場合)には、2つの反力エリアから力を受けるのではなく、最初に衝突した面に対応して設定されている反力エリアのみから力を受けるものとして計算している。例えば、図17に示した例では、最初に左側面AにボールBOが衝突するため、図13に示した反力エリアのみを考慮してボールBOの挙動が計算され、図18に示すようなP6方向に押し戻されるようなボールBOの挙動が表現される。これにより、ネットの折れ曲がり部の外側(凸側)からボールが衝突した場合であっても、ボールが衝突した際のより正確な挙動を再現することが可能になる。
【0072】
(2)ネットの挙動
次に、ネットの挙動について説明する。ネット計算部45によって計算されるネットの挙動は、ネット自体が時間経過とともに動く場合の挙動(揺動挙動)と、ネットの内側あるいは外側から飛んできたボールが衝突した場合の挙動(衝突挙動)とに大別される。
【0073】
図19は、本実施形態の計算で用いられるネットモデルの全体を示す図である。また、図20はネットモデルの具体例を示す図である。
図19および図20に示すように、本実施形態で用いられるネットモデルは、六角形のメッシュ構造を有している。メッシュを構成する各六角形部分は、六角形の各頂点に配置されたノードと、隣接するノード間を連結する結線からなっている。このネットモデルは、「バネ−質点」であり、質点としてのノードのみに質量が集中し、各ノードに対しては結線による引っ張り張力のみが作用する(圧縮方向の力は作用しない)。
【0074】
なお、図19および図20に示す六角形のメッシュ構造は、実際のゴールネットの形状を参考にして採用されたものであるが、このメッシュ構造に含まれる各六角形部分の大きさは、実際のゴールネットに含まれる各六角形部分よりも大きく設定されている。これは、ノードの数を減らすことにより、計算量を減らすことができるからである。
【0075】
図21は、ノードの連結状態に着目したネットモデルの構造を示す図である。図21の各ノードに付された番号は、図20の各ノードに付された番号に対応している。
図21に示すように、本実施形態のネットモデルでは、各ノードに付された番号順に各ノードのデータが格納されている。また、基本的に奇数番目のノードは、左右のノード(番号が一つ小さいノードと一つ大きいノード)と上のノード(番号が九つ大きいノード)と連結されている。偶数番目のノードは、左右のノードと下のノード(番号が九つ小さいノード)と連結されている。なお、ネットの左端、右端、上端、下端のそれぞれに配置されたノードについては、変則的な連結状態となっている。
【0076】
図22は、本実施形態で用いられるネットの具体的形状を示す図である。図3に示したように、本実施形態のサッカーゲームで用いられるネットは、左側面A、右側面B、上面C、正面Dによって構成されている。この中で、左側面A、右側面B、正面Dをまとめて1枚のネットとして考え(図22(A))、また残った上面Cを1枚のネットとして考え(図22(B))、両者を連結してネットの挙動が計算される。また、残った上面Cを1枚のネットとして考え(図22(B))、ネットの挙動が計算される。
【0077】
(2−1)ネットの揺動挙動
ネットの縁部分および上面については、以下のような方法で拘束する。
・手前の縁(ゴールポストGP1、GP2、クロスバーCBに接する部分)は、ノードをゴールポストGP1、GP2、クロスバーCBに固定する。
・下の縁(地面に接する部分)については、ノードを地面に固定する。
・上面C全体および上面Cに接する各面の縁(左側面A、右側面B、正面Dのそれぞれの上端)については、拘束点をたるみ形状に配置し、ノードを拘束点にバネ拘束する。ここで、「たるみ形状」とは、直線上の縁の両端あるいは平面を包囲する複数の縁の頂点を固定したときに、この固定部に囲まれた内部が重力の作用によってたるんだ状態をなす形状をいう。また、「拘束点にバネ拘束する」とは、拘束点にバネを介してノードを連結することをいう。
【0078】
図23は、上面に接する各面の縁に対応して設定された拘束点のたるみ形状配置を示す図である。このように、たるみ形状に配置された拘束点を用いることにより、実際にネットが自重によって垂れ下がった状態をよりリアルに再現することが可能になる。ノードを連結する各結線のバネの力だけで適正なたるみ形状を得ようとすると、バネ定数(バネ荷重)を大きくする必要があるが、このようにするとネットの揺動計算がなかなか収束しなくなる。これに対し、上述したたるみ形状に配置した拘束点を採用した場合には、小さなバネ定数を用いた場合であってもネットの適正なたるみ形状を再現することができ、しかもバネ定数を小さくすることで、ネットの揺動計算が収束しなくなることを防止することができる。
【0079】
なお、図23にはネットの上端に対応する拘束点の配置状態を示したが、上面Cを拘束する場合には、上面C全体に対応してたるみ形状に配置された拘束点、すなわち、上面Cの中央近傍が最も低く下がっており、上面Cの縁に近づくにつれて高くなるように配置された拘束点を用いればよい。
【0080】
図24は、ネットの揺動計算を行うネット計算部45の動作手順を示す流れ図である。ノードの個数をn、ノードの列数をcとする。i番目のノードをNi(i=0,1,2,…,n−1)とし、ノードNiの位置座標をPi、速度ベクトルをViとする。隣接するノードNiとNjとを結ぶ結線をAi,jとし、ノードNiからNjに向かうベクトルをIi,jとする。したがって、
Ii,j=Pj−Pi
Ij,i=−Ii,j …(4)
となる。
【0081】
ステップ200:まず、ネット計算部45は、以下の式を用いて結線Ai,jの張力によりノードNiがノードNjから受ける力Ti,jを計算する。
Ti,j=0 …(|Ii,j|≦Li,jの場合)
Ti,j=K11(|Ii,j|/Li,j−1.0)…(|Ii,j|>Li,jの場合)
ここで、K11はバネの強さを表す係数、Li,jは結線Ai,jの長さの初期設定値である。また、Tj,i=−Ti,jである。
【0082】
ステップ201:次に、ネット計算部45は、以下の式を用いてノードNiに作用する力Fiを計算する。なお、ステップ200以降の各ステップの計算は、固定されていないノードに対してのみ行われる。
Fi=ΣTi,j+K12(Si−Pi)−K13|Vi|Vi …(5)
右辺第1項(ΣTi,j)は、ノードNiに対して結線から作用する力の合力を表している。右辺第2項(K12(Si−Pi))は、バネ拘束による拘束力を表す。Siは、ノードNiの拘束点の位置座標で、K12は拘束のバネ強さを表す係数である。バネ拘束されているノード(たるみ形状に配置された拘束点に拘束されているノード)以外のノードについては、この項は不要である。右辺第3項(K13|Vi|Vi)は、減衰力を表し、K13は減衰の大きさを決める係数である。
【0083】
ステップ202:次に、ネット計算部45は、以下の式を用いて各ノードNiの加速度ベクトルaiを計算する。
ai=Fi/M+G …(6)
ここで、Mはノードの質量、Gは重力加速度ベクトルである。
【0084】
ステップ203:次に、ネット計算部45は、以下の式を用いてノードNiの速度変化量dViを計算する。
dVi=ait2 …(7)
ここで、t2はネットの挙動計算の繰り返し間隔であり、本実施形態ではt2=1/120秒である。
【0085】
ステップ204:次に、ネット計算部45は、以下の式を用いてノードNiの新しい速度V’iを計算する。
V’i=Vi+dVi …(8)
ステップ205:次に、ネット計算部45は、以下の式を用いてノードNiの新しい位置P’iを計算する。
【0086】
P’i=Pi+(V’i+K14dVi)t2 …(9)
ここで、K14は計算を安定させるための補正係数であり、K14=0.1とした。ステップ206:最後に、ネット計算部45は、P’iのy座標が負(地面よりも下)であれば0に修正する。
【0087】
このようにして各ノードの位置が、所定の間隔t2(=1/120秒)毎に計算される。
(2−2)ネットの衝突挙動
上述したように、ネットを構成する各ノードは、各ノードに引張り力が作用するとその力の作用方向に位置が移動して揺動するが、それ以外に、ボールが衝突しても位置を変えてネット全体の形が変化する。
【0088】
図25は、ネットの衝突計算を行うネット計算部45の動作手順を示す流れ図である。なお、以下の説明では、ゴールの内側からネットに向かってボールが飛んでいくものとする。
ステップ300:まず、ネット計算部45は、左側面A、右側面B、上面C、正面Dのそれぞれに対応した干渉エリアを設定して、ボールがいずれかの干渉エリアに属しているか否かを判定する。
【0089】
図26および図27は、ネットの衝突挙動計算に用いられる干渉エリアの説明図である。図26に示すように、ネットの左側面A、右側面B、正面Dのそれぞれが含まれるように干渉エリアW1、W2、W3が設定されている。また、図27に示すように、ネットの上面Cが含まれるように干渉エリアW4が設定されている。
【0090】
これら4つの干渉エリアW1〜W4のいずれかにボールが属する場合には、以下に示す手順にしたがって、ボールの位置に対応するようにネットを構成するノードを移動させる処理が行われるが、いずれの干渉エリアにもボールが属さない場合には否定判断が行われ、ネットを構成するノードを移動させることなくネットの衝突挙動の計算が終了する。
【0091】
ステップ301:次に、ネット計算部45は、ボールに対して最近接ノードを見つける。最近接ノードを見つける処理は、ボールが属する干渉エリアに対応するネットの面にボールの中心位置を投影し、投影位置に最も接近しているノードを抽出することにより行われる。例えば、正面Dに対応する干渉エリアW3にボールが属する場合には、この干渉エリアW3に対応する正面Dにボールの中心位置を投影し、この中心位置と正面Dを構成する各ノードの位置とをxy平面上で比較することにより、最近接ノードが一つ抽出される。この抽出された一つのノードをNBとする。
【0092】
ステップ302:次に、ネット計算部45は、最近接ノードNBとボールの位置を比較し、ボールがネットよりも奥にある場合(ネットを通り抜けた場合)に、最近接ノードNBからボール先端部までの距離sを求める。この距離sは、干渉エリアに対応するネットの面にボールの中心位置を投影した際の投影方向に沿った値が求められる。例えば、干渉エリアW3にボールがある場合には、図28に示すように、ボールBOの中心位置を正面Dに投影する向きであるz軸に沿った距離sが求められる。なお、ボールBOがネットよりも手前側にある場合、すなわちネットに衝突する前の場合には、ネットを構成するノードを移動させることなくネットの衝突挙動の計算が終了する。
【0093】
ステップ303:次に、ネット計算部45は、最近接ノードNBを距離sだけボールの衝突方向に移動させるとともに、最近接ノードNBに隣接するノード(直接連結されている隣のノード)を距離s/2だけボールの衝突方向に移動させる。例えば、干渉エリアW3にボールがある場合には、ネット計算部45は、図29に示すように、最近接ノードNBをz軸負方向に距離sだけ移動させるとともに、その周囲の隣接ノードをz軸負方向に距離s/2だけ移動させる。
【0094】
このように、ボールがネットに衝突した場合には、ボールに最も近いノードをボールの先端位置まで移動させるとともに、隣接するノードをその半分の距離だけ移動させる。なお、上述した説明では、ゴールの内側からネットに向かってボールが飛んでいくものとしたが、ゴールの外側からネットに向かってボールが飛んでいく場合も同様であり、図25に示した手順にしたがってボールの最近接ノードとその隣接ノードを移動させればよい。
【0095】
ところで、ボールがネットの近傍にある場合に、ボールがゴールの内側から飛んできたかあるいは外側から飛んできたかは、衝突時点のボールの位置だけでは判断することができない。
図30および図31は、ネットとボールの位置関係を示す図である。図30に示すように、ボールBOがゴールの内側から飛んできてネットに衝突した場合には、ネットをボールの左側に移動させる必要がある。しかし、図31に示すように、ボールの位置が図30と全く同じであっても、ボールBOがゴールの外側から飛んできてネットに衝突した場合には、ネットをボールの右側に移動させる必要がある。このように、衝突時のボールBOの位置だけでは、ボールBOがゴールの内側にあるのか外側にあるのかを知ることはできない。
【0096】
そこで、本実施形態では、ネット計算部45は、ボールBOがゴールラインを越えたときに内外判定を行い、この判定結果を保持しておく。例えば、図30に示すように、ボールBOがゴールポストGP1、GP2の間のゴールラインを通過した場合には、通過時に内側を通過した旨の情報を保持する。また、図31に示すように、ボールBOがゴールポストGP1、GP2の外側のゴールラインを通過した場合には、通過時に外側を通過した旨の情報を保持する。そして、再びボールBOがゴールラインを逆方向に越えたときに、この保持情報を破棄する。
【0097】
なお、サッカーのルール上は、「ボールBOがゴールラインを越える」とは、ボール全体がゴールライン幅の外に出た時点をいうが、内外判定を行うタイミングは、必ずしも正確にこの時点で行う必要はなく、ボールBOがネットに衝突する前に内外判定を行うことができればよい。例えば、ボールBOの中心位置が初めてゴールラインの中心を越えたときに内外判定を行うようにしてもよい。
【0098】
また、ゴールポストGP1、GP2の内側のゴールラインを越えたボールBOがゴールポストGP1、GP2の外側のゴールラインを越えて戻ってきた場合には、保持情報は廃棄せずに保持状態を維持する。ゴールポストGP1、GP2の外側のゴールラインを越えたボールBOがゴールポストGP1、GP2の内側のゴールラインを越えて戻ってきた場合も同様である。これにより、図32に示すような場合であっても正確な内外判定を行うことが可能になる。
【0099】
(3)ボールの挙動計算等と表示動作の関係
上述したように、ボールの挙動計算は表示間隔(ディスプレイ装置20の表示内容を更新する時間間隔)中に4回行われ、ネットの揺動挙動計算の計算は表示間隔中に2回行われる。また、ネットの衝突挙動計算は表示間隔中に2回行われる。
【0100】
図33は、ボールとネットの挙動計算の順番を示す図である。図33に示すように、表示が1回行われる間にネットの挙動計算が2回行われ、ネットの挙動計算が1回行われる間にボールの挙動計算が2回行われ、結果として1表示期間内に4回のボールの挙動計算が行われる。このような4回のボール挙動計算と2回のネット挙動計算の後、ゲーム空間演算部43は、計算されたボールの位置およびネットを構成する各ノードの位置を用いて、ボールやゴールネットを含む各種の三次元オブジェクトの挙動計算を行い、これらの三次元オブジェクトを構成する各ポリゴンの頂点座標を求める。なお、1表示期間中に行われるボール挙動計算の回数とネット挙動計算の回数は適宜変更可能である。
【0101】
また、本実施形態のゴールネットは、図20に示したように、六角形のメッシュ構造を有しており、一つ一つの六角形部分は、実際のゴールネットの六角形部分よりもかなり大きく設定されている。したがって、表示に際しては、図20に示した各六角形部分をさらに複数のポリゴンに分割し、各ポリゴン毎に小さな複数の六角形部分が含まれるようなテクスチャデータを貼り付ける表示処理を行うことにより、実際のゴールネットに近いリアルな画像が生成されている。
【0102】
図34は、生成されるポリゴンの具体例を示す図である。図34に示すように、ゲーム空間演算部43は、六角形部分の中央に分割点を設定し、この分割点と六角形の隣接する2つの頂点とを3つの頂点とするポリゴンを生成する。
図35は、ポリゴンに対応するテクスチャの具体例を示す図である。また、図36は各ポリゴンにテクスチャを貼り付けた後の六角形部分の画像を示す図である。これらの図に示すように、テクスチャマッピング処理部54によって各ポリゴンにテクスチャを貼り付ける処理が行われると、小さな六角形のメッシュ構造を有するネットの画像が生成される。
【0103】
また、ボールについては、計算されたボールの位置(中心座標)に球体の三次元オブジェクトが対応しており、この三次元オブジェクトを構成する複数のポリゴンの頂点座標がゲーム空間演算部43によって計算される。画像処理部50は、このようにして計算されたボールに対応する三次元オブジェクトを構成する各ポリゴンの頂点座標を用いて透視投影変換およびテクスチャマッピング処理を行ってゴールの挙動に対応した二次元画像を生成する。この二次元画像がディスプレイ装置20の画面上に表示される。
【0104】
このように、サッカーゴールのネットにボールが衝突した場合には、ネットがほぼ均一なものであれば、ネットからボールに対して所定の反力が作用すると考えられる。したがって、この反力が作用する領域を反力エリアとして設定して所定の反力をボールに作用させることにより、複雑な計算を行うことなく少ない計算量でボールの挙動をより正確に再現することができる。
【0105】
また、ボール計算部44は、反力によって生じるボールの加速度を計算した後、この加速度を考慮したボールの速度および位置を計算しており、このような計算を行うことにより、反力エリアからボールに作用する反力の設定が適切であれば、この反力によって生じるボールの挙動をより正確に再現することが可能になる。
【0106】
特に、上述した加速度に、反力エリア内にボールが進入したときにネットがボールを押し戻す力による成分や、反力エリア内にボールが進入したときに生じるボールの速度の減衰を示す成分や、反力エリア内にボールが進入したときに生じるネットとボールとの間の摩擦による成分を含ませることにより、ボールの衝突時のより正確な挙動を再現することが可能になる。
【0107】
また、上述した加速度に、ネットの縁から所定範囲に対応する反力エリア内にボールが進入したときに生じる、ボールがネットに沿って移動する成分を含ませることにより、衝突後のボールがネットに沿って移動する挙動をより正確に再現することができる。
【0108】
また、反力エリアを、ネットを構成する面に対し片側であってボールの反衝突側に設定したり、ネットがボールと衝突する可能性のある範囲やこの衝突によってネットが変形する可能性のある範囲を含むように設定することにより、ボールがネットから反力を受ける範囲を反力エリアとして設定することが可能になり、ボールがネットに衝突した際の挙動をより正確に再現することができる。
【0109】
また、ネットが折れ曲がっている場合に、それぞれの面に対応して複数の反力エリアが設定されているため、衝突したネットの各面に対応させてボールの挙動を計算することが可能になり、複雑な形状を有するネットにボールが衝突した場合の挙動をより正確に再現することが可能になる。
【0110】
また、このような折れ曲がった複数の面に対応して設定される反力エリアは、一部が互いに重複して設定されており、ボール計算部44は、ボールが複数の反力エリアの重複領域に進入したときに、複数の反力エリアの両方から作用する反力を用いてボールの挙動を計算している。これにより、ネットの複数の面が交差する近傍にボールが衝突した際の複雑な挙動を再現することが可能になる。
【0111】
また、一部が互いに重複して反力エリアが設定されている場合に、ボール計算部44は、ボールが複数の反力エリアの重複領域に進入したときであって、ネットの180度を超えるネットの隅(折り曲げ部)近傍に進入したときに、ボールが最初に衝突した面に対応して設定された反力エリアから作用する反力のみを用いてボールの挙動を計算している。これにより、ネットの折れ曲がり部の外側(凸側)からボールが衝突した場合であっても、ボールが衝突した際のより正確な挙動を再現することが可能になる。
【0112】
また、ネットの縁がゴールポストやクロスバーに固定されている場合に、縁から所定範囲内にあるネットにボールが衝突したときに、ネットの延在する向きであってボールの反衝突側にボールに対して反力を作用させる挙動修正用反力エリアが設定されており、ボール計算部44は、ボールがこの挙動修正用反力エリアとそれ以外の反力エリアの重複領域に進入したときに、これら両方から作用する反力を用いてボールの挙動を計算している。これにより、ネットがゴールポスト等に拘束されており、ボールがネットに衝突した際にこのゴールポスト等を越えないように押し戻す挙動をより正確に再現することができる。
【0113】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、サッカーゲーム装置においてゴールネットにボールが衝突する場合のボールの挙動を計算してその画像を生成する場合を説明したが、衝突対象となる物体は他の組み合わせであってもよい。
【0114】
また、上述した実施形態では、ゲーム演算部40と画像処理部50とを分けたが、ゲーム演算部40に画像処理部50の動作を行わせるようにしてもよい。
また、本実施形態では、図2に示すような専用の筐体を有する業務用のサッカーゲーム装置について説明したが、テレビジョン受像器をディスプレイ装置として使用する家庭用ゲーム装置やパーソナルコンピュータにおいてサッカー画像を生成する場合に本発明を適用することができる。
【0115】
【発明の効果】
上述したように、本発明によれば、反力が作用する領域を反力エリアとして設定して所定の反力を第2の物体に作用させることにより、複雑な計算を行うことなく少ない計算量で第2の物体の挙動をより正確に再現することができる。
【図面の簡単な説明】
【図1】一実施形態のサッカーゲーム装置の構成を示す図である。
【図2】本実施形態のゲーム装置の外観斜視図である。
【図3】本実施形態のサッカーゲームにおいて用いられるゴールの概要を示す図である。
【図4】ネットの正面に向かって内側からボールが飛んでくる場合の反力エリアモデルの説明図である。
【図5】ボールの衝突挙動を計算するボール計算部の動作手順を示す流れ図である。
【図6】ネットの左側面あるいは右側面にボールが飛んできた場合の反力エリアモデルの説明図である。
【図7】ネットの上面に向かってボールが飛んできた場合の反力エリアモデルの説明図である。
【図8】正面と左側面の境界近傍のゴールの隅に向けてボールが飛んでいく場合のボールの挙動を示す図である。
【図9】正面からゴールポスト近傍の左側面に向けてボールが戻された場合のボールの挙動を示す図である。
【図10】ゴールポストの近傍に飛んだボールを押し戻す場合の挙動修正用反力エリアモデルの説明図である。
【図11】クロスバーの近傍に飛んできたボールを押し戻す場合の挙動修正用反力エリアモデルの説明図である。
【図12】ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる反力エリアモデルの説明図である。
【図13】ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる挙動修正用反力エリアモデルの説明図である。
【図14】ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる反力エリアモデルの説明図である。
【図15】ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる反力エリアモデルの説明図である。
【図16】ネットの外側からボールが衝突した場合のボールの挙動を計算するために用いられる反力エリアモデルの説明図である。
【図17】ボールがネットの隅近傍に飛んできた場合のボールの挙動を示す図である。
【図18】ボールがネットの隅近傍に飛んできた場合のボールの挙動を示す図である。
【図19】本実施形態の計算で用いられるネットモデルの全体を示す図である。
【図20】ネットモデルの具体例を示す図である。
【図21】ノードの連結状態に着目したネットモデルの構造を示す図である。
【図22】本実施形態で用いられるネットの具体的形状を示す図である。
【図23】上面に接する各面の縁に対応して設定された拘束点のたるみ形状配置を示す図である。
【図24】ネットの揺動計算を行うネット計算部の動作手順を示す流れ図である。
【図25】ネットの衝突計算を行うネット計算部の動作手順を示す流れ図である。
【図26】ネットの衝突挙動計算に用いられる干渉エリアの説明図である。
【図27】ネットの衝突挙動計算に用いられる干渉エリアの説明図である。
【図28】ネットの衝突挙動計算の概要を示す図である。
【図29】ネットの衝突挙動計算の概要を示す図である。
【図30】ネットとボールの位置関係を示す図である。
【図31】ネットとボールの位置関係を示す図である。
【図32】ネットとボールの位置関係を示す図である。
【図33】ボールとネットの挙動計算の順番を示す図である。
【図34】生成されるポリゴンの具体例を示す図である。
【図35】ポリゴンに対応するテクスチャの具体例を示す図である。
【図36】各ポリゴンにテクスチャを貼り付けた後の六角形部分の画像を示す図である。
【符号の説明】
10 入力装置
20 ディスプレイ装置
30 コイン投入部
32 スタートボタン
40 ゲーム演算部
41 入力判定部
42 イベント処理部
43 ゲーム空間演算部
44 ボール計算部
45 ネット計算部
46 効果音生成部
50 画像処理部
52 透視投影変換処理部
54 テクスチャマッピング処理部
72 スピーカ
80 情報記録媒体[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation apparatus, method, and program for generating an image representing a behavior when another object such as a ball collides with a flexible sheet-like object such as a goal net of soccer.
[0002]
[Prior art]
Conventionally, by calculating the position coordinates of mass points placed on the entire surface of an object of flexible material such as cloth or membrane, based on the fixed part, the natural movement of the display object such as cloth can be achieved. An image generating device for expressing is known (for example, see Patent Document 1). In this image generating apparatus, after calculating the influence force acting on the mass point, the position of the mass point is adjusted when the distance between the adjacent mass points exceeds a predetermined distance, or the distance between the adjacent mass points falls within the predetermined position. In this way, the position of the mass point is adjusted.
[0003]
[Patent Document 1]
International Publication No. WO97 / 31338 Pamphlet (Pages 12-24, Figure 1-12)
[0004]
[Problems to be solved by the invention]
By the way, in the image generation device disclosed in
[0005]
The present invention was created in view of the above points, and its purpose is to generate an image generation apparatus that can more accurately reproduce the behavior of another object that collides with a flexible object with a small amount of calculation. It is to provide a method and program.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problem, the image generation apparatus of the present invention calculates the behavior of the second object colliding with the flexible first object and displays the image of the second object. Then, a reaction force area where a reaction force acts on the second object from the first object when the second object collides with the first object is set, and the first force is determined based on the force acting from the reaction force area. A behavior calculating means for calculating the behavior of the second object, an image generating means for generating an image corresponding to the second object whose behavior has been calculated by the behavior calculating means, and displaying the image generated by the image generating means on the screen Image display means.
[0007]
Further, the image generation method of the present invention sets a reaction force area where a reaction force acts on the second object from the first object when the second object collides with the flexible first object, Behavior calculating means for calculating the behavior of the second object based on the force acting from the reaction force area, image generating means for generating an image corresponding to the second object whose behavior is calculated by the behavior calculating means, An image generation method of an image generation apparatus comprising screen display means for displaying an image generated by the image generation means on a screen, wherein the behavior calculation means calculates the behavior of the second object, and the behavior calculation means A step of generating an image corresponding to the second object whose behavior has been calculated by the image generation unit; and a step of displaying the image generated by the image generation unit on the screen by the image display unit. That.
[0008]
The image generation program of the present invention calculates a behavior of a second object that collides with a flexible first object and displays a second object image by using a computer. A reaction force area in which a reaction force acts from the first object to the second object when it collides with the first object is set, and the behavior of the second object is calculated based on the force acting from the reaction force area A behavior calculation unit that performs the function, an image generation unit that generates an image corresponding to the second object whose behavior is calculated by the behavior calculation unit, and an image display unit that displays the image generated by the image generation unit on a screen. .
[0009]
When the second object collides with the flexible first object, if the first object is substantially uniform, a predetermined reaction force is applied from the first object to the second object. It is thought to act. Therefore, by setting the region where the reaction force acts as a reaction force area and applying a predetermined reaction force to the second object, the behavior of the second object can be reduced with a small amount of calculation without performing complicated calculations. It can be reproduced more accurately.
[0010]
In addition, it is desirable that the behavior calculation means described above calculates the acceleration and velocity of the second object in consideration of the acceleration after calculating the acceleration of the second object caused by the reaction force. By performing such calculation, if the reaction force acting on the second object from the reaction force area is appropriately set, the behavior of the second object caused by this reaction force can be reproduced more accurately. become.
[0011]
In addition, it is desirable that the acceleration described above includes a component due to the force of the first object that pushes back the second object when the second object enters the reaction force area. Generally, when a second object such as a ball collides with a flexible first object such as a net, the second object is pushed back by a reaction force generated by the deformation of the first object. Therefore, it is possible to reproduce a more accurate behavior at the time of collision by including the component of the pushing back force in the acceleration generated in the second object.
[0012]
In addition, it is desirable that the acceleration described above includes a component indicating the attenuation of the velocity of the second object that occurs when the second object enters the reaction force area. Generally, when the second object collides with the first object, the speed of the second object is attenuated at the time of the collision. Therefore, it is possible to reproduce more accurate behavior at the time of collision by including such a velocity attenuation component in the acceleration generated in the second object.
[0013]
The acceleration described above preferably includes a component due to friction between the first object and the second object that occurs when the second object enters the reaction force area. Generally, when the second object collides with the first object, a frictional force between them acts on the second object. Therefore, by including such a frictional force component in the acceleration generated in the second object, it is possible to reproduce a more accurate behavior at the time of collision.
[0014]
Further, in the above-described acceleration, when the second object enters the reaction force area corresponding to the predetermined range from the edge of the first object, the second object moves along the first object. Is desirable. When the first object is deformed into a concave shape when the second object collides with the first object, the second object may move along the concave shape. Therefore, in such a case, it is possible to reproduce a more accurate behavior at the time of collision by including a component in which the second object moves along the first object in the acceleration generated in the second object. become.
[0015]
Further, it is desirable that the reaction force area described above is set on one side with respect to the surface constituting the first object and on the anti-collision side of the second object. As a result, it is possible to more accurately reproduce the behavior caused by receiving the reaction force after the second object collides with the first object.
[0016]
The reaction force area described above is set to include a range in which the first object may collide with the second object and a range in which the first object may be deformed by the collision. It is desirable. This makes it possible to set the range in which the second object receives the reaction force from the first object as a reaction force area, and more accurately the behavior when the second object collides with the first object. Can be reproduced.
[0017]
Further, when the first object described above has a shape obtained by bending two or more surfaces, it is desirable that a plurality of reaction force areas are set corresponding to the respective surfaces. When the first object has a plurality of surfaces, by setting a reaction force area for each surface, it becomes possible to calculate the behavior of the second object corresponding to the collided surface. It is possible to more accurately reproduce the behavior when the second object collides with the first object having a shape.
[0018]
In addition, the reaction force areas described above are partly set to overlap each other, and the behavior calculation means is configured such that when the second object enters an overlapping region of the plurality of reaction force areas, the plurality of reaction force areas are It is desirable to calculate the behavior of the second object using the reaction force acting from Thereby, it is possible to reproduce a complicated behavior when the second object collides in the vicinity where a plurality of surfaces of the first object intersect.
[0019]
In addition, the plurality of reaction force areas described above are partially overlapped with each other, and the behavior calculation means is when the second object enters the overlap region of the plurality of reaction force areas, When the first object enters from a bent part exceeding 180 degrees, only the reaction force acting from the reaction force area set corresponding to the surface on which the second object collides first is used. It is desirable to calculate the behavior. As a result, it is possible to reproduce a more accurate behavior when the second object collides from the convex side of the intersection formed by a plurality of surfaces connected to the first object.
[0020]
In addition, when the edge of the first object described above is fixed, when the second object collides with the first object within a predetermined range from the edge, the first object extends in the extending direction. In addition, a reaction correcting reaction area for applying a reaction force to the second object is further set on the anti-collision side of the second object, and the behavior calculation means includes the second object as a reaction force area. It is desirable to calculate the behavior of the second object using the reaction force acting from both the reaction force area and the behavior correcting reaction force area when entering the overlapping region of the behavior correcting reaction force area. Thereby, the 1st object is restrained by the rod-shaped member, and the behavior at the time of the 2nd object colliding can be reproduced more correctly.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a soccer game device according to an embodiment to which the present invention is applied will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration of a soccer game device according to an embodiment. FIG. 2 is an external perspective view of the game apparatus according to the present embodiment.
[0022]
As shown in FIGS. 1 and 2, the soccer game device of the present embodiment includes an
[0023]
As shown in FIG. 2, the
[0024]
The
The
[0025]
The
[0026]
The
[0027]
The
[0028]
The
The
[0029]
Based on the operation content of the
The game
[0030]
The game
[0031]
The
[0032]
In this way, when the behavior of each three-dimensional object is calculated by the game
[0033]
The soccer goal net described above corresponds to the flexible first object, and the ball corresponds to the second object. Further, the
[0034]
As described above, the ball behavior calculation is performed by the
[0035]
(1) Ball collision behavior
First, the details of the collision behavior when the ball kicked by each character of the player character, the other team or the enemy team collides with the goal net will be described.
[0036]
In this embodiment, when calculating the behavior of the ball when colliding with the net, the calculation was performed using the “reaction force area model” shown in detail below, instead of calculating the reaction force actually received from the net. . The reaction force area model is such that when a ball enters a predetermined space area (reaction force area), the force is received from the space according to the position and speed, and the speed is changed.
[0037]
In this model, it is possible to simulate the behavior of the ball due to the interaction between the net and the ball without performing complicated calculation processing due to the interaction between the net and the ball. If the reaction force applied to the ball is set appropriately, the ball always returns to the collision side (inner side when colliding from the inside of the soccer goal, outside side when colliding from the outside).
[0038]
FIG. 3 is a diagram showing an outline of a goal used in the soccer game of the present embodiment. As shown in FIG. 3, the goal consists of two left and right goal posts GP1 and GP2, a cross bar CB attached so as to connect these upper ends, a left side A, a right side B, an upper surface C, and a front D. And the net.
[0039]
FIG. 4 is an explanatory diagram of a reaction force area model when the ball BO is flying from the inside (front side) toward the front D of the net. The origin O is the position on the ground that is approximately in the center of the line connecting the net side ends of the goal posts GP1 and GP2. When the goal is viewed from the front side, the x-axis positive direction is set to the right in the horizontal direction from the origin O, the y-axis positive direction is set to the upper side in the vertical direction, and the z-direction positive direction is set to the front side in the horizontal direction. .
[0040]
(1-1) Behavior of the ball on the front D
The reaction force area model when the ball BO flies toward the front D of the net so as to pass between the goal posts GP1 and GP2 is a predetermined range from the boundary surface of the reference position in the z-axis direction to the negative z-axis direction. Is set as the reaction force area. For the reference position, a range in which a force may be received from the front D of the net is taken into consideration. For example, as shown in FIG. 4, assuming that the net swings, the reference position is set slightly ahead (z-axis positive direction) from the state where the front D of the net hangs down due to its own weight. Also, the depth of entry from the reference position of the ball BO that has entered the reaction force area is defined as d.1And The reference position may be a position where the front surface D of the net hangs down due to its own weight.
[0041]
FIG. 5 is a flowchart showing an operation procedure of the
[0042]
Step 100: First, the
First term on the right side (K1d1 2N) represents the acceleration component of the ball due to the force with which the net pushes back the ball. K1Is a coefficient representing the strength to push back.
[0043]
Second term on the right side (K2d1 2| V · N | N) represents a component corresponding to the attenuation of the ball velocity in the direction perpendicular to the boundary surface. K2Is a coefficient representing the strength of attenuation, and the value varies depending on the direction of the velocity vector V as follows.
K2= K2a (When V · N ≧ 0)
K2= K2b (When V · N <0)
The third term on the right side (KThreed1 2(V− | V · N | N)) represents a component corresponding to the attenuation of the ball in the direction parallel to the boundary surface. KThreeIs a coefficient indicating the strength of attenuation.
[0044]
4th term on the right side (KFourK1d1 2(1-Py/ H1)2) Represents the acceleration component of the roll of the ball. H1Is half the net height, KFourIs a coefficient representing the strength of rolling up. However, Py/ H1K if ≧ 1Four= 0. Also, if V · N ≧ 0, KFour= 0. The “rolling up of the ball” refers to a phenomenon in which when the ball hits the net at a low position, the net works like a climbing slope and the ball moves so as to climb the net.
[0045]
Right-side fifth term (KFiveK1d1 2(R (R × N) −V) / | r (R × N) −V |) represents an acceleration component due to friction between the ball and the net. KFiveRepresents the coefficient of friction between the ball and the net. r is the radius of the ball.
The sixth term (G) on the right side is a gravitational acceleration vector.
[0046]
Step 101: Next, the
V '= V + at1 ... (2)
In this equation (2), V 'is the speed of the new ball to be calculated. V is the velocity of the ball calculated in the previous ball behavior calculation. t1Is the repetition interval of the behavior calculation of the ball, and in this embodiment t1= 1/240 seconds.
[0047]
Step 102: Next, the
P '= P + V't1 ... (3)
In this equation (3), P 'is the position of a new ball to be calculated. P is the position of the ball calculated in the previous ball behavior calculation.
[0048]
In this way, t1The position of the ball is calculated every (= 1/240 seconds).
(1-2) Ball behavior on left side A and right side B
Even when the ball flies toward a surface other than the front D, the ball receives a force from each surface. Therefore, by setting a reaction force area similar to that of the front D, the ball is moved according to the procedure shown in FIG. Behavior can be calculated.
[0049]
FIG. 6 is an explanatory diagram of a reaction force area model when a ball flies to the left side A or right side B of the net.
The reaction force area model when the ball flies toward the left side A of the net so as to pass between the goal posts GP1 and GP2 is a predetermined range from the boundary surface of the reference position in the x-axis direction to the negative x-axis direction. Is set as the reaction force area. In addition, the depth of entry from the reference position of the ball that has entered the reaction force area is a1And
[0050]
When the ball enters the reaction force area corresponding to the left side surface A, the ball acceleration calculation (step 100), the ball speed calculation (step 101), and the ball position calculation are performed according to the procedure shown in FIG. (Step 102) can be obtained. However, the penetration depth d of the ball included in each term on the right side of equation (1)1A1The acceleration a is calculated in place of
[0051]
The same applies to the right side surface B. That is, the behavior when the ball enters the reaction force area corresponding to the right side surface B is also calculated according to the procedure shown in FIG. 5, the ball acceleration calculation (step 100), the ball speed calculation (step 101), It can be obtained by performing position calculation (step 102). However, the penetration depth d of the ball included in each term on the right side of equation (1)1, The depth of entry b from the reference position of the ball that has entered the reaction force area set corresponding to the right side B1The acceleration a is calculated in place of
[0052]
(1-3) Ball behavior on the upper surface C
FIG. 7 is an explanatory diagram of a reaction force area model when a ball flies toward the upper surface C of the net.
The reaction force area model when the ball flies toward the upper surface C of the net so as to pass between the goal posts GP1 and GP2 and below the crossbar CB is expressed by the y-axis from the boundary surface of the reference position in the y-axis direction. A predetermined range toward the positive direction is set as the reaction force area. In addition, the depth of entry from the reference position of the ball that has entered the reaction force area is c1And
[0053]
The behavior when the ball enters the reaction force area corresponding to the upper surface C is also basically calculated according to the procedure shown in FIG. 5 (step 100), ball speed calculation (step 101), ball Can be obtained by performing the position calculation (step 102).
[0054]
However, the penetration depth d of the ball included in each term on the right side of equation (1)1C1The acceleration a is calculated in place of Further, in the case of the upper surface C, since the ball does not roll up, the fourth term on the right side of the equation (1) (KFourK1d1 2(1-Py/ H1)2) Is omitted, and the acceleration of the ball is calculated.
[0055]
(1-4) Overlapping reaction force areas
FIG. 8 is a diagram illustrating the behavior of the ball when the ball flies toward the corner of the goal near the boundary between the front surface D and the left surface A. As shown in FIG. 8, when the ball BO is kicked toward the corner of the goal, the ball moves from the front D to the left side A. The behavior of the ball at the position where the reaction force areas overlap is that the force received from the reaction force area on the front surface D shown in FIG. 4 and the force received from the reaction force area on the left side surface A shown in FIG. Just do it. That is, the acceleration of the ball in the reaction force area of the front D shown in FIG. 4 using the equation (1) and the acceleration of the ball in the reaction force area of the left side surface A shown in FIG. By calculating the ball speed and the position of the ball using the combined acceleration, it is possible to reproduce the natural behavior when the ball is kicked to the corner of the goal.
[0056]
(1-5) Ball behavior near goalpost and crossbar
The ball kicked into the goal may be returned to the left side A near the goal post GP1 or the right side B near the goal post GP2 by the force received from the reaction force area of the front D.
[0057]
FIG. 9 is a diagram illustrating the behavior of the ball when the ball is returned from the front D toward the left side A near the goal post GP1. As shown in FIG. 9, when the ball moves from the front D in the P1 direction, the ball BO receives a force from the reaction force area corresponding to the left side A shown in FIG. 6, and the ball is returned in the P3 direction. However, since there is actually the goal post GP1, it is necessary that the ball BO does not return in the P3 direction but moves in the P2 direction which is close to the opposite direction to the P1 direction. The same applies to the case where the ball is returned from the front surface D toward the upper surface C.
[0058]
For this reason, in this embodiment, when the ball is returned from the front D to the left side A, right side B near the goal posts GP1 and GP2, or the upper side C near the crossbar CB, in the direction in which the ball flew. In order to push back, a special reaction force area (reaction force area for behavior correction) is set.
[0059]
FIG. 10 is an explanatory diagram of a reaction force area model in the case of pushing back a ball that has flew near the goal posts GP1 and GP2.
When the ball flies from the front D toward the left side A near the goal post GP1, the reaction force area model is outside the left side A and extends from the boundary surface of the reference position in the z-axis direction to the z-axis. A predetermined range toward the positive direction is set as the reaction force area. Further, the entry depth from the reference position of the ball that has entered the reaction force area is assumed to be e1.
[0060]
The reaction force area set in this way partially overlaps with the reaction force area corresponding to the left side surface A shown in FIG. Therefore, a ball that has entered the reaction force area corresponding to the left side A shown in FIG. 10 receives force from both the reaction force area and the reaction force area corresponding to the left side A shown in FIG. Become. Such overlapping of reaction force areas is the same as when the ball has entered the corner of the goal shown in FIG. 8, and after synthesizing the acceleration of the ball in consideration of the forces received from the two reaction force areas, By calculating the velocity of the ball and the position of the ball using the synthesized acceleration, it becomes possible to move the ball BO in the direction P2 shown in FIG. 9, and when the ball flies near the goal post GP1. It is possible to reproduce natural behavior.
[0061]
In the above description, the reaction force area model when the ball flew from the front D toward the left side A near the goal post GP1 is considered, but from the front D to the right side B near the goal post GP2. The same applies to the reaction force model when the ball flies towards you.
[0062]
FIG. 11 is an explanatory diagram of a reaction force reaction area model for correcting behavior when a ball flying near the cross bar CB is pushed back.
The reaction force area model when the ball flies from the front D toward the upper surface C in the vicinity of the crossbar CB is above the upper surface C and extends from the boundary surface of the reference position in the z-axis direction to the z-axis positive direction. A predetermined range toward the reaction force area is set. Further, the depth of entry from the reference position of the ball that has entered the reaction force area is defined as e3.
[0063]
The reaction force area set in this way partially overlaps with the reaction force area corresponding to the upper surface C shown in FIG. Therefore, the ball that has entered the reaction force area corresponding to the upper surface C shown in FIG. 11 receives force from both the reaction force area and the reaction force area corresponding to the upper surface C shown in FIG. Such overlapping of reaction force areas is the same as when reaction force areas are set in the vicinity of goal posts GP1 and GP2 shown in FIG. 10, and the acceleration of the ball in consideration of the forces received from the two reaction force areas. Then, by calculating the velocity of the ball and the position of the ball using the synthesized acceleration, it is possible to reproduce the natural behavior when the ball flies near the crossbar CB.
[0064]
(1-6) Ball behavior when flying from outside and hitting the net
By the way, in the various cases described above, the behavior when the ball collides with the goal net after passing between the goal posts GP1 and GP2 has been considered, but the ball may collide with the goal net from around the goal. Even in such a case, the behavior of the ball can be calculated by setting reaction force area models corresponding to the front D, the left side A, the right side B, and the top C, respectively.
[0065]
Each of FIG. 12 to FIG. 16 is an explanatory diagram of a reaction force area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 12 shows the reaction force area when the ball flies from the outside (back side) toward the front D of the net. For such a ball, a predetermined range from the boundary surface of the reference position in the z-axis direction to the z-axis positive direction is set as the reaction force area.
[0066]
FIG. 13 shows the reaction force area when the ball flies from the outside toward the left side A or the right side B of the net. For a ball flying from the outside toward the left side A, a predetermined range from the boundary surface of the reference position in the x-axis direction to the x-axis positive direction is set as the reaction force area. For a ball flying from the outside toward the right side B, a predetermined range in the x-axis negative direction from the boundary surface of the reference position in the x-axis direction is set as the reaction force area.
[0067]
FIG. 14 shows a reaction force area when a ball flies from the outside to the upper surface C of the net. For such a ball, a predetermined range from the boundary surface of the reference position in the y-axis direction to the negative y-axis direction is set as the reaction force area.
FIG. 15 shows a reaction force reaction area for correcting the behavior when the ball flies from the outside to the left side A near the goal post GP1 or the right side B near the goal post GP2. For a ball flying toward the left side A in the vicinity of the goal post GP1, a predetermined range inward from the boundary surface of the reference position in the z-axis direction toward the z-axis positive direction is opposite to the left side A. Is set as a force area. In addition, for a ball flying toward the right side B near the goal post GP2, a predetermined range that is inside the right side B and extends from the boundary surface of the reference position in the z-axis direction toward the z-axis positive direction. Is set as the reaction force area.
[0068]
FIG. 16 shows a reaction force area for behavior correction when a ball flies from the outside to the upper surface C in the vicinity of the cross bar CB. For such a ball, a predetermined range is set as a reaction force area that is lower than the upper surface C and extends from the boundary surface of the reference position in the z-axis direction in the positive z-axis direction.
[0069]
When the ball collides with the net from the inside, if the two reaction force areas overlap (for example, if the ball flies to the corner of the goal), separate from these two reaction force areas Although the acceleration, velocity, and position of the ball are calculated as receiving force, if the calculation is performed by the same method when the ball collides from the outside of the net, it may not match the actual behavior.
[0070]
For example, as shown in FIG. 17, consider a case where a ball BO is flying in the P4 direction from the outside near the front surface D of the left side surface A. Based on the position of the ball BO, the reaction force area shown in FIG. 13 and the reaction force area shown in FIG. 12 are extracted as reaction force areas to be calculated. However, if the position of the ball is calculated assuming that the ball BO receives force from these two reaction force areas, as shown in FIG. 18, the ball is pushed back in an oblique P5 direction different from the P4 direction in which the ball BO has traveled. Will be. As the actual behavior of the ball, the ball BO should be pushed back in the direction of P6 that has flew.
[0071]
In this embodiment, when the ball flies from the outside of the net and collides (when the ball flies from the side where the two surfaces of the net cross over 180 degrees), force is applied from the two reaction force areas. The calculation is based on the assumption that the force is received only from the reaction force area set corresponding to the first collision surface. For example, in the example shown in FIG. 17, since the ball BO first collides with the left side surface A, the behavior of the ball BO is calculated considering only the reaction force area shown in FIG. The behavior of the ball BO that is pushed back in the P6 direction is expressed. Thereby, even when the ball collides from the outside (convex side) of the bent portion of the net, it is possible to reproduce a more accurate behavior when the ball collides.
[0072]
(2) Net behavior
Next, the behavior of the net will be described. The behavior of the net calculated by the
[0073]
FIG. 19 is a diagram illustrating the entire net model used in the calculation of the present embodiment. FIG. 20 is a diagram showing a specific example of the net model.
As shown in FIGS. 19 and 20, the net model used in this embodiment has a hexagonal mesh structure. Each hexagonal part constituting the mesh is composed of a node arranged at each vertex of the hexagon and a connection line connecting adjacent nodes. This net model is a “spring-mass point”, and the mass concentrates only on the node as the mass point, and only the tensile tension due to the connection acts on each node (the force in the compression direction does not act).
[0074]
The hexagonal mesh structure shown in FIG. 19 and FIG. 20 is adopted with reference to the actual shape of the goal net. The size of each hexagonal part included in this mesh structure is actually It is set larger than each hexagonal part included in the goal net. This is because the amount of calculation can be reduced by reducing the number of nodes.
[0075]
FIG. 21 is a diagram illustrating the structure of a net model focusing on the node connection state. The numbers given to each node in FIG. 21 correspond to the numbers given to each node in FIG.
As shown in FIG. 21, in the net model of the present embodiment, data of each node is stored in the order of numbers assigned to each node. Basically, the odd-numbered nodes are connected to the left and right nodes (nodes with one smaller number and nodes with one larger number) and upper nodes (nodes with nine larger numbers). The even-numbered nodes are connected to the left and right nodes and the lower nodes (nodes with nine smaller numbers). Note that the nodes arranged at the left end, the right end, the upper end, and the lower end of the net are irregularly connected.
[0076]
FIG. 22 is a diagram showing a specific shape of the net used in the present embodiment. As shown in FIG. 3, the net used in the soccer game of the present embodiment is composed of a left side surface A, a right side surface B, an upper surface C, and a front surface D. Among these, the left side A, the right side B, and the front D are collectively considered as one net (FIG. 22A), and the remaining upper surface C is considered as one net (FIG. 22B). The net behavior is calculated by connecting the two. Further, the remaining upper surface C is considered as one net (FIG. 22B), and the behavior of the net is calculated.
[0077]
(2-1) Net swing behavior
The edge portion and the upper surface of the net are restrained by the following method.
-The front edge (the part in contact with the goal posts GP1, GP2 and the cross bar CB) fixes the node to the goal posts GP1, GP2 and the cross bar CB.
・ For the lower edge (the part in contact with the ground), fix the node to the ground.
For the entire upper surface C and the edges of the surfaces in contact with the upper surface C (the upper ends of the left side surface A, the right side surface B, and the front surface D), the constraining points are arranged in a slack shape, and the nodes are spring constrained to the constraining points. Here, the “sag shape” means that when the ends of a straight line or the vertices of a plurality of edges surrounding a plane are fixed, the inside surrounded by the fixed part is slackened by the action of gravity. Refers to the shape. Further, “spring restraint at a restraint point” means that a node is connected to the restraint point via a spring.
[0078]
FIG. 23 is a diagram showing a sagging shape arrangement of restraint points set corresponding to the edge of each surface in contact with the upper surface. Thus, by using the restraint points arranged in a slack shape, it is possible to more realistically reproduce the state where the net actually hangs down due to its own weight. In order to obtain an appropriate slack shape only with the spring force of each connection connecting the nodes, it is necessary to increase the spring constant (spring load), but this makes it difficult for the net swing calculation to converge. . On the other hand, when the restraint points arranged in the above-described slack shape are employed, the proper slack shape of the net can be reproduced even when a small spring constant is used, and the spring constant is reduced. Thus, it is possible to prevent the fluctuation calculation of the net from converging.
[0079]
Although FIG. 23 shows the arrangement state of the constraint points corresponding to the upper end of the net, when the upper surface C is constrained, the constraint points arranged in a slack shape corresponding to the entire upper surface C, that is, the upper surface A restraint point arranged so that the vicinity of the center of C is lowered lowest and becomes higher toward the edge of the upper surface C may be used.
[0080]
FIG. 24 is a flowchart showing an operation procedure of the
Ii, j= Pj-Pi
Ij, i= -Ii, j (4)
It becomes.
[0081]
Step 200: First, the
Ti, j= 0 ... (| Ii, j| ≦ Li, jin the case of)
Ti, j= K11(| Ii, j| / Li, j-1.0) ... (| Ii, j| > Li, jin the case of)
Where K11Is a coefficient representing the strength of the spring, Li, jIs connection Ai, jThis is the initial setting value of the length. Tj, i= -Ti, jIt is.
[0082]
Step 201: Next, the
Fi= ΣTi, j+ K12(Si-Pi-K13| Vi| Vi ... (5)
The first term on the right side (ΣTi, j) Is node NiRepresents the resultant force acting from the connection. Second term on the right side (K12(Si-Pi)) Represents the restraining force due to the spring restraint. SiIs node NiThe position coordinates of the constraint point12Is a coefficient representing the spring strength of restraint. This term is not necessary for nodes other than nodes that are spring-constrained (nodes that are constrained to a constraining point arranged in a slack shape). The third term on the right side (K13| Vi| Vi) Represents the damping force and K13Is a coefficient that determines the magnitude of attenuation.
[0083]
Step 202: Next, the
ai= Fi/ M + G (6)
Here, M is the mass of the node, and G is the gravitational acceleration vector.
[0084]
Step 203: Next, the
dVi= Ait2 ... (7)
Where t2Is the repetition interval of the net behavior calculation, and in this embodiment t2= 1/120 second.
[0085]
Step 204: Next, the
V ’i= Vi+ DVi ... (8)
Step 205: Next, the
[0086]
P ’i= Pi+ (V ’i+ K14dVi) T2 ... (9)
Where K14Is a correction coefficient for stabilizing the calculation, and K14= 0.1.Step 206: Finally, the
[0087]
In this way, the position of each node is set to a predetermined interval t.2It is calculated every (= 1/120 seconds).
(2-2) Collision behavior of net
As described above, when a tensile force acts on each node, each node constituting the net moves and swings in the direction in which the force is applied. The shape of the entire net changes.
[0088]
FIG. 25 is a flowchart illustrating an operation procedure of the
Step 300: First, the
[0089]
FIG. 26 and FIG. 27 are explanatory diagrams of interference areas used for calculating the collision behavior of the net. As shown in FIG. 26, the interference areas W1, W2, and W3 are set so as to include the left side A, the right side B, and the front D of the net. Further, as shown in FIG. 27, the interference area W4 is set so as to include the upper surface C of the net.
[0090]
When the ball belongs to any one of these four interference areas W1 to W4, a process of moving a node constituting the net so as to correspond to the position of the ball is performed according to the procedure shown below. If the ball does not belong to the interference area, a negative determination is made, and the calculation of the collision behavior of the net is completed without moving the nodes constituting the net.
[0091]
Step 301: Next, the
[0092]
Step 302: Next, the
[0093]
Step 303: Next, the
[0094]
As described above, when the ball collides with the net, the node closest to the ball is moved to the tip position of the ball, and the adjacent node is moved by a half of the distance. In the above description, it is assumed that the ball flies from the inside of the goal toward the net. However, the same applies to the case where the ball flies from the outside of the goal toward the net. The procedure shown in FIG. Then, the closest node of the ball and its adjacent nodes may be moved.
[0095]
By the way, when the ball is in the vicinity of the net, whether the ball has flew from the inside of the goal or from the outside cannot be determined only by the position of the ball at the time of the collision.
30 and 31 are diagrams showing the positional relationship between the net and the ball. As shown in FIG. 30, when the ball BO flies from the inside of the goal and collides with the net, it is necessary to move the net to the left side of the ball. However, as shown in FIG. 31, even if the position of the ball is exactly the same as in FIG. 30, if the ball BO flies from the outside of the goal and collides with the net, it is necessary to move the net to the right side of the ball. There is. Thus, it is impossible to know whether the ball BO is inside or outside the goal only by the position of the ball BO at the time of collision.
[0096]
Therefore, in the present embodiment, the
[0097]
According to the rules of soccer, “Ball BO exceeds the goal line” means the time when the entire ball goes out of the goal line width, but the timing for making the inside / outside determination is not necessarily exactly at this time. There is no need, and it is only necessary that the inside / outside determination can be made before the ball BO collides with the net. For example, the inside / outside determination may be performed when the center position of the ball BO first exceeds the center of the goal line.
[0098]
Further, when the ball BO that has passed the goal line inside the goal posts GP1 and GP2 returns beyond the goal line outside the goal posts GP1 and GP2, the holding information is not discarded and the holding state is maintained. . The same applies when the ball BO that has passed the goal line outside the goal posts GP1 and GP2 returns beyond the goal line inside the goal posts GP1 and GP2. This makes it possible to perform accurate inside / outside determination even in the case shown in FIG.
[0099]
(3) Relationship between ball behavior calculation and display operation
As described above, the calculation of the ball behavior is performed four times during the display interval (the time interval for updating the display content of the display device 20), and the calculation of the swing behavior of the net is performed twice during the display interval. The net collision behavior calculation is performed twice during the display interval.
[0100]
FIG. 33 is a diagram showing the order of calculating the behavior of the ball and the net. As shown in FIG. 33, the net behavior calculation is performed twice while the display is performed once, and the ball behavior calculation is performed twice while the net behavior calculation is performed once, resulting in one display. The behavior calculation of the ball is performed four times within the period. After such four ball behavior calculations and two net behavior calculations, the game
[0101]
Further, as shown in FIG. 20, the goal net of the present embodiment has a hexagonal mesh structure, and each hexagonal portion is considerably larger than the hexagonal portion of the actual goal net. Is set. Therefore, at the time of display, by performing display processing for further dividing each hexagonal portion shown in FIG. 20 into a plurality of polygons and pasting texture data including a plurality of small hexagonal portions for each polygon. A realistic image close to the actual goal net has been generated.
[0102]
FIG. 34 is a diagram showing a specific example of the generated polygon. As shown in FIG. 34, the game
FIG. 35 is a diagram illustrating a specific example of a texture corresponding to a polygon. FIG. 36 is a diagram showing an image of the hexagonal portion after the texture is pasted on each polygon. As shown in these figures, when the texture
[0103]
As for the ball, a three-dimensional spherical object corresponds to the calculated ball position (center coordinate), and the vertex coordinates of a plurality of polygons constituting the three-dimensional object are calculated by the game
[0104]
Thus, when the ball collides with the net of the soccer goal, it is considered that a predetermined reaction force acts on the ball from the net if the net is substantially uniform. Therefore, by setting the region where the reaction force acts as the reaction force area and applying the predetermined reaction force to the ball, the behavior of the ball can be reproduced more accurately with a small amount of calculation without performing complicated calculations. Can do.
[0105]
In addition, the
[0106]
In particular, in the acceleration described above, a component due to the force by which the net pushes back the ball when the ball enters the reaction force area, a component indicating the attenuation of the velocity of the ball that occurs when the ball enters the reaction force area, By including a component due to friction between the net and the ball that occurs when the ball enters the reaction force area, it is possible to reproduce a more accurate behavior at the time of ball collision.
[0107]
In addition, since the acceleration described above includes a component that moves when the ball enters the reaction force area corresponding to a predetermined range from the edge of the net, the ball after the collision is It is possible to reproduce the behavior of moving along the line more accurately.
[0108]
In addition, the reaction force area may be set on one side of the surface of the net and on the anti-collision side of the ball, or the range where the net may collide with the ball or the net may be deformed by this collision. By setting to include a certain range, it is possible to set the range where the ball receives reaction force from the net as the reaction force area, and more accurately reproduce the behavior when the ball collides with the net it can.
[0109]
In addition, when the net is bent, multiple reaction force areas are set corresponding to each surface, so it is possible to calculate the behavior of the ball corresponding to each surface of the collided net. It is possible to more accurately reproduce the behavior when the ball collides with a net having a complicated shape.
[0110]
In addition, the reaction force areas set corresponding to the plurality of bent surfaces are partially overlapped with each other, and the
[0111]
Further, when the reaction force area is set by partially overlapping each other, the
[0112]
In addition, when the edge of the net is fixed to the goal post or cross bar, when the ball collides with the net within the specified range from the edge, the net extends in the direction opposite to the ball's anti-collision side. When a reaction force reaction area for applying a reaction force to the ball is set, and the
[0113]
In addition, this invention is not limited to the said embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention. For example, in the embodiment described above, a case has been described in which a ball behavior is calculated when a ball collides with a goal net in a soccer game device, and an image thereof is generated. However, objects to be collided are other combinations. May be.
[0114]
In the above-described embodiment, the
Further, in the present embodiment, the business-use soccer game device having a dedicated housing as shown in FIG. 2 has been described, but a soccer image is used in a home game device or a personal computer that uses a television receiver as a display device. The present invention can be applied when generating
[0115]
【The invention's effect】
As described above, according to the present invention, by setting the region where the reaction force acts as the reaction force area and causing the predetermined reaction force to act on the second object, the amount of calculation is reduced without performing complicated calculations. Thus, the behavior of the second object can be reproduced more accurately.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a soccer game device according to an embodiment.
FIG. 2 is an external perspective view of the game device according to the present embodiment.
FIG. 3 is a diagram showing an outline of a goal used in the soccer game of the present embodiment.
FIG. 4 is an explanatory diagram of a reaction force area model when a ball flies from the inside toward the front of the net.
FIG. 5 is a flowchart showing an operation procedure of a ball calculation unit for calculating a ball collision behavior.
FIG. 6 is an explanatory diagram of a reaction force area model when a ball flies to the left side or right side of the net.
FIG. 7 is an explanatory diagram of a reaction force area model when a ball flies toward the upper surface of the net.
FIG. 8 is a diagram illustrating the behavior of a ball when the ball flies toward a corner of a goal near the boundary between the front surface and the left side surface.
FIG. 9 is a diagram showing the behavior of the ball when the ball is returned from the front toward the left side near the goal post.
FIG. 10 is an explanatory view of a reaction force reaction area model for correcting behavior when a ball flew near the goal post is pushed back.
FIG. 11 is an explanatory view of a reaction force reaction area model for correcting behavior when a ball flying near the crossbar is pushed back.
FIG. 12 is an explanatory diagram of a reaction force area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 13 is an explanatory diagram of a behavior correcting reaction area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 14 is an explanatory diagram of a reaction force area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 15 is an explanatory diagram of a reaction force area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 16 is an explanatory diagram of a reaction force area model used for calculating the behavior of a ball when the ball collides from the outside of the net.
FIG. 17 is a diagram illustrating the behavior of a ball when the ball has flew near the corner of the net.
FIG. 18 is a diagram illustrating the behavior of a ball when the ball has flew near the corner of the net.
FIG. 19 is a diagram showing an entire net model used in the calculation of the present embodiment.
FIG. 20 is a diagram illustrating a specific example of a net model.
FIG. 21 is a diagram illustrating the structure of a net model focusing on the connection state of nodes.
FIG. 22 is a diagram showing a specific shape of a net used in the present embodiment.
FIG. 23 is a diagram showing a slack shape arrangement of restraint points set corresponding to the edges of each surface in contact with the upper surface.
FIG. 24 is a flowchart illustrating an operation procedure of a net calculation unit that performs net swing calculation.
FIG. 25 is a flowchart showing an operation procedure of a net calculation unit that performs a net collision calculation.
FIG. 26 is an explanatory diagram of interference areas used for net collision behavior calculation.
FIG. 27 is an explanatory diagram of interference areas used for net collision behavior calculation;
FIG. 28 is a diagram showing an outline of net collision behavior calculation.
FIG. 29 is a diagram showing an outline of net collision behavior calculation.
FIG. 30 is a diagram showing a positional relationship between a net and a ball.
FIG. 31 is a diagram showing a positional relationship between a net and a ball.
FIG. 32 is a diagram showing a positional relationship between a net and a ball.
FIG. 33 is a diagram showing an order of behavior calculation of a ball and a net.
FIG. 34 is a diagram illustrating a specific example of a generated polygon.
FIG. 35 is a diagram illustrating a specific example of a texture corresponding to a polygon.
FIG. 36 is a diagram showing an image of a hexagonal part after a texture is pasted on each polygon.
[Explanation of symbols]
10 Input device
20 Display device
30 coin insertion part
32 Start button
40 Game calculation part
41 Input determination unit
42 Event processing section
43 Game Space Calculation Unit
44 ball calculator
45 Net calculator
46 Sound effect generator
50 Image processing section
52 perspective projection conversion processing unit
54 Texture mapping processor
72 Speaker
80 Information recording media
Claims (20)
前記第2の物体が前記第1の物体に衝突したときに前記第1の物体から前記第2の物体に反力が作用する反力エリアを、前記第1の物体が前記第2の物体と衝突する可能性のある範囲およびこの衝突によって前記第1の物体が変形する可能性のある範囲を含むように設定し、この反力エリアから作用する力に基づいて前記第2の物体の挙動を繰り返し時間t毎に計算する挙動計算手段と、
前記挙動計算手段によって挙動が計算された前記第2の物体に対応する画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を画面に表示する画像表示手段と、
を備え、前記挙動計算手段は、前記第2の物体の前記反力エリアへの進入深さをdとしたときに、この進入深さdに基づいて前記第2の物体の加速度aを計算し、この加速度aを用いて時間tが経過した後の新たな速度V’を計算し、さらにこの速度V’を用いて時間tが経過した後の新たな位置P’を計算することにより、前記第2の物体の挙動を計算することを特徴とする画像生成装置。An image generation apparatus that calculates a behavior when a second object collides with a sheet-like first object that is deformed when the second object collides, and displays an image of the second object. There,
A reaction force area in which a reaction force acts on the second object from the first object when the second object collides with the first object , the first object and the second object A range that may collide and a range in which the first object may be deformed by the collision are set to include, and the behavior of the second object is determined based on the force acting from the reaction force area. A behavior calculating means for calculating every repetition time t;
Image generating means for generating an image corresponding to the second object whose behavior is calculated by the behavior calculating means;
Image display means for displaying an image generated by the image generation means on a screen;
The behavior calculating means calculates the acceleration a of the second object based on the approach depth d, where d is the approach depth of the second object to the reaction force area. By calculating a new speed V ′ after the elapse of time t using this acceleration a, and further calculating a new position P ′ after the elapse of time t using this speed V ′, An image generation apparatus characterized by calculating a behavior of a second object.
前記加速度aには、前記第1の物体が前記第2の物体を押し戻す強さを表す係数K1と前記進入深さdとに基づいて算出される加速度成分が含まれていることを特徴とする画像生成装置。In claim 1,
The acceleration a includes an acceleration component calculated based on a coefficient K 1 representing the strength with which the first object pushes back the second object and the approach depth d. An image generating device.
前記加速度aには、前記反力エリアの進入側の境界面に対して垂直方向の前記第2の物体の速度の減衰の強さを示す係数K2と前記進入深さdとに基づいて算出される加速度成分が含まれていることを特徴とする画像生成装置。In claim 1 or 2,
The acceleration a is calculated based on the coefficient K 2 indicating the strength of attenuation of the velocity of the second object in the direction perpendicular to the boundary surface on the approach side of the reaction force area and the approach depth d. An image generating apparatus characterized by including an acceleration component to be processed.
前記加速度aには、前記反力エリアの進入側の境界面に対して平行方向の前記第2の物体の速度の減衰の強さを示す係数K3と前記進入深さdとに基づいて算出される加速度成分が含まれていることを特徴とする画像生成装置。In any one of Claims 1-3,
The acceleration a is calculated based on the coefficient K 3 indicating the strength of attenuation of the speed of the second object in the direction parallel to the boundary surface on the approach side of the reaction force area and the approach depth d. An image generating apparatus characterized by including an acceleration component to be processed.
前記加速度aには、前記第1および第2の物体の間の摩擦係数K5と前記進入深さdと前記第2の物体の表面が前記第1の物体に沿って移動する向きとに基づいて算出される加速度成分が含まれていることを特徴とする画像生成装置。In any one of Claims 1-4,
The acceleration a is based on the coefficient of friction K 5 between the first and second objects, the penetration depth d, and the direction in which the surface of the second object moves along the first object. An image generation apparatus characterized by including an acceleration component calculated in the following manner.
前記加速度aには、前記第1の物体の縁から所定範囲に対応する前記反力エリア内に前記第2の物体が進入したときに、前記第2の物体が前記第1の物体に沿って移動する巻き上がりの強さを示す係数K4と進入深さdとに基づいて算出される加速度成分が含まれていることを特徴とする画像生成装置。In any one of Claims 1-5,
The acceleration a includes the second object along the first object when the second object enters the reaction force area corresponding to a predetermined range from the edge of the first object. An image generation apparatus characterized by including an acceleration component calculated based on a coefficient K 4 indicating the strength of rolling-up that moves and an approach depth d.
前記加速度aには、重力加速度Gが含まれていることを特徴とする画像生成装置。In any one of Claims 1-6,
An image generating apparatus, wherein the acceleration a includes a gravitational acceleration G.
前記反力エリアは、前記第1の物体を構成する面に対し片側であって、前記第2の物体の反衝突側に設定されていることを特徴とする画像生成装置。In any one of Claims 1-7,
The image generation apparatus according to claim 1, wherein the reaction force area is set on one side with respect to a surface constituting the first object and on the anti-collision side of the second object.
前記第1の物体が2以上の面を折り曲げた形状を有しているときに、それぞれの面に対応して複数の前記反力エリアが設定されていることを特徴とする画像生成装置。 In any one of Claims 1-8 ,
When the first object has a shape obtained by bending two or more surfaces, a plurality of reaction force areas are set corresponding to the respective surfaces.
複数の前記反力エリアは、一部が互いに重複して設定されており、
前記挙動計算手段は、前記第2の物体が複数の前記反力エリアの重複領域に進入したときに、複数の前記反力エリアのそれぞれに対応して別々に計算された前記加速度aを合成した加速度を用いて前記第2の物体の挙動を計算することを特徴とする画像生成装置。 In claim 9 ,
A plurality of the reaction force areas are set to overlap each other,
The behavior calculating means combines the acceleration a calculated separately for each of the plurality of reaction force areas when the second object enters an overlapping region of the plurality of reaction force areas. An image generating apparatus that calculates the behavior of the second object using acceleration.
複数の前記反力エリアは、一部が互いに重複して設定されており、
前記挙動計算手段は、2つの面が180度を超えて交差する側から前記第2の物体が複数の前記反力エリアの重複領域に進入したときに、前記2つの面の一方であって前記第2の物体が最初に衝突した面に対応して設定された前記反力エリアに対応する前記加速度のみを用いて前記第2の物体の挙動を計算することを特徴とする画像生成装置。 In claim 9 ,
A plurality of the reaction force areas are set to overlap each other,
The behavior calculating means is one of the two surfaces when the second object enters an overlapping region of the plurality of reaction force areas from a side where two surfaces cross over 180 degrees. An image generating apparatus, wherein the behavior of the second object is calculated using only the acceleration corresponding to the reaction force area set corresponding to the surface on which the second object collides first.
前記第1の物体の縁が固定されている場合に、縁から所定範囲内にある前記第1の物体に前記第2の物体が衝突したときに、前記第1の物体の延在する向きであって前記第2の物体の反衝突側に、前記第1の物体から前記縁が固定された向きに進入深さが設定されて前記第2の物体に対して反力を作用させる挙動修正用反力エリアがさらに設定されており、
前記挙動計算手段は、前記第2の物体が前記反力エリアと前記挙動修正用反力エリアの重複領域に進入したときに、前記反力エリアと前記挙動修正用反力エリアのそれぞれに対応して別々に計算された前記加速度aを合成した加速度を用いて前記第2の物体の挙動を計算することを特徴とする画像生成装置。 In any one of Claims 1-11 ,
When the edge of the first object is fixed, when the second object collides with the first object within a predetermined range from the edge, the first object extends in the extending direction. In this case, the depth of approach is set in the direction in which the edge is fixed from the first object on the anti-collision side of the second object, and the behavior is corrected to apply a reaction force to the second object. The reaction force area is further set,
The behavior calculation means corresponds to each of the reaction force area and the behavior correction reaction force area when the second object enters an overlapping area of the reaction force area and the behavior correction reaction force area. A behavior of the second object is calculated using an acceleration obtained by synthesizing the acceleration a calculated separately.
前記第2の物体の前記反力エリアへの進入深さをdとしたときに、この進入深さdに基づいて前記第2の物体の加速度aを計算し、この加速度aを用いて時間tが経過した後の新たな速度V’を計算し、さらにこの速度V’を用いて時間tが経過した後の新たな位置P’を計算することにより、前記第2の物体の挙動を前記挙動計算手段によって計算するステップと、
前記挙動計算手段によって挙動が計算された前記第2の物体に対応する画像を、前記画像生成手段によって生成するステップと、
前記画像生成手段によって生成された画像を、前記画像表示手段によって前記画面に表示するステップと、
を有することを特徴とする画像生成方法。 A reaction force in which a reaction force acts on the second object from the first object when the second object collides against the sheet-like first object that is deformed when the second object collides. The area is set to include a range in which the first object may collide with the second object and a range in which the first object may be deformed by the collision, and the reaction force area A behavior calculating means for repeatedly calculating the behavior of the second object every time t based on the force acting from the image, and an image for generating an image corresponding to the second object whose behavior is calculated by the behavior calculating means An image generation method of an image generation apparatus comprising: generation means; and screen display means for displaying an image generated by the image generation means on a screen,
When the penetration depth of the second object into the reaction force area is d, the acceleration a of the second object is calculated based on the penetration depth d, and the acceleration a is used for time t. By calculating a new velocity V ′ after the elapse of time, and further calculating a new position P ′ after the elapse of time t using the velocity V ′. Calculating by means of calculating means;
Generating an image corresponding to the second object whose behavior is calculated by the behavior calculating means by the image generating means;
Displaying the image generated by the image generation means on the screen by the image display means;
An image generation method characterized by comprising:
前記反力エリアは、前記第1の物体を構成する面に対し片側であって、前記第2の物体の反衝突側に設定されていることを特徴とする画像生成方法。 In claim 13 ,
The image generation method according to claim 1, wherein the reaction force area is set on one side with respect to the surface constituting the first object and on the anti-collision side of the second object.
前記第1の物体が2以上の面を折り曲げた形状を有しているときに、それぞれの面に対応して設定された複数の前記反力エリアが設定されていることを特徴とする画像生成方法。 In claim 13 or 14 ,
When the first object has a shape in which two or more surfaces are bent, a plurality of the reaction force areas set corresponding to the respective surfaces are set. Method.
複数の前記反力エリアは、一部が互いに重複して設定されており、
前記挙動計算手段は、前記第2の物体が複数の前記反力エリアの重複領域に進入したときに、複数の前記反力エリアのそれぞれに対応して別々に計算された前記加速度aを合成した加速度を用いて前記第2の物体の挙動を計算することを特徴とする画像生成方法。 In claim 15 ,
A plurality of the reaction force areas are set to overlap each other,
The behavior calculating means combines the acceleration a calculated separately for each of the plurality of reaction force areas when the second object enters an overlapping region of the plurality of reaction force areas. A method for generating an image, characterized in that the behavior of the second object is calculated using acceleration.
前記第2の物体が前記第1の物体に衝突したときに前記第1の物体から前記第2の物体に反力が作用する反力エリアを、前記第1の物体が前記第2の物体と衝突する可能性のある範囲およびこの衝突によって前記第1の物体が変形する可能性のある範囲を含むように設定し、この反力エリアから作用する力に基づいて前記第2の物体の挙動を繰り返し時間t毎に計算する挙動計算手段と、
前記挙動計算手段によって挙動が計算された前記第2の物体に対応する画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を画面に表示する画像表示手段と、
して機能させるための画像生成プログラムであって、
前記挙動計算手段は、前記第2の物体の前記反力エリアへの進入深さをdとしたときに、この進入深さdに基づいて前記第2の物体の加速度aを計算し、この加速度aを用いて時間tが経過した後の新たな速度V’を計算し、さらにこの速度V’を用いて時間tが経過した後の新たな位置P’を計算することにより、前記第2の物体の挙動を計算する画像生成プログラム。 A computer is used to calculate a behavior when the second object collides with the sheet-like first object that is deformed when the second object collides, and to display an image of the second object. ,
A reaction force area in which a reaction force acts on the second object from the first object when the second object collides with the first object , the first object and the second object A range that may collide and a range in which the first object may be deformed by the collision are set to include, and the behavior of the second object is determined based on the force acting from the reaction force area. A behavior calculating means for calculating every repetition time t;
Image generating means for generating an image corresponding to the second object whose behavior is calculated by the behavior calculating means;
Image display means for displaying an image generated by the image generation means on a screen;
An image generation program for causing
The behavior calculating means calculates the acceleration a of the second object based on the approach depth d, where d is the approach depth of the second object to the reaction force area, and the acceleration By using a to calculate a new speed V ′ after the elapse of time t, and further using this speed V ′ to calculate a new position P ′ after the elapse of time t, the second velocity P ′ is calculated. An image generation program that calculates the behavior of an object.
前記反力エリアは、前記第1の物体を構成する面に対し片側であって、前記第2の物体の反衝突側に設定されている画像生成プログラム。 In claim 17 ,
The reaction force area is an image generation program which is set on one side with respect to the surface constituting the first object and on the anti-collision side of the second object.
前記第1の物体が2以上の面を折り曲げた形状を有しているときに、それぞれの面に対応して設定された複数の前記反力エリアが設定されている画像生成プログラム。 In claim 17 or 18 ,
An image generation program in which when the first object has a shape obtained by bending two or more surfaces, a plurality of reaction force areas set corresponding to the respective surfaces are set.
複数の前記反力エリアは、一部が互いに重複して設定されており、
前記挙動計算手段に、前記第2の物体が複数の前記反力エリアの重複領域に進入したときに、複数の前記反力エリアのそれぞれに対応して別々に計算された前記加速度aを合成した加速度を用いて前記第2の物体の挙動を計算させる画像生成プログラム。 In claim 19 ,
A plurality of the reaction force areas are set to overlap each other,
When the second object enters the overlapping area of the plurality of reaction force areas, the behavior calculation means combines the acceleration a separately calculated for each of the plurality of reaction force areas. An image generation program for calculating the behavior of the second object using acceleration.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003121664A JP3768971B2 (en) | 2003-04-25 | 2003-04-25 | Image generating apparatus, method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003121664A JP3768971B2 (en) | 2003-04-25 | 2003-04-25 | Image generating apparatus, method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004321551A JP2004321551A (en) | 2004-11-18 |
| JP3768971B2 true JP3768971B2 (en) | 2006-04-19 |
Family
ID=33500154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003121664A Expired - Fee Related JP3768971B2 (en) | 2003-04-25 | 2003-04-25 | Image generating apparatus, method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3768971B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008081661A1 (en) | 2006-12-28 | 2008-07-10 | Konami Digital Entertainment Co., Ltd. | Image processor, control method of image processor and information recording medium |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4791514B2 (en) * | 2008-08-06 | 2011-10-12 | 株式会社コナミデジタルエンタテインメント | Image processing apparatus, image processing apparatus control method, and program |
| US9050538B2 (en) | 2011-05-26 | 2015-06-09 | Sony Corporation | Collision detection and motion simulation in game virtual space |
| JP5784985B2 (en) * | 2011-05-26 | 2015-09-24 | 株式会社ソニー・コンピュータエンタテインメント | Program, information storage medium, information processing system, and information processing method |
| JP6987634B2 (en) * | 2017-12-21 | 2022-01-05 | 株式会社コーエーテクモゲームス | Information processing device, display control program and display control method |
| CN110706318B (en) * | 2019-09-30 | 2023-07-14 | 北京金山安全软件有限公司 | Object moving speed control method and device |
| JP2021077075A (en) * | 2019-11-08 | 2021-05-20 | 株式会社ミクシィ | Information processing device, information processing method and program |
-
2003
- 2003-04-25 JP JP2003121664A patent/JP3768971B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008081661A1 (en) | 2006-12-28 | 2008-07-10 | Konami Digital Entertainment Co., Ltd. | Image processor, control method of image processor and information recording medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004321551A (en) | 2004-11-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3696216B2 (en) | Three-dimensional video game apparatus, control method of virtual camera in three-dimensional video game, program and recording medium | |
| TW394703B (en) | Video game system and video game memory medium | |
| JP3927821B2 (en) | PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE | |
| JP3926307B2 (en) | Three-dimensional image drawing apparatus and method, program, and recording medium | |
| CN101536041B (en) | Image processor, control method of image processor | |
| JP5266513B2 (en) | Golf simulator, golf game apparatus and program | |
| JP2001273517A (en) | Game system and computer-readable recording medium recording game program | |
| JP3768971B2 (en) | Image generating apparatus, method and program | |
| JP2021016406A (en) | Game device and program | |
| JP4327868B2 (en) | GAME DEVICE, GAME CONTROL METHOD, GAME CONTROL PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM | |
| JPWO2008016064A1 (en) | Game device, object display method and display program in game device | |
| JP2007272267A (en) | Image generation system, program, and information storage medium | |
| JP2004298305A (en) | Image generation information, information storage medium, and image generation apparatus | |
| KR20220061309A (en) | Apparatus and method for experiencing augmented reality-based screen sports | |
| US8538736B1 (en) | System and method for simulating object weight in animations | |
| JP3868921B2 (en) | Image generating apparatus, method and program | |
| JP2004220273A (en) | Simulation device, simulation method and program | |
| JP3005581B1 (en) | Image creation device, image creation method, readable recording medium on which image creation program is recorded, and video game device | |
| JPH10113465A5 (en) | ||
| JP4950394B2 (en) | Program, information storage medium, and game device | |
| JP2001276414A (en) | Game device and information storage medium | |
| JP5266512B2 (en) | Golf simulator, golf game apparatus and program | |
| JP4003794B2 (en) | Image processing method and image processing apparatus | |
| JP2011056140A (en) | Program, information storage medium, and game device | |
| García et al. | Perceptually validated global/local deformations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041029 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051121 |
|
| 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: 20060131 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060202 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
| 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: 20100210 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |