説明

プログラム、情報記憶媒体、及び画像生成システム

【課題】少ない計算量で正確にオブジェクトにマッピングされるテクスチャを生成すること。
【解決手段】所与のポリゴンメッシュPMを、評価値に応じて自動的に複数の面集合SSに分割し、ポリゴンメッシュPMの表面の色が面集合SSごとにテクスチャ空間TSに分布するテクスチャTGを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【0002】
従来より、デジタルカメラ等で立体物を所定方向から撮像した撮像データに基づいて、仮想的な3次元空間におけるオブジェクトの形状情報を生成し、オブジェクトの画像を生成する画像生成システム(ゲームシステム)が知られている。このような画像生成システムとして、撮像情報に基づいてオブジェクトの形状情報を生成するとともに、撮像情報に基づいてオブジェクトにマッピングするテクスチャを生成するものがある。
【特許文献1】特許第3639475号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
かかる従来の画像生成システムは、例えば人間の頭部などオブジェクトのパーツ単位で、そのパーツの表面全体の色が連続的にテクスチャ座標上に分布するテクスチャを生成するものであった。従って、所定方向からの撮像情報を、パーツ表面全体についてのテクスチャ情報に整合させるための計算量が膨大であり、またテクスチャの部位によって伸びや縮み等の不整合が発生することがあるという問題があった。
【0004】
本発明は、上記事情を鑑みてなされたものであり、その目的は、少ない計算量で正確にオブジェクトにマッピングされるテクスチャを生成することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0005】
(1) 本発明は、画像を生成する画像生成システムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部と、
を含み、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0006】
本発明によれば、所定の条件が満たされるまで頂点を結合する処理を行い、頂点を結合すると除去される面の面情報と、当該面に隣接する面の面情報とを関連付ける処理を繰り返す。これにより、各頂点や各辺についての評価値に応じてポリゴンメッシュを構成する面をグループ化し、隣接する面により構成される面集合群を形成することができる。そして形成された面集合ごとに各面集合をテクスチャ空間に配置し、各面の頂点にテクスチャ座標を割り当てる。
【0007】
こうして本発明によれば、所与のポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャを生成することができる。従って本発明によれば、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布するテクスチャを生成するよりも少ない計算量でテクスチャを生成することができ、かつ、テクスチャの部位によって発生する伸びや縮み等の不整合を低減させ、正確にマッピングされるテクスチャを生成することができる。
【0008】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記結合処理部が、
前記評価値に基づいて、前記ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行うようにしてもよい。
【0009】
本発明によれば、周囲のポリゴンが平坦である頂点から結合する処理を行うことができるので、ポリゴンメッシュを構成する各面を、相対的に平坦な関係にある隣接面と関連付けて面集合を形成することができる。従って本発明によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【0010】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記結合処理部が、
前記関連付けられた面の集合数が、前記ポリゴンメッシュの形状情報に応じた集合数となるまで、前記ポリゴンメッシュの頂点を結合する処理を行うようにしてもよい。
【0011】
本発明によれば、ポリゴンメッシュの形状情報に応じた適切な数の面集合群を形成することができる。例えば本発明によれば、ポリゴンメッシュのサイズが大きい場合や、ポリゴンメッシュの形状が複雑である場合には、形成される面集合の数を多くするように制御することができる。従って本発明によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【0012】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
立体物の表面情報を取得する表面情報取得部と、
前記表面情報に基づいてポリゴンメッシュを生成するポリゴンメッシュ生成部としてコンピュータを更に機能させ、
前記テクスチャ処理部が、
前記生成されたポリゴンメッシュの頂点にテクスチャ座標を割り当てるようにしてもよい。
【0013】
本発明によれば、任意の立体物の撮像情報から生成したポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ座標上に分布するテクスチャを生成することができる。従って本発明によれば、撮像情報からポリゴンメッシュを生成しても、少ない計算量で正確にマッピングされるテクスチャを生成することができる。
【0014】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャ処理部が、
前記表面情報に基づいて、前記テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成するようにしてもよい。
【0015】
本発明によれば、任意の立体物の撮像情報からポリゴンメッシュを生成するとともに、撮像情報からテクスチャを生成する。ここでテクスチャを生成する際には、評価値に応じてポリゴンメッシュを自動的に複数の面集合に分割し、立体物の表面の色に対応する色が面集合ごとにテクスチャ座標上に分布するテクスチャを生成することができる。従って本発明によれば、撮像情報からテクスチャを生成しても、少ない計算量で正確にマッピングされるテクスチャを生成することができる。
【0016】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャ処理部が、
前記生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、前記元のテクスチャ画像と前記ぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの前記各面の集合に対応する部分以外にぼかし処理を行うようにしてもよい。
【0017】
本発明では、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布せず、面集合ごとにテクスチャ空間に分布するテクスチャを生成するが、テクスチャ空間のうち各面集合に対応する部分以外のテクスチャ空間に、各面集合に対応する部分の色分布を反映したぼかし色を割り当てる。即ち、各面集合に対応しないテクスチャ空間にぼかし色を割り当てる。従って本発明によれば、かかるテクスチャをマッピングする際に多少のずれが生じたとしても、ぼかし色によりテクスチャの継ぎ目を目立たせないようにすることができる。
【発明を実施するための最良の形態】
【0018】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0019】
1.概要
図1(A)に、本実施形態の画像生成システムを適用したゲームシステム10(ゲーム端末、ゲームステーション)の実現例(外観図の例)を示す。本実施形態のゲームシステム10は、プレーヤが粘土等を用いて造形した立体物や、プラスチックモデルや人形等の立体物、身の回りの任意の立体物等の表面情報を取得し、取得した表面情報からキャラクタオブジェクトの形状情報を生成する。そして形状情報とスケルトンモデル情報とを対応付けてキャラクタオブジェクトを生成し、生成したキャラクタオブジェクトがモーションを行う画像を表示して対戦ゲームを実行するものである。
【0020】
図1(A)に示すように、本実施形態のゲームシステム10は、プレーヤキャラクタCH1と対戦相手キャラクタCH2とを表示する表示部12を有し、表示部12の左右には、ゲーム音等を出力する音出力部14が設けられ、表示部12の手前側にはテーブル16が設けられている。このテーブル16の左側には、プレーヤが携帯する情報記憶媒体に対して情報の読出し・書込みを行うカードリーダ18と、ゲーム操作を行うための4つの選択ボタン20とが設けられている。また、テーブル16の右側には、コイン投入口22と、ゲーム操作を行うための決定ボタン24とが設けられている。
【0021】
そして、テーブル16の内部には、任意の立体物の表面情報を取得するための撮像部26が設けられている。この撮像部26は、円筒形状に形成され、内側面が黒く塗装されている。そして、プレーヤがコイン投入口22にコインを投入するとテーブル16の上面に形成されたシャッター27が開き、プレーヤが撮像部26に任意の立体物を設置するとシャッター27が閉じ、内部が暗室状態となるように構成されている。
【0022】
図1(B)に、撮像部26の詳細を示す。図1(B)に示すように、撮像部26の底部には、プレーヤが任意の立体物を設置するための円形のターンテーブル28が設けられている。そして撮像部26の上部には、設置された立体物を所定の明るさで照らすライト30と、立体物を撮像するためのカメラ32とが設けられている。そして本実施形態では、ターンテーブル28に任意の立体物が設置されてシャッター27が閉じると、ライト30が立体物を照らし、ターンテーブル28が一定速度で一定方向に回転する。するとターンテーブル28の回転に合わせて、カメラ32が立体物を所定の12方向から撮像する。なお本実施形態ではカメラ32は、図1(B)に示すように立体物を斜め上方から撮像するように配置されている。
【0023】
そして本実施形態では、撮像部26に設置された任意の立体物について、12方向から見た撮像情報を、立体物の表面情報として取得する。特に本実施形態では、撮像部26の内面が黒く塗装されているため、背景が黒く前景が立体物の色で構成される撮像情報を取得することができる。例えば本実施形態では、図2に示すように、カメラ32が12方向から立体物を撮像した撮像情報PI(表面情報)を取得することができる。
【0024】
特に本実施形態では、図1(B)に示すようにターンテーブル28が4つのエリアA〜Dに分割されている。そして4つのエリアA〜Dに配置された4つの立体物の表面情報を、それぞれキャラクタオブジェクトの頭パーツの表面情報、胴体パーツの表面情報、腕パーツの表面情報、足パーツの表面情報として取得する。
【0025】
そして、本実施形態では、取得した各パーツの表面情報に基づき、表示部12に表示させるキャラクタオブジェクトの形状情報を、パーツごとに生成する。そして、生成した各パーツオブジェクトの形状情報と、キャラクタオブジェクトをモーションさせるための複数のボーンが関節で連結されたスケルトンモデル等のモデル情報とを対応付ける。本実施形態では、各パーツオブジェクトの頂点情報をスケルトンモデルの各パーツに対応するボーンに関連付ける。こうして本実施形態では、各パーツが、各パーツに対応する立体物の外観からなるキャラクタオブジェクトを生成する。そして、生成したキャラクタオブジェクトがオブジェクト空間でモーションを行う様子を仮想カメラから見た画像を生成して、表示部12に表示させる。
【0026】
なお、本実施の形態のゲームシステム10は、同一構成のゲームシステム10を複数台(例えば4〜8台)ネットワークにより接続することができる。そして、各ゲームシステム10間でデータを送受信して、実プレーヤ同士で対戦することができる。なお所定のアルゴリズムで制御されるCPUプレーヤと対戦することもできる。
【0027】
2.構成
図3に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図3の構成要素(各部)の一部を省略した構成としてもよい。
【0028】
撮像部150は、立体物の表面情報を撮像するためのものであり、その機能は、デジタルカメラ等の光学センサにより実現できる。特に本実施形態では、立体物を12方向から見た画像情報をデジタルデータとして撮像する。
【0029】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0030】
記憶部170は、処理部70や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶されるフレームバッファ172と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、画像描画時にオブジェクト空間のZ値が記憶されるZバッファ176と、オブジェクトをモーションさせるためのモーションデータが記憶されるモーションデータ記憶部177と、を含む。なお、これらの一部を省略する構成としてもよい。
【0031】
特に本実施形態ではオブジェクトデータ記憶部173には、キャラクタオブジェクトをモーションさせるための、複数のボーンが関節で連結されたスケルトンモデル情報が複数種類記憶されている。また本実施形態では、各スケルトンモデル情報に関連付けて、各スケルトンモデル情報によりモーション制御される基礎モデル情報が記憶されている。またオブジェクトデータ記憶部173には、本実施形態で生成された各パーツオブジェクトを基礎モデル(スケルトンモデル)の各パーツとして設定して生成したキャラクタオブジェクトが記憶される。なお基礎モデルは必須の要素ではなく、少なくともスケルトンモデルが用意されていれば本実施形態を実現することができる。
【0032】
またテクスチャ記憶部174には、本実施形態が取得した立体物の表面情報に基づいて生成したテクスチャが記憶される。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャが記憶される。
【0033】
またモーションデータ記憶部177には、各スケルトンモデル情報に関連付けて、各スケルトンモデル情報を介してキャラクタオブジェクトをモーションさせるためのモーションデータが複数種類記憶されている。
【0034】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0035】
この情報記憶媒体180には、処理部70において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
【0036】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0037】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0038】
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0039】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0040】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0041】
処理部70(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、表面情報取得処理、形状情報生成処理、テクスチャ生成処理、モデル処理、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部70は記憶部170をワーク領域として各種処理を行う。処理部70の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0042】
特に、本実施形態の処理部70は、キャラクタオブジェクトを生成するための構成(撮像制御部86、表面情報取得部88、形状情報生成部90、評価値演算部92、結合処理部94、面情報処理部96、テクスチャ処理部98、モデル処理部100、比較部102、補正部104)と、生成したキャラクタオブジェクトの画像を表示してゲームを実行するための構成(パラメータ設定部106、ゲーム演算部108、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130)とを含む。なお、これらの一部を省略する構成としてもよい。
【0043】
撮像制御部86は、撮像部150が立体物の表面情報を撮像するための制御処理を行う。特に本実施形態では、シャッター27の開閉制御や、ターンテーブル28の回転制御、ターンテーブル28の回転に合わせたカメラ32の撮像タイミングの制御などの制御処理を行う。
【0044】
表面情報取得部88は、立体物の表面情報を取得する。具体的には本実施形態では、カメラ32が撮像した12方向からの立体物の撮像情報と、カメラ32のキャリブレーション情報とを取得する。ここで表面情報取得部88は、複数の立体物の表面情報を取得するようにしてもよい。この場合、1のカメラで複数の立体物を同時に撮像してもよいし、順次撮像してもよい。また複数のカメラで各立体物を撮像するようにしてもよい。
【0045】
形状情報生成部90は、取得した立体物の表面情報(撮像情報)に基づいてキャラクタオブジェクトの形状情報を生成する。ここで形状情報生成部90は、複数の立体物の各立体物の表面情報に基づいて、キャラクタオブジェクトのパーツごとの形状情報を生成するようにしてもよい。具体的には本実施形態では、撮像情報のうち立体物に対応するキャラクタ領域画像を特定する。そして12方向についてのキャラクタ領域画像に基づいて立体物に対応するキャラクタ領域ボリュームを特定し、キャラクタ領域ボリュームに基づいて立体物に対応するポリゴンメッシュを生成する。
【0046】
特に本実施形態では、形状情報生成部90は、キャラクタオブジェクト用にポリゴンメッシュを簡略化するためのオブジェクト用頂点結合処理と、テクスチャ用にポリゴンメッシュの各面を関連付けるためのテクスチャ用頂点結合処理とを行う。そしてかかる機能を実現するための構成として、形状情報生成部90は、評価値演算部92、結合処理部94、面情報処理部96を含む。なお、オブジェクト用頂点結合処理、テクスチャ用頂点結合処理の処理対象とするポリゴンメッシュは、表面情報から生成されたポリゴンメッシュに限られず、デザイナによりデザインされたポリゴンメッシュとしてもよい。
【0047】
評価値演算部92は、ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する。具体的には評価値演算部92は、除去してもポリゴンメッシュの外観に影響を及ぼしにくい頂点或いは辺から順に、高い評価値、或いは低い評価値が設定されるような演算を行う。例えば本実施形態では、各頂点座標と頂点に隣接する面の法線ベクトルから、ポリゴンメッシュの各頂点における隣接面との距離の二乗和を評価値として求める。その他頂点の評価値としては、各頂点から延出する辺の長さの和(周囲の頂点までの距離)等、また辺の評価値としては、各辺の長さ等種々のものを適用することができる。
【0048】
結合処理部94は、所与の条件が満たされるまで、評価値に基づいてポリゴンメッシュの頂点を結合する処理を行う。ここで頂点を結合するとは、頂点を削除することにより頂点を結合することや、辺を削除することにより頂点を結合することを含む。具体的には結合処理部94は、評価値に基づいて、ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行う。そして、頂点を結合することにより関連付けられた面の集合数が所定数となるまで、ポリゴンメッシュの頂点を結合する処理を行う。
【0049】
なお、ポリゴンメッシュの形状情報(ポリゴンメッシュのサイズ、面・辺・頂点の数等)に応じて集合数を自動的に設定し、設定した集合数となるまで、ポリゴンメッシュの頂点を結合する処理を行うようにしてもよい。この場合には、ポリゴンメッシュの形状情報に応じた適切なオブジェクト用頂点結合処理、テクスチャ用頂点結合処理を行うことができる。
【0050】
面情報処理部96は、頂点を結合すると除去されるポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う。具体的には本実施形態では、頂点を結合することにより除去される面の面情報を、除去される面に隣接する面の面情報の子情報として記憶する。
【0051】
テクスチャ処理部98は、所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てる。特に本実施形態では、テクスチャ処理部98は、関連付けられた面の集合ごとにポリゴンメッシュの各面をテクスチャ空間に配置し、ポリゴンメッシュの頂点にテクスチャ座標を割り当てる。
【0052】
ここで処理対象とするポリゴンメッシュが、表面情報から生成されたポリゴンメッシュである場合には、テクスチャ処理部98は、立体物の表面情報(撮像情報)に基づいて、テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成する。特に本実施形態では、テクスチャ処理部98は、生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、元のテクスチャ画像とぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの各面の集合に対応する部分以外にぼかし処理を行う。なおテクスチャ処理部98の機能は、例えばCPUのみで実現してもよいし、その一部をGPUにより実現するようにしてもよい。
【0053】
モデル処理部100は、生成した形状情報(ポリゴンメッシュ)とモデル情報とを対応付ける処理を行う。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、モデル処理部100は、各パーツの形状情報とモデル情報とを対応付ける処理を行う。またモデル処理部100は、複数用意されたモデル情報の中から、形状情報に基づいてモデル情報を選択し、選択したモデル情報と形状情報とを対応付けるようにしてもよい。
【0054】
具体的には本実施形態では、複数種類のスケルトンモデル情報を用意しておき、生成された各パーツオブジェクトの形状情報に応じて、1のスケルトンモデル情報を選択し、各パーツオブジェクトを選択されたスケルトンモデル情報の対応する骨に関連付ける。特に本実施形態では、各パーツオブジェクトの頂点情報を対応する骨に関連付ける。
【0055】
比較部102は、形状情報と所定のバウンディングボリュームとを比較する。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、比較部102は、各パーツの形状情報のうち少なくとも1のパーツの形状情報と、所定のバウンディングボリュームとを比較する。具体的には本実施形態では、生成された形状情報と所定のバウンディングボリュームの、互いに直交する3軸方向の最大値の比を比較して、両者の形状が近似しているか否かを評価する。そしてモデル処理部100が、比較結果に基づいて、最も形状が近似しているバウンディングボリュームが対応付けられたモデル情報を選択する。
【0056】
補正部104は、所定のバウンディングボリュームに基づいて、形状情報を補正する。具体的には本実施形態では、生成された各パーツオブジェクトの形状情報を、各パーツに対応するバウンディングボリュームに応じて補正する。より詳細には、各パーツオブジェクトがそれぞれに対応するバウンディングボリューム内に適切に納まるように、形状情報を拡大、縮小等する。このとき形状情報の互いに直交する3軸方向の大きさを、異なる比率で拡大、縮小するようにしてもよい。そしてモデル処理部100が、補正後の形状情報とモデル情報とを対応付ける処理を行う。
【0057】
パラメータ設定部106は、形状情報及びモデル情報の少なくとも一方に基づいて、キャラクタオブジェクトのキャラクタパラメータを設定する。ここで本実施形態ではキャラクタパラメータとして、キャラクタの攻撃能力、守備能力、移動能力等、種々のパラメータを設定することができる。そして生成されたキャラクタ全体としての形状情報や、パーツごとの形状情報に基づいて、キャラクタパラメータを設定する。特に、複数の立体物の表面情報に基づいてキャラクタオブジェクトのパーツごとの形状情報を生成する場合には、パラメータ設定部106は、キャラクタオブジェクトのパーツごとにパーツパラメータを設定するようにしてもよい。
【0058】
またパラメータ設定部106は、キャラクタオブジェクトの基礎パラメータを設定し、ゲーム結果に基づいて、キャラクタオブジェクトに設定された基礎パラメータを更新する。ここで本実施形態では、キャラクタオブジェクトの基礎パラメータとして、ゲーム回数や、ゲーム成績等により変化する経験値等のパラメータであって、形状情報やモデル情報に影響されない基礎的なパラメータを設定することができる。そして、基礎パラメータに基づいて、例えば形状情報やモデル情報に基づき設定されるパラメータを変化させるようにしてもよい。
【0059】
ゲーム演算部108は、設定されたパラメータに基づいて、対戦ゲームを実行するための種々の演算を行う。具体的にはゲーム演算部108は、プレーヤからの操作情報に応じて各種設定を行う情報設定部と、操作情報や設定情報等に応じて各種表示物の表示制御を行う表示制御部と、対戦ゲームにおける攻撃状態と防御状態との移行制御を行う状態制御部と、防御状態から攻撃状態へ移行させるためのカウント値をカウントするカウント部と、攻撃状態においてプレーヤからの攻撃操作を評価する評価部と、攻撃操作に応じて対戦相手のダメージ量等の設定値を更新する設定値更新部と、更新された設定値に応じて勝敗判定を行う判定部として機能する。
【0060】
オブジェクト空間設定部110は、本実施形態で生成したキャラクタオブジェクト等の移動体オブジェクト、予め記憶させてあるキャラクタオブジェクト、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0061】
移動・動作処理部112は、移動体オブジェクト(キャラクタの他、キャラクタが使用する道具等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部112は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
【0062】
具体的には、本実施形態の移動・動作処理部112は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【0063】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0064】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0065】
描画部120は、処理部70で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の描画部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0066】
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
【0067】
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【0068】
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0069】
なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0070】
そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0071】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
【0072】
テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする処理を行う。
【0073】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0074】
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【0075】
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0076】
αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0077】
音生成部130は、処理部70で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0078】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0079】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0080】
3.立体物の形状情報の生成
次に、立体物に対応するキャラクタオブジェクトの形状情報の生成処理の詳細について説明する。
【0081】
3.1 ポリゴンメッシュの生成
まず本実施形態では、カメラ32が撮像した12方向からの立体物の撮像情報PIに基づいて、ボリューム・カービング(Volume Carving)系アルゴリズムを用いて立体物の仮想3次元空間におけるボリューム情報を生成する。このボリューム・カービング系アルゴリズムでは、複数の方向から立体物を撮像した画像情報について、それぞれ立体物に対応する領域の画像を切り出して、図4に示すように当該領域の3次元ボリュームCVを特定する。そして、それぞれの方向からの3次元ボリュームのandをとることにより、立体物の仮想3次元空間におけるボリューム情報を削り出す(Carving)。
【0082】
図5は、ポリゴンメッシュ生成処理の詳細の一例を示すフローチャートである。まずステップS10において、図2に示すような、カメラ32が撮像した12方向からの立体物の撮像情報PIを取得する。そしてステップS12において、カメラ32のキャリブレーション情報を取得する。
【0083】
本実施形態では、カメラ32と立体物の位置関係に対応する3次元空間における位置関係を求めるために、予めキャリブレーション用リグを立体物の撮像時と同一の位置関係を保った状態で撮像しておく。そして、キャリブレーション用リグを撮像した画像情報からカメラ32の位置を演算する。具体的には本実施形態では、キャリブレーション用リグに対するカメラ32の位置を定めるビュー行列と、キャリブレーション用リグの3次元空間上の点とその2次元画像の間の射影を定める射影行列とを求める。
【0084】
本実施形態ではキャリブレーション用リグは、六面体の上面及び4側面にそれぞれ異なった四辺形パターンを配置したものを用いる。これによりキャリブレーション用リグをターンテーブル28上で360°回転させる間、常にいずれか2面がカメラ32に写るようになっており、任意の角度においてキャリブレーション演算ができるようになっている。
【0085】
そしてステップS14において、図2の撮像情報PIから立体物に対応するキャラクタ領域画像CAを特定する。本実施形態では、撮像したカラー画像をグレイスケール画像に変換し、画像全体の画素値の平均値をしきい値として、黒の背景と立体物の色に対応する前景とを判別する。そして前景と判定された画素を、立体物に対応するキャラクタ領域画像CAとして特定する。
【0086】
そしてステップS16において、キャリブレーション情報に基づいて、キャラクタ領域画像CAを3次元空間に配置する。本実施形態では、まず仮想3次元空間を3次元ボリュームに分割し、取得したキャリブレーション情報(回転行列、平行移動ベクトル)に基づいて、3次元空間にキャラクタ領域画像CAを平面として配置する。
【0087】
そしてステップS18において、3次元ボリューム空間の各ボクセルを、カメラ行列を用いてキャラクタ領域画像CAの平面に投影する。そしてステップS20において、図4に示すように、キャラクタ領域画像CAの輪郭線内に投影されたボクセルを残し、キャラクタ領域ボリュームCVを特定する。本実施形態では仮想3次元空間において、各ボクセルからカメラ位置に向かって延ばした直線と、キャラクタ撮像画像平面との交点を求め、交点が立体物に対応する前景と交差するか黒の背景と交差するかを判定する。こうして本実施形態では、図2に示す12方向からのキャラクタ領域画像CAそれぞれについて、キャラクタ領域ボリュームCVを特定する。
【0088】
そしてステップS22において、12方向についてのキャラクタ領域ボリュームCV全てにおいて重複するボクセルを残し、立体物に対応するキャラクタボクセルを特定する。ここで本実施形態では、ボリューム分割数はx、y、zの各軸を128分割した2097152要素としている。従って、結果として得られる立体物に対応する情報は点群として得られる。図6に、図2に示す12方向からのキャラクタ領域画像CAに基づいて得られるキャラクタ点群CPの一例を示す。
【0089】
ここで本実施形態では、128分割したボリューム内の全てのボクセルについて撮像画像平面との交差判定を行うと、立体物に対応する前景から大きく外れるボクセルについても不必要な交差判定を行ってしまい、計算量が非常に大きくなってしまう。そこで本実施形態では、前景から大きく外れる部分と、全体が前景に含まれている部分については、八分木データ構造を用いてボクセルのサイズを大きくした状態で交差判定を行う。そして、いずれの部分にも該当しない前景と背景との境界にある部分は再帰的に分割し、最終分割レベル(128分割)に到達するまで交差判定を行う。これにより本実施形態では、高速にキャラクタ点群CPを生成することができる。
【0090】
そしてステップS24において、生成されたキャラクタ点群CPに基づいて、立体物に対応するポリゴンメッシュ情報を生成する。本実施形態では、Marching・Cubes法を用いてポリゴンメッシュ情報を生成する。
【0091】
このMarching・Cubes法とは、ボリューム情報からポリゴンメッシュを生成するアルゴリズムであって、アルゴリズムで定義されている15種類のポリゴン抽出パターンに基づき、ポリゴンを生成するものである。具体的には、接続情報をもたない点群データをボリューム要素であるボクセルに置き換え、直方体に配列する8つのボクセルを1つのセルとして、セル単位でそれぞれのボクセル内にデータが存在するかどうか判定する。そしてセル内のデータ配置パターンを15種類のポリゴン抽出のパターンに当てはめ、該当するポリゴン抽出パターンに対応する多角形ポリゴンをそのセルのポリゴンとする。こうして本実施形態では、図7に示すように、撮像した立体物に対応するポリゴンメッシュ情報PMaを生成する。
【0092】
このように本実施形態では、12方向からの立体物の撮像情報とキャリブレーション情報とに基づいて、キャラクタボリューム情報を生成し、立体物に対応するポリゴンメッシュ情報を生成する。即ちキャラクタオブジェクトの形状情報として、キャラクタオブジェクトを構成する三角形プリミティブ面の頂点情報と、面情報と、各面の法線情報とを生成する。
【0093】
3.2 オブジェクト用頂点結合処理
ここでMarching・Cubes法を用いると、3次元空間をボリューム分割したグリッド上に無条件にポリゴンを発生させるため、ポリゴン数が不必要に多くなる傾向がある。またポリゴンの頂点がグリッド上に配置されるので、ポリゴンの見た目が規則的なブロック状になってしまい、生成されるキャラクタオブジェクトの外観に悪影響を及ぼす。そこで本実施形態では、ポリゴン数を削減しかつ外観を滑らかにするために、ポリゴンメッシュの簡略化を行う。本実施形態では、ポリゴンメッシュの頂点を結合することにより、ポリゴンメッシュの面数を削減する。
【0094】
特に本実施形態では、図8(A)に示すように、三角形メッシュTM上の二つの頂点v1、v2をつなぐエッジを折りたたみ、一方の頂点に接続されているエッジをもう一方の頂点につなげ、v´とするEdge・collapseアルゴリズムを用いて、頂点結合処理を行う。すると図8(B)に示すように、8つの頂点を7つの頂点に削減し、14のエッジを12のエッジに削減し、8つのポリゴンを6つのポリゴンに削減することができる。
【0095】
図9は、オブジェクト用の頂点結合処理の詳細の一例を示すフローチャートである。本実施形態では、まずステップS30において、各頂点座標について、頂点座標と頂点に隣接する面の法線ベクトルから所定の評価値を求める。本実施形態では、Quadric・Error・Metric(QEM)法を用いて、ポリゴンメッシュの各頂点における隣接面との距離の二乗和を評価値として求める。
【0096】
このQEM法によれば、頂点間を結ぶエッジの長さと、削除しようとしている頂点の周りのエッジの両側における三角形メッシュ(プリミティブ)の平坦度との組合せに基づく評価値を得ることができる。即ちその頂点から延出するエッジが短いほど、そして周囲のポリゴンが平坦であるほど、その頂点に小さい値が割り当てられる。従って、評価値が小さい頂点から順に頂点結合処理を行うことにより、頂点を結合しても外観に影響を及ぼしにくい頂点(面、エッジ)から削除することができる。
【0097】
そしてステップS32において、全ての頂点についての評価値のうち、評価値が最小の頂点を結合し、面を削減する。ここで頂点の結合とは、ある頂点v1の位置を他の頂点v2の位置として結合することや、ある頂点v1の位置と他の頂点v2の位置とから新たな頂点v´を生成することにより頂点を結合することを含む。こうして本実施形態では、頂点結合処理により、ポリゴンメッシュの外観に影響を及ぼしにくい面からその数を削減する。
【0098】
そしてステップS34において、頂点結合後のポリゴンメッシュの面の数が予め定めた所定数となったか判断する。ここで本実施形態では、生成したキャラクタオブジェクトに仮想3次元空間でモーションを行わせる際の処理負荷と、キャラクタオブジェクトの外観とを考慮して、最適なポリゴンメッシュの簡略化後の面数を設定しておく。そしてポリゴンメッシュの面の数が所定数となるまで、ステップS32からステップS34までの処理を繰り返す。
【0099】
ここでポリゴンメッシュの面数が所定の面数となっていない場合には(ステップS34のN)、ステップS36において、結合された頂点の評価値を結合先の頂点の評価値に加算する。即ち結合された頂点の評価値に、結合の結果を反映する。これにより結合された頂点の評価値が高くなり、次回以降の結合処理の対象外となる。
【0100】
そしてポリゴンメッシュの面数が所定の面数となると(ステップS36のY)、ステップS38において、所定の面数に削減したポリゴンメッシュの頂点情報、面情報、法線情報等の形状情報を、キャラクタオブジェクトの形状情報として記憶部に格納する。こうして本実施形態では、図10に示すように、キャラクタオブジェクト用にポリゴン数が所定の面数まで削減された、キャラクタオブジェクト用のポリゴンメッシュPMb(キャラクタオブジェクトの形状情報)を生成することができる。なお図10のポリゴンメッシュPMbの例では、頂点数が1959個、ポリゴン数が3952個となっている。
【0101】
4.テクスチャの生成
4.1 テクスチャ用頂点結合処理
また本実施形態では、立体物の12方向からの撮像情報PIに基づいて、キャラクタオブジェクト用のポリゴンメッシュPMbを生成するとともに、撮像情報PIに基づいて、ポリゴンメッシュPMbにマッピングするテクスチャを生成する。ここで本実施形態では、テクスチャを生成する際に、処理対象となる1の立体物(パーツ)の表面全体の色が連続的にテクスチャ座標上に分布するテクスチャを生成するのではなく、ポリゴンメッシュPMbの表面を所定数の領域に分割し、処理対象となる1の立体物(パーツ)の表面全体の色が、分割した領域ごとにテクスチャ座標上に分布するテクスチャを生成する。
【0102】
そして本実施形態では、ポリゴンメッシュPMbの表面を所定数の領域に自動的に分割するために、ポリゴン数が十数個程度となるまでポリゴンメッシュPMbの頂点を更に結合するテクスチャ用頂点結合処理を行う。このテクスチャ用頂点結合処理では、オブジェクト用の頂点結合処理のように頂点を結合することによりポリゴンメッシュのポリゴン数を実際に減少させるのではなく、頂点を結合することにより除去される面と残存する面とを関連付けてポリゴンメッシュPMbの各面(ポリゴン)をグループ化し、そのグループ単位を1の領域とする。
【0103】
図11は、テクスチャ用の頂点結合処理の一例を示すフローチャートである。本実施形態では、まず図11のステップS50、ステップS52において、図9のオブジェクト用の頂点結合処理でのステップS30、ステップS32と同様の処理を行い、テクスチャ用の頂点結合処理を行う。するとステップS54において、頂点を結合することにより除去される面の面情報を、除去される面に隣接する面の面情報の子情報として記憶する。
【0104】
例えば図12(A)に示す三角形メッシュTM1の例では、面情報SD1としてS1、S2、S3、S4・・・という面情報が記憶されている。ここで頂点v1に頂点v2を結合すると、図12(B)に示す三角形メッシュTM2のように、面S1が面S3に吸収されるようにして面S1が除去され、面S3が残存する。同時に面S2が面S4に吸収されるようにして面S2が除去され、面S4が残存する。
【0105】
このとき本実施形態では、除去される面S1の面情報を、エッジを共有する隣接する面であって、除去される頂点v2を頂点とする面S3の面情報の子情報として格納する。同様に、削除された面S2の面情報を、エッジを共有する隣接する面であって、除去される頂点v2を頂点とする面S4の面情報の子情報として格納する。即ち図12(B)に示す面情報SD2のように、頂点結合処理により除去される面情報と残存する面情報とを関連付けて記憶する。
【0106】
するとステップS56において親がいない面の数、即ち残存している面の数が所定数となったか否か判断する。ここで本実施形態では、生成したキャラクタオブジェクトにマッピングされるテクスチャを、少ない計算量で正確に生成するために最適な面数を設定しておく。そして所定数となっていない場合には(ステップS56のN)、ステップS58において、結合された頂点の評価値を結合先の頂点の評価値に加算する。
【0107】
そして親がいない面の数が所定数となるまで、ステップS52からステップS56までの処理を繰り返す。するとポリゴンメッシュを構成する面が、評価値に応じて順次グループ化されていく。こうして本実施形態では、頂点結合により除去される面情報と、それを吸収して残存する面情報とに親子関係をつけることにより、親子関係で関連付けられた面集合を形成することができる。
【0108】
図13は、立体物としての飲料の缶に対応するポリゴンメッシュPMb1について、テクスチャ用頂点結合処理を行った場合の一例を示す図である。図13に示すポリゴンメッシュPMb1に対して、上述したテクスチャ用の頂点結合処理を行うと、各面の色の濃淡で示すように、隣接する面により構成される面集合SSが複数形成される。図13の例では、ポリゴンメッシュPMb1を構成する各面が、面集合SS1から面集合SS14の14個の面集合群にグループ化されている。
【0109】
特に本実施形態では、撮像情報PIから生成されたポリゴンメッシュを簡略化するためのオブジェクト用の頂点結合処理と同様のアルゴリズムを利用して、頂点を結合したならば除去される面の面情報を、残存する面の面情報と関連付けて面集合SSを形成する。従って本実施形態によれば、周囲のポリゴンが平坦である頂点から結合する処理を行うことができるので、ポリゴンメッシュを構成する各面を、相対的に平坦な関係にある隣接面と関連付けて面集合SSを形成することができる。こうして本実施形態によれば、少ない計算量で正確なテクスチャを生成するために、より適切な面集合を形成することができる。
【0110】
4.2 テクスチャ生成
そしてステップS60において、図13に示すポリゴンメッシュPMb1の各面を、図14に示すように面集合SS1〜SS14ごとにテクスチャ空間TSであるUV座標系に配置する。このときポリゴンメッシュPMb1を構成する各三角形プリミティブの法線が、UV座標平面に直交するように、ポリゴンメッシュPMb1の各面をUV座標系に配置する。即ち全ての三角形プリミティブが正面を向いた状態で、各面の頂点座標をUV座標系に対応付ける。
【0111】
ここで本実施形態では、所定のアルゴリズムに基づき、面集合SS1〜SS14をUV座標系に配置する。本実施形態では、面集合SS1〜SS14のうち、面の数が最も多い面集合SS1から順にUV座標系に配置する。なお、面積の大きな面集合から順に配置するようにしてもよい。
【0112】
より詳細には本実施形態では、まず最も面の数が多い面集合SS1の任意の2の頂点が、それぞれU軸上とV軸上にあるように配置する。図14の例では、最も面の数が多い面集合SS1の任意の頂点である点Pu1がU軸上に、点Pv1がV軸上にあるように配置する。そして2番目に面の数が多い面集合SS2の任意の1点がV軸上にあって、かつ面集合SS2と面集合SS1とが重ならないように、面集合SS2を配置する。同様にして面集合SS3、面集合SS4をV軸に沿って配置する。
【0113】
そして次の面集合SS5をV軸に沿って配置できない場合には、面集合SS5の任意の1点であるPu2がU軸上にあって、かつ面集合SS5と面集合SS1とが重ならないように、面集合SS5を配置する。そして次の面集合SS6を、面集合SS5に近い位置であって他の面集合SSと重ならないように配置する。同様にして他の面集合SSも配置する。こうして図14に示すように、全ての面集合SS1〜SS14をUV座標系に配置する。
【0114】
そしてステップS62において、各面集合SS1〜SS14に応じた色分布をUV座標系に描き込む。そのため本実施形態では、まずカメラ32のキャリブレーション情報に基づいて、立体物の撮像情報PIから得られる立体物の色情報と、上述のように生成したメッシュ簡略化後のキャラクタオブジェクトの形状情報とを対応付ける。より詳細には本実施形態では、図2に示す12方向からの撮像情報PIの各キャラクタ領域画像CAと、当該撮像情報PIが撮像された方向と同じ方向からみた場合のキャラクタオブジェクト用のポリゴンメッシュPMb(図10)とを重ね合わせるように対応付け、ポリゴンメッシュPMbの各三角形プリミティブに対応する色情報を求める。
【0115】
この場合、色分布の歪みを最小限にするために、三角形プリミティブを正面付近から撮像したときの撮像情報に基づいて、各三角形プリミティブの色情報を求めることが好ましい。そこで本実施形態では、各三角形プリミティブの法線情報と、各方向からの撮像情報のキャリブレーション情報とに基づき、各三角形プリミティブを最も正面に近い方向から撮像した撮像情報に基づいて、各三角形プリミティブの色情報を求めるようにしてもよい。こうして本実施形態では、立体物の12方向からの撮像情報に基づいて、当該立体物に対応するキャラクタオブジェクトにマッピングするテクスチャを生成する。
【0116】
図15は、図14のUV座標系に配置された面集合SS1〜SS14に応じた色分布が、各UV座標値に割り当てられたテクスチャ画像TGの一例を示す図である。図15の例では、図13に示すポリゴンメッシュMPbに対応する立体物としての飲料の缶の表面の色が、各面集合SS1〜SS14ごとにUV座標値に割り当てられている。特に図15の例では、面集合SS1〜SS14に対応する領域(以下、面集合領域という。)にのみ各面集合SS1〜SS14に応じた色が割り当てられるのではなく、各面集合SS1〜SS14の隙間の領域(面集合領域以外の領域)にぼかし色が割り当てられている。これにより図15の例では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする際に、多少のずれが生じたとしても、ぼかし色により継ぎ目を目立たせないようにすることができる。
【0117】
詳細には本実施形態では、まず面集合領域にのみ各面集合SS1〜SS14に応じた色が割り当てられた元テクスチャを生成し、この元のテクスチャ画像の解像度を低下させて元テクスチャの色をぼかしたぼかし用画像を生成する。するとぼかし用画像では、面集合領域の周囲に、面集合領域の色がはみ出すようにして配置される。そして解像度を段階的に更に低下させて、複数段階の解像度のぼかし用画像を用意する。こうして解像度が低下するにつれ、面集合領域の周囲のより広い範囲に色がはみ出すようにして配置されたぼかし用画像を複数用意する。
【0118】
そして本実施形態では、元のテクスチャ画像と複数段階のぼかし用画像とに基づいてαブレンディングを行うことにより、元のテクスチャ画像に対してぼかし処理を行う。このとき、元のテクスチャ画像の面集合領域の色にまでぼかし処理を行わないように、面集合領域にマスク処理を行い、面集合領域以外にぼかし処理を行う。こうして本実施形態では、図15に示すように元のテクスチャの面集合領域以外にぼかし処理を行ったテクスチャを生成することができる。
【0119】
このように本実施形態によれば、所与のポリゴンメッシュを、評価値に応じて自動的に複数の面集合に分割し、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャを生成することができる。従って本実施形態によれば、ポリゴンメッシュの表面の色が連続的にテクスチャ空間に分布するテクスチャを生成するよりも少ない計算量でテクスチャを生成することができ、かつ、テクスチャの部位によって発生する伸びや縮み等の不整合を低減させ、正確にマッピングされるテクスチャを生成することができる。
【0120】
5.スケルトンモデル情報の対応付け
次に本実施形態で生成されたキャラクタオブジェクトの形状情報(キャラクタオブジェクト用のポリゴンメッシュPMb)と、キャラクタオブジェクトをモーションさせるための複数のボーンが関節で連結されたスケルトンモデル情報と、を対応付けるモデル処理について説明する。
【0121】
5.1 スケルトンモデル
本実施形態では、上述のようにして生成したキャラクタオブジェクト用のポリゴンメッシュMPbについてスケルトンシステムを用いて、キャラクタオブジェクトがオブジェクト空間でモーションを行う画像を生成する。このスケルトンシステムでは、図16に示すように、キャラクタオブジェクトCOを、複数のパーツオブジェクト(腰12、胸14、首16、頭18、右上腕20、右前腕22、右手24、左上腕26、左前腕28、左手30、右股32、右すね34、右足36、左股38、左すね40、左足42)により構成する。そして、これらのパーツオブジェクト(部位)の位置や回転角度(方向)は、スケルトンモデルを構成する骨B0〜B19の位置(関節J0〜J15の位置)や回転角度(親の骨に対する子の骨の相対的な回転角度)により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
【0122】
そして、このスケルトンモデルを構成する骨(モーション骨、関節)は、親子(階層)構造を有している。例えば、手24、30の骨B7、B11の親は前腕22、28の骨B6、B10となり、B6、B10の親は上腕20、26の骨B5、B9となる。また、B5、B9の親は胸14の骨B1となり、B1の親は腰12の骨B0となる。また、足36、42の骨B15、B19の親はすね34、40の骨B14、B18となり、B14、B18の親は股32、38の骨B13、B17となり、B13、B17の親は腰12の骨B12、B16となる。これにより、各骨が接続された状態で各骨の位置や回転角度を変化させることができる。
【0123】
そして、これらの骨の位置、回転角度を、モーションデータとして記憶しておき、モーションデータを時間経過に伴い順次読み出すことで、キャラクタオブジェクトCOにモーションを行わせることができる。なお、骨の回転角度だけをモーションデータに含ませて、骨の位置(関節の位置)についてはモデルオブジェクトのモデルデータの中に含ませてもよい。
【0124】
例えば、キャラクタオブジェクトCOが歩くモーションが、M0、M1、M2・・・・MNという基準モーション群(各フレームでのモーション)により構成されているとする。この場合には、これらの各基準モーションM0、M1、M2・・・・MNでの各骨の位置又は回転角度が、モーションデータとして予め記憶されている。そして、例えば基準モーションM0の各パーツオブジェクトの位置、回転角度を読み出し、次に基準モーションM1の各パーツオブジェクトの位置、回転角度を読み出すというように、基準モーションのモーションデータを時間経過に伴い順次読み出すことで、モーション再生が実現される。
【0125】
なお、モーションデータ記憶部に記憶するモーションデータは、一般的には、モーションキャプチャにより取得したり、デザイナが作成する。また、骨の位置、回転角度は、親の骨の位置、回転角度に対する相対的な位置、相対的な回転角度(3軸周りの回転角度)で表される。また、図16においてRPはキャラクタオブジェクトCOの代表点であり、このRPは例えば腰(J0)の真下の位置(高さ零の位置)に設定されている。
【0126】
5.2 基礎モデルの選択
そして本実施形態では、立体物の撮像情報からキャラクタオブジェクトの頭パーツオブジェクト、胴体パーツオブジェクト、腕パーツオブジェクト、足パーツオブジェクトを生成し、各パーツオブジェクトをスケルトンモデルの頭の骨、胴体の骨、腕の骨、足の骨にそれぞれ関連付ける。具体的には本実施形態では、各パーツオブジェクトの重心を通る軸に沿って対応する骨を設定する。ここで軸の向きは、プレーヤに設定させてもよいし、所定のアルゴリズムに基づいて設定してもよい。例えばパーツごとに、生成されたパーツオブジェクトの長手方向を軸方向としたり、短手方向を軸方向とする。そして各パーツオブジェクトについて、パーツオブジェクトの各頂点の対応する骨に対するウェイト値を1.0に設定する。なおウェイト値とは、頂点に関連付けられたボーンが移動した際に、その頂点がそのボーンにどれだけ追従するかを示す比率である。
【0127】
ここで本実施形態では、システム利用者が任意に選択した立体物を任意の部位のパーツオブジェクトとすることができるので、生成された各パーツオブジェクトの形状情報も任意のものとなる。例えば足パーツオブジェクトとして、柱状体であるが飲料のペットボトルのように相対的に太いオブジェクトが生成される場合や、鉛筆のような相対的に細いオブジェクトが生成される場合もある。また足パーツオブジェクトとして、コンパクトディスク(CD)のような平板状のオブジェクトが生成される場合もある。
【0128】
そこで本実施形態では、複数種類のスケルトンモデル情報を用意しておき、生成された各パーツオブジェクトの形状情報に応じて、各パーツオブジェクトの特性に適合する1のスケルトンモデル情報を選択する。特に本実施形態では、生成された足パーツオブジェクトの形状情報に応じて、スケルトンモデル情報を選択する。そして各パーツオブジェクトを、選択されたスケルトンモデル情報の対応する骨に関連付ける。
【0129】
図17(A)〜(C)は、本実施形態で用意されているスケルトンモデル情報の例を示すものである。本実施形態では、例えば足パーツオブジェクトとして相対的に太い柱状体であるペットボトルの形状情報が生成された場合には、図17(A)に示す2本足のスケルトンモデルSM1が選択される。一方、相対的に細い柱状体である鉛筆の形状情報が生成された場合には、図17(B)に示す4本足のスケルトンモデルSM2が選択される。また、足(下半身)パーツオブジェクトとして平板状の立体物であるコンパクトディスクの形状情報が生成された場合には、図17(C)に示す足がないスケルトンモデルSM3が選択される。
【0130】
具体的には本実施形態では、スケルトンモデルSM1〜SM3に対応づけられたモデルオブジェクトとして、図18(A)〜(C)に示す基礎モデルBM1〜BM3が用意されている。この基礎モデルBM1〜BM3は、生成された各パーツオブジェクトをスケルトンモデルSM1〜SM3に対応付けるための基礎となるモデルオブジェクトである。例えば図18(A)の例では、基礎モデルBM1は、首パーツオブジェクトNO1と、肩パーツオブジェクトSO1と、上腕パーツオブジェクトUO1と、股(もも)パーツオブジェクトTO1とが、それぞれ対応する骨に予め関連付けられている。
【0131】
そして基礎モデルBM1のうち、頭パーツオブジェクトに対応する部分には、モデル座標系における所定の領域を示すバウンディングボリュームである頭ボリュームHV1が設定されている。また、腕パーツオブジェクトに対応する部分には腕ボリュームAV1が、胴パーツオブジェクトに対応する部分には胴ボリュームBV1が、足パーツオブジェクトに対応する部分には足ボリュームLV1が設定されている。なおこのバウンディングボリュームは画像上では表示されないものである。
【0132】
そして各基礎モデルBM1〜BM3に設定されているバウンディングボリュームは、基礎モデルBM1〜BM3ごとに異なる形状となっている。例えば本実施形態では、図18(A)に示す基礎モデルBM1は、相対的に太い形状の足ボリュームLV1が設定されている。一方、図18(B)に示す基礎モデルBM2は、相対的に細い形状の足ボリュームLV2が設定されている。また、図18(C)に示す基礎モデルBM3は、平板状の足(下半身)ボリュームLV3が設定されている。
【0133】
そして本実施形態では、生成された足パーツオブジェクトの縦、横、高さ(互いに直交する3軸方向の最大値)の比と、基礎モデルBM1〜BM3の各足ボリュームLVの縦、横、高さの比とを比較する。そして、生成された足パーツオブジェクトが最も近似する足ボリュームLVに対応する基礎モデルBMを選択する。
【0134】
従って本実施形態では、例えば相対的に太い柱状体であるペットボトル型の足パーツオブジェクトが生成された場合には、基礎モデルBM1の足ボリュームLV1が最も近似すると判断し、基礎モデルBM1を選択する。一方、相対的に細い柱状体である鉛筆型の足パーツオブジェクトが生成された場合には、基礎モデルBM2の足ボリュームLV2が最も近似すると判断し、基礎モデルBM2を選択する。
【0135】
そして基礎モデルBMを選択すると、基礎モデルBOの各パーツの形状情報として、生成した各パーツオブジェクトの形状情報を設定する。即ち各パーツオブジェクトの頂点情報を対応する骨に関連付ける。図19(A)、(B)は、こうして生成されたキャラクタオブジェクトの一例である。図19(A)は、足パーツオブジェクトLO1としてペットボトル型オブジェクトを生成し、基礎モデルBM1を選択した場合の例である。従って図19(A)の例では、ペットボトル型の2本の足を有するキャラクタオブジェクトCO1が生成される。なお図19(A)の例では、キャラクタオブジェクトCO1の頭パーツオブジェクトHO1は携帯型ミュージックプレーヤの形状とされ、腕パーツオブジェクトAO1は飲料の缶の形状とされ、胴パーツオブジェクトBO1はライターの形状とされている。
【0136】
また図19(B)は、足パーツオブジェクトLO2として鉛筆型オブジェクトを生成し、基礎モデルBM2を選択した場合の例である。従って図19(B)の例では、鉛筆型の4本の足を有するキャラクタオブジェクトCO2が生成される。なお図19(B)の例では、キャラクタオブジェクトCO2の頭パーツオブジェクトHO2は携帯型ゲーム機の形状とされ、腕パーツオブジェクトAO2は飲料のペットボトルの形状とされ、胴パーツオブジェクトBO2は携帯電話の形状とされている。
【0137】
ここで本実施形態では、各パーツオブジェクトの縮尺比(スケール)は、各パーツオブジェクトごとに異なるものとなっている。図19(A)の例では、例えばライター型の胴パーツオブジェクトBO1と、ペットボトル型の足パーツオブジェクトLO1とでは、実際のライターとペットボトルの大きさの比と異なり、ライターの方がペットボトルよりも縮尺比が大きくなっている。これは、本実施形態では、生成された各パーツオブジェクトの形状情報を、各パーツに対応するバウンディングボリュームに応じて補正しているからである。
【0138】
例えば、足パーツオブジェクトLOとしてペットボトル型オブジェクトを生成した場合には、ペットボトル型オブジェクトの形状情報を、図18(A)の足ボリュームLV1内に納まるように縮小補正する。一方、胴パーツオブジェクトBOとしてライター型オブジェクトを生成した場合には、ライター型オブジェクトの形状情報を、図18(A)の胴ボリュームBV1内に納まるように拡大補正する。このように本実施形態では、生成された形状情報の大きさがまちまちであっても、キャラクタオブジェクトCOの各パーツの形状情報として適切なものに補正する。従って、各パーツオブジェクトの外観を維持しつつ、バランスのよいキャラクタオブジェクトCOを生成することができる。
【0139】
こうして本実施形態では、キャラクタオブジェクトCOの各パーツが、任意の立体物の外観に対応したキャラクタオブジェクトCOを生成することができ、かかるキャラクタオブジェクトCOがオブジェクト空間でモーションを行う画像を生成することができる。これにより本実施形態によれば、システム利用者が選択した複数の立体物の組合せにより、更に各立体物と各パーツの対応関係の組合せにより、様々なキャラクタオブジェクトCOを生成することができる。従って本実施形態によればシステムの利用者に対して、選択した複数の立体物の組合せと、立体物とパーツの対応関係の組合せにより、生成されるキャラクタオブジェクトCOがいかなるものになるかというこれまでの画像生成システムにない興味を喚起することができる。
【0140】
6.ハードウェア構成
図20に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0141】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0142】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0143】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0144】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0145】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0146】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0147】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0148】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0149】
【図1】図1(A)は、本実施形態のシステムの概略外観の一例を示す図。図1(B)は、本実施形態のシステムの一部の概略外観の一例を示す図。
【図2】本実施形態で取得される画像の一例を示す図。
【図3】本実施形態の機能ブロックの一例を示す図。
【図4】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図5】本実施の形態の処理の流れの一例を示すフローチャート図。
【図6】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図7】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図8】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図9】本実施の形態の処理の流れの一例を示すフローチャート図。
【図10】本実施形態の形状情報を生成する処理の一例を説明するための図。
【図11】本実施の形態の処理の流れの一例を示すフローチャート図。
【図12】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図13】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図14】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図15】本実施形態のテクスチャを生成する処理の一例を説明するための図。
【図16】モーションシステムの一例を説明するための図。
【図17】本実施形態のモデル処理の一例を説明するための図。
【図18】本実施形態のモデル処理の一例を説明するための図。
【図19】本実施形態のモデル処理の一例を説明するための図。
【図20】本実施形態を実現できるハードウェアの構成の一例を示す図。
【符号の説明】
【0150】
CH1 プレーヤキャラクタ、CH2 対戦相手キャラクタ、PI 撮像情報、
CA キャラクタ領域画像、CV キャラクタ領域ボリューム、CP キャラクタ点群、
PM ポリゴンメッシュ情報、TM 三角形メッシュ、SD 面情報、SS 面集合、
TS テクスチャ空間、TG テクスチャ画像、CO キャラクタオブジェクト、B 骨、J 関節、SM スケルトンモデル、BM 基礎モデル、
70 処理部、86 撮像制御部、88 表面情報取得部、90 形状情報生成部、
92 評価値演算部、94 結合処理部、96 面情報処理部、98 テクスチャ処理部、100 モデル処理部、102 比較部、104 補正部、
110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、150 撮像部、160 操作部、
170 記憶部、190 表示部

【特許請求の範囲】
【請求項1】
画像生成プログラムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部としてコンピュータを機能させ、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とするプログラム。
【請求項2】
請求項1において、
前記結合処理部が、
前記評価値に基づいて、前記ポリゴンメッシュにおいて周囲の頂点との距離が短い頂点から優先的に頂点を結合する処理を行うことを特徴とするプログラム。
【請求項3】
請求項1、2のいずれかにおいて、
前記結合処理部が、
前記関連付けられた面の集合数が、前記ポリゴンメッシュの形状情報に応じた集合数となるまで、前記ポリゴンメッシュの頂点を結合する処理を行うことを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
立体物の表面情報を取得する表面情報取得部と、
前記表面情報に基づいてポリゴンメッシュを生成するポリゴンメッシュ生成部としてコンピュータを更に機能させ、
前記テクスチャ処理部が、
前記生成されたポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とするプログラム。
【請求項5】
請求項4において、
前記テクスチャ処理部が、
前記表面情報に基づいて、前記テクスチャ空間に配置された各面の集合に応じた色分布をテクスチャ座標に割り当ててテクスチャを生成することを特徴とするプログラム。
【請求項6】
請求項5において、
前記テクスチャ処理部が、
前記生成されたテクスチャの解像度を低下させて元のテクスチャのぼかし用画像を生成し、前記元のテクスチャ画像と前記ぼかし用画像とに基づいてαブレンディングを行って、元のテクスチャの前記各面の集合に対応する部分以外にぼかし処理を行うことを特徴とするプログラム。
【請求項7】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜6のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項8】
画像生成システムであって、
所与のポリゴンメッシュの頂点にテクスチャ座標を割り当てるテクスチャ処理部と、
前記ポリゴンメッシュを構成する各頂点及び各辺の少なくとも一方について評価値を演算する評価値演算部と、
所与の条件が満たされるまで、前記評価値に基づいて前記ポリゴンメッシュの頂点を結合する処理を行う結合処理部と、
前記頂点を結合すると除去される前記ポリゴンメッシュの面の面情報と、該除去される面に隣接する面の面情報と、を関連付ける処理を行う面情報処理部と、
を含み、
前記テクスチャ処理部が、
前記関連付けられた面の集合ごとに前記ポリゴンメッシュの各面をテクスチャ空間に配置し、前記ポリゴンメッシュの頂点にテクスチャ座標を割り当てることを特徴とする画像生成システム。

【図1】
image rotate

【図3】
image rotate

【図5】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図2】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2008−33522(P2008−33522A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−204704(P2006−204704)
【出願日】平成18年7月27日(2006.7.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】