説明

画像処理方法及び画像処理装置

【課題】
より現実感のある爆発映像の実現を課題とする。
【解決手段】
本発明は、所定時間内に形態が変化するオブジェクト、例えば、爆発映像を表示する画像処理装置に係わる。爆発映像を表示するオブジェクトは、球状のポリゴン(R1、R2、R3、…、)と平面のポリゴン(S1、S2、S3、…、)とから構成され、平面のポリゴンの境界に球状のポリゴンを配置することで爆発映像を実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオゲーム装置における画像処理技術に係わる。
【背景技術】
【0002】
コンピュータ・グラフィックス(CG)技術の進展により、仮想的な世界をより現実的に表現できるようになった。ビデオゲーム装置はこのCG技術を1利用したゲーム装置である。
【0003】
ビデオゲームとして、例えば、シューティングゲームがある。この種のゲーム装置は、通常、ガンユニット、グラフィックス処理用のCPU、モニタなどを備える。遊戯者(プレイヤ)がモニタ画面上に現れる標的(エネミキャラクタ)を狙ってガンユニットのトリガを操作すると、ゲーム装置はガンユニットから発射された光信号のモニタ画面上の位置を検出し、この位置データに基づきエネミキャラクタを破壊する処理などの画像処理を行う。
【0004】
従来の代表的なガンシューティングゲームの一つに、(株)セガ・エンタープライゼス製の「バーチャコップ(商標)」がある。このガンゲームは、モニタ画面上の仮想3次元空間(ゲーム空間)に出現するエネミキャラクタをプレイヤがガンユニットを用いてこれを打ち落とすことで得点を競うものである。このゲームでは、エネミキャラクタはモニタ画面上の予め定められた場所に予め定められたタイミングで出現する。また、プレイヤがエネミキャラクタにガンユニットの銃口を向けると、モニタ画面上の視点がそのエネミに近付き、エネミキャラクタがモニタ画面に拡大表示される。エネミキャラクタの行動はゲーム装置内に格納されている画像処理プログラムにより制御されており、必要に応じて、モニタ画面を見ているプレイヤに向けて反撃してくるようになっている。
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、本発明者がシューティングゲームを鋭意検討した結果、ゲームの臨場感を増し、映像をより現実的に表現するためには以下のような課題があることを見出した。
【0006】
第1に、従来のシューティングゲームにおける爆発映像処理は、爆発映像を表現するポリゴンのデータ量を少なくするために、例えば、平面状のポリゴンや球状のポリゴンを使用していた。これらのポリゴンに爆発映像のテクスチャを貼りつけ、このテクスチャを回転等させることで爆発のアニメーションを実現しいた。国際公開番号WO95/35555には平面状のポリゴンを用いた爆発映像処理方法が開示されている。この方法によれば、カメラコントロールマトリクス処理手段、オブジェクトマトリクス処理手段及びオブジェクトパターン表示処理手段を備えるため、爆発パターン等のポリゴンを常に視線方向に向かせることができ、平面状のポリゴンを用いたときの不都合(平面を常に視線方向に向かせる必要がある)を解消することができる。
【0007】
しかし、爆発映像を平面的なポリゴンで表現すると、爆発映像と背景の境界が不自然になり、現実感に乏しい映像となる。即ち、爆発映像と背景の境界が直線になる不都合が生じる。また、爆発映像を球状のポリゴンで表現すると、爆発映像が単調になり、現実感に乏しい映像となる。このため、より現実感のある爆発映像の実現が望まれる。
【0008】
第2に、複数のポリゴンを組み合わせて爆発映像を実現する場合、従来では全ての組み合わせについて予め爆発パターンを所定の記憶領域に登録していた。これを図6(A)、図7を用いて説明する。図6(A)は爆発オブジェクトを構成する爆発データA1、B1、B2、C1及びC2の4つの組み合わせ(パターン(1)〜パターン(4))を表している。図7はこれらの爆発データの組み合わせで表現される爆発映像を表している。パターン(1)は図7(A)に、パターン(2)は図7(B)に、パターン(3)は図7(C)に、パターン(4)は図7(D)に、それぞれ対応している。従来では、これらの4つのパターンのそれぞれについて予め爆発データを登録し、爆発映像処理の際に登録された爆発パターンの中から任意の1つを選択してこれを表示していた。
【0009】
しかし、爆発パターンの全てについて予め爆発データを登録する方法では、爆発パターンの種類が多くなると必要とするメモリ量が増大する問題がある。
【0010】
第3に、従来では、異なる2つの動作間におけるモーション補完処理が不十分であるため、キャラクタの動作が不自然になるという問題があった。モーション補完処理とは、例えば、攻撃状態にあるエネミキャラクタが攻撃を受けたとき、「攻撃動作」から「倒れていく動作」への2つのモーション変化(動作パターンの変化)を滑らかに繋ぐための画像処理をいう。従来のモーション補完処理を図8(A)を参照して説明する。エネミキャラクタが攻撃動作にあるとき、エネミキャラクタは予め定められた動作パターン(モーションパターンM)で攻撃をする。プレイヤキャラクタの攻撃によりダメージを受けると、エネミキャラクタは「攻撃動作」から「倒れていく動作」へと移行する。この「倒れていく動作」は、複数のパターンが予め定められており、エネミキャラクタの攻撃を受けたときの状態やそのときのゲーム環境等に応じた「倒れていく動作」が1つ選択される。また、「倒れていく動作」は複数の動作パターン(ヒットパターンH1、ヒットパターンH2、…)から構成される。モーション補完処理CはモーションパターンMからヒットパターンH1へ移行する間に数フレーム間にわたって行われる。従って、この間はスローモーションとなり、モーションパターンMからヒットパターンH1へいきなり移行する不自然さを解消することができる。
【0011】
しかし、この方法では、モーション補完処理CはモーションパターンMからヒットパターンH1へ移行する間にのみ行われることから、動作の変化は一時的にスローになるのみで、全体的にみるとやはり不自然さが生じていた。
【0012】
第4に、従来のシューティングゲームでは、弾丸による攻撃を受けたエネミキャラクタは、弾丸を受けた位置や弾丸の破壊力等にかかわらず、常に真後ろに後退していたことから、マシンガン等の弾丸を連続発射する銃で攻撃をすると、エネミキャラクタの2次元的位置の変化が無いだけ攻撃が容易になり、ゲームの面白さに欠ける問題があった。この点を図9を参照して説明すると、図9(A)に示すように、エネミキャラクタは弾丸を受けた位置に係わらず、位置E1から位置E2へと後退する。後退する方向はプレイヤの視線方向と平行な方向である。従って、これをプレイヤ側から見たゲーム画面では、図9(B)のように、エネミキャラクタの位置はE1からE2へと変化するのみである。従って、プレイヤ側から見たエネミキャラクタの2次元的位置の変化が無いため、攻撃が容易になり、ゲームの面白さに欠ける問題がある。
【0013】
第5に、エネミキャラクタが攻撃を受け、倒れる動作(やられモーション)から再び攻撃を仕掛ける場合、攻撃モーションを最初から行うとプレイヤに攻撃を仕掛ける隙を与えることになり、結果としてゲームの面白さが半減する問題があった。この点を図11(A)を参照して説明する。エネミキャラクタが予め定められた攻撃ステップM1、M2、…、Mn-1、Mnに基づく攻撃モーションで攻撃をしているとする。ここで、攻撃ステップM1は銃を構えるステップ、攻撃ステップM2は標準を定めるステップ、攻撃ステップM3は銃から弾丸を発射するステップ、…、とする。仮にエネミキャラクタが攻撃ステップM3においてプレイヤキャラクタからの攻撃によりダメージを受けたとする。エネミキャラクタは“やられモーション”に移行し、“やられモーション”終了後、攻撃モーションの最初のステップ、即ち、攻撃ステップM1に戻る。すると、エネミキャラクタは再び攻撃ステップM1、M2、…、Mn-1、Mnを順に実行するため、直ちに攻撃を仕掛けることができない。即ち、攻撃ステップM1、M2を実行している間にプレイヤキャラクタに攻撃をする機会を与えることになり、ゲームの面白さが半減する問題がある。また、エネミキャラクタが攻撃を受けたときに“やられモーション”を実行しないことも考えられるが、ヒット感を得ることができないためゲームの面白さが半減する。
【0014】
第6に、弾丸の飛行軌跡に関する問題がある。図12(A)に示すように、従来のシューティングゲームにおいては、移動しているプレイヤキャラクタから見た弾丸の飛行軌跡は弾丸の速度ベクトルからプレイヤキャラクタの速度ベクトルを引いた速度ベクトルを有する弾丸の飛行軌跡として表示していた。このため、弾丸の移動方向とプレイヤキャラクタの移動方向が正反対の場合は弾丸の見かけ上の速さが大きくなり、プレイヤがこれに対応できないという問題がある。
【0015】
第7に、コリジョン判定における高速化の問題がある。コリジョン判定とは、2つのオブジェクトの衝突判定をいい、例えば、弾丸と建物との衝突判定等がある。このコリジョン判定は弾丸を線分として、建物を平面としてモデル化し、線分と平面の交わりによってコリジョン判定を簡略化している。この場合、従来のコリジョン判定では、全ての建物(平面ポリゴン)について弾丸(線分ポリゴン)とのコリジョン判定を行っていたため、計算に時間を要し、ゲーム処理の高速化の妨げとなっていた。また、図13に示すように、プレイヤの操作する車がゲーム空間上に予め形成された道に沿って移動する場合、車の移動範囲は道に限られるため、コリジョン判定用の仮想上の領域として、エリア1、エリア2、…、を道に沿って形成する。そして、図14(A)に示すように、各エリア毎にそのエリア内に存在する建物(建物1、建物2、…)を予め対応付けて記憶しておく。車を運転しているプレイヤキャラクタから発射される弾丸とこれらの建物とのコリジョン判定は、図14(B)に示すように、弾丸がどのエリアに存在するかを各エリアについてチェックする(S141)。このエリアチェックは線分ポリゴンとしてモデル化された弾丸の座標と各エリアの座標を比較して行う。弾丸の存在するエリアが確定したならば、次いでこのエリアに存在する各建物についてコリジョン判定を行う(S142)。この方法によれば、弾丸を表す線分ポリゴンと建物を表す平面ポリゴンとのコリジョン判定は、所定のエリア内の平面ポリゴンを対象とすればよいため、コリジョン判定の高速化を図ることができるが、上記エリアはゲーム空間の限られた領域にのみ存在するため、エリアの存在しない領域ではコリジョン判定を行うことができない不都合が生じる。また、この方法ではゲーム場面に応じてエリア用のポリゴンを設けなければならないため、ゲームプログラムが複雑になる問題がある。
【0016】
第8に、シューティングゲームにおいて、弾丸の爆発等の影響による波の動きの表現に関する問題がある。波の表現手法として、例えば、パターンチェンジ、テクスチャスクロール等が知られている。パターンチェンジとは、波の動きの全ての状態をモデル化し、各モデルを同じ位置に切り替えて表示する手法である。この手法では、予め全ての波の状態についてモデルを用意しなければならず、データ量が増大する問題がある。また、テクスチャスクロールとは、波を表すテクスチャを用意し、これをスクロールさせてポリゴンに表示する手法であるが、平面の絵が動くだけであるから立体的な波を表現することができない。そこで、データ量を少なくするとともに、臨場感のある立体的な波の表現手法の確立が望まれる。
【0017】
第9に、ゲームストーリーが複数のステージから構成される場合、ステージの順番が予めゲームプログラムで定められていると、ゲームの進行がワンパターン化する問題がある。従って、プレイヤの意志によってゲームの進行に変化を持たせることができればゲームの面白さが増すと考えられる。
【0018】
第10に、従来のゲーム装置においては、例えば、エネミキャラクタが爆発する際に所定の振動をプレイヤに伝える構成のものがあるが、この場合、BGM等のサウンドデータを基に生成される音響信号で振動発生装置を駆動していたため、エネミキャラクタの爆発とは関係のない場面においても、振動発生装置が上記音響信号を拾ってしまい、不自然な振動を発生する問題点があった。
【0019】
本発明は、このような従来技術の問題点に鑑みてなされたもので、従来よりもリアル感および臨場感に富み、またゲーム感やゲームへの興味感を大幅に高揚でき、ガンシューティングゲームなどに好適な画像処理装置及び情報記録媒体を提供することを目的とする。さらに、本発明は画像処理における演算処理の負荷の軽減を目的とする。また、ゲーム場面に応じて適切な振動を発生する振動発生装置を提供することを課題とする。
【課題を解決するための手段】
【0020】
本発明の画像処理装置は、所定時間内に形態が変化するオブジェクトの映像を表示する画像処理装置において、オブジェクトを構成する、球状のポリゴンと平面のポリゴンのデータを記憶する記憶手段と、記憶手段から球状のポリゴンと平面のポリゴンのデータを読み出し、球状のポリゴンと平面のポリゴンを組み合わせてオブジェクトの画像を生成する画像生成手段と、を備える。
【0021】
好ましくは、画像生成手段は、オブジェクトの形態の変化の方向を設定し、この方向に沿って球状のポリゴンと平面のポリゴンを交互に配置するとともに、平面ポリゴンの境界を球状ポリゴンで覆うことにより、オブジェクトの画像を得る。
【0022】
このように、平面のポリゴンの境界を球状のポリゴンで覆うことにより、ポリゴンが平面であることが判別しにくくなるため、画像がよりリアルになり、現実感に溢れた画像を提供することができる。例えば、上記オブジェクトは爆発を表現するオブジェクトとすると効果的である。
【0023】
本発明の画像処理装置は、所定時間内に形態が変化するオブジェクトの映像を表示する画像処理装置において、オブジェクトが採りうる複数の形態の全てについて、オブジェクトを構成する複数の構成要素相互間の関係を階層的に記憶する記憶手段と、オブジェクトが採りうる複数の形態の中から階層的に任意の1つの形態を選び、この形態に対応する構成要素を各階層毎に前記記憶手段から読み出してオブジェクトの画像を生成する画像生成手段と、を備える。このような構成により、オブジェクトのデータ量を可能な限り少なくすることができるため、メモリの有効利用を図ることができる。上記オブジェクトは、例えば、爆発を表現するオブジェクトとすると効果的である。
【0024】
本発明の画像処理装置は、オブジェクトの一連の動作を表示する画像処理装置において、オブジェクトの動作パターンを予め記憶する記憶手段と、オブジェクトの動作パターンが変化する際に、オブジェクトのモーション補完処理をしてこれを画面に表示するステップと、記憶手段から動作パターンを読み出してこれを画面に表示するステップとを交互に繰り返し、モーション補完処理の回数を次第に少なくすることでオブジェクトの画像を生成する画像生成手段と、を備える。
【0025】
このような構成により、オブジェクトのモーション変化を滑らかに演出することができ、不自然なストップ感を与えることがない。即ち、オブジェクトの動作が変化する時点に限らず、動作が変化した以降もモーション補完処理を実行することで、オブジェクトの動作を自然な状態にすることができる。また、モーション補完処理の回数を次第に減らすことで、より有効にその効果を得ることができる。尚、オブジェクトの動作パターンの変化は、例えば、「攻撃動作」から「攻撃を受けて倒れる動作」への変化とすることが好ましい。
【0026】
本発明の画像処理装置は、3次元仮想空間内を飛行する第1のオブジェクトが、3次元仮想空間内に配置されている第2のオブジェクトに衝突することで、第2のオブジェクトの位置変化を画面に表示する画像処理装置において、第2のオブジェクトの座標値を記憶する記憶手段と、第1のオブジェクトとの衝突時に第2のオブジェクトが受けるモーメントを演算し、衝突後の第2のオブジェクトの座標値を算出する演算手段と、この演算結果に基づいて記憶手段に記憶されている第2のオブジェクトの座標値を更新し、衝突後の第2のオブジェクトの画像を生成する画像生成手段と、を備える。
【0027】
好ましくは、画像生成手段は、仮想視点から見た第2のオブジェクトの2次元的位置を変化させるように、衝突後の第2のオブジェクトの座標値を計算する。例えば、第1のオブジェクトは弾丸であり、第2のオブジェクトはエネミキャラクタとする。このような構成により、エネミキャラクタを攻撃した場合、攻撃を受けたエネミキャラクタはプレイヤの視点から見た場合にその2次元的位置がずれるため、攻撃の難易度が向上し、ゲームの面白さを増すことができる。また、プレイヤにとっても攻撃のスキルアップが要求されるため、高度なシューティングゲームを提供することができる。
【0028】
本発明の画像処理装置は、オブジェクトの一連の動作を表示する画像処理装置において、オブジェクトの動作パターンを複数の動作ステップに分割して予め記憶する第1の記憶手段と、記憶手段から動作パターンを読み出してこれを画面に表示する画像生成手段と、オブジェクトの動作パターンの変化を検出する検出手段と、検出手段が前記オブジェクトの動作変化を検出したときにおける動作ステップの識別情報を第2の記憶手段に格納するとともに、第1の記憶手段から他の動作パターンを読み出してこれを画面に表示するように画像生成手段を制御する第1の画像制御手段と、他の動作パターンの画像表示が終了したときに第2の記憶手段に格納された識別情報に基づいてオブジェクトの動作ステップ以降の動作パターンを画像生成手段に実行させる第2の画像制御手段と、を備える。
【0029】
例えば、上記オブジェクトは、「エネミキャラクタ」であり、上記所定の動作パターンは、「攻撃動作」であり、上記他の動作パターンは、「攻撃を受けて倒れる動作」とする。このような構成とすることで、攻撃を受けたエネミキャラクタは、最初の動作から復帰することなく、攻撃を受けた状態で復帰するため、プレイヤに攻撃をする隙を与えることが無い。従って、プレイヤのスキルアップが要求され、シューティングゲームの難易度を向上させることができ、ゲームの面白さが増す。
【0030】
本発明の画像処理装置は、仮想空間内を移動する第1のオブジェクトを、プレイヤが操作する第2のオブジェクトの仮想視点から見た画像を画面に表示する画像処理装置において、第1のオブジェクトの移動パターンを予め記憶する記憶手段と、記第1のオブジェクトと第2のオブジェクト間の距離を計算し、第2のオブジェクトの速度ベクトルの逆ベクトルに上記距離に応じた係数を乗じたベクトルを、第1のオブジェクトの速度ベクトルに加算して合成ベクトルを算出する手段と、記憶手段から移動パターンを読み出し、第1のオブジェクトの速度ベクトルを合成ベクトルとした画像を生成する画像生成手段と、を備える。
【0031】
好ましくは、上記係数は上記距離に反比例する係数とする。また、第1のオブジェクトは、「弾丸」とする。このように、第1のオブジェクトと第2のオブジェクト間の距離に応じて第2のオブジェクトの視点から見た第1のオブジェクトの速度を加算又は減算する構成であるから、弾丸(第1のオブジェクト)が第2のオブジェクトから遠い位置にあるときは、第2のオブジェクトの速度ベクトルの影響が無いのに対し、弾丸が第2のオブジェクトから近い距離にあるときは、弾丸の動きを効果的に抑制することができるため、ゲーム上における弾丸の飛行軌跡を違和感なく表現することができる。
【0032】
本発明の画像処理装置は、仮想空間内を移動する第1のオブジェクトと仮想空間内に配置された第2のオブジェクトの衝突を判定する画像処理装置において、仮想空間を3次元座標に基づいて単位グリッド毎に区画し、単位グリッド内に存在する第2のオブジェクトを各単位グリッド毎に対応して記憶する記憶手段と、第1のオブジェクトが存在する単位グリッドを判定するステップと、第1のオブジェクトが存在する単位グリッド内の第2のオブジェクトと第1のオブジェクトのコリジョン判定をするステップと、を実行するコリジョン判定手段と、を備える。
【0033】
好ましくは、コリジョン判定手段は、第1のオブジェクトを線分ポリゴンとしてモデル化し、第2のオブジェクトを平面ポリゴンとしてモデル化することで、線分と平面の交点によりコリジョン判定を実行する。また、コリジョン判定手段は、第2のオブジェクトの周囲に仮想3次元空間を設定し、当該3次元空間を単位グリッドに分割することで、コリジョン判定を実行する。また、第1のオブジェクトは、「弾丸」とする。このような構成により、弾丸と他のオブジェクトとのコリジョン判定において、仮想空間内に存在する全てのオブジェクトとのコリジョン判定をすることなく、効果的にコリジョン判定をすることができる。即ち、弾丸の存在する単位グリッドに存在するオブジェクトに対してのみコリジョン判定をすればよいため、コリジョン判定を高速に実行することができる。また、弾丸が存在する単位グリッドについては、単位グリッドの各3軸方向の長さで弾丸を表す線分ポリゴンの長さを各軸方向で割ればよいため、計算は簡単であり、計算処理の負荷が少ない。尚、単位グリッドの各軸方向の長さは仮想空間内のポリゴン数、ポリゴンの大きさ等の関係で適宜設定すればよい。
【0034】
本発明の画像処理装置は、流動体の表面の動きを表現するオブジェクトを画面に表示する画像処理装置において、流動体の表面の変化を表現する変化パターンを予め記憶する記憶手段と、オブジェクトを、流動体の所定方向のポリゴンの集合体として構成し、記憶手段から変化パターンを読み出して前記ポリゴンの前記所定方向の長さを変化させて前記オブジェクトの画像を生成する画像生成手段と、を備える。
【0035】
好ましくは、流動体の動きは、「波の動き」とする。このような構成により、従来よりもより現実的な波の動きを表現することができる。特に、3次元の波の表現に有効である。
【0036】
本発明の画像処理装置は、複数のステージから構成されるゲームを実行する画像処理装置において、最初のステージ及び最後のステージは予め定められており、中間のステージはプレイヤのゲームの進行に応じて適宜選択することができるものである。このような構成により、中間ステージはプレイヤが適宜選択することができるため、ゲームをより面白くすることができる。
【0037】
仮想3次元空間内に配置されるオブジェクトを仮想視点から捉えた映像を画面に表示する画像処理装置において、ポリゴンを立体的に構成した立体的形状対象物とポリゴンを平面的に構成した平面的形状対象物とを交互に組み合わせて仮想3次元空間内に配置して形態が変化する映像を生成することを特徴とする画像処理装置。
【0038】
本発明の情報記録媒体は、コンピュータを、請求項1乃至請求項31のうち何れか1項に記載の画像処理装置として機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記録媒体である。
【0039】
本発明に係わる振動発生装置は、オブジェクト毎に予め関連付けられて登録された振動波形データを記憶する記憶部と、オブジェクトに所定のイベントが発生したときに、当該オブジェクトと関連付けられた振動波形データを読み出し、これを振動発生装置に出力して振動を発生させる制御部とを備える。特に、振動発生装置は低周波音響振動装置であることが好ましい。
【発明の効果】
【0040】
本発明の画像処理装置によれば、形態が変化するオブジェクトを、平面ポリゴンの境界に球状のポリゴンを配置して表現することで、平面のポリゴンの境界が不自然に目立つ状態を回避することができるため、よりリアルなオブジェクトの形態変化を表現できる。
【0041】
本発明の画像処理装置によれば、形態が変化するオブジェクトが採りうる複数の形態の全てについて、オブジェクトを構成する複数の構成要素相互間の関係を階層的に記憶する構成としたため、オブジェクトを記憶するためのメモリ量を少なくすることができる。
【0042】
本発明の画像処理装置によれば、動作パターンが変化するオブジェクトのモーション補完処理のフレーム数を徐々に少なくする構成としたため、モーション変化を違和感なく滑らかに表現することができる。
【0043】
本発明の画像処理装置によれば、3次元仮想空間内を飛行する第1のオブジェクトが、3次元仮想空間内に配置されている第2のオブジェクトに衝突することで、第2のオブジェクトの位置変化を画面に表示する画像処理装置において、第2のオブジェクトの位置変化を、第2のオブジェクトが受けるモーメントを基に計算することで、オブジェクトのより自然な動きを表現することができる。
【0044】
本発明の画像処理装置によれば、所定の動作パターンから他の動作パターンへ移行するオブジェクトの動作変化を画面に表示する際に、前記移行の際の動作ステップを記憶しておき、前記他の動作パターンから前記所定の動作パターンへ復帰する場合には、前記動作ステップから前記所定の動作パターンを実行する構成としたため、余計な動作ステップを省略することができる。特に、シューティングゲームにおいては、攻撃を受けたエネミキャラクタがやられモーションから攻撃モーションに移行する場合、攻撃モーションを最初から行うとプレイヤに攻撃をする隙を与えることになるため、効果的である。
【0045】
本発明の画像処理装置によれば、仮想空間内を移動する第1のオブジェクトを、プレイヤが操作する第2のオブジェクトの視点から見た画像を画面に表示する画像処理装置において、プレイヤの視点から見た第1のオブジェクトの飛行軌跡を両者の距離に応じて制御する構成としたため、第1のオブジェクトの不自然な動きを抑制することができる。
【0046】
本発明の画像処理装置によれば、仮想空間内を移動する第1のオブジェクトと仮想空間内に配置された第2のオブジェクトの衝突を判定する画像処理装置において、仮想空間を3次元座標に基づいて単位グリッド毎に区画し、第1のオブジェクトの存在するグリッドを決定し、このグリッド内のオブジェクトについてコリジョン判定をする構成としたため、全てのオブジェクトについてコリジョン判定をする必要が無く、処理の高速化を図ることができる。
【0047】
本発明の画像処理装置によれば、流動体の表面の動きを表現するオブジェクトを画面に表示する画像処理装置において、流動体の表面の変化を表現する変化パターンを予め記憶し、オブジェクトを、流動体の深さ方向を長手方向とする略直方体状のポリゴンの集合体として構成したため、よりリアルな流動体の表面の動きを表現することができる。
【0048】
本発明の画像処理装置によれば、複数のステージから構成されるゲームを実行する画像処理装置において、中間のステージをプレイヤの意志によりゲームの進行に応じて適宜選択することができるため、ゲームをより面白く進めることができる。
【0049】
本発明の情報記録媒体によれば、コンピュータを、従来よりもリアル感および臨場感に富み、ゲームへの興味感を大幅に高揚できる画像処理装置として機能させることができる。
【0050】
本発明によれば、オブジェクトの爆発等に伴う振動の発生回路を、BGM等の音響信号とは別経路の回路で構成したため、場面に応じた適切な音響効果を実現することができる。
【発明を実施するための最良の形態】
【0051】
以下、本発明の実施形態を図面を参照しながら説明する。
【0052】
本実施の形態の画像処理装置(ゲーム装置)は、シューティングゲームに係わるものである。このシューティングゲームは、プレイヤの操作するプレイヤキャラクタが仮想3次元空間内を自由に飛行することのできる飛行兵器に搭乗し、プレイヤの操作に応じて飛行兵器に取り付けられているマシンガンでエネミキャラクタ(目標対象物)を攻撃することで、その得点を競うものである。
【0053】
<ゲーム装置の構成>
図1に、ゲーム装置の外観を示す。この図において、符号1は、ゲーム装置本体を示している。このゲーム装置本体1は箱型の形状をなし、その前面にはディスプレイ1aが設けられている。ディスプレイ1aの横にはスピーカ取付孔が設けられており、これら孔の内部にはスピーカ14(図示せず)が設けられている。
【0054】
ディスプレイ1aの下部の前面には操作パネル2が設けられ、この操作パネル2上にはガンユニット11が設けられている。ガンユニット11はトリガを有しており、このガンユニット11はプレイヤによって操作される。
【0055】
ゲーム装置本体1の内部には、ゲーム処理ボードが設けられている。ディスプレイ1a、操作パネル2のガンユニット11、及びスピーカはゲーム処理ボード10に接続されている。これにより、プレイヤはディスプレイ1a及び操作パネル2のガンユニット11を使用してガンシューティングゲームを楽しむことができる。
【0056】
図2は飛行兵器22と、これに搭乗したプレイヤキャラクタ21の全体図である。飛行兵器22はマシンガン23を備えており、プレイヤキャラクタ21の操作により弾丸を連射し、エネミキャラクタを攻撃する。エネミキャラクタはエアバイク、ロケットベルト等の飛行手段で都市(仮想3次元空間内)を自由自在に飛び回る。プレイヤは対テロ部隊の一員となり、都市を破壊するエネミキャラクタを撲滅することを使命とする。尚、マシンガン23は弾切れ無しのオート連射が可能である。
【0057】
図3は、本実施形態に係るゲーム装置のブロック図である。このゲーム装置は、概略、ディスプレイ1a、ガンユニット11、ゲーム処理ボード10、出力装置12、及びスピーカ14を備えている。
【0058】
ゲーム処理ボード10は、カウンタ100、CPU(中央演算処理装置)101、ROM102、RAM103、サウンド装置104、入出力インタフェース106、スクロールデータ演算装置107、コ・プロセッサ(補助演算処理装置)108、地形データROM109、ジオメタライザ110、形状データROM111、描画装置112、テクスチャデータROM113、テクスチャマップRAM114、フレームバッファ115、画像合成装置116、D/A変換器117を有している。
【0059】
CPU101は、バスラインを介して、所定のプログラムや画像処理プログラムなどを記憶したROM102、データを記憶するRAM103、サウンド装置104、入出力インタフェース106、スクロールデータ演算装置107、コ・プロセッサ108、及びジオメタライザ110に接続されている。RAM103はバッファ用として機能させるもので、ジオメタライザに対する各種コマンドの書込み(オブジェクトの表示など)、各種演算時の必要なデータの書込みなどが行われる。
【0060】
入出力インタフェース106は前記ガンユニット11のトリガ、位置センサ及びペダルセンサ4に接続されており、ガンユニット11のトリガ、位置センサ及びペダルセンサ4等の操作信号がデジタル量としてCPU101に取り込まれる。CPU101はこれらの操作信号を基に画像処理を実行する。また、CPU101は、ガンユニット11のトリガ信号の入力を受けて、入出力インタフェース106を介して出力装置12に振動を与える。出力装置12は、例えば、ベースシェーカ等の音響振動装置で構成されるもの(詳しくは後述する)であり、プレイヤの足元に振動を与える。この振動により、プレイヤは臨場感のあるシューティングゲームを楽しむことができる。サウンド装置104は電力増幅器105を介してスピーカ14に接続されており、サウンド装置104で生成された音響信号が電力増幅の後、スピーカ14に与えられる。
【0061】
CPU101は、ROM102に内蔵したプログラムに基づいてガンユニット11からの操作信号及び地形データROM109からの地形データ、または形状データROM111からのモーションデータ(「エネミキャラクタ、プレイヤキャラクタ等のキャラクタ」、及び、「地形、空、道路、高層ビル、各種構造物等の背景」等の三次元データ)を読み込んで、挙動計算(ミュレーション)、及び特殊効果の計算を行う。
【0062】
挙動計算は、仮想空間でのキャラクタの動きをシミュレートするもので、三次元空間での座標値が決定された後、この座標値を視野座標系に変換するための変換マトリクスと、ポリゴンデータとがジオメタライザ110に指定される。コ・プロセッサ108には地形データROM109が接続され、予め定めた地形データがコ・プロセッサ108(及びCPU101)に渡される。コ・プロセッサ108は、主に、浮動小数点の演算を引き受けるようになっている。この結果、コ・プロセッサ108により各種の判定が実行されて、その判定結果がCPU101に与えられるようにされているから、CPUの計算負荷を低減できる。
【0063】
ジオメタライザ110は形状データROM111及び描画装置112に接続されている。形状データROM111には、既述のように予め複数のポリゴンからなる形状データ(各頂点から成るキャラクタ、地形、背景などの三次元データ)が記憶されており、この形状データがジオメタライザ110に渡される。ジオメタライザ110はCPU101から送られてくる変換マトリクスで指定された形状データを透視変換し、三次元仮想空間での座標系から視野座標系に変換したデータを得る。
【0064】
描画装置112は変換した視野座標系の形状データにテクスチャを貼り合わせフレームバッファ115に出力する。このテクスチャの貼り付けを行うため、描画装置112はテクスチャデータROM113及びテクスチャマップRAM114に接続されるとともに、フレームバッファ115に接続されている。なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン(多角形:主として3角形又は4角形)の各頂点の相対ないしは絶対座標のデータ群をいう。
【0065】
地形データROM109には、所定の判定を実行する上で足りる、比較的粗く設定されたポリゴンのデータが格納されている。これに対して、形状データROM111には、エネミ、背景等の画面を構成する形状に関して、より緻密に設定されたポリゴンのデータが格納されている。
【0066】
スクロールデータ演算装置107は文字などのスクロール画面のデータ(ROM102に格納されている)を演算するもので、この演算装置107と前記フレームバッファ115とが画像合成装置116及びD/A変換器117を介してディスプレイ1aに至る。これにより、フレームバッファ115に一時記憶されたエネミ、地形(背景)などのポリゴン画面(シミュレーション結果)と必要な文字情報のスクロール画面とが指定されたプライオリティにしたがって合成され、最終的なフレーム画像データが生成される。この画像データはD/A変換器117でアナログ信号に変換されてディスプレイ1aに送られ、ゲ−ムの画像がリアルタイムに表示される。
【0067】
また、本実施の形態のシューティングゲームのプログラムは、所定の記録媒体から読み出してこれを実行させるように構成してもよい。ここでいう情報記録媒体とは、何等かの物理的手段により媒体の記録領域に情報(例えば、ゲームプログラム)が記録されているものであって、CD−R、ゲームカートリッジ、フロッピー(登録商標)ディスク、磁気テープ、光磁気ディスク、CD−ROM、DVD−ROM、DVD−RAM、ROMカートリッジ、バッテリバックアップ付きのRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等を含む。
【0068】
また、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等の通信媒体を含む。インターネットもここでいう通信媒体に含まれる。
【0069】
<爆発映像の画像処理>
シューティングゲームにおける弾丸等の爆発映像の画像処理ステップを図4を参照して説明する。CPU101は入出力インタフェース106を介してガンユニット11、ペダルセンサ4等の操作信号を入力し(S401)、画面に弾丸の飛行状態を表示する(S402)。即ち、プレイヤキャラクタの位置、速度等の関係から弾丸の飛行軌跡を計算し、この軌跡に従って弾丸の飛行状態を画面に表示する。次いで、弾丸と仮想空間内に配置されたエネミキャラクタや高層ビル、橋、その他の建物、道路等とのコリジョン判定をする(S403)。コリジョン判定とは、2つのオブジェクトの当たり判定をいい、それぞれのオブジェクトに対してコリジョン判定用のポリゴンを設定し、これらのポリゴンの交差でコリジョン判定をする。弾丸が何らかのオブジェクトと衝突した場合、弾丸の爆発映像を画面に表示する(S404)。
【0070】
S404における爆発映像の画像処理は、球状のポリゴン(又はポリゴンを立体的に構成した立体形状の爆発表現対象物)と平面のポリゴン(又はポリゴンを平面的に構成した平面形状の爆発表現対象物)を組み合わせて実現する。この点を図5を参照して説明する。同図(A)、(B)及び(C)はそれぞれ時刻T1、T2、T3における爆発映像を現したものである。この爆発映像を実現するためには、まず、弾丸の着弾位置、弾丸の衝突角度、弾丸の速度等を考慮して、火柱、煙、炎等の軌跡P1、P2を設定する。次いで、この軌跡P1、P2の方向に球状のポリゴンと平面のポリゴンを境界が重なるように配置する。例えば、時刻T1では、球状ポリゴンR1、平面ポリゴンS1、球状ポリゴンR2、平面ポリゴンS2がそれぞれの境界が重なるように配置されている。時刻T2では、平面ポリゴンS2の周辺(境界)を覆うように球状のポリゴンR3を配置している。同様に、時刻T3では、球状ポリゴンR3の境界を覆うように平面ポリゴンS3を配置している。このように、平面ポリゴンの境界を球状ポリゴンで覆うことで、平面ポリゴンのみで爆発映像を実現する場合に見られる、直線的な境界が目立つという不自然さを解消することができる。
【0071】
次に、弾丸を受けたエネミキャラクタの爆発処理、即ち、エネミキャラクタの体の一部(破片)が飛び散る処理(目標対象物であるエネミキャラクタを構成するポリゴンの一部を仮想3次元空間内に飛散させる処理)について説明する。まず、CPUは、弾丸を受けたエネミキャラクタのライフゲージを参照する。このライフゲージはエネミキャラクタの残存エネルギーを表示するもので、ライフゲージが零になったときにエネミキャラクタは倒される。即ち、エネミキャラクタを仮想3次元空間から消去する。ライフエネルギーが零でない場合は、エネミキャラクタはまだ生きている状態にある。そこで、エネミキャラクタの体の一部(破片、即ち、エネミキャラクタを構成するポリゴン群の中の一部のポリゴン)を画面手前側に飛び散る映像を表示する。一方、ライフエネルギーが零である場合は、エネミキャラクタは死んでいる状態にあるから、エネミキャラクタの体の一部(破片)を画面奥側に飛び散る映像を表示する。このように、弾丸を受けたエネミキャラクタの体の一部(破片)の飛び散る方向を変えることで、そのエネミキャラクタが既に死んでいるものか、或いは、まだ生きているものかをプレイヤが容易に判断することができる。従来のシューティングゲームでは、マシンガン等の連射式の銃でエネミキャラクタを攻撃するときは、連続攻撃が行われるため、エネミキャラクタがどの段階で倒されたかが判定することができない。しかし、本発明によれば、攻撃を仕掛けている段階でエネミキャラクタの体の一部(破片)の飛び散る方向が変わるため、エネミキャラクタの生死を容易に判断することができ、ゲームを容易に進めることができる。
【0072】
尚、エネミキャラクタの体の一部(破片)の飛び散る方向は上記に限らず、プレイヤの視点から見て画面右方向(エネミキャラクタが死んでいるとき)と左方向(エネミキャラクタが生きているとき)にすることもできる。また、画面上方向と下方向にする等、適宜任意に設定することができる。
【0073】
<爆発オブジェクトのデータ構造>
次に、弾丸の爆発等を表現する爆発オブジェクトのデータ構造を図6を参照して説明する。爆発オブジェクトは複数のデータから構成される。例えば、爆発オブジェクトは爆発データA1、B1、B2、C1及びC2の4つの組み合わせ(パターン(1)〜パターン(4))から構成されるとする。この場合、本実施の形態の爆発オブジェクトのデータ構造は、同図(B)に示すように、A1−B1−C1,A1−B1−C2,A1−B2−C1,A1−B2−C2の4つの全てのデータ構造を階層的に配置したものである。即ち、全ての爆発オブジェクトに共通な爆発データA1をルートに置き、次いで、2層目にB1、B2を、3層目にC1、C2を配置する。そして、時間の経過に従って、配置された順番に消去する。
【0074】
このように配置することで、爆発データA1には、B1、B2のアドレスを指すポインタを設定し、爆発データB1、B2のそれぞれには、C1、C2のアドレスを指すポインタを設定することが可能となる。このようなデータ構造とすることで、従来例(図6(A))に比べて爆発オブジェクトのデータを記憶するためのメモリ量を少なくすることができる。
【0075】
尚、本発明は爆発オブジェクト以外のオブジェクトのデータ構造に応用することができる。
【0076】
<モーション補完処理>
次に、図8(B)を参照して、モーション補完処理について説明する。エネミキャラクタが「攻撃動作(モーションパターンM)」にあるとき、ダメージを受けたとする。このとき、エネミキャラクタは「倒れていく動作(ヒットパターンH1、H2、…、)」を順次実行するステップに移行する。即ち、コリジョン判定の当たり判定の結果に応じてCPUが目標対象物が行う一連の動作状態データを読み出してこれを画面に表示する。このとき、モーションパターンMとヒットパターンH1との間に数フレーム間モーション補完処理C1をする。次いで、ヒットパターンH1とヒットパターンH2との間にnフレーム間モーション補完処理C2をする。さらに、ヒットパターンH2とヒットパターンH3との間にn−1フレーム間モーション補完処理C3をし、ヒットパターンH3とヒットパターンH4との間にn−2フレーム間モーション補完処理C4をする。このように、徐々に補完のフレーム数(補完データを作成する数)を減らしていき、スローモーションから通常の速さに戻す。即ち、スロー再生の速さを徐々に変化させ通常の速さに戻す。これにより、不自然な動作パターンの変化を抑えることができ、より現実的なシューティングゲームを演出することができる。
【0077】
尚、1フレームが1/60秒の場合、上記nの値は1乃至4の範囲が好ましい。
【0078】
<ダメージを受けたときのエネミキャラクタの動き>
次に、ダメージを受けたときのエネミキャラクタの動きについて、図10を参照して説明する。この発明は、エネミキャラクタが弾丸を受けたときの動き、挙動に関するものである。本発明では弾丸を受けたときのエネミキャラクタが受けるトルク(エネミキャラクタの重心と弾丸を受けたときの位置との距離×弾丸から受ける力)を計算し、このトルクを基にエネミキャラクタの傾きの角度θを算出する。そして、弾丸を受けたときのエネミキャラクタの位置E1から移動後の位置E2を計算する。弾丸を受けたときのエネミキャラクタの動きは、プレイヤからの視点で見ると、同図(B)のようになる。従って、弾丸を受けたときのエネミキャラクタ(モデル)の位置変化は、プレイヤからの視点で見ると、2次元的位置がずれる(仮想視点からの視線方向以外の方向にキャラクタが位置変化する)ため、マシンガンで連射するときの標準合わせが困難となり、ゲームのスキル性がアップする。即ち、従来では弾丸を受けたエネミキャラクタは、プレイヤからの視点で見ると、2次元的位置が変化しなかったため、弾丸の連続ヒットが可能であったのに対し、本実施の形態によれば容易な連続ヒットを防ぐことができる。
【0079】
<モーションのハーフキャンセル>
次に、モーションのハーフキャンセルについて説明する。モーションのハーフキャンセルとは、複数の動作ステップからなる動作パターン(1)を実行中に他の動作パターン(2)へ移行する際に、そのときの動作ステップMを記憶しておき、動作パターン(2)の終了後、上記動作ステップMから動作パターン(1)を実行することをいう。この点を図11(B)を参照して説明する。いま、エネミキャラクタが攻撃モーションに入り、各攻撃ステップM1、M2、…、Mn-1、Mnを順に実行する。このとき、攻撃ステップM3においてプレイヤキャラクタから弾丸を浴び、ダメージを被ったとする。すると、CPUは攻撃ステップM3の識別情報をRAMに記憶し、やられモーションに移行する。やられモーション終了後、上記RAMに記憶された識別情報を基に、CPUは再び攻撃ステップM3から攻撃モーションに復帰する。このように構成することで、エネミキャラクタはやられモーション終了後、直ちに攻撃状態に移行することができるので、従来のようにプレイヤに攻撃をする隙を与えない。従って、ゲームの難易度が不用意に低下することを防ぎ、ゲームの面白さを向上させることができる。
【0080】
尚、上記の例では、攻撃ステップM3に復帰する場合、やられモーションに移行する数フレーム前後から復帰するように構成してもよい。
【0081】
また、エネミキャラクタに弱点を設定し、弾丸がこの弱点にヒットした場合はやられモーションから復帰するときにモーションのハーフキャンセルを行い、弱点以外の点に弾丸がヒットした場合は、やられモーションに移行せず、攻撃を続行するように構成してもよい。このように設定すれば、プレイヤがより有利にゲームを進めるためには、エネミキャラクタの弱点を狙う必要があるため、ゲームの面白さが増す。
【0082】
<弾丸の飛行軌跡の制御方法>
次に、図12を参照して弾丸の飛行軌跡の制御方法について説明する。本発明の弾丸の飛行軌跡の制御方法は、例えば、弾丸とプレイヤキャラクタとの間の距離を基にプレイヤの視点で見た弾丸の飛行軌跡を制御するものである。同図(B)を参照し、弾丸は速度V1で飛行し、プレイヤキャラクタは速度V2で移動しているとする。CPUは両者のそれぞれの座標から両者間の距離を求める。そして、プレイヤの視点から見た弾丸の飛行軌跡を求めるために、上記距離に反比例する係数kを速度V2に乗じて、合成ベクトルV3=V1−kV2を得る。この合成ベクトルV3がプレイヤの視点から見た弾丸の速度ベクトルである。
【0083】
このように構成することで、弾丸とプレイヤキャラクタ間の距離が大きいときはプレイヤキャラクの速度V2は弾丸の飛行軌跡にほとんど影響を与えず、また、両者の距離が短いときは、プレイヤキャラクの速度V2に応じて弾丸の速度が加減されるため、従来技術のような問題は生じない。
【0084】
<コリジョン判定の高速化>
次に、コリジョン判定の高速化について説明する。本発明のコリジョン判定は処理の高速化を実現するために、ゲーム画面、即ち、仮想空間全体を所定のグリッドに分割する。そして、コリジョン判定の対象となるオブジェクトの存在する単位グリッドを検索し、その単位グリッドに存在する全てのオブジェクトとのコリジョン判定を実行するものである。この点を図15を参照して説明する。図15(A)は、仮想空間70上に実現される都市の様子を簡略的にモデル化したものである。符号201、202及び203はビル等の建物(オブジェクト)を表す。同図(B)はこの仮想空間内に所定の3次元領域50を設定し、この3次元領域50を単位グリッド51,52,53等に分割する。例えば、これら単位グリッドのxyz方向の長さはそれぞれ1とする。図16(A)はこれをxy平面上に投影した図であり、図16(B)はこれをxz平面上に投影した図である。
【0085】
コリジョン判定の対象は、例えば、弾丸と建物、移動するキャラクタと壁等のように、移動するオブジェクトと、仮想空間上の位置が固定されたオブジェクト(又は、オブジェクトを構成するポリゴンや当該オブジェクトのコリジョン判定用のポリゴン)との間で行われるのが通常である。この場合、移動するオブジェクトをベクトル(大きさと向きをもつ線分)で表現して他のオブジェクト(仮想空間上の位置が固定されたオブジェクト、及び、前述の移動するオブジェクト以外のオブジェクト)とのコリジョン判定をする。コリジョン判定する手順を図17を参照して説明する。同図(A)に示すように、各単位グリッドに存在する建物等のオブジェクトをリストとしてまとめる。コリジョン判定は、同図(B)に示す手順に従って実行する。まず、コリジョン判定となるオブジェクト、例えば、弾丸の存在する単位グリッドを検索する(S171)。このステップは弾丸をベクトルとしてモデル化し、ベクトルの始点及び終点の座標がどの単位グリッドに存在するかをチェックすることで行う。そして、弾丸の存在する単位グリッドが存在したならば、今度は、その単位グリッドに存在するオブジェクトを構成するポリゴンとコリジョン判定をする(S172)。例えば、図16(A)に示すように、仮想空間内を移動する弾丸をベクトル40で表現し、このベクトル40が単位グリッド54に存在するならば、この単位グリッド54に存在するオブジェクト201を構成するポリゴンとのコリジョン判定を行う。これによってコリジョン判定を行うポリゴン数が減少するので、処理を高速化することができる。
【0086】
また、仮想空間内に配置される任意のオブジェクトの周囲に3次元領域を設定し、この3次元領域を単位グリッドに分割することで、コリジョン判定を実行することもできる。例えば、図18に示すように、仮想空間70上を移動する自動車204の周囲に3次元領域60を設定し、この3次元領域60を単位グリッド61,62等に分割する。このように構成することで、コリジョン判定をするポリゴン数をより減少させることができる。また、コリジョン判定をより細かく、かつ、正確に行うことができる。
【0087】
このように、本実施の形態によれば、仮想空間内に存在する全てのオブジェクト及びオブジェクトを構成する全てのポリゴンとのコリジョン判定をする必要が無いため、計算量を減らすことができ、処理速度を大幅に向上させることができる。また、ベクトルがどの位置に存在するかを座標比較で簡易に判定することができるため、仮想3次元空間内に位置するベクトルのみをコリジョン判定の対象にすればよいため、計算量が少なくなる。また、単位グリッドの数は仮想空間内に配置されたオブジェクトの大きさ、個数、位置、密度等を考慮してコリジョン判定の計算量が少なくなる好適な値に適宜設定すればよい。
【0088】
<波の表現>
次に、図18を参照して本実施の形態に係わる波の表現方法について説明する。本実施の形態では、波を表現するポリゴンは、同図(A)に示すように、波の深さ方向を長手方向とする略直方体のポリゴンP1、P2、P3、…、を多数集合させたものとして構成している。そして、略直方体のポリゴンP1、P2、P3、…、のそれぞれの高さh1、h2、h3、…、を予め定められたステップに従って変化させることで波の動きを表現することができる。同図(A)、(B)及び(C)は、それぞれ時刻T1、T2及びT3に対応するものである。略直方体のポリゴンP1、P2、P3、…、の高さは、例えば、単振動の動きとして変化させることで、波の周波数を単振動の周波数として表現することができる。
【0089】
<ゲームステージの構成>
次に、図19を参照して、ゲームステージの構成について説明する。本実施の形態に係わるゲームステージは最初と最後が固定されており、中間のステージをプレイヤが選択できるように構成されている。即ち、ゲーム装置は、ゲームがスタートすると、予め定められたプログラムにより自動的にステージ1を実行する(S191)。ステージ1終了後、画面にステージ1のスコアが表示される。そして、次のステージの選択画面が表示され、プレイヤは次のステージを選択する(S192)。例えば、ステージ3が選択された場合は、ステージ3が実行される(S193)。再び、ステップS192へ移行し(S194:NO)、次ステージが選択される。このようにして、全てのステージが終了後(S194:YES)、ラストステージが実行される(S195)。ラストステージ終了後、最終スコア等が表示され、エンディングとなる。
【0090】
このように、中間のステージをプレイヤの選択により実行させることで、プレイヤの意志によりゲームの流れを作ることができる。また、ゲームステージの選択の順序や既にプレーしたステージのスコア等の関係でプレイヤが選択できるステージを制限することで、ゲームの面白さを向上させることができる。
【0091】
<スコアの評価基準>
本発明に係わるシューティングゲームのスコアの評価基準は4つある。
【0092】
(1)敵1機単位の評価個々のエネミキャラクタをどうのよう方法で撃墜したか、撃墜に要した時間、弾丸の数等でスコアが評価される。
【0093】
(2)敵部隊単位の評価エネミキャラクタは単独に限らず、部隊を形成して攻撃を仕掛けてくる場合もある。そこで、敵部隊の全滅に要した時間が短い程評価が高い。本評価は、例えば、6段階に構成され、各段階のランクによってボーナス倍率が決定される。
【0094】
(3)各ステージ単位の評価各ステージでのプレイヤのスコアを基に、各ステージ毎のランキングを行う。
【0095】
(4)ゲーム単位の評価1ゲームを通じての総合スコアを基に各ゲーム毎のランキングを行う。
【0096】
このように、スコアの評価基準を敵1機単位、敵部隊単位等に分け、これらを組み合わせることでバリエーションに富んだスコア評価が可能となる。
【0097】
<振動発生機構>
本実施の形態のゲーム装置における振動発生機構について図21乃至図25を参照して説明する。図21は本ゲーム装置の筐体600及びディスプレイ701の斜視図である。筐体600は基部603及び支柱604を備えており、支柱604上には各種操作ボタンや、ガン(銃)601が取り付けられている。プレイヤはこのガン601を操作することで、ディスプレイ701に表示されるエネミキャラクタを攻撃する。図22はこの筐体の側面図、図23(A)は正面図、同図(B)は平面図である。基部603におけるプレイヤ(遊戯者)の足が位置する箇所には振動板602が取り付けられている。図24に示すように、この振動板602の裏側(プレイヤの足元の位置)には、振動発生装置(BASESHAKER)605R、605Lが取り付けられている。この振動発生装置605R、605Lは、エネミキャラクタに弾丸が命中し、ディスプレイ701にエネミキャラクタの爆発映像を表示するのと同期して振動を発生するものである。振動発生装置605R、605Lとして、低周波数の音響振動発生装置を用いることができ、例えば、オーラ社製の「130−5172」トランジューサ(加賀電子社販売)が好ましい。
【0098】
本実施の形態の振動発生機構の回路構成について図25を参照して説明する。サウンド処理部801はサウンドCPU、サウンドメモリ、D/Aコンバータを備えている。サウンドメモリにはゲーム場面毎に設定されているBGM等のサウンドデータ(波形データ)の他に、予めオブジェクト毎に関連付けられた振動波形データが登録されている。ゲームの場面毎に予め定められているBGM等の効果音は、サウンドCPUがゲームプログラムに既述されたコマンドに従って、サウンドCPUからサウンドデータ(波形データ)を読み出し、これをD/A変換して2チャンネル信号をアンプ802に出力し、スピーカ702R、702Lに出力することで生成される。また、アンプ802にて上記2チャンネル信号を合成し、この合成信号をローパスフィルタを備えるアンプ803に通過させ、ウーハー702Cに出力することで重低音を実現することができる。
【0099】
一方、エネミキャラクタ等の爆発映像に同期して振動を発生させる場合は、次に述べる方法で行う。エネミキャラクタが弾丸に命中し、エネミキャラクタの爆発に同期して振動を発生するべきコマンドがメインCPU(図示せず)からサウンドCPUに渡されると、サウンドCPUは予めオブジェクト毎に関連付けられた振動波形データをサウンドメモリから読み出し、これをD/A変換して2チャンネル信号をアンプ804に出力する。アンプ804で増幅された信号は振動発生装置605R、605Lに入力され、振動板602を振動させる。
【0100】
このように、本実施の形態の振動発生機構によれば、BGM用のサウンドデータと、オブジェクトの爆発等に伴う振動波形データを分けてサウンドメモリに登録し、それぞれの信号経路を異なるように構成したため、従来のように、BGM用のサウンドデータを基に生成される音響信号で振動発生装置を振動させる必要はなく、場面に応じた適切な振動を発生させることができる。また、BGMのサウンドに応じて不要なときに振動発生装置が振動する不自然さを解消することができる。
【図面の簡単な説明】
【0101】
【図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】振動発生機構の回路図である。
【符号の説明】
【0102】
1……装置本体、1a……ディスプレイ、2……操作パネル、4……ペダルセンサ、10……ゲーム処理ボード、11……ガンユニット、101……CPU、106……入出力インタフェース、109……地形データROM、110……ジオメタライザ、111……形状データROM、112……描画装置、113……テクスチャデータROM、114……テクスチャマップRAM、115……フレームバッファ、116……画像合成装置、117……D/A変換器。

