ゲーム装置
【課題】3Dのサッカー・ゲームにおいてグランドに描かれたラインがカメラ角度によって消滅することを防止する。
【解決手段】仮想空間内の基準となる基準平面上に配置されるポリゴンと、ポリゴンと仮想カメラ相互間の位置関係を判別する判別手段と、判別結果に対応して仮想カメラから見えるポリゴンの面積が増すようにポリゴンを傾斜するポリゴン傾斜手段と、を備え、グランド上に配置されたラインのポリゴンをカメラに対して起すようにすることによって、カメラからラインがよく見えるようにする。
【解決手段】仮想空間内の基準となる基準平面上に配置されるポリゴンと、ポリゴンと仮想カメラ相互間の位置関係を判別する判別手段と、判別結果に対応して仮想カメラから見えるポリゴンの面積が増すようにポリゴンを傾斜するポリゴン傾斜手段と、を備え、グランド上に配置されたラインのポリゴンをカメラに対して起すようにすることによって、カメラからラインがよく見えるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置に関し、特に、ゲーム装置におけるゲーム画面表示の改良等に関する。
【背景技術】
【0002】
いわゆるビデオゲーム装置では、画面を見ながら、入力装置を操作してオブジェクトの動きを制御し、ゲームを進行させる。3D(三次元)表示のゲーム装置では、コンピュータ・システム内に仮想空間を形成し、この空間にゲームのオブジェクトを配置する。そして、コンピュータはゲームルールに従ってオブジェクトの動きを制御する。また、遊戯者の操作に従って、主人公たるオブジェクトを制御してゲームを展開する。このゲームの展開を仮想空間に配置された仮想カメラを通してモニタ画面に表示する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、3Dのゲーム空間で展開されるゲームを画面に表示する場合、カメラがオブジェクトを見る視線方向によってゲームのし易さが異なる。また、カメラの位置によって、ゲームのやり安さが異なる。また、ゲームのエリアに応じてオブジェクトの立体的表現が強調されることも望ましい。
【0004】
また、仮想3D空間出のゲームを画面に表示しようとする場合、遊戯者が当該ゲームをやり易くするために、視点位置を遠ざけて、ゲームフィールドを出来るだけ広く画面上に表示することが望まれる。このような処理をはた場合、スポーツゲームのコートを示すラインの幅が仮想空間全体に比べて細いので、画面の解像度との関係で消失してしまうことがある。一方、この消失を防ぐため、予め太いラインを用意した場合は、ゲームの迫力を増すために、ズームアップ(視点を注視点に近づける)した場合には、特別に太いラインが表示されることになり、不自然である。
【0005】
よって、本発明は、遊戯者にとって見やすいゲーム画面を提供することを目的とする。
【0006】
また、本発明は、ゲームフィールドのエリアに応じて、遊戯者にとってそのエリアでより好ましい見え方をするゲーム装置の提供等を目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明のゲーム装置は、コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って上記オブジェクトの動きを制御しながらゲームを展開し、上記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置において、上記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、上記判別結果に基づいて上記仮想カメラの角度を調整するカメラ角度調整手段と、を備えることを特徴とする。
【0008】
好ましくは、上記カメラ角度調整手段は、上記判別結果と上記オブジェクトの移動方向とに基づいて上記仮想カメラの角度を調整する、ことを特徴とする。
【0009】
好ましくは、上記カメラ角度調整手段は、上記仮想空間における左右方向及び上下方向のうち少なくともいずれかの方向において上記仮想カメラの角度調整を行う、ことを特徴とする。
【0010】
また、本発明のゲーム装置は、コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って上記オブジェクトの動きを制御しながらゲームを展開し、上記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置おいて、上記オブジェクトが上記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、上記判別結果に基づいて上記仮想カメラの視野範囲を調整するズーム調整手段と、を備えることを特徴とする。
【0011】
また、本発明のゲーム装置は、複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置において、上記視点と注視点とを結ぶ線分と、上記仮想空間内に配置された所定のポリゴンの法線と、のなす角度を算出する角度算出手段と、上記角度算出手段の算出した角度が所定の値になるように、上記ポリゴンの頂点の座標値を変更するポリゴン傾斜手段と、を有することを特徴とする。
【発明の効果】
【0012】
以上説明したように、本発明のゲーム装置によれば、3Dゲームにおいて、カメラ位置によって見難くなるポリゴンを起すようにしているので、例えば、グラウンドに描かれたラインが消滅することがなく具合がよい。また、本発明のゲーム装置よれば、ゲームのエリアやオブジェクトの移動方向に応じてカメラの向きや視野範囲が調整されるゲーム装置を得ることが可能となり、遊戯者がゲームを行い易い画面が得られる。
【発明を実施するための最良の形態】
【0013】
図1は本発明の一実施の形態に係る画像処理装置を用いたビデオゲーム機の外観図である。この図において、ビデオゲーム機本体1は略箱型をなし、その内部にはゲーム処理用の基板等が設けられている。また、ビデオゲーム機本体1の前面には、2つのコネクタ2aが設けられており、これらのコネクタ2aにはゲーム操作用のPAD2bがケーブル2cを介して接続されている。2人の遊戯者がゲームを楽しむ場合には、2つのPAD2bが使用される。
【0014】
ビデオゲーム機本体1の上部には、ROMカートリッジ接続用のカートリッジI/F1a、CD−ROM読み取り用のCD−ROMドライブ1bが設けられている。ビデオゲーム機本体1の背面には、図示されていないが、ビデオ出力端子およびオーディオ出力端子が設けられている。このビデオ出力端子はケーブル4aを介してTV受像機5のビデオ入力端子に接続されるとともに、オーディオ出力端子はケーブル4bを介してTV受像機5のオーディオ入力端子に接続されている。このようなビデオゲーム機において、ユーザがPAD2bを操作することにより、TV受像機5に映し出された画面を見ながらゲームを行うことができる。
【0015】
図2は本実施の形態に係るTVゲーム機の概要を表すブロック図である。この画像処理装置は、装置全体の制御を行うCPUブロック10、ゲーム画面の表示制御を行うビデオブロック11、効果音等を生成するサウンドブロック12、CD−ROMの読み出しを行うサブシステム13等により構成されている。
【0016】
CPUブロック10は、SCU(System Control Unit)100、メインCPU101、RAM102、ROM103、カートリッジI/F1a、サブCPU104、CPUバス103等により構成されている。メインCPU101は、装置全体の制御を行うものである。このメインCPU101は、内部にDSP(Digital Signal Processor)と同様の演算機能を備え、アプリケーションソフトを高速に実行可能である。RAM102は、メインCPU101のワークエリアとして使用されるものである。ROM103には、初期化処理用のイニシャルプログラム等が書き込まれている。SCU100は、バス105、106、107を制御することにより、メインCPU101、VDP120、130、DSP140、CPU141等の間におけるデータ入出力を円滑に行うものである。また、SCU100は、内部にDMAコントローラを備え、ゲーム中のスプライトデータをビデオブロック11内のVRAMに転送することができる。これにより、ゲーム等のアプリケーションソフトを高速に実行することが可能である。カートリッジI/F1aは、ROMカートリッジの形態で供給されるアプリケーションソフトを入力するためのものである。
【0017】
サブCPU104は、SMPC(System Manager & Peripheral Control)と呼ばれるもので、メインCPU101からの要求に応じて、PAD2bからペリフェラルデータをコネクタ2aを介して収集する機能等を備えている。メインCPU101はサブCPU104から受け取ったペリフェラルデータに基づき処理を行うものである。コネクタ2aには、PAD、ジョイスティック、キーボード等のうちの任意のペリフェラルが接続可能である。サブCPU104は、コネクタ2a(本体側端子)に接続されたペリフェラルの種類を自動的に認識し、ペリフェラルの種類に応じた通信方式に従いペリフェラルデータ等を収集する機能を備えている。
【0018】
ビデオブロック11は、ビデオゲームのポリゴンデータから成るキャラクタ等の描画を行うVDP(Video Display Processor)120、背景画面の描画、ポリゴン画像データおよび背景画像の合成、クリッピング処理等を行うVDP130とを備えている。VDP120はVRAM121およびフレームバッファ122、123に接続されている。ビデオゲーム機のキャラクタを表すポリゴンの描画データはメインCPU101からSCU100を介してVDP120に送られ、VRAM121に書き込まれる。VRAM121に書き込まれた描画データは、例えば、16または8ビット/pixelの形式で描画用のフレームバッファ122または123に描画される。描画されたフレームバッファ122または123のデータはVDP130に送られる。描画を制御する情報は、メインCPU101からSCU100を介してVDP120に与えられる。そして、VDP120は、この指示に従い描画処理を実行する。
【0019】
VDP130はVRAM131に接続され、VDP130から出力された画像データはメモリ132を介してエンコーダ160に出力される構成となっている。エンコーダ160は、この画像データに同期信号等を付加することにより映像信号を生成し、TV受像機5に出力する。これにより、TV受像機5にゲームの画面が表示される。
【0020】
サウンドブロック12は、PCM方式あるいはFM方式に従い音声合成を行うDSP140と、このDSP140の制御等を行うCPU141とにより構成されている。DSP140により生成された音声データは、D/Aコンバータ170により2チャンネルの信号に変換された後にスピーカ5bに出力される。
【0021】
サブシステム13は、CD−ROMドライブ1b、CD I/F180、CPU181、MPEG AUDIO182、MPEG VIDEO183等により構成されている。このサブシステム13は、CD−ROMの形態で供給されるアプリケーションソフトの読み込み、動画の再生等を行う機能を備えている。CD−ROMドライブ1bはCD−ROMからデータを読み取るものである。CPU181は、CD−ROMドライブ1bの制御、読み取られたデータの誤り訂正等の処理を行うものである。CD−ROMから読み取られたデータは、CDI/F180、バス106、SCU100を介してメインCPU101に供給され、アプリケーションソフトとして利用される。また、MPEGAUDIO182、MPEG VIDEO183は、MPEG規格(Motion Picture Expert Group)により圧縮されたデータを復元するデバイスである。これらのMPEG AUDIO182、MPEGVIDEO183を用いてCD−ROMに書き込まれたMPEG圧縮データの復元を行うことにより、動画の再生を行うことが可能となる。
【0022】
図3は、コンピュータシステム内に形成される3Dの仮想ゲーム空間において、ゲームの一例として、サッカー・ゲームを行う場合を説明する説明図である。
【0023】
同図において、サッカーコートが3D仮想空間のx−z平面に形成される。コートの長手方向(左右方向)はx軸方向に、コートの短手方向(奥行方向)はy軸方向に、高さ方向はz軸方向に、それぞれ定められている。このコート上に、図示しない各選手のオブジェクトが配置され、遊戯者は入力装置によって主人公たる選手の動きを制御する。グラウンドには、ラインオブジェクトが描かれて、サッカー・コートが形成されている。この仮想ゲーム空間に、視野内の様子を座標変換等を行って二次元のモニタ画面に表示するための仮想カメラ(視点)が配置され、ゲームが中継される。
【0024】
図4及び図5は、本発明の着目を説明する説明図である。図4において、グラウンドには、ラインを形成するためのポリゴン(以下、ライン・ポリゴンという)の組合わせによってライン・オブジェクトが配置され、図3に示すような、線引されたサッカーコートが形成される。このラインは、ゲーム空間のカメラ位置が上方から見おろす角度にあるときは、画面に良く表示されるが、カメラの上下方向(y軸方向)の角度が、水平方向に近づくにつれて画面中に占めるラインの面積は減少し、だんだんモニタ画面に映らなくなっていく。また、ライン・ポリゴンとカメラとが相対する状態、すなわち、ライン・ポリゴンの法線ベクトルとカメラの視線ベクトルとが平行になる場合であっても、視点位置を十分に遠ざけた場合には、当該三次元仮想空間を座標変換した二次元投影画面では、ライン・ポリゴンが細くなりすぎて表示されない場合があり得る。ライン(あるいはコート)内でゲームを行うことを前提とするゲームでは、これは不都合である。
【0025】
そこで、第1の発明では、モニタ画面にラインが映り難くなる条件下では、ラインポリゴンの一部の頂点の位置座標を変更し、カメラに映る面積が増えるようにする。すなわち、カメラとの相対的な関係において、グラウンド上に配置されたライン・ポリゴンのカメラから見て奥方向に位置する頂点の高さ位置を図5に示すように、少し上げてカメラに映るライン・ポリゴンの面積が増えるようにする。
【0026】
図6は、このような処理を行うアルゴリズムを説明するフローチャートである。
【0027】
まず、仮想ゲーム空間に配置された各オブジェクトを観察するカメラの視野内に、ライン・ポリゴン(あるいはライン・オブジェクト)が存在すると、図示しないプログラムによって対応するフラグが設定される。これが、メインプログラム(図示せず)中で判別されると、ライン消失防止処理が実行される(S102、Yes)。
【0028】
まず、ライン・ポリゴンの頂点がカメラから見て、奥に位置するか手前に位置するかを判別する。これには、図7に示すように、カメラと頂点P1間、カメラと頂点P3間の各距離l1及びl2を計算して、両距離の大小によって頂点の奥・手前を判別する方法がある。
【0029】
また、図8に示すような、頂点P1、P3の角度θ1、θ3とカメラの角度φ1、φ3の比較によって、頂点P1、P3の奥・手前を判別する方法がある。両方法のいずれも本実施の形態に使用可能であるが、後者の方法は前者の方法に比べてハードウェアにおける演算量が少なくて済む利点がある。
【0030】
そこで、以下に述べるステップ104〜110のラインポリゴンの頂点の奥・手前の判別では、後者の角度の比較による方法で説明する。
【0031】
該当シーンにおいて配置されるオブジェクト群を表す図示しないオブジェクトテーブルから一つのライン・ポリゴンのデータを読取る(S104)。図9は、ライン・ポリゴンのデータの例を示しており、ポリゴンの各頂点P1〜P4のデータには、例えば、ワールド座標系の座標値(xn,zn)に加えて、予め頂点の奥手前の判別用に定められた角度値等が対応付されている。
【0032】
次に、図8に示すように、カメラのワールド座標系(x−z平面)における現在の位置と、このカメラ位置から見たライン・ポリゴンの頂点Pn方向の角度φnを読取る。角度φnは、ライン・ポリゴンの頂点Pnの座標と、カメラ位置の座標とから三角関数によって、求めることが出来る(S106)。
【0033】
次に、ライン・ポリゴンの頂点とカメラ角度との比較を行う(S108)。例えば、図8において、予め頂点P1に設定された角度は90度、また、予め頂点P3に設定された角度は270度であるとする。カメラと頂点P1とを結ぶ視線ベクトルのx軸からの角度φ1が120度であるとき、120度−90度=30度<90度(ここで、90度はこの場合の判別基準値)であるので(S108)、ラインの奥のエッジの頂点と判別される(S110)。
【0034】
また、カメラと頂点P3とを結ぶ視線ベクトルのx軸からの角度φ3が150度であるとき、150度−270度=ABS(−120度)>90度(ここで、90度はこの場合に用いられる判別基準値、ABSは絶対値)であるので(S108)、ラインの手前のエッジの頂点と判別される(S110)。
【0035】
頂点Pnがライン・オブジェクトの手前のエッジであるときは、頂点Pnについては、高さ調整を行わず、次のラインポリゴンの頂点のデータの読取りを行う(S110、No)。
【0036】
頂点Pnがライン・オブジェクトの手前のエッジであるときは(S110、Yes)、頂点Pnまでの距離が10m以下か、どうかを判別する。10m以下のとき(S112、Yes)、すなわち、カメラがラインに近接しているときは、通常、画面にラインが映る状態であるので、頂点Pnについては、高さ調整を行わず、次のラインポリゴンの頂点のデータの読取りを行う(S112、No)。
【0037】
頂点Pnまでの距離が10m以上のとき(S112、No)、すなわち、通常、カメラがラインから離れている状態のときは、ラインが見え難い状態にあるので、ラインの奥のエッジの頂点Pnの座標データのy軸方向(高さ方向)の値を所定値増加して、ライン・ポリゴンの奥のエッジをグラウンドから上げる(S114)。このような処理を、画面中の全ライン・ポリゴンの各頂点について行う(S116)。
【0038】
この結果、仮想ゲーム空間に配置されたライン・オブジェクトの奥側のエッジは、図5に示すように立上がり、カメラからよく見えるようになる。
【0039】
次に、第2の発明の実施の形態について説明する。第2の発明は、ゲームフィールド(サッカーグラウンド)を所定のエリアに分け、ボールの位置するエリアを判断し、ボールの進行方向(プレーヤの見たい方向)が良く見えるようにカメラアングルを調整するものである。
【0040】
図10〜図12は、遊戯者の移動方向と当該方向に移動する際に好ましいカメラの向き方向を説明するものである。
【0041】
まず、カメラは、図3に示すように、基本的にサイドラインに沿って動き、プレーヤ方向を向く。勿論、カメラはフィールド内に入ってゲームを追うことができる。
【0042】
遊戯者が制御するプレーヤがx−y平面の奥手前方向(z軸方向)に移動する場合(図10(a))、カメラをz軸方向に向ける(同図(b))。
【0043】
遊戯者が制御するプレーヤがx−y平面の左方向(−x軸方向)に移動する場合(図11(a))、カメラをz軸方向から所定角度、例えば、−15度向けてボール進行方向の領域の画面表示を増やす(同図(b))。ここで、時計方向を正方向に、反時計方向を負方向と定める。
【0044】
遊戯者が制御するプレーヤがx−y平面の右方向(x軸方向)に移動する場合(図12(a))、カメラをz軸方向から所定角度、例えば、進行方向に15度向け、ボール進行方向の領域の画面表示を増やす(同図(b))。
【0045】
このような、カメラ角度の調整とゲームフィールドのエリアとを組合わせて、カメラの視点方向を定める例を図13及び図14のフローチャートを参照して説明する。
【0046】
まず、図示しないメインプログラム中で定められる所定のタイミング(条件)で、カメラの左右角度調整の本ルーチンが実行され、カメラの注視点がプレーヤ側にあるかボール側にあるかを判別する(S132)。
【0047】
プレーヤ側にあるとき(S132、プレーヤ)、注視点がサッカーコートのペナルティエリアから所定距離、例えば8m以内かどうかを判別する(S134)。8m以内のとき(S134、Yes)は、ペナルティエリア近傍では、敵・味方の選手が集り、パスやシュートの機会が高まるので(図15)、ペナルティエリア近傍の状況が良く見えるようにカメラをz軸に対して−15度程度傾ける(S136、図16)。
【0048】
ペナルティエリアから8m以上離れているとき(S134、No)は、プレーヤの進行方向を判断する(S138)。プレーヤが手前方向に移動する場合(図17)及び奥方向に移動する場合(図18)は、x−z平面におけるカメラのプレーヤに対する角度を0度とする(S140、図19)。プレーヤが左方向に移動する場合(図20)は、カメラのプレーヤに対する角度がz軸から−15度方向の角度となるようにする(S142、図21)。プレーヤが右方向に移動する場合(図22)は、カメラのプレーヤに対する角度がz軸から15度方向の角度となるようにする(S144、図23)。
【0049】
次に、カメラの注視点の位置がボールにあるとき(S132、ボール)、ボールとプレーヤ間の距離が、所定距離、例えば15m以上離れているかが判断される(S146)。15m以上離れているとき(S146、Yes、図24)、ボールからプレーヤに向う視線ベクトルがz軸から20度の角度となるように、カメラの角度を定める(S154、図25)。また、z軸に対して、プレーヤとボールの位置が逆になる場合は、ボールからプレーヤに向う視線ベクトルがz軸から−20度の角度となるように、カメラの角度を定める(S154、図26)。
【0050】
ボールとプレーヤ間の距離が、所定距離、例えば15m以上離れていないとき(S146、No)は、カメラの注視点がペナルティエリアから8m以内かどうかが判別される(S148)。カメラの注視点がペナルティエリアから8m以内である場合(S148、Yes、図27)、カメラの視線ベクトルをz軸に対して−15度の角度に設定する(図28)。なお、図26に示したように、ボールとプレーヤの位置が逆のときは、カメラの向きをz軸から15度の方向に定める。
【0051】
更に、ボールとプレーヤ間の距離が15m以内であって、カメラの注視点がペナルティエリアから8m以内ではない場合(S148、No、図29)、カメラの視線ベクトルをボールに対して0度(z軸に対して0度)の角度に設定する(図30)。これ等の処理を終えて、メインプログラムに戻る。
【0052】
なお、サイドラインに沿ってカメラが動くときに、z軸方向からのカメラの角度を大きくしすぎると、遊戯者がパッドやジョイスティック等の入力装置でx方向及びz方向のプレーヤの移動を入力する場合に、画面のプレーヤの動き方向と直接対応しなくなって操作し難くなる場合がある。このため、15度程度の角度が具合よい。
【0053】
このようにして、プレーヤのゲームフィールドのエリアに応じてx−z平面におけるカメラアングルが調整され、ボールの進行方向が良く見えるようになされる。
【0054】
次に、カメラの上下方向(y軸方向)の角度調整について説明する。図31は、カメラの上下方向の角度調整を行う処理を説明するフローチャートであり、図示しないメインプログラムで定められる所定のタイミング(所定条件)で実行される。カメラの高さ位置は、これに限定されるものではないが、通常、10m程度の高さに設定される。本ルーチンでは、図32に示すように、このカメラがゲームフィールドを俯瞰する角度をゲームエリアに応じて設定する。すなわち、カメラの注視点の位置を判別する(S162)。注視点がプレーヤにあるとき(S162、プレーヤ)、注視点がペナルティエリア付近にあるかどうかを判別する(S164)。注視点がペナルティエリア付近にない場合には(S164、No)、比較的に広い範囲を見せるために、カメラの視線ベクトルがz軸方向から−8度の方向になるようにカメラの向きを定める(S166)。ここで、カメラが下向きの場合を負の角度、上向きの場合を正の角度、水平を0度として表す。また、注視点がペナルティエリア付近にある場合には(S164、Yes)、カメラの視線ベクトルがz軸方向から−11度の方向になるようにカメラの向きを定める(S168)。これにより、よりカメラが見おろすようになり、より3D的な立体(奥行)感のある画像が得られる。
【0055】
注視点がボールにあるとき(S162、ボール)、注視点がペナルティエリア付近にあるかどうかを判別する(S170)。注視点がペナルティエリア付近にない場合には(S170、No)、カメラの視線ベクトルがz軸方向から−11度の方向になるようにカメラ等の向きを定める(S166)。また、注視点がペナルティエリア付近にある場合には(S170、Yes)、カメラの視線ベクトルがz軸方向から−13度の方向になるようにカメラの向きを定める(S174)。
【0056】
これ等の処理が終ったらメインプログラムに戻る。
【0057】
図33は、カメラのズーム調整を説明するフローチャートである。メインプログラムにおいて、カメラのズーム調整を行うべきことが判断されると、本ルーチンに移行する。
【0058】
まず、カメラの注視点がペナルティエリア付近にあるかどうかを判断する(S182)。ペナルティエリア付近にある場合は、カメラが注視点から所定距離まで離れるようにカメラを引く、ズーム・ダウンを行う(S184)。これによって、ペナルティエリア全体が見渡せるようになる。
【0059】
カメラの注視点がペナルティエリア付近になく(S182、No)、プレーヤが画面の外にいるとき(S186、Yes)、画面内にプレーヤを映すべく、ズーム・ダウンを行う(S188)。図34に示すように、プレーヤが画面内に存在し(S186、No)、かつ、プレーヤが画面の3/4以内に入っている場合は(S190、Yes)、カメラが注視点から所定距離まで近づくようにカメラを移動する、ズームアップを行う(S190)。これにより、一定の範囲が見えいる状態でプレーヤをクローズアップすることが可能となる。また、プレーヤが画面に映っているが、画面の3/4以内には入っていない場合は(S190、No)、カメラと注視点との距離を維持する(S194)。
【0060】
図35は、上述したライン・ポリゴンのように、画面から消滅することを防止すべきものを表示できるようにした他の例を説明するフローチャートである。
【0061】
同図においては、予め消失を防止すべきポリゴンのデータに消失防止力の対象であることを示す属性データが付されている。仮想カメラの視野内のオブジェクト群を画面表示する際に、コンピュータシステムによって視野内に消失防止対象のポリゴンが存在するかどうかが判別される(S202)。
【0062】
消失防止対象のポリゴン、例えば、ライン・ポリゴンが存在する場合(S202、Yes)、ポリゴンの消失防止プログラムを実行する。すなわち、図36に示すように、カメラの注視点とカメラの位置から単位視線ベクトルを求める(S204)。消失防止対象のポリゴンのデータから単位法線ベクトルを求める(S206)。単位視線ベクトルと単位法線ベクトルとのなす角度を求める。これは、単位視線ベクトルと単位法線ベクトルの内積として求めることが可能である(S208)。この角度が所定の角度になるように、ポリゴンの頂点の座標値を調整する(S210)。視野内の消失防止対象となる各ポリゴンについてステップ204からステップ210の処理を行う。ここで、ステップ202は消失防止実行手段に、ステップ204〜208は角度算出手段に、ステップ310はポリゴン傾斜手段に対応する。
【0063】
このようにしても、ゲームに不可欠なライン等が消えないようにすることが可能となる。
【0064】
なお、本発明は、サッカーゲームに限定されるものではなく、グラウンドやコートにラインが描かれる、テニス、野球、バスケットボール、バレーボール、ラグビー、アメリカンフットボール等、種々のゲームに適用可能であるこのようにして、エリアや表示状態に応じてカメラのズーム調整がなされる。
【0065】
以上説明したような、ゲーム装置及び画面の表示方法をコンピュータシステムに実現するプログラムは、情報記録媒体、例えば、CD−ROM、DVD−ROM、ROMカセット等に記録されて提供される。
【図面の簡単な説明】
【0066】
【図1】ゲーム装置の全体的な構成例を示す説明図である。
【図2】ゲーム装置の回路構成を説明するブロック図である。
【図3】ゲーム装置内に形成される仮想ゲーム空間を説明する説明図である。
【図4】カメラ位置とグラウンドに描かれるラインの見え方を説明する説明図である。
【図5】ライン・ポリゴンの奥側エッジの頂点を上げて、ラインが見えるようにする処理を説明する説明図である。
【図6】ライン消失防止処理を説明するフローチャートである。
【図7】ライン・ポリゴンの頂点とカメラとの位置関係を説明する説明図である。
【図8】ライン・ポリゴンの頂点とカメラとの位置関係を説明する説明図である。
【図9】ライン・ポリゴンの頂点のデータの例を説明する説明図である。
【図10】図10(a)は、プレーヤの奥・手前方向の移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図11】図11(a)は、プレーヤの左方向への移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図12】図12(a)は、プレーヤの右方向への移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図13】カメラの左右方向への角度調整処理を説明するフローチャートである。
【図14】カメラの左右方向への角度調整処理を説明するフローチャートの続きである。
【図15】カメラの注視点がプレーヤにある場合を説明する説明図である。
【図16】注視点がペナルティエリアから8m以内にある場合のカメラの角度調整の例を説明する説明図である。
【図17】プレーヤの進行方向が手前方向である場合を説明する説明図である。
【図18】プレーヤの進行方向が奥方向である場合を説明する説明図である。
【図19】プレーヤの進行方向が奥・手前方向であるときのカメラの視線ベクトルの方向の例を説明する説明である。
【図20】プレーヤが左方向に移動する例を説明する説明図である。
【図21】プレーヤが左方向に移動する場合のカメラの角度調整を説明する説明図である。
【図22】プレーヤが右方向に移動する例を説明する説明図である。
【図23】プレーヤが右方向に移動する場合のカメラの角度調整を説明する説明図である。
【図24】カメラの注視点がボールにあるときの例を説明する説明図である。
【図25】ボールとプレーヤが15m以上離れているときのカメラの調整角度の例を説明する説明図である。
【図26】ボールとプレーヤが15m以上離れているときのカメラの調整角度の他の例を説明する説明図である。
【図27】カメラの注視点がペナルティエリアから8m以内にある場合を説明する説明図である。
【図28】カメラの注視点がペナルティエリアから8m以内にある場合のカメラの角度調整を説明する説明図である。
【図29】注視点がペナルティエリアから8m以内ではない場合を説明する説明図である。
【図30】注視点がペナルティエリアから8m以内ではない場合のカメラの角度調整を説明する説明図である。
【図31】カメラの上下角度の調整を説明するフローチャートである。
【図32】カメラの上下角度の調整を説明する説明図である。
【図33】カメラのズーム調整を説明するフローチャートである。
【図34】画面のプレーヤの存在するエリアを説明する説明図である。
【図35】他のオブジェクト消滅防止の例を説明するフローチャートである。
【図36】オブジェクト消滅防止を説明する説明図である。
【符号の説明】
【0067】
10 CPUブロック
11 ビデオブロツク
12 サウンドブロツク
13 サブシステム
【技術分野】
【0001】
本発明は、ゲーム装置に関し、特に、ゲーム装置におけるゲーム画面表示の改良等に関する。
【背景技術】
【0002】
いわゆるビデオゲーム装置では、画面を見ながら、入力装置を操作してオブジェクトの動きを制御し、ゲームを進行させる。3D(三次元)表示のゲーム装置では、コンピュータ・システム内に仮想空間を形成し、この空間にゲームのオブジェクトを配置する。そして、コンピュータはゲームルールに従ってオブジェクトの動きを制御する。また、遊戯者の操作に従って、主人公たるオブジェクトを制御してゲームを展開する。このゲームの展開を仮想空間に配置された仮想カメラを通してモニタ画面に表示する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、3Dのゲーム空間で展開されるゲームを画面に表示する場合、カメラがオブジェクトを見る視線方向によってゲームのし易さが異なる。また、カメラの位置によって、ゲームのやり安さが異なる。また、ゲームのエリアに応じてオブジェクトの立体的表現が強調されることも望ましい。
【0004】
また、仮想3D空間出のゲームを画面に表示しようとする場合、遊戯者が当該ゲームをやり易くするために、視点位置を遠ざけて、ゲームフィールドを出来るだけ広く画面上に表示することが望まれる。このような処理をはた場合、スポーツゲームのコートを示すラインの幅が仮想空間全体に比べて細いので、画面の解像度との関係で消失してしまうことがある。一方、この消失を防ぐため、予め太いラインを用意した場合は、ゲームの迫力を増すために、ズームアップ(視点を注視点に近づける)した場合には、特別に太いラインが表示されることになり、不自然である。
【0005】
よって、本発明は、遊戯者にとって見やすいゲーム画面を提供することを目的とする。
【0006】
また、本発明は、ゲームフィールドのエリアに応じて、遊戯者にとってそのエリアでより好ましい見え方をするゲーム装置の提供等を目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明のゲーム装置は、コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って上記オブジェクトの動きを制御しながらゲームを展開し、上記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置において、上記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、上記判別結果に基づいて上記仮想カメラの角度を調整するカメラ角度調整手段と、を備えることを特徴とする。
【0008】
好ましくは、上記カメラ角度調整手段は、上記判別結果と上記オブジェクトの移動方向とに基づいて上記仮想カメラの角度を調整する、ことを特徴とする。
【0009】
好ましくは、上記カメラ角度調整手段は、上記仮想空間における左右方向及び上下方向のうち少なくともいずれかの方向において上記仮想カメラの角度調整を行う、ことを特徴とする。
【0010】
また、本発明のゲーム装置は、コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って上記オブジェクトの動きを制御しながらゲームを展開し、上記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置おいて、上記オブジェクトが上記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、上記判別結果に基づいて上記仮想カメラの視野範囲を調整するズーム調整手段と、を備えることを特徴とする。
【0011】
また、本発明のゲーム装置は、複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置において、上記視点と注視点とを結ぶ線分と、上記仮想空間内に配置された所定のポリゴンの法線と、のなす角度を算出する角度算出手段と、上記角度算出手段の算出した角度が所定の値になるように、上記ポリゴンの頂点の座標値を変更するポリゴン傾斜手段と、を有することを特徴とする。
【発明の効果】
【0012】
以上説明したように、本発明のゲーム装置によれば、3Dゲームにおいて、カメラ位置によって見難くなるポリゴンを起すようにしているので、例えば、グラウンドに描かれたラインが消滅することがなく具合がよい。また、本発明のゲーム装置よれば、ゲームのエリアやオブジェクトの移動方向に応じてカメラの向きや視野範囲が調整されるゲーム装置を得ることが可能となり、遊戯者がゲームを行い易い画面が得られる。
【発明を実施するための最良の形態】
【0013】
図1は本発明の一実施の形態に係る画像処理装置を用いたビデオゲーム機の外観図である。この図において、ビデオゲーム機本体1は略箱型をなし、その内部にはゲーム処理用の基板等が設けられている。また、ビデオゲーム機本体1の前面には、2つのコネクタ2aが設けられており、これらのコネクタ2aにはゲーム操作用のPAD2bがケーブル2cを介して接続されている。2人の遊戯者がゲームを楽しむ場合には、2つのPAD2bが使用される。
【0014】
ビデオゲーム機本体1の上部には、ROMカートリッジ接続用のカートリッジI/F1a、CD−ROM読み取り用のCD−ROMドライブ1bが設けられている。ビデオゲーム機本体1の背面には、図示されていないが、ビデオ出力端子およびオーディオ出力端子が設けられている。このビデオ出力端子はケーブル4aを介してTV受像機5のビデオ入力端子に接続されるとともに、オーディオ出力端子はケーブル4bを介してTV受像機5のオーディオ入力端子に接続されている。このようなビデオゲーム機において、ユーザがPAD2bを操作することにより、TV受像機5に映し出された画面を見ながらゲームを行うことができる。
【0015】
図2は本実施の形態に係るTVゲーム機の概要を表すブロック図である。この画像処理装置は、装置全体の制御を行うCPUブロック10、ゲーム画面の表示制御を行うビデオブロック11、効果音等を生成するサウンドブロック12、CD−ROMの読み出しを行うサブシステム13等により構成されている。
【0016】
CPUブロック10は、SCU(System Control Unit)100、メインCPU101、RAM102、ROM103、カートリッジI/F1a、サブCPU104、CPUバス103等により構成されている。メインCPU101は、装置全体の制御を行うものである。このメインCPU101は、内部にDSP(Digital Signal Processor)と同様の演算機能を備え、アプリケーションソフトを高速に実行可能である。RAM102は、メインCPU101のワークエリアとして使用されるものである。ROM103には、初期化処理用のイニシャルプログラム等が書き込まれている。SCU100は、バス105、106、107を制御することにより、メインCPU101、VDP120、130、DSP140、CPU141等の間におけるデータ入出力を円滑に行うものである。また、SCU100は、内部にDMAコントローラを備え、ゲーム中のスプライトデータをビデオブロック11内のVRAMに転送することができる。これにより、ゲーム等のアプリケーションソフトを高速に実行することが可能である。カートリッジI/F1aは、ROMカートリッジの形態で供給されるアプリケーションソフトを入力するためのものである。
【0017】
サブCPU104は、SMPC(System Manager & Peripheral Control)と呼ばれるもので、メインCPU101からの要求に応じて、PAD2bからペリフェラルデータをコネクタ2aを介して収集する機能等を備えている。メインCPU101はサブCPU104から受け取ったペリフェラルデータに基づき処理を行うものである。コネクタ2aには、PAD、ジョイスティック、キーボード等のうちの任意のペリフェラルが接続可能である。サブCPU104は、コネクタ2a(本体側端子)に接続されたペリフェラルの種類を自動的に認識し、ペリフェラルの種類に応じた通信方式に従いペリフェラルデータ等を収集する機能を備えている。
【0018】
ビデオブロック11は、ビデオゲームのポリゴンデータから成るキャラクタ等の描画を行うVDP(Video Display Processor)120、背景画面の描画、ポリゴン画像データおよび背景画像の合成、クリッピング処理等を行うVDP130とを備えている。VDP120はVRAM121およびフレームバッファ122、123に接続されている。ビデオゲーム機のキャラクタを表すポリゴンの描画データはメインCPU101からSCU100を介してVDP120に送られ、VRAM121に書き込まれる。VRAM121に書き込まれた描画データは、例えば、16または8ビット/pixelの形式で描画用のフレームバッファ122または123に描画される。描画されたフレームバッファ122または123のデータはVDP130に送られる。描画を制御する情報は、メインCPU101からSCU100を介してVDP120に与えられる。そして、VDP120は、この指示に従い描画処理を実行する。
【0019】
VDP130はVRAM131に接続され、VDP130から出力された画像データはメモリ132を介してエンコーダ160に出力される構成となっている。エンコーダ160は、この画像データに同期信号等を付加することにより映像信号を生成し、TV受像機5に出力する。これにより、TV受像機5にゲームの画面が表示される。
【0020】
サウンドブロック12は、PCM方式あるいはFM方式に従い音声合成を行うDSP140と、このDSP140の制御等を行うCPU141とにより構成されている。DSP140により生成された音声データは、D/Aコンバータ170により2チャンネルの信号に変換された後にスピーカ5bに出力される。
【0021】
サブシステム13は、CD−ROMドライブ1b、CD I/F180、CPU181、MPEG AUDIO182、MPEG VIDEO183等により構成されている。このサブシステム13は、CD−ROMの形態で供給されるアプリケーションソフトの読み込み、動画の再生等を行う機能を備えている。CD−ROMドライブ1bはCD−ROMからデータを読み取るものである。CPU181は、CD−ROMドライブ1bの制御、読み取られたデータの誤り訂正等の処理を行うものである。CD−ROMから読み取られたデータは、CDI/F180、バス106、SCU100を介してメインCPU101に供給され、アプリケーションソフトとして利用される。また、MPEGAUDIO182、MPEG VIDEO183は、MPEG規格(Motion Picture Expert Group)により圧縮されたデータを復元するデバイスである。これらのMPEG AUDIO182、MPEGVIDEO183を用いてCD−ROMに書き込まれたMPEG圧縮データの復元を行うことにより、動画の再生を行うことが可能となる。
【0022】
図3は、コンピュータシステム内に形成される3Dの仮想ゲーム空間において、ゲームの一例として、サッカー・ゲームを行う場合を説明する説明図である。
【0023】
同図において、サッカーコートが3D仮想空間のx−z平面に形成される。コートの長手方向(左右方向)はx軸方向に、コートの短手方向(奥行方向)はy軸方向に、高さ方向はz軸方向に、それぞれ定められている。このコート上に、図示しない各選手のオブジェクトが配置され、遊戯者は入力装置によって主人公たる選手の動きを制御する。グラウンドには、ラインオブジェクトが描かれて、サッカー・コートが形成されている。この仮想ゲーム空間に、視野内の様子を座標変換等を行って二次元のモニタ画面に表示するための仮想カメラ(視点)が配置され、ゲームが中継される。
【0024】
図4及び図5は、本発明の着目を説明する説明図である。図4において、グラウンドには、ラインを形成するためのポリゴン(以下、ライン・ポリゴンという)の組合わせによってライン・オブジェクトが配置され、図3に示すような、線引されたサッカーコートが形成される。このラインは、ゲーム空間のカメラ位置が上方から見おろす角度にあるときは、画面に良く表示されるが、カメラの上下方向(y軸方向)の角度が、水平方向に近づくにつれて画面中に占めるラインの面積は減少し、だんだんモニタ画面に映らなくなっていく。また、ライン・ポリゴンとカメラとが相対する状態、すなわち、ライン・ポリゴンの法線ベクトルとカメラの視線ベクトルとが平行になる場合であっても、視点位置を十分に遠ざけた場合には、当該三次元仮想空間を座標変換した二次元投影画面では、ライン・ポリゴンが細くなりすぎて表示されない場合があり得る。ライン(あるいはコート)内でゲームを行うことを前提とするゲームでは、これは不都合である。
【0025】
そこで、第1の発明では、モニタ画面にラインが映り難くなる条件下では、ラインポリゴンの一部の頂点の位置座標を変更し、カメラに映る面積が増えるようにする。すなわち、カメラとの相対的な関係において、グラウンド上に配置されたライン・ポリゴンのカメラから見て奥方向に位置する頂点の高さ位置を図5に示すように、少し上げてカメラに映るライン・ポリゴンの面積が増えるようにする。
【0026】
図6は、このような処理を行うアルゴリズムを説明するフローチャートである。
【0027】
まず、仮想ゲーム空間に配置された各オブジェクトを観察するカメラの視野内に、ライン・ポリゴン(あるいはライン・オブジェクト)が存在すると、図示しないプログラムによって対応するフラグが設定される。これが、メインプログラム(図示せず)中で判別されると、ライン消失防止処理が実行される(S102、Yes)。
【0028】
まず、ライン・ポリゴンの頂点がカメラから見て、奥に位置するか手前に位置するかを判別する。これには、図7に示すように、カメラと頂点P1間、カメラと頂点P3間の各距離l1及びl2を計算して、両距離の大小によって頂点の奥・手前を判別する方法がある。
【0029】
また、図8に示すような、頂点P1、P3の角度θ1、θ3とカメラの角度φ1、φ3の比較によって、頂点P1、P3の奥・手前を判別する方法がある。両方法のいずれも本実施の形態に使用可能であるが、後者の方法は前者の方法に比べてハードウェアにおける演算量が少なくて済む利点がある。
【0030】
そこで、以下に述べるステップ104〜110のラインポリゴンの頂点の奥・手前の判別では、後者の角度の比較による方法で説明する。
【0031】
該当シーンにおいて配置されるオブジェクト群を表す図示しないオブジェクトテーブルから一つのライン・ポリゴンのデータを読取る(S104)。図9は、ライン・ポリゴンのデータの例を示しており、ポリゴンの各頂点P1〜P4のデータには、例えば、ワールド座標系の座標値(xn,zn)に加えて、予め頂点の奥手前の判別用に定められた角度値等が対応付されている。
【0032】
次に、図8に示すように、カメラのワールド座標系(x−z平面)における現在の位置と、このカメラ位置から見たライン・ポリゴンの頂点Pn方向の角度φnを読取る。角度φnは、ライン・ポリゴンの頂点Pnの座標と、カメラ位置の座標とから三角関数によって、求めることが出来る(S106)。
【0033】
次に、ライン・ポリゴンの頂点とカメラ角度との比較を行う(S108)。例えば、図8において、予め頂点P1に設定された角度は90度、また、予め頂点P3に設定された角度は270度であるとする。カメラと頂点P1とを結ぶ視線ベクトルのx軸からの角度φ1が120度であるとき、120度−90度=30度<90度(ここで、90度はこの場合の判別基準値)であるので(S108)、ラインの奥のエッジの頂点と判別される(S110)。
【0034】
また、カメラと頂点P3とを結ぶ視線ベクトルのx軸からの角度φ3が150度であるとき、150度−270度=ABS(−120度)>90度(ここで、90度はこの場合に用いられる判別基準値、ABSは絶対値)であるので(S108)、ラインの手前のエッジの頂点と判別される(S110)。
【0035】
頂点Pnがライン・オブジェクトの手前のエッジであるときは、頂点Pnについては、高さ調整を行わず、次のラインポリゴンの頂点のデータの読取りを行う(S110、No)。
【0036】
頂点Pnがライン・オブジェクトの手前のエッジであるときは(S110、Yes)、頂点Pnまでの距離が10m以下か、どうかを判別する。10m以下のとき(S112、Yes)、すなわち、カメラがラインに近接しているときは、通常、画面にラインが映る状態であるので、頂点Pnについては、高さ調整を行わず、次のラインポリゴンの頂点のデータの読取りを行う(S112、No)。
【0037】
頂点Pnまでの距離が10m以上のとき(S112、No)、すなわち、通常、カメラがラインから離れている状態のときは、ラインが見え難い状態にあるので、ラインの奥のエッジの頂点Pnの座標データのy軸方向(高さ方向)の値を所定値増加して、ライン・ポリゴンの奥のエッジをグラウンドから上げる(S114)。このような処理を、画面中の全ライン・ポリゴンの各頂点について行う(S116)。
【0038】
この結果、仮想ゲーム空間に配置されたライン・オブジェクトの奥側のエッジは、図5に示すように立上がり、カメラからよく見えるようになる。
【0039】
次に、第2の発明の実施の形態について説明する。第2の発明は、ゲームフィールド(サッカーグラウンド)を所定のエリアに分け、ボールの位置するエリアを判断し、ボールの進行方向(プレーヤの見たい方向)が良く見えるようにカメラアングルを調整するものである。
【0040】
図10〜図12は、遊戯者の移動方向と当該方向に移動する際に好ましいカメラの向き方向を説明するものである。
【0041】
まず、カメラは、図3に示すように、基本的にサイドラインに沿って動き、プレーヤ方向を向く。勿論、カメラはフィールド内に入ってゲームを追うことができる。
【0042】
遊戯者が制御するプレーヤがx−y平面の奥手前方向(z軸方向)に移動する場合(図10(a))、カメラをz軸方向に向ける(同図(b))。
【0043】
遊戯者が制御するプレーヤがx−y平面の左方向(−x軸方向)に移動する場合(図11(a))、カメラをz軸方向から所定角度、例えば、−15度向けてボール進行方向の領域の画面表示を増やす(同図(b))。ここで、時計方向を正方向に、反時計方向を負方向と定める。
【0044】
遊戯者が制御するプレーヤがx−y平面の右方向(x軸方向)に移動する場合(図12(a))、カメラをz軸方向から所定角度、例えば、進行方向に15度向け、ボール進行方向の領域の画面表示を増やす(同図(b))。
【0045】
このような、カメラ角度の調整とゲームフィールドのエリアとを組合わせて、カメラの視点方向を定める例を図13及び図14のフローチャートを参照して説明する。
【0046】
まず、図示しないメインプログラム中で定められる所定のタイミング(条件)で、カメラの左右角度調整の本ルーチンが実行され、カメラの注視点がプレーヤ側にあるかボール側にあるかを判別する(S132)。
【0047】
プレーヤ側にあるとき(S132、プレーヤ)、注視点がサッカーコートのペナルティエリアから所定距離、例えば8m以内かどうかを判別する(S134)。8m以内のとき(S134、Yes)は、ペナルティエリア近傍では、敵・味方の選手が集り、パスやシュートの機会が高まるので(図15)、ペナルティエリア近傍の状況が良く見えるようにカメラをz軸に対して−15度程度傾ける(S136、図16)。
【0048】
ペナルティエリアから8m以上離れているとき(S134、No)は、プレーヤの進行方向を判断する(S138)。プレーヤが手前方向に移動する場合(図17)及び奥方向に移動する場合(図18)は、x−z平面におけるカメラのプレーヤに対する角度を0度とする(S140、図19)。プレーヤが左方向に移動する場合(図20)は、カメラのプレーヤに対する角度がz軸から−15度方向の角度となるようにする(S142、図21)。プレーヤが右方向に移動する場合(図22)は、カメラのプレーヤに対する角度がz軸から15度方向の角度となるようにする(S144、図23)。
【0049】
次に、カメラの注視点の位置がボールにあるとき(S132、ボール)、ボールとプレーヤ間の距離が、所定距離、例えば15m以上離れているかが判断される(S146)。15m以上離れているとき(S146、Yes、図24)、ボールからプレーヤに向う視線ベクトルがz軸から20度の角度となるように、カメラの角度を定める(S154、図25)。また、z軸に対して、プレーヤとボールの位置が逆になる場合は、ボールからプレーヤに向う視線ベクトルがz軸から−20度の角度となるように、カメラの角度を定める(S154、図26)。
【0050】
ボールとプレーヤ間の距離が、所定距離、例えば15m以上離れていないとき(S146、No)は、カメラの注視点がペナルティエリアから8m以内かどうかが判別される(S148)。カメラの注視点がペナルティエリアから8m以内である場合(S148、Yes、図27)、カメラの視線ベクトルをz軸に対して−15度の角度に設定する(図28)。なお、図26に示したように、ボールとプレーヤの位置が逆のときは、カメラの向きをz軸から15度の方向に定める。
【0051】
更に、ボールとプレーヤ間の距離が15m以内であって、カメラの注視点がペナルティエリアから8m以内ではない場合(S148、No、図29)、カメラの視線ベクトルをボールに対して0度(z軸に対して0度)の角度に設定する(図30)。これ等の処理を終えて、メインプログラムに戻る。
【0052】
なお、サイドラインに沿ってカメラが動くときに、z軸方向からのカメラの角度を大きくしすぎると、遊戯者がパッドやジョイスティック等の入力装置でx方向及びz方向のプレーヤの移動を入力する場合に、画面のプレーヤの動き方向と直接対応しなくなって操作し難くなる場合がある。このため、15度程度の角度が具合よい。
【0053】
このようにして、プレーヤのゲームフィールドのエリアに応じてx−z平面におけるカメラアングルが調整され、ボールの進行方向が良く見えるようになされる。
【0054】
次に、カメラの上下方向(y軸方向)の角度調整について説明する。図31は、カメラの上下方向の角度調整を行う処理を説明するフローチャートであり、図示しないメインプログラムで定められる所定のタイミング(所定条件)で実行される。カメラの高さ位置は、これに限定されるものではないが、通常、10m程度の高さに設定される。本ルーチンでは、図32に示すように、このカメラがゲームフィールドを俯瞰する角度をゲームエリアに応じて設定する。すなわち、カメラの注視点の位置を判別する(S162)。注視点がプレーヤにあるとき(S162、プレーヤ)、注視点がペナルティエリア付近にあるかどうかを判別する(S164)。注視点がペナルティエリア付近にない場合には(S164、No)、比較的に広い範囲を見せるために、カメラの視線ベクトルがz軸方向から−8度の方向になるようにカメラの向きを定める(S166)。ここで、カメラが下向きの場合を負の角度、上向きの場合を正の角度、水平を0度として表す。また、注視点がペナルティエリア付近にある場合には(S164、Yes)、カメラの視線ベクトルがz軸方向から−11度の方向になるようにカメラの向きを定める(S168)。これにより、よりカメラが見おろすようになり、より3D的な立体(奥行)感のある画像が得られる。
【0055】
注視点がボールにあるとき(S162、ボール)、注視点がペナルティエリア付近にあるかどうかを判別する(S170)。注視点がペナルティエリア付近にない場合には(S170、No)、カメラの視線ベクトルがz軸方向から−11度の方向になるようにカメラ等の向きを定める(S166)。また、注視点がペナルティエリア付近にある場合には(S170、Yes)、カメラの視線ベクトルがz軸方向から−13度の方向になるようにカメラの向きを定める(S174)。
【0056】
これ等の処理が終ったらメインプログラムに戻る。
【0057】
図33は、カメラのズーム調整を説明するフローチャートである。メインプログラムにおいて、カメラのズーム調整を行うべきことが判断されると、本ルーチンに移行する。
【0058】
まず、カメラの注視点がペナルティエリア付近にあるかどうかを判断する(S182)。ペナルティエリア付近にある場合は、カメラが注視点から所定距離まで離れるようにカメラを引く、ズーム・ダウンを行う(S184)。これによって、ペナルティエリア全体が見渡せるようになる。
【0059】
カメラの注視点がペナルティエリア付近になく(S182、No)、プレーヤが画面の外にいるとき(S186、Yes)、画面内にプレーヤを映すべく、ズーム・ダウンを行う(S188)。図34に示すように、プレーヤが画面内に存在し(S186、No)、かつ、プレーヤが画面の3/4以内に入っている場合は(S190、Yes)、カメラが注視点から所定距離まで近づくようにカメラを移動する、ズームアップを行う(S190)。これにより、一定の範囲が見えいる状態でプレーヤをクローズアップすることが可能となる。また、プレーヤが画面に映っているが、画面の3/4以内には入っていない場合は(S190、No)、カメラと注視点との距離を維持する(S194)。
【0060】
図35は、上述したライン・ポリゴンのように、画面から消滅することを防止すべきものを表示できるようにした他の例を説明するフローチャートである。
【0061】
同図においては、予め消失を防止すべきポリゴンのデータに消失防止力の対象であることを示す属性データが付されている。仮想カメラの視野内のオブジェクト群を画面表示する際に、コンピュータシステムによって視野内に消失防止対象のポリゴンが存在するかどうかが判別される(S202)。
【0062】
消失防止対象のポリゴン、例えば、ライン・ポリゴンが存在する場合(S202、Yes)、ポリゴンの消失防止プログラムを実行する。すなわち、図36に示すように、カメラの注視点とカメラの位置から単位視線ベクトルを求める(S204)。消失防止対象のポリゴンのデータから単位法線ベクトルを求める(S206)。単位視線ベクトルと単位法線ベクトルとのなす角度を求める。これは、単位視線ベクトルと単位法線ベクトルの内積として求めることが可能である(S208)。この角度が所定の角度になるように、ポリゴンの頂点の座標値を調整する(S210)。視野内の消失防止対象となる各ポリゴンについてステップ204からステップ210の処理を行う。ここで、ステップ202は消失防止実行手段に、ステップ204〜208は角度算出手段に、ステップ310はポリゴン傾斜手段に対応する。
【0063】
このようにしても、ゲームに不可欠なライン等が消えないようにすることが可能となる。
【0064】
なお、本発明は、サッカーゲームに限定されるものではなく、グラウンドやコートにラインが描かれる、テニス、野球、バスケットボール、バレーボール、ラグビー、アメリカンフットボール等、種々のゲームに適用可能であるこのようにして、エリアや表示状態に応じてカメラのズーム調整がなされる。
【0065】
以上説明したような、ゲーム装置及び画面の表示方法をコンピュータシステムに実現するプログラムは、情報記録媒体、例えば、CD−ROM、DVD−ROM、ROMカセット等に記録されて提供される。
【図面の簡単な説明】
【0066】
【図1】ゲーム装置の全体的な構成例を示す説明図である。
【図2】ゲーム装置の回路構成を説明するブロック図である。
【図3】ゲーム装置内に形成される仮想ゲーム空間を説明する説明図である。
【図4】カメラ位置とグラウンドに描かれるラインの見え方を説明する説明図である。
【図5】ライン・ポリゴンの奥側エッジの頂点を上げて、ラインが見えるようにする処理を説明する説明図である。
【図6】ライン消失防止処理を説明するフローチャートである。
【図7】ライン・ポリゴンの頂点とカメラとの位置関係を説明する説明図である。
【図8】ライン・ポリゴンの頂点とカメラとの位置関係を説明する説明図である。
【図9】ライン・ポリゴンの頂点のデータの例を説明する説明図である。
【図10】図10(a)は、プレーヤの奥・手前方向の移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図11】図11(a)は、プレーヤの左方向への移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図12】図12(a)は、プレーヤの右方向への移動を説明する説明図である。同図(b)は、その際のカメラの視線ベクトルの方向を説明する説明図である。
【図13】カメラの左右方向への角度調整処理を説明するフローチャートである。
【図14】カメラの左右方向への角度調整処理を説明するフローチャートの続きである。
【図15】カメラの注視点がプレーヤにある場合を説明する説明図である。
【図16】注視点がペナルティエリアから8m以内にある場合のカメラの角度調整の例を説明する説明図である。
【図17】プレーヤの進行方向が手前方向である場合を説明する説明図である。
【図18】プレーヤの進行方向が奥方向である場合を説明する説明図である。
【図19】プレーヤの進行方向が奥・手前方向であるときのカメラの視線ベクトルの方向の例を説明する説明である。
【図20】プレーヤが左方向に移動する例を説明する説明図である。
【図21】プレーヤが左方向に移動する場合のカメラの角度調整を説明する説明図である。
【図22】プレーヤが右方向に移動する例を説明する説明図である。
【図23】プレーヤが右方向に移動する場合のカメラの角度調整を説明する説明図である。
【図24】カメラの注視点がボールにあるときの例を説明する説明図である。
【図25】ボールとプレーヤが15m以上離れているときのカメラの調整角度の例を説明する説明図である。
【図26】ボールとプレーヤが15m以上離れているときのカメラの調整角度の他の例を説明する説明図である。
【図27】カメラの注視点がペナルティエリアから8m以内にある場合を説明する説明図である。
【図28】カメラの注視点がペナルティエリアから8m以内にある場合のカメラの角度調整を説明する説明図である。
【図29】注視点がペナルティエリアから8m以内ではない場合を説明する説明図である。
【図30】注視点がペナルティエリアから8m以内ではない場合のカメラの角度調整を説明する説明図である。
【図31】カメラの上下角度の調整を説明するフローチャートである。
【図32】カメラの上下角度の調整を説明する説明図である。
【図33】カメラのズーム調整を説明するフローチャートである。
【図34】画面のプレーヤの存在するエリアを説明する説明図である。
【図35】他のオブジェクト消滅防止の例を説明するフローチャートである。
【図36】オブジェクト消滅防止を説明する説明図である。
【符号の説明】
【0067】
10 CPUブロック
11 ビデオブロツク
12 サウンドブロツク
13 サブシステム
【特許請求の範囲】
【請求項1】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記仮想空間内の基準となる基準平面上に配置されるポリゴンと、前記ポリゴンと前記仮想カメラ相互間の位置関係を判別する判別手段と、判別結果に対応して前記仮想カメラから見える前記ポリゴンの面積が増すように前記ポリゴンを傾斜するポリゴン傾斜手段と、を備えることを特徴とするゲーム装置。
【請求項2】
前記基準平面はグラウンドであり、前記ポリゴンは前記グラウンド上に配置されるラインを形成するポリゴンである、ことを特徴とする請求項1記載のゲーム装置。
【請求項3】
前記ポリゴンは四角形であり、前記ポリゴン傾斜手段は、前記ポリゴンの互いに対向する辺のうちの一方の辺に属する頂点の座標値を変更する、ことを特徴とする請求項1記載のゲーム装置。
【請求項4】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかをを判別する判別手段と、前記判別結果に基づいて前記仮想カメラの角度を調整するカメラ角度調整手段と、を備えることを特徴とするゲーム装置。
【請求項5】
前記カメラ角度調整手段は、前記判別結果と前記オブジェクトの移動方向とに基づいて前記仮想カメラの角度を調整する、ことを特徴とする請求項4記載のゲーム装置。
【請求項6】
前記カメラ角度調整手段は、前記仮想空間における左右方向及び上下方向のうち少なくともいずれかの方向において前記仮想カメラの角度調整を行う、ことを特徴とする請求項4若しくは5記載のゲーム装置。
【請求項7】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、前記判別結果に基づいて前記仮想カメラの視野範囲を調整するズーム調整手段と、を備えることを特徴とするゲーム装置。
【請求項8】
複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置であって、前記視点と注視点とを結ぶ線分と、前記仮想空間内に配置された所定のポリゴンの法線と、のなす角度を算出する角度算出手段と、前記角度算出手段の算出した角度が所定の値になるように、前記ポリゴンの頂点の座標値を変更するポリゴン傾斜手段と、を有することを特徴とするゲーム装置。
【請求項9】
複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置であって、前記ポリゴンは、ポリゴンの消失防止プログラムを動作させるためのデータを含む、消失防止の属性を有する消失防止ポリゴンを含み、前記消失防止プログラムは、前記消失防止ポリゴンと前記視点との相互位置関係を判別する位置判別手段と、前記位置判別手段の判別結果に応じて、前記消失防止ポリゴンの頂点の座標値を変更する座標値変更手段と、を含み、更に前記表示装置に描画されるポリゴンが前記消失防止ポリゴンである場合に前記消失防止プログラムを実行する消失防止実行手段、を備えることを特徴とするゲーム装置。
【請求項10】
コンピュータシステムを請求項1乃至9記載のいずれかのゲーム装置として機能させるプログラムを記録した情報記録媒体。
【特許請求の範囲】
【請求項1】
CPUの制御によるアプリケーションソフトの実行により、三次元仮想空間におけるオブジェクトの動きと位置を制御してゲームを進行させるとともに、前記三次元仮想空間内の様子を所定の視点位置に配置された仮想カメラから見た画像をゲーム画像として表示手段に出力するゲームの画像処理方法であって、
前記アプリケーションの実行によりさらに、
前記三次元仮想空間内に、基準となる基準平面と、前記基準平面上に配置されたラインオブジェクトとを設定するステップと、
前記仮想カメラの視野内に前記ラインオブジェクトが存在するとき、前記仮想カメラの前記基準平面からの距離および前記ラインオブジェクトからの距離に基づいて、前記ラインオブジェクトと前記仮想カメラとの位置関係を判定するステップと、
前記仮想カメラの前記基準平面に対する距離が近くなるか前記仮想カメラの前記ラインオブジェクトに対する距離が遠くなるかにより、前記表示部に前記ラインオブジェクトを表示し難くなる条件にあると判定された場合、前記ラインオブジェクトの頂点のうち仮想カメラから見て遠い側にあると判定された頂点の前記基準平面からの高さを上げ且つ前記仮想カメラから見た当該ラインオブジェクトの面積を増すように変更するステップと、
を備えることを特徴とするゲームの画像処理方法。
【請求項1】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記仮想空間内の基準となる基準平面上に配置されるポリゴンと、前記ポリゴンと前記仮想カメラ相互間の位置関係を判別する判別手段と、判別結果に対応して前記仮想カメラから見える前記ポリゴンの面積が増すように前記ポリゴンを傾斜するポリゴン傾斜手段と、を備えることを特徴とするゲーム装置。
【請求項2】
前記基準平面はグラウンドであり、前記ポリゴンは前記グラウンド上に配置されるラインを形成するポリゴンである、ことを特徴とする請求項1記載のゲーム装置。
【請求項3】
前記ポリゴンは四角形であり、前記ポリゴン傾斜手段は、前記ポリゴンの互いに対向する辺のうちの一方の辺に属する頂点の座標値を変更する、ことを特徴とする請求項1記載のゲーム装置。
【請求項4】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかをを判別する判別手段と、前記判別結果に基づいて前記仮想カメラの角度を調整するカメラ角度調整手段と、を備えることを特徴とするゲーム装置。
【請求項5】
前記カメラ角度調整手段は、前記判別結果と前記オブジェクトの移動方向とに基づいて前記仮想カメラの角度を調整する、ことを特徴とする請求項4記載のゲーム装置。
【請求項6】
前記カメラ角度調整手段は、前記仮想空間における左右方向及び上下方向のうち少なくともいずれかの方向において前記仮想カメラの角度調整を行う、ことを特徴とする請求項4若しくは5記載のゲーム装置。
【請求項7】
コンピュータシステム内に形成される仮想空間にオブジェクトを配置し、入力操作と定められたルールに従って前記オブジェクトの動きを制御しながらゲームを展開し、前記仮想空間内の様子を仮想カメラから見た画面として表示するゲーム装置であって、前記オブジェクトが前記仮想空間における特定のエリア内に存在するかどうかを判別する判別手段と、前記判別結果に基づいて前記仮想カメラの視野範囲を調整するズーム調整手段と、を備えることを特徴とするゲーム装置。
【請求項8】
複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置であって、前記視点と注視点とを結ぶ線分と、前記仮想空間内に配置された所定のポリゴンの法線と、のなす角度を算出する角度算出手段と、前記角度算出手段の算出した角度が所定の値になるように、前記ポリゴンの頂点の座標値を変更するポリゴン傾斜手段と、を有することを特徴とするゲーム装置。
【請求項9】
複数のポリゴンからなる三次元形状モデルで構成された仮想空間を任意の視点から見た二次元画像を生成して、表示装置に表示する画像生成表示手段を有するゲーム装置であって、前記ポリゴンは、ポリゴンの消失防止プログラムを動作させるためのデータを含む、消失防止の属性を有する消失防止ポリゴンを含み、前記消失防止プログラムは、前記消失防止ポリゴンと前記視点との相互位置関係を判別する位置判別手段と、前記位置判別手段の判別結果に応じて、前記消失防止ポリゴンの頂点の座標値を変更する座標値変更手段と、を含み、更に前記表示装置に描画されるポリゴンが前記消失防止ポリゴンである場合に前記消失防止プログラムを実行する消失防止実行手段、を備えることを特徴とするゲーム装置。
【請求項10】
コンピュータシステムを請求項1乃至9記載のいずれかのゲーム装置として機能させるプログラムを記録した情報記録媒体。
【特許請求の範囲】
【請求項1】
CPUの制御によるアプリケーションソフトの実行により、三次元仮想空間におけるオブジェクトの動きと位置を制御してゲームを進行させるとともに、前記三次元仮想空間内の様子を所定の視点位置に配置された仮想カメラから見た画像をゲーム画像として表示手段に出力するゲームの画像処理方法であって、
前記アプリケーションの実行によりさらに、
前記三次元仮想空間内に、基準となる基準平面と、前記基準平面上に配置されたラインオブジェクトとを設定するステップと、
前記仮想カメラの視野内に前記ラインオブジェクトが存在するとき、前記仮想カメラの前記基準平面からの距離および前記ラインオブジェクトからの距離に基づいて、前記ラインオブジェクトと前記仮想カメラとの位置関係を判定するステップと、
前記仮想カメラの前記基準平面に対する距離が近くなるか前記仮想カメラの前記ラインオブジェクトに対する距離が遠くなるかにより、前記表示部に前記ラインオブジェクトを表示し難くなる条件にあると判定された場合、前記ラインオブジェクトの頂点のうち仮想カメラから見て遠い側にあると判定された頂点の前記基準平面からの高さを上げ且つ前記仮想カメラから見た当該ラインオブジェクトの面積を増すように変更するステップと、
を備えることを特徴とするゲームの画像処理方法。
【図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】
【図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】
【公開番号】特開2006−87944(P2006−87944A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2005−350892(P2005−350892)
【出願日】平成17年12月5日(2005.12.5)
【分割の表示】特願平10−312569の分割
【原出願日】平成9年2月18日(1997.2.18)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願日】平成17年12月5日(2005.12.5)
【分割の表示】特願平10−312569の分割
【原出願日】平成9年2月18日(1997.2.18)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】
[ Back to top ]