(57)【要約】【課題】この発明の目的は、ゲームの流れを中断しない画像処理装置を提供することにある。【解決手段】ゲーム機本体の処理ボードは、１ステージが終了するごとに遊技者が必要とする情報を地図に付し、次のようにディスプレイに表示して遊技者に提供する。トロッコ２０の先端部を表示し（図５（ａ））、ゲームのキャラクタ２４，２５をトロッコ２０に載せた状態（図５（ｂ））のカメラワークを行う。キャラクタ２４，２５とトロッコ２０との関係が分かるように、鳥瞰的にディスプレイ１ａに表示し（図５（ｃ））、再び、キャラクタ２４，２５の斜め上までカメラワークを移してキャラクタ２４，２５を拡大表示する（図５（ｄ））。キャラクタ２４，２５の間から地図２６を除き込むようにして表示し（図５（ｅ））、最終的に地図２６を拡大して表示する（図５（ｆ））。【選択図】図５
2006309787.tif 000002
【特許請求の範囲】
【請求項１】
連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理装置において、
互いに連結された複数のポリゴン毎に基準ベクトルを決定し、前記テクスチャを前記基準ベクトルの方向に移動させる座標処理手段を備え、移動された前記テクスチャを前記ポリゴンにはりつけることを特徴とする画像処理装置。
【請求項２】
連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理装置において、
縦横に連結された複数のポリゴンの縦または横方向のポリゴン列毎に基準ベクトルを決定し、前記テクスチャを変形することなく、この基準ベクトルの方向に移動させる座標処理手段を備える画像処理装置。
【請求項３】
前記座標処理手段は、予め定められた曲線に基づき前記基準ベクトルを決定することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記複数のポリゴン毎の基準ベクトルは連続し、前記テクスチャは前記曲線に沿った流れに対応することを特徴とする請求項３記載の画像処理装置。
【請求項５】
生成された前記画像を表示する表示手段を備えることを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理方法において、
互いに連結された複数のポリゴン毎に基準ベクトルを決定する第１のステップと、
前記テクスチャを前記基準ベクトルの方向に移動させる第２のステップと、
移動された前記テクスチャを前記ポリゴンにはりつける第３のステップとを備えることを特徴とする画像処理方法。
【請求項７】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理装置において、
遠方の背景を表す背景画像を、前記視点の移動とともに移動させる移動処理手段を備えることを特徴とする画像処理装置。
【請求項８】
前記背景画像は円筒形あるいは球形をなすことを特徴とする請求項７記載の画像処理装置。
【請求項９】
生成された前記視点画像を表示する表示手段を備えることを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、請求項７乃至９のいずれかに記載の画像処理装置を備えることを特徴とするゲーム装置。
【請求項１１】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理方法において、
前記移動体の移動量を求める第１のステップと、
前記移動量に基づき、遠方の背景を表す背景画像を移動させる第２のステップとを備えることを特徴とする画像処理方法。
【請求項１２】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像をポリゴンを用いて生成する画像処理装置において、
前記視点画像を構成するポリゴンを複数に分類し、各分類毎にポリゴンの表示個数が予め定められた最大表示個数以下となるように、ポリゴンの表示個数を制御するポリゴン数制御手段を備えることを特徴とする画像処理装置。
【請求項１３】
前記ポリゴン数制御手段は、前記視点画像を構成するポリゴンを、少なくとも背景を表すポリゴンおよびその他のポリゴンに分類することを特徴とする請求項１２記載の画像処理装置。
【請求項１４】
生成された前記視点画像を表示する表示手段を備えることを特徴とする請求項１２又は１３に記載の画像処理装置。
【請求項１５】
三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、請求項１２乃至１４のいずれかに記載の画像処理装置を備えることを特徴とするゲーム装置。
【請求項１６】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像をポリゴンを用いて生成する画像処理方法において、
前記視点画像を構成するポリゴンを複数に分類し、前記各分類毎にポリゴンの表示個数の最大表示個数を定める第１のステップと、
前記最大表示個数を超えない範囲において前記各分類毎にポリゴンの表示個数を制御する第２のステップとを備えることを特徴とする画像処理方法。
【請求項１７】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理装置において、
前記視点画像の視野を移動方向の状況に応じて変更する視野変更手段を備えることを特徴とする画像処理装置。
【請求項１８】
前記視野変更手段は、前記移動体の前方に物体がないときは視野を広くし、物体があるときは視野を狭くすることを特徴とする請求項１７記載の画像処理装置。
【請求項１９】
生成された前記視点画像を表示する表示手段を備えることを特徴とする請求項１７又は１８に記載の画像処理装置。
【請求項２０】
三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、請求項１７乃至１９のいずれかに記載の画像処理装置を備えることを特徴とするゲーム装置。
【請求項２１】
三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理方法において、
前記移動体の前方の物体の状況を調べる第１のステップと、
物体がないときに視野を広くし、物体があるときに視野を狭くする第２のステップとを備えることを特徴とする画像処理方法。
【請求項２２】
請求項６、請求項１１、請求項１６、及び請求項２１のいずれかに記載の方法を処理装置に実行させる手順が記憶される記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びこれを用いたゲーム装置に関する。詳しくはコンピュータグラッフィクスを利用したゲーム機等の画像処理装置等に関する。並びにこれらの処理手順が記憶された記憶媒体に関する。
【背景技術】
【０００２】
このゲーム装置の一例として、「タイトルファイト（商標）」が知られている。このものは、キャラクタ（闘士）をスプライト（一枚の絵）から構成し、背景等をスクロール画面から構成している。
【０００３】
しかしながら、これでは視点を変えてキャラクタを三次元的に表現することができない。そこで、三次元的な形状を複数のポリゴンから構成し、このポリゴンにテクスチャー（模様）をマッピングしてキャラクタをいずれの視点から見ても表示することができるようにすることが近年おこなわれている。
【０００４】
このような例として、三次元的キャラクタにテクスチャマッピングを施したポリゴンデータで描画するとともに、キャラクタの動作や視点の変更に順じた動きが求められる背景部分もテクスチャ付きのポリゴンデータで描画等するＴＶゲーム装置が知られている（例えば（株）セガ・エンタープライゼス製「レイルチェースＩ」）。
【０００５】
これにより、キャラクタをスプライトで構成する場合に比べ、キャラクタと、キャラクタの動きに密接に関連する背景等を所定の視点から見て三次元的に表現できる。
【０００６】
ところで、上述した従来のＴＶゲーム装置（例えば（株）セガ・エンタープライゼス製「デルチェースＩ」）においては、ゲームの１ステージが終了すると、主人公のキャラクタが地図を見て次のステージに移るようにしている。このため、この装置の場合、前記地図を別のスクロールデータで形成し、１ステージが終了した時点で、ゲーム環境に全く関係なく、突然、地図表示に画面を切り換えて表示していた（第１の従来技術）。
【０００７】
また、このゲーム装置の場合、主人公のキャラクタがトロッコに乗って移動する場面があり、そのときの主人公の視点によるカメラワークをトロッコの移動方向により決定していた。例えばトロッコ２２０が、図２２（ａ）に示すようにポイントｑ１、ｑ２、ｑ３、ｑ４、…と方向を変えてゆく場合、ポイントｑ１では、ポイントｑ２の座標を先読みし、ポイントｑ１にいる主人公のキャラクタの視点を座標（Ｘ，Ｙ，Ｚ，Ａ）（ただし、Ａは角度）として決定していた。このようにトロッコ２２０が各ポイントｑ１，ｑ２，ｑ３，ｑ４，・・・に移動する毎に、主人公のキャラクタの視点におけるカメラワークは、図２２（ｂ）に示すようになる。すなわち、ポイントｑ１では例えば座標（Ｘ，Ｙ，Ｚ，Ａ）、ポイントｑ３では例えば座標（Ｘ，Ｙ，Ｚ，Ｂ）（ただし、Ｂは角度）といように決定されていた。
【０００８】
ここで、図２３に示すように、カメラの方向を符号Ｅ、カメラの向きを符号Ｆ、視野を符号Ｇとする。すると、図２４に示すように、ポイントｑ１１に達する前にはカメラの向きがＦ１であって視野がＧ１となり、ポイントｑ１１を過ぎポイントｑ１２に達する前にはカメラの向きがＦ２であって視野がＧ２となり、ポイントｑ１２を過ぎポイントｑ１３に達する前にはカメラの向きがＦ３であって視野がＧ３となり、…というように方向転換の起点が１点で視野Ｇが大きく変化していた（第２の従来技術）。
【０００９】
さらに、この装置では、背景等として川を表示している。この川における水の流れの表現は、テクスチャマッピングを施したポリゴンを用い、水の流れに見えるテクスチャを川の流れに沿ってポリゴンに貼付け、そのテクスチャ座標を時間の経過に応じて水の流れる方向に応じて変化させている。例えば、図２５に示すように、テクスチャの座標を任意の軸でポリゴン１５０、１５０、・・・に投影した場合、ポリゴン１５０、１５０、・・・全体に同一方向に移動するように表示される。また、図２６に示すように、各ポリゴン１５１，１５２，１５３，１５４、１５５、１５６の各４隅をテクスチャのｎ倍に対応させた場合、各ポリゴン１５１，１５２，１５３，１５４、１５５、１５６の形状に応じて蛇行した川の流れの表現が可能になる（第３の従来例）。
【００１０】
加えて、この装置において、陰面消去の技法であるＺバッファ法を使用して所定の画面を作成する場合、図２７（ａ）に示すように、視点２１０から無限遠の背景２２０、遠距離にある物体や距離のない物体２２１を見ると、画面の表示範囲２３０のようになる（第４の従来例）。
【００１１】
さらにまた、この装置では、同時に表示し得るポリゴンの最大数には限界があるため、画面全体についてポリゴンが最大数を超えてしまわぬように、ポリゴンの表示個数を制御していた（第５の従来技術）。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
また、上記第２の従来技術によれば、図２２及び図２４に示すように、各ポイントｑ・ｎ（ｎは任意の整数）において次のポイントｑ・ｎ＋１の座標を先読みしてカメラの向きＦを決定しており、方向転換の起点が１点のために視点の振り幅が大きくなり、周りの状況を認識しづらいいう欠点があった。特に、カーブにおいては、死角が現実以上に発生してしまう欠点があった。
【００１３】
さらに、上記第３の従来技術によれば、図２５に示すものは、ポリゴンにテクスチャ座標を投影した場合、投影面に対して等密度でテクスチャーマッピングされるが、テクスチャ座標を移動させても全体的に一方向にしか動かないため、蛇行した川などを表現することができないという欠点があった。また、図２６に示すものは、ポリゴンに合わせてテクスチャを対応させているので、ポリゴン形状に応じた方向に流れるように表現でき、蛇行した川の流れを表現できるが、川幅の変化や急角度のカーブなどではテクスチャの密度が変化した（潰れた）状態に表現されてしまう欠点があった。
【００１４】
加えて、上記第４の従来技術においては、三次元コンピュータグラフィックを使用しており、この手法ではその画像の表示にＺバッファ法またはＺソート法を用いることが多い。現在、処理の高速化が要求されているため、Ｚバッファ（物体の奥行き情報）を整数で記憶させたり、座標値を整数（固定少数点で扱う）で演算することもある。このため、無限遠にある物体の奥行きを表現したい場合、特別な処理をしている。また、Ｚバッファ法で精度を確保するために、奥行き方向の表示範囲に制限を加えた場合には、その表示範囲２３０に収まる距離上に前記物体を配置する必要がある。すなわち、図２７（ａ）に示すように、物体２２１が表示範囲２３０に収まるように配置しなければならない。その結果、例えば視点２１０が図示左側に移動すると、無限遠の背景２２０は移動するが、遠距離にある物体（あるいは距離のない物体）２２１は移動しないため、見え方が変わってしまう欠点があった。
【００１５】
さらにまた、上記第５の従来技術によれば、画面全体の全てのポリゴン数の制御が行われていた。ところが、ゲーム画面は、背景を表すポリゴン、および、エネミー等を表すポリゴン等によって構成されており、特にエネミーはゲーム進行に応じて数多く表示される場合がある。したがって、エネミーを表示するために、背景のポリゴン数が圧迫され、背景画像の一部が欠落（いわゆるポリゴン落ち）が生じる場合がある。背景画像の欠落はゲーム画像の品位を著しく損ねる原因となっていた。
【００１６】
要するに、従来のこの種のゲーム装置等の画像処理装置にあっては、効果的な画像処理が達成できないと云う問題がある。
【００１７】
そこで、この発明はこの課題を解決するために成されたものである。
【００１８】
この発明の第１の目的は、ゲームの流れを中断しない画像処理装置を提供することにある。
【００１９】
この発明の第２の目的は、視点を自然な状態で移動させることができる画像処理装置を提供することにある。
【００２０】
この発明の第３の目的は、自然な動きを表現できる画像処理装置を提供することにある。
【００２１】
この発明の第４の目的は、視点の移動があっても遠距離にある画面が自然の状態と同様に見えるようにした画像処理装置を提供することにある。
【００２２】
この発明の第５の目的は、背景画像の欠落を防止可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【００２３】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、前記移動体を所定の視点から見た視点画像を生成する画像処理装置において、
【００２４】
前記移動体に関する情報が表現された情報表現体を三次元空間座標上に構成する情報表現体生成手段を備えるものである。
【００２５】
この発明は、前記情報表現体生成手段は、前記情報表現体として前記移動体の位置を表す面状体を構成するものである。
【００２６】
この発明は、前記情報表現体生成手段は、前記面状体を折り畳まれた状態から開いた状態へと変化させるものである。
【００２７】
この発明は、前記情報表現体が構成されたときに、前記移動体及び前記情報表現体の両方を表示するように前記視点を動かす視点移動手段を備えるものである。
【００２８】
この発明は、前記視点移動手段は、さらに、前記視点を前記情報表現体に向けて移動させるものである。
【００２９】
この発明は、さらに、生成された前記視点画像を表示する表示手段を備えるものである。
【００３０】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、上記いずれかの画像処理装置を備えるものである。
【００３１】
この発明は、三次元空間座標上に構成された移動体及びこの移動体に関する情報が表現された情報表現体を所定の視点から見た視点画像を生成する画像処理方法において、
【００３２】
前記移動体のみを表示する位置に前記視点を動かす第１のステップと、
【００３３】
前記移動体及び前記情報表現体の両方を表示する位置に前記視点を動かす第２のステップと、
【００３４】
前記情報表現体を大きく表現するように前記視点を前記情報表現体に向けて移動させる第３のステップとを備えるものである。
【００３５】
この発明によれば、面状体等の情報表現体を三次元空間座標上に前記移動表示体との関連で表示する画像処理をしているので、必要な情報が書き込まれた面状体を違和感なく見ることができ、以後の画像に円滑につなげることができる。また、この発明によれば、ゲーム展開に関して効果的な画像処理が可能になる。
【００３６】
また、この発明によれば、視点を前記面状体に向けて移動させる制御させているため、面状体（例えばマップ）を徐々に拡大表示させることができ、ゲーム画面中でマップを実際に眺めているような間隔をプレイヤーに与えることができる。
【００３７】
また、この発明では、面状体が折り畳まれた状態から開いた状態に表示されるように画像処理されているので、現実に近い感覚を与える装置とすることができる。
【００３８】
この発明は、三次元空間座標内に構成された移動体と、前記移動体がこれから通過する軌道上に設けられた注目点と、前記移動体がこれまでに通過した軌道上に設けられた通過点と、前記注目点の位置情報と前記通過点位置の情報とに基づいて、視軸方向を決定する視軸決定手段とを備えるものである。
【００３９】
この発明は、前記視軸決定手段は、前記移動体の前後等距離にある前記注目点及び前記通過点の位置情報に基づいて、視軸方向を決定するものである。
【００４０】
この発明は、前記視点決定手段は、前記移動体が曲線上を移動している場合に、当該曲線の性質に応じて、前記移動体から前記注目点及び前記通過点までの距離をそれぞれ変更するものである。
【００４１】
この発明は、生成された前記視点画像を表示する表示手段を備えるものである。
【００４２】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、前記いずれかに記載の画像処理装置を備えるものである。
【００４３】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、前記移動体の視点から見た視点画像を生成する画像処理装置において、
【００４４】
前記視点を中心とした視線を前記移動体の軌跡に従って滑らかに変える視点決定手段を備えるものである。
【００４５】
前記視線を前記移動体の軌跡に従って滑らかに変えるとは、予め定められた軌跡あるいは前記移動体が移動した結果に基づく軌跡の性質、例えば、曲率、接線ベクトル、微分係数等に基づいて全体的にあるいは少なくとも一部の区間において連続的に視線を変えるということである。
【００４６】
この発明は、前記視点決定手段は、前記移動体の前後の軌跡上の座標に基づき、前記視点を中心とした視線の方向を決定するものである。
【００４７】
この発明は、前記視点決定手段は、前記移動体の前後等距離にある２つの座標を算出し、これらの座標を結ぶ直線を前記視線の方向とするものである。
【００４８】
この発明は、前記視点決定手段は、前記移動体が曲線上を移動している場合に、当該曲線の性質に応じて、前記移動体から前後の座標までのそれぞれの距離を変更するものである。
【００４９】
この発明は、さらに、生成された前記視点画像を表示する表示手段を備えるものである。
【００５０】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、前記いずれかの画像処理装置を備えるものである。
【００５１】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、前記移動体の視点から見た視点画像を生成する画像処理方法において、
【００５２】
前記移動体の位置を読み込む第１のステップと、
【００５３】
前記移動体の位置から予め定められた距離離れた前方の軌道上に第１の点を設定する第２のステップと、
【００５４】
前記移動体の位置から予め定められた距離離れた後方の軌道上に第２の点を設定する第３のステップと、
【００５５】
前記第１の点と前記第２の点とを結ぶ線に基づき前記視点の視線の方向を定める第４のステップとを備えるものである。
【００５６】
この発明によれば、移動表示体が所定方向に進行状態にあるときに、この移動表示体の現在の座標の前後少なくとも一つ以上の座標を取り込み、これら座標を基に視点の方向を決定しているので、視点の動きが実際の視点の動きに合った近いものとなり、より自然な表現が可能な装置とすることができる。また、ゲーム展開に関して効果的な画像処理が可能になる。
【００５７】
また、この発明では、移動表示体の現在の座標の前後等距離の座標を取り込み、それら２点の座標を直線で結んで得られた方向を視点の方向しているので、視点の動きが実際の視点の動きに近いものとなる。
【００５８】
また、この発明では、前記移動表示体が曲線上を移動しているときには、この曲線の曲率に応じて移動表示体の現在の座標の前後の取り込み座標の距離を変更しているので、より現実に近い視点の動きを得ることができる。
【００５９】
この発明は、連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理装置において、
【００６０】
互いに連結された複数のポリゴン毎に基準ベクトルを決定し、前記テクスチャを前記基準ベクトルの方向に移動させる座標処理手段を備え、移動された前記テクスチャを前記ポリゴンにはりつけるものである。
【００６１】
この発明は、連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理装置において、
【００６２】
縦横に連結された複数のポリゴンの縦または横方向のポリゴン列毎に基準ベクトルを決定し、前記テクスチャを変形することなく、この基準ベクトルの方向に移動させる座標処理手段を備えるものである。
【００６３】
この発明は、前記座標処理手段は、予め定められた曲線に基づき前記基準ベクトルを決定するものである。
【００６４】
この発明は、前記複数のポリゴン毎の基準ベクトルは連続し、前記テクスチャは前記曲線に沿った流れに対応するものである。
【００６５】
この発明は、さらに、生成された前記画像を表示する表示手段を備えるものである。
【００６６】
この発明は、連結された複数のポリゴンのそれぞれにテクスチャをはりつけ、所定の画像を生成する画像処理方法において、
【００６７】
互いに連結された複数のポリゴン毎に基準ベクトルを決定する第１のステップと、
【００６８】
前記テクスチャを前記基準ベクトルの方向に移動させる第２のステップと、
【００６９】
移動された前記テクスチャを前記ポリゴンにはりつける第３のステップとを備えるものである。
【００７０】
この発明によれば、縦横に連結された複数のポリゴンに対して、縦または横のいずれかのポリゴン列毎に基準となるベクトルを与えておき、その基準となるベクトルの方向にテクスチャを変形させることなく移動している。このため、例えば川の水の流れのような流れのある画面を、より現実的に表現できる。
【００７１】
また、この発明では、前記基準となる線分を予め定められた曲線（例えば川の流れる経路）を基に与えているので、テクスチャーの密度の変化がなく、かつ自然な流れを表現できる。
【００７２】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理装置において、
【００７３】
遠方の背景を表す背景画像を、前記視点の移動とともに移動させる移動処理手段を備えるものである。
【００７４】
この発明は、前記背景画像は円筒形あるいは球形をなすものである。
【００７５】
この発明は、さらに、生成された前記視点画像を表示する表示手段を備えるものである。
【００７６】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、前記いずれかの画像処理装置を備えるものである。
【００７７】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理方法において、
【００７８】
前記移動体の移動量を求める第１のステップと、
【００７９】
前記移動量に基づき、遠方の背景を表す背景画像を移動させる第２のステップとを備えるものである。
【００８０】
この発明では、所定の画面を、視点の移動に応じて移動させるので、視点が移動しても、無限遠あるいは距離の関係ない物体等を正しく表示することができ、より現実に近い表現ができる。また、ゲーム展開に関して効果的な画像処理が可能になる。
【００８１】
また、この発明では、所定の画面を円筒あるいは球状位置に配置し、その中心に視点を配置し、視点の移動に伴って当該中心を移動させることができるので、無限遠あるいは距離の関係ない物体等を正しく表示することができる。
【００８２】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像をポリゴンを用いて生成する画像処理装置において、
【００８３】
前記視点画像を構成するポリゴンを複数に分類し、各分類毎にポリゴンの表示個数が予め定められた最大表示個数以下となるように、ポリゴンの表示個数を制御するポリゴン数制御手段を備えるものである。
【００８４】
この発明は、前記ポリゴン数制御手段は、前記視点画像を構成するポリゴンを、少なくとも背景を表すポリゴンおよびその他のポリゴンに分類するものである。
【００８５】
この発明は、さらに、生成された前記視点画像を表示する表示手段を備えるものである。
【００８６】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、前記いずれかの画像処理装置を備えるものである。
【００８７】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像をポリゴンを用いて生成する画像処理方法において、
【００８８】
前記視点画像を構成するポリゴンを複数に分類し、前記各分類毎にポリゴンの表示個数の最大表示個数を定める第１のステップと、
【００８９】
前記最大表示個数を超えない範囲において前記各分類毎にポリゴンの表示個数を制御する第２のステップとを備えるものである。
【００９０】
この発明によれば、移動表示体以外の他の画面を複数の種類に分け、各画面に割り当てるポリゴン数を個別に制限し、各画面を当該制限内で構成している。したがって、例えば、エネミーが数多く出現したような場合であっても、背景画像のポリゴンが欠落することはない。
【００９１】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理装置において、
【００９２】
前記視点画像の視野を移動方向の状況に応じて変更する視野変更手段を備えるものである。
【００９３】
この発明は、前記視野変更手段は、前記移動体の前方に物体がないときは視野を広くし、物体があるときは視野を狭くするものである。
【００９４】
この発明は、さらに、生成された前記視点画像を表示する表示手段を備えるものである。
【００９５】
この発明は、三次元空間座標上を前記移動体で移動しながらゲームを行うゲーム装置であって、前記いずれかの画像処理装置を備えるものである。
【００９６】
この発明は、三次元空間座標上に構成された移動体を移動させるとともに、この移動体の位置の視点から見た視点画像を生成する画像処理方法において、
【００９７】
前記移動体の前方の物体の状況を調べる第１のステップと、
【００９８】
物体がないときに視野を広くし、物体があるときに視野を狭くする第２のステップとを備えるものである。
【００９９】
この発明によれば、移動体の前方の状況に応じて視野を変化させるので、自然な画像を得ることができる。例えば、キャラクタを乗せたトロッコが原野を走っているときは視野を広くすることにより広大な感じが得られるし、トンネルの中を走っているときは視野を狭くすることにより閉塞感が得られる。また、例えば市街地を走るときはこれらの中間と考えて中間の視野にすることにより、臨場感・スピード感が得られる。
【０１００】
この発明は、前記いずれかの方法を処理装置に実行させる手順が記憶される記憶媒体である。記憶媒体には、例えば、フロッピー（登録商標）ディスク、磁気テープ、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭあるいはフラッシュメモリを備えるカートリッジ、不揮発性ＲＡＭカートリッジ等を含む。記憶媒体とは、何等かの物理的手段により情報（主にデジタルデータ、プログラム）が記録されているものであって、コンピュータ、専用プロセッサ等の処理装置に所定の機能を行わせることができるものである。
【０１０１】
以下、本発明の実施の形態について、図１〜図５に基づき説明する。図１に、このゲーム装置の外観を示す。この図において、符号１は、ゲーム装置本体を示している。このゲーム装置本体１は箱状の形状をしている。このゲーム装置本体１には、表示手段としてのＣＲＴ、プロジェクタ、液晶表示装置、プラズマディスプレイ等を備えるディスプレイ１ａが設けられている。このディスプレイ１ａの下部の前面には、操作パネル２が設けられている。
【０１０２】
前記ディスプレイ１ａの横にはスピーカ取付孔（図示せず）が設けられており、これら孔の内部にはスピーカ１４が設けられている。
【０１０３】
このゲーム装置本体１の内部には、ゲーム処理ボード１０が設けられている。なお、ディスプレイ１ａ、操作パネル２の操作装置１１、及びスピーカ１４はゲーム処理ボード１０に接続されている。このような構造としたことにより、遊技者は、ディスプレイ１ａ及び操作パネル２の操作装置１１を使用してゲームを楽しむことができる。
【０１０４】
この操作パネル２に設けられた操作装置１１は、ジョイステック２ａと、押ボタン２ｂとから構成されている。このジョイステッィク２ａ及びボタン２ｂによって、遊技者はキャラクタを操作できる。
【０１０５】
図２は、同実施例のデータ処理装置が適用されたゲーム装置を示すブロック図である。このゲーム装置は、ディスプレイ１ａ、操作パネル２に配置された操作装置１１、ゲーム処理ボード１０、及びスピーカ１４からなる。
【０１０６】
この操作装置１１のジョイステック２ａと、押ボタン２ｂとから入力された操作信号はゲーム処理ボード１０に入力される。ディスプレイ１ａは例えば「デルチェースＩ」と同様なゲ−ムの画像を表示するもので、このディスプレイ１ａの代わりにプロジェクタを使ってもよい。
【０１０７】
ゲーム処理ボード１０は、ＣＰＵ（中央演算処理装置）１０１を有するとともに、ＲＯＭ１０２、ＲＡＭ１０３、サウンド装置１０４、ＡＭＰ（増幅器）１０５、入出力インターフェース１０６、スクロールデータ演算装置１０７、コ・プロセッサ（補助演算処理装置）１０８、図形デ−タＲＯＭ１０９、ジオメタライザ１１０、モーションデ−タＲＯＭ１１１、描画装置１１２、テクスチャデ−タＲＯＭ１１３、テクスチャマップＲＡＭ１１４、フレームバッファ１１５、画像合成装置１１６、Ｄ／Ａ変換器１１７を備えている。
【０１０８】
ＣＰＵ１０１は、バスラインを介して、所定のプログラムや画像処理プログラムなどを記憶したＲＯＭ１０２、デ−タを記憶するＲＡＭ１０３、サウンド装置１０４、入出力インターフェース１０６、スクロールデータ演算装置１０７、コ・プロセッサ１０８、及びジオメタライザ１１０に接続されている。ＲＡＭ１０３はバッファ用として機能させるもので、ジオメタライザに対する各種コマンドの書込み（オブジェクトの表示など）、各種演算時の必要なデータの書込みなどが行われる。
【０１０９】
入出力インターフェース１０６は前記操作装置１１に接続されており、これにより操作装置１１のジョイステック２ａ等の操作信号がデジタル量としてＣＰＵ１０１に取り込まれる。サウンド装置１０４は電力増幅器１０５を介してスピーカ１４に接続されており、サウンド装置１０４で生成された音響信号が電力増幅の後、スピーカ１４に与えられる。
【０１１０】
ＣＰＵ１０１は、この実施の形態では、ＲＯＭ１０２に内蔵したプログラムに基づいて操作装置１１からの操作信号及び図形データＲＯＭ１０９からの図形データ、またはモーションデータＲＯＭ１１１からのモーションデータ（「自己、エネミー等のキャラクタ」、及び、「移動路、地形、空、各種構造物等の背景」等の三次元データ）を読み込んで、挙動計算（シミュレーション）、及び特殊効果の計算を少なくとも行うようになっている。
【０１１１】
挙動計算は、操作装置１１からの遊技者の操作信号により仮想空間でのキャラクタの動きをシミュレートするもので、三次元空間での座標値が決定された後、この座標値を視野座標系に変換するための変換マトリクスと、形状デ−タ（ポリゴンデ−タ）とがジオメタライザ１１０に指定される。コ・プロセッサ１０８には図形デ−タＲＯＭ１０９が接続され、したがって、予め定めた図形デ−タがコ・プロセッサ１０８（及びＣＰＵ１０１）に渡される。コ・プロセッサ１０８は、主に、浮動小数点の演算を引き受けるようになっている。この結果、コ・プロセッサ１０８により各種の判定が実行されて、その判定結果がＣＰＵ１０１に与えられるようにされているから、ＣＰＵの計算負荷を低減できる。
【０１１２】
ジオメタライザ１１０はモーションデ−タＲＯＭ１１１及び描画装置１１２に接続されている。モーションデ−タＲＯＭ１１１には、既述のように予め複数のポリゴンからなる形状デ−タ（各頂点から成るキャラクタ、地形、背景などの三次元デ−タ）が記憶されており、この形状デ−タがジオメタライザ１１０に渡される。ジオメタライザ１１０はＣＰＵ１０１から送られてくる変換マトリクスで指定された形状デ−タを透視変換し、三次元仮想空間での座標系から視野座標系に変換したデ−タを得る。描画装置１１２は変換した視野座標系の形状デ−タにテクスチャを貼り合わせフレームバッファ１１５に出力する。このテクスチャの貼り付けを行うため、描画装置１１２はテクスチャデ−タＲＯＭ１１３及びテクスチャマップＲＡＭ１１４に接続されるとともに、フレームバッファ１１５に接続されている。なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン（多角形：主として３角形又は４角形）の各頂点の相対ないしは絶対座標のデータ群をいう。前記図形データＲＯＭ１０９には、所定の判定を実行する上で足りる、比較的粗く設定されたポリゴンのデータが格納されている。これに対して、モーションデータＲＯＭ１１１には、キャラクタ、トロッコ、背景等の画面を構成する形状に関して、より緻密に設定されたポリゴンのデータが格納されている。
【０１１３】
スクロールデータ演算装置１０７は文字などのスクロール画面のデ−タ（ＲＯＭ１０２に格納されている）を演算するもので、この演算装置１０７の出力信号と前記フレームバッファ１１５の出力信号とが画像合成装置１１６により合成され、この合成信号は、さらにＤ／Ａ変換器１１７によりデジタル信号からアナログ信号に変換されてディスプレイ１ａに入力される。これにより、フレームバッファ１１５に一時記憶されたキャラクタ、トロッコ、地形（背景）などのポリゴン画面（シミュレーション結果）と必要な文字情報のスクロール画面とが指定されたプライオリティにしたがって合成され、最終的なフレーム画像デ−タが生成される。この画像デ−タはＤ／Ａ変換器１１７でアナログ信号に変換されてディスプレイ１ａに送られ、ゲ−ムの画像がリアルタイムに表示される。
【０１１４】
＜地図（面状体）の表示処理＞
次に、文字や図形等の付された面状体（地図）を三次元空間座標上に表示する動作について図３〜図５を参照して説明する。
【０１１５】
図３は同動作を説明するフローチャートである。図４及び図５は同動作の説明図である。
【０１１６】
この実施の形態のゲーム装置において、主人公のキャラクタがトロッコに乗って移動する場面がある。図４及び図５はこの場面を例にとった説明図である。
【０１１７】
図４において、トロッコ２０が線路２１の上を背景２３の方向に走行している。この状態は、トロッコ２０を停止状態にし、背景２３等が図示矢印のように迫ってくるものとして扱ってもよい。トロッコ２０にはキャラクタ２４（２５）が乗っている。キャラクタ２４（２５）は地図２６を広げている。図４においてキャラクタ２４（２５）をぐるっと回る曲線は後述のカメラの視点の座標が動くときの軌跡である。この曲線上には６つの点が存在し、それぞれ「１」「２」「３」「４」「５」「６」の符合が付されている。この数字の順番にカメラの視点が移動する。すなわち、キャラクタ２４（２５）を中心として下から上へ行き、さらに下に向かう。図４においてカメラの視点の移動方向は左回りである。
【０１１８】
図５において、６つの画面が示されている。これら画面はそれぞれ図５（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）、（ｆ）である。この順番で画面は変わっていく。また、これら図５（ａ）〜（ｆ）は、それぞれ図４のカメラの視点１〜６において撮影された画像に相当する。
【０１１９】
図５（ａ）は、トロッコ１の先端をカメラの視点１とした状態で描かれたものであり、トロッコ１が進む方向の線路２１、地面２２、山等の背景２３が映し出されている。このカメラの視点１ではキャラクタ２４（２５）は映らない。
【０１２０】
図５（ｂ）は、キャラクタ２４（２５）の後ろをカメラの視点２とした状態で描かれたものであり、線路２１等に加えてキャラクタ２４（２５）も映っている。
【０１２１】
図５（ｃ）は、キャラクタ２４（２５）の後ろ上方をカメラの視点３とした状態で描かれたものであり、線路２１を走っていくトロッコ２０の全景が映っている。
【０１２２】
図５（ｄ）は、視点３から少し前に移動した視点４を基準に描かれたものであり、キャラクタ２４（２５）が地図２６を広げているのがわかる。
【０１２３】
図５（ｅ）は、視点４からさらに前に、かつ、下方に移動した視点５を基準に描かれたものであり、地図２６がさらに拡大表示されている。
【０１２４】
図５（ｆ）は、さらに地図２６に近づいた視点６を基準に描かれたものであり、画面全体に地図２６が現されている。
【０１２５】
次に図３のフローチャートに基づき動作について説明する。
【０１２６】
まず、ＣＰＵ１０１は、ＲＯＭ１０２に内蔵しているプログラムに従ってゲームの展開処理を実行している（ステップ３０１、ステップ３０２；ＮＯ）。
【０１２７】
次に、ＣＰＵ１０１はゲームの処理が終了して１ステージが終了したと判定すると（ステップ３０２；ＹＥＳ）、視点移動制御のステップに移行する。視点の座標が所定値以内であるとは、例えば、あるステージをクリアした結果、キャラクタがゲーム上で定義された位置まで進むような場合である。物語的に言えば、キャラクタがさまざまな危機を乗り越えて難所を突破し、再びトロッコに乗り込み移動するような場合である。いわば場面転換の場合である。
【０１２８】
まず、ＣＰＵ１０１は、カメラの最初の視点の座標をＲＯＭ１０２から取り出してＲＡＭ１０３の所定のエリアに格納する（ステップ３０３）。
【０１２９】
ついで、ＣＰＵ１０１は、ＲＡＭ１０３に記憶した最初の視点の座標を基にキャラクタや背景等の表示データを画像処理する（ステップ３０４）。
【０１３０】
次に、ＣＰＵ１０１は、ＲＯＭ１０２内に記憶された視点の座標が所定値以内であるときには（ステップ３０５；ＹＥＳ）、地図を折り畳んだ状態で表示する画像処理を行う（ステップ３０６）。このステップ３０６の処理の結果、図４に示すように、カメラの視点の座標はキャラクタ２５（２６）の前面に位置する視点「１」になる。また、この視点「１」から見た表示画面は、図５（ａ）に示すように、トロッコ２０の先端部分と、線路２１や地面２２や背景２３から構成される。そして、これらがディスプレイ１ａ上に表示される。
【０１３１】
そして、ＣＰＵ１０１は、カメラの最終座標位置に達したか否かを判定する（ステップ３０７）。この場合には、当然達していないので（ステップ３０７；ＮＯ）、ＲＡＭ１０３の所定のエリアに格納されているカメラの視点の座標を更新し（ステップ３０８）、再び、ステップ３０４の処理に移行する。
【０１３２】
このような処理（ステップ３０４〜３０８）を繰り返していくと、カメラの視点の座標が、図４に示すように、キャラクタ２４（２５）の後面に位置する視点「２」になる。この視点（「２」）から見た表示画面は、図５（ｂ）に示すように、トロッコ２０と、これに乗ったキャラクタ２４（２５）と、線路２１や地面２２や背景２３とから構成される。そして、これらがディスプレイ１ａに表示される。
【０１３３】
このような処理（ステップ３０４〜３０８）をさらに繰り返していくと、カメラの視点の座標が、図４に示すように、キャラクタ２４（２５）の後面のはるか上に位置する視点「３」になる。この視点（「３」）から見た表示画面は、図５（ｃ）に示すように、トロッコ２０と、これに乗ったキャラクタ２４（２５）と、線路２１や地面２２とから構成される。そして、これらは、上空から見た様な状態で、ディスプレイ１ａに表示される。
【０１３４】
なお、このような処理（ステップ３０４〜３０８）を繰り返していく途中で、カメラの視点の座標が、図４の「４」に達する前に、ＲＡＭ１０３の所定のエリアに格納された視点の座標が所定値を超えたとＣＰＵ１０１によって判断されたものとする（ステップ３０５；ＮＯ）。すると、ＣＰＵ１０１は、地図２６を折り畳んだ状態から徐々に広げるように表示される画像処理を実行する（ステップ３０９）。この処理は、例えば、地図を構成するポリゴンの座標の２点を共通にし、他の各２点をこのステップを通過する毎に更新するような画像処理を行っている。これによって、本状になっている地図が、閉じられた状態から徐々に開かれた状態に表示される。したがって、このステップを通過する毎に、本のようになっている地図が開かれていき、完全に開いた状態に達したところで、以後ポリゴンの座標の更新を行わないようになっている。
【０１３５】
同様に、このような処理（ステップ３０４〜３０５、３０９、３０７、３０８）を繰り返していくと、カメラの視点の座標が、図４に示すように、キャラクタ２４（２５）の後面の斜め上に位置する視点「４」に達する。この視点（「４」）から見た表示画面は、図５（ｄ）に示すように、拡大されたトロッコ２０と、これに乗ったキャラクタ２４（２５）の上半身と、これら上半身の間から見える開かれた地図２６と、線路２１や地面２２や背景２３とから構成される。そして、これらがディスプレイ１ａに表示される。
【０１３６】
再び、ステップ３０４〜３０５、３０９、３０７、３０８の処理をＣＰＵ１０１が繰り返していくと、カメラの視点の座標が、図４に示すようにキャラクタ２４（２５）の真上に位置する視点「５」に達する。この視点（「５」）から見た表示画面は、図５（ｅ）に示すように、トロッコ２０の一部と、これに乗ったキャラクタ２４（２５）の拡大上半身と、拡大上半身の間から見える拡大された地図２６とから構成される。そして、これらがディスプレイ１ａに表示される。
【０１３７】
さらに、ステップ３０４〜３０５、３０９、３０７、３０８の処理をＣＰＵ１０１が繰り返していくと、カメラの視点の座標が、図４に示すように、キャラクタ２４（２５）の前面に位置する視点「６」に達する。この視点（「６」）から見た表示画面は、図５（ｆ）に示すように、完全にディスプレイ１ａの画面一杯に拡大された状態の地図２６そのものから構成される。そして、これらがディスプレイ１ａに表示される。この場合、ＣＰＵ１０１は、視点座標が最終値に達したと判断し（ステップ３０７；ＹＥＳ）、前記地図２６を見ながら次のステージの前処理を実行し（ステップ３１０）、再び、ゲーム処理に移行する（ステップ３０１）。
【０１３８】
ところで、遊技者が必要とする図、文字、数値等の情報がポリゴンで構成される地図２６に書き込まれている。したがって、遊技者は必要な情報を得るために特別の地図を表示させる必要もない。ゲーム画面上のキャラクタに地図を広げさせることにより必要な情報を得ることができる。従来はコマンドで、あるいは自動的に必要な地図を、ゲーム画面に代えて別画面表示体として表示させていた。
【０１３９】
以上のように、この発明の実施の形態によれば、地図２６をゲーム画面上のキャラクタに広げさせるという動作をさせるとともに、この地図２６をカメラワーク（視点の移動）による「のぞき込む」という状態でディスプレイ１ａに表示するので、画面を切り換えて表示することを避け、ゲームの流れの中断を防止できる。すなわち、ゲーム空間内のオブジェクトに、遊技者の状態、ゲーム全体での立場など遊技者が必要とする情報を書き込み、カメラワークを利用して、その情報をゲーム内のキャラクタ２４（２５）との関連で表示することにより、必要な情報の提供とゲーム画面の継続を同時に実現することができる。このことにより遊技者はゲームをプレイ中であるという意識を起こすことなく、あたかもキャラクタと一体となって冒険しているような気持ちになり、ゲームに対する没入感が増すことになる。
【０１４０】
なお、カメラ視点の位置はキャラクタの回りを一周回る必要はなく、例えば、地図２６の表示は、例えば、視点「５」の部分で停止するようにしてもよい。また、カメラ視点の位置は、図４の点１〜６を順々にたどってもよいし、この逆の順序でたどってもよいし、あるいはばらばらの順番でたどってもよい。また、カメラ視点の位置はこれらの点の間を連続的に動いていってもよいし、点１〜６の点上のみを移動してもよい。また、カメラ視点の位置は、図４のように垂直面内を動いていってもよいし、あるいは水平面内を動いていってもよい。また、映画の撮影の際のようにカメラを左右あるいは上下にゆっくり振ってパンしたり、ズームしたりしてもよい。要するに、ゲーム画面を中断することなく、連続的に必要な地図、説明文、図表等の情報源に画面表示を徐々に切り替えるようにすればよい。そのときに周囲の風景やキャラクタを含めて表示するようにしてもよい。
【０１４１】
上記説明において、トロッコの走行シーンを例にとり説明したが、このような移動のシーンに限らないのは言うまでもない。他にも、ステージをクリアしたときとか、休憩をとるときとか、装備を選択するときにも適用できる。要するに、画面転換あるいは一時的な中断を必要とするいかなるシーンにも適用できる。
【０１４２】
＜視点決定の動作＞
次に、図６〜図１０を参照してこのゲーム装置における視線決定の動作について説明する。
【０１４３】
ここで、図６は同動作のフローチャートである。
【０１４４】
図７〜図９は同動作の説明図である。
【０１４５】
図１０はカーブの曲率に応じて視線決定の取り方を説明するための図である。
【０１４６】
以下の説明は上記の場合と同じように、キャラクタがトロッコ２０に乗って移動している場合を例にとり説明する。図６に示すフローチャートは、ＣＰＵ１０１がゲームのプログラムを処理している途中で、主人公のキャラクタの乗ったトロッコ２０がカーブに差しかかったときに入るものとする。
【０１４７】
このフローチャートに入ると、ＣＰＵ１０１は、トロッコ２０の現在のポイントｑ２０の座標を取り込む（ステップ４０１）。すなわち、図７（ａ）に示すように、トロッコ２０の現在のポイントｑ２０の座標（Ｘ，Ｙ，Ｚ）がＣＰＵ１０１に取り込まれる。
【０１４８】
次に、ＣＰＵ１０１は、予め定められた距離設定値αに従って、トロッコ２０の現在の座標から距離設定値αだけ離れた、軌道上の前側のポイントｑ２１の座標を取り込む（ステップ４０２）。ここに、符号αはトロッコ２０の現在のポイントに対して前後所定距離離れたポイントの座標を得るための距離設定値であり、例えばＲＡＭ１０３の所定のエリアに格納されている。そして、ＣＰＵ１０１はこの距離設定値αを基にトロッコ２０の前後の座標を取り込む。
【０１４９】
次に、ＣＰＵ１０１は、前記距離設定値αを用いて、トロッコ２０の現在の座標の後ろ側に距離設定値αだけ離れたポイントｑ２２の座標を取り込む（ステップ４０３）。これにより、トロッコ２０の現在の座標の前後等距離のポイント（位置）ｑ２１、ｑ２２の座標が取り込まれたことになる。
【０１５０】
次に、ＣＰＵ１０１は、ステップ４０２、４０３で得た各座標を直線で結ぶ計算処理を行う（ステップ４０４）。これは、図７（ｂ）に示すように、ポイントｑ２１とポイントｑ２２とを直線Ｎで結んだ処理を行ったことに相当する。
【０１５１】
ところで、ポイントｑ２１、ｑ２２の座標は既知であるから、ＣＰＵ１０１は、前記ステップ４０４の計算で直線Ｎの長さを求めることができる。この直線Ｎの長さからカーブの角度を判定することができる。例えば、図８（ａ）に示すように、カーブの角度が鈍角である場合には、ポイントｑ２１，ｑ２２の間の直線Ｎａは大きくなる。ちなみにポイントｑ２０、ｑ２１、ｑ２２が直線上にあるときに直線Ｎａの長さは最大値２αをとる。一方、図８（ｂ）に示すように、カーブの角度が鋭角に近くなればなる程、ポイントｑ２１，ｑ２２を結ぶ直線Ｎｂは小さくなる。つまり、θａ＞θｂのときＮａ＞Ｎｂである。なお、θ＝９０°のときの直線の長さＮ（９０°）は予め計算できるから（Ｎ２＝２α２）、このＮ（９０°）を基準として鈍角か、鋭角かを判定できる。
【０１５２】
そこで、ＣＰＵ１０１は、ステップ４０４で得た直線の距離Ｎの値を判定する（ステップ４０５）。ここで、図８（ａ）に示すように、直線Ｎａが長いときに、ＣＰＵ１０１は、カーブの角度が鈍角であるとして距離設定値αを標準値に設定し、ＲＡＭ１０３に格納する（ステップ４０７）。一方、図８（ｂ）に示すように、直線Ｎａが短いときに、ＣＰＵ１０１は、カーブの角度が鋭角であるとして距離設定値αを小さい値に設定し、ＲＡＭ１０３に格納する（ステップ４０６）。このようにカーブの角度が鋭角か、鈍角かに応じて距離設定値αを切り替えるのは、トロッコ２０の線路２１が急にカーブしている場所でも、カーブに沿って自然にカメラの向きを変えるようにするためである。
【０１５３】
そして、ＣＰＵ１０１は、前記ステップ４０４で求めた直線Ｎを図７（ｂ）のように平行移動して現在のポイントｑ２０に適用し、これをカメラの向きＦとして例えばＲＡＭ１０３の所定のエリアに格納する（ステップ４０８）。
【０１５４】
これらの処理ステップ４０１〜４０８を繰り返すことにより、カーブに沿って滑らかにカメラ視線を変えることが可能である。例えば、図９に示すように、ポイントｑ１０におけるカメラの向きＦ１０で、視野がＧ１０となる。また、ポイントｑ２０ではポイントｑ２１，ｑ２２からカメラの向きをＦ２０とし、視野がＧ２０となる。また、ポイントｑ３０ではポイントｑ３１，ｑ３２からカメラの向きをＦ３０とし、視野がＧ３０となる。図９から明らかなように、視野が互いにその一部を重ねあわせながら変わって行く。ちなみに、図２４の従来の場合では視野の重複部分はほとんどなく、ポイントが変わるたびに表示される画面が大きく振られていた。この実施の形態の処理によれば図９のように視野Ｇが滑らかに推移してゆくことが分かる。
【０１５５】
なお、角度に応じて距離設定値αを可変しているので、例えば図１０（ａ）に示すように、緩やかなカーブのときには距離設定値αの間隔を大きくとり、図１０（ｂ）に示すように、急なカーブのときには距離設定値αの間隔を小さくとることができる。直線Ｎの計算を何回くり返すかに関しては、図１０（ａ）の場合は比較的少なく、図１０（ｂ）の場合は比較的多い。したがって、角度に応じて距離設定値αを可変することにより、ＣＰＵ１０１の負担を軽減しつつ最適な処理が可能になる。
【０１５６】
なお、距離設定値αを小さくすればするほどカーブにより忠実にカメラ視線を定めることができるが、ＣＰＵ１０１の負担は大きくなる。一方、αを大きくすればするほどカメラ視線の動きは滑らかでなくなるものの、ＣＰＵ１０１の負担は小さくなる。したがって、実際にαを定めるにあたっては、これら２つの条件を勘案して定める。予め最も急なカーブがわかっているなら、このカーブを基準に不自然でない最少のαを定め、カーブがゆるくなるに従って徐々にαを大きくしていく。例えば、一定の増分Δαを定めておき、カーブの半径が増えるに伴いｎ・Δα（ｎは整数）を加算するようにすればよい。なお、αを非常に小さくすれば、ある一点（例えばポイントｑ２０）における曲線の接線の方向が得られる。もっとも、デジタル処理においては曲線も連続でなく、離散的に表現されるから、その間隔より小さくする必要はない。
【０１５７】
この実施の形態によれば、トロッコの前後の線路上に２つのポイントをとり、これら２つのポイントに基づきカメラ視線を決定するようにしたので、カーブ時に視点の移動（カメラの向きＦ）が大きく動くことがなく、自然な動きを生み出すことができる。また、カーブ時に感じる物体の重さの表現が可能となる。さらに、現在座標ポイントの前後のポイントから視点の方向を決定しているので、視点の進行が逆になっても対応できる。加えて、二つのポイントの間隔の設定が調整可能になっているので、視点の振り幅の調節が可能である。また、二つのポイントを結ぶ直線Ｎによりカーブの角度を判定できるので、モーションデータに直接反映させることができる。
【０１５８】
なお、上記の処理の適用はトロッコが線路上を移動する場合に限られない。例えば、車がカーブしたり、飛行機が上昇あるいは下降したりする場合にも適用できる。また、曲線は必ずしも滑らかである必要もなく、例えば、複数の直線が接続された線についても適用可能である。要するに、上記処理は、一定の規則により画面表示の基準方向を定める場合に適用できる。
【０１５９】
また、画面表示の基準方向を定めるにあたって、他の方法、例えば直線を平行移動することなく、直線の角度情報に基づきカメラの向きを定めるようにしてもよい。あるいは、曲線に対応して予め求められた方向情報（角度情報）に基づき、直線を求めることなく処理を行うようにしてもよい。
【０１６０】
また、直線Ｎを算出する点は、必ずしも、軌道上の移動体を挟む２点である必要はなく、移動体の現在の位置情報と移動体がこれから通過する点の位置情報（例えば、少し前の点とずっと前の点）としても良い。
【０１６１】
＜川の流れを表現する座標処理の動作＞
図１１はこの実施の形態の川の流れを説明するためのフローチャートである。図１２はポリゴンと各座標の関係を説明するための説明図である。図１３はテクスチャの座標系の説明図であり、横軸にｕ、縦軸にｖがとってある。川を表す画像は、ｕｖの各方向に連結された複数のポリゴンによって表されている。図１４は、この処理によって表現される川の流れを示す説明図である。
【０１６２】
川の流れを表現するためには次のようにする。図１２に示されるように、複数のポリゴンＰＧ１、ＰＧ２、…を連続に接続してなるポリゴンＰＧＭにより、川に相当する部分を構成する。次に、各ポリゴンＰＧ１、ＰＧ２、…に水の流れに見えるテクスチャをそれぞれ貼付ける。そのテクスチャ座標を時間の経過に応じて川の流れる方向に変化させる。これにより、川の流れを表現できる。
【０１６３】
この実施の形態では、図１２に示すように、各ポリゴンＰＧ１、ＰＧ２、…に、テクスチャ座標の基準となる曲線（ポリゴンの列方向と同数）Ｋ１，Ｋ２，…を
用意しておく。なお、この図に示されたポリゴンＰＧ１、ＰＧ２、・・・は縦横に連結された複数のポリゴンのうちの一部を示している。したがって、ポリゴンＰＧ１，ＰＧ２の横方向においても、図示されていないポリゴンが連結されている。
【０１６４】
ここで、川の流れを表現する処理にＣＰＵ１０１が移行したとする。これにより、ＣＰＵ１０１は図１１のフローチャートを処理することになる。まず、ＣＰＵ１０１は、各ポリゴンＰＧ１に用意されているテクスチャ座標の基準となる基準ベクトルＫ１を読み込む（ステップ５０１）。基準ベクトルは、予め定められた川の経路（曲線）に基づき、横方向（川の流れる方向に直交する方向）のポリゴン列毎に定められている。例えば、ポリゴンＰＧ１を含むポリゴン列の基準ベクトルＫ１、ポリゴンＰＧ２を含むポリゴン列の基準ベクトルＫ２がそれぞれ決定されている。基準ベクトルは川の流れを示す。
【０１６５】
次に、ＣＰＵ１０１は、この基準ベクトルＫ１を使用してテクスチャ座標を計算する（ステップ５０２）。この計算は例えば次のようにする。図１２のポリゴンＰＧ１において、例えば基準ベクトルＫ１に平行な線分をＬ１，Ｌ３，Ｌ４とし、基準ベクトルＫ１に直交する線分をＬ２，Ｌ５，Ｌ６とする。すると、ポリゴンＰＧ１の頂点ｐ１、ｐ２、ｐ３、ｐ４のテクスチャ座標は、
【０１６６】
ｐ１＝（ｕ，ｖ）
【０１６７】
ｐ２＝（ｐ１．ｕ＋Ｌ２，ｐ１．ｖ＋Ｌ３）
【０１６８】
ｐ３＝（ｐ２．ｕ＋Ｌ４，ｐ２．ｖ＋Ｌ５）
【０１６９】
ｐ４＝（ｐ１．ｕ＋Ｌ６，ｐ１．ｖ＋Ｌ１）
から求められる。ここで、ｐ１．ｕはｐ１のｕ成分を、ｐ１．ｖはｐ１のｖ成分を意味する。この変換により、テクスチャ座標とポリゴンＰＧ１、ＰＧ２、・・・の座標とを対応づけることができる。
【０１７０】
このような計算をした後に、ＣＰＵ１０１は、全ポリゴンを終了したか判断する（ステップ５０３）。
【０１７１】
ここでは、まだ終了していないので（ステップ５０３；ＮＯ）、次のポリゴンＰＧの計算ができるように、ポリゴンＰＧの添字の数を更新し（ステップ５０４）、再びステップ５０１の処理に戻る。
【０１７２】
このステップ５０１〜５０４の処理によって、予め定められた基準ベクトルに従い各テクスチャを移動させることにより、川の流れを表す画像を得ることができる。
【０１７３】
この実施の形態では、テクスチャマッピングを施したポリゴンで、流れる水のような表現を行うときに、図１４に示すように、ポリゴン５１，５２，…におけるテクスチャ６１，６２，…の密度が変化することなく、かつ川の流れに沿う形で水が流れるように表現されるので、自然な水の流れを再現することが可能になる。
【０１７４】
すなわち、川の流れに沿った基準ベクトルに基づき、テクスチャ座標で表現されたマッピングデータを川の流れを示すポリゴンへ写像することにより、川の流れを表現するためのテクスチャを川の流れの形状にあわせて適切に変形することができる。したがって川の流れを自然に表現することができる。
【０１７５】
ところで、基準ベクトルＫ１、Ｋ２、・・・は、ポリゴンＰＧ１、ＰＧ２、・・・ひとつひとつに対応する。基準ベクトルはそのポリゴンにおける川の流れの基準となる。基準ベクトルは、例えば辺に対して垂直である線とか、辺の中点を結ぶ線のようにポリゴンの形状から定められることもある。また、川の流れる方向が予め決まっているときは、この流れを示す曲線に基づきポリゴンごとに基準ベクトルを定めるようにしてもよい。
【０１７６】
また、テクスチャ座標とポリゴンとの間の変換式は上記の例に限らず、他の変換式を用いてもよい。例えば、ポリゴンの辺と基準ベクトルとのなす角度に基づき変換するようにしてもよい。
【０１７７】
なお、上記の例において川の流れを表現する場合を例にとり説明した。この実施の形態は他の流れを表現する場合について適用することができる。
【０１７８】
＜画面移動処理の動作＞
図１５は同実施の形態の画面移動処理について説明するためのフローチャートである。図１６は同画面移動処理について説明図である。図１７は同画面移動処理について説明図である。
【０１７９】
この実施の形態では、対話型コンピュータグラフィクスを使用して表示を行っている。この表示に、陰面消去のためにＺバッファ法を使用する場合は、Ｚ方向の表示範囲内で最大の大きさの物体を用意する。また、この表示にＺソート法に使用する場合は、他の物体と比較して十分大きな物体を用意する。
【０１８０】
例えば、Ｚバッファ法に使用した場合、図１７の（ａ）に示すように、視点６９の表示範囲Ｇの中では最大の物体は物体７１であるので、これを移動できるようにしておく。物体７１は、例えば、山岳、天体とか空などの背景である。なお、同図中の符号７２、７３、７４・・・は、背景の手前にある各種物体を表している。
【０１８１】
まず、ＣＰＵ１０１はゲームの展開処理を実行し（ステップ６０１）、視点移動がなければ（ステップ６０２；ＮＯ）、再びステップ６０１の処理に移行する。例えば、このとき図１７（ａ）で示される状態にある。
【０１８２】
次に、例えば、図１７（ｂ）のように、視点６９が移動すると（ステップ６０２；ＹＥＳ）、ＣＰＵ１０１は移動後の現在の視点の座標を取り込む（ステップ６０３）。
【０１８３】
次に、ＣＰＵ１０１は、前回取り込んでおいた以前の視点の座標をＲＡＭ１０３の所定のエリアから取り出すとともに、今回の座標をＲＡＭ１０３の所定のエリアに書込み、かつ、今回取り込んだ座標との差引計算を実行する（ステップ６０４）。
【０１８４】
ＣＰＵ１０１は、この計算結果が所定の値以上でないと判断したときには（ステップ６０５；ＮＯ）、ステップ６０１の処理に戻る。移動距離があまり大きくないときは遠方の物体７１の見えかたがあまり変化しないからである。このステップ６０１のしきい値は、物体７１までの距離などに基づき遊技者に違和感を与えない範囲で定められる。
【０１８５】
また、ＣＰＵ１０１は、この計算結果が所定の値以上であると判断したときには（ステップ６０５；ＹＥＳ）、所定の物体７１の座標を読み込む（ステップ６０６）。
【０１８６】
ついで、ＣＰＵ１０１は、前記計算結果を基に所定の物体７１の座標を変更する（ステップ６０７）。例えば、視点６９が物体７１に対して近づいた距離と同じ距離だけ、物体７１を遠ざけるようにする。このとき、図１７（ｂ）のように物体７１と物体７２とが離れ、これらの間が不連続になることがあるが、物体７１は非常な遠景であるからさほど違和感は生じない。
【０１８７】
そして、ＣＰＵ１０１は、再び、この座標をＲＡＭ１０３の所定のエリアに格納する（ステップ６０８）。その後、ＣＰＵ１０１は、再び、ステップ６０１の処理に移行する。
【０１８８】
このように、この実施の形態では、図１７（ｂ）に示すように、視点６９が移動すると、これに伴って背景７０は当然のこと、物体７１も移動することになる。したがって、視点移動に伴う見え方の変化を防ぐことができる。
【０１８９】
すなわち、天体や青空などの無限遠にある物体、巨大な物体、光学現象といった距離のない物の表現を行う際でも、違和感を生じない。この方法は、特に、処理の高速化のために、物体の奥行きを表現するためのＺバッファを整数で表現する場合において有効である。従来、このような場合は無限遠にある物体の奥行き表現のための特別な処理が必要であったが、この実施の形態によればそのような処理は不要になる。したがって、ハードウエア上の制約が緩和される。
【０１９０】
なお、図１６に示すように、星空等の表現を施した表示範囲での最大の大きさの球７６を形成し、この球７６の中心に視点６９が位置するようにし、かつ視点の移動に伴って当該中心を移動させるようにしてもよい。この球７６の位置は、視点６９の移動とともに変化する。この球７６の半径は、Ｚバッファ法を用いた場合はＺ方向の表示範囲内で最大の大きさである。Ｚソートを用いた場合は他の物体と比べて十分な大きさの物体を用意し、その物体の位置を視点の移動と同じ距離に移動させることにより、無限遠にある天球等の表現を行う。また、球７６に代えて円筒形の無限遠背景画像を用いても良い。
【０１９１】
このようにすると、例えば視点６９の位置は変更しないが、仰ぎ見たり、振り返ったりしても、その向きに対応する適切な星空等の背景を常に得ることができる。従来はこの種の背景として表示画面に張り付いた背景画面を容易することがあったが、この場合、どの方向を見ても表示が変わらず不自然であった。
【０１９２】
＜ポリゴン数制限の説明＞
図１８は同実施の形態のポリゴン数制限の動作のフローチャートである。図１９は同実施の形態の説明図である。図２０は、同実施の形態の説明図である。
【０１９３】
この実施の形態では、まず、キャラクタ２４、２５等を構成するポリゴンと、エネミー等を構成するポリゴンと、背景等を構成するポリゴンに、それぞれ制限値が設けられている。この実施の形態では、図１９に示すように、キャラクタ２４、２５等を構成するポリゴンの制限数Ｒ１を設定したバッファ８１と、エネミー等を構成するポリゴンの制限数Ｒ２が設定されたバッファ８２と、背景等を構成するポリゴンの制限数Ｒ３が設定されたバッファ８３とを備えている。このバッファ８１〜８３は例えばＲＡＭ１０３に設けてもよい。これらの制限数Ｒ１〜Ｒ３はＲＯＭ１０２に格納されており、動作立ち上げ時に制限数Ｒ１〜Ｒ３をバッファ８２、８３に格納する。
【０１９４】
次に動作について図１８のフローチャートに基づき説明する。
【０１９５】
ＣＰＵ１０１は、ゲームの展開処理を実行する（ステップ７０１）。これにより、ＣＰＵ１０１は、バッファ８１からポリゴンの制限数Ｒ１を読み込む（ステップ７０２）。ついで、ＣＰＵ１０１は、これを必要なキャラクタに割りつける（ステップ７０３）。ＣＰＵ１０１は、その割りつけられたポリゴン数を超えないようにしてキャラクタを作成する（ステップ７０４）。
【０１９６】
次に、ＣＰＵ１０１は、バッファ８３からポリゴンの制限数Ｒ３を読み込む（ステップ７０５）。ついで、ＣＰＵ１０１は、これを必要な背景に割りつける（ステップ７０６）。ＣＰＵ１０１は、その割りつけられたポリゴン数を超えないようにして背景を作成する（ステップ７０７）。
【０１９７】
そして、ＣＰＵ１０１はエネミーの出現があるか否かを判断する（ステップ７０８）。エネミーの出現がない場合（ステップ７０８；ＮＯ）、ＣＰＵ１０１は、再びステップ７０１の処理に移行する。このようにステップ７０１〜７０８までの処理を実行すると、表示画面は、例えば、図２０（ａ）に示すようになる。図２０（ａ）には、トロッコ２０と、これに乗ったキャラクタ２４，２５と、線路２１、地面２２、背景２３が表現されている。
【０１９８】
さらに、エネミーの出現がある場合（ステップ７０８；ＹＥＳ）、ＣＰＵ１０１は、再びステップ７０９の処理に移行する。ステップ７０９では、ＣＰＵ１０１は、バッファ８２からポリゴンの制限数Ｒ２を読み込む（ステップ７０９）。ついで、ＣＰＵ１０１は、これを必要なエネミーに割りつける（ステップ７１０）。ＣＰＵ１０１は、その割りつけられたポリゴン数を超えないようにしてエネミーを作成する（ステップ７１１）。このようなステップ７０８〜７１１が処理されると、表示画面は、例えば、図２０（ｂ）に示すようになる。図２０（ｂ）には、トロッコ２０と、これに乗ったキャラクタ２４，２５と、線路２１、地面２２、背景２３等と、側面からピストルでねらうエネミー２７が表現されている。
【０１９９】
従来は、エネミー２７、背景２３等のポリゴンの総数を管理していたため、数多くのエネミー２７の出現により背景２３のポリゴンが欠落するという問題が生じていた。ところが、本実施の形態によれば、エネミー２７、背景２３のそれぞれのポリゴンの上限を個別に管理しているため、エネミー２７が数多く出現したとしても、背景２３のポリゴンが欠落することはない。
【０２００】
＜視野角の説明＞
図２１は、同実施の形態による視野角の変更動作を説明するためのフローチャートである。
【０２０１】
図２１において、ＣＰＵ１０１は、ＲＯＭ１０２からのプログラムを基にゲーム展開の動作を実行する（ステップ８０１）。視野角は、ゲーム展開で変化し、かつ、予め決まっている。そこで、そのゲーム展開からＣＰＵ１０１は、視野角の判断を行う（ステップ８０２）。ＣＰＵ１０１は、ゲーム処理中で例えばトロッコ２０が原野等を走っていて、視野角が大ならば（ステップ８０２；大）、視野角を大に設定する（ステップ８０３）。ＣＰＵ１０１は、ゲーム処理中で例えば山やビル等の間を走行していて、視野角が中位ならば（ステップ８０２；中）、視野角を中に設定する（ステップ８０４）。また、ＣＰＵ１０１は、ゲーム処理中で例えばトンネル内を走行していて、視野角が小さいならば（ステップ８０２；小）、視野角を小に設定する（ステップ８０５）。
【０２０２】
したがって、ＣＰＵ１０１は、次のステップ８０６で、設定された視野角を読みだして視野角の処理を実行する（ステップ８０６）。
【０２０３】
これにより、例えばトンネル内をトロッコ２０が走行中では視野角が著しく小さくなり遠くを表示する。山中等を走行中では視野角を中位に設定する。また、平原等を走行中では、視野角が大きくなる。このような視野角の変化は、人間の視覚特性に合致したものであるため、現実感溢れるゲーム画面を提供することが可能となる。
【図面の簡単な説明】
【０２０４】
【図１】本発明の画像処理装置の外観を示す斜視図である。
【図２】同実施例のブロック図である。
【図３】同実施例のカメラワークの動作を示すフローチャートである。
【図４】同実施例の動作の説明図である。
【図５】同実施例の動作の説明図である。
【図６】同他の実施例の滑らかな視角を得る動作のフローチャートである。
【図７】同動作の説明図である。
【図８】同動作の説明図である。
【図９】同動作の説明図である。
【図１０】同動作の説明図である。
【図１１】同他の実施例における川の流れの作成動作のフローチャートである。
【図１２】同動作の説明図である。
【図１３】同動作の説明図である。
【図１４】同動作の説明図である。
【図１５】同他の実施例における背景等の移動動作のフローチャートである。
【図１６】同動作の説明図である。
【図１７】同動作の説明図である。
【図１８】同他の実施例におけるポリゴン制限に関する動作のフローチャートである。
【図１９】同動作の説明図である。
【図２０】同動作の説明図である。
【図２１】同他の実施例における視野角に関する動作のフローチャートである。
【図２２】従来の視角処理の説明図である。
【図２３】カメラの向きと視野の説明図である。
【図２４】従来の視角処理によって得られる視野の説明図である。
【図２５】従来の川の流れを説明するための図である。
【図２６】従来の川の流れを説明するための図である。
【図２７】従来の背景の移動の説明図である。
【符号の説明】
【０２０５】
１…ゲーム装置本体、１ａ…ディスプレイ、２…操作パネル、２ａ…ジョイステッィク、２ｂ…ボタン、１０…ゲーム処理ボード、１１…操作装置、１４…スピーカ、２０…トロッコ、２１…線路、２２…地面、２３…背景、２４，２５…キャラクタ、２６…地図、２７…エネミー、５１，５２…ポリゴン、６１，６２…テクスチャ、６９…視点、７０…背景、７１，７２…物体、７６…球、８１，８２，８３…バッファ、１０１…ＣＰＵ（中央演算処理装置）、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…サウンド装置、１０５…ＡＭＰ（増幅器）、１０６…入出力インターフェース、１０７…スクロールデータ演算装置、１０８…コ・プロセッサ（補助演算処理装置）、１０９…図形データＲＯＭ、１１０…ジオメタライザ、１１１…モーションデータＲＯＭ、１１２…描画装置、１１３…テクスチャデ−タＲＯＭ、１１４…テクスチャマップＲＡＭ、１１５…フレームバッファ、１１６…画像合成装置、１１７…Ｄ／Ａ変換器１１７、１５０，１５１，１５２，１５３，１５４…各ポリゴン、２１０…視点、２２０…トロッコ、２２０…背景、２２１…物体、２３０…表示範囲、Ｇ…視野，表示範囲、Ｋ１，Ｋ２…基準ベクトル、Ｎ…距離，直線、Ｎａ，Ｎｂ…直線、ｐ１…頂点、ＰＧ，ＰＧ１，ＰＧ２，ＰＧＭ…ポリゴン、ｑ１〜ｑ４，ｑ２０〜ｑ２２，ｑ３０〜ｑ３２…ポイント。
【図１】
2006309787.tif 000003
【図２】
2006309787.tif 000004
【図３】
2006309787.tif 000005
【図４】
2006309787.tif 000006
【図５】
2006309787.tif 000007
【図６】
2006309787.tif 000008
【図７】
2006309787.tif 000009
【図８】
2006309787.tif 000010
【図９】
2006309787.tif 000011
【図１０】
2006309787.tif 000012
【図１１】
2006309787.tif 000013
【図１２】
2006309787.tif 000014
【図１３】
2006309787.tif 000015
【図１４】
2006309787.tif 000016
【図１５】
2006309787.tif 000017
【図１６】
2006309787.tif 000018
【図１７】
2006309787.tif 000019
【図１８】
2006309787.tif 000020
【図１９】
2006309787.tif 000021
【図２０】
2006309787.tif 000022
【図２１】
2006309787.tif 000023
【図２２】
2006309787.tif 000024
【図２３】
2006309787.tif 000025
【図２４】
2006309787.tif 000026
【図２５】
2006309787.tif 000027
【図２６】
2006309787.tif 000028
【図２７】
2006309787.tif 000029