(57)【要約】【課題】大表面オブジェクトの表示に際して、ディスプレイに表示される映像の質を維持しつつ、ＣＰＵの演算の無駄を省き、高速な描画を実現する。【解決手段】仮想カメラの投影面２５ｃに複数の目２９ａから構成されるメッシュ２９を演算生成する手順、投影面に生成されたメッシュを、３次元仮想空間内のオブジェクトデータに示された大表面オブジェクトの表面位置２２ａに投影して投影メッシュ２９Ａを設定する手順、投影メッシュを構成する各目について大表面オブジェクトの表面を部分的にモデリングする手順、部分的にモデリングされた大表面オブジェクトの表面をレンダリング処理して投影面に表面の映像２２ｂを演算生成する手順、演算生成された表面の映像２２ｂをモニタ９に表示する手順をコンピュータに実行させるためのゲームソフトウエア。【選択図】    図４
2005293122.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、３次元仮想空間に配置される大きな表面を有する大表面オブジェクトの表面の映像を仮想カメラで取得し、モニタに表示する手順を実行させる、プログラムを有するゲームソフトウエアにおいて、
前記ゲームソフトウエアは、更に、前記コンピュータに、
前記大表面オブジェクトの前記表面を、前記３次元仮想空間に配置する際の配置座標位置を記録したオブジェクトデータを前記コンピュータのメモリに格納するデータ格納手順、
前記仮想カメラの視野境界の下面を、前記大表面オブジェクトの表面が配置される平面と交差する形で、前記３次元仮想空間内に設定する仮想カメラ設定手順、
前記仮想カメラの投影面に複数の目から構成されるメッシュを演算生成するメッシュ生成手順、
前記メッシュ生成手順により前記投影面に生成されたメッシュを、前記３次元仮想空間内の前記オブジェクトデータに示された前記大表面オブジェクトの表面位置に投影して投影メッシュを設定する投影メッシュ設定手順、
前記投影メッシュを構成する各目について前記大表面オブジェクトの表面を部分的にモデリングする部分モデリング手順、
前記部分モデリング手順により部分的にモデリングされた前記大表面オブジェクトの表面をレンダリングして前記投影面に前記表面の映像を演算生成するレンダリング処理手順、
前記レンダリング処理手順により演算生成された前記表面の映像を前記モニタに表示する表示手順を、
実行させるためのプログラムを有することを特徴とする、大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項２】
前記メッシュ生成手順は、
前記仮想カメラの前記大表面オブジェクトに対する位置から、前記投影面に投影される該大表面オブジェクトにおける最も遠い表面位置の、前記投影面上の座標位置を演算する、表面位置演算手順を有し、
前記メッシュは、前記表面位置演算手順により演算された前記投影面上の座標位置よりも前記仮想カメラに近い部分について演算生成されることを特徴とする、
請求項１記載の大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項３】
前記メッシュ生成手順は、
前記仮想カメラの投影面を、水平及び垂直方向にそれぞれ均等に分割する形で前記メッシュ生成する均等分割手順を有する、請求項１記載の大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項４】
前記メッシュ生成手順は、前記投影メッシュ設定手順により設定される投影メッシュの目が、仮想カメラから遠くなるほど大きくなるように、前記仮想カメラの投影面を分割する形で前記メッシュを生成する、メッシュ分割手順を有する、請求項１記載の大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項５】
前記部分モデリング手順は、
前記投影メッシュを構成する各目について、板ポリゴンをそれぞれ配置するポリゴン配置手順を有する、請求項１記載の大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項６】
前記大表面オブジェクトは、海又は湖又は川を表現するオブジェクトであることを特徴とする、請求項１記載の大表面オブジェクト表示機能を有するゲームソフトウエア。
【請求項７】
３次元仮想空間に配置される大きな表面を有する大表面オブジェクトの表面の映像を仮想カメラで取得し、モニタに表示することの出来るゲーム装置において、
前記大表面オブジェクトの前記表面を、前記３次元仮想空間に配置する際の配置座標位置を記録したオブジェクトデータを前記コンピュータのメモリに格納するデータ格納手段、
前記仮想カメラの視野境界の下面を、前記大表面オブジェクトの表面が配置される平面と交差する形で、前記３次元仮想空間内に設定する仮想カメラ設定手段、
前記仮想カメラの投影面に複数の目から構成されるメッシュを演算生成するメッシュ生成手段、
前記メッシュ生成手段により前記投影面に生成されたメッシュを、前記３次元仮想空間内の前記オブジェクトデータに示された前記大表面オブジェクトの表面位置に投影して投影メッシュを設定する投影メッシュ設定手段、
前記投影メッシュを構成する各目について前記大表面オブジェクトの表面を部分的にモデリングする部分モデリング手段、
前記部分モデリング手段により部分的にモデリングされた前記大表面オブジェクトの表面をレンダリングして前記投影面に前記表面の映像を演算生成するレンダリング処理手段及び、
前記レンダリング処理手段により演算生成された前記表面の映像を前記モニタ上に表示する表示手段、
からなるゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムで３次元オブジェクトをモデリングし、レンダリングすることのできるゲームソフトウエア及びゲーム装置に係わり、特に海、湖、川、砂漠、ジャングルなどの表面が大きな３次元オブジェクトを表現する際に適用するに好適なゲームソフトウエア及びゲーム装置に関する。
【０００２】
なお、本明細書において、「ゲームソフトウエア」とは、プログラムそれ自体及び必要に応じて該プログラムに付随して関連づけられた各種のデータを含む概念である。しかし、「ゲームソフトウエア」は必ずしもデータと関連づけられている必要はないが、プログラムは必ず有している。また、「この関連づけられた各種のデータ」は、プログラムと共にＲＯＭディスクなどのメモリ手段に格納されていてもよく、更には外部のメモリ手段にインターネットなどの通信媒介手段を介して読み出し自在に格納されていてもよい。
【背景技術】
【０００３】
従来、この種のゲームソフトウエアは、海、湖、川、砂漠、ジャングルなどの表面が大きな３次元オブジェクト（以下、単に「大表面オブジェクト」と称する）の画像を表現する場合、３次元仮想空間内の所定位置に、表現すべき３次元オブジェクトの全体モデルを配置し、当該配置された全体モデルを多数の小さなメッシュに均等に区切って、各メッシュにポリゴンを配置すると共に、各メッシュ（ポリゴン）の形状を時間の経過と共に変化させるアニメーション処理を行い、更に当該ポリゴンに対してそれぞれテクスチャーマッピング、シャドウイング、シェーディングなどのレンダリング処理を行って、表示すべき画像を生成していた。
【０００４】
なお、出願人は、リアルタイムＣＧアニメーション処理による大表面オブジェクトの表示について、体系的に記述した文献を知らないので、開示すべき従来技術はない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
こうした場合、各メッシュ（ポリゴン）に対するアニメーション処理やレンダリング処理はそれぞれのメッシュに配置されたポリゴンについて行われるので、実際にモニタ上に表示した際に、極めて小さくなってしまう遠方の水面なども、カメラ近傍の水面と同様のアニメーション処理やレンダリング処理が行なわれることとなる。
【０００６】
これでは、ＣＰＵに無駄な演算処理を行わせることとなり、ＣＰＵの演算効率を少しでも向上させ、高速な描画を実現しようとするリアルタイムコンピュータグラフィック（ＣＧ）アニメーションを用いたゲームソフトウエア及びゲーム装置にとって大きな障害となる。
【０００７】
本発明は、上記した事情に鑑み、リアルタイムＣＧアニメーション処理による大表面オブジェクトの表示に際して、ディスプレイに表示される映像の質を維持しつつ、ＣＰＵの演算の無駄を省くことが出来、高速な描画を実現することの出来る、ゲームソフトウエア及びゲーム装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
請求項１の発明は、コンピュータ（１６）に、３次元仮想空間（３１）に配置される大きな表面を有する大表面オブジェクト（２１、２２）の表面の映像を仮想カメラ（２３）で取得し、モニタ（９）に表示する手順を実行させる、プログラムを有するゲームソフトウエア（ＧＰＲ）において、
前記ゲームソフトウエアは、更に、前記コンピュータに、
前記大表面オブジェクトの前記表面（２２ａ）を、前記３次元仮想空間に配置する際の配置座標位置を記録したオブジェクトデータ（ＯＢＤ）を前記コンピュータのメモリに格納するデータ格納手順、
前記仮想カメラのカメラ座標（２６）の視野境界（２５）の下面（２５ｅ）を、前記大表面オブジェクトの表面が配置される平面（２２ａ）と交差する形で、前記３次元仮想空間内に設定する仮想カメラ設定手順（ＣＣＰ）、
前記仮想カメラの投影面（２５ｃ）に複数の目（２９ａ）から構成されるメッシュ（２９）を演算生成するメッシュ生成手順（ＢＯＤ）、
前記メッシュ生成手順により前記投影面に生成されたメッシュを、前記３次元仮想空間内の前記オブジェクトデータに示された前記大表面オブジェクトの表面位置（２２ａ）に投影して投影メッシュ（２９Ａ）を設定する投影メッシュ設定手順（ＢＯＤ）、
前記投影メッシュを構成する各目について前記大表面オブジェクトの表面を部分的にモデリングする部分モデリング手順（ＢＯＤ）、
前記部分モデリング手順により部分的にモデリングされた前記大表面オブジェクトの表面をレンダリングして前記投影面に前記表面の映像（２２ｂ）を演算生成するレンダリング処理手順（ＣＣＰ）、
前記レンダリング処理手順により演算生成された前記表面の映像（２２ｂ）を前記モニタ（９）に表示する表示手順（ＣＣＰ）を、
実行させるためのプログラムを有することを特徴として構成される。
【０００９】
また、請求項２の発明は、前記メッシュ生成手順は、
前記仮想カメラ（２３）の前記大表面オブジェクト（２１、２２）に対する位置から、前記投影面（２５ｃ）に投影される該大表面オブジェクトにおける最も遠い表面位置（ＣＰ）の、前記投影面上の座標位置（ｖ座標）を演算する、表面位置演算手順（ＢＯＤ）を有し、
前記メッシュ（２９ａ）は、前記表面位置演算手順により演算された前記投影面上の座標位置よりも前記仮想カメラに近い部分について演算生成されることを特徴として構成される。
【００１０】
また、請求項３の発明は、前記メッシュ生成手順は、
前記仮想カメラの投影面（２５ｃ）を、水平及び垂直方向にそれぞれ均等に分割する形で前記メッシュ生成する均等分割手順を有して構成される。
【００１１】
また、請求項４の発明は、前記メッシュ生成手順は、前記投影メッシュ設定手順により設定される投影メッシュ（２９Ａ）の目（２９ｂ）が、仮想カメラから遠くなるほど大きくなるように、前記仮想カメラの投影面（２５ｃ）を分割する形で前記メッシュ（２９）を生成する、メッシュ分割手順を有して構成される。
【００１２】
また、請求項５の発明は、前記部分モデリング手順は、
前記投影メッシュ（２９Ａ）を構成する各目（２９ｂ）について、板ポリゴン（３０）をそれぞれ配置するポリゴン配置手順を有して構成される。
【００１３】
また、請求項６の発明は、前記大表面オブジェクト（２１、２２）は、海又は湖又は川を表現するオブジェクト（２２）であることを特徴として構成される。
【００１４】
また、請求項７の発明は、３次元仮想空間に配置される大きな表面を有する大表面オブジェクトの表面の映像を仮想カメラで取得し、モニタに表示することの出来るゲーム装置（２０）において、
前記大表面オブジェクトの前記表面を、前記３次元仮想空間に配置する際の配置座標位置を記録したオブジェクトデータを前記コンピュータのメモリに格納するデータ格納手段（１、ＧＰＲ）
前記仮想カメラの視野境界（２５）の下面（２５ｅ）を、前記大表面オブジェクト（２１、２２）の表面（２２ａ）が配置される平面と交差する形で、前記３次元仮想空間（３１）内に設定する仮想カメラ設定手段（ＣＣＰ、１）、
前記仮想カメラ（２３）の投影面（２５ｃ）に複数の目から構成されるメッシュを演算生成するメッシュ生成手段（ＢＯＰ、１）、
前記メッシュ生成手段により前記投影面に生成されたメッシュ（２９）を、前記３次元仮想空間内の前記オブジェクトデータに示された前記大表面オブジェクトの表面位置に投影して投影メッシュ（２９Ａ）を設定する投影メッシュ設定手段（ＢＯＰ、１）、
前記投影メッシュを構成する各目について前記大表面オブジェクトの表面を部分的にモデリングする部分モデリング手段（ＢＯＰ、１）、
前記部分モデリング手段により部分的にモデリングされた前記大表面オブジェクトの表面をレンダリングして前記投影面に前記表面の映像を演算生成するレンダリング処理手段（ＢＯＰ、１）及び、
前記レンダリング処理手段により演算生成された前記表面の映像を前記モニタ上に表示する表示手段（ＣＣＰ、１、４）、
からなるゲーム装置。
【発明の効果】
【００１５】
請求項１及び７の発明によれば、大表面オブジェクト（２１、２２）の全ての表面（２２ａ）をメッシュで区切る必要が無く、仮想カメラ（２３）の投影面（２５ｃ）に投影される表面（２２ａ）部分についてのみメッシュを設定して該表面（２２ａ）をモデリングするだけで済むので、それ以外の映像としてモニタ（９）に表示されることのない大表面オブジェクト（２１、２２）の表面（２２ａ）部分のモデリングを行う必要が無くなる。これにより、モデリングの演算をＣＰＵ（１）の負荷を大幅に少なくすることが出来、従来と同様の画質を維持しつつ、高速な描画を実現することが出来る。
【００１６】
また、メッシュ（２９）は、仮想カメラ（２３）の投影面（２５ｃ）に設定され、当該設定されたメッシュ（２９）が前記大表面オブジェクトの表面位置（２２ａ）に投影されて投影メッシュ（２９Ａ）が設定されるので、投影された投影メッシュ（２９Ａ）の目（２９ｂ）は、仮想カメラ（２３）より遠方のメッシュ（２９ｂ）ほど大きくすることが出来る。これにより、大表面オブジェクト（２１、２２）に投影された遠方のメッシュ（２９ｂ）は、表面（２２ａ）上で大きな表面積を占めることとなり、各目（２９ｂ）に対するモデリング及びその後のレンダリング処理などを、遠方のメッシュ（２９ｂ）ほど、オブジェクトに対する面積比で簡易的に行うことが可能となる。
【００１７】
これにより、仮想カメラ（２３）より遠方の、実際にモニタ（９）に表示された際に、小さくしか表示されず、表示したとしても画像の質に殆ど影響を与えない部分の処理を大幅に簡略化することが出来る反面、従来と同様の画質で高速な描画を実現することが出来る。
【００１８】
請求項２の場合、メッシュは、表面位置演算手順により演算された投影面上の座標位置よりも仮想カメラ（２６）に近い部分について演算生成されるので、大表面オブジェクト（２１、２２）の表面（２２ａ）以外の部分について、メッシュ（２９）が設定されることなく、ＣＰＵ（１）に対して余分な演算を行わせなくて済み、処理が高速化される。
【００１９】
請求項３の場合、仮想カメラの投影面（２５ｃ）を、水平及び垂直方向にそれぞれ均等に分割する形で前記メッシュ生成することにより、メッシュの生成を簡単に行うことが出来、ＣＰＵ（１）の演算負荷を少なくすることが出来る。
【００２０】
請求項４の場合、投影メッシュ設定手順により設定される投影メッシュ（２９Ａ）の目（２９ｂ）が、仮想カメラから遠くなるほど大きくなるように、仮想カメラの投影面（２５ｃ）を分割する形でメッシュ（２９）が生成されるので、モニタ（９）に表示される画質に影響を余り与えることのない、大表面オブジェクト（２１、２２）遠方のメッシュ（２９ｂ）は、オブジェクト表面（２２ａ）上で大きな表面積を占めさせることが出来る。これにより、各目（２９ｂ）に対するモデリング及びその後のレンダリング処理を、遠方のメッシュ（２９ｂ）ほど、オブジェクトに対する面積比で簡易的に行うことが可能となる。
【００２１】
これにより、仮想カメラ（２３）より遠方の、実際にモニタ（９）に表示された際に、小さくしか表示されず、表示したとしても画像の質に殆ど影響を与えない部分の処理を大幅に簡略化することが出来る反面、従来と同様の画質で高速な描画を実現することが出来る。
【００２２】
請求項５の場合、投影メッシュ（２９Ａ）を構成する各目（２９ｂ）について、板ポリゴン（３０）をそれぞれ配置するので、投影メッシュ２９Ａの目２９ｂと板ポリゴン３０が１対１に対応しモデリングを容易に行うことが出来る。
【００２３】
請求項６の場合、大表面オブジェクト（２１）は、海又は湖又は川を表現するオブジェクト（２２）とすると、大表面オブジェクト２１の表面は、比較的単純な表面形状を有する水面となるので、前述した仮想カメラ（３１）から遠い板ポリゴン３０のレンダリング処理を、大きな面積の水面（２２ａ）について簡易的に行っても、当該簡易的な処理が画質の劣化として目立ってしまうようなことが無く、本発明を有効に活用することが出来る。
【００２４】
また、請求項７の場合、請求項１のゲームソフトウエアをゲーム装置内のハードディスクやＲＯＭ２又はＲＡＭ３に格納しておくことにより、必要に応じて高速な描画を行うことも出来る。
【００２５】
なお、括弧内の番号等は、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【発明を実施するための最良の形態】
【００２６】
以下、図面に基づき、本発明の実施例を説明する。
【００２７】
図１は、本発明が適用されるゲーム機の制御ブロック図、図２は、３次元仮想空間内に配置された湖（大表面オブジェクト）及び該湖の情景をレンダリングするために配置された仮想カメラの一例を示す模式図、図３は、図２の仮想カメラの視野境界と湖の水面との関係を示す模式図、図４は、図３の平面図、図５は、カメラ座標の投影面に設定されたメッシュの一例を示す模式図、図６は、ディスプレイに表示される水面の映像の一例を示す図、図７は、大表面オブジェクト処理の概要を示すフローチャートである。
【００２８】
ゲーム装置２０は、図１に示すように、記録媒体としてのＲＯＭディスク１５に記録されたアクションゲームなどのゲーム用ソフトウエアに従って所定のゲームを実行するものである。ゲーム装置２０は、マイクロプロセッサを主体として構成されたＣＰＵ１と、そのＣＰＵ１に対する主記憶装置としてのＲＯＭ（リードオンリーメモリ）２およびＲＡＭ（ランダムアクセスメモリ）３と、画像処理装置４およびサウンド処理装置６と、それらの装置に対するバッファ５、７と、ＲＯＭディスク読取装置８とを有している。
【００２９】
ＲＯＭ２には、ゲーム機の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。ＲＡＭ３には記憶媒体としてのＲＯＭティスク１５から読み取ったゲーム用のプログラムやデータが必要に応じて書き込まれる。画像処理装置４はＣＰＵ１から画像データを受け取ってフレームバッファ５上にゲーム画面を描画するとともに、その描画された画像のデータを所定のビデオ再生信号に変換して所定のタイミングでモニタ９に出力する。サウンド処理装置６は、ＲＯＭティスク１５から読み出されてサウンドバッファ７に記録された音声、楽音等のデータや音源データ等を再生してスピーカ１０から出力させる。ＲＯＭディスク読取装置８は、ＣＰＵ１からの指示に従ってＲＯＭディスク１５上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。ＲＯＭディスク１５にはゲームの実行に必要なプログラムやデータが記録されている。モニタ９には家庭用のテレビ受像機が、スピーカ１０にはそのテレビ受像機の内蔵スピーカが一般に使用される。
【００３０】
さらに、ＣＰＵ１にはバス１４を介して通信制御デバイス１１が接続され、そのデバイス１１には入力装置としてのコントローラ１２及び補助記憶装置１３が適宜な接続ポートを介してそれぞれ着脱自在に接続される。コントローラ１２は入力装置として機能するものであり、そこにはプレーヤによる操作を受け付ける操作キーなどの操作部材が設けられる。通信制御デバイス１１は一定周期（例えば1／60秒）でコントローラ１２の操作状態を走査し、その走査結果に対応した信号をＣＰＵ１に出力する。ＣＰＵ１はその信号に基づいてコントローラ１２の操作状態を判別する。コントローラ１２及び補助記憶装置１３は通信制御デバイス１１に対して複数並列に接続可能である。
【００３１】
以上の構成において、モニタ９、スピーカ１０、コントローラ１２、ＲＯＭディスク１５及び補助記憶装置１３を除く他の構成要素は所定のハウジング内に一体的に収容されてゲーム機本体１６を構成する。このゲーム機本体１６がコンピュータとして機能する。
【００３２】
ＲＯＭディスク１５には、アクションゲーム、ロールプレイングゲームやアドベンチャーゲームなどの、所定のシナリオに従ってゲームが進行するゲームソフトウエアＧＰＲが格納されている。
【００３３】
ゲーム装置２０においては、所定の初期化操作（例えば電源の投入操作）が行われるとＣＰＵ１がまずＲＯＭ２のプログラムに従って所定の初期化処理を実行する。初期化が終わるとＣＰＵ１はＲＯＭディスク１５に格納された、ゲームソフトウエアＧＰＲの読み込みを開始し、そのプログラムに従ってゲーム処理を開始する。プレーヤがコントローラ１２に対して所定のゲーム開始操作を行うと、ＣＰＵ１はその指示に基づいたゲームソフトウエアＧＰＲの手順に従ってゲームの実行に必要な種々の処理を開始する。
【００３４】
以後、ゲーム装置２０は、読み込んだゲームソフトウエアＧＰＲに従って、所定の処理を行って、モニタ９上に表示される画像を表示制御して、所定のシナリオを進行制御して行く。
【００３５】
以上の構成のゲーム装置２０では、ＲＯＭディスク１５に記録されたプログラムをコンピュータの主記憶装置としてのＲＡＭ３にロードしてＣＰＵ１で実行することにより、様々なジャンルのゲームをディスプレイ９の画面上でプレイすることが出来る。
【００３６】
なお、本発明に係るゲームソフトウエアを機能させるコンピュータとして、例えば家庭用ゲーム機としてのゲーム装置２０を一例として説明したが、該ゲーム装置２０は、いわゆる携帯型ゲーム機であってもよく、更に、ゲーム専用の装置でなく、一般的な音楽や映像の記録媒体の再生なども可能な装置であってもよい。
【００３７】
また、これに限らず、コンピュータとして、例えばパーソナルコンピュータ、携帯電話機など、つまりゲームソフトウエアを機能させることのできるものであれば何れのものでもよい。
【００３８】
なお、ゲームソフトウエアＧＰＲを構成する各種のプログラム及び各種のデータは、ゲームソフトウエアＧＰＲのプログラム機能によって読み出し自在に有している限り、その格納態様は任意であり、本実施の形態のように、ゲームソフトウエアＧＰＲのプログラムと共にＲＯＭディスク１５中に格納するほかに、ゲーム機１とは独立したサーバーなどの外部のメモリ手段に格納しておき、ゲームソフトウエアＧＰＲ中に設けられた読み出しプログラムによって、インターネットなどの通信媒介手段を介してＲＡＭ３などのメモリにダウンロードするように構成してもよい。
【００３９】
ゲームソフトウエアＧＰＲによるゲームは、図２に示すように、ゲームソフトウエアＧＰＲのフィールド生成プログラムＦＰＰにより、ＣＰＵ１がＲＡＭ３内に生成する３次元仮想空間３１内に設定されたフィールドＦＬＤ上を、プレーヤがコントローラ１２を介して操作自在なキャラクタ（図示せず）が移動しながら、敵キャラクタとの戦闘を行いながらシナリオを進めてゆく、所謂アアクションゲームとして設定されている。
【００４０】
なお、図１に示した、ゲームソフトウエアＧＰＲには、該ゲームソフトウエアＧＰＲを構成する、本発明に関連するソフトウエア要素のみを記述しており、ゲームソフトウエアＧＰＲには、図１に記載された以外に、当該ゲームソフトウエアＧＰＲを用いてゲームを実行する上で必要な多様なプログラム及びデータが格納されている。
【００４１】
フィールド生成プログラムＦＰＰは、ゲームシナリオの進行を制御するシナリオ進行制御プログラムＳＡＰからの指示により、ＣＰＵ１を介して、３次元仮想空間３１内に、図２に示すように、湖、海、砂漠、ジャングル又は川などのように、湖面、海面、砂面、ジャングルの上面、川面などの大きな表面を有する物体を表現するオブジェクトである、大表面オブジェクト２１を配置する場合がある。本実施例の場合、例えば大表面オブジェクト２１としては湖２２が３次元仮想空間３１に配置される。
【００４２】
一方、シナリオ進行制御プログラムＳＡＰは、ゲーム中の図示しないキャラクタの動きに合わせて、ゲームソフトウエアＧＰＲのカメラ制御プログラムＣＣＰに対して、ＣＰＵ１及び画像処理装置４を介して、湖２２をレンダリングした画像をモニタ９に表示するように指令する。
【００４３】
これを受けて、カメラ制御プログラムＣＣＰは、ＣＰＵ１を介して、大表面オブジェクト処理プログラムＢＯＰをゲームソフトウエアＧＰＲから読み出し、当該大表面オブジェクト処理プログラムＢＯＰに基づいて湖２２の湖面である水面２２ａのディスプレイ９への表示処理を行う。
【００４４】
３次元仮想空間３１には、大表面オブジェクト処理プログラムＢＯＰによる湖２２の表示処理が行われるまでは、湖２２はオブジェクトとして配置されていない。そこで、大表面オブジェクト処理プログラムＢＯＰは、ＣＰＵ１を介してフィールド生成プログラムＦＰＰに対して、ゲームソフトウエアＧＰＲのオブジェクトデータファイルＯＤＦから、カメラ制御プログラムＣＣＰにより表示処理を指令された湖２２に関するオブジェクトデータＯＢＤを読み出すように指令する。
【００４５】
これを受けてＣＰＵ１は、オブジェクトデータファイルＯＤＦから、３次元仮想空間３１に配置すべき湖２２に関するオブジェクトデータＯＢＤを読み出して、図示しないバッファメモリに格納する（図７のステップＳ１）。湖２２のオブジェクトデータＯＢＤには、湖２２の３次元仮想空間３１での配置位置に関する配置位置データＤＰＤ及び、湖２２の形状や、水面２２ａの形状及び深さなどの３次元形状データＴＳＤデータなど湖２２を３次元仮想空間３１内に配置するのに必要なデータが格納されており、フィールド生成プログラムＦＰＰは、ＣＰＵ１を介して、オブジェクトデータファイルＯＤＦから読み出された湖２２のオブジェクトデータＯＢＤから３次元仮想空間３１内の所定の位置に湖２２のオブジェクトを容易に生成配置することが出来る。
【００４６】
こうして表示すべき湖２２のオブジェクトデータＯＢＤが読み出されたところで、大表面オブジェクト処理プログラムＢＯＰは、ＣＰＵ１を介して湖２２のオブジェクトを投影するための仮想カメラ（視点）２３の現在位置を、カメラ制御プログラムＣＣＰから取得し、当該カメラ２３と３次元仮想空間３１内に配置される湖２２との位置関係を演算する（図７のステップＳ２）。
【００４７】
即ち、仮想カメラ２３は、カメラ制御プログラムＣＣＰを介して、図２乃至図４に示すように、カメラ座標系２６のＺ軸を湖２２の水面２２ａに向けて、即ちＺ軸が、３次元仮想空間３１において水面２２ａが配置される平面に交差する形で配置されており、更にカメラ制御プログラムＣＣＰは、仮想カメラ２３から捕捉出来る３次元仮想空間３１の物理的な範囲を示す、垂直視角がαで水平視角がβの四角錐状の視野境界２５を、湖２２のオブジェクト、正確には水面２２ａを示すオブジェクトに対して設定する。
【００４８】
この視野境界２５により、カメラ座標２６における水平及び垂直方向の視野範囲が設定され、更に、この視野境界２５内において、３次元仮想空間３１内のオブジェクトを投影する範囲を示す前方クリッピング面２５ａ及び後方クリッピング面２５ｂが設定され、前方クリッピング面２５ａと後方クリッピング面２５ｂとの間に投影面（ビュースクリーン）２５ｃが設定される。また、視野境界２５の前方クリッピング面２５ａと後方クリッピング面２５ｂとの間は、３次元仮想空間３１内のオブジェクト２１が、投影面２５ｃに投影される範囲としてのビューボリューム２５ｄとなる。
【００４９】
大表面オブジェクト処理プログラムＢＯＰは、図３に示すように、仮想カメラ２３の湖２２のオブジェクトに対する位置から、投影面２５ｃに投影される湖２２のオブジェクトにおける最も遠い水面２２ａ（水平線ＨＬ）の位置を該投影面上の座標位置として演算する（図７のステップＳ３）。これは、湖２２のオブジェクトデータＯＢＤ及び仮想カメラ２３及び投影面２５ｃの位置及びビューボリューム２５ｄの形状データから容易に演算することが出来る。
【００５０】
例えば、湖２２のオブジェクトデータＯＢＤから、図６に示すように、投影面２５ｃに投影される湖２２の水面２２ａの最も遠い水面、図３の場合、後方クリッピング面２５ｂと水面２２ａとの、図３に示す交線ＣＰ（以下、「水平線ＨＬ」と称する）が投影面２５ｃに投影された位置の、投影面でのｕｖ座標上でのｖ座標位置を演算して求める（図７のステップＳ３）。
【００５１】
仮想カメラ２３のカメラ座標２６のＸ軸と３次元仮想空間３１のワールド座標２７のＸ軸は、図２に示すように、平行に設定されているので、通常、湖２２の水面２２ａの交線ＣＰは、水平線ＨＬとして、図５に示すように、投影面２５ｃにおいて所定のＶ座標を有する形で水平にｕ軸方向に設定される。
【００５２】
こうして、水平線ＨＬが投影面２５ｃに設定されたところで、大表面オブジェクト処理プログラムＢＯＰは、図５に示すように、投影面２５ｃの水平線ＨＬより下の水面２２ａが配置される部分、即ち仮想カメラ２３に近い部分について、ｕ軸（水平方向）及びｖ軸方向（垂直方向）にそれぞれ均等に分割してメッシュ２９を設定演算する（図７のステップＳ４）。なお、この分割は必ずしも均等である必要はなく、仮想カメラ２３の近く、即ち、投影面２５ｃ図５下方のメッシュ２９の目２９ａが、仮想カメラ２３から遠い、即ち投影面２５ｃ上方のメッシュ２９の目２９ａよりも細かくなるように分割してもよい。
【００５３】
大表面オブジェクト処理プログラムＢＯＰは、ＣＰＵ１を介して、こうして得られたメッシュ２９を、図４に示すように、視野境界２５内の、大表面オブジェクト２１の水面２２ａが配置される座標位置に投影して投影メッシュ２９Ａを演算生成する。すると、投影面２５ｃで均等に生成されたメッシュ２９は、仮想カメラ２３の四角錐状の視野境界２５が、水面２２ａに交差する形で設定されているので、メッシュ２９が投影されて生成された投影メッシュ２９Ａは、仮想カメラ２３から遠く離れるほど投影メッシュ２９Ａの目２９ｂが大きくなる形で生成される。
【００５４】
なお、Ｚ軸２６は、水面２２ａに対して必ずしも交差している必要はないが、投影面２５ｃに水面２２ａが投影されるためには、仮想カメラ２３の四角錐状の視野境界２４の下面２５ｅが水面２２ａ（正確には、水面２２ａが設定される３次元仮想空間３１内の平面）と交差している必要がある。
【００５５】
投影メッシュ２９Ａは、仮想カメラ２３の水面２２ａが投影される投影面２５ｃに生成されたメッシュ２９に基づいて、逆に３次元仮想空間３１内の水面２２ａが配置されるべきワールド座標２７上の平面位置に投影されるので、投影メッシュ２９Ａは、図４に示すように、水平視角βの範囲内のビューボリューム２５ｄの範囲、即ち、ディスプレイ９で表示される３次元仮想空間３１の範囲内に適切に設定される。
【００５６】
次に、大表面オブジェクト処理プログラムＢＯＰは、３次元仮想空間３１の湖２２の水面２２ａの位置に投影された投影メッシュ２９Ａの各目２９ｂに、それらの目２９ｂの大きさに対応した板ポリゴン３０を、それぞれ配置し、仮想カメラ２３のビューボリューム２５ｄ内に位置する水面２２ａ部分を当該板ポリゴンでモデリングする。この際、ビューボリューム２５ｄ以外の水面２２ａ部分には、何ら板ポリゴン３０の配置は行わない。従来は、ビューボリューム２５ｄの範囲とは無関係に、大表面オブジェクト２１の水面２２ａの全てに多数のポリゴンを配置していたのに比べて、部分的に水面２２ａをモデリングするだけで足りるので、板ポリゴン３０の配置処理に要する演算時間を大幅に短縮することが出来る。
【００５７】
大表面オブジェクト処理プログラムＢＯＰは、こうして投影メッシュ２９Ａの各目２９ｂに板ポリゴン３０が配置されたところで、それら配置された各板ポリゴン３０に対してアニメーション処理及びレンダリング処理を行って、仮想カメラ２３の投影面２５ｃに、湖２２の水面２２ａの映像２２ｂを取得する。
【００５８】
即ち、各板ポリゴン３０に対して、リアルタイムＣＧに適したアニメーション処理（例えば、各板ポリゴン３０を時間の経過と共に変形させるなどの処理）、テクスチャーマッピング、シャドウイング、シェーディング、反射、写り込み、などのポリゴン画像処理を行うと共に、カメラ制御プログラムＣＣＰ及びＣＰＵ１を介して、仮想カメラ２３を用いて投影メッシュ２９Ａの各板ポリゴン３０を投影面２５ｃに透視変換する投影処理を行って、図６に示す、湖２２の水面２２ａの映像２２ｂを演算生成する。ここで、レンダリング処理とは、上記したポリゴン画像処理と投影面２５ｃへの透視変換処理を含むものとする。
【００５９】
この際、大表面オブジェクト処理プログラムＢＯＰは、仮想カメラ２３のビューボリューム２５ｄの範囲内にだけ配置された板ポリゴン３０についてのみアニメーション処理及びポリゴン画像処理を行えばよいので、ＣＰＵ１の演算負荷を大幅に低減させることが出来る。
【００６０】
また、図４に示すように、ポリゴン画像処理を行う各板ポリゴン３０の大きさは、仮想カメラ２３から遠くなるほど大きくなり、湖２２の水面２２ａにおいて大きな表面積を占める形となるが、実際にモニタ９に表示される映像２２ｂにおいては、図５に示すように、各板ポリゴン３０に対応するメッシュ２９の目２９ａは、等しい大きさに設定されているので、仮想カメラ２３から遠いほど、即ちカメラ座標のＺ座標値が大きな板ポリゴン３０ほど、縮小された形で投影面２５ｃには投影される。
【００６１】
即ち、各板ポリゴン３０の投影面２５ｃに対する縮小率は、Ｚ座標値が大きな板ポリゴン３０ほど大きくなる。従って、既に述べたように、Ｚ座標値の大きな板ポリゴン３０（投影された投影メッシュ２９Ａの目２９ｂ）を、図４に示すように、Ｚ座標値の小さな板ポリゴン３０（投影された投影メッシュ２９Ａの目２９ｂ）よりも大きく設定したとしても、そのように大きな板ポリゴン３０に対して行うポリゴン画像処理の影響は、投影面２５ｃへの大きな縮小率により小さくなる。従って、仮想カメラ２３から遠くの大きな板ポリゴン３０、従って、湖２２の表面２２ａにおいて、大きな表面積をカバーする形の板ポリゴン３０に対するポリゴン画像処理を、仮想カメラ２３近くの小さな板ポリゴン３０に対してする画像処理に比して、湖表面２２ａの単位面積当たり、大幅に簡略化する形で行ったとしても、その影響は、投影面２５ｃ上では無視出来る程度に小さくすることが出来る。
【００６２】
従って、仮想カメラ２３近くの、水面２２ａについては、多数の小さな板ポリゴン３０によりモデリングされているので、遠方の水面２２ａに比してきめ細かアニメーション処理やポリゴン画像処理が可能となる。即ち、仮想カメラ２３近くの板ポリゴン３０についてのみ、高度な、即ち、オブジェクトの単位表面積当たりの処理密度が高いアニメーション処理及びポリゴン画像処理を行ってリアルな水面２２ａを表現し、遠方の板ポリゴン３０に対しては、オブジェクトの単位面積当たりの処理密度が低い簡単なアニメーション処理及びポリゴン画像処理で済ませることが出来る。
【００６３】
このように、各板ポリゴン３０単位で、遠近両方の板ポリゴン３０に対して同様なポリゴン画像処理を行ったとしても、遠方の水面２２ａを構成するポリゴンは近くのポリゴン３０よりも大きく設定されているので、処理すべき数を近くの板ポリゴン３０よりも大幅に少なくすることが出来、遠方の水面２２ａの板ポリゴン３０に対するアニメーション処理及びポリゴン画像処理はＣＰＵ１に大きな負荷を掛けずに行うことが出来る。
【００６４】
なお、仮想カメラ２３のビューボリューム２５ｄの範囲外には、既に述べたように板ポリゴン３０は全く配置されておらず、水面２２ａのモデリングは行われていないので、何らのアニメーション処理及びポリゴン画像処理も行わない。
【００６５】
こうして、大表面オブジェクト処理プログラムＢＯＰによりＣＰＵ１を介して、投影メッシュ２９Ａの目２９ｂに配置設定された各板ポリゴン３０についてアニメーション処理及びポリゴン画像処理を行って、カメラ制御プログラムＣＣＰによりＣＰＵ１を介して投影面２５ｃにそれらを透視変換する形で投影して、湖２２の水面２２ａの、仮想カメラ２３からの映像２２ｂが、図６に示すように得られたところで、カメラ制御プログラムＣＣＰは、ＣＰＵ１及び画像処理装置４を介して、モニタ９に投影面２５ｃに投影された映像２２ｂを表示する（図７のステップＳ８）。
【００６６】
モニタ９に表示された映像２２ｂは、湖２２の水面２２ａが、図６に示すように、近くの水面２２ａが細かな板ポリゴン３０で詳細に描画処理され、また遠方の水面２２ａは大きな板ポリゴン３０により不自然にならない程度に簡略化された形で描画処理された形で表示される。
【００６７】
なお、上述の実施例は、大表面オブジェクト２１として湖２２についてその水面２２ａの映像２２ｂを演算生成する場合ついて述べたが、大表面オブジェクト２１としては、既に述べたように、湖２２にかぎらず、海、ジャングル、川、砂漠など、海面、多数の植物、川面、砂の表面など、比較的単調で大きな表面を有するオブジェクトであればどのようなオブジェクトでも適用が可能である。
【００６８】
また、上述の実施例は、仮想カメラ２３のカメラ座標２６のＸ軸がワールド座標２７のＸＺ平面（水平面）に平行に設定されている場合について説明したが、仮想カメラ２３のＸ軸は必ずしもワールド座標２７のＸＺ平面に平行である必要はなく、傾いていてもよい。即ち、図に示すメッシュ２９を投影面２５ｃに設定して投影メッシュ２９Ａを大表面オブジェクト２１の表面が配置される座標位置に投影する際に、仮想カメラ２３のＸ軸がワールド座標２７のＸＺ平面に平行に保持されていれば良く、仮想カメラ２３により映像２２ｂを取得する際に、仮想カメラ２３のＸ軸をワールド座標２７のＸＺ平面に対して傾けた状態で、投影面２５ｃに対して、投影メッシュ２９Ａの目２９ｂに配置された、ポリゴン画像処理の完了した各ポリゴン３０を透視変換する形で映像２２ｂを取得生成するように構成することも出来る。
【産業上の利用可能性】
【００６９】
本発明は、コンピュータを利用した電子ゲーム機器及びコンピュータに実行させる娯楽用ソフトウエアとして利用することが出来る。
【図面の簡単な説明】
【００７０】
【図１】図１は、本発明が適用されるゲーム機の制御ブロック図。
【図２】図２は、３次元仮想空間内に配置された湖（大表面オブジェクト）及び該湖の情景をレンダリングするために配置された仮想カメラの一例を示す模式図。
【図３】図３は、図２の仮想カメラの視野境界と湖の水面との関係を示す模式図。
【図４】図４は、図３の平面図。
【図５】図５は、カメラ座標の投影面に設定されたメッシュの一例を示す模式図。
【図６】図６は、ディスプレイに表示される水面の映像の一例を示す図。
【図７】図７は、大表面オブジェクト処理の概要を示すフローチャートである。
【符号の説明】
【００７１】
１……ＣＰＵ                        ９……モニタ
１６……コンピュータ（本体）        ２０……ゲーム装置
２１……大表面オブジェクト          ２２……大表面オブジェクト（湖）
２２ａ……表面（水面）              ２２ｂ……映像
２３……仮想カメラ                             ２５……視野境界
２５ｃ……投影面                                  ２５ｅ……下面
２６……カメラ座標                               ２９……メッシュ
２９Ａ……投影メッシュ               ２９ａ、２９ｂ……目
３０……板ポリゴン                               ３１……３次元仮想空間
ＣＰ……表面位置                                
ＢＯＤ……メッシュ生成手順、投影メッシュ設定手順、部分モデリング手順、表面位置演算手順（大表面オブジェクト処理プログラム）
ＣＣＰ……仮想カメラ設定手順、レンダリング処理手順、表示手順（カメラ制御プログラム）
ＧＰＲ……ゲームソフトウエア
【図１】
2005293122.tif 000003
【図２】
2005293122.tif 000004
【図３】
2005293122.tif 000005
【図４】
2005293122.tif 000006
【図５】
2005293122.tif 000007
【図６】
2005293122.tif 000008
【図７】
2005293122.tif 000009