説明

画像合成表示装置及び画像合成表示方法

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、仮想3次元空間を形成する際の基準となる曲線,2次元空間を形成する際の基準となる曲線,及びキャラクタの移動によって描かれる曲線等を設定し、各曲線に基づいて画像を合成し、合成した画像を画面に表示させる画像合成表示装置,画像合成表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体に関する。
【0002】
【従来の技術】従来、3次元の仮想ゲーム空間にゲームプレーヤが操作可能な戦闘機等(自キャラクタ)を飛行させ、ゲーム空間中に出現する戦闘機(敵キャラクタ)等をどれだけ破壊できるかを競うシューティングゲームを実行するビデオゲーム機がある。
【0003】この種のビデオゲーム機では、自キャラクタが進むコースが予め設定されており、そのコースの周囲に建物,海,又は山等の3次元の仮想物体が配置された空間としてのゲーム空間が設定されている。そして、自キャラクタはこのコースの周囲の所定範囲内をゲームプレーヤの操作によって飛び回りながら移動していくようになっている。この場合、CRT等のディスプレイには、上記したコースに沿って所定速度で移動する仮想のカメラによって撮影される仮想3次元空間内の情景が表示される手法が採られる。そして、ゲームプレーヤは、このカメラの視野内の所定範囲内で自由に自キャラクタを操縦できるのである。
【0004】上記した手法を採る場合には、ビデオゲーム機は、上記した仮想3次元空間内にワールド座標系で上記コースを線として設定し、ローカル座標系の原点をこのコースに沿って所定速度で移動させ、上記仮想のカメラをこのローカル座標系の所定点に固定させる,あるいは自キャラクタの位置によって所定範囲で上下左右にシフトさせたり、回転させたりするという処理を行うことによって、ゲームを進行させる。ここに、ワールド座標系とは、コース,ゲーム空間,キャラクタ,カメラ等のゲームに係わる全てのものに対して共通の座標系であり、ローカル座標系とはビデオゲーム機が画像表示を適正に行うべく画像表示に係わるゲーム空間部分専用に設けられた座標系である。このようなことから、ビデオゲーム機が備える記憶装置には、上記したコース周辺に配置される3次元の仮想物体の位置や形状等の仮想3次元空間を表示するための空間情報に加えて、コースのデータも記憶しなければならない。
【0005】しかしながら、コースのデータは、コースが直線状である場合には直線の始点と終点のみを記憶するのみで良いが、コースは曲線で設定される場合もあるため、曲線を形成する全ての点を逐一記憶していたのでは膨大な記憶容量を必要としてしまう。そこで、曲線を描くコースのデータを記憶する際には、代表点を曲線で補間するという方法が考えられる。このように、空間上の点と点との間を曲線で補間する場合には、スプライン補間を用いることが考えられる。
【0006】
【発明が解決しようとする課題】しかしながら、スプライン補間を用いて代表点間の補間処理を行うことは、以下の理由により不適当であった。すなわち、スプライン補間では、二つの代表点(補間開始点と補間終了点)に対して接線ベクトルを設定することができず、また、補間によって形成される曲線が各代表点を必ずしも通過するとは限らない。従って、コース全体を一つの線状に形成することが困難であった。
【0007】従って、コースの曲線部分については多数の点のデータを設定し、記憶装置に記憶せざるを得なかった。このことより、多くの曲線で形成されたコースを採用すると、記憶装置に記憶させるデータが膨大となる問題があった。
【0008】本発明は、上記問題に鑑みなされたものであり、従来に比しより適正にコースをなす曲線の補間処理を行うことができ、記憶装置に記憶させるデータ量を減少させることのできる画像合成表示装置,画像合成表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体を提供することを課題とする。
【0009】
【課題を解決するための手段】本発明は、上述した課題を解決するために以下の構成を採用する。すなわち、請求項1の発明は、画面に仮想空間内を滑らかな曲線を描きながら移動していく様子を表示する装置であって、前記仮想空間内の画像を生成するための画像データが格納された画像データ格納手段と、前記曲線の始点位置のデータ,及び終点位置のデータが格納された第1データ格納手段と、前記曲線の始点位置の接線データ,及び終点位置の接線データが格納された第2データ格納手段と、前記始点位置のデータ,終点位置のデータ,始点位置の接線データ,及び終点位置の接線データに基づいて、前記曲線を求める曲線設定手段と、前記曲線設定手段によって求められた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求める移動位置設定手段と、前記移動位置設定手段によって求められた点の位置及び方向に基づいて、該位置及び方向に関する画像を前記画像データを用いて合成する画像合成手段と、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかな曲線を描きながら移動していく様子を前記画面に表示させる表示手段とを備えたことを特徴とする。
【0010】請求項1の発明によれば、曲線設定手段が、始点位置のデータ,終点位置のデータ,始点位置の接線データ,終点位置の接線データに基づいて、移動位置を設定するための曲線を求め、設定された移動位置に基づいて画像を合成するため、移動位置に関する多数の点データを記憶することなく滑らかな曲線を描きながら移動する画像を得ることができる。
【0011】請求項2の発明は、画面に仮想空間内を滑らかに連続する曲線を描きながら移動する様子を表示する画像合成表示装置であって、前記仮想空間内の画像を生成するための画像データが格納された画像データ格納手段と、前記曲線上に設定される複数の代表点の位置データが格納された第1データ格納手段と、前記複数の代表点における接線データがそれぞれ格納された第2データ格納手段と、前記複数の代表点の位置データ,及び各代表点における接線データに基づいて、隣り合う代表点間を結ぶ曲線をそれぞれ求めることによって前記曲線を求める曲線設定手段と、前記曲線設定手段によって求められた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求める移動位置設定手段と、前記移動位置設定手段によって求められた点の位置及び方向に基づいて、該位置及び方向に関する画像を合成する画像合成手段と、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかに連続する曲線を描きながら移動していく様子を前記画面に表示させる表示手段とを備えたことを特徴とする。
【0012】請求項3の発明は、請求項1記載の前記仮想空間が仮想3次元空間であり、前記仮想3次元空間内を滑らかな曲線を描きながら移動していく様子を疑似3次元画像表示することで、特定したものである。もっとも、仮想空間は2次元空間であっても良い。
【0013】請求項4の発明は、請求項1又は2記載の前記曲線の始点位置のデータ,曲線の終点位置のデータ,始点位置の接線データ,及び終点位置の接線データがいずれもベクトルデータであり、前記曲線の始点位置の接線データをなす接線ベクトルの値が、前記曲線の始点位置における速度ベクトルをn倍した値であり、前記曲線の終点位置の接線データをなす接線ベクトルの値が、前記曲線の終点位置における速度ベクトルをn倍した値であることで、特定したものである。
【0014】請求項5の発明は、請求項2又は3記載の前記複数の代表点のデータ,及び前記複数の代表点における各接線データが何れもベクトルデータであり、前記各接線データをなす接線ベクトルの値が、各代表点における速度ベクトルをn倍した値であることで、特定したものである。
【0015】請求項6の発明は、画面に仮想空間内を滑らかな曲線を描きながら移動していく様子を表示する方法であって、前記仮想空間内の画像を生成するための画像データを読み出し、前記曲線の始点位置のデータ,及び終点位置のデータを読み出し、前記曲線の始点位置の接線データ,及び終点位置の接線データを読み出し、前記始点位置のデータ,終点位置のデータ,始点位置の接線データ,及び終点位置の接線データに基づいて前記曲線を求め、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求め、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を前記画像データを用いて合成し、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかな曲線を描きながら移動していく様子を前記画面に表示させることを特徴とする。
【0016】請求項7の発明は、画面に仮想空間内を滑らかに連続する曲線を描きながら移動する様子を表示する方法であって、前記仮想空間内の画像を生成するための画像データを読み出し、前記曲線上に設定される複数の代表点の位置データを読み出し、前記複数の代表点における接線データをそれぞれ読み出し、前記複数の代表点の位置データ,及び各代表点における接線データに基づいて、隣り合う代表点間を結ぶ曲線をそれぞれ求めることによって前記曲線を求め、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求め、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を合成し、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかに連続する曲線を描きながら移動していく様子を前記画面に表示させることを特徴とする。
【0017】請求項8の発明は、画面に仮想空間内を滑らかな曲線を描きながら移動していく様子を表示する処理をコンピュータに実行させるコンピュータプログラムを記録した機械読取り可能な記録媒体であって、コンピュータに、前記仮想空間内の画像を生成するための画像データを読み出すステップと、前記曲線の始点位置のデータ,及び終点位置のデータを読み出すステップと、前記曲線の始点位置の接線データ,及び終点位置の接線データを読み出すステップと、前記始点位置のデータ,終点位置のデータ,始点位置の接線データ,及び終点位置の接線データに基づいて前記曲線を求めるステップと、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求めるステップと、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を前記画像データを用いて合成するステップと、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかな曲線を描きながら移動していく様子を前記画面に表示させるステップとを実行させるためのプログラムを記録した機械読取り可能な記録媒体である。
【0018】請求項9の発明は、画面に仮想空間内を滑らかに連続する曲線を描きながら移動する様子を表示する処理をコンピュータに実行させるコンピュータプログラムを記録した機械読取り可能な記録媒体であって、コンピュータに、前記仮想空間内の画像を生成するための画像データを読み出すステップと、前記曲線上に設定される複数の代表点の位置データを読み出すステップと、前記複数の代表点における接線データをそれぞれ読み出すステップと、前記複数の代表点の位置データ,及び各代表点における接線データに基づいて、隣り合う代表点間を結ぶ曲線をそれぞれ求めることによって前記曲線を求めるステップと、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求めるステップと、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を合成するステップと、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかに連続する曲線を描きながら移動していく様子を前記画面に表示させるステップとを実行させるためのプログラムを記録した機械読取り可能な記録媒体である。
【0019】ここに、記録媒体には、RAM,ROM,CD−ROM,フロッピーディスク,ハードディスク,光磁気ディスク等が含まれる。
【0020】
【発明の実施の形態】以下、本発明による実施形態を図面に基づいて説明する。最初に、本発明による画像合成表示装置を備えるビデオゲーム機の構成を説明する。図1R>1は、ビデオゲーム機のブロック図である。このビデオゲーム機は、装置本体と、コントローラ21とから構成される。また、装置本体には、ゲームプログラム(コンピュータプログラム)を記録した機械読取り可能な記録媒体としてのCD−ROM23が装填されるとともに、テレビジョンモニタ22が接続される。
【0021】装置本体は、CPU1と、このCPU1に直結されたグラフィックスデータ生成プロセッサ3と、CPU1に対してバス(アドレスバス,データバス及びコントロールバス)2を介して相互に接続されたインターフェイス回路4,メインメモリ5,ROM6,伸張回路7,パラレルポート8,シリアルポート9,描画処理プロセッサ10,音声処理プロセッサ12,デコーダ14,及びインターフェイス回路19と、描画処理プロセッサ10に接続されたバッファ11と、音声処理プロセッサ12に接続されたバッファ13及び増幅回路17と、この増幅回路17に接続されたスピーカ18と、デコーダ14に接続されたバッファ15及びCD−ROMドライバ16と、インターフェイス回路19に接続されたメモリ20とから構成される。上述のコントローラ21は、インターフェイス回路19に接続されている。また、上述のテレビジョンモニタ22は、描画処理プロセッサ10に接続されている。
【0022】ここに、グラフィックスデータ生成プロセッサ3は、CPU1のいわばコプロセッサとしての役割を果たす。すなわち、このグラフィックスデータ生成プロセッサ3は、座標変換や光源計算,例えば固定小数点形式の行列やベクトルの演算を、並列処理により行う。このグラフィックスデータ生成プロセッサ3が実行する主な処理は、CPU1から供給される画像データの2次元若しくは3次元面内における各頂点の座標データ,移動量データ及び回転量データとに基づいて処理対象画像の表示エリア上におけるアドレスを求めるとともに、当該アドレスデータを再びCPU1に返す処理や、仮想的に設定された光源からの距離及び角度に応じて画像の輝度を計算する処理等である。
【0023】インターフェイス回路4は、周辺デバイス,例えばマウスやトラックボール等のポインティングデバイス等のインターフェイス用の回路である。ROM6は、装置本体のオペレーションシステムとしてのプログラムデータを記憶している。メインメモリ5は、CD−ROM23からのゲームプログラムがロードされるメモリである。このメインメモリ5から適宜プログラム及びデータがCPU1にページングされて、CPU1によって処理される。
【0024】伸張回路7では、MPEG(Moving Picture Engineering Group)やJPEG(Joint Pincture Enginnering Group)に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理を施す。伸張処理は、デコード処理(VLC:Valiable Length Codeによりエンコードされたデータのデコード),逆量子化処理,IDCT(Inverse Discrete Cosine Transform)処理,イントラ画像の復元処理,等である。
【0025】描画処理プロセッサ10は、CPU1が発行する描画命令に基づいて、バッファ11に対する描画処理を行い、バッファ11内に描写された画像をテレビジョンモニタ22に対して出力する。バッファ11は、表示用エリアと非表示用エリアとからなる。表示用エリアは、テレビジョンモニタ22の表示面上に表示されるデータの展開エリアである。非表示用エリアは、テクスチャデータやカラーパレットデータ等の記憶エリアである。ここに、テクスチャデータは、2次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。CPU1が発行する描画命令とは、例えば、ラインを表示するための描画命令,ポリゴンを用いて立体的な画像を描画するための描画命令,通常の2次元画像を描画するための描画命令,等である。
【0026】音声処理プロセッサ12は、CD−ROM23から読み出されたPCM音声データを、ADPCMデータに変換する。また、音声処理プロセッサ12により処理されたADPCMデータは、音声としてスピーカ18から出力される。
【0027】CD−ROMドライバ16は、CD−ROM23からプログラムデータ,マップ情報等のデータ及び音声データを読み出して、読み出したデータをデコーダ14へ供給する。
【0028】デコーダ14は、CD−ROMドライバ16からの再生データに対して、ECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理が施されたデータを、メインメモリ5若しくは音声処理プロセッサ12に供給する。
【0029】メモリ20は、カード型のメモリであり、ゲーム中断時の状態を保持するために、ゲーム中断時における各種パラメータを記憶する。コントローラ21は、左キー,右キー,上キー及び下キーを一体化してなる十字キー21gと、左ボタン21Lと右ボタン21Rと、スタートボタン21aと、セレクトボタン21bと、第1〜第4ボタン21c〜21fとを、備えている。十字キー21gは、ゲームプレーヤがCPU1に対して上下左右を示すコマンドを与えるためのキーである。スタートボタン21aは、ゲームプレーヤが、CD−ROM23からロードされるゲームプログラムの開始をCPU1に指示するためのキーである。セレクトボタン21bは、ゲームプレーヤが、メインメモリ5上にロードされているゲームプログラムに関する各種選択を、CPU1に指示するためのキーである。
【0030】上述したCD−ROM23には、疑似3次元のゲーム空間において疑似3次元表示される戦闘機(自キャラクタ)をゲームプレーヤが操作し、ゲーム空間に出現する戦闘機等(敵キャラクタ)を破壊するシューティングゲームのゲームプログラム,及びゲームプログラムの実行に使用されるデータが記録されている。
【0031】このCD−ROM23が装置本体に装填され、電源が投入されると、ビデオゲーム機のCPU1が、CD−ROM23に記録されたゲームプログラム及びデータを次々と読み出し、メインメモリ5にロードする。そして、CPU1が、ゲームプログラムを適宜実行する。これによって、最初に、テレビジョンモニタ22には、ゲームの図示せぬタイトル画面が表示される。この状態でコントローラ21のスタートボタン21bが押されると、テレビジョンモニタ22の画面が、タイトル画面からゲームプレイ画面に切り替えられ、上述したシューティングゲームが実行される。
【0032】図2は、ゲームプログラムの実行によってテレビジョンモニタ22に表示されるゲームプレイ画面の表示例を示す図である。図2において、テレビジョンモニタ22には、鳥瞰的に見た場合(鳥瞰的な位置に配置された仮想のカメラC1(図3参照)によって撮影された場合)における疑似3次元のゲーム空間が表示されている。このゲーム空間において、底面に相当する部位には、海面31が設定され、この海面31の水平線を境として空32が表示されている。また、海面31の上空には、ゲームプレーヤが操作可能な戦闘機(自キャラクタ)30が、疑似3次元表示されるとともに、自キャラクタ30が破壊すべき敵キャラクタ36が表示されている。また、コントローラ21の弾発射ボタン(例えば、第4ボタン21fに設定)が押されると、自キャラクタ30からミサイル(弾キャラクタ)37が発射され、ゲーム空間の奥側へ向かって移動する様子が、アニメーション表示される。
【0033】また、自キャラクタ30は、テレビジョンモニタ22に表示されたゲーム空間の奥側へ向かって強制的に移動する設定がなされており、テレビジョンモニタ22に表示されたゲーム空間は、その手前側へ向かって相対的に移動する。これによって、自キャラクタ30が海面31の上空を飛行して行く様子が表示される。
【0034】次に、図2に示されたゲーム空間について説明する。図3,図4は、ゲーム空間の説明図である。図3に示されるように、このコース29を中心として左右にテレビジョンモニタ22に表示され得る範囲だけマップ34が設定され、このマップ34上には、建物,山,海,或いは森等の地形を表す仮想3次元物体が配されており、仮想3次元空間を形成している。また、このゲーム空間中には、自キャラクタ30が設定され、その後方に自キャラクタ30を見下ろす状態で仮想のカメラC1が設定されている。このカメラC1によって撮影される範囲(カメラC1の視界に入る範囲)が、テレビジョンモニタ22に表示されるゲーム空間となる。
【0035】このコース29は、ローカル座標の原点が移動することによって描かれる軌跡として設定されており、自キャラクタ30はローカル座標の原点からその前方及びその左右方向に所定の範囲内で自由に動き回ることができる。そして、カメラC1は、ローカル座標の原点の上方において、ローカル座標の原点をやや後方から見下ろす角度で設定され、上述した自キャラクタ30の動き回ることができる範囲,及びその前方を常に撮影するような角度で設定されている。また、カメラC1は、自キャラクタ30の原点に対する左右の動きに追随するように左右にも若干シフト(水平移動)する。このように、カメラC1が設定されているので、ローカル座標の原点がコース29上を進行していくのに伴って(ゲーム進行に伴って)テレビジョンモニタ22には、画面の手前側に向かって相対的に移動するゲーム空間(地形)と、そのゲーム空間中をゲームプレーヤの操作によって前後左右に動き回る自キャラクタ30が表示される。
【0036】また、コース29は、図4に示されるように、直線部分と曲線部分とからなる設定とされている。そして、ビデオゲーム機が、ゲーム進行に応じて各代表点α(図4にはα0〜α4のみ図示)間のコース29の補間処理を行い、ゲーム進行に伴って移動するローカル座標系の原点の位置をリアルタイムで求めていき、上記したような仮想のカメラC1によって撮影される画像が合成されていくのである。このとき、図4に示された代表点α0〜α4のうち、代表点α2と代表点α3との間(α2α3間),代表点α3と代表点α4との間(α3α4間)の補間処理は、いわゆるエルミート補間によって行われ、コース29の曲線部分が形成される設定とされている。
【0037】代表点α間の補間処理は、原理的には、空間上に2点が存在し、各点での接線ベクトルが設定されている場合に、その2点を通り且つ各点において接線方向を向いている曲線を求めることによってなされる。具体的には、例えば、空間上に補間開始点P0(x0,y0,z0)と補間終了点P1(x1,y1,z1)が存在する場合において、補間開始点P0におけるコース29の接線ベクトルをT0(tx0,ty0,tz0)とし、補間終了点P1におけるコース29の接線ベクトルをT1(tx1,ty1,tz1)としたとする。このとき、補間開始点P0と補間終了点P1とを通り、且つ補間開始点P0と補間終了点P1とにおいて接線方向を向いている曲線の方程式を、媒介変数tを使って、P=P(t)としたとする。このとき、曲線Pの方程式を決定するための要素は、上記したP0,P1,T0,T1の4つであるため、媒介変数tの3次方程式によって、曲線Pの方程式(式1)を表すことができ、また、この3次方程式から接線ベクトルTの方程式(式2)を表すことができる。すなわち、 P=k3×t3+k2×t2+k1×t+k0 ・・・(式1) T=dP/dt=3×k3×t2+2×k2×t+k1 ・・・(式2)(但し、k0,k1,k2,k3 は係数)で表される。ここで、例えば、tの値が0から1へ変化するに従って、曲線Pが補間開始点P0から補間終了点P1へ伸びるように設定した場合には、t=0のときk0=P0 (P0=P)k1=T0 (T0=T)t=1のときk3+k2+k1+k0=P1 (P1=P)3×k3+2×k2+k1=T1 (T1=T)よって、 k0=P0 ・・・(式3) k1=T0 ・・・(式4) k2=3×(P1−P0)−T1−2×T0 ・・・(式5) k3=−2×(P1−P0)+T1+T0 ・・・(式6)との各係数の値が求められる。そして、上記した(式1)にk0〜k3の値を代入するとともに、任意のtの値(0<t<1)を代入すれば、補間開始点P0と補間終了点P1との間における補間点が算出される。従って、tの値を代えて複数の補間点を求めれば、補間開始点P0と補間終了点P1との間を補間する曲線Pが得られる。
【0038】ここで、実際のコース29の代表点α2α3間,α3α4間を補間する場合には、上記した接線ベクトルT0とローカル座標原点の速度ベクトルV0との関係を考慮する必要がある。このため、例えば、P1−P0=T0 ・・・(式7)と設定する。ここに、(式7)は、単位時間当たりの位置ベクトルの変化分が接線ベクトルT0分であることを意味する。このように設定した場合には、上記した(式5)及び(式6)より、k2=k3=0よって、(式1),(式3),(式4)より、以下の(式8)が得られる。
【0039】P=T0×t+P0 ・・・(式8)(式8)より、接線ベクトルT0は、T0=A×V0(Aは定数)となることから、以下の(式9)P1−P0=A×V0 ・・・(式9)を満たすように定数Aの値を設定する。すなわち、速度ベクトルV0に任意の値を積算したものが接線ベクトルT0となるように設定する。
【0040】本実施形態では、上記した(式1)におけるtの値が0から1へ変化するに従って、曲線Pが補間開始点P0から補間終了点P1へ向かって伸びる設定がなされており、上記した係数k0〜k3の固定した値をビデオゲーム機が保有する。また、各代表点α2〜α4における各接線ベクトルについても、固定した各値をビデオゲーム機が保有する。すなわち、各代表点α2〜α4について、上述した(式9)を満たす速度ベクトルV0及び定数Aの固定した値が設定されている。
【0041】具体的には、上述した各代表点α2〜α4の位置(座標)データ,各代表点α2〜α4における接線ベクトルの値(接線ベクトルT0,接線ベクトルT1として設定される値),α2α3間の補間に使用される係数k0〜k3の値,及びα3α4間の補間に使用される係数k0〜k3の値は、ビデオゲーム機に電源が投入されることによって、CD−ROM23からメインメモリ5にロードされる(第1,第2データ格納手段に相当)。そして、これらのデータは、CPU1がゲームプログラムを実行する際に、適宜使用される。
【0042】従って、例えば、α2α3間の補間処理がなされる場合には、代表点α2が補間開始点P0に設定され、代表点α3が補間終了点P1に設定される。続いて、上記した(式1)にα2α3間を補間するための係数k0〜k3が代入されるとともに、tの値(0<t<1)の値が代入される。これによって、α2α3間の補間点(の座標)が算出される。ここに、媒介変数tは、時間の変数として設定されており、t=1が補間開始時(t=0)から1秒経過時として設定されている。また、補間点は、60分の1秒毎に算出される設定とされ、これによって、(式1)に代入されるtの値は、60分の1,60分の2,60分の3・・・60分の59に設定されている。従って、1秒の間にPの値(補間点)が59回算出され、α2α3間が59の補間点によって補間される。また、α3α4間の補間処理がなされる場合には、代表点α3が補間開始点P0に設定され、代表点α4が補間終了点P1に設定される。続いて、上記した(式1)にα3α4間を補間するための係数k0〜k3が代入されるとともに、tの値(0<t<1)の値が代入される。これによってα3α4間の補間点が算出される。
【0043】次に、ビデオゲーム機がゲームプログラムを実行することによって行われるゲーム空間の補間処理について説明する。図5は、ゲーム空間の補間処理が示されたフローチャートである。この補間処理は、例えば、ゲームスタートと同時に、上記したローカル座標の原点が代表点α0に設定され、コース29に沿って前記原点が移動するところからスタートする。そして、ローカル座標の原点が代表点αを通過する都度、図5のフローチャートに示される補間処理が繰り返される。なお、ここでは、α2α3間のゲーム空間の補間処理を例として説明する。
【0044】S01では、時間の変数tに60分の1が加算される。この補間処理開始時におけるtの初期値はt=0に設定されており、1回目のS01の処理では、tの値がt=1/60に設定され、2回目のS01の処理ではt=2/60,3回目のS01の処理ではt=3/60・・・と設定される。そして、処理がS02に進む。S02では、メインメモリ5から、コース29の補間開始点P0である代表点α2と補間終了点P1である代表点α3との間を補間するための係数k0〜k3の値が読み出され、これらの値とS01で設定されたtの値とが上記した(式1)に代入され、α2α3間における補間点の座標が算出される。例えば、1回目のS02の処理では、(式1)にt=1/60が代入され、t=1/60の場合における補間点の座標が算出される。このS02にて得られる補間点の座標としては、ワールド座標系での座標値が算出される(曲線設定手段,移動位置設定手段に相当)。そして、処理がS03に進む。
【0045】S03では、S02にて得た補間点の座標値がローカル座標系における座標値に変換される。そして、処理がS04に進む。S04では、S03にて得た補間点の座標,及びメインメモリ5に格納された地形の画像データに基づいて、ゲーム空間の画像が合成される(画像合成手段に相当)。例えば、1回目のS04の処理においては、t=1/60の場合における補間点を基準として、マップ34が設定される。続いて、マップ34のうち、仮想のカメラC1の視界に入る範囲に、地形をなす疑似3次元物体(建物や海)の画像が合成される。そして、合成された画像が、描画処理プロセッサ10によって、テレビジョンモニタ22に表示される。そして、処理がS05に進む。
【0046】S05では、S01にて設定されたtの値が60分の59であるか否かが判定される。このとき、t=59/60でないと判定された場合には、処理がS01に戻り、このS05にてYESの判定がなされるまで、S01〜S05の処理が繰り返し行われる。これによって、代表点α2から代表点α3へ向かってローカル座標の原点が移動するとともに、α2α3間におけるゲーム空間がその都度補間生成され、テレビジョンモニタ22に表示される。従って、テレビジョンモニタ22には、滑らかな曲線を描いて移動するゲーム空間の様子が表示される(表示手段に相当)。これに対し、t=59/60であると判定された場合には、このゲーム空間の補間処理が終了する。なお、α3α4間のゲーム空間の補間処理においても、S01〜S05の処理が同様に行われる。
【0047】本実施形態によれば、エルミート補間を用いて補間処理を行うので、補間開始点P0と補間終了点P1にそれぞれ接線ベクトルT0,T1を設定した補間処理を行うことができる。このため、補間開始点P0と補間終了点P1とを適正に接続するコース29の曲線部分を補間することができ、補間されたコース29を基準として、滑らかに曲線を描きながら移動するゲーム空間の映像をテレビジョンモニタ22に表示することができる。従って、従来では多数の点データとして保有せざるを得なかったゲーム空間の曲線部分のデータを補間処理によって生成できる。このため、CD−ROM23に記憶させるデータの量を減少させることができる。
【0048】なお、係数k0〜k3は、補間開始点P0,補間終了点P1,接線ベクトルT0,接線ベクトルT1の値によって算出される設定とされていても良い。また、補間開始点P0における速度ベクトルV0と補間終了点P1における速度ベクトルとをビデオゲーム機が固定データとして保有する設定とし、ビデオゲーム機が補間処理に当たり、上記した(式9)を満たす定数Aの値を算出することによって、接線ベクトルT0及び接線ベクトルT1を算出する設定とされていても良い。
【0049】また、本実施形態では、媒介変数tをt=1のときが補間開始から1秒経過時となる時間の変数として設定したが、tと時間とはその他の関係,例えばt=1のときに0.5秒や2秒というような値を採るように設定しても良い(例えば、t=1のときが補間開始から0.5秒となるように設定した場合には、60分の1秒毎に(式1)に代入されるtの値は、30分の1,30分の2,30分の3,・・・30分の29に設定されることとなる。)。また、tの値が所定の値である場合に採る時間の値が、時間の経過とともに徐々に変わるようにしても良い(例えばt=1のときを補間開始から1秒経過時とし、t=2のときを補間開始から1.5秒経過時と設定するような場合等)。また、このように設定することにより、コース29上を移動するローカル座標の原点のスピードを徐々に変化させることができ、これに伴って、画面に移動する様子が表示されるゲーム空間の移動スピードを徐々に変化させることができる。
【0050】また、本実施形態では、ゲーム空間が仮想3次元空間(疑似3次元空間)である場合について説明したが、ゲーム空間が2次元空間(上方から平面的に見た空間)である場合にも、本発明による画像合成表示装置を用いてゲーム空間を設定することができる。
【0051】また、本発明による画像合成表示装置は、本実施形態におけるテレビジョンモニタ22の画面に曲線の軌跡を描いて移動する様子が表示される敵キャラクタ36や弾キャラクタ37の画像合成表示にも実施することができる。例えば、図2に示されるように、敵キャラクタ36が、曲線状のコース29a上を移動するように設定されている場合には、このコース29a上に代表点β1〜β3が設定され、代表点β1と代表点β2との間,及び代表点β2と代表点β3との間が、上述した補間処理によって補間点が求められ、この補間点を基準として敵キャラクタ36の画像が合成され、その画像がテレビジョンモニタ22に表示されるように設定されていても良い。また、キャラクタが2次元のゲーム空間内で曲線状のコース上を移動するように設定されている場合にも、本発明による画像合成表示処理を行うことが可能である。
【0052】また、本発明による画像合成表示装置の実施は、シューティングゲームを実行するビデオゲーム機に限られず、例えば、アクションゲーム,ロールプレイングゲーム,アドベンチャーゲーム,パズルゲーム等を実行するビデオゲーム機等について実施することも可能である。
【0053】
【発明の効果】本発明による画像合成表示装置,画像合成表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体によると、補間処理によって形成される曲線が適正に補間開始点と補間終了点とを通過するため、従来に比しより適正な補間処理を行うことができる。これより、従来多数の点データとして保有していた曲線のデータを補間処理によって生成できるため、記憶装置に記憶させるデータ量を減少させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態による曲線の設定装置を備えたビデオゲーム機を示すブロック図
【図2】ゲームプレイ画面の表示例を示す図
【図3】ゲーム空間の説明図
【図4】ゲーム空間の説明図
【図5】ゲーム空間の補間処理を示すフローチャート
【符号の説明】
α,β 代表点
H 補間点
1 CPU
5 メインメモリ
23 CD−ROM
29 コース
30 自キャラクタ
34 マップ
36 敵キャラクタ
37 弾キャラクタ

