(57)【特許請求の範囲】
【請求項１】
仮想三次元空間内の複数のエリアに配置した板状に形成されたポリゴンに、複数の観客を含むテクスチャをマッピングし、当該複数の観客を含む画像を生成する処理をコンピュータに実行させるプログラムであって、
前記コンピュータを、
第１及び第２の観客種の各々に属する観客の数と、前記第１及び第２の観客種の各々に対応付けられるカラー種と、を少なくとも含む観客情報を設定する観客情報設定手段、
前記仮想三次元空間内の前記エリアの各々に割り当てられる前記第１及び第２の観客種に属する観客の数を決定する観客分配手段、
前記仮想三次元空間内の前記エリアの各々における前記第１及び第２の観客種の混在比率を決定する混在比率決定手段、
前記エリア内に配置され、複数の観客を含むテクスチャがマッピングされる対象となる板状のポリゴンを決定するポリゴン決定手段、
前記テクスチャに含まれる前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種に基づいて、前記テクスチャの色と対応付けられたカラーパレットデータを決定するパレットデータ決定手段、
決定された前記カラーパレットデータに基づいて定められた前記テクスチャを、ポリゴン決定手段により決定された前記板状のポリゴンにマッピングするマッピング手段、
前記仮想三次元空間内に配置された仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる、前記複数の観客を含む二次元画像を生成する画像生成手段、
として機能させるプログラム。
【請求項２】
前記パレットデータ決定手段は、更に、前記エリアの各々に割り当てられた前記観客の数に応じて、前記テクスチャに含まれる前記観客のうちの一部が非表示状態となるように前記カラーパレットデータの内容を決定する、請求項１に記載のプログラム。
【請求項３】
前記観客情報設定手段は、前記仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて、前記観客情報を再設定する、請求項１に記載のプログラム。
【請求項４】
ポリゴン決定手段は、前記エリア内に配置され、複数の観客のうち表示対象となる観客が少なくとも一部に含まれるテクスチャがマッピングされる板状のポリゴンを決定する、請求項１に記載のプログラム。
【請求項５】
前記パレットデータ決定手段は、
決定された前記板状のポリゴンにマッピングされる前記テクスチャに対し、
非表示対象となる観客が少なくとも一部に含まれる場合には、当該観客の部分が非表示状態となるように、透明色を示すカラーパレットデータを割り当て、
非表示対象となる観客が存在しない場合には、前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種を示すカラーパレットデータを割り当る、請求項１に記載のプログラム。
【請求項６】
仮想三次元空間内の複数のエリアに配置した板状に形成されたポリゴンに、複数の観客を含むテクスチャをマッピングし、当該複数の観客を含む画像を生成する画像処理装置であって、
第１及び第２の観客種の各々に属する観客の数と、前記第１及び第２の観客種の各々に対応付けられるカラー種と、を少なくとも含む観客情報を設定する観客情報設定手段と、
前記仮想三次元空間内の前記エリアの各々に割り当てられる前記第１及び第２の観客種に属する観客の数を決定する観客分配手段と、
前記仮想三次元空間内の前記エリアの各々における前記第１及び第２の観客種の混在比率を決定する混在比率決定手段と、
前記エリア内に配置され、複数の観客を含むテクスチャがマッピングされる対象となる板状のポリゴンを決定するポリゴン決定手段と、
前記テクスチャに含まれる前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種に基づいて、前記テクスチャの色と対応付けられたカラーパレットデータを決定するパレットデータ決定手段と、
決定された前記カラーパレットデータに基づいて定められた前記テクスチャを、ポリゴン決定手段により決定された前記板状のポリゴンにマッピングするマッピング手段と、
前記仮想三次元空間内に配置された仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる、前記複数の観客を含む二次元画像を生成する画像生成手段と、
を備える画像処理装置。
【請求項７】
前記パレットデータ決定手段は、更に、前記エリアの各々に割り当てられた前記観客の数に応じて、前記テクスチャに含まれる前記観客のうちの一部が非表示状態となるように前記カラーパレットデータの内容を決定する、請求項６に記載の画像処理装置。
【請求項８】
前記観客情報設定手段は、前記仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて、前記観客情報を再設定する、請求項６に記載の画像処理装置。
【請求項９】
ポリゴン決定手段は、前記エリア内に配置され、複数の観客のうち表示対象となる観客が少なくとも一部に含まれるテクスチャがマッピングされる板状のポリゴンを決定する、請求項６に記載の画像処理装置。
【請求項１０】
前記パレットデータ決定手段は、
決定された前記板状のポリゴンにマッピングされる前記テクスチャに対し、
非表示対象となる観客が少なくとも一部に含まれる場合には、当該観客の部分が非表示状態となるように、透明色を示すカラーパレットデータを割り当て、
非表示対象となる観客が存在しない場合には、前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種を示すカラーパレットデータを割り当る、請求項６に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想三次元空間に設定される事象を透視投影変換して二次元画像を生成する技術に関し、特に、スポーツをテーマとしたゲーム装置等における多数の観客を表現する際の画像処理技術に関するものである。
【背景技術】
【０００２】
近年のコンピュータ技術の発展に伴い、ＴＶゲーム機、シミュレータ（擬似体験装置）などに関する画像処理技術が広く一般に普及するようになっている。このようなシステムにおいては、表示される画像をより表現力豊かにすることが商品価値を高めるうえで重要となっている。例えば、サッカーなどのスポーツ競技をテーマとしたＴＶゲーム機においては、商品価値をより一層高めるためには、遊技者の操作対象となるスポーツ選手等の挙動の表現はもちろんのこと、これを観戦する観客についてもよりリアルに表現することが望まれる（例えば、特許文献１参照）。
【０００３】
ところで、上記のような観客表現を多彩に演出するには、例えば対戦チームの組み合わせ、観客数、スタジアムの状況などの各種要素に応じて観客の状況を適宜変更することが望まれる。従来はこのような要望に対して、種々の状況に応じて作成した複数のテクスチャを用意しておき、試合ごとにいずれかのテクスチャを選択し、これをポリゴンに貼り付けることによって観客を表示していた。しかしながら、想定できるすべての観客の状況（観客数、観客の種類の割合等）に応じたテクスチャを予め用意しておくことは、テクスチャを作成するデザイナーの負担を著しく増加させるとともに、画像生成に用いられるデータ量の増加を招くという不都合がある。
【０００４】
【特許文献１】特開平１１−７３５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、画像生成に要するデータ量の増加等を招くことなく多彩な観客の表示を可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、仮想三次元空間内の複数のエリアに配置した板状に形成されたポリゴンに、複数の観客を含むテクスチャをマッピングし、当該複数の観客を含む画像を生成する処理をコンピュータに実行させるプログラムであって、
前記コンピュータを、
第１及び第２の観客種の各々に属する観客の数と、前記第１及び第２の観客種の各々に対応付けられるカラー種と、を少なくとも含む観客情報を設定する観客情報設定手段、
前記仮想三次元空間内の前記エリアの各々に割り当てられる前記第１及び第２の観客種に属する観客の数を決定する観客分配手段、
前記仮想三次元空間内の前記エリアの各々における前記第１及び第２の観客種の混在比率を決定する混在比率決定手段、
前記エリア内に配置され、複数の観客を含むテクスチャがマッピングされる対象となる板状のポリゴンを決定するポリゴン決定手段、
前記テクスチャに含まれる前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種に基づいて、前記テクスチャの色と対応付けられたカラーパレットデータを決定するパレットデータ決定手段、
決定された前記カラーパレットデータに基づいて定められた前記テクスチャを、ポリゴン決定手段により決定された前記板状のポリゴンにマッピングするマッピング手段、
及び、
前記仮想三次元空間内に配置された仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる、前記複数の観客を含む二次元画像を生成する画像生成手段、
として機能させるプログラムである。
【０００７】
本発明によれば、例えば満席状態を表現するテクスチャだけを予め用意しておけば、ポリゴンの表示／非表示の設定により観客数の増減を表現するとともに、各テクスチャ単位においてもカラーパレットデータを用いることにより、当該テクスチャに含まれる第１及び第２の観客種のそれぞれに該当する観客の割合を自在に変化させることができる。したがって、画像生成に要するデータ量の増加等を招くことなく多彩な観客の表示が可能となる。
【０００８】
好ましくは、上記パレットデータ決定手段は、上記エリアの各々に割り当てられた上記観客の数に応じて、上記テクスチャに含まれる上記観客のうちの一部が非表示状態となるように上記カラーパレットデータの内容を変更する。
【０００９】
これにより、更に細やかに観客数の増減を表現することが可能となる。
【００１０】
好ましくは、前記観客情報設定手段は、前記仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて、前記観客情報を再設定する。
【００１１】
これにより、観客の状態をより臨場感高く表現することができる。
【００１２】
好ましくは、ポリゴン決定手段は、前記エリア内に配置され、複数の観客のうち表示対象となる観客が少なくとも一部に含まれるテクスチャがマッピングされる板状のポリゴンを決定する。
【００１３】
これにより、不要なポリゴンはエリア内に配置されないことになり、データ処理負担を軽減することができる。
【００１４】
好ましくは、前記パレットデータ決定手段は、
決定された前記板状のポリゴンにマッピングされる前記テクスチャに対し、
非表示対象となる観客が少なくとも一部に含まれる場合には、当該観客の部分が非表示状態となるように、透明色を示すカラーパレットデータを割り当て、
非表示対象となる観客が存在しない場合には、前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種を示すカラーパレットデータを割り当る。
【００１５】
これにより、各テクスチャ内での観客の表示、非表示を簡易に実現し得る。
【００１６】
また、本発明は、仮想三次元空間内の複数のエリアに配置した板状に形成されたポリゴンに、複数の観客を含むテクスチャをマッピングし、当該複数の観客を含む画像を生成する画像処理装置であって、
第１及び第２の観客種の各々に属する観客の数と、前記第１及び第２の観客種の各々に対応付けられるカラー種と、を少なくとも含む観客情報を設定する観客情報設定手段と、
前記仮想三次元空間内の前記エリアの各々に割り当てられる前記第１及び第２の観客種に属する観客の数を決定する観客分配手段と、
前記仮想三次元空間内の前記エリアの各々における前記第１及び第２の観客種の混在比率を決定する混在比率決定手段と、
前記エリア内に配置され、複数の観客を含むテクスチャがマッピングされる対象となる板状のポリゴンを決定するポリゴン決定手段と、
前記テクスチャに含まれる前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種に基づいて、前記テクスチャの色と対応付けられたカラーパレットデータを決定するパレットデータ決定手段と、
決定された前記カラーパレットデータに基づいて定められた前記テクスチャを、ポリゴン決定手段により決定された前記板状のポリゴンにマッピングするマッピング手段と、
前記仮想三次元空間内に配置された仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる、前記複数の観客を含む二次元画像を生成する画像生成手段と、
を備える。
【００１７】
上記の本発明によれば、例えば満席状態を表現するテクスチャだけを予め用意しておけば、ポリゴンの表示／非表示の設定により観客数の増減を表現するとともに、各テクスチャ単位においてもカラーパレットデータを用いることにより、当該テクスチャに含まれる第１及び第２の観客種のそれぞれに該当する観客の割合を自在に変化させることができる。したがって、画像生成に要するデータ量の増加等を招くことなく多彩な観客の表示が可能となる。
【００１８】
好ましくは、上記パレットデータ決定手段は、更に、上記エリアの各々に割り当てられた上記観客の数に応じて、上記テクスチャに含まれる上記観客のうちの一部が非表示状態となるように上記カラーパレットデータの内容を変更する。
【００１９】
これにより、更に細やかに観客数の増減を表現することが可能となる。
【００２０】
好ましくは、前記観客情報設定手段は、前記仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて、前記観客情報を再設定する。
【００２１】
これにより、観客の状態をより臨場感高く表現することができる。
【００２２】
好ましくは、前記観客情報設定手段は、前記仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて、前記観客情報を再設定する。
【００２３】
これにより、観客の状態をより臨場感高く表現することができる。
【００２４】
好ましくは、ポリゴン決定手段は、前記エリア内に配置され、複数の観客のうち表示対象となる観客が少なくとも一部に含まれるテクスチャがマッピングされる板状のポリゴンを決定する。
【００２５】
これにより、不要なポリゴンはエリア内に配置されないことになり、データ処理負担を軽減することができる。
【００２６】
好ましくは、前記パレットデータ決定手段は、
決定された前記板状のポリゴンにマッピングされる前記テクスチャに対し、
非表示対象となる観客が少なくとも一部に含まれる場合には、当該観客の部分が非表示状態となるように、透明色を示すカラーパレットデータを割り当て、
非表示対象となる観客が存在しない場合には、前記第１及び第２の観客種の各々に属する前記観客の比率が前記混在比率に応じた状態となるように、前記観客情報に含まれる前記カラー種を示すカラーパレットデータを割り当る。
【００２７】
これにより、各テクスチャ内での観客の表示、非表示を簡易に実現し得る。
【発明を実施するための最良の形態】
【００２８】
以下、画像生成装置の一例としてゲーム装置を採り上げて、本発明の実施の形態について説明する。
【００２９】
図１は、一実施形態のゲーム装置の構成を示すブロック図である。図１に示す本実施形態のゲーム装置１は、ＣＰＵ（Central Processing Unit）１０、システムメモリ１１、記憶媒体１２、ブートロム（BOOT ROM）１３、バスアービタ１４、ジオメトリプロセッサ１５、レンダリングプロセッサ１６、グラフィックメモリ１７、オーディオプロセッサ１８、オーディオメモリ１９、通信インタフェース（Ｉ／Ｆ）２０、ペリフェラルインターフェース２１、を含んで構成されている。すなわち、本実施形態のゲーム装置１は、上記のＣＰＵ１０やシステムメモリ１１等の構成を含んで構成されるコンピュータを備え、当該コンピュータに所定のプログラムを実行させることによって、スポーツ（例えば、サッカー等）をテーマとしたゲーム装置として機能するものである。具体的には、ゲーム装置１は、ゲーム演出を行うために、仮想三次元空間（ゲーム空間）内を仮想カメラから見た二次元画像を順次生成するとともに、効果音などの音声を生成する。
【００３０】
ＣＰＵ（Central Processing Unit）１０は、所定のプログラムを実行することによりゲーム装置１全体を制御する。
【００３１】
システムメモリ１１は、ＣＰＵ１０が使用するプログラムやデータを格納する。
【００３２】
記憶媒体１２は、ゲームプログラムや出力する画像や音声などのデータが記録されている。このプログラムデータ用ＲＯＭとしての記憶媒体１２は、マスクロムやフラッシュロムなどの電気的にデータを読み出せるＩＣメモリや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの光学的にデータを読み出せる装置と光ディスクまたは磁気ディスク等であっても良い。
【００３３】
ブートロム１３は、ゲーム装置１を起動させた際に各ブロックを初期化するためのプログラムを格納する。
【００３４】
バスアービタ１４は、各ブロック間でプログラムやデータのやり取りを行うバスを制御する。
【００３５】
ジオメトリプロセッサ１５は、ディスプレイに表示するオブジェクトの仮想三次元空間（ゲーム空間）での位置座標や向きを計算する。
【００３６】
レンダリングプロセッサ１６は、ジオメトリプロセッサ１５によって算出されたオブジェクトの向きや位置座標等に基づいて、ディスプレイに出力する画像を生成（描画）する
【００３７】
グラフィックメモリ１７は、レンダリングプロセッサ１６に接続されており、画像を生成するためのデータやコマンドなど格納する。
【００３８】
オーディオプロセッサ１８は、スピーカから音声出力を行うためのデータを生成する。このオーディオプロセッサ１８によって生成された音声データが図示しないデジタル／アナログ変換器によってアナログ信号に変換され、スピーカに入力されることにより、スピーカから音声出力がなされる。
【００３９】
オーディオメモリ１９は、オーディオプロセッサ１８に構成されており、音声を生成するためのデータやコマンドなど格納する。
【００４０】
通信インタフェース（Ｉ／Ｆ）２０は、ゲーム装置１が他のゲーム装置やサーバ装置等との間でデータ通信の必要がある場合における通信処理を行う。
【００４１】
ペリフェラルインターフェース（Ｉ／Ｆ）２１は、外部からのデータ入出力を行うインターフェースが組み込まれており、ここに周辺装置としてのペリフェラルが接続される。ここで、ペリフェラルには、マウス（ポインティングデバイス）やキーボード、ゲーム用コントローラ等のキー操作のためのスイッチ、及びタッチペンの他、プログラムの途中経過や生成したデータを保存するバックアップメモリ、表示装置、撮影装置等、画像処理装置本体あるいは他のペリフェラルに接続可能なものが含まれる。
【００４２】
なお、システムメモリ１１、グラフィックメモリ１７、サウンドメモリ１９は、１つの
メモリをバスアービタ１４に接続して各機能で共通に使用するようにしてもよい。また各
機能ブロックも機能として画像処理部２内に存在すればよく、機能ブロック同士が統合
されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
【００４３】
図２は、画像生成機能に着目して画像処理部２の構成を表現した場合の機能ブロック図である。図２に示すように、画像処理部２は、観客情報設定手段３１、ポリゴン配置手段３２、マッピング手段３３、パレットデータ決定手段３４、観客分配手段３５、混在比率決定手段３６、ポリゴン決定手段３７、パレットデータ決定手段３４及び画像生成手段３９を含んで構成されている。これらの各手段は、図１に示すＣＰＵ１０やシステムメモリ１１等を含んでなるコンピュータに所定のプログラムを実行させることによって実現される。
【００４４】
観客情報設定手段３１は、複数の観客種（ホームサポーター、アウェイサポーター及び一般客）の各々に属する観客の数と、当該観客種の各々に対応付けられるカラー種と、を少なくとも含むスタジアムデータ（観客情報）を設定する。なお、本実施形態ではホームサポーターが「第１の観客種」に相当し、アウェイサポーターが「第２の観客種」に相当する。また、「カラー種」には、ホームサポーター、アウェイサポーター、一般客のそれぞれに対応する表示色がある。
【００４５】
ポリゴン配置手段３２は、仮想三次元空間内の各エリアごとに複数の板状のポリゴンを配置する。本実施形態では、図３に例示するような競技場が仮想三次元空間内に設けられており、この競技場に含まれる各観客席０ａ等のそれぞれ毎に、横長の板状のポリゴンが所定数ずつ配置される。ここで、各観客席は図示にように中央のフィールドを環状に囲むように設けられており、ａ〜ｌの各ブロックに区分され、更に各ブロックが０〜２階席の各フロアに区分されている。例えば、観客席「０ａ」とは「ａ」ブロックの「０階」の観客席である。本実施形態では、このブロックとフロアによって区分された各観客席が上記した「エリア」に相当する。本実施形態のポリゴン配置手段３２は、図４に例示するように、各エリアの状況に応じて当該エリアにおけるポリゴンの配置状態を以下の２種類から選択している。具体的には、ポリゴンの配置状態には、各板状のポリゴンＰＧ１を垂直に近い角度（例えば７０〜８０°）で立てて並べた状態（図４（Ａ））と、各板状のポリゴンＰＧ２を水平に近い角度（例えば、１０〜２０°）で寝かせた状態（図４（Ｂ））と、がある。前者のポリゴン配置状態（図４（Ａ））は、例えば観客席０ａや０ｆなどの比較的にフィールドに近い観客席の観客を表現するために用いられる。後者のポリゴン配置状態（図４（Ｂ））は、例えば観客席２ｆや２ｇなどの比較的にフィールドから遠い観客席の観客を表現するために用いられる。なお、以降の説明では便宜上、立てた状態のポリゴンを「立て板ポリゴン」と称し、寝かせた状態のポリゴンを「寝かせ板ポリゴン」と称する。
【００４６】
マッピング手段３３は、ポリゴンの各々に、複数の観客を含むテクスチャをマッピングする。図５は、上述した立て板ポリゴンＰＧ１にマッピングされるテクスチャの一例を示す図である。図５に示す立て板ポリゴンＰＧ１用のテクスチャには、１８×１列分の観客が含まれている。図６は、図５に示す一例のテクスチャを立て板ポリゴンＰＧ１にマッピングした様子を模式的に示す図である。図７は、上述した寝かせ板ポリゴンＰＧ２にマッピングされるテクスチャの一例を示す図である。図８は、図７に示す一例のテクスチャを寝かせ板ポリゴンＰＧ２にマッピングした様子を模式的に示す図である。図８に示す寝かせ板ポリゴンＰＧ２用のテクスチャには１１人×５列分の観客が含まれている。なお、図６及び図８では便宜上、各ポリゴンの輪郭を点線により示しているが、実際にはこの点線は表示されない。
【００４７】
ここで、本実施形態では、１つのテクスチャに含まれる複数の観客をグループ分けしている。具体的には、図５に示すテクスチャにおいては、各観客は左から順に１人目、３人目、６人目、８人目、１０人目、１１人目、１３人目、１５人目、１７人目及び１８人目の観客を１グループ（以後、「観客群Ａ」と呼ぶ）、２人目、５人目、９人目及び１４人目の観客を１グループ（以後、「観客群Ｂ」と呼ぶ）、４人目、７人目、１２人目及び１６人目の観客を１グループ（以後、「観客群Ｃ」と呼ぶ）、にそれぞれグループ分けされている。各観客群Ａ〜Ｃに属する観客の表示色（特に上半身に対応する箇所の表示色）は、デフォルトでは一般客に相当する配色がなされ、かつ各グループ毎に異なっているが、これらの表示色はカラーパレットデータ（詳細は後述）によって自在に変更することができる。このグループ分けは、図７に示す寝かせ板ポリゴンＰＧ２用のテクスチャについても同様である。
【００４８】
パレットデータ決定手段３４は、テクスチャに含まれる各観客種（ホームサポーター、アウェイサポーター及び一般客）の各々に属する観客の比率が後述する混在比率に応じた状態となるように、スタジアムデータに含まれるカラー種の情報に基づいて、テクスチャの色と対応付けられたカラーパレットデータを決定する。ここで、カラーパレットデータとは、上述したテクスチャ（図５又は図７参照）の各箇所（画素）の表示色を設定可能となるように当該テクスチャと対応付けられたデータであり、以下にその詳細を説明する。
【００４９】
図９及び図１０は、カラーパレットデータについて説明する図である。図９及び図１０に示すカラーパレットデータは、上述した図５に示したテクスチャに対応付けられたものであり、デフォルトパレット、カラーチェンジ用パレット及びαチェンジ用パレットを含んで構成されている。デフォルトパレットは、０〜２５５のカラー領域が含まれており、これらのカラー領域によって図５に示すテクスチャの各箇所の表示色が指定される。表示色はデフォルトとして一般客を表現するものに設定されている。
【００５０】
本例のデフォルトパレットは、アドレス０〜３１までが観客群Ａのカラーチェンジ領域、アドレス３２〜６３までが観客群Ａの固定カラー領域、アドレス６４〜１２７までが共通固定カラー領域、アドレス１２８〜１５９までが観客群Ｂのカラーチェンジ領域、アドレス１６０〜１９１までが観客群Ｂの固定カラー領域、アドレス１９２〜２２３までが観客群Ｃのカラーチェンジ領域、アドレス２２４〜２５５までが観客群Ｃの固定カラー領域、としてそれぞれ規定されている。各カラーチェンジ領域はそれぞれ各観客群Ａ〜Ｃの胴体に対応する箇所の表示色に対応し、各固定カラー領域はそれぞれ各観客群Ａ〜Ｃの顔や腕などの表示色に対応している。共通固定カラー領域は各観客群Ａ〜Ｃに共通使用されるものであり、例えば帽子や下半身に相当する箇所の表示色に対応している。各カラーチェンジ領域は、カラーチェンジ用パレットのアドレス０〜３１までのカラー領域と対応付けられており、これら３２個の色情報がデフォルトパレットの各カラーチェンジ領域に転送されることにより、各観客群Ａ〜Ｃの胴体に相当する箇所の表示色が変化する。なお、カラーチェンジ用パレットからの転送対象となるのは色情報のみであり、α情報（透明度αに関する情報）は転送されない。
【００５１】
α情報については、図１０に示すようにαチェンジ用パレットを用いて制御される。図１０では、満員用、中入り用、小入り用のそれぞれに対応するαチェンジ用パレットが例示されている。例えば、満員状態を表現したい場合には観客群Ａ〜Ｃのいずれについても表示対象となるため、満員用のαチェンジ用パレットでは、各観客群Ａ〜Ｃのそれぞれに対応するカラーチェンジ領域に転送されるべきα値は"１"（全表示）に設定される。また、中入り状態を表現したい場合には、観客群Ａ、Ｂについて表示対象とし、観客群Ｃについては非表示対象とするため、中入り用のαチェンジ用パレットでは、各観客群Ａ、Ｂのそれぞれに対応するカラーチェンジ領域に転送されるべきα値は"１"（全表示）に設定され、観客群Ｃに対応するカラーチェンジ領域に転送されるべきα値は"０"（全透過）に設定される。同様に、小入り状態を表現したい場合には、観客群Ａについて表示対象とし、観客群Ｂ、Ｃについては非表示対象とするため、中入り用のαチェンジ用パレットでは、各観客群Ａに対応するカラーチェンジ領域に転送されるべきα値は"１"（全表示）に設定され、各観客群Ｂ、Ｃに対応するカラーチェンジ領域に転送されるべきα値は"０"（全透過）に設定される。
【００５２】
なお、図７に示すテクスチャの場合についても、上記と同様なカラーチェンジ用パレット及びαチェンジ用パレットが用意される。その詳細については上記と同様であるため説明を省略する。
【００５３】
観客分配手段３５は、仮想三次元空間内の上記エリア（図３参照）の各々に割り当てられるホームサポーター、アウェイサポーター及び一般客の各々に属する観客の数を決定する。ここで、上述したように「エリア」とはブロックとフロアによって区分された各観客席である。一般にこれらの観客席に対する観客の入り方は、その観客席の場所によって各属性の観客の入りやすさに偏りが生じる。例えば、ホームサポーターで埋め尽くされる傾向にある観客席、アウェイサポーターで埋め尽くされる傾向にある観客席、一般客が多めに入る傾向にある観客席、という具合である。これらの傾向は予め各エリア毎に設定されており、観客配分手段３５は、入場者総数（各観客種に属する観客の数の合計値）、各観客種に属する観客数の割合、などの要素を考慮して各エリアに観客を割り当てる。観客分配手段３５による観客割り当て処理のより詳細な内容については更に後述する。
【００５４】
混在比率決定手段３６は、仮想三次元空間内のエリアの各々における各観客種の混在比率を決定する。具体的には、上述したように観客配分手段３５によって各エリアにホームサポーター、アウェイサポーター、一般客が割り当てられるので、混在比率決定手段３６は、この割り当て状況に基づいて各エリアにおける各観客種の混合比率を決定する。
【００５５】
ポリゴン決定手段３７は、エリア内に配置され、複数の観客を含むテクスチャがマッピングされる対象となる板状のポリゴンを決定する。より具体的には、ポリゴン決定手段３７は、各エリアに割り当てられた観客の数に応じて、エリア内に配置された複数のポリゴンのうちで表示対象とするものと表示対象としないものを選別する。例えば、あるエリア（観客席）における観客の入場者数が７０％程度の場合であれば、ポリゴン決定手段３７は、そのエリアに配置されたポリゴン全体のうちの７割程度の数のポリゴンを表示対象として選択し、３割程度の数のポリゴンを非表示対象として選択する。「非表示として選択する処理」の具体的な内容としては、例えば非表示対象とするポリゴンについてはＵＶ値をすべて０に設定する処理が挙げられる。あるいは、非表示対象とするポリゴンについてはα値を０に設定する処理であってもよい。なお、観客の入場者数が満員状態（１００％）の場合であればそのエリアに配置された全てのポリゴンが表示対象として選択される。
【００５６】
上述のパレットデータ決定手段３４は、ポリゴン決定手段３７によって決定された板状のポリゴンにマッピングされるテクスチャに対し、（１）非表示対象となる観客が少なくとも一部に含まれる場合には、当該観客の部分が非表示状態となるように、透明色を示すカラーパレットデータを割り当て、（２）非表示対象となる観客が存在しない場合には、各観客種の各々に属する観客の比率が上記の混在比率に応じた状態となるように、スタジアムデータに含まれるカラー種を示すカラーパレットデータを割り当る。より具体的には、本実施形態のパレットデータ決定手段３４は、上述したαチェンジ用パレットに格納されるα値の内容を混在比率に応じて適宜変更して決定する。
【００５７】
画像生成手段３９は、仮想三次元空間内に配置された仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する。
【００５８】
本実施形態のゲーム装置は以上のような構成を備えており、次にゲーム装置の画像生成処理の手順についてフローチャートを参照しながら説明する。図１１は、ゲーム装置の画像生成処理の全体的な手順を示すフローチャートである。
【００５９】
観客情報設定手段３１は、試合に必要なデータをまとめたものであるスタジアムデータを取得する（図１１：ステップＳ１００）。スタジアムデータとは、上述したようにホームサポーター、アウェイサポーター及び一般客の各々に属する観客の数と、当該観客種の各々に対応付けられるカラー種（チームカラー）と、を少なくとも含む。更に本実施形態のスタジアムデータには、ベースとなるスタジアムの識別番号（ＩＤ）、スタジアムの増改築レベル、天候、季節、リーグ、風景レベル、などの情報も含まれる。これらのパラメータは、例えば遊技者の入力指示に基づいて設定され、或いは記憶媒体１２から読み出される。スタジアムデータは、例えば以下のように設定される。
＜スタジアムデータ＞
試合の開催時間帯には例えば昼、夜があり、本例では昼が設定される。天候には例えば晴れ、曇り、雨等があり、本例では晴れが設定される。、季節には春、夏、秋、冬があり、本例では冬が設定される。風景レベルには、大都市、小都市などがあり、本例では大都市が設定される。国（リーグ）には、イタリア、イギリス、オランダ等があり、本例ではイタリアが設定される。開催月には、１〜１２月のいずれかがあり、本例では１２月が設定される。芝汚れには有りと無しが選択肢としてあり、本例では有りが設定される。スタジアム番号は便宜上、設定されるものであり、本例では３６が設定される。このスタジアム番号は、例えば国と増改築レベルから所定の変換テーブルを通して決定される。
【００６０】
次に、観客情報設定手段３１は、ベースとなるスタジアム、増改築レベル、天候に基づいて、使用するモデルデータを決定する（図１１：ステップＳ１０１）。
【００６１】
次に、観客情報設定手段３１は、ベースとなるスタジアム、増改築レベル、天候に基づいて、使用する観客設定データを決定する（図１１：ステップＳ１０２）。
【００６２】
次に、観客情報設定手段３１は、チームカラーデータに基づいて、ホーム、アウェイの各チームカラーを決定する（図１１：ステップＳ１０３）。例えば、ホームチームのチームカラーが赤の場合にはカラーパレットデータ（パレット番号）が０、アウェイチームのチームカラーが青の場合にはカラーパレットデータが４、というようにカラーパレットデータが決定される。
【００６３】
次に、観客分配手段３５は、観客席ブロックごとに人数の割り振りを計算する（図１１：ステップＳ１０４）。この入場者の割り振り計算−１−についての詳細な手順を図１２に示し、以下に説明する。
【００６４】
（入場者の割り振り計算−１−）
観客分配手段３５は、設定データに基づきブロック毎の最大収容人数を取得する（図１２：ステップＳ２００）。本ステップの処理内容は、例えば以下のようになる。例えばベーススタジアムの収容人数は、例えば35000人に設定される。そして、ブロック毎の最大収容人数は、例えば以下の割合で設定される。例えば、ブロックAの収容割合が22%、ブロックBの収容割合が9%、ブロックCの収容割合が9%、ブロックDの収容割合が9%、ブロックEの収容割合が12%、ブロックFの収容割合が12%、ブロックGの収容割合が9%、ブロックHの収容割合が9%、ブロックIの収容割合が9%、であるとする。このときの各ブロックの収容人数は、ブロックAの最大収容人数が7700人、ブロックBの最大収容人数が3150人、ブロックCの最大収容人数：3150人、ブロックDの最大収容人数が3150人、ブロックEの最大収容人数が4200人、ブロックFの最大収容人数が4200人、ブロックGの最大収容人数が3150人、ブロックHの最大収容人数が3150人、ブロックIの最大収容人数が3150人、とそれぞれ設定される。
【００６５】
次に、観客分配手段３５は、各ブロック毎にサイドの入りやすさ、最大収容人数を計算する（図１２：ステップＳ２０１）。ここで「サイド」とは、ホームサポーター、アウェイサポーター、一般客をまとめた総称である。本ステップの処理内容は、例えば以下のようになる。
(a)各ブロックごとのサイドの入りやすさ（基本値）は、以下の一覧のようになる。例えば、ブロックAへのサイドの入りやすさは、ホームサポーターが５０％、アウェイサポーターが０％、一般客が０％となっている。
A   B   C   D   E   F   G   H   I
ホームサポーター  ：50% 20%  5%  0%  0%  0%  0%  5% 20%
アウェイサポーター： 0%  0%  0% 10% 50% 30% 10%  0%  0%
一般客            ： 0% 10% 30% 10%  0%  0% 10% 30% 10%
(b)各ブロックごとのサイドの入りやすさ（補正値）は以下の一覧のようになる。
A   B   C   D   E   F   G   H   I
サイド共通        ：20% 10% 10% 10% 10% 10% 10% 10% 10%
(c)上記の基本値、補正値を用いて、「基本値＋各ブロックの収容割合−補正値」を計算することにより、各ブロックごとのサイドの入りやすさを計算する。計算結果は以下の一覧のようになる。例えば、ブロックAでは、ホームサポーターが５２％、アウェイサポーターが０％、一般客が２％、という入りやすさになる。
A   B   C   D   E   F   G   H   I
ホームサポーター  ：52% 19%  4%  0%  0%  2%  0%  4% 19%
アウェイサポーター： 0%  0%  0%  9% 52% 32%  9%  0%  0%
一般客            ： 2%  9% 29%  9%  2%  2%  9% 29%  9%
【００６６】
次に、観客分配手段３５は、各ブロックにサイドを割り振る（図１２：ステップＳ２０２）。本ステップの処理内容は、例えば以下のようになる。
(a)観客数
観客数は、例えばホームサポーターが15000人、アウェイサポーターが8000人、一般客が7000人であるとする。
(b)各ブロックへの割り振り
各ブロック毎のサイドの入りやすさは、例えば以下の一覧のような割合であるとする。例えば、ブロックAへのサイドの入りやすさは、ホームサポーターが５２％、アウェイサポーターが０％、一般客が２％となっている。
ブロック              A    B    C    D    E    F    G    H    I
ホームサポーター  ： 52%  19%   4%   0%   0%   2%   0%   4%  19%
アウェイサポーター：  0%   0%   0%   9%  52%  32%   9%   0%   0%
一般客            ：  2%   9%  29%   9%   2%   2%   9%  29%   9%
(c)計算式
各ブロック毎に割り振られるサイドの人数は、「サイドの人数×そのブロックへの入りやすさ÷そのブロックへの入りやすさの総和」という計算式に基づいて計算される。その計算結果が以下の一覧である。例えば、ブロックAには、ホームサポーターが７８００人、アウェイサポーターは０人、一般客は１４０人、それぞれ割り振られている。
ブロック              A    B    C    D    E    F    G    H    I
ホームサポーター  ：7800 2850  600    0    0  300    0  600 2850
アウェイサポーター：   0    0    0  706 4078 2510  706    0    0
一般客            ： 140  630 2030  630  140  140  630 2030  630
【００６７】
次に、観客分配手段３５は、ブロックに入りきれない人がいたか否かを判定する（図１２：ステップＳ２０３）。入りきれない人がいた場合には肯定判断（ＹＥＳ）がなされ、観客分配手段３５は、各ブロックの空き状況を考慮してサイドを割り振る（図１２：ステップＳ２０４）。また、入りきれない人がいない場合には否定判断（ＮＯ）がなされ、観客分配手段３５は、ステップＳ２０４の処理を行わずに次のステップＳ２０５の処理へ移行する。本ステップの処理内容は、例えば以下のようになる。
(a)各ブロック毎の収容人数
各ブロックの収容人数は、ブロックAの最大収容人数が7700人、ブロックBの最大収容人数が3150人、ブロックCの最大収容人数：3150人、ブロックDの最大収容人数が3150人、ブロックEの最大収容人数が4200人、ブロックFの最大収容人数が4200人、ブロックGの最大収容人数が3150人、ブロックHの最大収容人数が3150人、ブロックIの最大収容人数が3150人、とそれぞれ設定されている。
(b)各ブロックへのサイドの入りやすさ
上述した計算により、下記一覧のように求められている。
ブロック              A    B    C    D    E    F    G    H    I
ホームサポーター  ： 52%  19%   4%   0%   0%   2%   0%   4%  19%
アウェイサポーター：  0%   0%   0%   9%  52%  32%   9%   0%   0%
一般客            ：  2%   9%  29%   9%   2%   2%   9%  29%   9%
(c)割り当て
上述した計算により、下記一覧のように求められている（単位：人）。
ブロック              A    B    C    D    E    F    G    H    I
ホームサポーター  ：7800 2850  600    0    0  300    0  600 2850
アウェイサポーター：   0    0    0  706 4078 2510  706    0    0
一般客            ： 140  630 2030  630  140  140  630 2030  630
(d)処理の詳細例
ホームサポーター、アウェイサポーター、一般客の順に判定する。例えば、ホームサポーターについて、ブロックAに100人入りきれないとすると、まず入りやすさの高い順に空きがあるブロックを探す。本例では、ブロックCが空いているので、ブロックCの割り当てを100人増加する。一般客については、例えばブロックAがホームサポーターで満席で入れないとすると、まず入りやすさの高い順に空きがあるブロックを探す。本例では、ブロックCが空いているので、ブロックCの割り当てを140人増加する。
【００６８】
次に、観客分配手段３５は、すべてのサイドについての計算をしたか否かを判定する（図１２：ステップＳ２０５）。すべてのサイドについての計算が終わっていない場合には否定判断（ＮＯ）がなされ、観客分配手段３５は、上述したステップＳ２０１及びそれ以降の処理を再度行う。また、全サイドについての計算が終了した場合には肯定判断（ＹＥＳ）がなされ、観客分配手段３５は、本ルーチンの処理を終了する。
【００６９】
次に、観客分配手段３５は、観客席ブロックのフロアごとに観客の配置場所を計算する（図１１：ステップＳ１０５）。この入場者の割り振り計算−２−についての詳細な手順を図１３に示し、以下に説明する。
【００７０】
（入場者の割り振り計算−２−）
観客分配手段３５は、ブロックの収容人数に基づきフロア毎に最大収容人数を計算する（図１３：ステップＳ３００）。本ステップの処理内容は、例えば以下のようになる。例えば、ブロックFについての計算を例示する。
(a)観客設定データの項目（フロアデータ）
例えば。フロア１Ｆの最大収容人数は３０００人であり、入りやすさは７０％である。フロア２Ｆの最大収容人数は１２００人であり、入りやすさは３０％である。
(b)観客数
例えば、ホームサポーターが３００人、アウェイサポーターが２５００人、一般客２００人であり、総数は３０００人である。
(c)フロアごとの割り当て
上記の条件におけるブロックFのフロアごとの割り当ては、１Ｆが２１００人、２Ｆが９００人となる。
【００７１】
次に、観客分配手段３５は、各サイドをこのブロックに割り当てられた人数でソートする（図１３：ステップＳ３０１）。本ステップの処理内容は、例えば以下のようになる。例えば、各サイドのデフォルトの並びは、１：ホームサポーター、２：アウェイサポーター、３：一般客、となっている。また、このブロック（例えばブロックF）に割り当てられた各サイドの人数は、ホームサポーターが３００人、アウェイサポーターが２５００人、一般客が２００人となっている。よって、ソート後の各サイドの並びは、１：アウェイサポーター、２：ホームサポーター、３：一般客、となる。
【００７２】
次に、観客分配手段３５は、１番少ないサイドを一番上のフロアから入れ、あふれた人数は下のフロアへ入れる（図１３：ステップＳ３０２）。本ステップの処理内容は、例えば以下のようになる。例えば、このブロックに割り当てられた１番少ないサイドの人数は、ホームサポーターの６００人となる。また、このブロックの各フロアの最大収容人数は、１Ｆが２０００人、２Ｆが１０００人、３Ｆが５００人、となっている。そして、ホームサポーターの分配は、１Ｆへ０人、２Ｆへ１００人、３ｆへ５００人とされる。
【００７３】
次に、観客分配手段３５は、１番と２番目の多さのサイドの人数差が大きいか否かを判定する（図１３：ステップＳ３０３）。人数差が多い場合には肯定判断（ＹＥＳ）がなされ、観客分配手段３５は、２番目の多さのサイドを一番上のフロアから入れ、あふれた人数は順に下のフロアに入れる（図１３：ステップＳ３０４）また、人数差が少ない場合には否定判断（ＮＯ）がなされ、観客分配手段３５は、２番目の多さのサイドを一番下のフロアに半数を入れる（図１３：ステップＳ３０５）。以上で本ルーチンの処理が終了する。本ステップの処理内容は、例えば以下のようになる。人数差の判定は、例えば「２番目の人数÷１番目の人数」の値に基づいて求められる。本例では、算出値が０．３未満のときに人数差が多いと判断し（肯定判断）、算出値が０．３以上のときに人数差が少ないと判断する（否定判断）。例えば、このブロックの各フロアの最大収容人数が１Ｆに１５００人、２Ｆに１０００人、３Ｆに５００人であるとする。そして、このブロックに割り当てられたサイドの人数がホームサポーター１５００人、アウェイサポーター８００人、一般客２００人であるとする。この場合には、８００÷１５００＝０．５３であり、人数差が少ないと判断される（否定判断）。このとき、１Ｆにはホームサポーター１１００人、アウェイサポーター４００人、一般客０人、２Ｆにはホームサポーター４００人、アウェイサポーター０人、一般客２００人、３Ｆにはホームサポーター０人、アウェイサポーター４００人、一般客０人、がそれぞれ割り当てられる。また、このブロックに割り当てられたサイドの人数がホームサポーター１５００人、アウェイサポーター３００人、一般客２００人であるとする。この場合には、３００÷１５００＝０．２であり、人数差が大きいと判断される（肯定判断）。このとき、１Ｆにはホームサポーター１５００人、アウェイサポーター０人、一般客０人、２Ｆにはホームサポーター０人、アウェイサポーター３００人、一般客２００人、３Ｆにはホームサポーター０人、アウェイサポーター５００人、一般客０人、がそれぞれ割り当てられる。
【００７４】
次に、入場者のモデルデータを決定する処理がなされる（図１１：ステップＳ１０６）。本ステップの処理を具体的に説明すると以下のようになる。まず、各エリア（ブロック又はフロア）の観客総数を決める。次に、各エリアにおけるホームサポーター、アウェイサポーター、一般客のそれぞれの総数を決める。次に、決定されたエリアの観客総数を用いて混在レベル（エリアの観客総数÷エリア収容可能人数）を決める。次に、決定された混在レベル（これに応じた観客の存在率データ）に基づき、上記エリア内に配置される表示対象とする複数の板状のポリゴン、又は表示対象としない複数の板状のポリゴンを選択し、エリア内において配置されるべき「表示対象とする板状のポリゴン」のモデルデータを決定する。なお、ここで決定された「表示対象とする板状のポリゴン」のモデルの頂点データが頂点処理される（レンダリングに用いられる）ことになる。本ステップの処理には、主として混在比率決定手段３６、ポリゴン決定手段３７及びパレットデータ決定手段３４が関与する。このモデルデータの決定についての詳細な手順を図１４に示し、以下に説明する。
【００７５】
（モデルデータの決定）
混在比率決定手段３６は、各エリアごとに、そのエリアに配置されるポリゴンが立て板ポリゴンであるか否かを判定する（図１４：ステップＳ４００）。配置されるポリゴンが立て板ポリゴンである場合には肯定判断（ＹＥＳ）がなされ、混在比率決定手段３６は、サイドが混在する比率に基づき混在レベルを決定する（図１４：ステップＳ４０１）。本ステップの処理内容は、例えば以下のようになる。例えば本例では、配置されるポリゴンは、１Ｆ及び２Ｆでは立て板ポリゴン、３Ｆでは寝かせ板ポリゴンになる。混在レベルは、「そのフロアの収容人数÷そのフロアの最大収容人数」を計算して求められる。具体的には、混在レベルは、0.00以上0.05未満はレベル０、0.05以上0.20未満はレベル１、0.20以上0.30未満はレベル２、0.30以上0.40未満はレベル３、0.40以上0.50未満はレベル４、0.50以上0.60未満はレベル５、0.60以上0.70未満はレベル６、0.70以上0.80未満はレベル７、0.80以上0.90未満はレベル８、0.90以上0.99未満はレベル１０、となる。一例としてブロックAの２Ｆについて計算すると、当該ブロックAの収容人数が１０００人、最大収容人数が１５００人であるので、この場合の混在レベルは６（１０００÷１５００＝０．６６）となる。
【００７６】
次に、ポリゴン決定手段３７は、混在比率決定手段３６によって決定された混在レベル（混在比率）に応じて非表示対象とするポリゴンを選択する（図１４：ステップＳ４０２）。本ステップでは、混在レベルに応じた数の非表示ポリゴンがランダムに選択される。なお、非表示ポリゴンの選択方法について一定の規則を設けておいてもよい。これにより、大まかな観客数の増減が実現される。本ステップの処理内容は、例えば以下のようになる。混在レベルごとの観客の存在率は以下の一覧のようになる。例えば、ブロックAの２Ｆは上記のように混在レベルが６なので、前列のポリゴンを３割、中列のポリゴンを６割、後列のポリゴンを６割非表示にする。
＜観客存在率の一覧＞
混在レベル  前列  中列  後列
1   20%    0%    0%
2   40%    0%    0%
3   50%    0%    0%
4   50%   30%   10%
5   60%   30%   20%
6   70%   40%   40%
7   70%   70%   50%
8   80%   80%   80%
9  100%   90%   80%
10  100%  100%  100%
【００７７】
また、上述したステップＳ４００において否定判断（ＮＯ）がなされた場合、すなわち、配置されるポリゴンが寝かせ板ポリゴンである場合についても、混在比率決定手段３６は、サイドが混在する比率に基づき混在レベルを決定する（図１４：ステップＳ４０３）。混在レベルは、「そのフロアの収容人数÷そのフロアの最大収容人数」を計算して求められる。本ステップの処理内容は、例えば以下のようになる。例えば、ブロックAの３Ｆについて、収容人数が５００人、最大収容人数が１０００人であるとすると、この場合の混在レベルは５となる。
【００７８】
次に、パレットデータ決定手段３４は、混在比率決定手段３６によって決定された混在レベル（混在比率）に応じて、カラーパレットデータの内容を決定する（図１１：ステップＳ１０７）。具体的には、立て板ポリゴンのために用意されているαチェンジ用パレットに格納されるα値の内容が変更される。例えば、観客の人数に応じてα値がいくつかのパターンに設定されたαチェンジ用パレットが用意されており、パレットデータ決定手段３４は、その中から混在レベルに適したパターンのαチェンジ用パレットを選択する。これにより、デフォルトパレットのα値が書き換えられ、満員以外の場合であれば、例えばそのテクスチャの観客群Ｃに対応する箇所が透過状態となることにより、観客数の増減がより細やかに表現される。また、観客が散らばっている状態などもテクスチャ単位で表現できる。また、具体的には、寝かせ板ポリゴンのために用意されているαチェンジ用パレットに格納されるα値の内容が変更される。詳細については上記と同様である。
【００７９】
次に、画像生成手段３９は、表示色等が更新されたテクスチャがマッピングされた各ポリゴンを含む仮想三次元空間内を仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する（図１１：ステップＳ１０８）。具体的には、「表示対象となった板状ポリゴン」をワールド座標系に配置する。そして、視点座標系に透視変換する。そして各ポリゴンの頂点座標に合わせて上記のカラーパレットを参照して色が決定されるテクスチャのアドレスを指定してマッピングし、二次元画像を生成する（レンダリング処理）。このとき、各エリアに使用するテクスチャは共通のものを使う。そして、上記でエリアごとに決定されたカラーパレットデータに基づいて定められる色で、テスクチャの色が決まり、その色で表現されるテクスチャを上記の表示対象となった板状ポリゴンにマッピングすることになる。
【００８０】
図１５〜図１９は、画像生成手段によって生成される二次元画像の例を示す図である。これらの図では、観客席をその手前側から見た様子が示されている。
【００８１】
図１５は満席状態の観客席を示す二次元画像である。この観客席においては全てのポリゴン（立て板ポリゴン又は寝かせ板ポリゴン）が表示対象とされており、かつカラーパレットデータのα値についても全て"１"、すなわち非透過状態となるように設定されている。また、観客群Ａ〜Ｃのいずれについても同一の表示色（例えば、赤色）が設定されており、観客席のほとんどがホームサポーター（又はアウェイサポーター）により埋め尽くされている様子が表現されている。
【００８２】
図１６は中入り状態の観客席を示す二次元画像である。この観客席においては、例えば図中に示す領域Ｒ１においては立て板ポリゴンが非表示対象とされることにより、比較的広い範囲に渡って空席が存在する様子が表現されている。また、図中に示す領域Ｒ２においては立て板ポリゴンは表示対象となっているが、カラーパレットデータのα値を所々"０"に設定することにより、空席がまばらに存在する様子が表現されている。
【００８３】
図１７は小入り状態の観客席を示す二次元画像である。この観客席においても、例えば図中に示す領域Ｒ１においては立て板ポリゴンが非表示対象とされることにより、比較的広い範囲に渡って空席が存在する様子が表現されている。また、図中に示す領域Ｒ２においては立て板ポリゴンは表示対象となっているが、カラーパレットデータのα値を所々"０"に設定することにより、空席がまばらに存在する様子が表現されている。
【００８４】
図１８は上記の図１５〜図１７とは別の観客席を示す二次元画像である。この観客席においては、手前及び奥の各観客席ともに寝かせ板ポリゴンを用いて表現されている。また、例えば図中に示す領域Ｒ１においては、カラーチェンジ用パレットを観客群Ａ、Ｂについてはホームサポーターに対応する表示色、観客群Ｃについては一般客に対応する表示色をそれぞれ設定することにより、ホームサポーターと一般客とが混在した状態の観客席が表現されている。
【００８５】
図１９は上記図１５〜図１８とは異なる角度から見た観客席を示す二次元画像である。この観客席においては、下段の観客席については立て板ポリゴンを用いて表現され、上段の観客席については寝かせ板ポリゴンを用いて表現されている。また、例えば図中に示す領域Ｒ１においては、カラーチェンジ用パレットを観客群Ａ、Ｂについてはアウェイサポーターに対応する表示色、観客群Ｃについてはホームサポーターに対応する表示色をそれぞれ設定することにより、ホームサポーターとアウェイサポーターが混在した状態の観客席が表現されいてる。
【００８６】
また、カラーパレットデータを決定する処理（上記ステップＳ１０７参照）は、以下のようにして行うこともできる。
【００８７】
パレットデータ決定手段３４は、スタジアムデータに含まれるカラー種の情報に基づいてカラーパレットデータを決定する。ここで決定されるカラーパレットデータとは上述したカラーチェンジ用パレットであり、ホームチーム、アウェイチームのそれぞれのチームカラーを反映したカラーチェンジパレットが決定される。例えば、ホームチームのパレットが３２色、アウェイチームのパレットが３２色、試合中に使用するパレットが２５６色である。試合中に使用するパレットの０〜３１番の色がホームチームのパレット３２色に変更され、１２８番〜１５９番の色がアウェイチームのパレット３２色に変更される。
【００８８】
ここで、「カラーパレットデータを決定する」処理についてより具体的に記載すると下記のようになる。カラーパレットデータは、例えば各ブロックにおけるフロアごとに決定される。まず、各エリアの観客総数（ホームサポーター＋アウェイサポーター＋一般客）を決める。次に、各エリアにおける、ホームサポーター、アウェイサポーター、一般サポーターのそれぞれの総数を決める（ホームサポーター、アウェイサポーター、一般サポーターの比率を決める）。具体的には、「基準値＋ブロックの収容割合−補正値」で比率を求め、全体の観客総数をその比率で分配して、各ブロックのホームサポーター、アウェイサポーター、一般サポーターのそれぞれの総数を決める。
【００８９】
次に、エリアごとのカラーパレットデータを決める。具体的には、「エリアごとのカラーパレットデータを決める」とは、あるエリアにホームサポーター、アウェイサポーター、一般サポーターがすべて存在する場合は、デフォルトのカラーパレット（一般客）のうち、たとえばＡ群にホームカラー（例：赤のときパレット番号１）を、Ｂ群にアウェイカラー（例：青のときパレット番号２）をそれぞれ転送するために、この転送すべき新たなカラーパレットを決定する、ことをいう。また、「エリアごとのカラーパレットデータを決める」とは、エリアにホームだけが存在する場合はＡ群からＣ群のすべてにホームカラーを代入する。この転送すべき新たなカラーパレットデータを決定する、ことをいう。なお、エリアに一般客しか存在しない場合は、カラーパレットの書き換えが不要であるので、自ずとカラーパレットデータがそのまま決まる場合もある。このようにして決まったカラーパレットに基づいてテクスチャを板状ポリゴンにマッピングして視点座標系に透視変換した画像を生成しモニタに表示すると、観客が一列全部に表示されている画像を遊戯者が見ることができる（図１５参照）。
【００９０】
次に、上記のように「観客が一列全部」に表示されている画像ではなく、「一列のうち一部が抜けた状態」で観客が表示される場合にあっては（図１６のＲ２参照）、例えば、あるエリアにホームサポーター、アウェイサポーター、一般サポーターがすべて存在する場合は、Ａ群、Ｂ群のうち、観客が存在する部分のテクスチャに対応するカラーパレットのアドレスのＡ群にホームカラー（例：赤のときパレット番号１）を、Ｂ群にアウェイカラー（例：青のときパレット番号２）を代入し、一列のうち観客が存在しない部分のテクスチャに対応するカラーパレットのアドレスに透明カラー（たとえばパレット番号０）を転送する（メモリを上書きする）。Ｃ群はすでにデフォルトカラーとして一般客のパレット番号が入っているので、一列のうち観客が存在しない部分のテクスチャに対応するカラーパレットのアドレスに透明カラー（たとえばパレット番号０）を代入する。この転送すべき新たなカラーパレットデータを決定することが「エリアごとのカラーパレットデータを決める」ことを意味する。
【００９１】
また、あるエリアにホームだけが存在する場合は、観客が存在する部分のテクスチャに対応するカラーパレットのアドレスのＡ群からＣ群のすべてにホームカラーを代入し、一列のうち観客が存在しない部分のテクスチャに対応するカラーパレットのアドレスに透明カラー（たとえばパレット番号０）を代入する。この代入すべき新たなカラーパレットデータを決定する、ことをいう。これにより、上記のようにして決まったカラーパレットデータに基づいてテクスチャを板状ポリゴンにマッピングして視点座標系に透視変換した画像を生成しモニタに表示すると、「透明カラー（たとえばパレット番号０）」の部分については観客が表示されず、他の観客が一列に表示されている画像をプレイヤが見ることができる（図１６参照）。
【００９２】
なお、「寝かせ板ポリゴン」の場合、以下の処理が「立て板ポリゴン」と異なる。「立て板ポリゴン」の場合は、デフォルトのカラーパレット（Ａ、Ｂ、Ｃ群すべてに予め一般客用カラー）が１つのみであるのに対し（一般客100%のみ）、「寝かせ板ポリゴン」は、デフォルトのカラーパレットを予め３種類（３段階の観客数を表現するための異なるパレット。例えば、一般客100%、70%、50%の３つ）として用意しておく。具体的には、テスクチャで表現される観客数が、(1)100％（図7：11人×5列＝55人）、(2)70％（39人）、(3)50％（28人）になるように、対応するカラーパレットのＡ、Ｂ、Ｃ群に入れるべき一般客用カラー（一般客が存在する部分）、透明（存在しない部分。パレット番号「０」。(1)100％の場合は透明無し）を予め割り当てたカラーパレットデータを用意しておく。次に、各エリアの観客総数（ホームサポーター＋アウェイサポーター＋一般サポーター）の情報から、３種類のうちどれを使うか決める。各エリアのホーム、アウェイ、一般のそれぞれの総数（ホームサポーター＋アウェイサポーター＋一般サポーター）に基づいて、その決めたデフォルトカラーパレットの既に色が入っているところ（一般客の色のところ）に、ホームカラー、アウェイカラーを上書きする（例：赤のときパレット番号１を、青のときパレット番号２を転送する）。このようにすることで、(2)70％、(3)50％が選択されたときは、「立て板ポリゴン」とは異なり（デフォルトのカラーパレットが１つのみとは異なり）、観客が存在しない部分に対応するアドレスに透明色のパレット番号を転送する必要がないので処理が早い。３種類のデフォルトパレットを使い分けることによって、実際に使うパレットに色を入れる手順（回数）が減り、処理が早くなり、データ構造もシンプルになる。
【００９３】
なお、「立て板ポリゴン」の場合であっても、上記と同様に、１種類だけでなく、３種類のデフォルトのカラーパレットデータを予め用意しておいて、「寝かせ板ポリゴン」と同じように処理してもよい。
【００９４】
以上のように本実施形態によれば、満席状態の観客を表現するテクスチャだけを予め用意しておけば、ポリゴンの表示／非表示の設定により観客数の増減を表現するとともに、各テクスチャ単位においてもカラーパレットデータを用いることにより、当該テクスチャに含まれるホームサポーター、アウェイサポーター、一般客のそれぞれに該当する観客の割合を自在に変化させることができる。したがって、画像生成に要するデータ量の増加等を招くことなく多彩な観客の表示が可能となる。
【００９５】
また、カラーパレットを用いてα値を適宜設定して、テクスチャに含まれる観客のうちの一部が非表示状態となるようにすることにより、更に細やかに観客数の増減を表現することが可能となる。
【００９６】
なお、本発明は上述した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、スポーツ競技を観戦する多数の観客を想定していたが、観客の表現を行う対象はこれに限定されるものではない。
【００９７】
また、上述した観客情報設定手段３１は、仮想三次元空間内における事象の変化に応じて決定される再設定情報に基づいて観客情報を再設定してもよい。事象の変化とは、例えばサッカーの試合であればその試合状況の変化が挙げられる。試合状況の変化には種々の要素が考えられ、例えば、ホームゲームの場合において、ホームチームが大差で負けている場合にはホームサポーターの設定人数を徐々に減らすといった態様が考えられる。また、試合の前半と後半で観客の状況を変化させる（後半になると一般客が増加する等）といった態様も考えられる。また、試合の残り時間が少なくなった際（例えば、残り５分）において、その時点で負けている側のチームを応援する観客の人数を減らすといった態様も考えられる。このように観客情報の再設定情報を適宜設定し、その都度観客の画像を更新することにより、試合状況に応じたきめ細かい観客表現を実現することができる。
【００９８】
また、上述した実施形態では、ＣＰＵ等のハードウェアを含むコンピュータに所定のプログラムを実行させることによってゲーム装置が実現されていたが、ゲーム装置に備わっていた各機能ブロックはそれぞれ専用のハードウェア等を用いて実現されていてもよい。
【００９９】
また、上述した実施形態では、本発明にかかる画像生成装置の一例としてゲーム装置を採り上げていたが、本発明の適用範囲はゲーム装置に限定されるものではない。例えば、現実世界の各種体験（例えば、運転操作等）を擬似的に再現するシミュレータ装置等に対しても本発明を適用することが可能である。
【図面の簡単な説明】
【０１００】
【図１】第１の実施形態のゲーム装置の構成を示すブロック図である。
【図２】画像生成機能に着目して第１の実施形態の画像処理部の構成を表現した場合の機能ブロック図である。
【図３】仮想三次元空間内に設けられる競技場の例を示す図である。
【図４】ポリゴンの配置状態を説明する図である。
【図５】立て板ポリゴンにマッピングされるテクスチャの一例を示す図である。
【図６】図５に示す一例のテクスチャを立て板ポリゴンにマッピングした様子を模式的に示す図である。
【図７】寝かせ板ポリゴンにマッピングされるテクスチャの一例を示す図である。
【図８】図７に示す一例のテクスチャを寝かせ板ポリゴンにマッピングした様子を模式的に示す図である。
【図９】カラーパレットデータについて説明する図である。
【図１０】カラーパレットデータについて説明する図である。
【図１１】ゲーム装置の画像生成処理の全体的な手順を示すフローチャートである。
【図１２】入場者の割り振り計算−１−についての詳細な手順を示すフローチャートである。
【図１３】入場者の割り振り計算−２−についての詳細な手順を示すフローチャートである。
【図１４】モデルデータの書き換えについての詳細な手順を示すフローチャートである。
【図１５】画像生成手段によって生成される二次元画像の例を示す図である。
【図１６】画像生成手段によって生成される二次元画像の例を示す図である。
【図１７】画像生成手段によって生成される二次元画像の例を示す図である。
【図１８】画像生成手段によって生成される二次元画像の例を示す図である。
【図１９】画像生成手段によって生成される二次元画像の例を示す図である。
【符号の説明】
【０１０１】
１０…ＣＰＵ
１１…システムメモリ
１２…記憶媒体
１３…ブートロム
１４…バスアービタ
１５…ジオメトリプロセッサ
１６…レンダリングプロセッサ
１７…グラフィックメモリ
１８…オーディオプロセッサ
１９…オーディオメモリ
２０…通信インタフェース（Ｉ／Ｆ）
２１…ペリフェラルインターフェース
３１…観客情報設定手段
３２…ポリゴン配置手段
３３…マッピング手段
３４…パレットデータ決定手段
３５…観客分配手段
３６…混在比率決定手段
３７…ポリゴン決定手段
３９…画像生成手段
【図１】
0004706966.tif 000002
【図２】
0004706966.tif 000003
【図４】
0004706966.tif 000004
【図５】
0004706966.tif 000005
【図６】
0004706966.tif 000006
【図７】
0004706966.tif 000007
【図８】
0004706966.tif 000008
【図１１】
0004706966.tif 000009
【図１２】
0004706966.tif 000010
【図１３】
0004706966.tif 000011
【図１４】
0004706966.tif 000012
【図３】
0004706966.tif 000013
【図９】
0004706966.tif 000014
【図１０】
0004706966.tif 000015
【図１５】
0004706966.tif 000016
【図１６】
0004706966.tif 000017
【図１７】
0004706966.tif 000018
【図１８】
0004706966.tif 000019
【図１９】
0004706966.tif 000020