(57)【特許請求の範囲】
【請求項１】
仮想カメラから見た仮想三次元空間の画像を生成するためのプログラムであって、コン
ピュータを、
複数の板状ポリゴンを交差させてなるモデルを前記仮想三次元空間内に複数配置するモデル配置手段、
複数の前記モデルを、各々の前記モデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分けるグループ化手段、
同一の前記グループに属する前記モデルのうちのいずれか１つについて前記第１ベクトルと前記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を、前記グループの各々に対して行うパラメータ算出手段、
同一の前記グループに属する前記モデルの各々について、当該グループについて算出された前記パラメータに応じて前記モデルを構成する複数の前記板状ポリゴンのうちの一つを表示対象として選択する処理を、前記グループの各々に対して行うポリゴン選択手段、
複数の前記モデルの各々について、前記ポリゴン選択手段によって選択された前記板状
ポリゴンに所定のテクスチャをマッピングするマッピング手段、
及び、
前記テクスチャがマッピングされた複数の前記モデルが配置された前記仮想三次元空間内を前記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する画像生成手段、
として機能させるプログラム。
【請求項２】
前記第１ベクトルは、前記モデルを構成するいずれかの前記ポリゴンの表面に対する法線ベクトルである、請求項１に記載のプログラム。
【請求項３】
前記第２ベクトルは、前記仮想カメラの視線方向を示す視線ベクトル又はその逆ベクトルである、請求項１に記載のプログラム。
【請求項４】
前記パラメータは、前記第１ベクトルと前記第２ベクトルとのなす角度自体又は前記第１ベクトルと前記第２ベクトルとの内積値である、請求項１に記載のプログラム。
【請求項５】
前記モデル配置手段は、前記仮想三次元空間内に配置されている目標物の位置に対して前記第１ベクトルの方向が一定の関係を保って追随するようにして前記モデルを配置する、請求項１に記載のプログラム。
【請求項６】
仮想カメラから見た仮想三次元空間の画像を生成する画像生成装置であって、
複数の板状ポリゴンを交差させてなるモデルを前記仮想三次元空間内に複数配置するモデル生成手段と、
複数の前記モデルを、各々の前記モデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分けるグループ化手段と、
同一の前記グループに属する前記モデルのうちのいずれか１つについて前記第１ベクトルと前記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を、前記グループの各々に対して行うパラメータ算出手段と、
同一の前記グループに属する前記モデルの各々について、当該グループについて算出された前記パラメータに応じて前記モデルを構成する複数の前記板状ポリゴンのうちの一つを表示対象として選択する処理を、前記グループの各々に対して行うポリゴン選択手段と、
複数の前記モデルの各々について、前記ポリゴン選択手段によって選択された前記板状ポリゴンに所定のテクスチャをマッピングするマッピング手段と、
前記テクスチャがマッピングされた複数の前記モデルが配置された前記仮想三次元空間内を前記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する画像生成手段と、
を備える画像生成装置。
【請求項７】
前記第１ベクトルは、前記モデルを構成するいずれかの前記ポリゴンの表面に対する法線ベクトルである、請求項６に記載の画像生成装置。
【請求項８】
前記第２ベクトルは、前記仮想カメラの視線方向を示す視線ベクトル又はその逆ベクトルである、請求項６に記載の画像生成装置。
【請求項９】
前記パラメータは、前記第１ベクトルと前記第２ベクトルとのなす角度自体又は前記第１ベクトルと前記第２ベクトルとの内積値である、請求項６に記載の画像生成装置。
【請求項１０】
前記モデル配置手段は、前記仮想三次元空間内に配置されている目標物の位置に対して前記第１ベクトルの方向が一定の関係を保って追随するようにして前記モデルを配置する、請求項６に記載の画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想三次元空間に設定される事象を透視投影変換して二次元画像を生成する技術に関し、特に、スポーツをテーマとしたゲーム装置等における多数の観客をよりリアルに表現する際の演算負荷を軽減する画像処理技術に関するものである。
【背景技術】
【０００２】
近年のコンピュータ技術の発展に伴い、ＴＶゲーム機、シミュレータ（擬似体験装置）などに関する画像処理技術が広く一般に普及するようになっている。このようなシステムにおいては、表示される画像をより表現力豊かにすることが商品価値を高めるうえで重要となっている。例えば、テニスやサッカーなどのスポーツ競技をテーマとしたＴＶゲーム機においては、商品価値をより一層高めるためには、遊技者の操作対象となるスポーツ選手等の挙動の表現はもちろんのこと、これを観戦する観客の挙動についてもよりリアルに表現することが望まれる。一方で、画像の表現力を向上させようとすればするほど、画像生成に要する演算負荷が増加する傾向にある。ＴＶゲーム機等においては画像生成に実時間処理が求められるので、許容可能な演算量には一定の限界がある。したがって、表現力を低下させることなく演算負荷を低減することが可能な技術が求められている。
【０００３】
このような要望に対する従来技術として、ビルボード処理と称される技術（非特許文献１参照）を応用した手法が考えられる。具体的には、観客等の対象体を板状ポリゴンを用いた二次元モデルによって表現しておき、仮想カメラの視線方向を示す視線ベクトルに応じて板状ポリゴン（二次元モデル）を適宜回転させて、その後板状ポリゴンにマッピングされるテクスチャを差し替える、という手法である。
【０００４】
しかし、上記の手法を用いた場合にも、板状ポリゴンの４頂点の座標成分（各頂点のｘ，ｙ，ｚ成分）もしくは法線成分に対して座標変換処理が必要となるため、多数の観客を表現したいような場合には演算負荷の軽減効果が低い。したがって、観客等に関する画像の表現力を低下させることなく、演算負荷のより一層の低減を達成し得る技術が望まれている。
【０００５】
【非特許文献１】田中  成典、外６名、“ＤｉｒｅｃｔＸによるゲームプログラミング入門：第６章  実践ゲーム開発：６．３．２  ビルボードの描画”、［online］、２００３年８月２９日、マイクロソフト株式会社、［２００５年８月２５日検索］、インターネット＜URL：http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/06/＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明は、観客等の表現力を低下させることなく演算負荷を低減することが可能な画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成するためのプログラム（画像生成用プログラム）であって、コンピュータを、
ａ）複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に配置するモデル配置手段、
ｂ）上記モデルに関連付けて設定される第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出するパラメータ算出手段、
ｃ）上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択するポリゴン選択手段、
ｄ）上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングするマッピング手段、
及び、
ｅ）上記テクスチャがマッピングされた上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する画像生成手段、
として機能させるものである。
【０００８】
上記の本発明では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。特に、多数の観客を表示する場合などにおいては、上記モデルによって各観客を表現することにより演算負荷の大幅な低減を達成できる。
【０００９】
第２の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成するためのプログラム（画像生成用プログラム）であって、コンピュータを、
ａ）複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に複数配置するモデル配置手段、
ｂ）複数の上記モデルを、各々の上記モデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分けるグループ化手段、
ｃ）同一の上記グループに属する上記モデルのうちのいずれか１つについて上記第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を、上記グループの各々に対して行うパラメータ算出手段、
ｄ）同一の上記グループに属する上記モデルの各々について、当該グループについて算出された上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択する処理を、上記グループの各々に対して行うポリゴン選択手段、
ｅ）複数の上記モデルの各々について、上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングするマッピング手段、
及び、
ｆ）上記テクスチャがマッピングされた複数の上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する画像生成手段、
として機能させるものである。
【００１０】
上記の本発明では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。また、被選択ポリゴンの判定を各グループごとにそのグループに属するモデルのうちのいずれか１つについて行い、その判定結果を同一グループに属する他の全てのモデルにも適用することにより、パラメータ算出処理及びポリゴン選択処理の演算負荷が大幅に低減する。これにより、表示対象となる観客が非常に多数（例えば数万人分）となる場合であっても、表現力を低下させることなく演算負荷の大幅な低減を達成できる。
【００１１】
上記各態様の本発明の画像生成用プログラムについての更なる有利な態様を以下に説明する。
【００１２】
上記第１ベクトルとしては、上記モデルを構成するいずれかの上記板状ポリゴンの表面に対する法線ベクトルを採用することが好ましい。
【００１３】
多くの場合、各ポリゴンには当該ポリゴンを規定するパラメータの１つとして法線ベクトルが用意されているので、これを第１ベクトルとして利用することができる。
【００１４】
上記第２ベクトルとしては、上記仮想カメラの視線方向を示す視線ベクトル又はその逆ベクトルである。
【００１５】
これにより、仮想カメラの挙動をより的確に反映した第２ベクトルが得られる。
【００１６】
また、上記パラメータとしては、上記第１ベクトルと上記第２ベクトルとのなす角度自体又は上記第１ベクトルと上記第２ベクトルとの内積値を採用するのが好ましい。
【００１７】
これにより、比較的に簡単な演算によってパラメータを得ることができる。
【００１８】
また、上記モデル配置手段は、上記仮想三次元空間内に配置されている目標物の位置に対して上記第１ベクトルの方向が一定の関係を保って追随するようにして上記モデルを配置するように構成されてもよい。目標物としては、例えば仮想三次元空間内を移動する物体（ボール等）が挙げられる。
【００１９】
これにより、目標物の挙動に追随してモデルの表示を変化させることができる。
【００２０】
第３の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成する画像生成装置であって、モデル生成手段、パラメータ算出手段、ポリゴン選択手段、マッピング手段及び画像生成手段を備える。モデル生成手段は、複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に配置する。パラメータ算出手段は、上記モデルに関連付けて設定される第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する。ポリゴン選択手段は、上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択する。マッピング手段は、上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングする。画像生成手段は、上記テクスチャがマッピングされた上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する。
【００２１】
上記の本発明では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。特に、多数の観客を表示する場合などにおいては、上記モデルによって各観客を表現することにより演算負荷の大幅な低減を達成できる。
【００２２】
第４の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成する画像生成装置であって、モデル生成手段、グループ化手段、パラメータ算出手段、ポリゴン選択手段、マッピング手段及び画像生成手段を備える。モデル生成手段は、複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に複数配置する。グループ化手段は、複数の上記モデルを、各々の上記モデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分ける。パラメータ算出手段は、同一の上記グループに属する上記モデルのうちのいずれか１つについて上記第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を、上記グループの各々に対して行う。ポリゴン選択手段は、同一の上記グループに属する上記モデルの各々について、当該グループについて算出された上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択する処理を、上記グループの各々に対して行う。マッピング手段は、複数の上記モデルの各々について、上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングする。画像生成手段は、上記テクスチャがマッピングされた複数の上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する。
【００２３】
上記の本発明では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。また、被選択ポリゴンの判定を各グループごとにそのグループに属するモデルのうちのいずれか１つについて行い、その判定結果を同一グループに属する他の全てのモデルにも適用することにより、パラメータ算出処理及びポリゴン選択処理の演算負荷が大幅に低減する。これにより、表示対象となる観客が非常に多数（例えば数万人分）となる場合であっても、表現力を低下させることなく演算負荷の大幅な低減を達成できる。
【００２４】
上記各態様の本発明の画像生成装置についての更なる有利な態様を以下に説明する。
【００２５】
上記第１ベクトルとしては、上記モデルを構成するいずれかの上記板状ポリゴンの表面に対する法線ベクトルを採用することが好ましい。
【００２６】
多くの場合、各ポリゴンには当該ポリゴンを規定するパラメータの１つとして法線ベクトルが用意されているので、これを第１ベクトルとして利用することができる。
【００２７】
上記第２ベクトルとしては、上記仮想カメラの視線方向を示す視線ベクトル又はその逆ベクトルである。
【００２８】
これにより、仮想カメラの挙動をより的確に反映した第２ベクトルが得られる。
【００２９】
また、上記パラメータとしては、上記第１ベクトルと上記第２ベクトルとのなす角度自体又は上記第１ベクトルと上記第２ベクトルとの内積値を採用するのが好ましい。
【００３０】
これにより、比較的に簡単な演算によってパラメータを得ることができる。
【００３１】
また、上記モデル配置手段は、上記仮想三次元空間内に配置されている目標物の位置に対して上記第１ベクトルの方向が一定の関係を保って追随するようにして上記モデルを配置するように構成されてもよい。目標物としては、例えば仮想三次元空間内を移動する物体（ボール等）が挙げられる。
【００３２】
これにより、目標物の挙動に追随してモデルの表示を変化させることができる。
【００３３】
なお、上記各態様の本発明にかかる技術的思想は以下のように表現することもできる。
【００３４】
第５の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成するためのプログラムであって、コンピュータに、
ａ）複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に配置する第１ステップ、
ｂ）上記モデルに関連付けて設定される第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する第２ステップ、
ｃ）上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択する第３ステップ、
ｄ）上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングする第４ステップ、
及び、
ｅ）上記テクスチャがマッピングされた上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する第５ステップ、
を実行させるものである。
【００３５】
第６の態様の本発明は、仮想カメラから見た仮想三次元空間の画像を生成するためのプログラムであって、コンピュータに、
ａ）複数の板状ポリゴンを交差させてなるモデルを上記仮想三次元空間内に複数配置する第１ステップ、
ｂ）複数の上記モデルを、各々の上記モデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分ける第２ステップ、
ｃ）同一の上記グループに属する上記モデルのうちのいずれか１つについて上記第１ベクトルと上記仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を、上記グループの各々に対して行う第３ステップ、
ｄ）同一の上記グループに属する上記モデルの各々について、当該グループについて算出された上記パラメータに応じて上記モデルを構成する複数の上記板状ポリゴンのうちの一つを表示対象として選択する処理を、上記グループの各々に対して行う第４ステップ、
ｅ）複数の上記モデルの各々について、上記ポリゴン選択手段によって選択された上記板状ポリゴンに所定のテクスチャをマッピングする第５ステップ、
及び、
ｆ）上記テクスチャがマッピングされた複数の上記モデルが配置された上記仮想三次元空間内を上記仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する第６ステップ、
を実行させるものである。
【発明を実施するための最良の形態】
【００３６】
以下、画像生成装置の一例としてゲーム装置を採り上げて、本発明の実施の形態について説明する。
【００３７】
図１は、一実施形態のゲーム装置の構成を示すブロック図である。図１に示す本実施形態のゲーム装置１は、ＣＰＵ（Central Processing Unit）１０、システムメモリ１１、記憶媒体１２、ブートロム（BOOT ROM）１３、バスアービタ１４、ジオメトリプロセッサ１５、レンダリングプロセッサ１６、グラフィックメモリ１７、オーディオプロセッサ１８、オーディオメモリ１９、通信インタフェース（Ｉ／Ｆ）２０、ペリフェラルインターフェース２１、を含んで構成されている。すなわち、本実施形態のゲーム装置１は、上記のＣＰＵ１０やシステムメモリ１１等の構成を含んで構成されるコンピュータを備え、当該コンピュータに所定のプログラムを実行させることによって、スポーツ（例えば、テニス等）をテーマとしたゲーム装置として機能するものである。具体的には、ゲーム装置１は、ゲーム演出を行うために、仮想三次元空間（ゲーム空間）内を仮想カメラから見た二次元画像を順次生成するとともに、効果音などの音声を生成する。
【００３８】
ＣＰＵ（Central Processing Unit）１０は、所定のプログラムを実行することによりゲーム装置１全体を制御する。
【００３９】
システムメモリ１１は、ＣＰＵ１０が使用するプログラムやデータを格納する。
【００４０】
記憶媒体１２は、ゲームプログラムや出力する画像や音声などのデータが記録されている。このプログラムデータ用ＲＯＭとしての記憶媒体１２は、マスクロムやフラッシュロムなどの電気的にデータを読み出せるＩＣメモリや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの光学的にデータを読み出せる装置と光ディスクまたは磁気ディスク等であっても良い。
【００４１】
ブートロム１３は、ゲーム装置１を起動させた際に各ブロックを初期化するためのプログラムを格納する。
【００４２】
バスアービタ１４は、各ブロック間でプログラムやデータのやり取りを行うバスを制御する。
【００４３】
ジオメトリプロセッサ１５は、ディスプレイに表示するオブジェクトの仮想三次元空間（ゲーム空間）での位置座標や向きを計算する。
【００４４】
レンダリングプロセッサ１６は、ジオメトリプロセッサ１５によって算出されたオブジェクトの向きや位置座標等に基づいて、ディスプレイに出力する画像を生成（描画）する
【００４５】
グラフィックメモリ１７は、レンダリングプロセッサ１６に接続されており、画像を生成するためのデータやコマンドなど格納する。
【００４６】
オーディオプロセッサ１８は、スピーカから音声出力を行うためのデータを生成する。このオーディオプロセッサ１８によって生成された音声データが図示しないデジタル／アナログ変換器によってアナログ信号に変換され、スピーカに入力されることにより、スピーカから音声出力がなされる。
【００４７】
オーディオメモリ１９は、オーディオプロセッサ１８に構成されており、音声を生成するためのデータやコマンドなど格納する。
【００４８】
通信インタフェース（Ｉ／Ｆ）２０は、ゲーム装置１が他のゲーム装置やサーバ装置等との間でデータ通信の必要がある場合における通信処理を行う。
【００４９】
ペリフェラルインターフェース（Ｉ／Ｆ）２１は、外部からのデータ入出力を行うインターフェースが組み込まれており、ここに周辺装置としてのペリフェラルが接続される。ここで、ペリフェラルには、マウス（ポインティングデバイス）やキーボード、ゲーム用コントローラ等のキー操作のためのスイッチ、及びタッチペンの他、プログラムの途中経過や生成したデータを保存するバックアップメモリ、表示装置、撮影装置等、画像処理装置本体あるいは他のペリフェラルに接続可能なものが含まれる。
【００５０】
なお、システムメモリ１１、グラフィックメモリ１７、サウンドメモリ１９は、１つの
メモリをバスアービタ１４に接続して各機能で共通に使用するようにしてもよい。また各
機能ブロックも機能として画像処理部２内に存在すればよく、機能ブロック同士が統合
されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
【００５１】
図２は、画像生成機能に着目して画像処理部２の構成を表現した場合の機能ブロック図である。また、図３は、画像生成機能に着目して画像処理部２の動作手順を示したフローチャートである。図２に示すように、画像処理部２は、モデル配置手段３０、パラメータ算出手段３１、ポリゴン選択手段３２、マッピング手段３３及び画像生成手段３４を含んで構成される。図１に示す構成との対応関係を説明すると、モデル配置手段３０、パラメータ算出手段３１及びポリゴン選択手段３２は、例えばＣＰＵ１０、システムメモリ１１及びジオメトリプロセッサ１５が協働することによって実現され、マッピング手段３３及び画像生成手段３４は、例えばＣＰＵ１０、レンダリングプロセッサ１６及びグラフィックメモリ１７が協働することによって実現される。
【００５２】
モデル配置手段３０は、複数の板状ポリゴンを交差させて構成されるモデル（ポリゴンモデル）を仮想三次元空間内に配置する（図３：ステップＳ１００）。この板状ポリゴンを交差させて構成されるモデルの一例を図４に示す。図４において概略斜視図により例示されるモデルは、板状ポリゴンＰＧ１に対して、各板状ポリゴンＰＧ２、ＰＧ３を直交させて構成されている。なお、板状ポリゴンＰＧ２及び板状ポリゴンＰＧ３は互いに背合わせに配置されるため、図４及びこれ以降の図中においては見かけ上１枚の板状ポリゴンのように表現されるが、実際には２枚の板状ポリゴンが存在するものとする。本実施形態では、図示のモデル１つが表示対象となる観客の１人分に相当する。具体的には、板状ポリゴンＰＧ１は観客をその正面から見た様子を表現する際に用いられ、板状ポリゴンＰＧ２は観客をその右側面から見た様子を表現する際に用いられ、板状ポリゴンＰＧ３は観客をその左側面から見た様子を表現する際に用いられる。本実施形態では、観客を後ろから見た様子は表現しない設定となっている。なお、観客の後ろ姿についても表現したい場合には、板状ポリゴンＰＧ１の裏面側に更にもう一つの板状ポリゴンを設定しておくとともに、当該様子を示すテクスチャを用意しておけばよい。
【００５３】
パラメータ算出手段３１は、モデルに関連付けて設定される第１ベクトルと仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する（図３：ステップＳ１０１）。
【００５４】
ここで、第１ベクトルは、モデルの配置に関連付けられた特定の方向を有するものである限り任意に設定可能である。図４に示すように、本実施形態では第１ベクトルとして、板状ポリゴンＰＧ１の表面に対する法線ベクトルＶ１を用いる。また、第２ベクトルは、仮想三次元空間内に設置される仮想カメラの視線方向（撮像方向）に関連付けて設定されている限り任意に設定可能である。図４に示すように、本実施形態では第２ベクトルとして、仮想カメラの視線ベクトルＶ２の逆ベクトルＶ３を用いる。このとき、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度をθとすると（図４参照）、パラメータ算出手段３１は、当該角度θをパラメータとして算出する。なお、視線ベクトルＶ２を第２ベクトルとして用い、当該視線ベクトルＶ２と法線ベクトルＶ１とのなす角度をパラメータとして算出してもよい。更には、「第１ベクトル」としての法線ベクトルＶ１と、「第２ベクトル」としての逆ベクトルＶ３と、の内積値｜Ｖ１｜｜Ｖ３｜ｃｏｓθを算出し、これをパラメータとして用いてもよい。
【００５５】
ポリゴン選択手段３２は、パラメータ算出手段３１によって算出されるパラメータである角度θの値に応じて、複数の板状ポリゴンＰＧ１、ＰＧ２、ＰＧ３のうちのいずれか１つを選択する（図３：ステップＳ１０２）。この選択処理の具体例について図５を用いて説明する。図５は、上述した図３に示したモデルと各ベクトルとの関係を平面的に示した図である。図５において角度θを時計回りを正、反時計回りを負と定義すると、ポリゴン選択手段３２は、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが０°≦θ＜＋４５°及び−４５°≦θ＜０である場合（ケース１）に板状ポリゴンＰＧ１を選択する。また、ポリゴン選択手段３２は、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが＋４５°≦θ＜＋１３５°である場合（ケース２）に板状ポリゴンＰＧ２を選択する。また、ポリゴン選択手段３２は、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが−１３５°≦θ＜−４５°である場合（ケース３）に板状ポリゴンＰＧ３を選択する。なお、本実施形態では上記に当てはまらない角度θは発生しない設定とされている。また、上記各ケースに該当すべき角度の範囲は一例であり、これに限定されるものではなく任意に変更可能である。
【００５６】
マッピング手段３３は、ポリゴン選択手段３２によって選択された一の板状ポリゴンにテクスチャをマッピングする（図３：ステップＳ１０３）。このテクスチャマッピングの具体例を図６に示す。
【００５７】
図６（Ａ）は、仮想カメラの視線ベクトルＶ２の方向が板状ポリゴンＰＧ１に対して向かう状況にあり、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが上述したケース１に該当する場合におけるテクスチャマッピングの例を示している。このときは、板状ポリゴンＰＧ１に対して図示のように、座っている観客を正面側から見た様子を表すテクスチャがマッピングされている。また、板状ポリゴンＰＧ２、ＰＧ３については、図中では点線により表示されているが、実際にはこれらが非表示となる処理がなされる。これらの板状ポリゴンＰＧ２、ＰＧ３を非表示状態とする具体的な処理としては、例えば、各板状ポリゴンＰＧ２、ＰＧ３に設定されている透明度制御用のパラメータであるアルファ値を０（全透過に対応）にする処理や、各板状ポリゴンＰＧ２、ＰＧ３の頂点を描画処理の対象としないようにフラグを管理する、等の処理が挙げられる。フラグ管理についてより具体的に説明すると、選択された板状ポリゴンＰＧ１のみを表示状態とする場合には、選択された板状ポリゴンＰＧ１を構成する頂点の頂点データに対応する頂点データ番号のみがグラフィックメモリ１７内のインデックスバッファに転送される。
【００５８】
図６（Ｂ）は、仮想カメラの視線ベクトルＶ２の方向が板状ポリゴンＰＧ２に対して向かう状況にあり、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが上述したケース２に該当する場合におけるテクスチャマッピングの例を示している。このときは、板状ポリゴンＰＧ２に対して図示のように、座っている観客を右側面側から見た様子を表すテクスチャがマッピングされている。また、板状ポリゴンＰＧ１、ＰＧ３については非表示となる処理（具体例は上記と同様）がなされている。
【００５９】
図６（Ｃ）は、仮想カメラの視線ベクトルＶ２の方向が板状ポリゴンＰＧ３に対して向かう状況にあり、法線ベクトルＶ１と逆ベクトルＶ３とのなす角度θが上述したケース３に該当する場合におけるテクスチャマッピングの例を示している。このときは、板状ポリゴンＰＧ３に対して図示のように、座っている観客を左側面側から見た様子を表すテクスチャがマッピングされている。また、板状ポリゴンＰＧ１、ＰＧ２については非表示となる処理（具体例は上記と同様）がなされている。
【００６０】
次に、画像生成手段３４は、板状ポリゴンに対して所定のテクスチャがマッピングされたモデルを含む仮想三次元空間内を仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する（図３：ステップＳ１０４）。
【００６１】
図７は、画像生成手段によって生成される二次元画像の例を示す図である。この図７では、環状に配置された多数の観客をその手前側に設定された仮想カメラから撮像した様子が示されている。これら多数の観客のうち、中央から右寄りに配置されている各観客は、それぞれ上述した処理によって板状ポリゴンＰＧ１が選択され、当該板状ポリゴンＰＧ１に対してテクスチャマッピングがなされることにより表現されている。また、中央から左寄りに配置されている各観客は、それぞれ上述した処理によって板状ポリゴンＰＧ２が選択され、当該板状ポリゴンＰＧ２に対してテクスチャマッピングがなされることにより表現されている。
【００６２】
以上のように第１の実施形態のゲーム装置では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。特に、多数の観客を表示する場合などにおいては、上記モデルによって各観客を表現することにより演算負荷の大幅な低減を達成できる。
【００６３】
＜第２の実施形態＞
ここで、多数の観客を表示する処理として、各観客ごとに設定されたモデルのそれぞれに対して上記第１の実施形態で説明した処理を行うことによっても従来技術に比較して処理負荷を軽減できるが、以下に説明する処理を導入することにより処理負荷の更なる軽減を図ることができる。
【００６４】
図８は、画像生成機能に着目して画像処理部２の構成を表現した場合の機能ブロック図である。なお、具体的なハードウェア構成については上記図１に示した内容と同じであるため、ここでは説明を省略する。また、図９は、画像生成機能に着目して画像処理部２の動作手順を示したフローチャートである。図８に示すように、第２の実施形態の画像処理部２は、モデル配置手段１３０、パラメータ算出手段１３１、ポリゴン選択手段１３２、マッピング手段１３３、画像生成手段１３４及びグループ化手段１３５を含んで構成される。図１に示す構成との対応関係を説明すると、モデル配置手段１３０、パラメータ算出手段１３１、ポリゴン選択手段１３２及びグループ化手段１３５は、例えばＣＰＵ１０、システムメモリ１１及びジオメトリプロセッサ１５が協働することによって実現され、マッピング手段１３３及び画像生成手段１３４は、例えばＣＰＵ１０、レンダリングプロセッサ１６及びグラフィックメモリ１７が協働することによって実現される。
【００６５】
モデル配置手段１３１は、複数の板状ポリゴンを交差させてなるモデル（ポリゴンモデル）を仮想三次元空間内に複数配置する（図９：ステップＳ２００）。各モデルの具体例については上述した第１の実施形態と同様である（図４参照）。
【００６６】
グループ化手段１３５は、複数のモデルを、各々のモデルに関連付けて設定される第１ベクトルの方向が一致するもの毎にグループに分ける（図９：ステップＳ２０１）。
【００６７】
ここで、グループ分けについて具体的に説明する。図１０は、上述した図７に示した観客の表示例に基づいて本実施形態におけるグループ分けの概念を説明する図である。図１０に示すように、例えば、図中左下側に配置された１群の観客に対応する各モデルは、各モデルに設定された第１ベクトルの方向が一致しているとしてグループ化されている。この１群のモデルの各々に設定されている第１ベクトルを代表して分かりやすく示したのが第１ベクトルＶ１１である。他の観客についても同様であり、モデルに設定されている第１ベクトルの方向が一致するもの毎にグループ分けされている。各グループ毎に設定されている第１ベクトルを代表して示したのが各第１ベクトルＶ１２、Ｖ１３、Ｖ１４、Ｖ１５、Ｖ１６、及びＶ１７である。なお、各モデルが異なったエリアに配置されていたとしても、第１ベクトルの方向が一致する限りは同一グループに属するように設定することができる。例えば、上記図１０において、仮に第１ベクトルＶ１１と第１ベクトルＶ１３の方向が一致していたとすると、これらに対応する各モデルを同一グループとして扱うことができる。なお、別な観点からは、各グループ毎にそのグループ内に含まれる全モデルに共通して用いられる１つの第１ベクトルが設定されている、と把握することもできる。
【００６８】
図１１は、第１ベクトルの方向に基づくグループ分けに関して更に説明する図であり、仮想三次元空間内にスポーツ競技場（スタジアム）が配置される場合が例示されている。このスタジアムは、中央に競技スペース（例えば、テニスコートやサッカーグラウンド等）が配置され、その周囲に環状に観客席が配置されている。このような観客席においては、観客が競技スペースを見る際の正面方向が一致する範囲毎にエリアが区切られており、各エリア内に配置される各モデルの第１ベクトルはその方向が一致する。図１１では、この各エリア毎に一致する各モデルの第１ベクトルが代表して１つだけ白抜きの矢印で示されている。
【００６９】
パラメータ算出手段１３１は、グループの各々に対して、同一のグループに属するモデルのうちのいずれか１つについて第１ベクトルと仮想カメラの視線方向に関連付けて設定される第２ベクトルとのなす角度に依存するパラメータを算出する処理を行う（図９：ステップＳ２０２）。図１０を用いて説明すると、例えば、第１ベクトルＶ１１を有するグループ（以下「グループ１」）については当該グループ１に含まれるいずれか１つのモデルに関してのみパラメータ算出処理がなされる。この算出されたパラメータは、後述するポリゴン選択時に、グループ１に属する全てのモデルに関して共通に用いられる。第１ベクトルＶ１２を有するグループ（以下「グループ２」）、第１ベクトルＶ１３を有するグループ（以下「グループ３」）、第１ベクトルＶ１４を有するグループ（以下「グループ４」）、第１ベクトルＶ１５を有するグループ（以下「グループ５」）、第１ベクトルＶ１６を有するグループ（以下「グループ６」）、第１ベクトルＶ１７を有するグループ（以下「グループ７」）のそれぞれについても同様である。なお、パラメータの具体的な方法については上記第１の実施形態と同様である（図４参照）。
【００７０】
ポリゴン選択手段１３２は、グループの各々に対して、同一のグループに属するモデルの各々について、当該グループについて算出されたパラメータに応じて各モデルを構成する複数の板状ポリゴンのうちの一つを表示対象として選択する処理を行う（図９：ステップＳ２０３）。この選択処理の具体的内容については上述した第１の実施形態と同様である（図５参照）。これにより、例えば、グループ１についてはこのグループに属する全てのモデルについて、複数の板状ポリゴンＰＧ１、ＰＧ２、ＰＧ３のうちの板状ポリゴンＰＧ２が選択される、というように、各グループ毎に一括処理が可能となる。
【００７１】
ここで、各グループに属するモデルについての板状ポリゴンの頂点データ番号のデータ構造例について説明する。図１２は、各モデルに設定されている頂点データ番号について説明する図である。図１３は、板状ポリゴンの頂点データ番号のデータ構造例を示す図である。なお、図１３に例示する頂点データ番号は、１つのグループに２５個のモデル（観客２５人分）が属している場合についてのものである。図１２及び図１３に示すように、板状ポリゴンの頂点データ番号は、モデルごとに連番にするのではなく、各板状ポリゴンＰＧ１、ＰＧ２、ＰＧ３ごとに連番に設定されている。
【００７２】
具体的には、まず、１番目のモデルの板状ポリゴンＰＧ１に対する頂点データ番号が（１，２，３，４）、２番目のモデルの板状ポリゴンＰＧ１に対する頂点データ番号が（５，６，７，８）、３番目のモデルの板状ポリゴンＰＧ１に対する頂点データ番号が（９，１０，１１，１２）、・・・、２５番目のモデルの板状ポリゴンＰＧ１に対する頂点データ番号が（９７，９８，９９，１００）、というように、各モデルの板状ポリゴンＰＧ１に関して連番にして頂点データ番号が設定されている。
【００７３】
同様に、１番目のモデルの板状ポリゴンＰＧ２に対する頂点データ番号が（１０１，１０２，１０３，１０４）、２番目のモデルの板状ポリゴンＰＧ２に対する頂点データ番号が（１０５，１０６，１０７，１０８）、３番目のモデルの板状ポリゴンＰＧ２に対する頂点データ番号が（１０９，１１０，１１１，１１２）、・・・、２５番目のモデルの板状ポリゴンＰＧ２に対する頂点データ番号が（１９７，１９８，１９９，２００）、というように、各モデルの板状ポリゴンＰＧ２に関して連番にして頂点データ番号が設定されている。
【００７４】
同様に、１番目のモデルの板状ポリゴンＰＧ３に対する頂点データ番号が（２０１，２０２，２０３，２０４）、２番目のモデルの板状ポリゴンＰＧ３に対する頂点データ番号が（２０５，２０６，２０７，２０８）、３番目のモデルの板状ポリゴンＰＧ３に対する頂点データ番号が（２０９，２１０，２１１，２１２）、・・・、２５番目のモデルの板状ポリゴンＰＧ２に対する頂点データ番号が（２９７，２９８，２９９，３００）、というように、各モデルの板状ポリゴンＰＧ３に関して連番にして頂点データ番号が設定されている。
【００７５】
このように頂点データ番号を設定しておくことにより、例えば、あるグループ（例えばグループ１）に属する各モデルについては板状ポリゴンＰＧ１を表示対象とすると選択された場合には、頂点データ番号１〜１００を表示対象の板状ポリゴンを示すインデックスとして管理すればよいことになる。同様に、あるグループに属する各モデルについては板状ポリゴンＰＧ２を表示対象とすると選択された場合には、頂点データ番号１０１〜２００を表示対象の板状ポリゴンを示すインデックスとして管理すればよいことになる。同様に、あるグループに属する各モデルについては板状ポリゴンＰＧ３を表示対象とすると選択された場合には、頂点データ番号２０１〜３００を表示対象の板状ポリゴンを示すインデックス情報として管理すればよいことになる。
【００７６】
テクスチャマッピング１３３は、複数のモデルの各々について、ポリゴン選択手段１３２によって選択された板状ポリゴンに所定のテクスチャをマッピングする（図９：ステップＳ２０４）。各モデルに対するテクスチャマッピングの具体例は上述した第１の実施形態と同様である（図６参照）。
【００７７】
画像生成手段１３４は、テクスチャがマッピングされた複数のモデルが配置された仮想三次元空間内を仮想カメラの視点に対応して設定される透視投影面上に透視投影して得られる二次元画像を生成する（図９：ステップＳ２０５）。生成される二次元画像の具体例は上述した第１の実施形態と同様である（図７参照）。
【００７８】
以上のように第２の実施形態のゲーム装置では、予めモデルを配置した後には、仮想カメラの視線方向の変化に対応していずれかの板状ポリゴンを選択し、この被選択ポリゴンに対して予め用意されているテクスチャをマッピングすることにより表示を変化させている。したがって、仮想カメラの視線方向が変化した場合にもモデルを構成する板状ポリゴンの各頂点について移動（回転等）をさせる必要がないため、表現力を低下させることなく演算負荷を低減することが可能となる。また、被選択ポリゴンの判定を各グループごとにそのグループに属するモデルのうちのいずれか１つについて行い、その判定結果を同一グループに属する他の全てのモデルにも適用することにより、パラメータ算出処理及びポリゴン選択処理の演算負荷が大幅に低減する。これにより、表示対象となる観客が非常に多数（例えば数万人分）となる場合であっても、表現力を低下させることなく演算負荷の大幅な低減を達成できる。
【００７９】
＜その他の実施態様＞
なお、本発明は上述した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、仮想三次元空間内に配置されるモデルは図３に例示したものに限られず、より多くのポリゴンを交差させて構成されたものであってもよい。そのようなモデルを用いた場合には、表現力をより向上させることができる。また、各板状ポリゴンの形状も例示した四角形に限定されるものではない。
【００８０】
また、上述した各実施形態におけるモデル配置手段は、仮想三次元空間内に配置されている何らかの目標物の位置に対して第１ベクトルの方向が一定の関係を保って追随するようにしてモデルを配置してもよい。これについて図１４を用いて具体的に説明する。仮想三次元空間内に配置されている目標物の一例として、仮想三次元空間内を移動するボール（テニスボールやサッカーボール等）を考える。このボールは、図１４（Ｄ）に示すように、時刻ｔ＝ｔ１、ｔ２、ｔ３…においてそれぞれ（ｘ１，ｙ１，ｚ１）、（ｘ２，ｙ２，ｚ２）、（ｘ３，ｙ３，ｚ３）という位置に存在する。このとき、例えば第１ベクトルの方向が上記のボール位置に向かうように追随する、という関係を保ってモデルを配置する。具体的には、図１４（Ａ）は時刻ｔ１におけるモデルの配置、図１４（Ｂ）は時刻ｔ２におけるモデルの配置、図１４（Ｃ）は時刻ｔ３におけるモデルの配置、を示している。このようにモデルを配置することにより、ゲーム展開に応じた観客表示を行えるようになる。例えば、仮想カメラの視線ベクトルが図１４（Ｂ）に示す板状ポリゴンＰＧ１に向かう方向であったとすると、時刻ｔ１においては板状ポリゴンＰＧ２が表示対象となり観客の右側面が表示され、時刻ｔ２においては板状ポリゴンＰＧ１が表示対象となり観客の正面が表示され、時刻ｔ３においては板状ポリゴンＰＧ３が表示対象となり観客の左側面が表示される、といった観客表示が可能となる。すなわち、観客がボールの動きに追随して体全体の向きを変えている状況を示す表示が可能となる。
【００８１】
また、上述した実施形態では、上記モデルを用いて表現される対象体として、スポーツ競技等を観戦する多数の観客を想定していたが、対象体は観客に限定されるものではない。
【００８２】
また、上述した実施形態では、ＣＰＵ等のハードウェアを含むコンピュータに所定のプログラムを実行させることによってゲーム装置が実現されていたが、ゲーム装置に備わっていた各機能ブロックはそれぞれ専用のハードウェア等を用いて実現されていてもよい。
【００８３】
また、上述した実施形態では、本発明にかかる画像生成装置の一例としてゲーム装置を採り上げていたが、本発明の適用範囲はゲーム装置に限定されるものではない。例えば、現実世界の事象（例えば、運転操作等）を擬似的に体験させるシミュレータ装置等に対しても本発明を適用することが可能である。
【図面の簡単な説明】
【００８４】
【図１】第１の実施形態のゲーム装置の構成を示すブロック図である。
【図２】画像生成機能に着目して第１の実施形態の画像処理部の構成を表現した場合の機能ブロック図である。
【図３】画像生成機能に着目して第１の実施形態の画像処理部の動作手順を示したフローチャートである。
【図４】板状ポリゴンを交差させて構成されるモデルの一例を示す図である。
【図５】図３に示したモデルと各ベクトルとの関係を平面的に示した図である。
【図６】テクスチャマッピングの具体例を示す図である。
【図７】画像生成手段によって生成される二次元画像の例を示す図である。
【図８】画像生成機能に着目して第２の実施形態の画像処理部の構成を表現した場合の機能ブロック図である。
【図９】画像生成機能に着目して第２の実施形態の画像処理部の動作手順を示したフローチャートである。
【図１０】グループ分けの概念を説明する図である。
【図１１】第１ベクトルの方向に基づくグループ分けに関して更に説明する図である。
【図１２】各モデルに設定されている頂点データ番号について説明する図である。
【図１３】板状ポリゴンの頂点データ番号のデータ構造例を示す図である。
【図１４】仮想三次元空間内に配置されている目標物及び目標物に追随して配置されるモデルの一例を説明する図である。
【符号の説明】
【００８５】
１０…ＣＰＵ
１１…システムメモリ
１２…記憶媒体
１３…ブートロム
１４…バスアービタ
１５…ジオメトリプロセッサ
１６…レンダリングプロセッサ
１７…グラフィックメモリ
１８…オーディオプロセッサ
１９…オーディオメモリ
２０…通信インタフェース（Ｉ／Ｆ）
２１…ペリフェラルインターフェース
３０、１３０…モデル配置手段
３１、１３１…パラメータ算出手段
３２、１３２…ポリゴン選択手段
３３、１３３…マッピング手段
３４、１３４…画像生成手段
１３５…グループ化手段
ＰＧ１、ＰＧ２、ＰＧ３…板状ポリゴン
【図１】
0004706965.tif 000002
【図２】
0004706965.tif 000003
【図３】
0004706965.tif 000004
【図４】
0004706965.tif 000005
【図５】
0004706965.tif 000006
【図６】
0004706965.tif 000007
【図８】
0004706965.tif 000008
【図９】
0004706965.tif 000009
【図１２】
0004706965.tif 000010
【図１３】
0004706965.tif 000011
【図１４】
0004706965.tif 000012
【図７】
0004706965.tif 000013
【図１０】
0004706965.tif 000014
【図１１】
0004706965.tif 000015