(57)【特許請求の範囲】
【請求項１】
３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理をコンピュータに実現させるための情報処理プログラムであって、
前記コンピュータに、
アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得機能と、
取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理機能と、
前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得機能と、
フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理機能と、
前記ＳＳＤＲ処理機能で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定機能と、
前記ＲＢＦ処理機能で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定機能と
を実現させる情報処理プログラム。
【請求項２】
前記入力データ取得機能は、前記アニメーションデータに対してボーンが設定されている場合には、設定された当該ボーンの数を前記ボーン数情報として取得する
請求項１記載の情報処理プログラム。
【請求項３】
前記アニメーションデータは、必要なメッシュ情報及びメッシュの頂点情報を予め用意した複数のモデルをブレンドして生成したものである
請求項１又は２に記載の情報処理プログラム。
【請求項４】
３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理を行うための情報処理装置であって、
アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得部と、
取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理部と、
前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得部と、
フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理部と、
前記ＳＳＤＲ処理部で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定部と、
前記ＲＢＦ処理部で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定部と
を備える情報処理装置。
【請求項５】
３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理をコンピュータによって実現する情報処理方法であって、
アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得手順と、
取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理手順と、
前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得手順と、
フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理手順と、
前記ＳＳＤＲ処理手順で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定手順と、
前記ＲＢＦ処理手順で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定手順と
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の動きとなるように３次元ＣＧモデルをコントロールして任意に変化させるための技術に関するものである。
【背景技術】
【０００２】
ビデオゲームやアニメーションにおける３次元ＣＧモデルの表現方法として様々な手法が提案されている。例えば、ジオメトリキャッシュは、各フレームにおける全ての３次元モデルの頂点の座標情報を記憶させる手法である。このジオメトリキャッシュは、フレーム間の相関を演算する必要性がないため処理が高速であるというメリットがある。その反面、データ量が膨大になることと、ユーザ操作に基づいて任意にモデルを変化させることはできないというデメリットがある。
【０００３】
これに対して、ブレンドシェイプは、必要なモデルのメッシュ情報及びメッシュの頂点情報を予め用意した複数のモデル（以下、ポーズともいう）をブレンドによって表現する手法である。ブレンドシェイプは、例えば、顔の高忠実度の動きを実現する方法として用いられており、スケルトンのジョイント箇所に対する単純な操作では簡単に達成できないしわやメッシュの動きをもたらすことが知られている。ブレンドシェイプは、主に、移動中のゲームのキャラクタの顔にディテールを与え、ある位置から別の位置にブレンドするために使用されている。
【０００４】
このブレンドシェイプは、２つのポーズをブレンドすることで中間の状態のモデルを表現することが可能となるため、ジオメトリキャッシュに比較してデータ容量を抑制でき、ユーザ操作に応じてモデルを変化させることが可能であるというメリットがある。
【０００５】
ブレンドシェイプに関しては、例えば、非特許文献１において説明がなされている。
【０００６】
また、頂点座標情報によって表現された３次元ＣＧモデルを用いたアニメーションデータを骨変換情報（Ｂ）と骨頂点ウェイト情報（Ｗ）を用いたモデルで近似する技術としては、例えば、非特許文献２が挙げられる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「MAYA Deformer 顔のアニメーションを付けるのに便利なBlend shapeの使い方」，サイト名「MODELING HAPPY」，URL：https://modelinghappy.com/archives/775
【非特許文献２】「Smooth Skinning Decomposition with Rigid Bones」，Binh Huy Le，Zhigang Dengy，University of Houston，URL：http://graphics.cs.uh.edu/ble/papers/2012sa-ssdr/2012_SA_SSDR_preprint.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ブレンドシェイプは、ユーザ操作に応じてモデルを変化させ得る手法であるが、その反面、モデルに様々な変化をさせようと思うと、予め用意する必要のあるポーズの数が膨大となり、メモリの使用量を圧迫するというデメリットがある。そのため、メモリを圧迫することなくユーザ操作に基づいて任意にモデルを変化させることができ、かつ、その変化に違和感のない３次元ＣＧモデルのコントロール手法が求められていた。
【０００９】
また、上記非特許文献２において開示されたSmooth Skinning Decomposition with Rigid Bones（以下、ＳＳＤＲという）の技術によれば、頂点座標情報によって表現された３次元ＣＧモデルを用いたアニメーションデータを骨変換情報（Ｂ）と骨頂点ウェイト情報（Ｗ）を用いたモデルで近似することが可能となる。しかし、ＳＳＤＲで近似できるのはアニメーションに含まれる動きに限定され、ＳＳＤＲ処理で得られた３次元ＣＧモデルにアニメーションに含まれない他の動きを実行させるとスキンが不自然に伸縮するなど、違和感が残るアニメーションとなってしまうおそれがあった。
【００１０】
本発明は、上記問題点に鑑みなされたものであり、メモリを圧迫することなくユーザ操作に基づいて任意にモデルを変化させることができ、かつ、その変化に違和感のない３次元ＣＧモデルのコントロールを可能にする情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
非限定的な観点によると、本発明の一実施形態に係る情報処理プログラムは、３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理をコンピュータに実現させるための情報処理プログラムであって、前記コンピュータに、アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得機能と、取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理機能と、前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得機能と、フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理機能と、前記ＳＳＤＲ処理機能で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定機能と、前記ＲＢＦ処理機能で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定機能とを実現させることを特徴とする。
【００１２】
非限定的な観点によると、本発明の一実施形態に係る情報処理装置は、３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理を行うための情報処理装置であって、アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得部と、取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理部と、前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得部と、フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理部と、前記ＳＳＤＲ処理部で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定部と、前記ＲＢＦ処理部で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定部とを備えることを特徴とする。
【００１３】
非限定的な観点によると、本発明の一実施形態に係る情報処理方法は、３次元ＣＧモデルによるアニメーションを近似するようにボーンの変位を求めると共に前記３次元ＣＧモデルのメッシュの各頂点のスキンウェイトを求めるスキニング分解を実行して、結果を前記３次元ＣＧモデルをコントロールするためのコントローラに関連付ける処理をコンピュータによって実現する情報処理方法であって、アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する入力データ取得手順と、取得した前記アニメーションデータ及び前記ボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、前記アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成するＳＳＤＲ処理手順と、前記３次元ＣＧモデルに設定されたコントローラの情報を取得するコントローラ情報取得手順と、フレーム毎に生成された前記骨変換情報及び前記骨頂点ウェイト情報に基づいて、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間するＲＢＦ処理手順と、前記ＳＳＤＲ処理手順で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第１設定手順と、前記ＲＢＦ処理手順で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を前記３次元ＣＧモデルのコントローラに関連付ける第２設定手順とを含むことを特徴とする。
【発明の効果】
【００１４】
本願の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における情報処理装置の構成の例を示すブロック図である。
【図２】本発明の実施形態における情報処理の例を示すフローチャートである。
【図３】本発明の実施形態におけるＳＳＤＲ処理の概要について説明するための説明図である。
【図４】本発明の実施形態におけるＲＢＦ処理の概要を説明するための説明図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【００１７】
［実施形態］
図１は、本発明の実施形態における情報処理装置１０の構成の例を示すブロック図である。図１に示すように、情報処理装置１０は、入力データ取得部１１と、ＳＳＤＲ処理部１２と、コントローラ情報取得部１３、ＲＢＦ処理部１４と、第１設定部１５と、第２設定部１６と、記憶部１７とを少なくとも備える。
【００１８】
入力データ取得部１１は、アニメーションを構成する各フレームにおいて３次元ＣＧモデルの各頂点の頂点座標情報を少なくとも含むアニメーションデータと、前記アニメーションデータを近似表現するために用いるボーンの数の指定であるボーン数情報とを少なくとも取得する機能を有する。本実施形態において対象とするアニメーションデータは、少なくとも３次元ＣＧモデルを構成する各頂点の頂点座標情報をそれぞれのフレームにおいて指定することによって、連続再生した場合に３次元ＣＧモデルが動作するように構成されたものである。少なくとも頂点座標情報を備えていることが条件であるだけであり、頂点座標情報以外の情報をさらに備えたアニメーションデータであってもよい。また、ボーン数情報は、頂点座標情報によって動作が決定される３次元ＣＧモデルからなるアニメーションから、複数の骨格（ボーン）の動きを表す骨変換情報と、ボーンの動きがスキンに与える影響を表す骨頂点ウェイト情報とを生成する後述のＳＳＤＲ処理において、何本のボーン数によって３次元ＣＧモデルの骨格を形成してアニメーションを近似するかを指定するための情報である。ボーン数が多ければ高精度に元のアニメーションを近似できる反面データ量は大きくなり、ボーン数が少なければ元のアニメーションの近似精度は低下するがデータ量を小さくすることができる。すなわち、利用者が近似精度とデータ容量削減の何れを優先するかによってボーン数を指定することになる。
【００１９】
ＳＳＤＲ処理部１２は、取得したアニメーションデータ及びボーン数情報に基づいて、ＳＳＤＲ処理を実行することにより、アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成する機能を有する。ＳＳＤＲ処理部１２において実行するＳＳＤＲ処理は、上記の非特許文献２において公知となったSmooth Skinning Decomposition with Rigid Bones（リジッドボーンによるスムーズスキニング分解。以下、ＳＳＤＲという。）の技術を採用する。この非特許文献２に記載のＳＳＤＲ処理は、一連のポーズ例から線形ブレンドスキニング（ＬＢＳ）を抽出する自動アルゴリズムであり、このＳＳＤＲ処理部１２においても、非特許文献２に開示されたアルゴリズムと同様に、次の手順によって処理が実行される。すなわち、ＳＳＤＲ処理部１２においては、（１）３次元ＣＧモデルの頂点座標情報Ｖ、レストポーズの頂点座標情報Ｐ及びボーン数を入力データとして取得、（２）骨変換情報Ｂを初期化、（３）骨頂点ウェイト情報Ｗを更新、（４）骨変換情報Ｂを更新、（５）収束するか若しくは最大反復回数に到達するまで３及び４の更新処理を反復、（６）レストポーズの頂点座標情報Ｐを修正、（７）最終的に得られた骨変換情報Ｂ、骨頂点ウェイト情報Ｗ、及び、レストポーズの頂点座標情報Ｐを出力データとして取得、というアルゴリズムが実行される。結果として、ＳＳＤＲ処理部１２は、３次元ＣＧモデルの各頂点の頂点座標情報を有したアニメーションデータから、少なくとも骨変換情報Ｂ及び骨頂点ウェイト情報Ｗを取得する。
【００２０】
コントローラ情報取得部１３は、３次元ＣＧモデルに設定されたコントローラの情報を取得する機能を有する。ここで、コントローラとは、３次元ＣＧモデルに設定したスケルトンなどを製作者が直感的に操作できるようにするための仕組み、インタフェースのことをいう。なお、コントローラは、リグと呼ばれる場合もある。一般的には、３次元ＣＧモデルにスケルトン等を設定するリギング作業の最終段階においてコントローラを設定する作業が行われることが多い。このコントローラ情報取得部１３では、３次元ＣＧモデルに予め設定されたコントローラ、若しくは、ＳＳＤＲ処理後のボーンで構成されたスケルトンに対して製作者が設定するコントローラの情報を取得する。なお、取得する段階においては、ボーンの変位やスキンウェイトとの関連付けが行われていない状態のコントローラを取得する構成とする。
【００２１】
ＲＢＦ処理部１４は、フレーム毎に生成された骨変換情報及び骨頂点ウェイト情報に基づいて、放射基底関数（Radial basis function：ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間する機能を有する。ここで、放射基底関数とは、原点からの距離に応じて値が決定される基底関数である。ＳＳＤＲ処理後の２つのフレームで特定された異なる２つの３次元ＣＧモデルのポーズが存在し、その２つのポーズの間のポーズ状態はアニメーションにおいて特定されていない状況において、２つのポーズの間のポーズを滑らかに補間するためにＲＢＦソルバーを用いる。すなわち、ＲＢＦソルバーを用いることで、補間するポーズが２つの既知のポーズのそれぞれからの距離に応じた影響を受けたポーズ状態となるように補間データを生成する。なお、補完データは、補間するポーズのボーンの位置関係情報及び骨頂点ウェイト情報として生成されるものであってもよいし、既にボーンの位置関係情報及び骨頂点ウェイト情報がコントローラに関連付けられている場合にはボーンのジョイント箇所の位置関係情報を補完データとして生成するものであってもよい。以下においては、一例として、補完するポーズにおけるボーンの位置関係情報及び骨頂点ウェイト情報を補完データとして生成する場合について説明を行う。
【００２２】
第１設定部１５は、ＳＳＤＲ処理で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を３次元ＣＧモデルのコントローラに関連付ける機能を有する。この第１設定部１５におけるコントローラへの関連付け処理は、ＳＳＤＲ処理後であればいつでも実行可能であるが、例えば、ＲＢＦ処理部１４におけるＲＢＦ処理の以前に実行するようにしてもよい。
【００２３】
第２設定部１６は、ＲＢＦ処理で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を３次元ＣＧモデルのコントローラに関連付ける機能を有する。この第２設定部１６におけるコントローラへの関連付け処理を行うことで、ＲＢＦ処理によって補間したポーズ状態を用いて元のアニメーションデータが有しないポーズ状態についてもコントローラに対する操作によって表現することが可能となる。
【００２４】
記憶部１７は、情報処理装置１０において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶させる機能を有する。
【００２５】
次に、本例の情報処理装置１０において行われる情報処理の流れについて説明を行う。図２は、本発明の実施形態における情報処理の例を示すフローチャートである。この図２に示すように、情報処理は、先ず、情報処理装置１０が入力データを取得することによって開始される（ステップＳ１０１）。入力データは、少なくとも、次元ＣＧモデルの各頂点の頂点座標情報を有したアニメーションデータと、近似処理に用いるボーン数情報とを含むものとする。次に、情報処理装置１０は、ＳＳＤＲ処理を実行することで、３次元ＣＧモデルの各頂点の頂点座標情報を有したアニメーションデータから、少なくとも骨変換情報Ｂ及び骨頂点ウェイト情報Ｗを取得する。（ステップＳ１０２）。次に、情報処理装置１０は、コントローラの情報を取得する（ステップＳ１０３）。次に、情報処理装置１０は、ＲＢＦ処理を実行することにより、元のアニメーションデータが有しない３次元ＣＧモデルのポーズ状態について補間データを生成する（ステップＳ１０４）。次に、情報処理装置１０は、ＳＳＤＲ処理で得られた各フレームにおけるボーンの骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報を３次元ＣＧモデルのコントローラに関連付ける第１設定処理を実行する（ステップＳ１０５）。最後に、情報処理装置１０は、ＲＢＦ処理で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報を３次元ＣＧモデルのコントローラに関連付ける第２設定処理を実行して（ステップＳ１０６）、情報処理を終了する。
【００２６】
図３は、本発明の実施形態におけるＳＳＤＲ処理の概要について説明するための説明図である。この図３に示すように、ＳＳＤＲ処理において入力データとして用いるのは、多角形の集合で構成されたいわゆるポリゴンなどの３次元ＣＧモデルの各頂点の頂点座標情報で表現されたアニメーションデータと、近似表現に用いるボーン数情報である。ＳＳＤＲ処理を実行することで、３次元ＣＧモデルの各頂点の頂点座標情報しか有しなかったアニメーションデータをボーンの変位で表現するための骨変換情報Ｂと、スキンに与える影響を表す骨頂点ウェイト情報Ｗが生成される。
【００２７】
図４は、本発明の実施形態におけるＲＢＦ処理の概要を説明するための説明図である。ここで、図４（ａ）〜（ｃ）に示す３つのポーズのうち、元のアニメーションデータにおいて、（ａ）のポーズ状態から（ｂ）のポーズ状態に変化する箇所と、（ｂ）のポーズ状態から（ｃ）のポーズ状態に変化する箇所は含まれているとする。このようなアニメーションデータに対してＳＳＤＲ処理を実行すると、（ａ）から（ｂ）への変化及び（ｂ）から（ｃ）への変化については、ＳＳＤＲ処理で得られた骨変換情報Ｂ及び骨頂点ウェイト情報Ｗをコントローラに関連付ければ、元のアニメーションデータと同じ変化をコントローラによって再現することができる。しかし、元のアニメーションデータが有しない（ａ）のポーズ状態から（ｃ）のポーズ状態に変化する動きをコントローラによって実行しようとすると、スキンの変化に違和感が生じるなど、好ましくない状態となってしまうおそれがある。これを解消するために、ＲＢＦ処理を実行することで、（ａ）のポーズ状態から（ｃ）のポーズ状態に変化させる際の補間データを、（ａ）からの距離と（ｃ）からの距離に応じて何れのポーズ状態のデータの影響を強くするかが反映されるようにして決定することが可能となるため、元のアニメーションデータが有しない移動軌跡についても違和感なくコントローラによって実行させることが可能となる。
【００２８】
以上に説明したように、上記の実施形態の一側面として、情報処理装置１０が、入力データ取得部１１と、ＳＳＤＲ処理部１２と、コントローラ情報取得部１３、ＲＢＦ処理部１４と、第１設定部１５と、第２設定部１６と、記憶部１７とを備える構成とし、頂点座標情報を備えるアニメーションデータとボーン数情報とを取得し、ＳＳＤＲ処理を実行することにより、アニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と、骨頂点が３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成し、３次元ＣＧモデルに設定されたコントローラの情報を取得し、放射基底関数（ＲＢＦ）ソルバーにより、２以上のフレームにおけるボーンの位置関係情報及び骨頂点ウェイト情報から何れのフレームも保持しないその間を移動する場合のボーンの位置関係情報及び骨頂点ウェイト情報を補間し、ＳＳＤＲ処理で得られた骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報をコントローラに関連付け、ＲＢＦ処理で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報をコントローラに関連付けるようにしたので、メモリを圧迫することなくユーザ操作に基づいて任意に変化させることが可能なモデルを取得することができ、かつ、元のアニメーションデータが有しない移動軌跡についても変化に違和感のない３次元ＣＧモデルのコントロールが可能となる。
【００２９】
すなわち、頂点座標情報で３次元ＣＧモデルを表現したアニメーションデータについて、ＳＳＤＲ処理を実行することで元のアニメーションデータが有するボーンの位置関係情報及び骨頂点ウェイト情報を取得し、さらにＲＢＦ処理を実行することで元のアニメーションデータが有しない移動軌跡に対しても滑らかで違和感のない変化を実現することが可能となる。
【００３０】
なお、上述した実施形態においては、入力データとして、アニメーションデータの近似に用いるボーン数情報を指定する構成として説明を行ったが、元のアニメーションデータが頂点座標情報の他にスケルトンも保持していて、そのスケルトンに使用されているボーン数情報が取得可能である場合には、これを取得して入力データの１つのボーン数情報として利用するようにしてもよい。これにより、元のアニメーションデータに近いボーンの設定がなされることが期待できる。
【００３１】
また、上述した実施形態においては言及していないが、入力データとしてのアニメーションデータは、ブレンドシェイプによって生成されたアニメーションデータであってもよい。すなわち、アニメーション生成過程において、最初はブレンドシェイプによって様々なアニメーションを生成し、生成したアニメーションを更に任意に変化させたいような場合には、本発明を適用するようにすることで、最終的にはブレンドシェイプのための複数のポーズを保持する必要がなくなるため、データ量を大幅に削減することが可能となり、メモリを圧迫することもなくなるという効果が得られる。
【００３２】
以上に説明したように、本願の実施形態により１または２以上の不足が解決される。なお、実施形態による効果は、非限定的な効果または効果の一例である。
【００３３】
なお、上述した実施形態では、情報処理装置１０は、自己が備える記憶装置に記憶されている各種制御プログラムに従って、上述した各種の処理を実行する。
【符号の説明】
【００３４】
１０              情報処理装置
１１              入力データ取得部
１２              ＳＳＤＲ処理部
１３              コントローラ情報取得部
１４              ＲＢＦ処理部
１５              第１設定部
１６              第２設定部
１７              記憶部
【要約】
【課題】ユーザ操作に基づいて任意にモデルを変化させることができ、その変化に違和感のない３次元ＣＧモデルのコントロールを可能にすること。
【解決手段】頂点座標情報を備えるアニメーションデータとボーン数情報とを取得し、ＳＳＤＲ処理を実行することによりアニメーションデータの各フレームにおけるボーンの変位を表す骨変換情報と３次元ＣＧモデルのスキンに与える影響を表す骨頂点ウェイト情報とを生成し、３次元ＣＧモデルに設定されたコントローラの情報を取得し、ＲＢＦソルバーにより２以上のフレームにおける骨頂点の位置から何れのフレームも保持しないその間を移動する場合の当該骨頂点の位置情報を補間し、ＳＳＤＲ処理で得られた骨変換情報から求められるボーンの位置関係情報及び骨頂点ウェイト情報をコントローラに関連付け、ＲＢＦ処理で得られた補間されたボーンの位置関係情報及び骨頂点ウェイト情報をコントローラに関連付ける。
【選択図】図１【図１】
0006933758.tif 000002
【図２】
0006933758.tif 000003
【図３】
0006933758.tif 000004
【図４】
0006933758.tif 000005