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