(57)【特許請求の範囲】
【請求項１】
人体、動物、仮想上の生命体を含む複雑な形状の立体物を模擬化したモデルのアニメーションを生成する３Ｄモデルアニメーション生成方法であって、前記モデルの形状を大まかに近似したモデル制御用の外殻を生成すると共に、前記外殻を構成する各頂点の３次元座標と前記モデルの形状表示要素である各頂点の３次元座標とを対応付けて記憶しておき、仮想３次元空間内の所定の視点位置から見たモデルにアニメーションを付ける際に、前記外殻の動作を制御すると共に、その動きに応じて前記モデルが動くように、前記外殻の動作に伴う前記外殻の３次元座標の変位を前記モデルの３次元座標に反映させて前記モデルのアニメーションを生成するようにし、前記外殻と前記モデルとの対応付けは、前記モデルを内包する前記外殻の頂点を原点、前記外殻の稜線に沿う座標軸ベクトルをＵ、Ｖ、Ｗとして、前記モデルのＵＶＷ座標系における頂点の３次元座標の近似値を最小二乗法により算出して対応付けるようになっていることを特徴とする外殻による３Ｄモデルアニメーション生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビゲームやコンピュータグラフィックス等の分野に適用でき、外殻を生成して、３Ｄモデルの座標を外殻の座標にリンクさせるアタッチという処理を行う３Ｄモデルアニメーション生成方法に関する。
【０００２】
【従来の技術】
従来では、テレビゲームやコンピュータグラフィックス等の分野において、人体等の３Ｄモデルに動きやポーズ等のアニメーションを付ける場合、図１４に示すように、スケルトン又はボーンと呼ばれる骨構造２が主に用いられてきた。方法としては、先ず、ポリゴンで構成される３次元モデル（以下、３Dモデルと言う）１の内部に多数の関節から成るスケルトン２を構築し（スケルトン２を設定してからモデル１に埋め込み）、次はそのスケルトン２を制御することにより、アニメーションを生成する。しかし、特定の３Ｄモデルに骨構造を構築すること並びに骨構造を持つ３Ｄモデルにアニメーションを付けることには、様々な制限が有る。実際に、人体等の３Ｄモデルにアニメーションを付けることは経験者でなければ極めて困難な作業である。
【０００３】
又、人体等の３Ｄモデルの関節や皮膚、筋肉等を、モデル内部に埋め込まれる骨構造により変形させる時には、変形を制御するための機構を作り込む必要がある。更に、外部の変形を自然にするため、事前に何等かの方法で変形の調整をしなければならない。
【０００４】
例えば、腕を曲げた時に筋肉が盛り上がるような表現を行うとする。この場合には、事前に、適切な骨構造を用意し、そして、皮膚が自然に変形して力こぶが出来るための様々な工夫をする必要がある。より具体的に説明すると、事前にモデルの体格に合った骨構造を用意し、変形時の挙動が自然になるように、骨構造同士を関数的に関連づけておく必要がある。また、皮膚には、一般にウェイトと呼ばれる骨構造に関連して変形する筋肉の変形情報を用意し、そして、動きや形状を調整する作業も必要である。上記のような細かな調整作業を施さないと、従来の技術では、図１５に示すように、腕を曲げた際に肘の所（図中の矢印Ａの部分）に不自然な凹みが出来てしまい、自然な筋肉な表現ができない結果となる。この不自然な凹みを解消するために、図１６に示すように、肘の所に小骨つまり小さな骨構造２ａを入れたり、図中の楕円部で示すように腕のウェイトｗを調整したりすることによって、初めて自然な筋肉な表現ができることになる。
【０００５】
また、特に３Ｄモデルが人体である場合には、人物のモデルが変われば骨や筋肉などの付随情報を変更する必要が生じ、ほとんどの場合、ウェイトを用意し直す必要がある。又、骨構造を始めとして表情などの挙動は一定のパターンに限られているにも関らず、骨構造自体の汎用性が無いため、モデル毎に骨構造を再構築する必要がある。更に、骨構造の構築作業は複雑であるため、手間がかかるばかりでなく作業者には豊富な経験が求められる。
【０００６】
【発明が解決しようとする課題】
上述したように、スケルトンという骨構造を用いて、人体等の複雑な形状の立体物を模擬化した３Ｄモデルに動きやポーズ等のアニメーションを付けることは、未経験者にとっては勿論大変困難なことであり、経験者にとっても自然な動きを付けるのが至難の技である。従って、作業者の経験及び作業のかかる手間は3次元ＣＧアニメーション生成の壁となっている。
【０００７】
本発明は上述のような事情から成されたものであり、本発明の目的は上述した従来技術の問題点を解決し、テレビゲームやコンピュータグラフィックス等の分野において、未経験者でも簡単に３Ｄモデルにアニメーションを付けられるようにした外殻による３Ｄモデルアニメーション生成方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、人体、動物、仮想上の生命体を含む複雑な形状の立体物を模擬化したモデルのアニメーションを生成する３Ｄモデルアニメーション生成方法に関するものであり、本発明の上記目的は、前記モデルの形状を大まかに近似したモデル制御用の外殻を生成すると共に、その外殻を構成する各頂点の３次元座標と前記モデルの形状表示要素である各頂点の３次元座標とを対応付けて記憶しておき、仮想３次元空間内の所定の視点位置から見たモデルにアニメーションを付ける際に、前記外殻の動作を制御すると共に、その動きに応じて前記モデルが動くように、前記外殻の動作に伴う前記外殻の３次元座標の変位を前記モデルの３次元座標に反映させて前記モデルのアニメーションを生成するようにし、前記外殻と前記モデルとの対応付けは、前記モデルを内包する前記外殻の頂点を原点、前記外殻の稜線に沿う座標軸ベクトルをＵ、Ｖ、Ｗとして、前記モデルのＵＶＷ座標系における頂点の３次元座標の近似値を最小二乗法により算出して対応付けるようにすることによって達成される。
【００１２】
【発明の実施の形態】
スケルトンと呼ばれる骨構造を利用した３Ｄモデルアニメーションを生成する従来技術において、次のような問題点が存在する。先ず、骨構造が３Ｄモデルと分離することができないため、骨構造の汎用性が無く、モデル毎に骨構造を再構築する必要が有る。次は、骨構造の構築作業が複雑であるため、手間がかかるだけでなく、作業者には豊富な経験も求められる。更に、筋肉の動きなどの表現が困難であるため、自然な変形をさせるには細かな調整作業をする必要がある。本発明は、モデルに動きを付けるための手段として、モデルを包み込むような形状の外殻（入れ物）を用い、外殻自体に動きを付けることによって中のモデルも同じように動くように３次元ＣＧモデルアニメーションを生成することができるようにしている。上記外殻は一般的なモデル製作ツールを用いて作成することができ、例えば、ポリゴンメッシュやＮＵＲＢＳ曲面、ラティスボックスなどのプリミティブを利用することができる。
【００１３】
以下、図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。尚、本実施の形態では、図１に示すようなモデル１を内包するような制御格子（ラティスボックス）３を外殻として利用した場合を例として説明する。
【００１４】
図２は本発明に係る３次元ＣＧモデルアニメーション生成装置の一例を示す構成図である。図２に示す装置１０は、演算部１１と、描画部１２と、表示部１３と、モデルデータや制御格子データ、プログラムデータ等を記憶するための記憶部１４とから構成される。装置１０の各構成要素はバスで相互接続されており、そして前記バスを介して前記データの受け渡しが行われる。
【００１５】
演算部１１は、３次元表示をする為の透視変換などの各種の処理を行う。描画部１２は、演算部１１で処理して得られたデータに基づいて、描画部自体が有するグラフィックメモリ上に３次元モデルを描き込み、３次元モデルをディスプレイなどの表示部１３に表示する。
【００１６】
次に、本発明に係る３次元ＣＧモデルアニメーションの生成方法の全体の流れについて、図３のフローチャートに沿って説明する。尚、本発明の構成の中に使用されている用語“アタッチ”は、例えば後述するＵＶＷ座標データを用いることにより、モデルデータを制御格子データにリンクさせることを指す。また、本発明の構成の中に使用されている用語“ウェイト”とは、モデル頂点がそれぞれの制御格子頂点からどれだけ影響を受けるかを表す値である。尚、本実施の形態においては、外殻による３次元モデルアニメーション生成方法をコンピュータに実行させる手段はプログラムで実現され、そのプログラム及びデータはコンピュータ読取可能な記録媒体に記録されて提供される。
【００１７】
まず、アニメーションを付けるためのモデルを用意する。このモデルは一般的な３次元モデリングツールを利用して生成する（ステップＳ１０１）。次に、モデルに目的のアニメーションを付けるための適切な制御格子を一般的な３次元モデリングツールで生成する。例えば、図４（Ａ）に示すような直方体から成る基本の制御格子３ａを作成し、この制御格子３ａを変形して、図４（Ｂ）に示すような人体の形をした制御格子３を作成する。又は既にデータベースに登録されている制御格子３を選択することもできる（ステップＳ１０２）。そして、モデルを用意した制御格子３にアタッチする（ステップＳ１０３）。それから、制御格子３を移動若しくは変形させる処理をし（ステップＳ１０４）、モデルの各頂点の座標情報と変形後の制御格子の各頂点の座標情報に基づいてウェイトを求める（ステップＳ１０５）。そして、算出したウェイトを用いて、変形後のモデルの頂点の計算処理をする（ステップＳ１０６）ことにより、制御格子３の中に入っているモデルに動きを付けていく（ステップＳ１０７）。
【００１８】
次に、３次元ＣＧモデルアニメーションを生成する流れを以下により詳細に説明する。
【００１９】
制御格子３は、前述したように、図４（Ａ）に示すような一定の長さの辺を持つ複数の直方体から成る基本の制御格子３ａを同図（Ｂ）に示すように所定の形状に変形させることによって生成する。ここで生成する制御格子３は、モデルの体形に正確に合わせて生成する必要は無く、大まかな形状で良い。尚、制御格子３ａ及び３は一般的なモデル製作ツールを用いて作成することができる。制御格子３のデータは頂点数と頂点データ（ＸＹＺ座標系における各頂点の座標データ）とからなる。
【００２０】
モデルに動きをつけるのは制御格子３であるが、制御格子自身に動きを与える手法が必要となる。基本的に、制御格子３もモデルと同様な特性を持っているので、つまり、制御格子もモデルも一種のプリミティブであるため、制御格子の動きの制御もモデルと同様に下記のような制御方法を用いることができる。
【００２１】
例えば、モデル又は制御格子の単純な移動・変形操作(スケーリング、回転など)、頂点の単純な移動操作、インバースキネマティクス及びフォワードキネマティクスという手法、クラスターを使って変形させる方法、シェイプを使って変形させる方法、コンストレイン、エクスプレッションという制御方法を適用することができる。
【００２２】
本発明の構成の中に使用されている用語“モデル”は、座標空間に表せる頂点情報の集まりによって構成されるものを指すものである。この定義により、モデルデータは頂点数と頂点データ(ＸＹＺ座標系における各頂点の座標データ)とからなる。その他に、モデルデータには色情報やテクスチャ情報などが付随されることがある。
【００２３】
モデルを制御格子にアタッチするために、制御格子データ及びモデルデータに基づいて、モデル及び制御格子を制御するための制御データを生成しなければならない。制御データは制御格子データと、モデルデータと、制御格子の各稜線に沿う３次元座標軸をＵＶＷ座標軸として、ＵＶＷ座標系におけるモデルの各頂点の３次元座標を示すＵＶＷ座標データとからなる。
【００２４】
図５はモデルのアタッチ処理の流れを表すフローチャートであり、つまり前記ステップＳ１０３を詳細に表すフローチャートである。
【００２５】
先ず、制御データ内に処理対象のモデルに用いられる制御格子の制御格子データを設定する（ステップＳ２０１）。次に、上記制御データ内にモデルデータを設定する（ステップＳ２０２）。そして、モデルの全ての頂点に対して後述する処理によりＵＶＷ座標を計算してから（ステップＳ２０３）、アタッチ処理を終了する。ちなみに、同一の制御格子は、形状が類似している複数の異なるモデルに利用されることができる。つまり、図４（Ｂ）に示す制御格子３は、例えば図６、図７、図８に示すように、男性モデル１ａ、女性モデル１ｂ或いはエイリアン（本例では宇宙人）モデル１ｃへのアタッチが可能である。
【００２６】
ＵＶＷ座標データは、制御格子データ及びモデルデータに基づいて例えば最小二乗法を用いて計算される。図９はモデルの頂点のＵＶＷ座標計算の流れを表すフローチャートであり、つまり前記ステップＳ２０３を詳細に表すフローチャートである。
【００２７】
先ず、モデルの頂点群の中から一つの頂点を選出する（ステップＳ３０１）。続いて、変形後の制御格子の頂点の中から選出したモデルの頂点に一番近い頂点を選出する（ステップＳ３０２）。そして、選出したモデルと制御格子の頂点のＵＶＷ座標をそれぞれＰ、Ｒと置く（ステップＳ３０３）。それから、ＲをＵ方向、Ｖ方向、Ｗ方向に微小な値Δｕ、Δｖ、Δｗだけ移動した点をＲΔｕ、ＲΔｖ、ＲΔｗと置く（ステップＳ３０４）。Ｐ、Ｒ、ＲΔｕ、ＲΔｖ、ＲΔｗのＸＹＺ座標系への写像をそれぞれＰ’、Ｒ’、Ｒ’Δｕ、Ｒ’Δｖ、Ｒ’Δｗと置く（ステップＳ３０５）。続いて、ベクトルＲＰのＸＹＺ座標系への写像Ｒ’Ｐ’の等価式より未知数ｉ、ｊ、ｋを求める（ステップＳ３０６）。ベクトルＲＰの近似式より、Ｐの座標を求める（ステップＳ３０７）。そして、Ｐの座標値がモデルの変形後のＸＹＺ座標系の頂点の座標値に近似したかどうかを判断し（ステップＳ３０８）、近似していない場合は、ＰをＲに代入し（ステップＳ３０９）、ステップＳ３０４に戻ってステップＳ３０４、Ｓ３０５、Ｓ３０６、Ｓ３０７の処理を繰り返す。
【００２８】
一方、上記ステップＳ３０８において、Ｐの座標値がモデルの変形後のＸＹＺ座標系の頂点に近似した場合は、モデルの全ての頂点に対して、ステップＳ３０２からステップＳ３０９までの処理が行われたかどうかを判断し（ステップＳ３１０）、未処理のモデルの頂点が有れば、計算したモデルの頂点の次の頂点を選出して（ステップＳ３１１）、ステップＳ３０２に戻り、ステップＳ３０２からステップＳ３０９までの処理を行う。
【００２９】
そして、モデルの全ての頂点に対して、ステップＳ３０２からステップＳ３０９までの処理が終了したのであれば、ＵＶＷ座標データの算出処理を終了する。
【００３０】
ＵＶＷ座標の計算を数式を用いてもう一度説明すると、先ず、制御格子内はパラメータ空間として定義し、図１０に示すように制御格子３の各稜線に沿う座標軸をそれぞれＵ、Ｖ、Ｗとする。なお、制御格子及びモデルはＸＹＺ座標系に存在する。モデルのＵＶＷ座標系における一つの頂点をＰとおく。制御格子のＵＶＷ座標系におけるＰへの近似点をＲとおく。Ｒの初期値として、Ｐに最も近い格子頂点の値を与える。点ＲをＵ方向、Ｖ方向、Ｗ方向に微小な量Δｕ、Δｖ、Δｗだけ移動した点をそれぞれＲΔｕ、ＲΔｖ、ＲΔｗとおく。Ｐ、Ｒ、ＲΔｕ、ＲΔｖ、ＲΔｗのＸＹＺ座標系への写像をそれぞれＰ’、Ｒ’、Ｒ’Δｕ、Ｒ’Δｖ、Ｒ’Δｗとおく。ベクトルＲＰのＸＹＺ座標系への写像ベクトルＲ’Ｐ’は、未知数ｉ、ｊ、ｋを用いて下記数１で表すことができる。
【００３１】
【数１】
0003683487.tif 000002
上記数１を展開すると、下記数２及び下記数３で表すことができる。
【００３２】
【数２】
0003683487.tif 000003
【数３】
0003683487.tif 000004
ここで、下記数４をＡと置くと、上記数３は下記数５と表すことができる。
【００３３】
【数４】
0003683487.tif 000005
【数５】
0003683487.tif 000006
一般的に、行列Ａは逆行列Ａ−１を持つので、上記数５の両辺にＡ−１をかけると、下記数６となり、未知数ｉ、ｊ、ｋの値が求められる。
【００３４】
【数６】
0003683487.tif 000007
また、ベクトルＲＰは下記数７により近似できる。
【００３５】
【数７】
0003683487.tif 000008
上記数７を解くと、下記数８になる。
【００３６】
【数８】
0003683487.tif 000009
上記数８からＰの座標の近似値が求められる。
【００３７】
以上のように前記数１から前記数８までの計算により求められたＰの値をＲに当てはめてから、前記数１から前記数８までの計算を繰り返す。このようなループを通して、Ｐの値は正確な値に近づく。前記Ｐの座標の近似値を求める流れは図９のステップＳ３０４からステップＳ３０９までに表す。
【００３８】
制御格子によるモデルの制御は以下のようになる。制御格子を制御することによって、制御格子の頂点座標が変化し、その頂点座標及び前記ＵＶＷ座標に基づいて、制御格子の変形移動（頂点座標の変化）に伴うモデルの各頂点座標の変位量を表すウェイトが求まり、前記ウェイトより変換後のモデルの頂点位置が決定される。
【００３９】
図９に示す処理手順により求められたＵＶＷ座標からB-Splineを使用して前記ウェイトを求める。
【００４０】
ウェイトを求めるときは、まずＵ方向、Ｖ方向、Ｗ方向のそれぞれの軸に関するウェイトを求める。ここで、ウェイトをＷ、モデル頂点と制御格子頂点のＵＶＷ座標系でのそれぞれの軸方向に関する距離の絶対値をｔと定義する。又、制御格子の頂点数をｎ 、ｉ番目の頂点をＱｉ（ｉ＝０、１、２…ｎ）、ｉ番目の頂点のウェイトをＷｉ（ｉ＝０、１、２…ｎ）と定義する。
【００４１】
特定軸方向に制御格子が２つ以上並んでいる場合で且つｔ≦０．５である場合には、Ｗが下記数９により求められる。
【００４２】
【数９】
Ｗ＝−ｔ２+０.７５
特定軸方向に制御格子が２つ以上並んでいる場合で且つ０．５＜ｔ≦１．５である場合には、Ｗが下記数１０により求められる。
【００４３】
【数１０】
Ｗ＝（４ｔ２−１２ｔ+９）/８
特定軸方向に制御格子が２つ以上並んでいる場合で且つｔ＞１．５である場合には、Ｗが下記数１１により求められる。
【００４４】
【数１１】
Ｗ＝０
特定軸方向に制御格子が１つしかない場合で且つｔ≦１である場合には、Ｗが下記数１２により求められる。
【００４５】
【数１２】
Ｗ＝１−ｔ
特定軸方向に制御格子が１つしかない場合で且つｔ＞１である場合には、Ｗが前記数１１により求められる。
【００４６】
但し、特定軸方向への制御格子の数が２つ以上である場合は、端の頂点のウェイトが内側に偏ってしまうので、ＵＶＷ座標系でモデル頂点が端から０．５までのときは以下のようになる。ｔ≦１である場合には前記数１２を用いる。一方、ｔ＞１である場合には前記数１１を用いる。
【００４７】
前述した式を用いて、Ｕ方向、Ｖ方向、Ｗ方向へのそれぞれの軸に対するウェイトを求める。そして、それぞれＷｕ、Ｗｖ、Ｗｗ と置いたときの制御格子頂点のウェイトＷｉは下記数１３により求められる。
【００４８】
【数１３】
Ｗｉ＝Ｗｕ×Ｗｖ×Ｗｗ
図１１はウェイトを求める処理の流れを表すフローチャートであり、つまり前記ステップＳ１０５を詳細に表すフローチャートである。
【００４９】
先ず、モデルの頂点群の中から一つの頂点を選出する（ステップＳ４０１）。続いて、制御格子の頂点を選出する（ステップＳ４０２）。選出したモデルと制御格子の頂点に対応するＵＶＷ座標より重み値（ウェイト）を計算する（ステップＳ４０３）。そして、制御格子の全ての頂点に対して重み値（ウェイト）の計算が行われたかどうかを判断し（ステップＳ４０４）、未処理の制御格子の頂点が有れば、計算した制御格子の頂点の次の頂点を選出し（ステップＳ４０５）、ステップＳ４０３に戻り、ステップＳ４０３、Ｓ４０４の処理を繰り返す。
【００５０】
一方、上記ステップＳ４０４において、制御格子の全ての頂点の処理が終了した場合は、モデルの全ての頂点に対して重み値（ウェイト）の計算が行われたかどうかを判断する（ステップＳ４０６）。未処理のモデルの頂点が有れば、計算したモデルの頂点の次の頂点を選出し（ステップＳ４０７）、ステップＳ４０２に戻り、ステップＳ４０２からステップＳ４０６までの処理を繰り返す。
【００５１】
一方、上記ステップＳ４０６において、モデルの全ての頂点の処理が終了したのであれば、ウェイトの算出処理を終了する。
【００５２】
ここで、変形後のモデル頂点座標をＰと定義する。Ｐは下記数１４により求められる。
【００５３】
【数１４】
0003683487.tif 000010
図１２は変形後のモデルの頂点の計算処理の流れを表すフローチャートであり、つまり前記ステップＳ１０６を詳細に表すフローチャートである。
【００５４】
先ず、モデルの先頭頂点を選出する（ステップＳ５０１）。次に、制御格子の先頭頂点を選出する（ステップＳ５０２）。選出したモデルの頂点の変形後の座標値に（０、０、０）を設定する（ステップＳ５０３）。選出したモデルと制御格子の頂点に対応するＵＶＷ座標値より重み値を算出する（ステップＳ５０４）。選出したモデルの頂点に重み値を乗算した値を変形後の座標Ｘ、Ｙ、Ｚに加算する（ステップＳ５０５）。そして、制御格子の全ての頂点に対してステップＳ５０４、Ｓ５０５の処理が行われたかどうかを判断し（ステップＳ５０６）、未処理の制御格子の頂点が有れば、計算した制御格子の頂点の次の頂点を選出し（ステップＳ５０７）、ステップＳ５０４からＳ５０６までの処理を繰り返す。
【００５５】
一方、上記ステップＳ５０６において、制御格子の全ての頂点に対するステップＳ５０４、Ｓ５０５の処理が終了した場合は、モデルの全ての頂点に対してステップＳ５０２からステップＳ５０６までの処理が行われたかどうかを判断する（ステップＳ５０８）。未処理のモデルの頂点が有れば、計算したモデルの頂点の次の頂点を選出し（ステップＳ５０９）、ステップＳ５０２に戻り、ステップＳ５０２からステップＳ５０８までの処理を繰り返す。そして、上記ステップＳ５０８において、モデルの全ての頂点に対する処理が終了したのであれば、変形後のモデルの各頂点座標の算出処理を終了する。
【００５６】
上述したように、本発明では３Ｄモデルを入れるための入れ物である外殻を用いて３Ｄモデルの動作を制御するようにしている。より詳細に説明すると、事前に３Ｄモデルを被う外殻を一般的な３次元モデリングツールで作成しておき、画面上で外殻に３Ｄモデルを入れるように表示してから、アタッチと呼ばれる処理により自動的に両者の座標関連付けを行うようにしている。従って、外殻にアニメーションを付ければ、外殻の中に入っているモデルも同様に動いてくれるようになるという仕組みである。この仕組みを応用すれば、外殻を用意し、外殻にモデルを入れるだけで、外殻を操作すればモデルに様々な複雑なアニメーションを付けることが可能になり、意識せずに様々な変形が自然に行えるようになる。
【００５７】
例えば、外殻の腕を曲げれば、モデルに自動的に力こぶができるようになる。外殻は、腕や脚に関する変形に当てはまるだけでなく、顔の表情を始めとして、動物など構造的な変形を伴うあらゆるモデルにも適用できる。直接に骨構造を用いてモデルの動きを制御するのではなく、外殻を使用することにより、今まで複雑な方法で行ってきた骨構造の制御を大幅に省くことができる。又、従来の技術では人工で行ってきた手間のかかる細かな調整も外殻によって制御できるので、モデルアニメーションを生成するための作業の自動化が実現可能となる。つまり、人体などの３Ｄモデルを自然に変形させるために必要だった複雑な準備作業を、事前に用意することによって、作業者は何の手間も無く自然な変形を簡単に行うことができるようになる。
【００５８】
尚、上述した実施の形態においては、制御格子を外殻として用いた場合を例として説明したが、互いに連結された多角形で外殻を構成するようにしても良い。
【００５９】
【発明の効果】
以上のように本発明によれば、未経験者でも例えば制御格子の形状を有する外殻を利用して手軽に３Ｄモデルにアニメーションを付けることが可能となる。また、３Ｄモデルとアニメーションの仕組みである外殻との分離性が高いため、外殻の汎用性も高い、従って、形状が類似している複数の異なるモデルに対して、同一の外殻を共用することが可能である。すなわち、モデル毎に外殻の再構築の必要がない。更に、複雑で手間のかかる人体などの３Ｄモデルを自然に変形させるために必要な準備作業は特に必要が無く、簡易構造の外殻を予め用意しておくだけで良いので、複雑な構造を知らなくても外殻を利用して自動的に3次元ＣＧモデルアニメーションを生成することができるようになる。更に又、図１３に示すように、外殻３を利用することにより、自動的に自然な筋肉の表現ができるようになる。
【図面の簡単な説明】
【図１】本発明に係るアニメーション制御用の外殻の一例を示す模式図である。
【図２】本発明に係る外殻による３Ｄモデルアニメーション生成装置を示す概略図である。
【図３】本発明に係る外殻による３Ｄモデルアニメーション生成手順を説明するためのフローチャートである。
【図４】制御格子の構造の一例を示す模式図である。
【図５】モデルのアタッチ処理を説明するためのフローチャートである。
【図６】男性モデルへのアタッチを示す模式図である。
【図７】女性モデルへのアタッチを示す模式図である。
【図８】エイリアンモデルへのアタッチを示す模式図である。
【図９】ＵＶＷ座標計算の手順を説明するためのフローチャートである。
【図１０】制御格子のＵＶＷ座標系を示す模式図である。
【図１１】ウェイトを求める処理を説明するためのフローチャートである。
【図１２】変形後のモデルの頂点の計算処理を説明するためのフローチャートである。
【図１３】制御格子を外殻とした本発明の一実施例の筋肉表現を示す模式図である。
【図１４】スケルトンを使用した従来方法を示す模式図である。
【図１５】スケルトンを使用した従来方法の筋肉表現の欠陥を示す模式図である。
【図１６】スケルトンを使用した従来方法の筋肉表現の欠陥を補正する手段を示す模式図である。
【符号の説明】
１      モデル
１ａ    男性モデル
１ｂ    女性モデル
１ｃ    エイリアンモデル
２      骨構造（スケルトン）
２ａ    小骨
３      外殻（制御格子）
３ａ    基本の制御格子
１０    ３Ｄモデルアニメーション生成装置
１１    演算部
１２    描画部
１３    表示部
１４    記憶部
ｗ      ウェイト
【図１】
0003683487.tif 000011
【図２】
0003683487.tif 000012
【図３】
0003683487.tif 000013
【図４】
0003683487.tif 000014
【図５】
0003683487.tif 000015
【図６】
0003683487.tif 000016
【図７】
0003683487.tif 000017
【図８】
0003683487.tif 000018
【図９】
0003683487.tif 000019
【図１０】
0003683487.tif 000020
【図１１】
0003683487.tif 000021
【図１２】
0003683487.tif 000022
【図１３】
0003683487.tif 000023
【図１４】
0003683487.tif 000024
【図１５】
0003683487.tif 000025
【図１６】
0003683487.tif 000026