【特許請求の範囲】
【請求項1】
オブジェクトの一連の動作を表示する画像処理装置において、前記オブジェクトの動作パターンを予め記憶する記憶手段と、前記オブジェクトの動作パターンが変化する際に、オブジェクトのモーション補完処理をしてこれを画面に表示するステップと、前記記憶手段から動作パターンを読み出してこれを画面に表示するステップとを交互に繰り返し、前記モーション補完処理の回数を次第に少なくすることで前記オブジェクトの画像を生成する画像生成手段と、を備える画像処理装置。
【請求項2】
前記オブジェクトの動作パターンの変化は、「攻撃動作」から「攻撃を受けて倒れる動作」への変化である、請求項1に記載の画像処理装置。
【請求項3】
3次元仮想空間内を飛行する第1のオブジェクトが、3次元仮想空間内に配置されている第2のオブジェクトに衝突することで、前記第2のオブジェクトが位置を変化する様子を画面に表示する画像処理装置において、前記第2のオブジェクトの座標値を記憶する記憶手段と、前記第1のオブジェクトとの衝突時に前記第2のオブジェクトが受けるモーメントを演算し、衝突後の第2のオブジェクトの座標値を算出する演算手段と、この演算結果に基づいて前記記憶手段に記憶されている第2のオブジェクトの座標値を更新し、衝突後の第2のオブジェクトの画像を生成する画像生成手段と、を備える画像処理装置。
【請求項4】
前記画像生成手段は、仮想視点から見た第2のオブジェクトの2次元的位置を変化させるように、前記衝突後の第2のオブジェクトの座標値を計算する、請求項3に記載の画像処理装置。
【請求項5】
前記第1のオブジェクトは弾丸であり、前記第2のオブジェクトはエネミキャラクタである、請求項3又は請求項4に記載の画像処理装置。
【請求項6】
オブジェクトの一連の動作を表示する画像処理装置において、前記オブジェクトの動作パターンを複数の動作ステップに分割して予め記憶する第1の記憶手段と、前記記憶手段から動作パターンを読み出してこれを画面に表示する画像生成手段と、前記オブジェクトの動作パターンの変化を検出する検出手段と、前記検出手段が前記オブジェクトの動作変化を検出したときにおける前記動作ステップの識別情報を第2の記憶手段に格納するとともに、前記第1の記憶手段から他の動作パターンを読み出してこれを画面に表示するように前記画像生成手段を制御する第1の画像制御手段と、前記他の動作パターンの画像表示が終了したときに前記第2の記憶手段に格納された前記識別情報に基づいて前記オブジェクトの動作ステップ移行の動作パターンを前記画像生成手段に実行させる第2の画像制御手段と、を備える画像処理装置。
【請求項7】
前記オブジェクトは、「エネミキャラクタ」であり、前記所定の動作パターンは、「攻撃動作」であり、前記他の動作パターンは、「攻撃を受けて倒れる動作」である、請求項6に記載の画像処理装置。
【請求項8】
仮想空間内を移動する第1のオブジェクトを、プレイヤが操作する第2のオブジェクトの仮想視点から見た画像を画面に表示する画像処理装置において、前記第1のオブジェクトの移動パターンを予め記憶する記憶手段と、前記第1のオブジェクトと第2のオブジェクト間の距離を計算し、前記第2のオブジェクトの速度ベクトルの逆ベクトルに前記距離に応じた係数を乗じたベクトルを、前記第1のオブジェクトの速度ベクトルに加算して合成ベクトルを算出する手段と、前記記憶手段から移動パターンを読み出し、前記第1のオブジェクトの速度ベクトルを前記合成ベクトルとした画像を生成する画像生成手段と、を備える画像処理装置。
【請求項9】
前記係数は前記距離に反比例する係数である、請求項8に記載の画像処理装置。
【請求項10】
前記第1のオブジェクトは、「弾丸」である、請求項8又は請求項9に記載の画像処理装置。
【特許請求の範囲】
【請求項1】
仮想三次元空間内において第1のオブジェクト及び第2のオブジェクトを移動させる処理と、前記第2のオブジェクトと共に仮想視点を移動させる処理と、前記仮想視点から前記第1のオブジェクトを見た画像を生成して表示手段に出力する処理とをコンピュータに実行させる画像処理方法において、
前記第1のオブジェクトの位置座標と前記第2のオブジェクトの位置座標とから、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離を算出する過程と、
前記第2のオブジェクトの速度ベクトルの逆ベクトルに前記第1のオブジェクト及び前記第2のオブジェクト間の距離に応じた係数を乗じて得たベクトルを、前記第1のオブジェクトの速度ベクトルに加算して合成ベクトルを算出する過程と、
前記第1のオブジェクトの速度ベクトルを前記合成ベクトルとして前記第1のオブジェクトを前記仮想空間内で移動させる過程と
を備えることを特徴とする画像処理方法。
【請求項2】
前記係数は、前記距離に反比例する係数である
ことを特徴とする請求項1に記載の画像処理方法。
【請求項3】
遊戯者の操作に応じて操作部から出力される操作信号に基づいて前記第2のオブジェクトを動作させる過程をさらに備える
ことを特徴とする請求項1に記載の画像処理方法。
【請求項4】
仮想三次元空間内において第1のオブジェクト及び第2のオブジェクトを移動させ、前記第2のオブジェクトと共に仮想視点を移動させ、前記仮想視点から前記第1のオブジェクトを見た画像を生成して表示手段に出力する画像処理装置において、
前記第1のオブジェクトの位置座標と前記第2のオブジェクトの位置座標とから、前記第1のオブジェクトと前記第2のオブジェクトとの間の距離を算出する距離算出手段と、
前記第2のオブジェクトの速度ベクトルの逆ベクトルに前記第1のオブジェクト及び前記第2のオブジェクト間の距離に応じた係数を乗じて得たベクトルを、前記第1のオブジェクトの速度ベクトルに加算して合成ベクトルを算出するベクトル算出手段と、
前記第1のオブジェクトの速度ベクトルを前記合成ベクトルとして前記第1のオブジェクトを前記仮想空間内で移動させる移動手段と
を備えることを特徴とする画像処理装置。
【請求項5】
前記係数は、前記距離に反比例する係数である
ことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
遊戯者の操作に応じて操作部から出力される操作信号に基づいて前記第2のオブジェクトを動作させる動作手段をさらに備える
ことを特徴とする請求項4に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2006−75619(P2006−75619A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2005−338982(P2005−338982)
【出願日】平成17年11月24日(2005.11.24)
【分割の表示】特願平10−349349の分割
【原出願日】平成10年11月24日(1998.11.24)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】