(57)【要約】【課題】３次元仮想空間内のフィールドに固定的なオブジェクトを配置する際に、少ない表示メモリ容量で、それらのオブジェクトを表現する。【解決手段】  モニタに表示する所定数以下のオブジェクトについての、フィールド上の配置位置に応じた表示情報ＤＩＮを格納するための格納領域をメモリに固定的な大きさで設定する手順、オブジェクトの配置位置及び仮想カメラの位置に基づき、仮想カメラにより取得されるオブジェクトの数及びその位置を検索演算する手順、検索演算されたオブジェクトを、フィールド上のそれぞれの位置に配置する際の表示情報を演算して格納領域に格納する手順、表示情報に基づいて仮想カメラにより取得される所定数以下のオブジェクトについて、画像を生成しモニタに表示する手順、仮想カメラの配置位置が移動した際に、仮想カメラが取得するオブジェクトの数及びその位置を再度検索演算させる手順、を実行させるプログラム。【選択図】    図５
2005305042.tif 000002
【特許請求の範囲】
【請求項１】
３次元仮想空間に生成されたフィールド上に固定的に配置される複数のオブジェクトのうち、所定数以下の一部のオブジェクトのみを、該３次元仮想空間に配置された仮想カメラから選択的に取得して、モニタに表示する手順を、コンピュータに実行させるためのゲームソフトウエアであって、
前記ゲームソフトウエアは、前記コンピュータに、
前記３次元仮想空間にゲーム中のキャラクタが行動するための前記フィールドを生成するフィールド生成手順、
前記モニタに表示する前記所定数以下のオブジェクトについての、当該オブジェクトの前記フィールド上の配置位置に応じた表示情報を格納するための表示情報格納領域を前記メモリに固定的な大きさで確保設定するメモリ領域設定手順、
前記コンピュータのメモリに格納された固定的なオブジェクトの配置位置及び前記仮想カメラの前記３次元仮想空間内の位置に基づき、前記仮想カメラにより取得される前記所定数以下のオブジェクトの数及びその位置を検索演算する、オブジェクト検索手順、
前記オブジェクト検索手順により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の前記表示情報を演算して、前記表示情報格納領域に格納する、表示情報演算格納手順、
前記演算され前記メモリに格納された表示情報に基づいて、前記オブジェクト検索手順により検索演算された前記仮想カメラにより取得される前記所定数以下のオブジェクトについて、表示すべき画像を生成し、前記モニタに表示する画像生成表示手順、
前記仮想カメラの配置位置が前記３次元仮想空間内で移動した際に、該移動した仮想カメラが取得する前記所定数以下のオブジェクトの数及びその位置を、前記オブジェクト検索手順に再度検索演算させる指令手順、
を実行させるプログラムを有する、ゲームソフトウエア。
【請求項２】
前記固定的なオブジェクトは、複数のポリゴンからモデリングされたポリゴンモデルである、請求項１記載のゲームソフトウエア。
【請求項３】
前記表示情報演算格納手順は、前記オブジェクト検索手順により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の、シエーディング情報やテクスチャー情報を前記表示情報として演算する手順を含むことを特徴とする、請求項１記載のゲームソフトウエア。
【請求項４】
前記仮想カメラの前記３次元仮想空間内での配置位置が変更された前後で、前記オブジェクト検索手順により検索される前記所定数以下のオブジェクトの数及びその位置の変化を監視する変化検出手順、
前記変化検出手順の監視結果に基づいて、前記仮想カメラの位置の変更により、前記表示情報演算格納手順により、新たに表示情報を演算しなければならないオブジェクトを検出するオブジェクト検出手順、
前記オブジェクト検出手順により検出された、新たに表示情報を演算しなければならないオブジェクトの前記表示情報の演算格納を、前記表示情報演算格納手順に対して指令する表示情報演算指令手順、
を有する、請求項１記載のゲームソフトウエア。
【請求項５】
３次元仮想空間に生成されたフィールド上に固定的に配置される複数のオブジェクトのうち、所定数以下の一部のオブジェクトのみを、該３次元仮想空間に配置された仮想カメラから選択的に取得して、モニタに表示する手段を有するゲーム装置であって、
前記ゲーム装置は、
前記３次元仮想空間にゲーム中のキャラクタが行動するための前記フィールドを生成するフィールド生成手段、
前記モニタに表示する前記所定数以下のオブジェクトについての、当該オブジェクトの前記フィールド上の配置位置に応じた表示情報を格納するための表示情報格納領域を前記メモリに固定的な大きさで確保設定するメモリ領域設定手段、
前記コンピュータのメモリに格納された固定的なオブジェクトの配置位置及び前記仮想カメラの前記３次元仮想空間内の位置に基づき、前記仮想カメラにより取得される前記所定数以下のオブジェクトの数及びその位置を検索演算する、オブジェクト検索手段、
前記オブジェクト検索手段により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の前記表示情報を演算して、前記表示情報格納領域に格納する、表示情報演算格納手段、
前記演算され前記メモリに格納された表示情報に基づいて、前記オブジェクト検索手段により検索演算された前記仮想カメラにより取得される前記所定数以下のオブジェクトについて、表示すべき画像を生成し、前記モニタに表示する画像生成表示手段、
前記仮想カメラの配置位置が前記３次元仮想空間内で移動した際に、該移動した仮想カメラが取得する前記所定数以下のオブジェクトの数及びその位置を、前記オブジェクト検索手段に再度検索演算させる指令手段、
を有するゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元仮想空間内に設定されたフィールドに、樹木などの複数のポリゴンから構成されるポリゴンモデルなどを固定的なオブジェクトとして複数配置する際に適用するに好適な、ゲームソフトウエア及びゲーム装置に関する。
【０００２】
なお、本明細書において、「ゲームソフトウエア」とは、プログラムそれ自体及び必要に応じて該プログラムに付随して関連づけられた各種のデータを含む概念である。しかし、「ゲームソフトウエア」は必ずしもデータと関連づけられている必要はないが、プログラムは必ず有している。また、「この関連づけられた各種のデータ」は、プログラムと共にＲＯＭディスクなどのメモリ手段に格納されていてもよく、更には外部のメモリ手段にインターネットなどの通信媒介手段を介して読み出し自在に格納されていてもよい。
【背景技術】
【０００３】
従来、この種のゲームソフトウエアにおいて、３次元仮想空間内に設定されたフィールドに、樹木などの複数のポリゴンから構成されるポリゴンモデルを固定的なオブジェクトとして複数個配置する際には、当該フィールドに配置すべきオブジェクトの総数に対応したメモリ領域を予め確保して、それらオブジェクトの表示を行っていた。
【０００４】
なお、出願人は、３次元仮想空間内に設定されたフィールドに、複数のポリゴンから構成されるポリゴンモデルなどを固定的なオブジェクトとして配置する際に、どのような手法で実現するかに関して、体系的に記述した文献を知らないので、開示すべき従来技術はない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、これでは、フィールド全体に配置すべきオブジェクトの総数に見合ったメモリ領域を確保する必要が生じ、表示用のメモリ領域が大きくなってしまう不都合が生じる。
【０００６】
本発明は、上記した事情に鑑み、３次元仮想空間内に設定されたフィールドに、樹木などの複数のポリゴンから構成されるポリゴンモデルなどを固定的なオブジェクトとして複数個配置する際に、少ない表示メモリ容量で、それらのオブジェクトを効率的に表現することの出来る、ゲームソフトウエア及びゲーム装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
請求項１の発明は、３次元仮想空間に生成されたフィールド（ＦＬＤ）上に固定的に配置される複数のオブジェクトのうち、所定数以下の一部のオブジェクトのみを、該３次元仮想空間に配置された仮想カメラ（３１）から選択的に取得して、モニタ（９）に表示する手順を、コンピュータに実行させるためのゲームソフトウエア（ＧＰＲ）であって、
前記ゲームソフトウエアは、前記コンピュータに、
前記３次元仮想空間にゲーム中のキャラクタが行動するための前記フィールドを生成するフィールド生成手順、
前記モニタに表示する前記所定数以下のオブジェクトについての、当該オブジェクトの前記フィールド上の配置位置に応じた表示情報（ＤＩＮ）を格納するための表示情報格納領域（例えば、図３メモリ領域Ａ、Ｂ、Ｃ、Ｄ）を前記メモリに固定的な大きさで確保設定するメモリ領域設定手順、
前記コンピュータのメモリに格納された固定的なオブジェクトの配置位置及び前記仮想カメラの前記３次元仮想空間内の位置に基づき、前記仮想カメラにより取得される前記所定数以下のオブジェクトの数及びその位置を検索演算する、オブジェクト検索手順、
前記オブジェクト検索手順により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の前記表示情報を演算して、前記表示情報格納領域に格納する、表示情報演算格納手順、
前記演算され前記メモリに格納された表示情報に基づいて、前記オブジェクト検索手順により検索演算された前記仮想カメラにより取得される前記所定数以下のオブジェクトについて、表示すべき画像を生成し、前記モニタに表示する画像生成表示手順、
前記仮想カメラの配置位置が前記３次元仮想空間内で移動した際に、該移動した仮想カメラが取得する前記所定数以下のオブジェクトの数及びその位置を、前記オブジェクト検索手順に再度検索演算させる指令手順、
を実行させるプログラムを有する、ゲームソフトウエアとして構成される。
【０００８】
請求項２の発明は、前記固定的なオブジェクトは、複数のポリゴンからモデリングされたポリゴンモデル（３０）で構成される。
【０００９】
請求項３の発明は、前記表示情報演算格納手順は、前記オブジェクト検索手順により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の、シエーディング情報やテクスチャー情報を前記表示情報として演算する手順を含むことを特徴として構成される。
【００１０】
請求項４の発明は、前記仮想カメラの前記３次元仮想空間内での配置位置が変更された前後で、前記オブジェクト検索手順により検索される前記所定数以下のオブジェクトの数及びその位置の変化を監視する変化検出手順、
前記変化検出手順の監視結果に基づいて、前記仮想カメラの位置の変更により、前記表示情報演算格納手順により、新たに表示情報（ＤＩＮ）を演算しなければならないオブジェクトを検出するオブジェクト検出手順、
前記オブジェクト検出手順により検出された、新たに表示情報を演算しなければならないオブジェクトの前記表示情報の演算格納を、前記表示情報演算格納手順に対して指令する表示情報演算指令手順、
を有して構成される。
【００１１】
請求項５の発明は、３次元仮想空間に生成されたフィールド上に固定的に配置される複数のオブジェクトのうち、所定数以下の一部のオブジェクトのみを、該３次元仮想空間に配置された仮想カメラから選択的に取得して、モニタに表示する手段を有するゲーム装置であって、
前記ゲーム装置は、
前記３次元仮想空間にゲーム中のキャラクタが行動するための前記フィールドを生成するフィールド生成手段、
前記モニタに表示する前記所定数以下のオブジェクトについての、当該オブジェクトの前記フィールド上の配置位置に応じた表示情報を格納するための表示情報格納領域を前記メモリに固定的な大きさで確保設定するメモリ領域設定手段、
前記コンピュータのメモリに格納された固定的なオブジェクトの配置位置及び前記仮想カメラの前記３次元仮想空間内の位置に基づき、前記仮想カメラにより取得される前記所定数以下のオブジェクトの数及びその位置を検索演算する、オブジェクト検索手段、
前記オブジェクト検索手段により検索演算された前記オブジェクトを、前記フィールド上のそれぞれの位置に配置する際の前記表示情報を演算して、前記表示情報格納領域に格納する、表示情報演算格納手段、
前記演算され前記メモリに格納された表示情報に基づいて、前記オブジェクト検索手段により検索演算された前記仮想カメラにより取得される前記所定数以下のオブジェクトについて、表示すべき画像を生成し、前記モニタに表示する画像生成表示手段、
前記仮想カメラの配置位置が前記３次元仮想空間内で移動した際に、該移動した仮想カメラが取得する前記所定数以下のオブジェクトの数及びその位置を、前記オブジェクト検索手段に再度検索演算させる指令手段、
を有して構成される。
【発明の効果】
【００１２】
請求項１及び５の発明によれば、フィールド（ＦＬＤ）上に固定的に配置される複数のオブジェクトのうち、モニタに表示する所定数以下のオブジェクトについての表示情報（ＤＩＮ）を格納するための表示情報格納領域（例えば、図３メモリ領域Ａ、Ｂ、Ｃ、Ｄ）がメモリに固定的な大きさで確保設定されると共に、仮想カメラにより取得される前記所定数以下のオブジェクトの数及びその位置が検索演算されて、対応する表示情報（ＤＩＮ）が表示情報格納領域に格納され、オブジェクトの画像がモニタ（９）に表示される。また、仮想カメラの配置位置が３次元仮想空間内で移動した場合には、該移動した仮想カメラが取得する前記所定数以下のオブジェクトの数及びその位置が再度検索演算されて、表示情報格納領域に格納され、当該格納された表示情報（ＤＩＮ）に基づいて画像がモニタ（９）に表示される。これにより、限られたメモリ容量の表示情報格納領域を使い回しながら、フィールド上のオブジェクトを表示することが可能となる。
【００１３】
請求項２の発明は、固定的なオブジェクトが、複数のポリゴンからモデリングされたポリゴンモデル（３０）の場合、表示情報（ＤＩＮ）が大容量となるが、それを格納する表示情報格納領域を使い回すことによりそれらのポリゴンモデルを効率的に表現することの出来る。
【００１４】
請求項３の発明は、前記表示情報としてシエーディング情報やテクスチャー情報が表示情報格納領域に格納されるので、各オブジェクトのレンダリングをそれら表示情報（ＤＩＮ）に基づいて適切に行うことが出来る。
【００１５】
請求項４の発明は、仮想カメラ（３１）の配置位置が変更された場合でも、新たに演算が必要なオブジェクトについてだけ表示情報（ＤＩＮ）が演算格納されるので、ＣＰＵ（１）の負担を軽減することが出来る。
【００１６】
なお、括弧内の番号等は、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づき、本発明の実施例を説明する。
【００１８】
図１は、本発明が適用されるゲーム機の制御ブロック図、図２は、３次元仮想空間内に配置された複数の固定的なオブジェクトの一例を示す模式図、図３は、図２のオブジェクトを表示する際に使用される表示用メモリの一例を示す模式図、図４は、仮想カメラとビューボリュームとの関係を示す模式図、図５はオブジェクトの配置処理手順の一例を示すフローチャートである。
【００１９】
ゲーム装置２０は、図１に示すように、記録媒体としてのＲＯＭディスク１５に記録されたアドベンチャーゲームなどのゲーム用プログラムに従って所定のゲームを実行するものである。ゲーム装置２０は、マイクロプロセッサを主体として構成されたＣＰＵ１と、そのＣＰＵ１に対する主記憶装置としてのＲＯＭ２およびＲＡＭ３と、画像処理装置４およびサウンド処理装置６と、それらの装置に対するバッファ５、７と、ＲＯＭディスク読取装置８とを有している。ＲＯＭ２には、ゲーム機の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。ＲＡＭ３には記憶媒体としてのＲＯＭティスク１５から読み取ったゲーム用のプログラムやデータが必要に応じて書き込まれる。画像処理装置４はＣＰＵ１から画像データを受け取ってフレームバッファ５上にゲーム画面を描画するとともに、その描画された画像のデータを所定のビデオ再生信号に変換して所定のタイミングでモニタ９に出力する。サウンド処理装置６は、ＲＯＭティスク１５から読み出されてサウンドバッファ７に記録された音声、楽音等のデータや音源データ等を再生してスピーカ１０から出力させる。ＲＯＭディスク読取装置８は、ＣＰＵ１からの指示に従ってＲＯＭディスク１５上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。ＲＯＭディスク１５にはゲームの実行に必要なプログラムやデータが記録されている。モニタ９には家庭用のテレビ受像機が、スピーカ１０にはそのテレビ受像機の内蔵スピーカが一般に使用される。
【００２０】
さらに、ＣＰＵ１にはバス１４を介して通信制御デバイス１１が接続され、そのデバイス１１には入力装置としてのコントローラ１２及び補助記憶装置１３が適宜な接続ポートを介してそれぞれ着脱自在に接続される。コントローラ１２は入力装置として機能するものであり、そこにはプレーヤによる操作を受け付ける操作キーなどの操作部材が設けられる。通信制御デバイス１１は一定周期（例えば1／60秒）でコントローラ１２の操作状態を走査し、その走査結果に対応した信号をＣＰＵ１に出力する。ＣＰＵ１はその信号に基づいてコントローラ１２の操作状態を判別する。コントローラ１２及び補助記憶装置１３は通信制御デバイス１１に対して複数並列に接続可能である。
【００２１】
以上の構成において、モニタ９、スピーカ１０、コントローラ１２、ＲＯＭディスク１５及び補助記憶装置１３を除く他の構成要素は所定のハウジング内に一体的に収容されてゲーム機本体１６を構成する。このゲーム機本体１６がコンピュータとして機能する。
【００２２】
ＲＯＭディスク１５上には、アクションゲーム、ロールプレイングゲームやアドベンチャーゲームなどの、所定のシナリオに従ってゲームが進行するゲームソフトウエアＧＰＲが格納されている。
【００２３】
ゲーム装置２０においては、所定の初期化操作（例えば電源の投入操作）が行われるとＣＰＵ１がまずＲＯＭ２のプログラムに従って所定の初期化処理を実行する。初期化が終わるとＣＰＵ１はＲＯＭディスク１５上に格納された、ゲームソフトウエアＧＰＲの読み込みを開始し、そのプログラムに従ってゲーム処理を開始する。プレーヤがコントローラ１２に対して所定のゲーム開始操作を行うと、ＣＰＵ１はその指示に基づいたゲームソフトウエアＧＰＲの手順に従ってゲームの実行に必要な種々の処理を開始する。
【００２４】
以後、ゲーム装置２０は、読み込んだゲームソフトウエアＧＰＲに従って、所定の処理を行って、モニタ９上に表示される画像を表示制御して、所定のシナリオを進行制御して行く。
【００２５】
以上の構成のゲーム装置２０では、ＲＯＭディスク１５に記録されたプログラムをＲＡＭ３にロードしてＣＰＵ１で実行することにより、様々なジャンルのゲームをディスプレイ９の画面上でプレイすることが出来る。
【００２６】
なお、本発明に係るゲームソフトウエアを機能させるコンピュータとして、例えば家庭用ゲーム機としてのゲーム機１を一例として説明したが、該ゲーム機１は、いわゆる携帯型ゲーム機であってもよく、更に、ゲーム専用の装置でなく、一般的な音楽や映像の記録媒体の再生なども可能な装置であってもよく、これに限らず、コンピュータとして、例えばパーソナルコンピュータ、携帯電話機など、つまりゲームソフトウエアを機能させることのできるものであれば何れのものでもよい。
【００２７】
なお、ゲームソフトウエアＧＰＲを構成する各種のプログラム及び各種のデータは、ゲームソフトウエアＧＰＲのプログラム機能によって読み出し自在に有している限り、その格納態様は任意であり、本実施の形態のように、ゲームソフトウエアＧＰＲのプログラムと共にＲＯＭディスク１５中に格納するほかに、ゲーム機１とは独立したサーバーなどの外部のメモリ手段に格納しておき、ゲームソフトウエアＧＰＲ中に設けられた読み出しプログラムによって、インターネットなどの通信媒介手段を介してＲＡＭ３などのメモリにダウンロードするように構成してもよい。
【００２８】
ゲームソフトウエアＧＰＲによるゲームは、図１及び図２に示すように、ゲームソフトウエアＧＰＲのフィールド生成プログラムＦＰＰにより、ＣＰＵ１がＲＡＭ３内に生成する３次元仮想空間４０内に設定したフィールドＦＬＤ上を、プレーヤがコントローラ１２を介して操作自在なキャラクタ（図示せず）を移動させながら、敵キャラクタとの戦闘を行い、シナリオを進めてゆく、所謂アアクションゲームとして設定されている。
【００２９】
なお、図１に示した、ゲームソフトウエアＧＰＲには、該ゲームソフトウエアＧＰＲを構成する、本発明に関連するソフトウエア要素のみを記述しており、ゲームソフトウエアＧＰＲには、図１に記載された以外に、当該ゲームソフトウエアＧＰＲを用いてゲームを実行する上で必要な多様なプログラム及びデータが格納されている。
【００３０】
ゲームの開始に際して、フィールド生成プログラムＦＰＰはＣＰＵ１を介して、３次元仮想空間４０内に、ゲーム内でプレーヤのコントローラ１２の操作に基づき移動制御されるキャラクタ（図示せず）が行動するためのフィールドＦＬＤを生成する（図５のステップＳ１）。３次元仮想空間４０内にフィールドＦＬＤが生成されたところで、ゲームソフトウエアＧＰＲを構成する樹木配置プログラムＴＤＰが起動され、樹木配置プログラムＴＤＰは、ゲームソフトウエアＧＰＲを構成する樹木配置ファイルＴＤＦに基づいて、該生成されたフィールドＦＬＤ上の複数のワールド座標位置に、樹木を表現する樹木ポリゴンモデル３０を固定的なオブジェクトとしてそれぞれ配置する処理を行う。
【００３１】
なお、フィールドＦＬＤに配置される樹木ポリゴンモデル３０は、多数のポリゴンからモデリングされており、通常、当該樹木ポリゴンモデル３０としては、１種類以上のモデルがデザインされ、フィールドＦＬＤに配置可能なるように、ポリゴンモデルデータファイルＰＭＦにポリゴンモデルデータＰＭＤとして格納されている。
【００３２】
樹木配置ファイルＴＤＦには、フィールドＦＬＤに配置すべきオブジェクトとしての樹木ポリゴンモデル３０の配置位置を示すワールド座標位置、配置すべきポリゴンモデル３０の種別（ポリゴンモデル３０が複数設定されている場合）及び、当該ポリゴンモデル３０を配置する際のポリゴンモデル３０の向きやスケールなどの３次元幾何変換情報などが、モデル配置情報ＭＤＩとして、配置位置ごとに設定される形で格納されている。
【００３３】
なお、図２に示すフィールドＦＬＤには、例えば４０本の樹木ポリゴンモデル３０をオブジェクトして配置するように設定されており、この場合樹木配置ファイルＴＤＦには、それら４０本の樹木ポリゴンモデル３０を配置すべき各位置に関して、上述のモデル配置情報ＭＤＩが格納されている。従って、樹木配置プログラムＴＤＰは、該樹木配置ファイルＴＤＦに示された樹木ポリゴンモデル３０のモデル配置情報ＭＤＩに基づいて、樹木ポリゴンモデル３０をフィールドＦＬＤ内の所定位置に配置してゆくことが出来る。
【００３４】
ところで、モニタ９に表示される映像は、図２に示すように、３次元仮想空間４０の適宜な位置に設定された仮想カメラ３１を視点として設定されたカメラ座標系３３に基づいて、ゲームソフトウエアＧＰＲの画像生成プログラムＰＰＰにより、ＣＰＵ１及び画像処理装置５により演算生成される。
【００３５】
仮想カメラ３１及びカメラ座標系３３には、図２及び図４に示すように、水平視角α及び垂直視角βにより定義付けられた４角錐状の視角領域３２が設定されており、視角領域３２には、３次元仮想空間４０内のオブジェクトの投影範囲を規定する前方クリッピング面３２ａ及び後方クリッピング面３２ｂが設定されている。それら前方クリッピング面３２ａと後方クリッピング面３２ｂとの間には、投影面３２ｄが設定されており、投影面３２ｄには、視角領域３２の前方クリッピング面３２ａと後方クリッピング面３２ｂとの間に挟まれた領域であるビューボリューム３２ｃに含まれるオブジェクトが透視変換されて投影される形で、画像が取得される。
【００３６】
画像生成プログラムＰＰＰは、仮想カメラ３１を用いてフィールドＦＬＤの画像を取得する際には、前述したように、仮想カメラ３１を３次元仮想空間４０内の適宜な位置（通常、プレーヤがコントローラを介して操作する操作キャラクタから一定の距離を置いた位置）に設定すると共に、カメラ座標系３３のＺ軸、即ち仮想カメラ３１の向きを所定の方向に設定する。この際、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、仮想カメラ３１により一画面として取得されるフィールドＦＬＤ上の固定的なオブジェクトとしての樹木ポリゴンモデル３０の数は、数本、例えば２、３本といったように、フィールドＦＬＤ上に配置される固定的なオブジェクトの総数に比して、大幅に小さな値となるように、設定する。これは仮想カメラ３１の視点位置、カメラ座標のＺ軸方向の向き適宜調整することにより、可能である。また、各固定的なオブジェクトのモデル配置位置をゲームソフトウエアＧＰＲの作成段階で設定する際に、仮想カメラ３１の位置を予め想定して、該仮想カメラ３１により１画面で取得される固定的なオブジェクトの数が、所定の最大描画本数以下となるようにその配置位置を設定するようにしてもよい。
【００３７】
画像生成プログラムＰＰＰは、ゲームソフトウエアＧＰＲに格納された、樹木配置ファイルＴＤＦをＲＯＭディスク１５から主記憶装置であるＲＡＭ３に格納し、当該樹木配置ファイルＴＤＦに格納されたフィールドＦＬＤ上に配置されるべき固定的なオブジェクトの配置位置を示すモデル位置情報ＭＤＩや、当該配置位置でのポリゴンモデルなどの配置態様を示す配置態様データなどに基づいて、以後の処理を行う。フィールドに配置される固定的なオブジェクトとしては、樹木に限らず、他のオブジェクトも設定されているが、ここでは、説明を簡単にするために、ゲームソフトウエアＧＰＲには、固定オブジェクト配置ファイルとしては、樹木のオブジェクトのみの配置データを格納した樹木配置ファイルＴＤＦだけが設定されているものとする。従って、樹木配置ファイルＴＤＦには、固定的なオブジェクトとして、樹木を表現するオブジェクトをフィールドＦＬＤ上の複数箇所に設定するための、データが格納されているものとする。
【００３８】
画像生成プログラムＰＰＰは、同時に、ＣＰＵ１を介して、設定された仮想カメラ３１のビューボリューム３２ｃ内の、フィールドＦＬＤにオブジェクトとして配置され、透視変換の結果投影面３２ｄに画像として取得されるはずのオブジェクトとしての樹木ポリゴンモデル３０の数及び３次元仮想空間内での位置を、樹木配置ファイルＴＤＦのモデル位置情報ＭＤＩ及び仮想カメラ３１の３次元仮想空間における配置位置データをもとに検索演算する（図２のステップＳ２）。
【００３９】
即ち、例えば、フィールドＦＬＤに、固定的なオブジェクトとして配置される樹木ポリゴンモデル３０が、樹木配置ファイルＴＤＦのモデル位置情報ＭＤＩから、図２に示すように、モデル番号１、２、３、４、５……に示すように演算された場合、仮想カメラ３１の配置位置データに基づいて、仮想カメラ３１が位置（ａ）に有る場合には、投影面３２ｄに画像として選択的に取得されるはずの樹木ポリゴンモデル３０は、モデル番号１、２及び３の３本となり、仮想カメラ３１が位置（ｂ）に有る場合には、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０の数は、モデル番号２、３及び４の３本となり、仮想カメラ３１が位置（ｃ）に有る場合には、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０の数は、モデル番号２、４及び５の３本となる。こうして、画像として取得すべき、従って、モニタ９に表示すべきオブジェクトとして演算決定された樹木ポリゴンモデル３０は、そのモデル番号が所定のメモリに記録される。
【００４０】
なお、画像生成プログラムＰＰＰには、仮想カメラ３１により１画面に取得するフィールド上の固定的なオブジェクトとしての樹木ポリゴンモデル３０の最大数が、最大描画本数として設定されており、画像生成プログラムＰＰＰは、ＣＰＵ１を介して当該最大描画本数に対応したオブジェクトの後述する表示情報ＤＩＮを格納するためのメモリ領域を、主記憶装置であるＲＡＭ３に固定的な領域として確保する形で演算設定する。この最大描画本数は、フィールド上に配置されるオブジェクトとしての樹木ポリゴンモデル３０の総数（例えば、４０本）の、１／１０程度（例えば、４本）に設定されている。
【００４１】
透視変換の結果、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０の数が、最大描画本数である、例えば４本以下の場合には、画像生成プログラムＰＰＰは、モニタ９に表示すべき樹木ポリゴンモデル３０として演算決定された所定のモデル番号の樹木ポリゴンモデル３０を、表示モデルとして決定する（図５のステップＳ４）。
【００４２】
また、所定の最大描画本数、例えば５本以上の樹木ポリゴンモデル３０が投影面３２ｄに画像として取得されるものと演算された場合には、画像生成プログラムＰＰＰは、仮想カメラ３１の配置位置からカメラ座標のＺ軸方向において、仮想カメラ３１に近い順から、最大描画本数（例えば、４本）までの樹木ポリゴンモデル３０を、取得すべき樹木ポリゴンモデル３０として演算決定し、そのモデル番号をメモリに記録する（図５のステップＳ５）。
【００４３】
いま、仮に仮想カメラ３１が、図２の位置（ａ）に配置されている場合、画像生成プログラムＰＰＰ及びＣＰＵ１により、モニタ９に表示すべきオブジェクトとして演算決定された樹木ポリゴンモデル３０は、モデル番号が１乃至３の樹木ポリゴンモデル３０となる。次に、画像生成プログラムＰＰＰは、ＣＰＵ１及び画像処理装置４を介して、モデル番号が１から３についてのモデル位置情報ＭＤＩから、樹木ポリゴンモデル３０をフィールドＦＬＤ上の対応する位置に配置すると共に、各モデル番号の樹木ポリゴンモデル３０について、仮想カメラ３１によるレンダリングに際した、そのフィールドＦＬＤ上の配置位置に応じた表示情報ＤＩＮを演算する（図５のステップＳ６）。得られた各表示情報ＤＩＮは、図３（ａ）に示すように、ＲＡＭ３内の所定のメモリ領域Ａ、Ｂ、Ｃ、Ｄに、各モデル番号に対応した形で格納する。
【００４４】
そして、ＲＡＭ３内の当該表示情報ＤＩＮに基づいてフィールドＦＬＤ上に配置された所定数（この場合３本）の樹木ポリゴンモデル３０をレンダリングして、表示画像を生成する（図５のステップＳ７）。
【００４５】
この表示情報ＤＩＮは、仮想カメラ３１の前記した配置位置から、フィールドＦＬＤ上に配置された樹木ポリゴンモデルをレンダリングして取得した際に、取得画像を生成するために必要な情報である。例えば各樹木ポリゴンモデル３０のフィールドＦＬＤ上の配置位置における光源情報や、各樹木ポリゴンモデル３０を構成する多数のポリゴンについてそれぞれ設定された反射率や色情報に基づく、反射光の色、強さなどのシェーディング情報や、樹木ポリゴンモデル３０の配置位置に応じて必要に応じて変化させるテクスチャー情報などであり、それら表示情報ＤＩＮは、各樹木ポリゴンモデル３０の配置位置毎に、演算され、前記したモデル番号に対応したＲＡＭ３のメモリ領域Ａ、Ｂ、Ｃ、Ｄにそれぞれ格納される。
【００４６】
なお、既に述べたように、仮想カメラ３１により取得されるフィールドＦＬＤ上の樹木ポリゴンモデル３０は、モデル番号１から３の３本についてだけなので、表示情報ＤＩＮを格納するＲＡＭ３のメモリ領域は、３本分の領域だけで済み、樹木配置ファイルＴＤＦに示されたフィールドＦＬＤ上に配置すべき全ての樹木ポリゴンモデル３０について演算格納する必要はない。従って、表示情報ＤＩＮを格納するためのメモリ領域を大幅に節約することが出来る。通常、この表示情報ＤＩＮは、樹木ポリゴンモデル３０を構成する各ポリゴンの頂点毎に演算されるので、そのデータ量は、樹木ポリゴンモデル３０のポリゴン数が増大するほど大きくなる。
【００４７】
なお、ＲＡＭ３のメモリ領域には、図３に示すように、フィールドＦＬＤ上から取得されるオブジェクトの画像についての表示情報ＤＩＮを格納する領域として、最大描画本数に対応する４本分の樹木ポリゴンモデル３０についての格納領域が予め固定的に確保されている。
【００４８】
こうして、図２の仮想カメラ３１の位置が（ａ）の場合には、モデル番号１から３までの配置位置に配置される樹木ポリゴンモデル３０について、各位置の表示情報ＤＩＮが、画像生成プログラムＰＰＰ及びＣＰＵ１により演算され、図３（ａ）に示すように、ＲＡＭ３のメモリ領域Ａ、Ｂ、Ｃにそれぞれ各モデル番号に対応に対応する形で格納される。そして、当該表示情報ＤＩＮに基づいて、仮想カメラ３１からレンダリングされた画像が生成され、モニタ９に表示される。
【００４９】
なお、メモリ領域Ｄについては、位置（ａ）の仮想カメラ３１により取得される樹木ポリゴンモデル３０は、モデル番号１から３の３本以外に無いので、何も格納されない。なお、この際、後述する仮想カメラ３１の移動に備えて、モデル番号３に隣接するモデル番号が４のオブジェクトの樹木ポリゴンモデル３０（現在の仮想カメラ３１の位置（ａ）（図２参照）では、モデル番号が４のオブジェクトの樹木ポリゴンモデル３０はビューボリューム３２ｃ外にあり、モニタ９に表示されない）についの表示情報ＤＩＮも、同時に演算しておき、ＲＡＭ３のメモリ領域Ｄに、図３（ａ）に示すように格納しておいてもよい。
【００５０】
こうして、位置（ａ）に配置された仮想カメラ３１のビューボリューム３２ｃに含まれる形でフィールドＦＬＤ上に配置される３本の樹木ポリゴンモデル３０は、実際にフィールドＦＬＤ上に配置され、仮想カメラ３１によりその映像が取得される。しかし、仮想カメラ３１の位置が、プレーヤのコントローラ１２などを介した操作に基づき生成された指令により、図２に示す位置（ａ）から、位置（ｂ）又は位置（ｃ）に移動する場合がある。
【００５１】
仮想カメラ３１が移動した場合には、画像生成プログラムＰＰＰはＣＰＵ１を介して、再度、仮想カメラ３１のビューボリューム３２ｃ内の、フィールドＦＬＤにオブジェクトとして配置され、透視変換の結果投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０を、モデル位置情報ＭＤＩ及び仮想カメラ３１の３次元仮想空間における配置位置データをもとに検索演算する（図２のステップＳ８及びＳ２）。
【００５２】
仮想カメラ３１の位置が変わると、当然透視変換の結果投影面３２ｄに画像として取得されるはずフィールドＦＬＤ上の樹木ポリゴンモデル３０は変化することとなる。即ち、例えば、図２の場合、仮想カメラ３１が位置（ａ）から位置（ｂ）に移動した場合には、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、再度、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０の数及びその位置を演算するように自らに指令するルーチンを実行し、これを受けて画像生成プログラムＰＰＰは、図５のステップＳ２を再度実行して、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０を、それまでのモデル番号１、２及び３の３本から、モデル番号２、３及び４の３本と検索演算する。なお、図５の最大描画本数に関するステップＳ３乃至ステップＳ５までの演算についての説明は省略するが、前述と同様の処理を行って、仮想カメラ３１の位置変更後の、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０を決定する演算を行う。
【００５３】
すると、画像生成プログラムＰＰＰは、ＣＰＵ１及び画像処理装置４を介して、モデル番号が２から４についてのモデル位置情報ＭＤＩから、樹木ポリゴンモデル３０をフィールドＦＬＤ上の対応する位置に配置すると共に、各モデル番号の樹木ポリゴンモデル３０について、仮想カメラ３１によるレンダリングに際した、フィールドＦＬＤ上の配置位置に応じた表示情報ＤＩＮを演算する（図５のステップＳ６）。
【００５４】
また、画像生成プログラムＰＰＰは、ＣＰＵ１を介して仮想カメラ３１の３次元仮想空間内での配置位置が変更された前後で、仮想カメラ３１により取得されるオブジェクトの数及び位置の変化を監視し、仮想カメラ３１の位置の変更により、新たに表示情報ＤＩＮを演算しなければならないオブジェクトと、仮想カメラ３１の移動の結果、該仮想カメラ３１のビューボリューム３２ｃ外になってしまい、ＲＡＭ３のメモリ領域に格納された表示情報ＤＩＮが不要となったオブジェクトを検出する手順を実行する。
【００５５】
即ち、仮想カメラ３１の配置位置が位置（ａ）から位置（ｂ）に移動した場合には、オブジェクトの検索手順により、仮想カメラ３１により取得されるオブジェクトは、モデル番号１、２及び３から、モデル番号２、３及び４となる。その結果、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、新たに表示情報ＤＩＮを演算しなければならないオブジェクトとして、モデル番号が４のオブジェクトを、また、ビューボリューム３２ｃ外になってしまい、表示情報ＤＩＮが不要となったオブジェクトとして、モデル番号が１のオブジェクトを検出する。
【００５６】
次に、画像生成プログラムＰＰＰは、この検出結果から、ＣＰＵ１を介してモデル番号が４のオブジェクトを構成する樹木ポリゴンモデル３０についての表示情報ＤＩＮを演算するように自らに指令するルーチンを実行し、これを受けて、画像生成プログラムＰＰＰは、モデル番号が４のオブジェクトを構成する樹木ポリゴンモデル３０についての表示情報ＤＩＮを演算し、その演算結果を、いまだ表示情報ＤＩＮが格納されていないＲＡＭ３のメモリ領域Ｄに、図３（ａ）に示すように格納する。
【００５７】
こうした処理の結果、モデル番号２、３の樹木ポリゴンモデル３０については、すでにその表示情報ＤＩＮが、演算されてＲＡＭ３のメモリ領域Ｂ、Ｃに格納されているので、表示情報ＤＩＮの演算は、モデル番号４の樹木ポリゴンモデル３０についてのみ行えば良い。画像生成プログラムＰＰＰは、ＣＰＵ１を介して、ＲＡＭ３のメモリ領域Ｂ、Ｃ、Ｄに格納されたモデル番号２から４までの樹木ポリゴンモデル３０の表示情報ＤＩＮに基づいて、仮想カメラ３１からそれら３本の樹木ポリゴンモデル３０をレンダリングした画像を生成し、モニタ９に表示する。
【００５８】
更に、図２に示すように、仮想カメラ３１が位置（ｂ）から位置（ｃ）に移動した場合には、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、再度、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０の数及びその位置を演算するように自らに指令するルーチンを実行し、これを受けて画像生成プログラムＰＰＰは、図５のステップＳ２を再度実行して、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０を、それまでのモデル番号２、３及び４の３本から、モデル番号２、４及び５の３本と検索演算する。なお、図５の最大描画本数に関するステップＳ３乃至ステップＳ５までの演算についての説明は省略するが、前述と同様の処理を行って、仮想カメラ３１の位置変更後の、投影面３２ｄに画像として取得されるはずの樹木ポリゴンモデル３０を決定する演算を行う。
【００５９】
すると、画像生成プログラムＰＰＰは、ＣＰＵ１及び画像処理装置４を介して、モデル番号が２、４及び５についてのモデル位置情報ＭＤＩから、樹木ポリゴンモデル３０をフィールドＦＬＤ上の対応する位置に配置すると共に、各モデル番号の樹木ポリゴンモデル３０について、仮想カメラ３１によるレンダリングに際した、フィールドＦＬＤ上の配置位置に応じた表示情報ＤＩＮを演算する（図５のステップＳ６）。
【００６０】
また、既に述べたように、画像生成プログラムＰＰＰは、ＣＰＵ１を介して仮想カメラ３１の３次元仮想空間内での配置位置が変更された前後で、仮想カメラ３１により取得されるオブジェクトの変化を監視し、仮想カメラ３１の位置の変更により、新たに表示情報ＤＩＮを演算しなければならないオブジェクトと、仮想カメラ３１の移動の結果、該仮想カメラ３１のビューボリューム３２ｃ外になってしまい、ＲＡＭ３のメモリ領域に格納された表示情報ＤＩＮが不要となったオブジェクトを検出する。
【００６１】
即ち、仮想カメラ３１が位置（ｂ）から位置（ｃ）に移動した場合には、仮想カメラ３１により取得されるオブジェクトは、モデル番号２、３及び４から、モデル番号２、４及び５となる。その結果、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、新たに表示情報ＤＩＮを演算しなければならないオブジェクトとして、モデル番号が５のオブジェクトを、また、ビューボリューム３２ｃ外になってしまい、表示情報ＤＩＮが不要となったオブジェクトとして、モデル番号が１のオブジェクトを検出する。表示情報ＤＩＮが不要となったオブジェクトが複数有る場合には、仮想カメラ３１から遠い方のオブジェクトを優先して検出し、抽出する。
【００６２】
次に、画像生成プログラムＰＰＰは、この検出結果から、ＣＰＵ１を介してモデル番号が５オブジェクトを構成する樹木ポリゴンモデル３０についての表示情報ＤＩＮを演算すると共に、その演算結果を、抽出された表示が不要となったモデル番号が１のオブジェクトについての表示情報ＤＩＮが格納されていたメモリ領域Ａに、それまでのモデル番号が１の表示情報ＤＩＮを消去し、新たにモデル番号が５の表示情報ＤＩＮを格納する形で、図３の（ｂ）に示すように更新する。
【００６３】
即ち、モデル番号２及び４の樹木ポリゴンモデル３０については、既にフィールドＦＬＤ上に配置され、またにその表示情報ＤＩＮが、演算されてＲＡＭ３のメモリ領域Ｂ及びＤに格納されているので、樹木ポリゴンモデル３０のフィールドＦＬＤ上への配置及び表示情報ＤＩＮの演算は、モデル番号５の樹木ポリゴンモデル３０についてのみ行えば良い。そして、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、ＲＡＭ３のメモリ領域Ｂ、Ｄ、Ａに格納されたモデル番号２、４及び５の樹木ポリゴンモデル３０の表示情報ＤＩＮに基づいて、仮想カメラ３１からそれら３本の樹木ポリゴンモデル３０をレンダリングした画像を生成し、モニタ９に表示する。なお、モデル番号１の位置の樹木ポリゴンモデル３０は、すでに仮想カメラ３１のビューボリューム３２ｃの範囲外となっているので、モデル番号１の表示情報ＤＩＮがモデル番号５の表示情報ＤＩＮに更新されたとしても、仮想カメラ３１により取得される画像には何らの影響もない。
【００６４】
なお、仮想カメラ３１が、図２の位置（ｃ）からモデル番号２、４、５のオブジェクトの映像を取得していた状態から、モデル番号２、３、４のオブジェクトの映像を取得する、位置（ｂ）に戻された場合には、画像生成プログラムＰＰＰはＲＡＭ３のメモリ領域Ａ、Ｂ、Ｃ、Ｄに、図３（ｂ）に示すように、既にモデル番号５、２、３、４の表示情報ＤＩＮが格納されているものと判定するので、画像生成プログラムＰＰＰは、仮想カメラ３１の位置の変更により、新たに表示情報ＤＩＮを演算しなければならないオブジェクトを検出することはない。
【００６５】
この結果、画像生成プログラムＰＰＰは、ＣＰＵ１を介して、再度モデル番号３についての表示情報ＤＩＮを演算し直す必要はなく、メモリ領域Ｂ、Ｃ、Ｄに格納されたモデル番号２、３、４の表示情報ＤＩＮに基づいて、対応する位置に配置された樹木ポリゴンモデル３０に対するレンダリングを行い、モニタ９に表示する画像を演算取得する。
【００６６】
このように、仮想カメラ３１が移動する度に、仮想カメラ３１で取得されて、モニタ９に画像として表示されるフィールドＦＬＤ上に配置されたオブジェクトとしての樹木ポリゴンモデル３０を特定する演算を行い、仮想カメラ３１で取得されるオブジェクトとしての樹木ポリゴンモデル３０についてのみ、その表示情報ＤＩＮを演算して、所定のメモリ領域に格納する。これにより、フィールド上に配置される固定的なオブジェクトの総数よりも大幅に少ない、常に表示に必要な数だけの表示情報ＤＩＮをＲＡＭ３に設定されたオブジェクト表示用の、固定的な大きさのメモリ領域に格納しておくだけで足り、フィールドＦＬＤ上に固定的に配置された樹木ポリゴンモデル３０などの複数のポリゴンから構成されるポリゴンモデルの表示情報ＤＩＮの格納領域を大幅に節約することが出来る。
【００６７】
この技術は、特に、フィールドＦＬＤ全体に配置されるポリゴンモデル３０の数が多い状況で、仮想カメラ３１により取得され、モニタ９に一度に表示されるポリゴンモデル３０の数が数本と少ない場合に、特に有効である。
【００６８】
本実施例の場合には、フィールドＦＬＤ上には、４０本程度の樹木ポリゴンモデル３０が配置される反面、仮想カメラ３１によりモニタ９に表示する画像として一度に取得されるポリゴンモデル３０の数が数本、例えば２，３本のような場合に、それよりやや多い本数（例えば、４本）を最大描画本数として設定しておくことにより、樹木ポリゴンモデル３０の表示のために使用されるメモリ領域を、それまで４０本分全ての樹木ポリゴンモデル３０についての表示情報ＤＩＮの格納が必要だった場合に比して、大幅に節約することが出来る。
【００６９】
以上の実施形態においては、ＣＰＵ１がゲーム制御装置を構成し、そのＣＰＵ１と特定のソフトウエアとの組み合わせによってゲーム制御装置の各種の手段を構成したが、それらの手段の少なくとも一部は論理回路に置換してもよい。また、本発明は家庭用ゲームシステムに限らず、種々の規模のゲームシステムとして構成してよい。
【００７０】
なお、上述の実施例は、ポリゴンモデルとしては、樹木を表現する樹木ポリゴンモデル３０を用いた例を示したが、フィールドＦＬＤ上に配置するポリゴンモデルとしては、樹木ポリゴンモデル３０に限らず、複数のポリゴンから構成され、フィールドＦＬＤ上に固定的に配置されるオブジェクトであれば、草、石像、モニュメントなどどのようなものでもよい。
【産業上の利用可能性】
【００７１】
本発明は、コンピュータを利用した電子ゲーム機器及びコンピュータに実行させる娯楽用ソフトウエアとして利用することが出来る。
【図面の簡単な説明】
【００７２】
【図１】図１は、本発明が適用されるゲーム機の制御ブロック図。
【図２】図２は、３次元仮想空間内に配置された複数の固定的なオブジェクトの一例を示す模式図。
【図３】図３は、図２のオブジェクトを表示する際に使用される表示用メモリの一例を示す模式図。
【図４】図４は、仮想カメラとビューボリュームとの関係を示す模式図。
【図５】図５はオブジェクトの配置処理手順の一例を示すフローチャート。
【符号の説明】
【００７３】
１……ＣＰＵ
３……メモリ
９……モニタ
２０……ゲーム装置
３０……オブジェクト（ポリゴンモデル）
３１……仮想カメラ
ＤＩＮ……表示情報
ＦＬＤ……フィールド
ＧＰＲ……ゲームソフトウエア
【図１】
2005305042.tif 000003
【図２】
2005305042.tif 000004
【図３】
2005305042.tif 000005
【図４】
2005305042.tif 000006
【図５】
2005305042.tif 000007