JP4144017B2 - VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM - Google Patents

VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM Download PDF

Info

Publication number
JP4144017B2
JP4144017B2 JP37711699A JP37711699A JP4144017B2 JP 4144017 B2 JP4144017 B2 JP 4144017B2 JP 37711699 A JP37711699 A JP 37711699A JP 37711699 A JP37711699 A JP 37711699A JP 4144017 B2 JP4144017 B2 JP 4144017B2
Authority
JP
Japan
Prior art keywords
camera
image
setting
lock
zoom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP37711699A
Other languages
Japanese (ja)
Other versions
JP2001178963A5 (en
JP2001178963A (en
Inventor
裕 鈴木
誠 和田
武史 平井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Sega Games Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sega Corp, Sega Games Co Ltd filed Critical Sega Corp
Priority to JP37711699A priority Critical patent/JP4144017B2/en
Publication of JP2001178963A publication Critical patent/JP2001178963A/en
Publication of JP2001178963A5 publication Critical patent/JP2001178963A5/ja
Application granted granted Critical
Publication of JP4144017B2 publication Critical patent/JP4144017B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータ・グラフィックスにおける画像処理技術に係わり、特に、仮想空間内におけるカメラワーク技術、動画表示技術、クリッピング処理技術、及び光源処理技術に関する。
【0002】
【従来の技術】
コンピュータ・グラフィックスを利用したビデオゲーム装置においては、複数のポリゴンから構成されるオブジェクト(仮想物体)を仮想3次元空間内に配置し、コントールパッドからの入力信号に対応してプレイヤキャラクタを操作することが可能である。画像処理技術の進歩により、このようなゲーム装置において、遊戯者はコントールパッドのキー入力を組み合わせることで、プレイヤキャラクタに、例えば、物(オブジェクト)を掴む、見る、押す、触る、引く等の具体的動作(アクション)をさせることが可能となった。
【0003】
【発明が解決しようとする課題】
しかし、従来のビデオゲーム装置においては、仮想3次元空間内に設定される仮想視点(カメラ)は、通常、プレイヤキャラクタを第三者の視点(客観視点)から見た映像を表示しており、プレイヤキャラクタがアクションを起こすときにカメラをプレイヤキャラクタ自身の視点(主観視点或いは一人称視点ともいう)に切り替え、注視点を当該オブジェクトに固定する配慮はなされていなかった。これを人間における動作に置き換えると、アクションの対象となる物に注視せずにアクションをするため、人間の動作に対応したアクション操作ができないという不都合が生じていた。
【0004】
また、例えば、プレイヤキャラクタがオブジェクトを掴む等のアクションをする場合、従来のビデオゲーム装置においては、オブジェクトを掴む動作をモーションデータとして予め用意しておき、これに基づいて画像表示していたため、プレイヤキャラクタとオブジェクトの位置、角度、オブジェクトの形状等に適した掴み動作ができず、指がオブジェクトに食い込む等の不自然な事態が生じていた。
【0005】
また、従来のビデオゲーム装置では、オブジェクトを画面に表示する際に、視点座標系に配置される当該オブジェクトの奥行き方向の座標値であるZ値が予め定められた所定値(例えば、描画処理限界点)を超えたときに当該オブジェクトの描画処理を終了する(クリッピング処理)ように構成されているが、このような構成の場合、カメラとオブジェクトとの距離が一定の距離を超えると突然オブジェクトが消えるため、遊戯者に不快感を与えていた。
【0006】
また、ポリゴンデータを用いたコンピュータ・グラフィックスを用いた光源処理(例えば、スポットライト処理)を行う場合、光源からの光線ベクトルとオブジェクトを構成する各ポリゴンの頂点の法線ベクトルとの角度から各頂点の輝度を計算し、これらの計算結果はレンダリング処理部へ供給され、さらに補完法を用いて各頂点を結ぶ稜線上の各ピクセルの輝度を求めることでポリゴン全体の輝度計算を行い、所望のテクスチャマッピング処理がなされて画像表示される。
【0007】
しかし、このような構成では各フレーム毎(例えば1/60秒毎)に光源処理をする必要があり、光源が複数ある場合には演算処理量が膨大になってしまうという問題があった。また、従来では上記の構成の他に、オブジェクトの表面にスポットライトが当たった状態のテクスチャを予め用意しておき、スポットライトが点灯したときに上記のテクスチャをオブジェクトに貼り付けることで光源処理を省略する手法もあるが、このような構成ではそれぞれのオブジェクトと光源の種類、位置、角度等が設定し直される毎に別途テクスチャを用意しなければならないため、テクスチャデータ量が膨大になるという問題がある。
【0008】
そこで、本発明はオブジェクトに対してアクションをする際に自然なカメラ制御を可能とするビデオゲーム装置及び画像表示方法を提供することを第1の課題とする。
【0009】
また、本発明はオブジェクトの動画表示を適切に行う動画表示装置及び動画表示方法を提供することを第2の課題とする。
【0010】
また、本発明はスクリーン座標系におけるオブジェクトのZ値に基づいてクリッピング処理をする際に、徐々にオブジェクトをフェードアウトする画像表示装置及び画像表示方法を提供することを第3の課題とする。
【0011】
また、本発明はテクスチャデータのデータ量を増加することなく光源処理の演算量を低減することのできる画像表示装置及び画像表示方法を提供することを第4の課題とする。
【0012】
【課題を解決するための手段】
上記第1の課題を解決するべく、本発明では複数のオブジェクトの中から遊戯者によって選択されたオブジェクトにカメラの注視点を設定し、当該オブジェクトをズームする。これにより、カメラは遊戯者の選択したオブジェクトに対して確実に注視することができるとともに、オブジェクトをズームすることで当該オブジェクトに対するアクションが容易になる。
【0013】
好ましくは、オブジェクトに注視点を設定する際に、カメラを客観視点から主観視点へと移動させる。これにより、遊戯者はあたかも実際にオブジェクトに対して接しているかのような映像を見ることができる。
【0014】
上記の構成において、カメラが注視しているオブジェクトがズームされるに従い、当該オブジェクトを画面から次第にフェードアウトするように当該オブジェクトを表示するとともに、他のオブジェクトが画面から次第にフェードインするように当該他のオブジェクトを当該オブジェクトに重ねて表示するように構成してもよい。このような構成により、例えば、粗い画像をズームすると、より精細な画像へと変化させることができる。
【0015】
また、注視されたオブジェクトに対応して予め定められたアクションをプレイヤキャラクタが実行するように構成してもよい。
【0016】
上記の第2の課題を解決するべく、本発明では複数の動作部位のそれぞれの動きによってオブジェクト全体の動きを表示する際に、複数の動作部位のモーションデータを予め記憶しておき、各動作部位毎にモーションデータを読み出して、これに基づいて各動作部位のモーションを画面に表示するとともに、動作部位のうち動作過程において予め接触が予想される箇所の接触を判定することで衝突が検出された動作部位のモーションデータの読み取りを終了する。これにより、各動作部位毎に衝突判定が行われ、モーションデータが終了するか或いは動作部位が衝突することで動作部位の動作が終了するため、上記の従来技術のように、動作部位が他のオブジェクトに食い込む等の不都合を解消することができる。
【0017】
上記第3の課題を解決するべく、本発明ではスクリーン座標系におけるオブジェクトとカメラとの距離が描画限界点付近であるときに当該オブジェクトを半透明処理して画面に表示する。これにより、描画限界点付近でいきなりオブジェクトが消える不自然さを解消することができる。
【0018】
上記第4の課題を解決するべく、本発明では光源に対して不動であるオブジェクトの輝度又は色を演算し、この演算結果をメモリに記憶しておき、当該オブジェクトを画面に表示する際に前記メモリに記憶された演算結果を参照してオブジェクトの画像表示を行う。これにより、画像表示装置のオブジェクトの光源処理における演算負荷を低減することができる。
【0019】
また、本発明によれば、上記手順を実行させるプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供することができる。ここで、記録媒体とは、何らかの物理的手段により画像処理プログラム等が記録されているものであって、コンピュータ、特に、専用プロセッサ(例えば、ジオメトリプロセッサ、レンダリングプロセッサ)等に所望の機能を実現させることができるものをいう。従がって、何らかの手段でコンピュータにダウンロードし、所望の機能を実現させるものであればよい。例えば、ROM、フレキシブルディスク、ハードディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、DVD−R、PDディスク、MDディスク、MOディスク等の情報記録媒体を含む。有線又は無線の通信回線(公衆回線、データ専用線、インターネット、衛星回線等)を介してホストコンピュータからデータの転送を受ける場合も含むものとする。
【0020】
【発明の実施の形態】
(ビデオゲーム装置の構成)
図1にビデオゲーム装置10の回路構成図を示す。同図において、ゲームを開始すべく電源が投入されると、ブートプログラムローダは、ROM18に記憶されているブートプログラムをCPU11にロードし、CPU11はブートプログラムを実行する。CPU11は、このブートプログラムに従って、CD−ROM27に記憶されているOSの全部または必要な部分をシステムメモリ13にロードし、OSを実行する。
【0021】
CPU11はこのOSの制御の下、CD−ROM27等に記憶されているアプリケーションプログラムの全部または必要な部分をCD−ROMドライブ19を介してシステムメモリ13にロードするとともに、必要に応じてCD−ROM27等に記憶されている描画データや画像データをグラフィックメモリ16にロードする。また同時に、サウンドデータをサウンドメモリ21にロードする。
【0022】
CPU11はOSの制御の下、コントールパッド25からの入力信号に基づいてシステムメモリ13に記憶されたアプリケーションプログラム(ゲームプログラム)を実行する。アプリケーションプログラムの実行に伴うデータは、システムメモリ13やバックアップメモリ26に必要の都度書き込まれ参照される。バックアップメモリ26はゲームの中断等で電源が遮断されてもそれまでの状態を保持するためにデータを記憶する。
【0023】
ジオメトリプロセッサ12はCPU11から供給されるオブジェクトの座標データを所望の変換マトリクスに基づいて、3次元の視点座標系を仮想視点から見た視点座標及びスクリーン座標系(2次元座標系)に座標変換する。また、オブジェクトの輝度又は色も光源とオブジェクト座標から計算する。
【0024】
レンダリングプロセッサ15にはグラフィックスメモリ16が接続されている。グラフィックスメモリ16はテクスチャバッファ、フレームバッファ、Zバッファから構成されている。テクスチャバッファには各オブジェクト毎のテクスチャデータが格納されている。レンダリングプロセッサ15はオブジェクトの輝度又は色データ、テクスチャ座標データ、テクスチャ濃度データ、オブジェクトの座標データ等に基づいて、テクスチャバッファから適宜必要なデータを読み込み、テクスチャマッピング処理、表示優先処理、シェーディング処理等を行って、各画素毎のピクセルデータをフレームバッファに書き込む。そして、画像更新期間に同期してフレームバッファからピクセルデータを読み出し、ビデオエンコーダ17へピクセルデータを転送することでビデオ信号生成処理等を行い、モニタ25にて画像表示を行う。
【0025】
サウンドプロセッサ20はサウンドメモリ21に記憶されるサウンドデータを読み出して、アプリケーションプログラムの実行によるCPU11からの命令やデータに基づき各種音声処理を行う。音声処理として、例えば、エフェクト処理、ミキシング処理等がある。各種音声処理が施されたサウンドデータは、D/Aコンバータ22によってアナログデータに変換され、スピーカ24に出力される。
【0026】
バスアービタ(Bus Arbiter)14はデータ伝送路(バス等)を介して接続される各ユニット間同士の制御を行う。例えば、バスアービタ14はバスを占有すユニットを決定するために、各ユニット間の優先順位を決定したり、占有するユニットのバス占有時間の割当てを行う。
【0027】
バスアービタ14には電話回線等を介して他のビデオゲーム装置やコンピュータと接続するための通信装置23を備えている。
【0028】
次に、図3のフローチャートを参照してビデオゲーム装置の全体的な動作について説明する。同図において、ビデオ信号の垂直同期信号に相当する周期で割り込み信号がCPU11に供給されると、CPU11内のレジスタに割り込みフラグが設定される。割り込みが発生すると(ステップS101;YES)、CPU11はステップS102〜ステップS108の処理を実行する。
【0029】
例えば、NTSC方式ではCPU11は1/60秒毎にゲーム処理を行う(ステップS102)。本ゲーム処理ではCPU11はコントールパッド25からの出力信号を監視し、遊戯者による操作入力をゲームプログラムに記述されたアルゴリズムに従って処理し、ゲームを展開する。このゲームにおいては、後述するように、画面内で特定のオブジェクトを選択する(ロックオン)と、自動的にカメラ移動が行われ、場合によっては当該オブジェクトに対応したアクションをするためのフラグがセットされる。
【0030】
次いで、モニタ22に表示するための画面を生成するため、ワールド座標系にオブジェクト、背景、キャラクタ等の画像を適宜配置する(ステップS103)。これらの画像をカメラから見た視点座標系へ座標変換し(ステップS104)、さらにカメラ位置を原点として、視線の方向をz軸の正方向にとった視点座標系にデータを変換し、投影面であるスクリーン座標系へ、それぞれの座標を透視変換する(ステップS105)。
【0031】
その後、レンダリングプロセッサ15は各ポリゴンについてZソートアルゴリズム等を用いて陰面処理をするとともに(ステップS106)、各ポリゴンにテクスチャを貼り付ける等のレンダリング処理を行う(ステップS107)。レンダリング処理がなされた画像データはグラフィックメモリ16内のフレームバッファに蓄えられた後、ビデオ信号に変換されてモニタ25に表示される。この後、ステップS101に戻り、1/60秒毎にステップS102〜ステップS108の処理を繰り返し実行してゲームが進行する。
(ロックオン処理)
次に、図4〜図26を参照してロックオン処理について説明する。本明細書において、ロックオン処理とは“注目するオブジェクトに注視点を設定(固定)し、当該オブジェクトをズーム(拡大)するようにカメラを制御する処理”として定義する。ロックオン処理の対象となるオブジェクトはゲームプログラムにおいて予め定められているものとする。また、ロックオン処理がなされたオブジェクトには当該オブジェクトに対応したアクションがなされるようにモーションデータが関連付けられて記憶されている。このため、オブジェクトをロックオン処理することで当該オブジェクトに対応したアクションがなされるようにフラグがセットされる(詳細については後述する)。
【0032】
図5はモニタ25に映し出される画面28を示しており、斜線で引いた箇所がロックオン可能エリア30である。ロックオン可能エリア30は、ロックオン処理可能なオブジェクトの存在範囲を示しており、スクリーン座標系(XY座標系)において定義されるオブジェクトのX座標及びY座標が上記ロックオン可能エリア30内に位置し、且つ、当該オブジェクトのZ値(カメラとの距離)が所定の距離(ロックオン可能距離)にあるときに当該オブジェクトに対してロックオン処理が可能である。ロックオン可能エリア30として、例えば、同図に示すように、縦横方向にそれぞれ1:2:1の比に分割する中央のエリアが好適である。
【0033】
例えば、図6に示すように、みかん31〜33、籠34及び湯飲み35が画面28に表示されている。これらのみかん31〜33、籠34及び湯飲み35はロックオン処理可能なオブジェクトとする。同図において、みかん31〜33及び籠34はロックオン可能エリア30内に位置しているため、ロックオン処理が可能である。一方、湯飲み35はロックオン可能エリア30外に位置しているため、ロックオン処理は出来ない。
【0034】
上記ロックオン処理をするために、システムメモリ13には図2に示すように、ワークメモリデータテーブル及びプログラムデータテーブルがCD−ROM21から読み出される。また、システムメモリ13の一部はワークエリアとして使用されている。ワークメモリデータテーブルには画面に表示されるオブジェクトのオブジェクト名、オブジェクト座標、オブジェクト角度、ポリゴンデータが登録されている。オブジェクト名とはオブジェクトの名称をいう。オブジェクト座標とは当該オブジェクトのワールド座標系における座標をいい、(X,Y,Z)で定義される。オブジェクト角度とはワールド座標系に配置されるオブジェクトの向き(角度)をいい、X軸、Y軸及びZ軸とのなす角が登録されている。ポリゴンデータとは当該オブジェクトを構成するポリゴンのデータである。
【0035】
プログラムデータテーブルにはロックオンオブジェクト名、ロックオン座標、ロックオン補正座標、ロックオン可能範囲情報、ロックオン角度及びモーションデータが登録されている。ロックオンオブジェクト名とは、ロックオン処理が可能なオブジェクトの名称をいい、例えば、上述したみかん、籠、湯飲み等が該当する。ロックオン座標とは、ロックオン処理可能なオブジェクトが例えば地図、掛け軸のような平面である場合に、これらはオブジェクトとしてではなくテクスチャとして扱うことができるため、テクスチャマッピングされるポリゴン上の座標を意味する。ロックオン補正座標とは、ロックオン処理可能なオブジェクトが例えば湯飲みである場合に、当該オブジェクトの基準となる面或いは座標からの相対的な座標をいい、当該オブジェクトにアクションをする(例えば掴む)際に参照される。
【0036】
ロックオン可能範囲情報とはオブジェクトに対してロックオン処理が出来る範囲に関する情報をいい、ロックオン角度とはオブジェクトに対してロックオンしたときに当該オブジェクトに対して所定の角度範囲内にカメラ視線がくるようにカメラを強制的に移動させるための角度をいう。モーションデータとはオブジェクトをロックオンしたときに当該オブジェクトに対してアクションをするためのモーションデータである。ワークエリアではプレイヤキャラクタ位置、カメラ位置、注視点位置などが動的変数によって各フレーム毎に逐次更新される。
【0037】
次に、図4を参照してロックオン処理の各処理ステップについて説明する。同図において、ビデオ信号の垂直同期信号に相当する周期で割り込み信号がCPU11に供給されると、CPU11内のレジスタに割り込みフラグが設定される。割り込みが発生すると(ステップS201;YES)、CPU11はステップS202〜ステップS208の処理を実行する。CPU11はロックオンフラグがセットされているか否かを調べる(ステップS202)。ワークメモリデータテーブル及びプログラムデータテーブルを参照して、オブジェクトの座標値(X,Y,Z)がロックオン可能範囲に位置しているときにロックオンフラグがセットされる。
【0038】
ロックオンフラグがセットされている場合には(ステップS202;YES)、ロックオン可能である旨を遊戯者に知らせるために画面28にロックオン可能表示をする(ステップS203)。ロックオン可能表示は例えば図6に示すように、画面28の右下に“A”の文字を表示することで行う。このとき遊戯者はコントールパッド25のAボタンを押下することでロックオン可能エリア30内に存在するロックオン可能オブジェクトをロックオンすることができる。
【0039】
CPU11はコントールパッド25からの出力信号を監視し、遊戯者がAボタンを押下することでロックオン可能オブジェクトをロックオンしたか否かが判定される(ステップS204)。遊戯者の操作によってオブジェクトがロックオンされたときは(ステップS204;YES)、遊戯者はロックオン可能エリア30に位置する複数のオブジェクトのうち任意のオブジェクトを選択することができる(ステップS205)。ロックオン可能エリア30にロックオン可能オブジェクトが一つのみ存在する場合は当該オブジェクトが自動的に選択される。ロックオン可能オブジェクトの選択は十字キーを使用することで行うことができる。
【0040】
ロックオン可能オブジェクトの選択が行われると、当該オブジェクトをズームするためにカメラ移動が行われる(ステップS206)。カメラ移動の詳細について、図7乃至図12を参照して説明する。図7に示すように、ロックオン可能エリア30にみかん32が位置しているとき、遊戯者の操作によってみかん32がロックオンされたとする。すると、カメラ50は客観視点から主観視点へと切り替わり、図8に示すようにみかん32がズームされる。これにより、遊戯者はアクションの対象となるみかん32を確実に注視することができる。図9及び図10は垂直方向のカメラ移動の説明図である。図9ではカメラ50は客観視点として機能し、みかん32を注視している。図10ではカメラ50は主観視点として機能し、みかん32を注視している。主観視点とはプレイヤキャラクタ40から見た視点である。同図において、客観視点としてのカメラ50の視線方向とプレイヤキャラクタの視線方向は垂直方向にθの角度差があるが、カメラ移動の際に角度差θを0にし、且つ、カメラ50がプレイヤキャラクタ40の頭部に位置するようにカメラ移動が行われる。
【0041】
図11及び図12は水平方向のカメラ移動の説明図である。図11ではカメラ50は客観視点として機能し、みかん32を注視している。図12ではカメラ50は主観視点として機能し、みかん32を注視している。同図において、客観視点としてのカメラ50の視線方向とプレイヤキャラクタの視線方向は水平方向にθの角度差があるが、カメラ移動の際に角度差θを0にし、且つ、カメラ50がプレイヤキャラクタ40の頭部に位置するようにカメラ移動が行われる。
【0042】
尚、掴みモーションにおいて、カメラ50を客観視点から主観視点へ移動させるときに、プレイヤキャラクタ40とカメラ50との距離(Z値)が所定値よりも小さくなった場合に、プレイヤキャラクタ40を半透明処理するように構成することが好ましい。このように処理することでカメラ50からの視界がプレイヤキャラクタ40によって遮られる不都合を解消することができる。
【0043】
カメラ移動後、ロックオン処理の対象となるオブジェクトに対応したアクションがなされる(ステップS207)。本例ではみかん32に対してロックオン処理をするため、“みかん32を掴む”というアクション、即ち、後述する“掴みモーション”が選択される。これはシステムメモリ13内のプログラムデータテーブルを参照することで行われる。遊戯者の操作によってロックオン状態が解除されると(ステップS208;YES)、CPU11は再びステップS201に戻り、上述した処理ステップを繰り返し実行する。
(掴みモーション)
次に、図13乃至図20を参照してみかん32を掴むための“掴みモーション”について説明する。ステップS207におけるアクションの一態様として、“掴みモーション”が選択されると、CPU11はシステムメモリ13内のワークメモリデータテーブル、プログラムデータテーブル等を参照して、プレイヤキャラクタ40とオブジェクト(みかん32)との位置関係、オブジェクトの大きさ、形状等から最適なモーションデータを選択する。このモーションデータは手を模したポリゴン(以下、リアルハンドという)が何らかのオブジェクトを掴む動作を動作パターンとして記憶したデータであり、具体的には、肘から手首までの手を構成する各ポリゴンについての動作パターンがプログラムデータテーブルに記憶されている。
【0044】
図13を参照してリアルハンドを構成する各ポリゴンについて説明する。同図において、小指PはポリゴンP1〜P3で構成され、ポリゴンP1の先端P0にはオブジェクトとの衝突(コリジョン)を判定するためのコリジョンポイントP0が設定されている。くすり指Q、なか指R、人指し指S及び親指TはそれぞれポリゴンQ1〜Q3、R1〜R3、S1〜S3及びT1、T2から構成され、それぞれのポリゴンQ1、R1、S1及びT1の先端にはコリジョンポイントQ0、R0、S0及びT0が設けられている。これらのコリジョンポイントはオブジェクトを掴んだときに予め接触が予想される点である。また、手のひらはポリゴンU、手の甲はポリゴンV、腕はポリゴンWで構成されている。
【0045】
それぞれの指はオブジェクトの掴み方のパターンに対応して動作パターンが予め定められており、1フレーム毎に各関節が所定角度動くようになっている。また、各指の動作パターンは互いに独立して記憶されており、コリジョン判定もそれぞれの指において独立に判定される。掴みモーションにおいては、それぞれの指についてモーションデータを読み出してこれを画像表示するとともに、画像更新期間毎に割り込みをかけて各指についてコリジョン判定を行っている。
【0046】
従って、ある指がオブジェクトと接触した場合、当該指についてのモーションデータの読み出しは終了するが、他の指についてのモーションデータの読み出しは依然行われ、当該モーションデータに基づく画像表示が行われる。この結果、オブジェクトと指とのコリジョンコリジョン判定が正確に行われ、如何なる形状のオブジェクトであっても正確かつ確実にオブジェクトを掴むことができる。
【0047】
掴みモーションにおけるリアルハンドがオブジェクトを掴む動作手順を図20のフローチャートに従って説明する。ビデオ信号の垂直同期信号に相当する周期で割り込み信号がCPU11に供給されると、CPU11内のレジスタに割り込みフラグが設定される。割り込みが発生すると(ステップS301;YES)、CPU11はステップS302〜ステップS307の処理を実行する。
【0048】
ロックオン可能オブジェクトをロックオンすると、当該オブジェクトに対応したモーションフラグがセットされる。例えば、上述のみかん32であれば、掴みモーションがセットされる。CPU11はモーションフラグがセットされたことを検知すると(ステップS302;YES)、モーションデータを読み込み(ステップS303)、画像表示を行う(ステップS304)。例えば、図14に示すように、リアルハンドの各指がみかん32を掴むように画像表示される。このとき、オブジェクトとしてのみかん32は多角形平面X1,X2,X3,…,から成るポリゴンで構成される。各指についての画像表示はみかん32と接触するか、或いはモーションデータが終了するまで行われる。図15に示すように、親指T、人指し指S、なか指Rについてモーションデータが終了せずに(ステップS305;NO)、みかん32と接触すると(ステップS306;YES)、モーションデータの読み取りを終了する(ステップS307)。一方、図16に示すように、小指P、くすり指Qのように、みかん32と接触せずにモーションが終了した場合には(ステップS305;YES)、モーションデータの読み取りを終了する(ステップS307)。図14乃至図16に図示したリアルハンド及びみかん32を構成する各ポリゴンについて適当なテクスチャマッピングを施すと、これらの図は図17乃至図19に示すように画像表示される。
(フォーカスモーション)
上記の説明においては、みかん32をロックオンし、掴みモーションによってみかん32を掴んだが、今度は地図をロックオンし、フォーカスモーションによって地図を拡大する例を説明する。図21に示すように、ロックオン可能エリア(図示せず)に地図61があり、遊戯者の操作によって地図61がロックオンされたとする。同図において、カメラはプレイヤキャラクタ40の頭上にあり、客観視点の立場から図21に示す画像を表示している。ロックオンオブジェクトとしての地図61にはフォーカスモーションが予め関連付けられて記憶されている。従って、地図61をロックオンすることで、CPU11内のレジスタに自動的にモーションフラグがセットされる。CPU11はフォーカスモーションのフラグがセットされたことを検知すると、カメラ50を客観視点(図23)から主観視点(図24)へと移動させる。
【0049】
このとき、地図61はズームされるが、カメラ50の移動に伴い、粗い画像である地図61から精細な画像である地図62に画面が徐々に切り替わる(図22)。即ち、粗い画像である地図61の画像データの上に精細な画像である地図62の画像データを上書きし、両者の透明度を相補的に変化させることで、地図61が徐々に透明になり、フェードアウトする(溶明)とともに、地図62が徐々に画面上に浮かびあがってきてフェードインする(溶暗)。この結果、遊戯者が地図61をロックオンすることで、プレイヤキャラクタが地図61を覗き込む様子を画面上に表現することができる。
【0050】
フォーカスモーションの手順について、図25を参照して説明する。ビデオ信号の垂直同期信号に相当する周期で割り込み信号がCPU11に供給されると、CPU11内のレジスタに割り込みフラグが設定される。割り込みが発生すると(ステップS401;YES)、CPU11はステップS402〜ステップS411の各処理を実行する。地図61をロックオンすると、フォーカスモーションのフラグがセットされる。CPU11は当該フラグがセットされたことを検知すると(ステップS402;YES)、内蔵のレジスタnの値をカウントアップする(ステップS403)。このレジスタnはフォーカスモーション処理後のフレーム数を計数するものであり、当初nは‘0’の値にある。
【0051】
ここで、地図61から地図62に変化させるのに要するフレーム数をFとする。また、地図61のテクスチャデータをデータM1とし、地図62のテクスチャデータをデータM2とする。さらに、地図61を半透明処理するためにデータM1に乗じる透明度係数をaとし、地図62を半透明処理するためにデータM2に乗じる透明度係数をbとする。このとき、透明度係数は0のときに透明度0%であり、1のときに透明度100%であるものとする。
【0052】
CPU11はレジスタnの値にFを乗じて透明度係数aを得る(ステップS404)。そして、データM1を透明度aで半透明処理をする(ステップS405)。さらに、透明度係数aと相補的に変化する透明度係数bを求め(ステップS406)、データM2を透明度bで半透明処理する(ステップS407)。そして、これら半透明処理されたデータM1及びデータM2を合成する(ステップS408)。図26に示すように、データM1、データM2はテクスチャメモリに登録されており、合成データはフレームバッファに書き込まれる。
【0053】
次いで、カメラ50を1フレーム分移動させる。カメラ50の移動方向は図23、図24に示すように、客観視点から主観視点へ移行する向きであり、Fフレーム分の移動によりカメラ移動が完了する。現在のカメラ位置から見た上記合成データによってレンダリング処理を実行し、画像表示を行う(ステップS410)。ステップS404〜ステップS410の処理をF回繰り返すことで、フォーカスモーションが終了する(ステップS411)。
【0054】
尚、フォーカスモーションにおいて、カメラ50を客観視点から主観視点へ移動させるときに、プレイヤキャラクタ40とカメラ50との距離(Z値)が所定値よりも小さくなった場合に、プレイヤキャラクタ40を半透明処理するように構成することが好ましい。このように処理することでカメラ50からの視界がプレイヤキャラクタ40によって遮られる不都合を解消することができる。
【0055】
また、上記の説明では、ステップS207におけるアクションの例として、掴みモーション、フォーカスモーションについて説明したが、これに限らず、例えば、引き出しを開ける、扉を開ける、ドアをノックする、電話をかける、掛け軸を取る等の動作であってもよい。また、ロックオン処理の対象はオブジェクトに限らず、人物を模したキャラクタであってもよい。例えば、女の子のキャラクタにロックオンすると、その子に話し掛ける等の処理をするように構成してもよい。また、オブジェクト或いはキャラクタが移動している状態でもロックオンできるものとする。
(クリッピング処理)
次に、図27乃至図29を参照して本発明のクリッピング処理について説明する。図27に示すように、ジオメトリプロセッサ12によって、カメラ位置を原点として、視線の方向をz軸の正方向にとった視点座標系にデータを変換し、投影面であるスクリーン座標系へ、それぞれの座標を透視変換したときの描画限界点をZmaxとし、半透明処理開始点をZとする。
【0056】
そして、図28に示すように、オブジェクト乃至キャラクタのZ値がZ以下の場合は透明度α=0(透明度0%)とし、Zmax以上の場合は透明度α=1(透明度100%)とする。さらに、Z値がZ以上Zmax以下の場合は透明度α=(Z−Z)/(Zmax−Z)とする。
【0057】
上記のクリッピング処理について、図29のフローチャートを参照して説明する。ビデオ信号の垂直同期信号に相当する周期で割り込み信号がCPU11に供給されると、CPU11内のレジスタに割り込みフラグが設定される。割り込みが発生すると(ステップS501;YES)、CPU11はステップS502〜ステップS508の各処理を実行する。スクリーン座標系において、オブジェクトのZ値がZ以上であって(ステップS502;YES)、Zmax以下である場合には(ステップS503;YES)、透明度α=(Z−Z)/(Zmax−Z)とし(ステップS504)、レンダリング処理をして(ステップS505)、画像表示を行う(ステップS506)。一方、オブジェクトのZ値がZ未満である場合は(ステップS502;NO)、透明度α=0とし(ステップS507)、Z値がZmax以上である場合は(ステップS503;NO)、透明度α=1とする(ステップS508)。
【0058】
上記のように処理することで、オブジェクト等が描画限界点付近にきたときでも、いきなりオブジェクト等が消えることはなく、描画限界点付近で徐々に透明処理がなされるため、遊戯者に不快感を与えることがない。
(光源処理)
次に、図1及び図30を参照して本発明の光源処理について説明する。図1において、CPU11はポリゴンを使用した画像を処理するためのプログラムを実行し、ポリゴンの頂点データをジオメトリプロセッサ12へ供給する。ジオメトリプロセッサ12はポリゴンの頂点座標データに基づいて三次元空間へポリゴンを配置したり、三次元空間中のどの領域までを表示するかを決定するビューポートの設定を行う。ポリゴンの各頂点には頂点座標(X,Y,Z)、頂点カラー(赤、緑、青)、テクスチャ座標(Tx,Ty)、頂点透明度及び頂点の法線ベクトルなどの属性が付与されており、ジオメトリプロセッサ12は頂点の法線ベクトルと光源ベクトルのなす角度に応じて各頂点の輝度(色)を計算し、ビューポートの外にある頂点を除去し(クリッピング処理)、3次元座標から2次元座標(スクリーン座標)への変換を行う。
【0059】
上記の処理において、ジオメタライザ12はポリゴンの頂点の輝度(色)を頂点カラーリストとしてシステムメモリ13に保存する。このように頂点カラーリストを保存しておくことで、プリレンダが有効となる。頂点カラーリストはバスアービタ14を介してレンダリングプロセッサ15へ供給される。レンダリングプロセッサ15はポリゴンの頂点を結ぶ稜線上の各点(ピクセル)についての輝度(色)を頂点の輝度(色)を補完処理することによって求める。また、各稜線上のピクセルの輝度(色)からポリゴンの平面を構成する全てのピクセルの輝度(色)を補完処理によって求める。そして、各ピクセルに対応したテクスチャデータをグラフィックメモリ16から読み出し、各ピクセルのカラーを計算する。
【0060】
レンダリングプロセッサ15は必要に応じてグラフィックメモリ16内のフレームバッファに既に書き込まれているピクセルカラーと新たに書き込むポリゴンの各ピクセルカラーとをブレンドし、そのブレンドした値をフレームバッファに書き込む。グラフィックメモリ16内にはデプスバッファが割り当てられており、各ピクセルのZ座標値が記憶されている。デプスバッファから読み込んだZ座標値から判断して、最も手前に不透明なポリゴンがくる場合には上記のブレンドを行うことなく、直ちにそのポリゴンのカラーデータをフレームバッファに書き込む。また、最も手前に完全に透明なポリゴンが位置する場合には、手前のポリゴンのカラーデータを書き込むことなく、フレームバッファに既に書き込まれている背後のポリゴンのカラーデータをそのまま保持すればよい。フレームバッファに書き込まれたピクセルデータはビデオエンコーダ17に供給され、モニタ25で画像表示される。
【0061】
図30を参照して光源処理の各手順について説明する。まず、プリレンダが有効であるか否かが判断される(ステップS601)。頂点カラーリストは光源処理における最初の1フレームで作成され、システムメモリ13に保存されるため、プリレンダが有効であれば(ステップS601;YES)、2フレーム目以降は当該頂点カラーリストを参照することでポリゴンのレンダリングが可能になる。そこで、頂点カラーリストを読み出し(ステップS602)、当該頂点カラーリストに基づいてレンダリングを行い(ステップS603)、画像表示を行う(ステップS604)。一方、光源処理が未処理である等、プリレンダが有効でない場合は(ステップS601;NO)、頂点カラーリストを作成し(ステップS602)、プリレンダを有効にした後(ステップS606)、頂点カラーリストに基づいてレンダリングを行い(ステップS603)、画像表示を行う(ステップS604)。
【0062】
上記の手順によれば、背景画などのように、光源との位置関係が一定であるものは、視点座標の変化に関係なく光源処理を最初の1フレーム目で行っておくことで、2フレーム目も同様の結果を利用できるため、演算負荷が軽くなるとともに、記憶すべきテクスチャデータ量の増加を防ぐことができる。
【0063】
尚、上記の説明においては、頂点カラーリストをシステムメモリ13に保存しておく構成を採用したが、これに限らず、例えば、ポリゴンの頂点の輝度(色)を補完処理することで、ポリゴンの平面を構成する全てのピクセルの輝度(色)を補完処理によって予め求めておき、これをテクスチャバッファ内に登録しておいてもよい。さらには、テクスチャにポリゴンの色をブレンドした時点でこれをテクスチャバッファ内に登録しておいてもよい。これらのピクセルデータはレンダリングする際に必要に応じて読み出され、描画処理に用いられる。
【0064】
【発明の効果】
本発明によれば、カメラは遊戯者の選択したオブジェクトに対して確実に注視することができるとともに、オブジェクトをズームすることで当該オブジェクトに対するアクションが容易になる。また、オブジェクトを注視する際に、カメラは客観視点から主観視点へと切り替わるため、遊戯者はあたかも実際にオブジェクトに対して接しているかのような疑似体験をすることができる。
【0065】
また、本発明によれば、各動作部位毎に衝突判定が行われ、モーションデータが終了するか或いは動作部位が衝突することで動作部位の動作が終了するため、上記の従来技術のように、動作部位が他のオブジェクトに食い込む等の不都合を解消することができる。
【0066】
また、本発明によれば、描画限界点付近でいきなりオブジェクトが消える不自然さを解消することができる。
【0067】
また、本発明によれば、光源処理における演算負荷を大幅に低減することができる。
【図面の簡単な説明】
【図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】透明度対Z値のグラフである。
【図29】クリッピング処理の説明図である。
【図30】光源処理の説明図である。
【符号の説明】
10…ビデオゲーム装置、11…CPU、12…ジオメトリプロセッサ、13…システムメモリ、14…バスアービタ、15…レンダリングプロセッサ、16…グラフィックメモリ、17…ビデオエンコーダ、18…ROM、19…CD−ROMドライブ、20…サウンドプロセッサ、21…サウンドメモリ、22…D/Aコンバータ、30…ロックオン可能エリア、32…みかん、40…プレイヤキャラクタ、50…カメラ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing technique in computer graphics, and more particularly to a camera work technique, a moving picture display technique, a clipping processing technique, and a light source processing technique in a virtual space.
[0002]
[Prior art]
In a video game device using computer graphics, an object (virtual object) composed of a plurality of polygons is arranged in a virtual three-dimensional space, and a player character is operated in response to an input signal from a control pad. It is possible. Due to the advancement of image processing technology, in such a game device, the player can combine the key input on the control pad with the player character to grasp, see, push, touch, pull, etc. It is now possible to make an action.
[0003]
[Problems to be solved by the invention]
However, in the conventional video game apparatus, the virtual viewpoint (camera) set in the virtual three-dimensional space usually displays an image of the player character viewed from a third party viewpoint (objective viewpoint), When the player character takes an action, no consideration is given to switching the camera to the player character's own viewpoint (also referred to as a subjective viewpoint or a first person viewpoint) and fixing the gazing point to the object. If this is replaced with a human action, the action is performed without paying attention to the object to be acted on, so that an inconvenience that the action operation corresponding to the human action cannot be performed occurs.
[0004]
Further, for example, when a player character performs an action such as grabbing an object, in the conventional video game apparatus, an action of grabbing an object is prepared in advance as motion data, and an image is displayed based on this. A gripping motion suitable for the position and angle of the character and the object, the shape of the object, and the like cannot be performed, and an unnatural situation such as a finger biting into the object has occurred.
[0005]
Further, in the conventional video game apparatus, when an object is displayed on the screen, a Z value that is a coordinate value in the depth direction of the object arranged in the viewpoint coordinate system is set to a predetermined value (for example, a drawing processing limit). If the distance between the camera and the object exceeds a certain distance, the object is suddenly moved. Since it disappeared, the player was discomforted.
[0006]
In addition, when performing light source processing (for example, spotlight processing) using computer graphics using polygon data, each angle is determined from the angle between the light vector from the light source and the normal vector of the vertex of each polygon that constitutes the object. The brightness of the vertices is calculated, and these calculation results are supplied to the rendering processing unit. Further, by calculating the brightness of each pixel on the edge line connecting the vertices using the interpolation method, the brightness of the entire polygon is calculated, and the desired brightness is calculated. Texture mapping processing is performed and an image is displayed.
[0007]
However, in such a configuration, it is necessary to perform light source processing for each frame (for example, every 1/60 seconds), and there is a problem that the amount of calculation processing becomes enormous when there are a plurality of light sources. Conventionally, in addition to the above configuration, a texture with a spotlight hitting the surface of the object is prepared in advance, and the light source processing is performed by pasting the texture onto the object when the spotlight is turned on. Although there is a method to omit, in such a configuration, the texture data amount becomes enormous because a separate texture must be prepared each time the type, position, angle, etc. of each object and light source are reset. There is.
[0008]
Therefore, a first object of the present invention is to provide a video game apparatus and an image display method that enable natural camera control when an action is performed on an object.
[0009]
Moreover, this invention makes it the 2nd subject to provide the moving image display apparatus and moving image display method which display the moving image of an object appropriately.
[0010]
It is a third object of the present invention to provide an image display device and an image display method that gradually fade out an object when performing clipping processing based on the Z value of the object in the screen coordinate system.
[0011]
It is a fourth object of the present invention to provide an image display apparatus and an image display method that can reduce the amount of calculation of light source processing without increasing the amount of texture data.
[0012]
[Means for Solving the Problems]
In order to solve the first problem, in the present invention, a camera gazing point is set on an object selected by a player from a plurality of objects, and the object is zoomed. Thus, the camera can surely watch the object selected by the player, and the action on the object is facilitated by zooming the object.
[0013]
Preferably, when setting the gazing point on the object, the camera is moved from the objective viewpoint to the subjective viewpoint. As a result, the player can view the video as if he / she actually touched the object.
[0014]
In the above configuration, as the object being watched by the camera is zoomed, the object is displayed so as to gradually fade out from the screen, and the other object is gradually faded in from the screen. You may comprise so that an object may be superimposed on the said object and displayed. With such a configuration, for example, when a coarse image is zoomed, it can be changed to a finer image.
[0015]
Further, the player character may be configured to execute a predetermined action corresponding to the watched object.
[0016]
In order to solve the second problem, in the present invention, when displaying the movement of the entire object by the movement of each of the plurality of motion parts, motion data of the plurality of motion parts is stored in advance, Each time the motion data is read out, the motion of each motion part is displayed on the screen based on this, and the collision is detected by determining the contact of the motion part where the contact is expected in advance during the motion process Finish reading the motion data of the moving part. As a result, the collision determination is performed for each movement part, and the motion data is finished or the movement of the movement part is ended when the movement part collides. Inconveniences such as biting into objects can be eliminated.
[0017]
In order to solve the third problem, in the present invention, when the distance between the object and the camera in the screen coordinate system is in the vicinity of the drawing limit point, the object is translucently processed and displayed on the screen. Thereby, it is possible to eliminate the unnaturalness that the object disappears suddenly near the drawing limit point.
[0018]
In order to solve the fourth problem, the present invention calculates the brightness or color of an object that is immobile with respect to the light source, stores the calculation result in a memory, and displays the object on the screen when the object is displayed on the screen. The image of the object is displayed with reference to the calculation result stored in the memory. Thereby, the calculation load in the light source process of the object of an image display apparatus can be reduced.
[0019]
Further, according to the present invention, it is possible to provide a computer-readable recording medium in which a program for executing the above procedure is recorded. Here, the recording medium is a medium in which an image processing program or the like is recorded by some physical means, and a computer, in particular, a dedicated processor (for example, a geometry processor, a rendering processor) or the like realizes a desired function. Say what you can. Therefore, it may be downloaded to a computer by some means to realize a desired function. For example, information recording media such as ROM, flexible disk, hard disk, CD-ROM, CD-R, DVD-ROM, DVD-RAM, DVD-R, PD disk, MD disk, and MO disk are included. This includes cases where data is transferred from a host computer via a wired or wireless communication line (public line, data dedicated line, Internet, satellite line, etc.).
[0020]
DETAILED DESCRIPTION OF THE INVENTION
(Configuration of video game device)
FIG. 1 shows a circuit configuration diagram of the video game apparatus 10. In the figure, when the power is turned on to start the game, the boot program loader loads the boot program stored in the ROM 18 into the CPU 11, and the CPU 11 executes the boot program. In accordance with this boot program, the CPU 11 loads all or a necessary part of the OS stored in the CD-ROM 27 into the system memory 13 and executes the OS.
[0021]
Under the control of the OS, the CPU 11 loads all or necessary portions of application programs stored in the CD-ROM 27 and the like into the system memory 13 via the CD-ROM drive 19 and, if necessary, the CD-ROM 27. The graphics data stored in the graphic memory 16 is loaded. At the same time, the sound data is loaded into the sound memory 21.
[0022]
The CPU 11 executes an application program (game program) stored in the system memory 13 based on an input signal from the control pad 25 under the control of the OS. Data accompanying the execution of the application program is written and referenced in the system memory 13 and the backup memory 26 whenever necessary. The backup memory 26 stores data in order to maintain the previous state even when the power is cut off due to a game interruption or the like.
[0023]
The geometry processor 12 converts the coordinate data of the object supplied from the CPU 11 into a viewpoint coordinate and a screen coordinate system (two-dimensional coordinate system) viewed from a virtual viewpoint based on a desired conversion matrix. . Also, the brightness or color of the object is calculated from the light source and the object coordinates.
[0024]
A graphics memory 16 is connected to the rendering processor 15. The graphics memory 16 includes a texture buffer, a frame buffer, and a Z buffer. The texture buffer stores texture data for each object. The rendering processor 15 reads necessary data from the texture buffer based on the brightness or color data of the object, texture coordinate data, texture density data, object coordinate data, etc., and performs texture mapping processing, display priority processing, shading processing, etc. And write pixel data for each pixel into the frame buffer. Then, pixel data is read from the frame buffer in synchronization with the image update period, and the pixel data is transferred to the video encoder 17 to perform a video signal generation process and the like, and an image is displayed on the monitor 25.
[0025]
The sound processor 20 reads the sound data stored in the sound memory 21 and performs various sound processing based on instructions and data from the CPU 11 by executing the application program. Examples of audio processing include effect processing and mixing processing. The sound data that has been subjected to various audio processes is converted to analog data by the D / A converter 22 and output to the speaker 24.
[0026]
A bus arbiter 14 controls each unit connected via a data transmission path (such as a bus). For example, the bus arbiter 14 determines the priority order between units in order to determine the unit that occupies the bus, and assigns the bus occupancy time of the occupied unit.
[0027]
The bus arbiter 14 includes a communication device 23 for connecting to another video game device or a computer via a telephone line or the like.
[0028]
Next, the overall operation of the video game apparatus will be described with reference to the flowchart of FIG. In the figure, when an interrupt signal is supplied to the CPU 11 in a cycle corresponding to the vertical synchronization signal of the video signal, an interrupt flag is set in a register in the CPU 11. When an interrupt occurs (step S101; YES), the CPU 11 executes the processes of steps S102 to S108.
[0029]
For example, in the NTSC system, the CPU 11 performs a game process every 1/60 seconds (step S102). In this game process, the CPU 11 monitors an output signal from the control pad 25, processes an operation input by the player according to an algorithm described in the game program, and develops the game. In this game, as will be described later, when a specific object is selected on the screen (lock on), the camera is automatically moved, and in some cases, a flag for performing an action corresponding to the object is set. Is done.
[0030]
Next, in order to generate a screen to be displayed on the monitor 22, images of objects, backgrounds, characters, etc. are appropriately arranged in the world coordinate system (step S103). The coordinates of these images are transformed into the viewpoint coordinate system viewed from the camera (step S104), and the data is converted into the viewpoint coordinate system with the camera position as the origin and the direction of the line of sight as the positive direction of the z-axis. The respective coordinates are perspective-transformed into the screen coordinate system (step S105).
[0031]
Thereafter, the rendering processor 15 performs hidden surface processing on each polygon using a Z sort algorithm or the like (step S106), and performs rendering processing such as pasting a texture on each polygon (step S107). The rendered image data is stored in a frame buffer in the graphic memory 16 and then converted into a video signal and displayed on the monitor 25. Thereafter, the process returns to step S101, and the process proceeds by repeatedly executing the processes of steps S102 to S108 every 1/60 seconds.
(Lock-on processing)
Next, the lock-on process will be described with reference to FIGS. In this specification, lock-on processing is defined as “processing for setting (fixing) a gazing point on an object of interest and controlling the camera to zoom (enlarge) the object”. It is assumed that the object to be locked on is predetermined in the game program. Further, motion data is stored in association with the object on which the lock-on process has been performed so that an action corresponding to the object is performed. Therefore, a flag is set so that an action corresponding to the object is performed by performing lock-on processing on the object (details will be described later).
[0032]
FIG. 5 shows a screen 28 displayed on the monitor 25, and a portion drawn with diagonal lines is a lock-on possible area 30. The lock-on enable area 30 indicates the existence range of objects that can be locked on, and the X and Y coordinates of the object defined in the screen coordinate system (XY coordinate system) are located in the lock-on enable area 30. In addition, when the Z value (distance to the camera) of the object is at a predetermined distance (lockable distance), the lock-on process can be performed on the object. As the lock-on possible area 30, for example, as shown in the figure, a central area divided in a ratio of 1: 2: 1 in the vertical and horizontal directions is preferable.
[0033]
For example, as shown in FIG. 6, oranges 31 to 33, a bowl 34 and a water cup 35 are displayed on the screen 28. These mandarin oranges 31 to 33, the bowl 34, and the cup 35 are objects that can be locked on. In the figure, since the mandarin oranges 31 to 33 and the ridge 34 are located in the lock-on possible area 30, lock-on processing is possible. On the other hand, since the cup 35 is located outside the lock-on possible area 30, the lock-on process cannot be performed.
[0034]
In order to perform the lock-on process, a work memory data table and a program data table are read from the CD-ROM 21 to the system memory 13 as shown in FIG. A part of the system memory 13 is used as a work area. In the work memory data table, object names, object coordinates, object angles, and polygon data of objects displayed on the screen are registered. The object name is the name of the object. Object coordinates refer to the coordinates of the object in the world coordinate system and are defined by (X, Y, Z). The object angle refers to the direction (angle) of an object arranged in the world coordinate system, and the angles formed by the X axis, the Y axis, and the Z axis are registered. Polygon data is data of polygons constituting the object.
[0035]
A lock-on object name, lock-on coordinates, lock-on correction coordinates, lock-on possible range information, lock-on angle, and motion data are registered in the program data table. The lock-on object name refers to the name of an object that can be subjected to lock-on processing. Lock-on coordinates mean coordinates on polygons that are texture-mapped when objects that can be locked-on are planes such as maps and hanging axes, because they can be handled as textures instead of objects. To do. The lock-on correction coordinates are relative coordinates from the reference plane or coordinates of an object when the object that can be locked on is, for example, a cup of water, and when an action is performed on the object (for example, grasping). To be referenced.
[0036]
Lock-on possible range information refers to information about the range in which lock-on processing can be performed on an object, and the lock-on angle refers to a camera line of sight within a predetermined angle range with respect to the object when the object is locked on This is the angle for forcibly moving the camera. The motion data is motion data for performing an action on the object when the object is locked on. In the work area, the player character position, camera position, gazing point position, and the like are sequentially updated for each frame by dynamic variables.
[0037]
Next, each processing step of the lock-on process will be described with reference to FIG. In the figure, when an interrupt signal is supplied to the CPU 11 in a cycle corresponding to the vertical synchronization signal of the video signal, an interrupt flag is set in a register in the CPU 11. When an interrupt occurs (step S201; YES), the CPU 11 executes the processes of steps S202 to S208. The CPU 11 checks whether or not the lock on flag is set (step S202). With reference to the work memory data table and the program data table, the lock-on flag is set when the coordinate values (X, Y, Z) of the object are in the lock-on possible range.
[0038]
If the lock-on flag is set (step S202; YES), a lock-on enabled display is displayed on the screen 28 to notify the player that the lock-on is possible (step S203). For example, as shown in FIG. 6, the lock-on possible display is performed by displaying the letter “A” in the lower right of the screen 28. At this time, the player can lock on the lock-on possible object existing in the lock-on possible area 30 by pressing the A button on the control pad 25.
[0039]
The CPU 11 monitors the output signal from the control pad 25, and determines whether or not the player has locked on the lock-on enabled object by pressing the A button (step S204). When the object is locked on by the player's operation (step S204; YES), the player can select an arbitrary object among the plurality of objects located in the lock-on possible area 30 (step S205). If there is only one lockable object in the lockable area 30, that object is automatically selected. Selection of an object that can be locked on can be performed by using a cross key.
[0040]
When the lockable object is selected, the camera is moved to zoom the object (step S206). Details of the camera movement will be described with reference to FIGS. As shown in FIG. 7, when the orange 32 is located in the lock on possible area 30, it is assumed that the orange 32 was locked on by the player's operation. Then, the camera 50 is switched from the objective viewpoint to the subjective viewpoint, and the mandarin orange 32 is zoomed as shown in FIG. Thereby, the player can surely watch the mandarin orange 32 which becomes the object of action. 9 and 10 are explanatory diagrams of camera movement in the vertical direction. In FIG. 9, the camera 50 functions as an objective viewpoint and looks at the mandarin orange 32. In FIG. 10, the camera 50 functions as a subjective viewpoint and looks at the mandarin orange 32. The subjective viewpoint is a viewpoint viewed from the player character 40. In the figure, the viewing direction of the camera 50 as the objective viewpoint and the viewing direction of the player character are θ 1 There is an angle difference of 1 The camera is moved so that the camera 50 is positioned on the head of the player character 40.
[0041]
11 and 12 are explanatory diagrams of camera movement in the horizontal direction. In FIG. 11, the camera 50 functions as an objective viewpoint and looks at the mandarin orange 32. In FIG. 12, the camera 50 functions as a subjective viewpoint and looks at the mandarin orange 32. In the same figure, the viewing direction of the camera 50 as the objective viewpoint and the viewing direction of the player character are θ in the horizontal direction. 2 There is an angle difference of 2 The camera is moved so that the camera 50 is positioned on the head of the player character 40.
[0042]
In the grabbing motion, when the camera 50 is moved from the objective viewpoint to the subjective viewpoint, if the distance (Z value) between the player character 40 and the camera 50 becomes smaller than a predetermined value, the player character 40 is made translucent. It is preferably configured to process. By processing in this way, it is possible to eliminate the disadvantage that the view from the camera 50 is blocked by the player character 40.
[0043]
After moving the camera, an action corresponding to the object to be locked on is performed (step S207). In this example, since the lock-on process is performed on the orange 32, the action of “grabbing the orange 32”, that is, “grabbing motion” described later is selected. This is done by referring to the program data table in the system memory 13. When the lock-on state is released by the player's operation (step S208; YES), the CPU 11 returns to step S201 again and repeats the processing steps described above.
(Grabbing motion)
Next, “grabbing motion” for grasping the orange 32 will be described with reference to FIGS. 13 to 20. When “grabbing motion” is selected as one mode of action in step S207, the CPU 11 refers to the work memory data table, the program data table, etc. in the system memory 13 and the player character 40, the object (mandarin orange 32), and the like. The optimal motion data is selected from the positional relationship, the size of the object, the shape, and the like. This motion data is data in which the movement of a polygon imitating a hand (hereinafter referred to as a real hand) grabbing an object as an operation pattern is stored. Specifically, for each polygon constituting the hand from the elbow to the wrist. The operation pattern is stored in the program data table.
[0044]
Each polygon constituting the real hand will be described with reference to FIG. In the figure, the little finger P is composed of polygons P1 to P3, and a collision point P0 for determining a collision (collision) with an object is set at the tip P0 of the polygon P1. The comb finger Q, the middle finger R, the index finger S and the thumb T are composed of polygons Q1 to Q3, R1 to R3, S1 to S3 and T1 and T2, respectively. Points Q0, R0, S0 and T0 are provided. These collision points are points where contact is expected in advance when the object is grasped. The palm is composed of a polygon U, the back of the hand is composed of a polygon V, and the arm is composed of a polygon W.
[0045]
Each finger has a predetermined motion pattern corresponding to the pattern of how to grasp the object, and each joint moves by a predetermined angle every frame. Also, the motion patterns of each finger are stored independently of each other, and collision determination is also determined independently for each finger. In the grabbing motion, the motion data for each finger is read out and displayed as an image, and an interruption is made every image update period to make a collision determination for each finger.
[0046]
Therefore, when a certain finger comes into contact with the object, the reading of the motion data for the finger ends, but the reading of the motion data for the other finger is still performed, and the image display based on the motion data is performed. As a result, the collision determination between the object and the finger is accurately performed, and the object can be grasped accurately and reliably regardless of the shape of the object.
[0047]
An operation procedure in which the real hand in the grasping motion grasps the object will be described with reference to the flowchart of FIG. When an interrupt signal is supplied to the CPU 11 at a period corresponding to the vertical synchronization signal of the video signal, an interrupt flag is set in a register in the CPU 11. When an interrupt occurs (step S301; YES), the CPU 11 executes the processes of steps S302 to S307.
[0048]
When a lock-on enabled object is locked on, a motion flag corresponding to the object is set. For example, if it is the above-mentioned mandarin orange 32, a grabbing motion is set. When the CPU 11 detects that the motion flag is set (step S302; YES), it reads the motion data (step S303) and displays an image (step S304). For example, as shown in FIG. 14, an image is displayed so that each finger of the real hand grasps the mandarin orange 32. At this time, the mandarin orange 32 as an object is composed of polygons composed of polygonal planes X1, X2, X3,. The image display for each finger is performed until the finger touches the orange 32 or the motion data is completed. As shown in FIG. 15, the motion data for the thumb T, the index finger S, and the middle finger R does not end (step S305; NO), and comes into contact with the mandarin orange 32 (step S306; YES), the motion data reading ends. (Step S307). On the other hand, as shown in FIG. 16, when the motion is finished without touching the mandarin orange 32 like the little finger P and the comb finger Q (step S305; YES), the reading of the motion data is finished (step S307). ). When appropriate texture mapping is applied to each polygon constituting the real hand and the orange 32 shown in FIGS. 14 to 16, these figures are displayed as images as shown in FIGS.
(Focus motion)
In the above description, the mandarin orange 32 is locked on and the mandarin orange 32 is gripped by the gripping motion. Now, an example will be described in which the map is locked on and the map is enlarged by the focus motion. As shown in FIG. 21, it is assumed that there is a map 61 in a lock-on possible area (not shown) and the map 61 is locked on by a player's operation. In this figure, the camera is above the player character 40 and displays the image shown in FIG. 21 from the objective viewpoint. A focus motion is stored in advance in the map 61 as a lock-on object. Therefore, when the map 61 is locked on, the motion flag is automatically set in the register in the CPU 11. When detecting that the focus motion flag is set, the CPU 11 moves the camera 50 from the objective viewpoint (FIG. 23) to the subjective viewpoint (FIG. 24).
[0049]
At this time, the map 61 is zoomed, but as the camera 50 moves, the screen gradually switches from the rough map 61 to the fine map 62 (FIG. 22). That is, by overwriting the image data of the map 62, which is a fine image, on the image data of the map 61, which is a rough image, and changing the transparency of both in a complementary manner, the map 61 becomes gradually transparent and fades out. At the same time, the map 62 gradually emerges on the screen and fades in (melting). As a result, when the player locks on the map 61, the player character can look on the map 61 on the screen.
[0050]
The procedure of focus motion will be described with reference to FIG. When an interrupt signal is supplied to the CPU 11 at a period corresponding to the vertical synchronization signal of the video signal, an interrupt flag is set in a register in the CPU 11. When an interrupt occurs (step S401; YES), the CPU 11 executes each process of step S402 to step S411. When the map 61 is locked on, a focus motion flag is set. When the CPU 11 detects that the flag is set (step S402; YES), it counts up the value of the built-in register n (step S403). This register n counts the number of frames after the focus motion processing, and initially n is a value of “0”.
[0051]
Here, F is the number of frames required to change from the map 61 to the map 62. Further, the texture data of the map 61 is data M1, and the texture data of the map 62 is data M2. Further, a transparency coefficient to be multiplied to the data M1 for semi-transparent processing of the map 61 is a, and b is a transparency coefficient to be multiplied to the data M2 for semi-transparent processing of the map 62. At this time, when the transparency coefficient is 0, the transparency is 0%, and when the transparency coefficient is 1, the transparency is 100%.
[0052]
The CPU 11 multiplies the value of the register n by F to obtain the transparency coefficient a (step S404). Then, the data M1 is translucently processed with transparency a (step S405). Further, a transparency coefficient b that changes complementarily to the transparency coefficient a is obtained (step S406), and the data M2 is translucently processed with the transparency b (step S407). Then, the semi-transparent data M1 and data M2 are synthesized (step S408). As shown in FIG. 26, the data M1 and data M2 are registered in the texture memory, and the synthesized data is written in the frame buffer.
[0053]
Next, the camera 50 is moved by one frame. As shown in FIGS. 23 and 24, the moving direction of the camera 50 is a direction to shift from the objective viewpoint to the subjective viewpoint, and the movement of the camera is completed by the movement of F frames. Rendering processing is executed with the composite data viewed from the current camera position, and image display is performed (step S410). The focus motion is completed by repeating the processing from step S404 to step S410 F times (step S411).
[0054]
In the focus motion, when the camera 50 is moved from the objective viewpoint to the subjective viewpoint, when the distance (Z value) between the player character 40 and the camera 50 becomes smaller than a predetermined value, the player character 40 is translucent. It is preferably configured to process. By processing in this way, it is possible to eliminate the disadvantage that the view from the camera 50 is blocked by the player character 40.
[0055]
In the above description, the gripping motion and the focus motion have been described as examples of the action in step S207. However, the present invention is not limited to this. For example, the drawer is opened, the door is opened, the door is knocked, the phone is called, the hanging axis It may be an action such as taking. The target of the lock-on process is not limited to an object, and may be a character imitating a person. For example, when a girl character is locked on, processing such as talking to the child may be performed. Further, it is possible to lock on even when the object or character is moving.
(Clipping processing)
Next, the clipping processing of the present invention will be described with reference to FIGS. As shown in FIG. 27, the geometry processor 12 converts the data into a viewpoint coordinate system with the camera position as the origin and the direction of the line of sight as the positive direction of the z-axis, The drawing limit point when the coordinates are perspective-transformed is Z max And the translucent processing start point is Z 0 And
[0056]
Then, as shown in FIG. 28, the Z value of the object or character is Z 0 In the following cases, transparency α = 0 (transparency 0%) and Z max In the above case, the transparency α = 1 (transparency 100%). Furthermore, the Z value is Z 0 Z max Transparency α = (Z−Z in the following cases 0 ) / (Z max -Z 0 ).
[0057]
The above clipping process will be described with reference to the flowchart of FIG. When an interrupt signal is supplied to the CPU 11 at a period corresponding to the vertical synchronization signal of the video signal, an interrupt flag is set in a register in the CPU 11. When an interrupt occurs (step S501; YES), the CPU 11 executes each process of step S502 to step S508. In the screen coordinate system, the Z value of the object is Z 0 (Step S502; YES), Z max If it is below (step S503; YES), the transparency α = (Z−Z) 0 ) / (Z max -Z 0 (Step S504), rendering is performed (Step S505), and image display is performed (Step S506). On the other hand, the Z value of the object is Z 0 If it is less than (step S502; NO), the transparency α = 0 (step S507), and the Z value is Z max If it is above (step S503; NO), the transparency α = 1 (step S508).
[0058]
By processing as described above, even when an object or the like comes near the drawing limit point, the object or the like does not disappear suddenly, and the transparent processing is gradually performed near the drawing limit point. Never give.
(Light source processing)
Next, the light source processing of the present invention will be described with reference to FIGS. In FIG. 1, the CPU 11 executes a program for processing an image using polygons, and supplies polygon vertex data to the geometry processor 12. Based on the vertex coordinate data of the polygon, the geometry processor 12 arranges the polygon in the three-dimensional space and sets a viewport for determining up to which area in the three-dimensional space to display. Attributes such as vertex coordinates (X, Y, Z), vertex colors (red, green, blue), texture coordinates (Tx, Ty), vertex transparency, and vertex normal vectors are assigned to each vertex of the polygon. The geometry processor 12 calculates the luminance (color) of each vertex according to the angle formed by the normal vector of the vertex and the light source vector, removes the vertex outside the viewport (clipping process), and calculates 2 from the three-dimensional coordinates. Perform conversion to dimensional coordinates (screen coordinates).
[0059]
In the above processing, the geometalizer 12 stores the luminance (color) of the vertex of the polygon in the system memory 13 as a vertex color list. By preserving the vertex color list in this way, pre-rendering becomes effective. The vertex color list is supplied to the rendering processor 15 via the bus arbiter 14. The rendering processor 15 obtains the luminance (color) of each point (pixel) on the ridge line connecting the vertexes of the polygon by complementing the luminance (color) of the vertex. Further, the luminance (color) of all the pixels constituting the polygon plane is obtained from the luminance (color) of the pixel on each ridge line by a complementary process. Then, texture data corresponding to each pixel is read from the graphic memory 16 and the color of each pixel is calculated.
[0060]
The rendering processor 15 blends the pixel color already written in the frame buffer in the graphic memory 16 with each pixel color of the polygon to be newly written as necessary, and writes the blended value in the frame buffer. A depth buffer is allocated in the graphic memory 16, and the Z coordinate value of each pixel is stored. Judging from the Z coordinate value read from the depth buffer, when an opaque polygon comes closest to the front, the color data of the polygon is immediately written into the frame buffer without performing the above blending. When a completely transparent polygon is positioned at the forefront, the color data of the back polygon already written in the frame buffer may be held as it is without writing the color data of the front polygon. The pixel data written in the frame buffer is supplied to the video encoder 17 and an image is displayed on the monitor 25.
[0061]
Each procedure of light source processing will be described with reference to FIG. First, it is determined whether or not the pre-rendering is valid (step S601). Since the vertex color list is created in the first frame in the light source process and stored in the system memory 13, if the pre-rendering is valid (step S601; YES), refer to the vertex color list for the second and subsequent frames. Can render polygons. Therefore, the vertex color list is read (step S602), rendering is performed based on the vertex color list (step S603), and image display is performed (step S604). On the other hand, if the pre-rendering is not valid, such as when the light source process is not processed (step S601; NO), a vertex color list is created (step S602), and after the pre-rendering is validated (step S606), the vertex color list is added. Based on this, rendering is performed (step S603), and image display is performed (step S604).
[0062]
According to the above-described procedure, if the positional relationship with the light source, such as a background image, is constant, the light source processing is performed in the first frame regardless of the change in the viewpoint coordinates. Since the eye can use the same result, the calculation load is reduced and an increase in the amount of texture data to be stored can be prevented.
[0063]
In the above description, the configuration in which the vertex color list is stored in the system memory 13 is adopted. However, the present invention is not limited to this. For example, the luminance (color) of the polygon vertex is complemented to obtain the polygon color list. The luminance (color) of all the pixels constituting the plane may be obtained in advance by a complementary process and registered in the texture buffer. Further, when the polygon color is blended with the texture, it may be registered in the texture buffer. These pixel data are read out as necessary at the time of rendering and used for the drawing process.
[0064]
【The invention's effect】
According to the present invention, the camera can surely watch the object selected by the player, and the action on the object is facilitated by zooming the object. In addition, since the camera switches from an objective viewpoint to a subjective viewpoint when gazing at the object, the player can have a pseudo-experience as if actually touching the object.
[0065]
In addition, according to the present invention, the collision determination is performed for each movement part, and the motion data is finished or the movement of the movement part is ended by the collision of the movement part. Inconveniences such as the movement part biting into other objects can be eliminated.
[0066]
Further, according to the present invention, it is possible to eliminate the unnaturalness that the object disappears suddenly near the drawing limit point.
[0067]
Further, according to the present invention, it is possible to greatly reduce the calculation load in the light source processing.
[Brief description of the drawings]
FIG. 1 is a circuit configuration diagram of a video game apparatus.
FIG. 2 is an explanatory diagram of a data structure of each table loaded in the system memory.
FIG. 3 is an overall operation flowchart of the video game apparatus.
FIG. 4 is a flowchart of lock-on processing.
FIG. 5 is an explanatory diagram of a lock-on possible area.
FIG. 6 is an explanatory diagram of a lock-on process.
FIG. 7 is an explanatory diagram of camera movement.
FIG. 8 is an explanatory diagram of camera movement.
FIG. 9 is an explanatory diagram of camera movement.
FIG. 10 is an explanatory diagram of camera movement.
FIG. 11 is an explanatory diagram of camera movement.
FIG. 12 is an explanatory diagram of camera movement.
FIG. 13 is an explanatory diagram of a real hand.
FIG. 14 is an explanatory diagram of a gripping motion.
FIG. 15 is an explanatory diagram of a gripping motion.
FIG. 16 is an explanatory diagram of a gripping motion.
FIG. 17 is an explanatory diagram of a gripping motion.
FIG. 18 is an explanatory diagram of a gripping motion.
FIG. 19 is an explanatory diagram of a gripping motion.
FIG. 20 is an explanatory diagram of a gripping motion.
FIG. 21 is an explanatory diagram of focus motion.
FIG. 22 is an explanatory diagram of focus motion.
FIG. 23 is an explanatory diagram of focus motion.
FIG. 24 is an explanatory diagram of focus motion.
FIG. 25 is an explanatory diagram of focus motion.
FIG. 26 is an explanatory diagram of translucent processing of texture data.
FIG. 27 is an explanatory diagram of clipping processing;
FIG. 28 is a graph of transparency versus Z value.
FIG. 29 is an explanatory diagram of clipping processing;
FIG. 30 is an explanatory diagram of light source processing.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Video game device, 11 ... CPU, 12 ... Geometry processor, 13 ... System memory, 14 ... Bus arbiter, 15 ... Rendering processor, 16 ... Graphic memory, 17 ... Video encoder, 18 ... ROM, 19 ... CD-ROM drive, DESCRIPTION OF SYMBOLS 20 ... Sound processor, 21 ... Sound memory, 22 ... D / A converter, 30 ... Lock-on possible area, 32 ... Orange, 40 ... Player character, 50 ... Camera

Claims (12)

仮想三次元空間内に複数のオブジェクトを設定するオブジェクト設定手段と、
前記仮想三次元空間内にカメラを設定するカメラ設定手段と、
前記複数のオブジェクトの中から、視点座標系において予め定められたロックオン可能範囲内に位置し、かつ入力手段を用いた遊戯者による指示によって選択された第1のオブジェクトに対して前記カメラの注視点を設定する注視点設定手段と、
前記注視点設定されたことに対応して前記カメラを客観視点から主観視点へと移動させるカメラ移動手段と、
前記第1のオブジェクトをズームするように前記カメラを制御するズーム手段と、
前記注視点設定手段、前記カメラ移動手段及び前記ズーム手段のそれぞれによる処理がなされた前記カメラに対応した画像を生成する画像生成手段と、
を備えた、ビデオゲーム装置。
An object setting means for setting a plurality of objects in the virtual three-dimensional space;
Camera setting means for setting a camera in the virtual three-dimensional space;
From among the plurality of objects located within the lock-on range predetermined in view point coordinate system, and the camera with respect to the first object selected by the instruction by the player using the input means Gaze point setting means for setting a gaze point;
A camera moving means for moving to the subjective-view from objective viewpoint of the camera in response to the gazing point is set,
Zoom means for controlling the camera to zoom the first object;
Image generating means for generating an image corresponding to the camera that has been processed by each of the gazing point setting means, the camera moving means, and the zoom means;
A video game device comprising:
仮想三次元空間内に複数のオブジェクトを配置するオブジェクト配置手段と、
前記仮想三次元空間内にカメラを設定するカメラ設定手段と、
前記複数のオブジェクトの中から、スクリーン座標系において予め定められたロックオン可能範囲内に位し、かつ入力手段を用いた遊戯者による指示によって選択された第1のオブジェクトに対して前記カメラの注視点を設定する注視点設定手段と、
前記注視点設定されたことに対応して前記カメラを客観視点から主観視点へと移動させるカメラ移動手段と、
前記第1のオブジェクトをズームするように前記カメラを制御するズーム手段と、
前記注視点設定手段、前記カメラ移動手段及び前記ズーム手段のそれぞれによる処理がなされた前記カメラに対応した画像を生成する画像生成手段と、
を備えた、ビデオゲーム装置。
Object placement means for placing a plurality of objects in a virtual three-dimensional space;
Camera setting means for setting a camera in the virtual three-dimensional space;
From among the plurality of objects, said camera with respect to the first object selected by the instruction by the player to position and location in the lock-on range predetermined in cleans coordinate system, and using the input means Gaze point setting means for setting the gaze point of
A camera moving means for moving to the subjective-view from objective viewpoint of the camera in response to the gazing point is set,
Zoom means for controlling the camera to zoom the first object;
Image generating means for generating an image corresponding to the camera that has been processed by each of the gazing point setting means, the camera moving means, and the zoom means;
A video game device comprising:
前記注視点設定手段は、更に、前記第1のオブジェクトと前記カメラとの距離が所定のロックオン可能距離にあるときに当該第1のオブジェクトに対して前記カメラの注視点を設定する
請求項1又は2に記載のビデオゲーム装置。
The fixation point setting means further sets the gaze point of the camera for on the first object when a distance between the first object and the camera is in a predetermined lock-on distance,
The video game device according to claim 1 .
前記ロックオン可能範囲に関する情報を格納するメモリを更に備えた、  A memory for storing information relating to the lock-on possible range;
請求項1乃至3の何れか1項に記載のビデオゲーム装置。The video game device according to any one of claims 1 to 3.
前記画像生成手段は、前記第1のオブジェクトがズームされるに従い、当該第1のオブジェクトがフェードアウトするとともに、当該第1のオブジェクトと関連する第2のオブジェクトがフェードインするように前記画像を生成する、
請求項1乃至請求項4の何れか1項に記載のビデオゲーム装置。
It said image generating means, wherein in accordance with the first object is zoomed, the first object gaff Edoau Tosu Rutotomoni, the first object and the associated second of the image to object gaff Edoin Generate
The video game device according to any one of claims 1 to 4 .
前記第1のオブジェクトは、相対的に画素密度が低い第1の画像を含み、前記第2のオブジェクトは、相対的に画素密度が高く、かつ前記第1の画像と共通の図柄である第2の画像を含む、  The first object includes a first image having a relatively low pixel density, and the second object has a relatively high pixel density and has a pattern common to the first image. Including images of
請求項5に記載のビデオゲーム装置。The video game device according to claim 5.
(a)オブジェクト設定手段が、仮想三次元空間内に複数のオブジェクトを設定すること、
(b)カメラ設定手段が、前記仮想三次元空間内にカメラを設定すること、
(c)注視点設定手段が、視点座標系において予め定められたロックオン可能範囲内に位置し、かつ入力手段を用いた遊戯者による指示によって選択された第1のオブジェクトに対して前記カメラの注視点を設定すること、
(d)カメラ移動手段が、前記注視点設定されたことに対応して前記カメラを客観視点から主観視点へと移動させること、
(e)ズーム手段が、前記第1のオブジェクトをズームするように前記カメラを制御すること、
(f)画像生成手段が、前記注視点設定手段、前記カメラ移動手段及び前記ズーム手段のそれぞれによる処理がなされた前記カメラに対応した画像を生成すること、
を含む、画像表示方法。
(A) the object setting means sets a plurality of objects in the virtual three-dimensional space;
(B) camera setting means setting a camera in the virtual three-dimensional space;
(C) fixation point setting means, positioned in the lock-on range predetermined in the viewpoint coordinate system, and the camera with respect to the first object selected by the instruction by the player using the input means by setting the gaze point,
(D) a camera moving means, said in response to the gazing point is set to move to the subjective-view the camera from an objective viewpoint,
(E) a zoom means controls the camera to zoom the first object;
(F) an image generation unit generates an image corresponding to the camera that has been processed by each of the gazing point setting unit, the camera moving unit, and the zoom unit;
An image display method including:
(a)オブジェクト設定手段が、仮想三次元空間内に複数のオブジェクトを設定すること、
(b)カメラ設定手段が、前記仮想三次元空間内にカメラを設定すること、
(c)注視点設定手段が、スクリーン座標系において予め定められたロックオン可能範囲内に位置し、かつ入力手段を用いた遊戯者による指示によって選択された第1のオブジェクトに対して前記カメラの注視点を設定すること、
(d)カメラ移動手段が、前記注視点設定されたことに対応して前記カメラを客観視点から主観視点へと移動させること、
(e)ズーム手段が、前記第1のオブジェクトをズームするように前記カメラを制御すること、
(f)画像生成手段が、前記注視点設定手段、前記カメラ移動手段及び前記ズーム手段のそれぞれによる処理がなされた前記カメラに対応した画像を生成すること、
を含む、画像表示方法。
(A) the object setting means sets a plurality of objects in the virtual three-dimensional space;
(B) camera setting means setting a camera in the virtual three-dimensional space;
(C) fixation point setting means, positioned in the lock-on range predetermined in the screen coordinate system, and the camera with respect to the first object selected by the instruction by the player using the input means by setting the gaze point,
(D) a camera moving means, said in response to the gazing point is set to move to the subjective-view the camera from an objective viewpoint,
(E) a zoom means controls the camera to zoom the first object;
(F) an image generation unit generates an image corresponding to the camera that has been processed by each of the gazing point setting unit, the camera moving unit, and the zoom unit;
An image display method including:
前記(c)において、前記注視点設定手段が、更に、前記第1のオブジェクトと前記カメラとの距離が所定のロックオン可能距離にあるときに当該第1のオブジェクトに対して前記カメラの注視点を設定する
請求項7又は8に記載の画像表示方法。
In the (c), the fixation point setting means further fixation point of the camera for the first of the first object when the distance of an object and the camera is in a predetermined lock-on distance setting the,
The image display method according to claim 7 or 8 .
前記(f)において、前記画像生成手段が、前記第1のオブジェクトがズームされるに従い、当該第1のオブジェクトがフェードアウトするとともに、当該第1のオブジェクトと関連する第2のオブジェクトがフェードインするように前記画像を生成する、
請求項7乃至9の何れか1項に記載の画像表示方法。
In the (f), the image generation means, wherein in accordance with the first object is zoomed, the second object canvas associated said first object gaff Edoau toss Rutotomoni, with the first object Generate the image to fade in ,
The image display method according to claim 7 .
前記第1のオブジェクトは、相対的に画素密度が低い第1の画像を含み、前記第2のオブジェクトは、相対的に画素密度が高く、かつ前記第1の画像と共通の図柄である第2の画像を含む、  The first object includes a first image having a relatively low pixel density, and the second object has a relatively high pixel density and has a pattern common to the first image. Including images of
請求項10に記載の画像表示方法。The image display method according to claim 10.
請求項7乃至請求項11のうち何れか1項に記載の方法をコンピュータに実行させるためのプログラムが記録された、コンピュータ読み取り可能な記録媒体。  The computer-readable recording medium with which the program for making a computer perform the method of any one of Claims 7 thru | or 11 was recorded.
JP37711699A 1999-12-23 1999-12-23 VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM Expired - Fee Related JP4144017B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37711699A JP4144017B2 (en) 1999-12-23 1999-12-23 VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37711699A JP4144017B2 (en) 1999-12-23 1999-12-23 VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008118065A Division JP2008234681A (en) 2008-04-30 2008-04-30 Video game device, image display device and method, moving image display device and method, and recording medium

Publications (3)

Publication Number Publication Date
JP2001178963A JP2001178963A (en) 2001-07-03
JP2001178963A5 JP2001178963A5 (en) 2007-02-22
JP4144017B2 true JP4144017B2 (en) 2008-09-03

Family

ID=18508275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37711699A Expired - Fee Related JP4144017B2 (en) 1999-12-23 1999-12-23 VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM

Country Status (1)

Country Link
JP (1) JP4144017B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2394716A2 (en) 2010-06-11 2011-12-14 NAMCO BANDAI Games Inc. Image generation system, program product, and image generation method for video games

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297804B2 (en) 2004-02-19 2009-07-15 任天堂株式会社 GAME DEVICE AND GAME PROGRAM
JP4244040B2 (en) 2005-03-10 2009-03-25 任天堂株式会社 Input processing program and input processing apparatus
JP2007323341A (en) * 2006-05-31 2007-12-13 Matsushita Electric Works Ltd Product design support system
JP2008071046A (en) * 2006-09-13 2008-03-27 Ricoh Co Ltd Device for creating three-dimensional model zoomed image
JP4579964B2 (en) * 2007-12-13 2010-11-10 株式会社コナミデジタルエンタテインメント Image generating apparatus, image generating method, and program
JP4753442B2 (en) * 2008-08-07 2011-08-24 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP4879952B2 (en) * 2008-11-04 2012-02-22 任天堂株式会社 Input processing program and input processing apparatus
JP5705671B2 (en) * 2011-07-14 2015-04-22 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP5827671B2 (en) * 2013-12-10 2015-12-02 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP2019075091A (en) * 2018-08-24 2019-05-16 株式会社コロプラ Program for providing virtual experience, computer and method
CN110045827B (en) 2019-04-11 2021-08-17 腾讯科技(深圳)有限公司 Method and device for observing virtual article in virtual environment and readable storage medium
JP7316429B1 (en) 2022-09-28 2023-07-27 株式会社コロプラ Program and information processing system
JP7385719B1 (en) 2022-09-28 2023-11-22 株式会社コロプラ Programs and information processing systems
JP7316430B1 (en) 2022-09-28 2023-07-27 株式会社コロプラ Program and information processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2394716A2 (en) 2010-06-11 2011-12-14 NAMCO BANDAI Games Inc. Image generation system, program product, and image generation method for video games
US9345972B2 (en) 2010-06-11 2016-05-24 Bandai Namco Entertainment Inc. Information storage medium, image generation system, and image generation method

Also Published As

Publication number Publication date
JP2001178963A (en) 2001-07-03

Similar Documents

Publication Publication Date Title
JP4144017B2 (en) VIDEO GAME DEVICE, IMAGE DISPLAY DEVICE AND METHOD, MOVIE DISPLAY DEVICE AND METHOD, AND RECORDING MEDIUM
EP1350545B1 (en) Game machine and game program
EP1033682B1 (en) Image processing apparatus and image processing method
EP1956471B1 (en) Object selecting device, object selecting method, information recording medium, and program
JP3764070B2 (en) Object display program and object display device
JP2009237680A (en) Program, information storage medium, and image generation system
JP4917346B2 (en) Game image processing program and game image processing apparatus
JP2006068138A (en) Game apparatus and image processing program
JP2009031949A (en) Image generation device, method, program, and recording medium
JP2009031948A (en) Image generation device, method, program, and recording medium
EP1977801B1 (en) Game machine, game machine control method, and information storage medium
JP3338021B2 (en) Three-dimensional image processing device and readable recording medium storing three-dimensional image processing program
US20020004421A1 (en) Computer readable recording medium recording a program for causing a light source to be displayed on a game screen and the program, and game screen display method and apparatus
JP2001084404A (en) Method and device for rendering, game machine, and computer readable recording medium for storing program for rendering three-dimensional model
US6712700B1 (en) Stereo model displaying method and apparatus in video game, game apparatus, and computer-readable recording medium stored with stereo model displaying program for video game
EP0992945B1 (en) Video game apparatus, model display and readable recording medium therefor
JP2008234681A (en) Video game device, image display device and method, moving image display device and method, and recording medium
US6680734B2 (en) Game system, imaging method in the game system, and computer readable storage medium having game program stored therein
JP2006293470A (en) Drawing system, method therefor, and drawing program
JP2001351123A (en) Image processing apparatus and image processing method
JP4231684B2 (en) GAME DEVICE AND GAME PROGRAM
JP3839355B2 (en) GAME DEVICE AND GAME PROGRAM
EP1249791B1 (en) 3-D game image processing method and device for drawing border lines
JP2002251625A (en) Device and method for processing image, recording medium for recording program for processing image operating on computer
JP2005050070A (en) Image processing device, method, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080229

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080526

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080608

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4144017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees