(57)【特許請求の範囲】
【請求項１】
オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段、
前記各要素の配置を修正する配置修正手段であって、それぞれが前記複数の要素のうち少なくとも一部の配置を修正する複数の部分修正手段と、前記オブジェクトの状態および前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データに基づいて前記オブジェクトの状態に関連付けられた複数の部分修正手段が前記各要素の配置を修正するよう制御する制御手段と、を含む配置修正手段、および、
前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段、
としてコンピュータを機能させるためのプログラム。
【請求項２】
前記オブジェクトと他のオブジェクトとの位置関係に基づいて、それぞれ前記複数の部分修正手段のうちいずれかに対応する複数のパラメータのうち少なくとも１つを取得するパラメータ取得手段、としてさらにコンピュータを機能させ、
前記各部分修正手段は、当該部分修正手段に対応する取得された前記パラメータに基づいて前記複数の要素のうち少なくとも一部を修正する、
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記パラメータ取得手段は、前記制御手段が配置を修正させる部分修正手段に応じてパラメータを取得する、
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記パラメータ取得手段は、処理対象フレームが変化するごとにパラメータを取得する、
ことを特徴とする請求項２に記載のプログラム。
【請求項５】
オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段と、
制御手段および複数の部分修正手段を含み前記各要素の配置を修正する配置修正手段と、
前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データを記憶する記憶手段と、
前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段と、
を含み、
前記部分修正手段のそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、
前記制御手段は、前記制御データと前記オブジェクトの状態に基づいて前記オブジェクトの状態に関連付けられた複数の部分修正手段が前記各要素の配置を修正するよう制御する、
ことを特徴とする画像生成装置。
【請求項６】
オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得ステップと、
制御ステップおよび複数の部分修正ステップを含み前記各要素の配置を修正する配置修正ステップと、
前記配置修正ステップにより修正された前記各要素の配置に基づいて画像を描画する画像描画ステップと、
を含み、
前記部分修正ステップのそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、
前記制御ステップは、前記オブジェクトの状態および前記オブジェクトの状態と前記複数の部分修正ステップのうち複数とを関連づける制御データに基づいて前記オブジェクトの状態に関連付けられた複数の部分修正ステップにおいて前記各要素の配置を修正するよう制御する、
ことを特徴とする画像生成方法。
【請求項７】
オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段、
前記各要素の配置を修正する配置修正手段であって、それぞれが前記複数の要素のうち少なくとも一部の配置を修正する複数の部分修正手段と、前記オブジェクトの状態および前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データに基づいて前記オブジェクトの状態に関連付けられた複数の部分修正手段が前記各要素の配置を修正するよう制御する制御手段と、を含む配置修正手段、および、
前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段、
としてコンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像生成装置、画像生成方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
ユーザの入力に応じて物体の動きを表現する３次元画像をリアルタイムに生成する技術がある。画像を生成する際には、ユーザの入力などにより定まる物体（オブジェクト）の状態に応じて、予め定められたオブジェクトの動作を再生することや、オブジェクトの動作をプログラムで生成することが行われていた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
予め定められた動きを再生したり、単にプログラムで動きを生成するだけでは、予め定められたシチュエーションに対する画像しか生成できず、状態の変化に応じてオブジェクトの動作を柔軟に表現することが難しかった。
【０００４】
本発明は上記課題を鑑みてなされたものであって、その目的は、オブジェクトの状態の変化に応じて柔軟にそのオブジェクトの動作を表現することのできる技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明にかかるプログラムは、オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段、制御手段および複数の部分修正手段を含み前記各要素の配置を修正する配置修正手段、および前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段、としてコンピュータを機能させる。前記複数の部分修正手段のそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、前記制御手段は、前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データと前記オブジェクトの状態とに基づいて前記複数の部分修正手段のうち一部が前記各要素の配置を修正するよう制御する。
【０００６】
また、本発明にかかる画像生成装置は、オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段と、制御手段および複数の部分修正手段を含み前記各要素の配置を修正する配置修正手段と、前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データを記憶する記憶手段と、前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段と、を含み、前記部分修正手段のそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、前記制御手段は、前記制御データと前記オブジェクトの状態に基づいて前記複数の部分修正手段のうち一部が前記各要素の配置を修正するよう制御する、ことを特徴とする。
【０００７】
また、本発明にかかる画像生成方法は、オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得ステップと、制御ステップおよび複数の部分修正ステップを含み前記各要素の配置を修正する配置修正ステップと、前記配置修正ステップにより修正された前記各要素の配置に基づいて画像を描画する画像描画ステップと、を含み、前記部分修正ステップのそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、前記制御ステップは、前記オブジェクトの状態と前記複数の部分修正ステップのうち複数とを関連づける制御データと前記オブジェクトの状態に基づいて前記複数の部分修正ステップのうち一部において前記各要素の配置を修正するよう制御する、ことを特徴とする。
【０００８】
また、本発明にかかるコンピュータ読み取り可能な記憶媒体は、オブジェクトを構成する各要素の配置であって、処理対象フレームに対する配置を取得する配置取得手段、制御手段および複数の部分修正手段を含み前記各要素の配置を修正する配置修正手段、および、前記配置修正手段により修正された前記各要素の配置に基づいて画像を描画する画像描画手段、としてコンピュータを機能させるプログラムを記憶する。前記部分修正手段のそれぞれは、前記複数の要素のうち少なくとも一部の配置を修正し、前記制御手段は、前記オブジェクトの状態と前記複数の部分修正手段のうち複数とを関連づける制御データと前記オブジェクトの状態とに基づいて前記複数の部分修正手段のうち一部が前記各要素の配置を修正するよう制御する。
【０００９】
本発明によれば、オブジェクトの状態の変化に応じて柔軟にそのオブジェクトの動作を表現することができる。
【００１０】
本発明の一態様では、プログラムは、前記オブジェクトと他のオブジェクトとの位置関係に基づいて、それぞれ前記複数の部分修正手段のうちいずれかに対応する複数のパラメータのうち少なくとも１つを取得するパラメータ取得手段、としてさらにコンピュータを機能させ、前記各部分修正手段は、当該部分修正手段に対応する取得された前記パラメータに基づいて前記複数の要素のうち少なくとも一部を修正してもよい。
【００１１】
本発明の一態様では、前記パラメータ取得手段は、前記制御手段が配置を修正させる部分修正手段に応じたパラメータを取得してもよい。
【００１２】
本発明の一態様では、前記パラメータ取得手段は、処理対象フレームが変化するごとにパラメータを取得してもよい。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態にかかる画像生成装置の構成の一例を示す図である。
【図２】本発明の実施形態にかかる画像生成装置の機能ブロックを示す図である。
【図３】あるオブジェクトに含まれる各スケルトンの配置の一例を示す図である。
【図４】本発明の実施形態にかかる画像生成装置の処理フローの一例を示す図である。
【図５】配置修正部の処理フローの一例を示す図である。
【図６】制御データの一例を示す図である。
【図７】１つの部分修正部の処理フローの一例を示す図である。
【図８】修正された各スケルトンの配置の一例を示す図である。
【図９】修正された各スケルトンの配置の他の一例を示す図である。
【図１０】動作データおよび部分修正部を生成する編集装置の機能ブロックを示す図である。
【発明を実施するための形態】
【００１４】
以下では、本発明の実施形態について図面に基づいて説明する。図１は本発明の実施形態に係る画像生成装置１の構成を示す図である。画像生成装置１は、中央制御部１１と、記憶部１２と、演算部１３と、入出力部１４とを含んでいる。画像生成装置１は、例えばパーソナルコンピュータや家庭用ゲーム機のように３次元画像を生成する機能を有する機器である。
【００１５】
中央制御部１１は、記憶部１２に格納されているプログラムに従って動作し、演算部１３や入出力部１４を制御する。なお、上記プログラムは、ＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な情報記憶媒体に格納されて提供されるものであってもよいし、インターネット等のネットワークを介して提供されるものであってもよい。
【００１６】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子およびハードディスクドライブ等によって構成されている。記憶部１２は、上記プログラムを格納する。また、記憶部１２は、各部から入力される情報や演算結果を格納する。
【００１７】
演算部１３は、浮動小数点計算などの数値演算を高速に行う機能を有する。演算部１３は、記憶部１２に格納されるプログラムに従って動作し、その計算結果を記憶部１２や入出力部１４に出力する。なお、計算処理の各部分を中央制御部１１および演算部１３のいずれに行わせるかは、プログラムを作成する際に、当該部分の処理の特性に応じて任意に決定すればよい。
【００１８】
入出力部１４は、モニタ等の表示出力デバイスを制御する手段や、マウス等の入力デバイスを制御する手段などによって構成されている。入出力部１４は、中央制御部１１の制御に基づいて、画像データ等を表示出力デバイスに対して出力し、入力デバイスより操作者（ユーザ）からの情報を取得する。
【００１９】
図２は、本発明の実施形態にかかる画像生成装置１の機能ブロックを示す図である。画像生成装置１は機能的に、動作状態取得部２１と、動作データ取得部２２と、動作データ記憶部２３と、物体位置調整部２４と、パラメータ取得部２５と、配置修正部２６と、制御データ記憶部２７と、物理計算部２８と、画像描画部２９と、を含む。また、配置修正部２６は機能的に、起動制御部３０と、部分修正部３１と、を含む。これらの機能は、中央制御部１１や演算部１３が記憶部１２に格納されたプログラムを実行し、入出力部１４を制御することによって実現される。
【００２０】
動作データ記憶部２３は、記憶部１２を中心として実現される。動作データ記憶部２３は、描画対象となる物体（オブジェクト４０）についての動作データを動作の種類ごとに記憶する。図３は、あるオブジェクト４０に含まれる各スケルトン４１の配置の一例を示す図である。オブジェクト４０は複数のスケルトン４１と、そのオブジェクト４０の表面を示す複数の皮膚メッシュ４２と、図示しない複数のラグドールとを含む。スケルトン４１やラグドール等は、オブジェクト４０を構成する要素の一種である。皮膚メッシュ４２のそれぞれが複数の頂点を有するポリゴンであり、皮膚メッシュ４２はオブジェクト４０の表面を囲むように配置されている。スケルトン４１は画像を生成する対象となるオブジェクト４０の骨格に相当し、それぞれのスケルトン４１は他のスケルトン４１と接続される関係を有する。また、皮膚メッシュ４２の頂点の座標はスケルトン４１の配置に応じて定まる。つまり、スケルトン４１の配置によりオブジェクト４０の表面の形状が定まる。ラグドールは物理シミュレーションの対象となる剛体である。ラグドールとスケルトン４１とは１対１に対応している。
【００２１】
動作データは、対応する動作の種類における描画対象となるオブジェクト４０の動作を示すデータである。具体的にはオブジェクト４０の動作を示すデータは、オブジェクト４０を構成するスケルトン４１の配置（位置や向き、大きさ）の情報がフレームごとに記憶されたものである。フレームは、動作を行う期間が複数に分割されたもののそれぞれのことであり、隣り合うフレームの時間間隔は一定であってもよいし、処理負荷等を考慮して可変であってもよい。このスケルトン４１の配置は基準となる配置を示すものであり、後述の処理により修正された配置に基づいて画像が生成される。図３は動作の種類が「立つ」でありかつあるフレームにおける各スケルトン４１の配置を示している。
【００２２】
図４は、本発明の実施形態にかかる画像生成装置１の処理フローの一例を示す図である。以下ではこの処理フローに従い画像生成装置１が有する機能を説明する。なお、この処理フローはあるフレーム（処理対象となるフレーム）における処理を示しており、フレームが変化するごとに処理を繰り返す。
【００２３】
動作状態取得部２１は、中央制御部１１、記憶部１２および入出力部１４を中心として構成される。動作状態取得部２１は、処理対象となるフレームにおける描画対象のオブジェクト４０（以下、他のオブジェクトと区別が必要な際には「自オブジェクト」とも記す）の状態の一種である動作の種類を、ユーザが入出力部１４を介して入力した情報や、他のオブジェクト４０との位置関係等に基づいて、取得する（ステップＳ１０１）。ここで、自オブジェクトの動作の種類は、「歩く」、「立つ」、「座る」などがある。他のオブジェクト４０との位置関係の例としては、直前のフレームにおいて最も近い他の動物や人間などのオブジェクト４０が一定の範囲内にあるかや、壁などのオブジェクト４０と衝突しているか、などがある。
【００２４】
次に動作状態取得部２１は、動作にかかわる他のオブジェクト４０の情報を取得する（ステップＳ１０２）。例えば、自オブジェクトの動作の種類が「立つ」である場合には動作に関わる他のオブジェクト４０の情報は近くにあるエサのオブジェクト４０の位置の情報であってよいし、自オブジェクトの動作の種類が「歩く」である場合には動作に関わる他のオブジェクト４０の情報は目的地になるオブジェクト４０の情報であってよい。
【００２５】
動作データ取得部２２は、中央制御部１１および記憶部１２を中心として実現される。動作データ取得部２２は、動作データ記憶部２３から処理対象となるフレームにおける動作データを取得する（ステップＳ１０３）。より具体的には、動作データ取得部２２は処理対象となるフレームにおける各スケルトン４１の配置の情報を取得する。ここで取得するスケルトン４１の配置は、自オブジェクトが平面上に配置され、頭の向きがある方向に固定されているなど、基準となる特定の条件におけるスケルトン４１の配置である。以下では、自オブジェクトが配置される位置の地形や、床面上の障害物などの動作に関わるオブジェクト４０の情報に応じてスケルトン４１の配置を修正する処理について説明する。
【００２６】
物体位置調整部２４は、中央制御部１１、記憶部１２および演算部１３を中心として実現される。物体位置調整部２４は、オブジェクト４０の移動先となる位置を決定する（ステップＳ１０４）。例えば、目的地となるオブジェクト４０に向かって歩く場合の処理対象フレームにおける自オブジェクトの位置や、エサを立って食べる場合に頭が届くような自オブジェクトの位置を決定する。
【００２７】
パラメータ取得部２５は、中央制御部１１および記憶部１２を中心として実現される。パラメータ取得部２５は、処理対象フレームについて、複数のパラメータのうち少なくとも１つを取得する（ステップＳ１０５）。複数のパラメータのそれぞれは部分修正部３１のいずれかに対応しており、部分修正部３１に渡すべき情報である。パラメータ取得部２５は、例えば、動作状態取得部２１が取得したエサの位置の情報を、頭を近づけるべき位置のパラメータとして取得してもよい。またパラメータ取得部２５は物体位置調整部２４により定まる移動先の位置に基づいて自オブジェクトの足がつく位置を計算し、その計算結果をパラメータとして取得してもよい。足がつく位置を計算する際には、例えば移動先の自オブジェクトの下側に存在する石ころなどの障害物を避けるように計算する。ここで、この処理は毎フレーム行われており、パラメータ取得部２５は、処理対象フレームが変化するごとにパラメータを取得している。
【００２８】
配置修正部２６は、中央制御部１１、記憶部１２および演算部１３を中心として実現される。配置修正部２６は、オブジェクト４０を構成する各スケルトン４１の配置を修正する（Ｓ１０６）。以下では、配置修正部２６の処理について詳細に説明する。図５は、配置修正部２６の処理フローの一例を示す図である。
【００２９】
起動制御部３０は、中央制御部１１および記憶部１２を中心として実現される。起動制御部３０は制御データとオブジェクト４０の状態に基づいて、複数の部分修正部３１のうち一部が各スケルトン４１の配置を修正するよう制御する。また制御データ記憶部２７は、オブジェクト４０の状態と複数の部分修正部３１のうち複数とを関連づける制御データを記憶する。各部分修正部３１は中央制御部１１、記憶部１２および演算部１３を中心として実現され、部分修正部３１のぞれぞれは複数のスケルトン４１のうち少なくとも一部の配置を修正する。１つのオブジェクト４０を構成するスケルトン４１の配置を修正するため、複数の部分修正部３１が設けられている。
【００３０】
はじめに起動制御部３０は、制御データとオブジェクト４０の動作の種類とに基づいて、起動対象となる部分修正部３１を識別する情報を取得する（ステップＳ１２１）。図６は制御データの一例を示す図である。制御データは動作の種類と部分修正部３１との組合せを示しており、図６の表の各行は動作の種類に対応し、表の各列は部分修正部３１に対応する。図６は、動作の種類「歩く」は、「歩く姿勢修正」を実行する１番目の部分修正部３１と「足つき修正」を実行する２番目の部分修正部３１とに対応することを示し、動作の種類「立つ」は、「立つ姿勢修正」を実行する３番目の部分修正部３１と「頭の位置修正」を実行する５番目の部分修正部３１とに対応することを示し、動作の種類「座る」は、「座る姿勢修正」を実行する４番目の部分修正部３１と、５番目の部分修正部３１とに対応することを示す。
【００３１】
例えば、動作状態取得部２１が取得した動作の種類が「立つ」であれば、起動制御部３０は起動対象となる部分修正部３１を識別する情報として、「３番目」と「５番目」を取得する。ここで、制御データはある動作の種類について複数の部分修正部３１と関連づけており、かつ関連づけられる部分修正部３１は、全体の中の一部である。
【００３２】
次に、起動制御部３０は変数ｎに１を代入し（ステップＳ１２２）、ｎ番目の部分修正部３１が起動対象となる部分修正部３１であれば（ステップＳ１２３のＹ）、ｎ番目の部分修正部３１をその部分修正部３１に対するパラメータを用いて起動する（ステップＳ１２４）。もちろんそのパラメータはパラメータ取得部２５が取得したものである。ｎ番目の部分修正部３１が起動対象となる部分修正部３１でなければ（ステップＳ１２３のＮ）、ステップＳ１２４の処理をスキップする。次に起動制御部３０は変数ｎの値を１増やし（ステップＳ１２５）、全ての部分修正部３１についてステップＳ１２３の処理を行ったか確認する（ステップＳ１２６）。全ての部分修正部３１についてその処理を行っていれば（ステップＳ１２６のＹ）起動制御部３０の処理を終了し、全ての部分修正部３１についてその処理を行っていなければ（ステップＳ１２６のＮ）、ステップＳ１２３の処理から繰り返す。
【００３３】
ここで、起動制御部３０により起動される部分修正部３１の処理について説明する。図７は、１つの部分修正部３１の処理フローの一例を示す図である。起動制御部３０によりパラメータ付で起動された部分修正部３１は、まず動作データ取得部２２で取得され、これまでに物体位置調整部２４や他の部分修正部３１などが行った処理により修正された各スケルトン４１の配置の情報を取得する（ステップＳ１４１）。また、部分修正部３１は自身が起動される際のパラメータを取得する（ステップＳ１４２）。次に部分修正部３１は取得したパラメータが配置の修正を行うのに適切であるか確認し（ステップＳ１４３）、パラメータが適切であれば（ステップＳ１４３のＹ）、そのパラメータに基づいて少なくとも一部のスケルトン４１の配置を修正する（ステップＳ１４４）。パラメータが適切でなければ（ステップＳ１４３のＮ）、この部分修正部３１の処理を終了し、起動制御部３０に処理を戻す。このステップＳ１４３の処理により、頭を近づけるべきものが存在しないなどによりパラメータが設定されていないような場合に頭を近づかせるなどの不要な処理を行わないようにしている。
【００３４】
スケルトン４１の配置（位置や向き）の修正は、例えば以下の処理によって取得される。まず、部分修正部３１はスケルトン４１の配置を示すＦＫ（Forward Kinematics）のデータに対してＦＫ−ＩＫ変換を行い、ＩＫ（Inverse Kinematics）制御に用いる点（あるスケルトン４１の端に相当）の座標を生成する。次に、部分修正部３１はその座標をパラメータに応じて変更する。そして、部分修正部３１はその変更により定まる各スケルトン４１の配置をＩＫ−ＦＫ変換を行って取得する。これらの処理により各スケルトン４１の少なくとも一部の位置が修正される。
【００３５】
図８は、修正された各スケルトン４１の配置の一例を示す図である。図８は、図３に示すスケルトン４１の配置が修正された場合の例を示す。図８の×マークは、パラメータとして与えられた、頭を近づけるべき位置を示している。はじめに「立つ姿勢修正」を行う３番目の部分修正部３１は、パラメータとして頭を近づけるべき位置が与えられたと判定し、目的の位置とお尻に相当するスケルトン４１内の点の位置や肩に相当するスケルトン４１内の点の位置との距離を計算する。そして、その距離に応じてお尻に相当するスケルトン４１内の点の位置や肩に相当するスケルトン４１内の点の位置を変更し、それにあわせて背骨に対応するスケルトン４１や足に対応するスケルトン４１の配置を修正する。次に「頭の位置修正」を行う５番目の部分修正部３１は、肩の位置と頭を近づけるべき位置とに応じて頭や首に対応するスケルトン４１の位置を修正する。こうすることで、動作の種類などのオブジェクト４０の状態に応じて様々な修正方法を柔軟に組み合わせること、つまり柔軟に物体の動作を表現することができる。
【００３６】
図９は、修正された各スケルトン４１の配置の他の一例を示す図である。こちらは動作の種類が「歩く」であって、坂のある場所をオブジェクトが歩いている場合の例である。図９で破線で示されるスケルトン４１は、動作データ記憶部２３に記憶される修正前のスケルトン４１の配置を示し、実線で示されるスケルトン４１は、配置修正部２６により修正されたスケルトン４１を示す。図９の×マークはパラメータとして与えられる足つきをする位置を示す。こちらの例では、はじめに「歩く姿勢修正」を行う１番目の部分修正部３１は、パラメータとして与えられた足つきの位置から背骨に対応するスケルトン４１の配置（位置や向き）を計算し、次に足つき修正を行う２番目の部分修正部３１によって足に対応するスケルトン４１の位置が修正される。
【００３７】
物理計算部２８は、中央制御部１１、記憶部１２および演算部１３を中心として実現される。物理計算部２８は、配置修正部２６により修正された各スケルトン４１の配置に基づいて、それらのスケルトン４１に対応するラグドールの挙動を物理シミュレーション（物理計算）する（ステップＳ１０７）。ここで、物理計算の前の状態のラグドールの位置や向きは対応するスケルトン４１の位置や向きが反映されている。次に物理計算部２８は、計算されたラグドールの挙動に応じて対応するスケルトン４１の配置を決定する（ステップＳ１０８）。これらにより、スケルトン４１の配置が物理法則を満たすようにさらに修正される。
【００３８】
画像描画部２９は、中央制御部１１、記憶部１２および演算部１３を中心として実現される。画像描画部２９は物理計算部２８により修正された各スケルトン４１の配置に基づいて、オブジェクト４０の画像を描画する（ステップＳ１０９）。画像描画部２９はまず各スケルトン４１の配置に基づいて皮膚メッシュ４２の頂点座標を求め、求められた皮膚メッシュ４２を描画することでオブジェクト４０の画像を描画する。
【００３９】
なお、本発明の実施形態は上述のものに限定されない。例えば、物理計算部２８により修正された各スケルトン４１の配置を配置修正部２６と同様の機能を用いてさらに修正し、その修正された配置に基づいて画像描画部２９が画像を描画してもよい。こうすれば、物理計算の結果、重力等の影響で目的の位置に対して頭などのオブジェクト４０の特定の部分がずれるような場合にも、その特定の部分を目的の位置に合わせることが可能となる。また、パラメータ取得部２５は、部分修正部３１の動作状況に応じてパラメータを取得してもよい。例えば、ある部分修正部３１が複数のフレームにわたって振り向くような動作をさせる場合、その動作をしている間、目的値に関するパラメータの変更を抑止し、振り向いた後に移動するようなことを再現することが可能になる。
【００４０】
画像生成装置１は上述の処理により柔軟に物体の動作を表現する画像を生成する。ここで、部分修正部３１はオブジェクト４０および動作の種類ごとに設けられ、その数は膨大になる。以下に示すように、部分修正部３１の作成は、編集装置を用いて行うとよい。
【００４１】
図１０は、動作データおよび部分修正部３１を生成する編集装置の機能ブロックを示す図である。編集装置は、機能的に、編集部６１と、動作データ記憶部６２と、スクリプト記憶部６３と、実行形式変換部６４とを含む。編集装置も画像生成装置１と同様に中央制御部や記憶部等を含むコンピュータである。
【００４２】
編集部６１は、対話形式でスケルトン４１の配置の情報や、スケルトン４１の配置を修正するスクリプトを編集する。編集部６１は、具体的には３Ｄモデリングツールが提供する機能であってよい。編集部６１は、編集されたスケルトン４１の配置の情報を動作データ記憶部６２に出力し、またスクリプトをスクリプト記憶部６３に出力する。なお、編集部６１は画像そのものを生成するためのものであり、リアルタイム入力に応じて動作することは考慮されていない。具体的には、ユーザの入力に応じてオブジェクト４０の状態を判定することや、それらに応じてスクリプトを動的に組み合わせる機能はない。
【００４３】
実行形式変換部６４は、中央制御部や記憶部を中心として実現される。実行形式変換部６４は、編集部６１が出力したスクリプトを、画像生成装置１が実行できるプログラムに変換する。編集部６１により生成され、動作データ記憶部６２に記憶されたスケルトン４１の配置や皮膚メッシュ４２、ラグドールなどのデータと、実行形式変換部６４から出力された実行可能なプログラムは、画像生成装置１に提供される。これにより、３Ｄモデリングツール等により作り込まれたデータやスクリプトを、それをリアルタイム入力等に応じた画像を生成させる画像生成装置１に少ない手間で移設することが可能になり、画像を生成させるデータの準備を効率的に進めることが可能になる。
【符号の説明】
【００４４】
１  画像生成装置、１１  中央制御部、１２  記憶部、１３  演算部、１４  入出力部、２１  動作状態取得部、２２  動作データ取得部、２３  動作データ記憶部、２４  物体位置調整部、２５  パラメータ取得部、２６  配置修正部、２７  制御データ記憶部、２８  物理計算部、２９  画像描画部、３０  起動制御部、３１  部分修正部、４０  オブジェクト、４１  スケルトン、４２  皮膚メッシュ、６１  編集部、６２  動作データ記憶部、６３  スクリプト記憶部、６４  実行形式変換部。
【図１】
0005368517.tif 000002
【図２】
0005368517.tif 000003
【図３】
0005368517.tif 000004
【図４】
0005368517.tif 000005
【図５】
0005368517.tif 000006
【図６】
0005368517.tif 000007
【図７】
0005368517.tif 000008
【図８】
0005368517.tif 000009
【図９】
0005368517.tif 000010
【図１０】
0005368517.tif 000011