【特許請求の範囲】
【請求項1】画面に仮想空間内を滑らかな曲線を描きながら移動していく様子を表示する装置であって、前記仮想空間内の画像を生成するための画像データが格納された画像データ格納手段と、前記曲線の始点位置のデータ,及び終点位置のデータが格納された第1データ格納手段と、前記曲線の始点位置の接線データ,及び終点位置の接線データが格納された第2データ格納手段と、前記始点位置のデータ,終点位置のデータ,始点位置の接線データ,及び終点位置の接線データに基づいて、前記曲線を求める曲線設定手段と、前記曲線設定手段によって求められた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求める移動位置設定手段と、前記移動位置設定手段によって求められた点の位置及び方向に基づいて、該位置及び方向に関する画像を前記画像データを用いて合成する画像合成手段と、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかな曲線を描きながら移動していく様子を前記画面に表示させる表示手段とを備えたことを特徴とする画像合成表示装置。
【請求項2】画面に仮想空間内を滑らかに連続する曲線を描きながら移動する様子を表示する画像合成表示装置であって、前記仮想空間内の画像を生成するための画像データが格納された画像データ格納手段と、前記曲線上に設定される複数の代表点の位置データが格納された第1データ格納手段と、前記複数の代表点における接線データがそれぞれ格納された第2データ格納手段と、前記複数の代表点の位置データ,及び各代表点における接線データに基づいて、隣り合う代表点間を結ぶ曲線をそれぞれ求めることによって前記曲線を求める曲線設定手段と、前記曲線設定手段によって求められた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求める移動位置設定手段と、前記移動位置設定手段によって求められた点の位置及び方向に基づいて、該位置及び方向に関する画像を合成する画像合成手段と、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかに連続する曲線を描きながら移動していく様子を前記画面に表示させる表示手段とを備えたことを特徴とする画像合成表示装置。
【請求項3】前記仮想空間が仮想3次元空間であり、前記仮想3次元空間内を滑らかな曲線を描きながら移動していく様子を疑似3次元画像表示することを特徴とする請求項1又は2記載の画像合成表示装置。
【請求項4】前記曲線の始点位置のデータ,曲線の終点位置のデータ,始点位置の接線データ,及び終点位置の接線データがいずれもベクトルデータであり、前記曲線の始点位置の接線データをなす接線ベクトルの値が、前記曲線の始点位置における速度ベクトルをn倍した値であり、前記曲線の終点位置の接線データをなす接線ベクトルの値が、前記曲線の終点位置における速度ベクトルをn倍した値であることを特徴とする請求項1又は3記載の画像合成表示装置。
【請求項5】前記複数の代表点のデータ,及び前記複数の代表点における各接線データが何れもベクトルデータであり、前記各接線データをなす接線ベクトルの値が、各代表点における速度ベクトルをn倍した値であることを特徴とする請求項2又は3記載の画像合成表示装置。
【請求項6】画面に仮想空間内を滑らかな曲線を描きながら移動していく様子を表示する方法であって、前記仮想空間内の画像を生成するための画像データを読み出し、前記曲線の始点位置のデータ,及び終点位置のデータを読み出し、前記曲線の始点位置の接線データ,及び終点位置の接線データを読み出し、前記始点位置のデータ,終点位置のデータ,始点位置の接線データ,及び終点位置の接線データに基づいて前記曲線を求め、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求め、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を前記画像データを用いて合成し、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかな曲線を描きながら移動していく様子を前記画面に表示させることを特徴とする画像合成表示方法。
【請求項7】画面に仮想空間内を滑らかに連続する曲線を描きながら移動する様子を表示する方法であって、前記仮想空間内の画像を生成するための画像データを読み出し、前記曲線上に設定される複数の代表点の位置データを読み出し、前記複数の代表点における接線データをそれぞれ読み出し、前記複数の代表点の位置データ,及び各代表点における接線データに基づいて、隣り合う代表点間を結ぶ曲線をそれぞれ求めることによって前記曲線を求め、求めた曲線に時間パラメータをあてはめてこの曲線上を移動する点の位置及び方向を求め、求めた点の位置及び方向に基づいて、該位置及び方向に関する画像を合成し、微小時間の経過に応じて前記時間パラメータを変化させることにより合成された画像を変化させ、前記仮想空間内を滑らかに連続する曲線を描きながら移動していく様子を前記画面に表示させることを特徴とする画像合成表示方法。

【図2】
image rotate


【図3】
image rotate


【図1】
image rotate


【図4】
image rotate


【図5】
image rotate


【特許番号】特許第3016741号(P3016741)
【登録日】平成11年12月24日(1999.12.24)
【発行日】平成12年3月6日(2000.3.6)
【国際特許分類】
【出願番号】特願平8−343401
【出願日】平成8年12月24日(1996.12.24)
【公開番号】特開平10−188037
【公開日】平成10年7月21日(1998.7.21)
【審査請求日】平成8年12月24日(1996.12.24)
【出願人】(000105637)コナミ株式会社 (106)