(57)【要約】【課題】少ない計算量で正確にオブジェクトにマッピングされるテクスチャを生成すること。【解決手段】所与のポリゴンメッシュＰＭを、評価値に応じて自動的に複数の面集合ＳＳに分割し、ポリゴンメッシュＰＭの表面の色が面集合ＳＳごとにテクスチャ空間ＴＳに分布するテクスチャＴＧを生成する。【選択図】図１４
2008033522.tif 000002
【特許請求の範囲】
【請求項１】
画像生成プログラムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部としてコンピュータを機能させ、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とするプログラム。
【請求項２】
請求項１において、
前記結合処理部が、
前記評価値に基づいて、前記ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行うことを特徴とするプログラム。
【請求項３】
請求項１、２のいずれかにおいて、
前記結合処理部が、
前記関連付けられた面の集合数が、前記ポリゴンメッシュの形状情報に応じた集合数となるまで、前記ポリゴンメッシュの頂点を結合する処理を行うことを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
立体物の表面情報を取得する表面情報取得部と、
前記表面情報に基づいてポリゴンメッシュを生成するポリゴンメッシュ生成部としてコンピュータを更に機能させ、
前記テクスチャ処理部が、
前記生成されたポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とするプログラム。
【請求項５】
請求項４において、
前記テクスチャ処理部が、
前記表面情報に基づいて、前記テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成することを特徴とするプログラム。
【請求項６】
請求項５において、
前記テクスチャ処理部が、
前記生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、前記元のテクスチャ画像と前記ぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの前記各面の集合に対応する部分以外にぼかし処理を行うことを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
画像生成システムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部と、
を含み、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、デジタルカメラ等で立体物を所定方向から撮像した撮像データに基づいて、仮想的な３次元空間におけるオブジェクトの形状情報を生成し、オブジェクトの画像を生成する画像生成システム（ゲームシステム）が知られている。このような画像生成システムとして、撮像情報に基づいてオブジェクトの形状情報を生成するとともに、撮像情報に基づいてオブジェクトにマッピングするテクスチャを生成するものがある。
【特許文献１】特許第３６３９４７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
かかる従来の画像生成システムは、例えば人間の頭部などオブジェクトのパーツ単位で、そのパーツの表面全体の色が連続的にテクスチャ座標上に分布するテクスチャを生成するものであった。従って、所定方向からの撮像情報を、パーツ表面全体についてのテクスチャ情報に整合させるための計算量が膨大であり、またテクスチャの部位によって伸びや縮み等の不整合が発生することがあるという問題があった。
【０００４】
本発明は、上記事情を鑑みてなされたものであり、その目的は、少ない計算量で正確にオブジェクトにマッピングされるテクスチャを生成することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）  本発明は、画像を生成する画像生成システムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部と、
を含み、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明によれば、所定の条件が満たされるまで頂点を結合する処理を行い、頂点を結合すると除去される面の面情報と、当該面に隣接する面の面情報とを関連付ける処理を繰り返す。これにより、各頂点や各辺についての評価値に応じてポリゴンメッシュを構成する面をグループ化し、隣接する面により構成される面集合群を形成することができる。そして形成された面集合ごとに各面集合をテクスチャ空間に配置し、各面の頂点にテクスチャ座標を割り当てる。
【０００７】
こうして本発明によれば、所与のポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャを生成することができる。従って本発明によれば、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布するテクスチャを生成するよりも少ない計算量でテクスチャを生成することができ、かつ、テクスチャの部位によって発生する伸びや縮み等の不整合を低減させ、正確にマッピングされるテクスチャを生成することができる。
【０００８】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記結合処理部が、
前記評価値に基づいて、前記ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行うようにしてもよい。
【０００９】
本発明によれば、周囲のポリゴンが平坦である頂点から結合する処理を行うことができるので、ポリゴンメッシュを構成する各面を、相対的に平坦な関係にある隣接面と関連付けて面集合を形成することができる。従って本発明によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【００１０】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記結合処理部が、
前記関連付けられた面の集合数が、前記ポリゴンメッシュの形状情報に応じた集合数となるまで、前記ポリゴンメッシュの頂点を結合する処理を行うようにしてもよい。
【００１１】
本発明によれば、ポリゴンメッシュの形状情報に応じた適切な数の面集合群を形成することができる。例えば本発明によれば、ポリゴンメッシュのサイズが大きい場合や、ポリゴンメッシュの形状が複雑である場合には、形成される面集合の数を多くするように制御することができる。従って本発明によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【００１２】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
立体物の表面情報を取得する表面情報取得部と、
前記表面情報に基づいてポリゴンメッシュを生成するポリゴンメッシュ生成部としてコンピュータを更に機能させ、
前記テクスチャ処理部が、
前記生成されたポリゴンメッシュの頂点にテクスチャ座標を割り当てるようにしてもよい。
【００１３】
本発明によれば、任意の立体物の撮像情報から生成したポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ座標上に分布するテクスチャを生成することができる。従って本発明によれば、撮像情報からポリゴンメッシュを生成しても、少ない計算量で正確にマッピングされるテクスチャを生成することができる。
【００１４】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャ処理部が、
前記表面情報に基づいて、前記テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成するようにしてもよい。
【００１５】
本発明によれば、任意の立体物の撮像情報からポリゴンメッシュを生成するとともに、撮像情報からテクスチャを生成する。ここでテクスチャを生成する際には、評価値に応じてポリゴンメッシュを自動的に複数の面集合に分割し、立体物の表面の色に対応する色が面集合ごとにテクスチャ座標上に分布するテクスチャを生成することができる。従って本発明によれば、撮像情報からテクスチャを生成しても、少ない計算量で正確にマッピングされるテクスチャを生成することができる。
【００１６】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャ処理部が、
前記生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、前記元のテクスチャ画像と前記ぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの前記各面の集合に対応する部分以外にぼかし処理を行うようにしてもよい。
【００１７】
本発明では、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布せず、面集合ごとにテクスチャ空間に分布するテクスチャを生成するが、テクスチャ空間のうち各面集合に対応する部分以外のテクスチャ空間に、各面集合に対応する部分の色分布を反映したぼかし色を割り当てる。即ち、各面集合に対応しないテクスチャ空間にぼかし色を割り当てる。従って本発明によれば、かかるテクスチャをマッピングする際に多少のずれが生じたとしても、ぼかし色によりテクスチャの継ぎ目を目立たせないようにすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１９】
１．概要
図１（Ａ）に、本実施形態の画像生成システムを適用したゲームシステム１０（ゲーム端末、ゲームステーション）の実現例（外観図の例）を示す。本実施形態のゲームシステム１０は、プレーヤが粘土等を用いて造形した立体物や、プラスチックモデルや人形等の立体物、身の回りの任意の立体物等の表面情報を取得し、取得した表面情報からキャラクタオブジェクトの形状情報を生成する。そして形状情報とスケルトンモデル情報とを対応付けてキャラクタオブジェクトを生成し、生成したキャラクタオブジェクトがモーションを行う画像を表示して対戦ゲームを実行するものである。
【００２０】
図１（Ａ）に示すように、本実施形態のゲームシステム１０は、プレーヤキャラクタＣＨ１と対戦相手キャラクタＣＨ２とを表示する表示部１２を有し、表示部１２の左右には、ゲーム音等を出力する音出力部１４が設けられ、表示部１２の手前側にはテーブル１６が設けられている。このテーブル１６の左側には、プレーヤが携帯する情報記憶媒体に対して情報の読出し・書込みを行うカードリーダ１８と、ゲーム操作を行うための４つの選択ボタン２０とが設けられている。また、テーブル１６の右側には、コイン投入口２２と、ゲーム操作を行うための決定ボタン２４とが設けられている。
【００２１】
そして、テーブル１６の内部には、任意の立体物の表面情報を取得するための撮像部２６が設けられている。この撮像部２６は、円筒形状に形成され、内側面が黒く塗装されている。そして、プレーヤがコイン投入口２２にコインを投入するとテーブル１６の上面に形成されたシャッター２７が開き、プレーヤが撮像部２６に任意の立体物を設置するとシャッター２７が閉じ、内部が暗室状態となるように構成されている。
【００２２】
図１（Ｂ）に、撮像部２６の詳細を示す。図１（Ｂ）に示すように、撮像部２６の底部には、プレーヤが任意の立体物を設置するための円形のターンテーブル２８が設けられている。そして撮像部２６の上部には、設置された立体物を所定の明るさで照らすライト３０と、立体物を撮像するためのカメラ３２とが設けられている。そして本実施形態では、ターンテーブル２８に任意の立体物が設置されてシャッター２７が閉じると、ライト３０が立体物を照らし、ターンテーブル２８が一定速度で一定方向に回転する。するとターンテーブル２８の回転に合わせて、カメラ３２が立体物を所定の１２方向から撮像する。なお本実施形態ではカメラ３２は、図１（Ｂ）に示すように立体物を斜め上方から撮像するように配置されている。
【００２３】
そして本実施形態では、撮像部２６に設置された任意の立体物について、１２方向から見た撮像情報を、立体物の表面情報として取得する。特に本実施形態では、撮像部２６の内面が黒く塗装されているため、背景が黒く前景が立体物の色で構成される撮像情報を取得することができる。例えば本実施形態では、図２に示すように、カメラ３２が１２方向から立体物を撮像した撮像情報ＰＩ（表面情報）を取得することができる。
【００２４】
特に本実施形態では、図１（Ｂ）に示すようにターンテーブル２８が４つのエリアＡ〜Ｄに分割されている。そして４つのエリアＡ〜Ｄに配置された４つの立体物の表面情報を、それぞれキャラクタオブジェクトの頭パーツの表面情報、胴体パーツの表面情報、腕パーツの表面情報、足パーツの表面情報として取得する。
【００２５】
そして、本実施形態では、取得した各パーツの表面情報に基づき、表示部１２に表示させるキャラクタオブジェクトの形状情報を、パーツごとに生成する。そして、生成した各パーツオブジェクトの形状情報と、キャラクタオブジェクトをモーションさせるための複数のボーンが関節で連結されたスケルトンモデル等のモデル情報とを対応付ける。本実施形態では、各パーツオブジェクトの頂点情報をスケルトンモデルの各パーツに対応するボーンに関連付ける。こうして本実施形態では、各パーツが、各パーツに対応する立体物の外観からなるキャラクタオブジェクトを生成する。そして、生成したキャラクタオブジェクトがオブジェクト空間でモーションを行う様子を仮想カメラから見た画像を生成して、表示部１２に表示させる。
【００２６】
なお、本実施の形態のゲームシステム１０は、同一構成のゲームシステム１０を複数台（例えば４〜８台）ネットワークにより接続することができる。そして、各ゲームシステム１０間でデータを送受信して、実プレーヤ同士で対戦することができる。なお所定のアルゴリズムで制御されるＣＰＵプレーヤと対戦することもできる。
【００２７】
２．構成
図３に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図３の構成要素（各部）の一部を省略した構成としてもよい。
【００２８】
撮像部１５０は、立体物の表面情報を撮像するためのものであり、その機能は、デジタルカメラ等の光学センサにより実現できる。特に本実施形態では、立体物を１２方向から見た画像情報をデジタルデータとして撮像する。
【００２９】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３０】
記憶部１７０は、処理部７０や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、画像描画時にオブジェクト空間のＺ値が記憶されるＺバッファ１７６と、オブジェクトをモーションさせるためのモーションデータが記憶されるモーションデータ記憶部１７７と、を含む。なお、これらの一部を省略する構成としてもよい。
【００３１】
特に本実施形態ではオブジェクトデータ記憶部１７３には、キャラクタオブジェクトをモーションさせるための、複数のボーンが関節で連結されたスケルトンモデル情報が複数種類記憶されている。また本実施形態では、各スケルトンモデル情報に関連付けて、各スケルトンモデル情報によりモーション制御される基礎モデル情報が記憶されている。またオブジェクトデータ記憶部１７３には、本実施形態で生成された各パーツオブジェクトを基礎モデル（スケルトンモデル）の各パーツとして設定して生成したキャラクタオブジェクトが記憶される。なお基礎モデルは必須の要素ではなく、少なくともスケルトンモデルが用意されていれば本実施形態を実現することができる。
【００３２】
またテクスチャ記憶部１７４には、本実施形態が取得した立体物の表面情報に基づいて生成したテクスチャが記憶される。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャが記憶される。
【００３３】
またモーションデータ記憶部１７７には、各スケルトンモデル情報に関連付けて、各スケルトンモデル情報を介してキャラクタオブジェクトをモーションさせるためのモーションデータが複数種類記憶されている。
【００３４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００３５】
この情報記憶媒体１８０には、処理部７０において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００３６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００３７】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３８】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００３９】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４０】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４１】
処理部７０（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、表面情報取得処理、形状情報生成処理、テクスチャ生成処理、モデル処理、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部７０は記憶部１７０をワーク領域として各種処理を行う。処理部７０の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４２】
特に、本実施形態の処理部７０は、キャラクタオブジェクトを生成するための構成（撮像制御部８６、表面情報取得部８８、形状情報生成部９０、評価値演算部９２、結合処理部９４、面情報処理部９６、テクスチャ処理部９８、モデル処理部１００、比較部１０２、補正部１０４）と、生成したキャラクタオブジェクトの画像を表示してゲームを実行するための構成（パラメータ設定部１０６、ゲーム演算部１０８、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０）とを含む。なお、これらの一部を省略する構成としてもよい。
【００４３】
撮像制御部８６は、撮像部１５０が立体物の表面情報を撮像するための制御処理を行う。特に本実施形態では、シャッター２７の開閉制御や、ターンテーブル２８の回転制御、ターンテーブル２８の回転に合わせたカメラ３２の撮像タイミングの制御などの制御処理を行う。
【００４４】
表面情報取得部８８は、立体物の表面情報を取得する。具体的には本実施形態では、カメラ３２が撮像した１２方向からの立体物の撮像情報と、カメラ３２のキャリブレーション情報とを取得する。ここで表面情報取得部８８は、複数の立体物の表面情報を取得するようにしてもよい。この場合、１のカメラで複数の立体物を同時に撮像してもよいし、順次撮像してもよい。また複数のカメラで各立体物を撮像するようにしてもよい。
【００４５】
形状情報生成部９０は、取得した立体物の表面情報（撮像情報）に基づいてキャラクタオブジェクトの形状情報を生成する。ここで形状情報生成部９０は、複数の立体物の各立体物の表面情報に基づいて、キャラクタオブジェクトのパーツごとの形状情報を生成するようにしてもよい。具体的には本実施形態では、撮像情報のうち立体物に対応するキャラクタ領域画像を特定する。そして１２方向についてのキャラクタ領域画像に基づいて立体物に対応するキャラクタ領域ボリュームを特定し、キャラクタ領域ボリュームに基づいて立体物に対応するポリゴンメッシュを生成する。
【００４６】
特に本実施形態では、形状情報生成部９０は、キャラクタオブジェクト用にポリゴンメッシュを簡略化するためのオブジェクト用頂点結合処理と、テクスチャ用にポリゴンメッシュの各面を関連付けるためのテクスチャ用頂点結合処理とを行う。そしてかかる機能を実現するための構成として、形状情報生成部９０は、評価値演算部９２、結合処理部９４、面情報処理部９６を含む。なお、オブジェクト用頂点結合処理、テクスチャ用頂点結合処理の処理対象とするポリゴンメッシュは、表面情報から生成されたポリゴンメッシュに限られず、デザイナによりデザインされたポリゴンメッシュとしてもよい。
【００４７】
評価値演算部９２は、ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する。具体的には評価値演算部９２は、除去してもポリゴンメッシュの外観に影響を及ぼしにくい頂点或いは辺から順に、高い評価値、或いは低い評価値が設定されるような演算を行う。例えば本実施形態では、各頂点座標と頂点に隣接する面の法線ベクトルから、ポリゴンメッシュの各頂点における隣接面との距離の二乗和を評価値として求める。その他頂点の評価値としては、各頂点から延出する辺の長さの和（周囲の頂点までの距離）等、また辺の評価値としては、各辺の長さ等種々のものを適用することができる。
【００４８】
結合処理部９４は、所与の条件が満たされるまで、評価値に基づいてポリゴンメッシュの頂点を結合する処理を行う。ここで頂点を結合するとは、頂点を削除することにより頂点を結合することや、辺を削除することにより頂点を結合することを含む。具体的には結合処理部９４は、評価値に基づいて、ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行う。そして、頂点を結合することにより関連付けられた面の集合数が所定数となるまで、ポリゴンメッシュの頂点を結合する処理を行う。
【００４９】
なお、ポリゴンメッシュの形状情報（ポリゴンメッシュのサイズ、面・辺・頂点の数等）に応じて集合数を自動的に設定し、設定した集合数となるまで、ポリゴンメッシュの頂点を結合する処理を行うようにしてもよい。この場合には、ポリゴンメッシュの形状情報に応じた適切なオブジェクト用頂点結合処理、テクスチャ用頂点結合処理を行うことができる。
【００５０】
面情報処理部９６は、頂点を結合すると除去されるポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う。具体的には本実施形態では、頂点を結合することにより除去される面の面情報を、除去される面に隣接する面の面情報の子情報として記憶する。
【００５１】
テクスチャ処理部９８は、所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てる。特に本実施形態では、テクスチャ処理部９８は、関連付けられた面の集合ごとにポリゴンメッシュの各面をテクスチャ空間に配置し、ポリゴンメッシュの頂点にテクスチャ座標を割り当てる。
【００５２】
ここで処理対象とするポリゴンメッシュが、表面情報から生成されたポリゴンメッシュである場合には、テクスチャ処理部９８は、立体物の表面情報（撮像情報）に基づいて、テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成する。特に本実施形態では、テクスチャ処理部９８は、生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、元のテクスチャ画像とぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの各面の集合に対応する部分以外にぼかし処理を行う。なおテクスチャ処理部９８の機能は、例えばＣＰＵのみで実現してもよいし、その一部をＧＰＵにより実現するようにしてもよい。
【００５３】
モデル処理部１００は、生成した形状情報（ポリゴンメッシュ）とモデル情報とを対応付ける処理を行う。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、モデル処理部１００は、各パーツの形状情報とモデル情報とを対応付ける処理を行う。またモデル処理部１００は、複数用意されたモデル情報の中から、形状情報に基づいてモデル情報を選択し、選択したモデル情報と形状情報とを対応付けるようにしてもよい。
【００５４】
具体的には本実施形態では、複数種類のスケルトンモデル情報を用意しておき、生成された各パーツオブジェクトの形状情報に応じて、１のスケルトンモデル情報を選択し、各パーツオブジェクトを選択されたスケルトンモデル情報の対応する骨に関連付ける。特に本実施形態では、各パーツオブジェクトの頂点情報を対応する骨に関連付ける。
【００５５】
比較部１０２は、形状情報と所定のバウンディングボリュームとを比較する。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、比較部１０２は、各パーツの形状情報のうち少なくとも１のパーツの形状情報と、所定のバウンディングボリュームとを比較する。具体的には本実施形態では、生成された形状情報と所定のバウンディングボリュームの、互いに直交する３軸方向の最大値の比を比較して、両者の形状が近似しているか否かを評価する。そしてモデル処理部１００が、比較結果に基づいて、最も形状が近似しているバウンディングボリュームが対応付けられたモデル情報を選択する。
【００５６】
補正部１０４は、所定のバウンディングボリュームに基づいて、形状情報を補正する。具体的には本実施形態では、生成された各パーツオブジェクトの形状情報を、各パーツに対応するバウンディングボリュームに応じて補正する。より詳細には、各パーツオブジェクトがそれぞれに対応するバウンディングボリューム内に適切に納まるように、形状情報を拡大、縮小等する。このとき形状情報の互いに直交する３軸方向の大きさを、異なる比率で拡大、縮小するようにしてもよい。そしてモデル処理部１００が、補正後の形状情報とモデル情報とを対応付ける処理を行う。
【００５７】
パラメータ設定部１０６は、形状情報及びモデル情報の少なくとも一方に基づいて、キャラクタオブジェクトのキャラクタパラメータを設定する。ここで本実施形態ではキャラクタパラメータとして、キャラクタの攻撃能力、守備能力、移動能力等、種々のパラメータを設定することができる。そして生成されたキャラクタ全体としての形状情報や、パーツごとの形状情報に基づいて、キャラクタパラメータを設定する。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、パラメータ設定部１０６は、キャラクタオブジェクトのパーツごとにパーツパラメータを設定するようにしてもよい。
【００５８】
またパラメータ設定部１０６は、キャラクタオブジェクトの基礎パラメータを設定し、ゲーム結果に基づいて、キャラクタオブジェクトに設定された基礎パラメータを更新する。ここで本実施形態では、キャラクタオブジェクトの基礎パラメータとして、ゲーム回数や、ゲーム成績等により変化する経験値等のパラメータであって、形状情報やモデル情報に影響されない基礎的なパラメータを設定することができる。そして、基礎パラメータに基づいて、例えば形状情報やモデル情報に基づき設定されるパラメータを変化させるようにしてもよい。
【００５９】
ゲーム演算部１０８は、設定されたパラメータに基づいて、対戦ゲームを実行するための種々の演算を行う。具体的にはゲーム演算部１０８は、プレーヤからの操作情報に応じて各種設定を行う情報設定部と、操作情報や設定情報等に応じて各種表示物の表示制御を行う表示制御部と、対戦ゲームにおける攻撃状態と防御状態との移行制御を行う状態制御部と、防御状態から攻撃状態へ移行させるためのカウント値をカウントするカウント部と、攻撃状態においてプレーヤからの攻撃操作を評価する評価部と、攻撃操作に応じて対戦相手のダメージ量等の設定値を更新する設定値更新部と、更新された設定値に応じて勝敗判定を行う判定部として機能する。
【００６０】
オブジェクト空間設定部１１０は、本実施形態で生成したキャラクタオブジェクト等の移動体オブジェクト、予め記憶させてあるキャラクタオブジェクト、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部１１０は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６１】
移動・動作処理部１１２は、移動体オブジェクト（キャラクタの他、キャラクタが使用する道具等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動・動作処理部１１２は、操作部１６０によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム（移動・動作アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【００６２】
具体的には、本実施形態の移動・動作処理部１１２は、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【００６３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６５】
描画部１２０は、処理部７０で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、本実施形態の描画部１２０は、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６６】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【００６７】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００６８】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６９】
なお、描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００７０】
そして、描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７１】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部１７０に記憶する。
【００７２】
テクスチャマッピングでは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする処理を行う。
【００７３】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。
【００７４】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【００７５】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７６】
αブレンディング（α合成）では、描画部１２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７７】
音生成部１３０は、処理部７０で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７８】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００７９】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８０】
３．立体物の形状情報の生成
次に、立体物に対応するキャラクタオブジェクトの形状情報の生成処理の詳細について説明する。
【００８１】
３．１  ポリゴンメッシュの生成
まず本実施形態では、カメラ３２が撮像した１２方向からの立体物の撮像情報ＰＩに基づいて、ボリューム・カービング（Ｖｏｌｕｍｅ  Ｃａｒｖｉｎｇ）系アルゴリズムを用いて立体物の仮想３次元空間におけるボリューム情報を生成する。このボリューム・カービング系アルゴリズムでは、複数の方向から立体物を撮像した画像情報について、それぞれ立体物に対応する領域の画像を切り出して、図４に示すように当該領域の３次元ボリュームＣＶを特定する。そして、それぞれの方向からの３次元ボリュームのａｎｄをとることにより、立体物の仮想３次元空間におけるボリューム情報を削り出す（Ｃａｒｖｉｎｇ）。
【００８２】
図５は、ポリゴンメッシュ生成処理の詳細の一例を示すフローチャートである。まずステップＳ１０において、図２に示すような、カメラ３２が撮像した１２方向からの立体物の撮像情報ＰＩを取得する。そしてステップＳ１２において、カメラ３２のキャリブレーション情報を取得する。
【００８３】
本実施形態では、カメラ３２と立体物の位置関係に対応する３次元空間における位置関係を求めるために、予めキャリブレーション用リグを立体物の撮像時と同一の位置関係を保った状態で撮像しておく。そして、キャリブレーション用リグを撮像した画像情報からカメラ３２の位置を演算する。具体的には本実施形態では、キャリブレーション用リグに対するカメラ３２の位置を定めるビュー行列と、キャリブレーション用リグの３次元空間上の点とその２次元画像の間の射影を定める射影行列とを求める。
【００８４】
本実施形態ではキャリブレーション用リグは、六面体の上面及び４側面にそれぞれ異なった四辺形パターンを配置したものを用いる。これによりキャリブレーション用リグをターンテーブル２８上で３６０°回転させる間、常にいずれか２面がカメラ３２に写るようになっており、任意の角度においてキャリブレーション演算ができるようになっている。
【００８５】
そしてステップＳ１４において、図２の撮像情報ＰＩから立体物に対応するキャラクタ領域画像ＣＡを特定する。本実施形態では、撮像したカラー画像をグレイスケール画像に変換し、画像全体の画素値の平均値をしきい値として、黒の背景と立体物の色に対応する前景とを判別する。そして前景と判定された画素を、立体物に対応するキャラクタ領域画像ＣＡとして特定する。
【００８６】
そしてステップＳ１６において、キャリブレーション情報に基づいて、キャラクタ領域画像ＣＡを３次元空間に配置する。本実施形態では、まず仮想３次元空間を３次元ボリュームに分割し、取得したキャリブレーション情報（回転行列、平行移動ベクトル）に基づいて、３次元空間にキャラクタ領域画像ＣＡを平面として配置する。
【００８７】
そしてステップＳ１８において、３次元ボリューム空間の各ボクセルを、カメラ行列を用いてキャラクタ領域画像ＣＡの平面に投影する。そしてステップＳ２０において、図４に示すように、キャラクタ領域画像ＣＡの輪郭線内に投影されたボクセルを残し、キャラクタ領域ボリュームＣＶを特定する。本実施形態では仮想３次元空間において、各ボクセルからカメラ位置に向かって延ばした直線と、キャラクタ撮像画像平面との交点を求め、交点が立体物に対応する前景と交差するか黒の背景と交差するかを判定する。こうして本実施形態では、図２に示す１２方向からのキャラクタ領域画像ＣＡそれぞれについて、キャラクタ領域ボリュームＣＶを特定する。
【００８８】
そしてステップＳ２２において、１２方向についてのキャラクタ領域ボリュームＣＶ全てにおいて重複するボクセルを残し、立体物に対応するキャラクタボクセルを特定する。ここで本実施形態では、ボリューム分割数はｘ、ｙ、ｚの各軸を１２８分割した２０９７１５２要素としている。従って、結果として得られる立体物に対応する情報は点群として得られる。図６に、図２に示す１２方向からのキャラクタ領域画像ＣＡに基づいて得られるキャラクタ点群ＣＰの一例を示す。
【００８９】
ここで本実施形態では、１２８分割したボリューム内の全てのボクセルについて撮像画像平面との交差判定を行うと、立体物に対応する前景から大きく外れるボクセルについても不必要な交差判定を行ってしまい、計算量が非常に大きくなってしまう。そこで本実施形態では、前景から大きく外れる部分と、全体が前景に含まれている部分については、八分木データ構造を用いてボクセルのサイズを大きくした状態で交差判定を行う。そして、いずれの部分にも該当しない前景と背景との境界にある部分は再帰的に分割し、最終分割レベル（１２８分割）に到達するまで交差判定を行う。これにより本実施形態では、高速にキャラクタ点群ＣＰを生成することができる。
【００９０】
そしてステップＳ２４において、生成されたキャラクタ点群ＣＰに基づいて、立体物に対応するポリゴンメッシュ情報を生成する。本実施形態では、Ｍａｒｃｈｉｎｇ・Ｃｕｂｅｓ法を用いてポリゴンメッシュ情報を生成する。
【００９１】
このＭａｒｃｈｉｎｇ・Ｃｕｂｅｓ法とは、ボリューム情報からポリゴンメッシュを生成するアルゴリズムであって、アルゴリズムで定義されている１５種類のポリゴン抽出パターンに基づき、ポリゴンを生成するものである。具体的には、接続情報をもたない点群データをボリューム要素であるボクセルに置き換え、直方体に配列する８つのボクセルを１つのセルとして、セル単位でそれぞれのボクセル内にデータが存在するかどうか判定する。そしてセル内のデータ配置パターンを１５種類のポリゴン抽出のパターンに当てはめ、該当するポリゴン抽出パターンに対応する多角形ポリゴンをそのセルのポリゴンとする。こうして本実施形態では、図７に示すように、撮像した立体物に対応するポリゴンメッシュ情報ＰＭａを生成する。
【００９２】
このように本実施形態では、１２方向からの立体物の撮像情報とキャリブレーション情報とに基づいて、キャラクタボリューム情報を生成し、立体物に対応するポリゴンメッシュ情報を生成する。即ちキャラクタオブジェクトの形状情報として、キャラクタオブジェクトを構成する三角形プリミティブ面の頂点情報と、面情報と、各面の法線情報とを生成する。
【００９３】
３．２  オブジェクト用頂点結合処理
ここでＭａｒｃｈｉｎｇ・Ｃｕｂｅｓ法を用いると、３次元空間をボリューム分割したグリッド上に無条件にポリゴンを発生させるため、ポリゴン数が不必要に多くなる傾向がある。またポリゴンの頂点がグリッド上に配置されるので、ポリゴンの見た目が規則的なブロック状になってしまい、生成されるキャラクタオブジェクトの外観に悪影響を及ぼす。そこで本実施形態では、ポリゴン数を削減しかつ外観を滑らかにするために、ポリゴンメッシュの簡略化を行う。本実施形態では、ポリゴンメッシュの頂点を結合することにより、ポリゴンメッシュの面数を削減する。
【００９４】
特に本実施形態では、図８（Ａ）に示すように、三角形メッシュＴＭ上の二つの頂点ｖ１、ｖ２をつなぐエッジを折りたたみ、一方の頂点に接続されているエッジをもう一方の頂点につなげ、ｖ´とするＥｄｇｅ・ｃｏｌｌａｐｓｅアルゴリズムを用いて、頂点結合処理を行う。すると図８（Ｂ）に示すように、８つの頂点を７つの頂点に削減し、１４のエッジを１２のエッジに削減し、８つのポリゴンを６つのポリゴンに削減することができる。
【００９５】
図９は、オブジェクト用の頂点結合処理の詳細の一例を示すフローチャートである。本実施形態では、まずステップＳ３０において、各頂点座標について、頂点座標と頂点に隣接する面の法線ベクトルから所定の評価値を求める。本実施形態では、Ｑｕａｄｒｉｃ・Ｅｒｒｏｒ・Ｍｅｔｒｉｃ（ＱＥＭ）法を用いて、ポリゴンメッシュの各頂点における隣接面との距離の二乗和を評価値として求める。
【００９６】
このＱＥＭ法によれば、頂点間を結ぶエッジの長さと、削除しようとしている頂点の周りのエッジの両側における三角形メッシュ（プリミティブ）の平坦度との組合せに基づく評価値を得ることができる。即ちその頂点から延出するエッジが短いほど、そして周囲のポリゴンが平坦であるほど、その頂点に小さい値が割り当てられる。従って、評価値が小さい頂点から順に頂点結合処理を行うことにより、頂点を結合しても外観に影響を及ぼしにくい頂点（面、エッジ）から削除することができる。
【００９７】
そしてステップＳ３２において、全ての頂点についての評価値のうち、評価値が最小の頂点を結合し、面を削減する。ここで頂点の結合とは、ある頂点ｖ１の位置を他の頂点ｖ２の位置として結合することや、ある頂点ｖ１の位置と他の頂点ｖ２の位置とから新たな頂点ｖ´を生成することにより頂点を結合することを含む。こうして本実施形態では、頂点結合処理により、ポリゴンメッシュの外観に影響を及ぼしにくい面からその数を削減する。
【００９８】
そしてステップＳ３４において、頂点結合後のポリゴンメッシュの面の数が予め定めた所定数となったか判断する。ここで本実施形態では、生成したキャラクタオブジェクトに仮想３次元空間でモーションを行わせる際の処理負荷と、キャラクタオブジェクトの外観とを考慮して、最適なポリゴンメッシュの簡略化後の面数を設定しておく。そしてポリゴンメッシュの面の数が所定数となるまで、ステップＳ３２からステップＳ３４までの処理を繰り返す。
【００９９】
ここでポリゴンメッシュの面数が所定の面数となっていない場合には（ステップＳ３４のＮ）、ステップＳ３６において、結合された頂点の評価値を結合先の頂点の評価値に加算する。即ち結合された頂点の評価値に、結合の結果を反映する。これにより結合された頂点の評価値が高くなり、次回以降の結合処理の対象外となる。
【０１００】
そしてポリゴンメッシュの面数が所定の面数となると（ステップＳ３６のＹ）、ステップＳ３８において、所定の面数に削減したポリゴンメッシュの頂点情報、面情報、法線情報等の形状情報を、キャラクタオブジェクトの形状情報として記憶部に格納する。こうして本実施形態では、図１０に示すように、キャラクタオブジェクト用にポリゴン数が所定の面数まで削減された、キャラクタオブジェクト用のポリゴンメッシュＰＭｂ（キャラクタオブジェクトの形状情報）を生成することができる。なお図１０のポリゴンメッシュＰＭｂの例では、頂点数が１９５９個、ポリゴン数が３９５２個となっている。
【０１０１】
４．テクスチャの生成
４．１  テクスチャ用頂点結合処理
また本実施形態では、立体物の１２方向からの撮像情報ＰＩに基づいて、キャラクタオブジェクト用のポリゴンメッシュＰＭｂを生成するとともに、撮像情報ＰＩに基づいて、ポリゴンメッシュＰＭｂにマッピングするテクスチャを生成する。ここで本実施形態では、テクスチャを生成する際に、処理対象となる１の立体物（パーツ）の表面全体の色が連続的にテクスチャ座標上に分布するテクスチャを生成するのではなく、ポリゴンメッシュＰＭｂの表面を所定数の領域に分割し、処理対象となる１の立体物（パーツ）の表面全体の色が、分割した領域ごとにテクスチャ座標上に分布するテクスチャを生成する。
【０１０２】
そして本実施形態では、ポリゴンメッシュＰＭｂの表面を所定数の領域に自動的に分割するために、ポリゴン数が十数個程度となるまでポリゴンメッシュＰＭｂの頂点を更に結合するテクスチャ用頂点結合処理を行う。このテクスチャ用頂点結合処理では、オブジェクト用の頂点結合処理のように頂点を結合することによりポリゴンメッシュのポリゴン数を実際に減少させるのではなく、頂点を結合することにより除去される面と残存する面とを関連付けてポリゴンメッシュＰＭｂの各面（ポリゴン）をグループ化し、そのグループ単位を１の領域とする。
【０１０３】
図１１は、テクスチャ用の頂点結合処理の一例を示すフローチャートである。本実施形態では、まず図１１のステップＳ５０、ステップＳ５２において、図９のオブジェクト用の頂点結合処理でのステップＳ３０、ステップＳ３２と同様の処理を行い、テクスチャ用の頂点結合処理を行う。するとステップＳ５４において、頂点を結合することにより除去される面の面情報を、除去される面に隣接する面の面情報の子情報として記憶する。
【０１０４】
例えば図１２（Ａ）に示す三角形メッシュＴＭ１の例では、面情報ＳＤ１としてＳ１、Ｓ２、Ｓ３、Ｓ４・・・という面情報が記憶されている。ここで頂点ｖ１に頂点ｖ２を結合すると、図１２（Ｂ）に示す三角形メッシュＴＭ２のように、面Ｓ１が面Ｓ３に吸収されるようにして面Ｓ１が除去され、面Ｓ３が残存する。同時に面Ｓ２が面Ｓ４に吸収されるようにして面Ｓ２が除去され、面Ｓ４が残存する。
【０１０５】
このとき本実施形態では、除去される面Ｓ１の面情報を、エッジを共有する隣接する面であって、除去される頂点ｖ２を頂点とする面Ｓ３の面情報の子情報として格納する。同様に、削除された面Ｓ２の面情報を、エッジを共有する隣接する面であって、除去される頂点ｖ２を頂点とする面Ｓ４の面情報の子情報として格納する。即ち図１２（Ｂ）に示す面情報ＳＤ２のように、頂点結合処理により除去される面情報と残存する面情報とを関連付けて記憶する。
【０１０６】
するとステップＳ５６において親がいない面の数、即ち残存している面の数が所定数となったか否か判断する。ここで本実施形態では、生成したキャラクタオブジェクトにマッピングされるテクスチャを、少ない計算量で正確に生成するために最適な面数を設定しておく。そして所定数となっていない場合には（ステップＳ５６のＮ）、ステップＳ５８において、結合された頂点の評価値を結合先の頂点の評価値に加算する。
【０１０７】
そして親がいない面の数が所定数となるまで、ステップＳ５２からステップＳ５６までの処理を繰り返す。するとポリゴンメッシュを構成する面が、評価値に応じて順次グループ化されていく。こうして本実施形態では、頂点結合により除去される面情報と、それを吸収して残存する面情報とに親子関係をつけることにより、親子関係で関連付けられた面集合を形成することができる。
【０１０８】
図１３は、立体物としての飲料の缶に対応するポリゴンメッシュＰＭｂ１について、テクスチャ用頂点結合処理を行った場合の一例を示す図である。図１３に示すポリゴンメッシュＰＭｂ１に対して、上述したテクスチャ用の頂点結合処理を行うと、各面の色の濃淡で示すように、隣接する面により構成される面集合ＳＳが複数形成される。図１３の例では、ポリゴンメッシュＰＭｂ１を構成する各面が、面集合ＳＳ１から面集合ＳＳ１４の１４個の面集合群にグループ化されている。
【０１０９】
特に本実施形態では、撮像情報ＰＩから生成されたポリゴンメッシュを簡略化するためのオブジェクト用の頂点結合処理と同様のアルゴリズムを利用して、頂点を結合したならば除去される面の面情報を、残存する面の面情報と関連付けて面集合ＳＳを形成する。従って本実施形態によれば、周囲のポリゴンが平坦である頂点から結合する処理を行うことができるので、ポリゴンメッシュを構成する各面を、相対的に平坦な関係にある隣接面と関連付けて面集合ＳＳを形成することができる。こうして本実施形態によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【０１１０】
４．２  テクスチャ生成
そしてステップＳ６０において、図１３に示すポリゴンメッシュＰＭｂ１の各面を、図１４に示すように面集合ＳＳ１〜ＳＳ１４ごとにテクスチャ空間ＴＳであるＵＶ座標系に配置する。このときポリゴンメッシュＰＭｂ１を構成する各三角形プリミティブの法線が、ＵＶ座標平面に直交するように、ポリゴンメッシュＰＭｂ１の各面をＵＶ座標系に配置する。即ち全ての三角形プリミティブが正面を向いた状態で、各面の頂点座標をＵＶ座標系に対応付ける。
【０１１１】
ここで本実施形態では、所定のアルゴリズムに基づき、面集合ＳＳ１〜ＳＳ１４をＵＶ座標系に配置する。本実施形態では、面集合ＳＳ１〜ＳＳ１４のうち、面の数が最も多い面集合ＳＳ１から順にＵＶ座標系に配置する。なお、面積の大きな面集合から順に配置するようにしてもよい。
【０１１２】
より詳細には本実施形態では、まず最も面の数が多い面集合ＳＳ１の任意の２の頂点が、それぞれＵ軸上とＶ軸上にあるように配置する。図１４の例では、最も面の数が多い面集合ＳＳ１の任意の頂点である点Ｐｕ１がＵ軸上に、点Ｐｖ１がＶ軸上にあるように配置する。そして２番目に面の数が多い面集合ＳＳ２の任意の１点がＶ軸上にあって、かつ面集合ＳＳ２と面集合ＳＳ１とが重ならないように、面集合ＳＳ２を配置する。同様にして面集合ＳＳ３、面集合ＳＳ４をＶ軸に沿って配置する。
【０１１３】
そして次の面集合ＳＳ５をＶ軸に沿って配置できない場合には、面集合ＳＳ５の任意の１点であるＰｕ２がＵ軸上にあって、かつ面集合ＳＳ５と面集合ＳＳ１とが重ならないように、面集合ＳＳ５を配置する。そして次の面集合ＳＳ６を、面集合ＳＳ５に近い位置であって他の面集合ＳＳと重ならないように配置する。同様にして他の面集合ＳＳも配置する。こうして図１４に示すように、全ての面集合ＳＳ１〜ＳＳ１４をＵＶ座標系に配置する。
【０１１４】
そしてステップＳ６２において、各面集合ＳＳ１〜ＳＳ１４に応じた色分布をＵＶ座標系に描き込む。そのため本実施形態では、まずカメラ３２のキャリブレーション情報に基づいて、立体物の撮像情報ＰＩから得られる立体物の色情報と、上述のように生成したメッシュ簡略化後のキャラクタオブジェクトの形状情報とを対応付ける。より詳細には本実施形態では、図２に示す１２方向からの撮像情報ＰＩの各キャラクタ領域画像ＣＡと、当該撮像情報ＰＩが撮像された方向と同じ方向からみた場合のキャラクタオブジェクト用のポリゴンメッシュＰＭｂ（図１０）とを重ね合わせるように対応付け、ポリゴンメッシュＰＭｂの各三角形プリミティブに対応する色情報を求める。
【０１１５】
この場合、色分布の歪みを最小限にするために、三角形プリミティブを正面付近から撮像したときの撮像情報に基づいて、各三角形プリミティブの色情報を求めることが好ましい。そこで本実施形態では、各三角形プリミティブの法線情報と、各方向からの撮像情報のキャリブレーション情報とに基づき、各三角形プリミティブを最も正面に近い方向から撮像した撮像情報に基づいて、各三角形プリミティブの色情報を求めるようにしてもよい。こうして本実施形態では、立体物の１２方向からの撮像情報に基づいて、当該立体物に対応するキャラクタオブジェクトにマッピングするテクスチャを生成する。
【０１１６】
図１５は、図１４のＵＶ座標系に配置された面集合ＳＳ１〜ＳＳ１４に応じた色分布が、各ＵＶ座標値に割り当てられたテクスチャ画像ＴＧの一例を示す図である。図１５の例では、図１３に示すポリゴンメッシュＭＰｂに対応する立体物としての飲料の缶の表面の色が、各面集合ＳＳ１〜ＳＳ１４ごとにＵＶ座標値に割り当てられている。特に図１５の例では、面集合ＳＳ１〜ＳＳ１４に対応する領域（以下、面集合領域という。）にのみ各面集合ＳＳ１〜ＳＳ１４に応じた色が割り当てられるのではなく、各面集合ＳＳ１〜ＳＳ１４の隙間の領域（面集合領域以外の領域）にぼかし色が割り当てられている。これにより図１５の例では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする際に、多少のずれが生じたとしても、ぼかし色により継ぎ目を目立たせないようにすることができる。
【０１１７】
詳細には本実施形態では、まず面集合領域にのみ各面集合ＳＳ１〜ＳＳ１４に応じた色が割り当てられた元テクスチャを生成し、この元のテクスチャ画像の解像度を低下させて元テクスチャの色をぼかしたぼかし用画像を生成する。するとぼかし用画像では、面集合領域の周囲に、面集合領域の色がはみ出すようにして配置される。そして解像度を段階的に更に低下させて、複数段階の解像度のぼかし用画像を用意する。こうして解像度が低下するにつれ、面集合領域の周囲のより広い範囲に色がはみ出すようにして配置されたぼかし用画像を複数用意する。
【０１１８】
そして本実施形態では、元のテクスチャ画像と複数段階のぼかし用画像とに基づいてαブレンディングを行うことにより、元のテクスチャ画像に対してぼかし処理を行う。このとき、元のテクスチャ画像の面集合領域の色にまでぼかし処理を行わないように、面集合領域にマスク処理を行い、面集合領域以外にぼかし処理を行う。こうして本実施形態では、図１５に示すように元のテクスチャの面集合領域以外にぼかし処理を行ったテクスチャを生成することができる。
【０１１９】
このように本実施形態によれば、所与のポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャを生成することができる。従って本実施形態によれば、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布するテクスチャを生成するよりも少ない計算量でテクスチャを生成することができ、かつ、テクスチャの部位によって発生する伸びや縮み等の不整合を低減させ、正確にマッピングされるテクスチャを生成することができる。
【０１２０】
５．スケルトンモデル情報の対応付け
次に本実施形態で生成されたキャラクタオブジェクトの形状情報（キャラクタオブジェクト用のポリゴンメッシュＰＭｂ）と、キャラクタオブジェクトをモーションさせるための複数のボーンが関節で連結されたスケルトンモデル情報と、を対応付けるモデル処理について説明する。
【０１２１】
５．１  スケルトンモデル
本実施形態では、上述のようにして生成したキャラクタオブジェクト用のポリゴンメッシュＭＰｂについてスケルトンシステムを用いて、キャラクタオブジェクトがオブジェクト空間でモーションを行う画像を生成する。このスケルトンシステムでは、図１６に示すように、キャラクタオブジェクトＣＯを、複数のパーツオブジェクト（腰１２、胸１４、首１６、頭１８、右上腕２０、右前腕２２、右手２４、左上腕２６、左前腕２８、左手３０、右股３２、右すね３４、右足３６、左股３８、左すね４０、左足４２）により構成する。そして、これらのパーツオブジェクト（部位）の位置や回転角度（方向）は、スケルトンモデルを構成する骨Ｂ０〜Ｂ１９の位置（関節Ｊ０〜Ｊ１５の位置）や回転角度（親の骨に対する子の骨の相対的な回転角度）により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【０１２２】
そして、このスケルトンモデルを構成する骨（モーション骨、関節）は、親子（階層）構造を有している。例えば、手２４、３０の骨Ｂ７、Ｂ１１の親は前腕２２、２８の骨Ｂ６、Ｂ１０となり、Ｂ６、Ｂ１０の親は上腕２０、２６の骨Ｂ５、Ｂ９となる。また、Ｂ５、Ｂ９の親は胸１４の骨Ｂ１となり、Ｂ１の親は腰１２の骨Ｂ０となる。また、足３６、４２の骨Ｂ１５、Ｂ１９の親はすね３４、４０の骨Ｂ１４、Ｂ１８となり、Ｂ１４、Ｂ１８の親は股３２、３８の骨Ｂ１３、Ｂ１７となり、Ｂ１３、Ｂ１７の親は腰１２の骨Ｂ１２、Ｂ１６となる。これにより、各骨が接続された状態で各骨の位置や回転角度を変化させることができる。
【０１２３】
そして、これらの骨の位置、回転角度を、モーションデータとして記憶しておき、モーションデータを時間経過に伴い順次読み出すことで、キャラクタオブジェクトＣＯにモーションを行わせることができる。なお、骨の回転角度だけをモーションデータに含ませて、骨の位置（関節の位置）についてはモデルオブジェクトのモデルデータの中に含ませてもよい。
【０１２４】
例えば、キャラクタオブジェクトＣＯが歩くモーションが、Ｍ０、Ｍ１、Ｍ２・・・・ＭＮという基準モーション群（各フレームでのモーション）により構成されているとする。この場合には、これらの各基準モーションＭ０、Ｍ１、Ｍ２・・・・ＭＮでの各骨の位置又は回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションＭ０の各パーツオブジェクトの位置、回転角度を読み出し、次に基準モーションＭ１の各パーツオブジェクトの位置、回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【０１２５】
なお、モーションデータ記憶部に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。また、骨の位置、回転角度は、親の骨の位置、回転角度に対する相対的な位置、相対的な回転角度（３軸周りの回転角度）で表される。また、図１６においてＲＰはキャラクタオブジェクトＣＯの代表点であり、このＲＰは例えば腰（Ｊ０）の真下の位置（高さ零の位置）に設定されている。
【０１２６】
５．２  基礎モデルの選択
そして本実施形態では、立体物の撮像情報からキャラクタオブジェクトの頭パーツオブジェクト、胴体パーツオブジェクト、腕パーツオブジェクト、足パーツオブジェクトを生成し、各パーツオブジェクトをスケルトンモデルの頭の骨、胴体の骨、腕の骨、足の骨にそれぞれ関連付ける。具体的には本実施形態では、各パーツオブジェクトの重心を通る軸に沿って対応する骨を設定する。ここで軸の向きは、プレーヤに設定させてもよいし、所定のアルゴリズムに基づいて設定してもよい。例えばパーツごとに、生成されたパーツオブジェクトの長手方向を軸方向としたり、短手方向を軸方向とする。そして各パーツオブジェクトについて、パーツオブジェクトの各頂点の対応する骨に対するウェイト値を１．０に設定する。なおウェイト値とは、頂点に関連付けられたボーンが移動した際に、その頂点がそのボーンにどれだけ追従するかを示す比率である。
【０１２７】
ここで本実施形態では、システム利用者が任意に選択した立体物を任意の部位のパーツオブジェクトとすることができるので、生成された各パーツオブジェクトの形状情報も任意のものとなる。例えば足パーツオブジェクトとして、柱状体であるが飲料のペットボトルのように相対的に太いオブジェクトが生成される場合や、鉛筆のような相対的に細いオブジェクトが生成される場合もある。また足パーツオブジェクトとして、コンパクトディスク（ＣＤ）のような平板状のオブジェクトが生成される場合もある。
【０１２８】
そこで本実施形態では、複数種類のスケルトンモデル情報を用意しておき、生成された各パーツオブジェクトの形状情報に応じて、各パーツオブジェクトの特性に適合する１のスケルトンモデル情報を選択する。特に本実施形態では、生成された足パーツオブジェクトの形状情報に応じて、スケルトンモデル情報を選択する。そして各パーツオブジェクトを、選択されたスケルトンモデル情報の対応する骨に関連付ける。
【０１２９】
図１７（Ａ）〜（Ｃ）は、本実施形態で用意されているスケルトンモデル情報の例を示すものである。本実施形態では、例えば足パーツオブジェクトとして相対的に太い柱状体であるペットボトルの形状情報が生成された場合には、図１７（Ａ）に示す２本足のスケルトンモデルＳＭ１が選択される。一方、相対的に細い柱状体である鉛筆の形状情報が生成された場合には、図１７（Ｂ）に示す４本足のスケルトンモデルＳＭ２が選択される。また、足（下半身）パーツオブジェクトとして平板状の立体物であるコンパクトディスクの形状情報が生成された場合には、図１７（Ｃ）に示す足がないスケルトンモデルＳＭ３が選択される。
【０１３０】
具体的には本実施形態では、スケルトンモデルＳＭ１〜ＳＭ３に対応づけられたモデルオブジェクトとして、図１８（Ａ）〜（Ｃ）に示す基礎モデルＢＭ１〜ＢＭ３が用意されている。この基礎モデルＢＭ１〜ＢＭ３は、生成された各パーツオブジェクトをスケルトンモデルＳＭ１〜ＳＭ３に対応付けるための基礎となるモデルオブジェクトである。例えば図１８（Ａ）の例では、基礎モデルＢＭ１は、首パーツオブジェクトＮＯ１と、肩パーツオブジェクトＳＯ１と、上腕パーツオブジェクトＵＯ１と、股（もも）パーツオブジェクトＴＯ１とが、それぞれ対応する骨に予め関連付けられている。
【０１３１】
そして基礎モデルＢＭ１のうち、頭パーツオブジェクトに対応する部分には、モデル座標系における所定の領域を示すバウンディングボリュームである頭ボリュームＨＶ１が設定されている。また、腕パーツオブジェクトに対応する部分には腕ボリュームＡＶ１が、胴パーツオブジェクトに対応する部分には胴ボリュームＢＶ１が、足パーツオブジェクトに対応する部分には足ボリュームＬＶ１が設定されている。なおこのバウンディングボリュームは画像上では表示されないものである。
【０１３２】
そして各基礎モデルＢＭ１〜ＢＭ３に設定されているバウンディングボリュームは、基礎モデルＢＭ１〜ＢＭ３ごとに異なる形状となっている。例えば本実施形態では、図１８（Ａ）に示す基礎モデルＢＭ１は、相対的に太い形状の足ボリュームＬＶ１が設定されている。一方、図１８（Ｂ）に示す基礎モデルＢＭ２は、相対的に細い形状の足ボリュームＬＶ２が設定されている。また、図１８（Ｃ）に示す基礎モデルＢＭ３は、平板状の足（下半身）ボリュームＬＶ３が設定されている。
【０１３３】
そして本実施形態では、生成された足パーツオブジェクトの縦、横、高さ（互いに直交する３軸方向の最大値）の比と、基礎モデルＢＭ１〜ＢＭ３の各足ボリュームＬＶの縦、横、高さの比とを比較する。そして、生成された足パーツオブジェクトが最も近似する足ボリュームＬＶに対応する基礎モデルＢＭを選択する。
【０１３４】
従って本実施形態では、例えば相対的に太い柱状体であるペットボトル型の足パーツオブジェクトが生成された場合には、基礎モデルＢＭ１の足ボリュームＬＶ１が最も近似すると判断し、基礎モデルＢＭ１を選択する。一方、相対的に細い柱状体である鉛筆型の足パーツオブジェクトが生成された場合には、基礎モデルＢＭ２の足ボリュームＬＶ２が最も近似すると判断し、基礎モデルＢＭ２を選択する。
【０１３５】
そして基礎モデルＢＭを選択すると、基礎モデルＢＯの各パーツの形状情報として、生成した各パーツオブジェクトの形状情報を設定する。即ち各パーツオブジェクトの頂点情報を対応する骨に関連付ける。図１９（Ａ）、（Ｂ）は、こうして生成されたキャラクタオブジェクトの一例である。図１９（Ａ）は、足パーツオブジェクトＬＯ１としてペットボトル型オブジェクトを生成し、基礎モデルＢＭ１を選択した場合の例である。従って図１９（Ａ）の例では、ペットボトル型の２本の足を有するキャラクタオブジェクトＣＯ１が生成される。なお図１９（Ａ）の例では、キャラクタオブジェクトＣＯ１の頭パーツオブジェクトＨＯ１は携帯型ミュージックプレーヤの形状とされ、腕パーツオブジェクトＡＯ１は飲料の缶の形状とされ、胴パーツオブジェクトＢＯ１はライターの形状とされている。
【０１３６】
また図１９（Ｂ）は、足パーツオブジェクトＬＯ２として鉛筆型オブジェクトを生成し、基礎モデルＢＭ２を選択した場合の例である。従って図１９（Ｂ）の例では、鉛筆型の４本の足を有するキャラクタオブジェクトＣＯ２が生成される。なお図１９（Ｂ）の例では、キャラクタオブジェクトＣＯ２の頭パーツオブジェクトＨＯ２は携帯型ゲーム機の形状とされ、腕パーツオブジェクトＡＯ２は飲料のペットボトルの形状とされ、胴パーツオブジェクトＢＯ２は携帯電話の形状とされている。
【０１３７】
ここで本実施形態では、各パーツオブジェクトの縮尺比（スケール）は、各パーツオブジェクトごとに異なるものとなっている。図１９（Ａ）の例では、例えばライター型の胴パーツオブジェクトＢＯ１と、ペットボトル型の足パーツオブジェクトＬＯ１とでは、実際のライターとペットボトルの大きさの比と異なり、ライターの方がペットボトルよりも縮尺比が大きくなっている。これは、本実施形態では、生成された各パーツオブジェクトの形状情報を、各パーツに対応するバウンディングボリュームに応じて補正しているからである。
【０１３８】
例えば、足パーツオブジェクトＬＯとしてペットボトル型オブジェクトを生成した場合には、ペットボトル型オブジェクトの形状情報を、図１８（Ａ）の足ボリュームＬＶ１内に納まるように縮小補正する。一方、胴パーツオブジェクトＢＯとしてライター型オブジェクトを生成した場合には、ライター型オブジェクトの形状情報を、図１８（Ａ）の胴ボリュームＢＶ１内に納まるように拡大補正する。このように本実施形態では、生成された形状情報の大きさがまちまちであっても、キャラクタオブジェクトＣＯの各パーツの形状情報として適切なものに補正する。従って、各パーツオブジェクトの外観を維持しつつ、バランスのよいキャラクタオブジェクトＣＯを生成することができる。
【０１３９】
こうして本実施形態では、キャラクタオブジェクトＣＯの各パーツが、任意の立体物の外観に対応したキャラクタオブジェクトＣＯを生成することができ、かかるキャラクタオブジェクトＣＯがオブジェクト空間でモーションを行う画像を生成することができる。これにより本実施形態によれば、システム利用者が選択した複数の立体物の組合せにより、更に各立体物と各パーツの対応関係の組合せにより、様々なキャラクタオブジェクトＣＯを生成することができる。従って本実施形態によればシステムの利用者に対して、選択した複数の立体物の組合せと、立体物とパーツの対応関係の組合せにより、生成されるキャラクタオブジェクトＣＯがいかなるものになるかというこれまでの画像生成システムにない興味を喚起することができる。
【０１４０】
６．ハードウェア構成
図２０に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１４１】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１４２】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１４３】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１４４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１４５】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１４６】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１４７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（描画領域、ピクセル値、変換テーブル等）として引用された用語（フレームバッファ・ワークバッファ、α値、ルックアップテーブル等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１４８】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１４９】
【図１】図１（Ａ）は、本実施形態のシステムの概略外観の一例を示す図。図１（Ｂ）は、本実施形態のシステムの一部の概略外観の一例を示す図。
【図２】本実施形態で取得される画像の一例を示す図。
【図３】本実施形態の機能ブロックの一例を示す図。
【図４】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図５】本実施の形態の処理の流れの一例を示すフローチャート図。
【図６】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図７】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図８】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図９】本実施の形態の処理の流れの一例を示すフローチャート図。
【図１０】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図１１】本実施の形態の処理の流れの一例を示すフローチャート図。
【図１２】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図１３】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図１４】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図１５】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図１６】モーションシステムの一例を説明するための図。
【図１７】本実施形態のモデル処理の一例を説明するための図。
【図１８】本実施形態のモデル処理の一例を説明するための図。
【図１９】本実施形態のモデル処理の一例を説明するための図。
【図２０】本実施形態を実現できるハードウェアの構成の一例を示す図。
【符号の説明】
【０１５０】
ＣＨ１  プレーヤキャラクタ、ＣＨ２  対戦相手キャラクタ、ＰＩ  撮像情報、
ＣＡ  キャラクタ領域画像、ＣＶ  キャラクタ領域ボリューム、ＣＰ  キャラクタ点群、
ＰＭ  ポリゴンメッシュ情報、ＴＭ  三角形メッシュ、ＳＤ  面情報、ＳＳ  面集合、
ＴＳ  テクスチャ空間、ＴＧ  テクスチャ画像、ＣＯ  キャラクタオブジェクト、Ｂ  骨、Ｊ  関節、ＳＭ  スケルトンモデル、ＢＭ  基礎モデル、
７０  処理部、８６  撮像制御部、８８  表面情報取得部、９０  形状情報生成部、
９２  評価値演算部、９４  結合処理部、９６  面情報処理部、９８  テクスチャ処理部、１００  モデル処理部、１０２  比較部、１０４  補正部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  描画部、１５０  撮像部、１６０  操作部、
１７０  記憶部、１９０  表示部
【図１】
2008033522.tif 000003
【図３】
2008033522.tif 000004
【図５】
2008033522.tif 000005
【図９】
2008033522.tif 000006
【図１１】
2008033522.tif 000007
【図１２】
2008033522.tif 000008
【図１６】
2008033522.tif 000009
【図１７】
2008033522.tif 000010
【図１８】
2008033522.tif 000011
【図１９】
2008033522.tif 000012
【図２０】
2008033522.tif 000013
【図２】
2008033522.tif 000014
【図４】
2008033522.tif 000015
【図６】
2008033522.tif 000016
【図７】
2008033522.tif 000017
【図８】
2008033522.tif 000018
【図１０】
2008033522.tif 000019
【図１３】
2008033522.tif 000020
【図１４】
2008033522.tif 000021
【図１５】
2008033522.tif 000022