(57)【特許請求の範囲】
【請求項１】
移動する視点に基づいて、当該視点から見える背景画像を流れるように表示する画像表示装置において、
背景画像を表示するための背景画像データを発生する背景画像データ発生手段、
操作者の操作によって前記視点の移動速度を変化させる速度調節のための操作手段、
前記操作手段が操作されることに基づいて、前記視点の移動速度を演算によって求める速度演算手段、
前記速度演算手段によって求められた前記視点の移動速度に応答して、該視点から前記背景画像を見る視角を変更する視角演算手段、
前記速度演算手段によって求められた前記視点の移動速度に応答して、該視点から前記背景画像を見る視界深度を変更する視界深度演算手段、
前記視角演算手段によって求められた視角と、前記視界深度演算手段によって求められた視界深度に基づき、前記背景画像データ発生手段が発生する背景画像データの発生状態を変化させる背景画像発生制御手段、
および前記背景画像データ発生手段が前記背景画像発生制御手段の制御の下に発生した前記背景画像データに基づいて映像信号を発生する映像信号発生手段を備えた、移動する視点に基づいて背景画像を表示する画像表示装置。
【発明の詳細な説明】
【従来の技術・発明が解決しようとする課題】
従来の画像表示装置は、背景画像が画面に表示される範囲、すなわち視角が、視点の速度の変化によらず一定であった。例えば、従来の三次元表示可能なレーシングゲーム又は飛行ゲームは、移動速度が増大しても視角が一定であるため、移動速度すなわち背景画面の流れ速度を変化させて表示するだけであったため、スピード感が感じられなかった。
また、視角が一定であると、道路または飛行経路等が曲がっているときそれに合わせて対応することが難しくなる。
【０００２】
それゆえに、この発明の主たる目的は、移動する視点から見た背景画像の変化を高速にしても、操作者がその速度に対応して操作が可能であり、しかもスピード感に満ちた移動物体と背景画像を三次元表示するビデオゲーム装置を提供することである。
【作用】
この発明は、視点の移動速度が増大することに関連して視角を拡大するように変化させて広い視角で背景画像を見えるようにすることにより、操作者の操作を容易にするとともに、視点に近い部分の背景も表示してその部分の画像変化速度を大きくしてスピード感を増大させるようにしたものである。
【０００３】
【実施例】
以下の実施例では３Ｄビデオゲーム機を用いて説明するが、この発明はパーソナルコンピュータやグラフィックワークステーション等の他の画像処理装置にも適用できる。また、３Ｄの画像表示装置だけではなく、単に２Ｄの背景画像スクロールをする画像表示装置にも適用できることを予め指摘しておく。
【０００４】
図１は、この発明の一実施例の３Ｄビデオゲームシステムのブロック図である。この３Ｄビデオゲームシステムは、ビデオゲーム機本体１０と、外部記憶装置のＲＯＭカートリッジ２０と、ビデオゲーム機本体１０に接続される表示装置のＣＲＴディスプレイ３０と、操作手段のコントローラ４０とを含んで構成される。
【０００５】
ビデオゲーム機本体１０には、中央処理ユニット（以下「ＣＰＵ」という）１１及びコプロセッサ（リアリティ・コプロセッサ：以下「ＲＣＰ」という）１２が内蔵される。ＲＣＰ１２には、バスの制御を行うためのバス制御回路１２１と、ポリゴンの座標変換や陰影処理等を行うための画像処理回路（リアリティ・シグナル・プロセッサ；以下「ＲＳＰ」という）１２２と、ポリゴンデータから表示すべき画像データを演算して生成するための画像処理回路（リアリティ・ディスプレイ・プロセッサ；以下「ＲＤＰ」という）１２３とが含まれる。ＲＣＰ１２には、ＲＯＭカートリッジ２０を着脱自在に装着するためのカートリッジ用コネクタ１３と、ディスクドライブ２６を着脱自在に装着するためのディスクドライブ用コネクタ１４と、ＲＡＭ１５が電気的に接続される。ＲＡＭ１５は、ＲＤＰ１２３が生成した画像データを、画像信号発生回路１７が画像信号に変換するまで一時記憶する。また、ＲＡＭ１５は、ＣＰＵ１１が利用可能なように、コントローラ４０Ａ〜４０Ｄからの操作信号を一時記憶する。また、ＲＡＭ１５は、ＣＰＵ１１がプログラムを実行できるように、ディスクドライブ２６または外部ＲＯＭから転送されるプログラムデータ等を一時記憶する。また、ＲＡＭ１５は、後述の視点の速度ｖ１，ｖ２と視角α，β，γとＺバッファに関連する値Ｌ，ｌを記憶する
【０００６】
また、ＲＣＰ１２には、ＣＰＵ１１によって処理された音声信号を出力するための音声信号発生回路１６及び画像信号を出力するための画像信号発生回路１７が電気的に接続される。さらに、ＲＣＰ１２には、１乃至複数のコントローラ４０Ａ〜４０Ｄの操作データ及び／又は拡張用ＲＡＭカートリッジ５０のデータをシリアル転送するためのコントローラ制御回路１８が電気的に接続される。
【０００７】
ＲＣＰ１２に含まれるバス制御回路１２１は、ＣＰＵ１１から出力される種々のコマンド信号をバスを介してパラレル信号として受け、パラレル−シリアル変換した後シリアル信号としてコントローラ制御回路１８に与える。また、バス制御回路１２１は、コントローラ制御回路１８からのシリアル信号をパラレル信号に変換し、バスを介してＣＰＵ１１へ出力する。ここで、コントローラ制御回路１８からのシリアル信号はコントローラ４０Ａ〜４０Ｄの操作状態を示すデータ（以下「操作データ」という）である。そして、このデータは、上述のようにＲＡＭ１５へと転送されて一時記憶される。
【０００８】
音声信号発生回路１６には、ビデオゲーム機１０の後面に設けられるコネクタ１９５が接続される。画像信号発生回路１７には、ビデオゲーム機１０の後面に設けられるコネクタ１９６が接続される。コネクタ１９５には、テレビのスピーカ等の音声発生装置３２の接続部が着脱自在に接続される。コネクタ１９６には、テレビジョン受像機又はＣＲＴ等のディスプレイ３１の接続部が着脱自在に接続される。
【０００９】
以上、図１で説明した３Ｄビデオゲームシステムは、仮想カメラを視点としてポリゴンデータで構成された仮想３次元空間を眺めたときに見える画像（以下「背景画像」という）をディスプレイ３１に表示するものである。ここで、仮想３次元空間内における仮想カメラの位置（以下「視点Ｏ」という）を移動することにより、背景画像がディスプレイ３１上に流れるように表示される。一般に、２次元空間に基づく背景画像が流れることを「スクロール」と呼ぶ。
【００１０】
図２を用いて、従来技術の問題点理を具体的に説明する。いま、視点Ｏが左方向に移動しているものとする。このとき、視界も左方向を向いていれば、操作者には背景画像が画面奥から手前の方に流れるように見える。また、視点Ｏが図面上方に移動しており、かつ視界が左方向を向いているとき（以下「順方向視界」という）は、操作者には背景画像が画面右から左へ流れるように見える。
【００１１】
今、画像表示装置がレーシング画像を表示していると仮定し、このとき操作者がハンドルを切ると、上述した視点Ｏが図面上方に移動しかつ視界が左方向を向いている状態（以下「直角方向視界」という）が発生する。視界の大きさがγで直角方向視界の場合、Ａ点から図面右上方向にある物体は操作者に見えない。たとえば、Ａ’点にある物体は、Ａ点まで近づかないと操作者には見えない。これは、レーシング画像において、ハンドルを切った方向にある障害物が見えない状態であることを意味する。もし、速度が操作者の反射速度以上に速ければ、障害物を回避できずに衝突するであろう。
【００１２】
また、例えば、仮想３次元空間のポリゴンデータに基づいて画像を生成する従来の画像表示装置は、視界内に入った全てのポリゴンデータに基づいて画像を生成することはない。なぜなら、このような従来の画像表示装置は、通常はＺバッファと呼ばれるバッファを持ち視界の中のある一定距離以上遠いポリゴンについては画像生成のための演算から除外しているからである。すなわち、視界の深度に一定の規制を設けているのである。
このため、速度が速くなると、視界内に現れた物体が急速に視点Ｏに接近することになる。図２において、Ｚバッファの規制値すなわち視界深度がＣ点の距離であったとする。このとき、Ｃ点より遠方にある物体は操作者に見えない。そして速度が速いと、上述の通り、Ｃ点に達して視界内に現れた物体は急速に視点Ｏに接近し、これが操作者の反射速度以上の速さであると回避することができない。以上説明したとおり、操作者の反射速度が、視点の速度のソフトウェア的な規制の原因となる。
【００１３】
次に、図２を用いて、本願の原理を説明する。いま、操作者の反射速度をｔ（ｓ）、視点Ｏの速度をｖ１（ｍ／ｓ）とする。すると、操作者が対応するために必要な視点Ｏからの距離Ｌ（ｍ）が（１）式によって導かれる。
Ｌ＝ｔ×ｖ１  ・・・・・  （１）
いま、視点Ｏの速度が速くなってｖ２になったとき、操作者が対応するために必要な距離がＬ＋ｌ（ｍ）であるとする。
Ｌ＋ｌ＝ｔ＋ｖ２  ・・・・・  （２）
そして、物体が視点Ｏに最接近したときの距離をｚ（ｍ）とすると、速度ｖ１（ｍ／ｓ）のときに必要とされる視角γは（３）式によって導かれる。好ましくは、γの値は６０度から９０度に選ばれる。
ｔａｎ（γ／２）＝ｚ／Ｌ  ・・・・・  （３）
同様に、速度がｖ２（ｍ／ｓ）のときの視角をγ＋２βとすると、（４）式によって導かれる。
ｔａｎ（γ／２＋β）＝ｚ／（Ｌ＋ｌ）  ・・・・・  （４）
以上の（１）式から（４）式を用いて、視点Ｏの速度をｖ１（ｍ）からｖ２（ｍ）へと加速したとき視角をγからγ＋２βへと広げることにより、操作者が充分に対応可能な時間的余裕を持って物体を表示するようにできる。これにより、流れ速度ｖ２（ｍ／ｓ）のソフトウェア的な規制を設ける必要がなくなる。
ただし（４）式から求められた視角γ＋２βが一定角度（例えば、１２０度から１８０度）より大きくなった場合は一定角度に固定する。なぜならば、視角γ＋２βを一定角度より大きくすると魚眼レンズで背景を見たときのように画像が歪むからである。
【００１４】
また、ｚ＝０（ｍ）のときは、視野の角度ではなく、視角深度すなわちＺバッファの値を変えればよい。すなわち、（１）式と（２）式を用いて、速度ｖ１（ｍ）のときはＺバッファの値をＬ（ｍ）とし、、速度ｖ２（ｍ）のときはＺバッファの値をＬ＋ｌ（ｍ）とすれば、操作者が充分に対応可能な時間的余裕を持って物体を表示できる。
【００１５】
また、図２において、ＣＡとＡＢ間の距離が等距離であるとき、視点Ｏから両者を見たときの角速度はＡＢ間の方が速い。従って、視点ＯからＣＡ間を見るよりＡＢ間を見る方が、見かけ上背景画像が高速に流れているように見える。従って、視点Ｏの速度を速くするに伴って視角を広げＡＢ間の見える範囲を順次大きくすると、操作者は視点Ｏの速度及び加速感をよりリアルに感じることができる。
【００１６】
次に、図３乃至図６を用いて、本発明をレーシングゲームに適用した場合について説明する。図３は、本発明を用いたレーシングゲームのフローチャートである。ゲームが開始されると、ステップＳ１においてゲームの初期設定が行われる。ここでいうゲームの初期設定とは、ＲＡＭ１５のワークエリアのクリアや、ゲームのオープニング画面の表示等、実際のゲーム開始までの作業のことを言う。ステップＳ２において、ＣＰＵ１１は、バス制御回路１２１がＲＡＭ１５に転送したコントローラ４０Ａ〜４０Ｄの操作データを読み込み、コントローラが操作されたか否かを判断する。ステップＳ３において、コントローラが操作されていないと判断されると、ステップＳ７へ飛ぶ。一方、コントローラが操作されたと判断された場合はステップＳ４へと進む。
【００１７】
Ｓ４において、ＣＰＵ１１は、コントローラ４０Ａ〜４０Ｄの各々に設けられた複数の操作スイッチのうち加速或いは減速を指示するスイッチ（図示なし：以下「アクセルスイッチ」という）が操作されたか否かを判断する。アクセルスイッチが操作されていないと判断されると、ステップＳ７へ飛ぶ。一方、アクセルスイッチが操作されたと判断された場合はステップＳ５へと進み、視点Ｏすなわちレーシングカーの新しい速度がＣＰＵ１１によって計算される。続くステップＳ６においてＣＰＵ１１は、算出された新しいレーシングカーの速度に基づいて（２）式と（４）式を用いて新しい視界の角度と視界深度を計算する。
【００１８】
ステップＳ７においてＲＳＰ１２２とＲＤＰ１２３は、ＣＰＵ１１が算出したレーシングカー速度と視界角度と視界深度のそれぞれの値、およびＲＡＭ１５に記憶されたポリゴンデータに基づいて、表示されるべき背景画像とレーシングカーの画像を協働して演算しＲＡＭ１５に書き込む。書き込まれた画像データは、ステップＳ９においてディスプレイ３１の走査タイミングに合わせて読出され、画像信号発生回路１７により画像信号に変換されてディスプレイ３１に与えられる。
【００１９】
ステップＳ１０においてＣＰＵ１１は、ゲームに関するその他の処理、例えばゴールしたか否かや障害物との衝突判定、または得点計算等を行う。ステップＳ１１でＣＰＵ１１は、上のＳ１０の処理結果に基づいてゲームが終了したか否かを判断する。ゲームが終了していないと判断された場合はＳ２へ戻り、ゲームが終了したと判断された場合はＳ１２へ進んで、全てのプログラム処理を終了する。
【００２０】
図４と図５は、視点とレーシングカーと道路との関係を横方向と上方向から表した図である。図４によれば、視野の角度が広がるに従い、より遠方まで視界に入ることが分かる。このとき、Ｚバッファの値も大きくして、せっかく視界に入った背景をＺバッファの値によって除外しないようにすると効果的である。
また、図５によれば、視野の角度が広がるに従い、よりレーシングカーの横方向が見えるようになることが分かる。これにより、背景画像の角速度の速い部分が視界に入り、移動速度をよりリアルに表示することができる。
【００２１】
また、図４と図５において、横方向から見た視角γ，γ＋２βと上方向から見た視角γ，γ＋２βを同じ値としているが、例えばディスプレイ３１に縦横比が３：４のものを使用した場合、横方向の視角にはγ，γ＋２βではなくγ×３／４，（γ＋２β）×３／４を用いることが望ましい。
【００２２】
図６と図７は、本発明を用いたレーシングゲームの一例の画像である。図６においてレーシングカーは５９３ｋｍ／ｈで走っている。図５のレーシング画面では、道が前方で右にカーブしていることが分かる。また道の端は、レーシングカーの右前方まで表示されている。これに対して、図７においてレーシングカーは１０５７ｋｍ／ｈで走っており、視界深度が大きいすなわちＺバッファの値が大きいため、道が遙か前方で右に曲がり、Ｕターンしたのち戻るところまで表示されている。また、視界の角度も大きいため、道の端がレーシングカーのほぼ真横まで表示されている。視界の角度が大きくなることに応じて、レーシングカーは相対的に小さく表示される。
【００２３】
この実施例では本発明をレーシングゲームに適用した場合について説明したが、その他にもフライトシミュレーションやシューティングゲーム等の視点の移動を伴う画像表示装置すべてに適用できる。
【００２４】
【発明の効果】
以上のとおり、この発明によれば、視点Ｏの速度に応答して視野の角度と視角深度が変化するため、例えばレーシングゲーム等において、操作者が対応可能な時間的余裕を持って障害物等が画面内に表示される。従って、操作者が、視点Ｏの速度に関わらず常に障害物等に対処できるため、その速度がソフトウェア的に制限されることがない。
また、視野の角度が広がることに応答して、背景画像が見かけ上速く流れる部分、すなわち角速度の速い部分が画面内に表示されるため、背景画像の流れをよりリアルに表示することができる。
【００２５】
【図面の簡単な説明】
【図１】本発明の一実施例の３Ｄビデオゲームシステムのブロック図である。
【図２】従来技術の問題点とそれを解決するための本発明の原理を示す図である。
【図３】本発明をレーシングゲームに適用した場合のフローチャートである。
【図４】本発明をレーシングゲームに適用した場合の横方向から見た視角を表した図である。
【図５】本発明をレーシングゲームに適用した場合の上方向から見た視角を表した図である。
【図６】本発明をレーシングゲームに適用した場合の表示画面の一例である。
【図７】本発明をレーシングゲームに適用した場合の表示画面の一例である。
【符号の説明】
１０・・・ビデオゲーム機
１１・・・ＣＰＵ（中央処理装置）
１２・・・リアリティ・コプロセッサ（ＲＣＰ）
１５・・・ＲＡＭ（一時記憶メモリ）
１８・・・コントローラ制御回路
２０・・・ＲＯＭカートリッジ
２１・・・ゲームプログラムを記憶したＲＯＭ
３１・・・ディスプレイ
４０・・・コントローラ
１２２・・・リアリティ・シグナル・プロセッサ（ＲＳＰ）
１２３・・・リアリティ・ディスプレイ・プロセッサ（ＲＤＰ）
【図１】
0003734612.tif 000002
【図２】
0003734612.tif 000003
【図３】
0003734612.tif 000004
【図４】
0003734612.tif 000005
【図５】
0003734612.tif 000006
【図６】
0003734612.tif 000007
【図７】
0003734612.tif 000008