(57)【要約】  アニメーションで使用する方法は、複数の骨及び骨に取り付けられた筋肉を含むモデルを確立するステップ（１０２）と、モデルの第１のポーズにおいて、筋肉上の第１の取付点に皮膚の各頂点を取り付けて、筋肉に皮膚を結合するステップ（１０４）と、モデルを第２のポーズに変形するステップ（１０６）と、第２のポーズにおいて、皮膚の各頂点のための第２の取付点を選択するステップ（１０８）とを有する。記憶媒体は、プロセッサベースのシステム（７００）にこれらのステップを実行させるコンピュータプログラムを保存し、システム（７００）は、これらのステップを実行するように構成された処理装置を備える。【選択図】  図２Ａ
2009537927.tif 000002
【特許請求の範囲】
【請求項１】
アニメーションで使用する方法において、
複数の骨及び前記骨に取り付けられた筋肉を含むモデルを確立するステップと、
前記モデルの第１のポーズにおいて、前記筋肉上の第１の取付点に皮膚の各頂点を取り付けて、前記筋肉に前記皮膚を結合するステップと、
前記モデルを第２のポーズに変形するステップと、
前記第２のポーズにおいて、前記皮膚の各頂点のための第２の取付点を選択するステップとを有する方法。
【請求項２】
前記第２の取付点を選択するステップは、
１つ以上のユーザが定義する制御パラメータに基づいて、前記第２のポーズにおける皮膚の各頂点のための前記筋肉上の複数の候補となる第２の取付点を算出するステップを有する請求項１記載の方法。
【請求項３】
前記第２の取付点を選択するステップは、
ユーザが定義する頂点ブレンド重みに基づいて、前記皮膚の各頂点のための候補となる第２の取付点から第２の取付点を選択するステップを更に有する請求項２記載の方法。
【請求項４】
前記第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚のコピーを生成するステップと、
前記皮膚のコピーを変更するステップと、
前記変更された皮膚のコピーを保存するステップとを有する請求項１記載の方法。
【請求項５】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項４記載の方法。
【請求項６】
第３のポーズのために前記以前に変更された皮膚のコピーを記憶装置から読み出すステップと、
前記第３のポーズのために前記以前に変更された皮膚のコピーに基づいて、第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚の値を補間するステップとを更に有する請求項１記載の方法。
【請求項７】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項６記載の方法。
【請求項８】
揺動エフェクトを提供するためにモデルの一部に更なる層を適用するステップを更に有する請求項１記載の方法。
【請求項９】
前記揺動エフェクトは、ユーザが定義するパラメータに基づいている請求項８記載の方法。
【請求項１０】
皮膚弛緩エフェクトを提供するためにモデルの一部に更なる層を適用するステップを更に有する請求項１記載の方法。
【請求項１１】
前記皮膚弛緩エフェクトの無効化によって、前記更なる層が、皮膚が盛り上がった外観を提供する請求項１０記載の方法。
【請求項１２】
前記皮膚弛緩効果の有効化によって、前記更なる層内の頂点がより一様に分布する請求項１０記載の方法。
【請求項１３】
前記皮膚弛緩効果の有効化は、皮膚の包括的な形状を同じに維持しながら、モデルのサーフェスにおける皮膚滑動エフェクトを有効化する請求項１０記載の方法。
【請求項１４】
プロセッサベースのシステムが実行可能なコンピュータプログラムを保存する記憶媒体において、前記プロセッサベースのシステムは、コンピュータプログラムに、
複数の骨及び前記骨に取り付けられた筋肉を含むモデルを確立するステップと、
前記モデルの第１のポーズにおいて、前記筋肉上の第１の取付点に皮膚の各頂点を取り付けて、前記筋肉に前記皮膚を結合するステップと、
前記モデルを第２のポーズに変形するステップと、
前記第２のポーズにおいて、前記皮膚の各頂点のための第２の取付点を選択するステップとを実行させる記憶媒体。
【請求項１５】
前記第２の取付点を選択するステップは、
１つ以上のユーザが定義する制御パラメータに基づいて、前記第２のポーズにおける皮膚の各頂点のための前記筋肉上の複数の候補となる第２の取付点を算出するステップを有する請求項１４記載の記憶媒体。
【請求項１６】
前記第２の取付点を選択するステップは、
ユーザが定義する頂点ブレンド重みに基づいて、前記皮膚の各頂点のための候補となる第２の取付点から第２の取付点を選択するステップを更に有する請求項１５記載の記憶媒体。
【請求項１７】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、
前記第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚のコピーを生成するステップと、
前記皮膚のコピーを変更するステップと、
前記変更された皮膚のコピーを保存するステップとを更に実行させる請求項１４記載の記憶媒体。
【請求項１８】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項１７記載の記憶媒体。
【請求項１９】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、
第３のポーズのために前記以前に変更された皮膚のコピーを記憶装置から読み出すステップと、
前記第３のポーズのために前記以前に変更された皮膚のコピーに基づいて、第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚の値を補間するステップとを更に実行させる請求項１４記載の記憶媒体。
【請求項２０】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項１９記載の記憶媒体。
【請求項２１】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、
揺動エフェクトを提供するためにモデルの一部に更なる層を適用するステップを更に実行させる請求項１４記載の記憶媒体。
【請求項２２】
前記揺動エフェクトは、ユーザが定義するパラメータに基づいている請求項２１記載の記憶媒体。
【請求項２３】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、
皮膚弛緩エフェクトを提供するためにモデルの一部に更なる層を適用するステップを更に有する請求項１４記載の記憶媒体。
【請求項２４】
前記皮膚弛緩エフェクトの無効化によって、前記更なる層が、皮膚が盛り上がった外観を提供する請求項２３記載の記憶媒体。
【請求項２５】
前記皮膚弛緩効果の有効化によって、前記更なる層内の頂点がより一様に分布する請求項２３記載の記憶媒体。
【請求項２６】
前記皮膚弛緩効果の有効化は、皮膚の包括的な形状を同じに維持しながら、モデルのサーフェスにおける皮膚滑動エフェクトを有効化する請求項２３記載の記憶媒体。
【請求項２７】
アニメーションで使用するシステムにおいて、
ディスプレイと、
複数の骨及び前記骨に取り付けられた筋肉を含むモデルを確立し、前記モデルの第１のポーズにおいて、前記筋肉上の第１の取付点に皮膚の各頂点を取り付けて、前記筋肉に前記皮膚を結合し、前記モデルを第２のポーズに変形し、前記第２のポーズにおいて、前記皮膚の各頂点のための第２の取付点を選択するよう構成されている処理装置とを備えるシステム。
【請求項２８】
前記処理装置は、１つ以上のユーザが定義する制御パラメータに基づいて、前記第２のポーズにおける皮膚の各頂点のための前記筋肉上の複数の候補となる第２の取付点を算出することによって、前記第２の取付点を選択するよう構成されている請求項２７記載のシステム。
【請求項２９】
前記処理装置は、ユーザが定義する頂点ブレンド重みに基づいて、前記皮膚の各頂点のための候補となる第２の取付点から第２の取付点を選択することによって、前記第２の取付点を選択するよう構成されている請求項２８記載のシステム。
【請求項３０】
前記処理装置は、更に、前記第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚のコピーを生成し、前記皮膚のコピーを変更し、前記変更された皮膚のコピーを保存するよう構成されている請求項２７記載のシステム。
【請求項３１】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項３０記載のシステム。
【請求項３２】
前記処理装置は、更に、第３のポーズのために前記以前に変更された皮膚のコピーを記憶装置から読み出し、前記第３のポーズのために前記以前に変更された皮膚のコピーに基づいて、第２のポーズにおいて選択された第２の取付点に取り付けられた各頂点を有する皮膚の値を補間するよう構成されている請求項２７記載のシステム。
【請求項３３】
前記変更された皮膚のコピーは、前記皮膚への組込みのために望ましい形状を有する請求項３２記載のシステム。
【請求項３４】
前記処理装置は、更に、揺動エフェクトを提供するためにモデルの一部に更なる層を適用するよう構成されている請求項２７記載のシステム。
【請求項３５】
前記揺動エフェクトは、ユーザが定義するパラメータに基づいている請求項３４記載のシステム。
【請求項３６】
前記処理装置は、更に、皮膚弛緩エフェクトを提供するためにモデルの一部に更なる層を適用するよう構成されている請求項２７記載のシステム。
【請求項３７】
前記皮膚弛緩エフェクトの無効化によって、前記更なる層が、皮膚が盛り上がった外観を提供する請求項３６記載のシステム。
【請求項３８】
前記皮膚弛緩効果の有効化によって、前記更なる層内の頂点がより一様に分布する請求項３６記載のシステム。
【請求項３９】
前記皮膚弛緩効果の有効化は、皮膚の包括的な形状を同じに維持しながら、モデルのサーフェスにおける皮膚滑動エフェクトを有効化する請求項３６記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００６年５月１９日に出願された米国仮出願番号６０／８０２，２０６、発明の名称「MUSCULO-SKELETAL SHAPE SKINNING」の優先権を主張して２００６年１１月１６日に出願された米国特許出願番号１１／５６０，７８８号、発明の名称「MUSCULO-SKELETAL SHAPE SKINNING」の継続出願であり、これらの特許文献の開示内容の全体は、引用によって本願に援用される。
【０００２】
また、本出願は、２００６年５月１９日に出願された米国仮出願番号６０／８０２，２０６、発明の名称「MUSCULO-SKELETAL SHAPE SKINNING」の優先権を主張し、この特許文献の開示内容の全体は、引用によって本願に援用される。
【０００３】
本発明は、包括的には、コンピュータアニメーションに関し、詳しくは、コンピュータアニメーションにおけるスキニング技術に関する。
【背景技術】
【０００４】
コンピュータアニメーションでは、コンピュータ表示モニタ上で、仮想骨格を備える、アニメーション化された３次元（３Ｄ）図形又はキャラクタを構築する。フルワイヤフレームモデル、すなわち、ポリゴンから構築されたモデルは、通常、複数のジョイント（「骨（bone）」とも呼ばれる。）を含み、これにより、モデルは、動くことができ、又は異なる位置又はポーズに「変形」することができる。皮膚、目、口等の表面（サーフェス）は、レンダリング処理においてモデルに加えられる。このようなサーフェスを加えるために、通常、スキニングシステムが使用されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、これらの及びこの他の背景技術の要素を改善するものである。
【課題を解決するための手段】
【０００６】
一実施の形態は、アニメーションで使用する方法において、複数の骨及び骨に取り付けられた筋肉を含むモデルを確立するステップと、モデルの第１のポーズにおいて、筋肉上の第１の取付点に皮膚の各頂点を取り付けて、筋肉に皮膚を結合するステップと、モデルを第２のポーズに変形するステップと、第２のポーズにおいて、皮膚の各頂点のための第２の取付点を選択するステップとを有する方法を提供する。
【０００７】
他の実施の形態は、プロセッサベースのシステムが実行可能なコンピュータプログラムを保存する記憶媒体において、プロセッサベースのシステムが、コンピュータプログラムに、複数の骨及び骨に取り付けられた筋肉を含むモデルを確立するステップと、モデルの第１のポーズにおいて、筋肉上の第１の取付点に皮膚の各頂点を取り付けて、筋肉に皮膚を結合するステップと、モデルを第２のポーズに変形するステップと、第２のポーズにおいて、皮膚の各頂点のための第２の取付点を選択するステップとを実行させる記憶媒体を提供する。
【０００８】
他の実施の形態は、アニメーションで使用するシステムにおいて、ディスプレイと、複数の骨及び骨に取り付けられた筋肉を含むモデルを確立し、モデルの第１のポーズにおいて、筋肉上の第１の取付点に皮膚の各頂点を取り付けて、筋肉に皮膚を結合し、モデルを第２のポーズに変形し、第２のポーズにおいて、皮膚の各頂点のための第２の取付点を選択する処理装置とを備えるシステムを提供する。
【０００９】
本発明の実施の形態の上述及びこの他の側面、特徴、利点は、添付の図面を参照して行う以下のより詳細な説明によって明らかとなる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に基づく、アニメーションで使用される方法を示すフローチャートである。
【図２Ａ】本発明の様々な側面の具体的な適用例及び／又は実施の形態を説明する図である。
【図２Ｂ】本発明の様々な側面の具体的な適用例及び／又は実施の形態を説明する図である。
【図２Ｃ】本発明の様々な側面の具体的な適用例及び／又は実施の形態を説明する図である。
【図２Ｄ】本発明の様々な側面の具体的な適用例及び／又は実施の形態を説明する図である。
【図３】本発明の実施の形態に基づく、アニメーションで使用される方法を示すフローチャートである。
【図４】本発明の実施の形態に基づく、アニメーションで使用される方法を示すフローチャートである。
【図５】本発明の実施の形態に基づく、アニメーションで使用される方法を示すフローチャートである。
【図６】本発明の実施の形態に基づく、アニメーションで使用される方法を示すフローチャートである。
【図７】本発明の実施の形態に基づく、ここに説明した方法を実現、実装及び／又は実行するために用いることができるコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１１】
従来のスキニングシステムは、多くの場合、固定された取付点において、皮膚を骨に直接取り付けていた。このようなシステムでは、今日のコンピュータアニメーションに求められているレベルの詳細及び現実感を実現することができない。
【００１２】
本発明の実施の形態は、例えば、アニメーション等のために、コンピュータシステムにおいて皮膚の外観をシミュレートする技術を提供する。幾つかの実施の形態は、従来のシステムより高いレベルの詳細及び現実感を提供できる新たなスキニングシステムを提供する。包括的に言えば、幾つかの実施の形態では、動的な筋肉及び皮膚システムに、完全に制御可能で予測可能な、修正エンベローピング（corrective enveloping）を組み合わせる。幾つかの実施の形態では、従来のシステムのように骨に皮膚を取り付けるのではなく、筋肉に皮膚を取り付けることができる。更に、筋肉への皮膚の取付点は、動的であってもよく、従来のシステムのように単なる固定された取付点ではなくてもよい。幾つかの実施の形態では、動的幾何学的筋肉ボリューム（dynamic geometric muscle volume）から導出される３次元頂点の補間を用いて、このような特徴を実現することができる。このような特徴は、より現実感がある皮膚及びこれにより得られるアニメーションに貢献すると考えられる。
【００１３】
図１は、本発明の実施の形態に基づいて実行される方法１００を示している。方法１００は、アニメーションにおいて使用することができ、ステップ１０２から開始され、ここで、複数の骨及びこれらの骨に取り付けられた筋肉を含むモデルを確立する。ステップ１０４では、このモデルの第１のポーズにおいて（モデルが第１のポーズにあるとき）、筋肉上の第１の取付点に皮膚の各頂点を取り付けて、筋肉に皮膚を結合する。
【００１４】
図２Ａは、これらのステップの具体的な適用例を示している。ここでは、キャラクタの腕２００のモデルの第１のポーズを示している。キャラクタの腕２００は、第１の骨２０４、第２の骨２０６、親指の骨２０８及び親指以外の４本の指の骨２１０、２１２、２１４、２１６を含む。これらの骨には、幾つかの筋肉２１８、２２０、２２２、２２４が取り付けられている。第１の骨２０４及び第２の骨２０６は、肘関節（elbow joint）２０５において連結されている。幾つかの実施の形態では、筋肉の断面のサブセットを定義し、これらの断面間でサーフェスを補間することによって、解剖学に基づく筋肉ボリュームプリミティブ（muscle volume primitive）を作成できる。サーフェスが膨らんで筋肉の等速性収縮及び等尺性収縮をシミュレートするように、断面間で体積（ボリューム）を維持してもよい。骨及び他の筋肉への筋肉の取付は、解剖学的に導出された挿入点を用いて処理することができる。
【００１５】
幾つかの実施の形態では、図心ベースのＣａｔｍｕｌｌ−Ｒｏｍスプライン（centroid based Catmull-Rom spline）を用いた式によって、筋肉を曲げたり捻ったりする能力を維持することができる。サーフェスの作成は、Ｃａｔｍｕｌｌ−Ｒｏｍ制御頂点補間（Catmull-Rom control vertex interpolation）及びシミュレートされたボリュームを表す非一様有理Ｂスプライン（Non-Uniform Rational B-Spline：ＮＵＲＢＳ）サーフェスを用いて行ってもよい。幾つかの実施の形態では、動力学的パラメータ、例えば、重力、剛性、大きさ、減衰によって筋肉の動きに影響を与え、速度及び加速度の微分係数として、筋肉がどれ程弾み又は揺れるかを制御してもよい。このように、幾つかの実施の形態では、幾何学的筋肉ボリュームプリミティブは、動的であってもよい。
【００１６】
例えば、幾つかの実施の形態では、筋肉プリミティブノードは、非一様有理Ｂスプラインサーフェスジェネレータであってもよい。この場合の入力は、横断面の曲線を含んでいてもよく、出力は、この曲線を含んで広がるサーフェスであってもよい。このサーフェスは、楕円体の体積の式（ellipsoid volume equation）に基づいて動かしてもよく、ここでは、断面の中心線から開始されるベクトルによって定義される虚楕円に沿ってサーフェスの各制御点をスケーリングする。体積（ボリューム）を維持するために用いることができる式の具体例を以下に示す。
【数１】
2009537927.tif 000003
【００１７】
ここで、ａ及びｂは、（互いに直交する）赤道半径であり、ｃは、極半径である。これらの変数によって、図心ベースの楕円ボリュームの形状が定まる。
【００１８】
筋肉ボリュームの１つの目的は、皮膚を取り付けることができる基本的な、生理学的に正確な基礎構造を生成することである。このような構造を開始点として用いることによって、変換ベースの骨スキニングアルゴリズム又は他のフリーフォームデフォーマ（free-form deformer）ベースのシステムよりも品質を高めることができる。このようにして、筋肉２１８、２２０、２２２、２２４に皮膚層２２６、２２８が結合される。図に示す第１のポーズでは、皮膚の各頂点は、筋肉上の第１の取付点に取り付けられている。ここでは、幾つかの頂点とそれぞれの第１の取付点を示している。例えば、頂点２３０は、第１の取付点２３２において筋肉２２０に取り付けられており、頂点２３４は、第１の取付点２３６において筋肉２２０に取り付けられており、頂点２３８は、第１の取付点２４０において筋肉２１８に取り付けられており、頂点２４２は、第１の取付点２４４において筋肉２２２に取り付けられている。
【００１９】
方法１００（図１）の次のステップは、ステップ１０６であり、ここでは、モデルを第２のポーズに変形する。上述のように、幾つかの実施の形態では、皮膚の筋肉への取付点は、単に固定されているだけではなく、動的であり、これにより、動的なスキニングソリューションが提供される。したがって、ステップ１０８では、第２のポーズにおいて、皮膚の各頂点のための第２の取付点を選択する。
【００２０】
図２Ｂは、これらのステップの具体的な適用例を示している。ここに示すように、キャラクタの腕２００のモデルは、肘関節２０５において腕２００を動かすことによって、第２のポーズに変形されている。この第２のポーズにおいて、皮膚層２２６、２２８の各頂点について、第２の取付点を選択する。例えば、示すように、頂点２３０は、ここでは、第２の取付点２４６において筋肉２２２に取り付けられており、頂点２３４は、ここでは、第２の取付点２４８において筋肉２１８に取り付けられており、頂点２３８は、ここでは、第２の取付点２５０において筋肉２２０に取り付けられており、頂点２４２は、ここでは、第２の取付点２５２において筋肉２２２に取り付けられている。この具体例に示すように、第２のポーズでは、皮膚の各頂点は、第１のポーズとは異なる筋肉に取り付けてもよい。例えば、頂点２３０、２３４、２３８は、それぞれ、第１のポーズとは異なる筋肉に取り付けられている。
【００２１】
幾つかの実施の形態では、皮膚の各頂点のための第２の取付点は、オプションとして、ユーザ定義情報に基づいて選択される。例えば、図３は、本発明の実施の形態に基づいて実行される方法３００を示している。第２の取付点を選択する際に使用できる方法３００は、ステップ３０２から開始され、ここで、皮膚の各頂点について、第２のポーズにおける筋肉上の複数の候補となる第２の取付点を算出し、これらは、幾つかの実施の形態では、オプションとして、１つ以上のユーザが定義する制御パラメータに基づいて算出してもよい。そして、ステップ３０４において、ユーザが定義する頂点ブレンド重みに基づいて、候補となる第２の取付点から皮膚の各頂点のための各第２の取付点を選択する。
【００２２】
図２Ｃは、これらのステップの具体的な適用例を示している。すなわち、ここでは、皮膚の頂点２３０のための第２の取付点の選択の具体例を示すために、第２のポーズにおけるキャラクタの腕２００のモデルの拡大図を示している。幾つかの実施の形態では、非一様有理Ｂスプラインサーフェスによって表されたボリュームプリミティブによって、皮膚を結合するための、滑らかで単純化された接ベクトル空間座標を導出することができる。これにより、皮膚の頂点２３０のための筋肉上の複数の候補となる第２の取付点２４６、２５４、２５６、２５８、２６０が算出される。幾つかの実施の形態では、候補となる第２の取付点は、オプションとして、１つ以上のユーザが定義する制御パラメータに基づいて算出してもよい。幾つかの実施の形態では、高度なスキニングアルゴリズムによって、制御パラメータを補間し、各筋肉に対する皮膚の滑動、膨張及び収縮を表現してもよい。この手法は、３次元空間に亘って、皮膚の頂点を初期位置に変換する基本的な変形技術として用いることができる。筋骨格ジオメトリスキニング（musculo-skeletal geometry skinning）の１つの利点及び結果は、基底にある基礎構造上で組織的な変換が行われ、ベース層が自然に変形することである。
【００２３】
次に、ユーザが定義する頂点ブレンド重みに基づいて、候補となる第２の取付点２４６、２５４、２５６、２５８、２６０から皮膚の頂点２３０のための最終的な第２の取付点２４６を選択する。幾つかの実施の形態では、単一の皮膚点に影響を与えることができる筋肉の数に制約を設けることなく、筋肉が皮膚のあらゆる頂点を制御できるようにスキニングアルゴリズムを設計してもよい。頂点ブレンド重みの選択によって、皮膚を表す頂点の重み付けをユーザが直接制御できるようにしてもよい。すなわち、幾つかの実施の形態では、ポリゴンメッシュの場合、各頂点は、各筋肉毎に頂点ブレンド重みを有することができる。頂点の最終位置は、対応する重みによってスケーリングされたそれぞれの筋肉変換を頂点位置に適用することによって算出される。幾つかの実施の形態では、骨及び／又は筋肉変換の組（変換行列として保存される。）が選択される皮膚頂点のためのパレットを形成する行列パレットスキニングと呼ばれるアルゴリズムを用いてもよい。幾つかの実施の形態では、各頂点に対応する複数の筋肉及び／又は骨の間で、頂点ブレンド重みを正規化してもよい。このようにして、ユーザ定義情報に基づいて第２の取付点を選択する能力によって、筋骨格サブ空間ジオメトリスキニングが実現する。
【００２４】
皮膚の筋肉への取付を利用して皮膚点を初期位置に変形するプライマリノードの１つである筋肉デフォーマについて、幾つかの実施の形態で用いることができるこれらの技術の具体的な適用例について説明する。すなわち、このデフォーマに使用できるアルゴリズムは、まず、皮膚頂点位置から最も近い筋肉上の点を用いて、サーフェス指向の変換（surface oriented transform）を導出する。次に、逆バインド行列を保存し、バインド演算を行う。
【００２５】
例えば、以下の式を用いて、点を移動させてもよい。まず、固有のサーフェス微分係数行列（surface derivative matrices）を算出し、頂点毎、筋肉取付毎に固有の行列変換を行う。
【数２】
2009537927.tif 000004
【００２６】
ここで、Ｂは、バインド行列であり、Ｗは、現在位置であり、Ｍは、頂点毎、筋肉取付毎の変換である。次に、取付変換の固有の組に各頂点の正規化された重みを乗算し、変換を合計する。
【数３】
2009537927.tif 000005
【００２７】
ここで、ｗは、正規化された重みであり、ｖは、頂点位置であり、ｖ’は、新たな頂点位置である。システム内の更なる制御パラメータとして、サーフェス微分係数の取付点を動かす滑動（slide）、並びに、例えば、単に、取付ベクトルを、それらの長さに沿ってスケーリングして、皮膚の膨張又は収縮を表現する膨張及び収縮を含ませてもよい。
【００２８】
これまで、動的筋肉及び皮膚システムの例示的な実施の形態を説明してきた。但し、上述のように、本発明の幾つかの実施の形態では、完全に制御可能で予測可能な、修正エンベローピング（corrective enveloping）を動的な筋肉及び皮膚システムに組み合わせる。包括的に言えば、幾つかの実施の形態では、このような修正エンベローピングは、明示的に定義されたあらゆるポーズ又はモデリングされた形状をユーザが入力できる修正層（corrective layer）を適用するスキニングアルゴリズムの一部において実現できる。これを本明細書では、ポーズ空間形状スキニング（pose space shape skinning）と呼ぶ。幾つかの実施の形態では、ターゲットポーズにおける皮膚のコピーを作成し、このコピーを変更して、望ましい特徴、形状、皺、膨らみ等を含ませる。そして、後に使用するために、変更された皮膚のコピーを保存する。そして、皮膚がターゲットポーズに向けて動くにつれて、補間を用いて、変更された皮膚のコピーに含まれている特徴、形状等を徐々に統合する。
【００２９】
例えば、図４は、本発明の実施の形態に基づいて実行される方法４００を示している。方法４００は、上述した方法及び／又は技術の実施の形態と共に、オプションとして用いることができる。ステップ４０２では、ターゲットポーズのモデルにおける皮膚のコピーを作成する。ステップ４０４では、皮膚のコピーを変更する。一例として、例えば、何らかの望ましい特徴、形状、皺、膨らみ等、皮膚に組み込むことが望ましい形状が含まれるように皮膚を変更できる。そして、ステップ４０６において、変更された皮膚のコピーを保存する。
【００３０】
図２Ｄは、これらのステップの具体的な適用例を示している。詳しくは、ここでは、ターゲットポーズ、この具体例では、腕が完全に伸ばされた状態のキャラクタの腕２００のモデルを示している。まず、皮膚層２２６、２２８のコピーを作成し、そして、何らかの望ましい特徴が含まれるように皮膚のコピーを変更する。この具体例では、筋肉を強調する目的で、膨らみ２６２を含むように皮膚層２２６を変更してもよい。同様に、火傷又は他の負傷を示す目的で、皺２６４を含むように皮膚層２２８を変更してもよい。このように、幾つかの実施の形態では、このスキニング層の目的は、想定されるあらゆるポーズにおいて、皮膚を創造（art-direct）し、モデリングすることである。
【００３１】
一旦、皮膚への変更が作成され、保存されると、この変更は、アニメーションにおける後の使用のために読み出すことができる。例えば、図５は、本発明の実施の形態に基づいて実行される方法５００を示している。方法５００は、上述した方法及び／又は技術の実施の形態と共に、オプションとして用いることができる。ステップ５０２では、ターゲットポーズのために以前に変更された皮膚のコピーを記憶装置から読み出す。そして、ステップ５０４では、ターゲットポーズのために以前に変更された皮膚のコピーに基づいて、前のポーズにおける皮膚の値を補間する。
【００３２】
幾つかの実施の形態では、システムは、散乱データ補間（scattered data interpolation）を用いて、特定のポーズへの皮膚変更に制約を加えることによって、ユーザが定義した特定の皮膚の変化を取り込むことができる。このようにして、基底にある皮膚システムは、保存されているポーズに皮膚が近づき始めると、保存されているモデリングされた形状が自動的に有効化されるように、ユーザが入力した変更を補間できる。
【００３３】
幾つかの実施の形態では、これらの結果を得るために、モデリングされた差異を相対的皮膚サブ空間に変換し、放射基底関数を用いて補間を行ってもよい。システムのドライバを構成するパラメータは、一連の骨であってもよく、又は皮膚がある位置に動く際に皮膚を変化させる他の任意の属性であってもよい。これにより得られる出力は、皮膚サブ空間内において、ポーズ間で予測可能な区分的連続関数的手法で補間を行いながら、如何なるポーズにおいても新たな形状にモデリングできる完全に制御可能でしなやかな質感を有する皮膚である。このように、ポーズ空間変形及び基底にある骨格システムをドライバとして用いて、修正エンベローピングを提供でき、放射基底関数を修正形状間の補間のための修正エンベローピングのための補間の手段として用いることができる。
【００３４】
したがって、これらの技術によって、筋肉が皮膚をある位置に動かした後に、皮膚形状を変更することができる。幾つかの実施の形態では、システムのこの部分は、モデリングされた形状が元の皮膚位置からのオフセットベクトル（又はデルタ）として算出されるエリアを含み、そして、オフセットベクトルは、その状態においてポーズ位置を表すために選択された何らかの属性を用いて補間される。システムのこの部分は、ポーズ空間変形法を利用してもよいが、筋肉及び皮膚ベースのスキニングシステムの残りの部分にポーズ空間変形法を効果的に組み合わせることもできる。
【００３５】
幾つかの実施の形態において、このシステムの部分を実現するために使用できる具体的なアルゴリズムを以下に示す。
【数４】
2009537927.tif 000006
【００３６】
ポーズ空間変形法では、放射基底関数を用いて、ポーズパラメータの値に応じて、修正オフセットベクトルをアップスケーリング又はダウンスケーリングするために用いられるポーズ重みを導出してもよい。このエフェクトは、上述のように、算出されたローカルな筋骨格皮膚の行列サブ空間内で生じてもよい。
【００３７】
本発明の幾つかの実施の形態では、ポーズ空間形状スキニング層を適用した後に、１つ以上のオプションの更なる皮膚層を適用して、皮膚の表面の詳細をシミュレートしてもよい。すなわち、これらの１つ以上のオプションの最終的な皮膚層は、皮膚がどのように弛緩するか、皮膚がメッシュに亘ってどのように滑るか、及び緊張及び弛緩といった張りの変化に応じて皮膚がどのように反応するか等に関して、皮膚の表面の詳細をシミュレートするように設計してもよい。皮膚の緊張のシミュレーションは、動的な筋肉層から開始され、脂肪揺動及び皮膚緊張層に移行する、全てが連携するように構築された様々な層において行うことができる。したがって、本明細書では、このようなオプションの更なる層を、動的にシミュレートされた脂肪揺動及び皮膚緊張層と呼ぶ。幾つかの実施の形態では、筋肉の緊張度自体によって、弛緩された筋肉が示すと考えられる揺動及び膨張の量を決定する。
【００３８】
すなわち、幾つかの実施の形態では、ポーズ空間形状スキニング層を適用した後に、モデルの一部に更なる脂肪揺動層を適用してもよい。幾つかの実施の形態では、揺動エフェクトは、ユーザが定義するパラメータに基づいて決定してもよい。
【００３９】
例えば、図６は、本発明の実施の形態に基づいて実行される方法６００を示している。方法６００は、上述した方法及び／又は技術の実施の形態と共に、オプションとして用いることができる。ステップ６０２では、揺動エフェクトを提供するためにモデルの一部にオプションの更なる層を適用する。
【００４０】
図２Ｄは、このステップの具体的な適用例を示している。具体的には、キャラクタの腕２００のモデルの下部に垂れ下がった贅肉又は脂肪２６６の更なる層を適用してもよい。このように、幾つかの実施の形態では、ポーズ空間形状スキニング層の後であって、緊張層の直前の更なる層として脂肪揺動をシミュレートできる。
【００４１】
方法６００（図６）の次のステップは、ステップ６０４であり、ここで、皮膚弛緩エフェクトを提供するために、モデルの一部にオプションの更なる層を適用する。オプションの皮膚弛緩エフェクトは、幾つかの異なる手法で用いることができる。例えば、皮膚弛緩層を用いて、包括的な形状を同じに維持しながら、皮膚を盛り上がらせ、弛緩しているように見せ、及び／又はモデルのサーフェスにおける皮膚滑動エフェクトを提供することができる。
【００４２】
例えば、皮膚弛緩エフェクトの無効化によって、更なる層は、皮膚が盛り上がった外観を提供する。すなわち筋肉自体の緊張度によって、張力によって撓んだ皮膚を表すユーザが定義した形状を導いてもよい。張り又は緊張の有効化の結果、皮膚の弛緩が無効化され、これによって、皮膚が盛り上がり、より多くの筋ができる。
【００４３】
他の具体例では、皮膚弛緩エフェクトの有効化によって、更なる層の頂点がより一様に分布する。すなわち、張り又は緊張の無効化によって、皮膚弛緩が有効化され、これによって、変形する幾何学的モデルのサーフェスに亘って頂点が一様に分布する。
【００４４】
幾つかの実施の形態では、皮膚弛緩エフェクトの有効化によって、包括的な形状を同じに維持しながら、モデルのサーフェスにおける皮膚滑動エフェクトが有効化される。すなわち、サーフェスの弛緩によって、滑動を有効化してもよく、ここでは、変形するメッシュの平坦なサーフェスに亘って制約された単純化されたバネ式（spring equation）を用いて、変形するモデルの既に定義されているサーフェスの詳細に亘ってのみ皮膚の滑動が生じるようにしてもよい。このシミュレーションを行っても、サーフェスは、包括的な形状を同じに維持することができ、収縮及び頂点平均化によって典型的に生じる他の問題を回避することができる。
【００４５】
図２Ｄは、このステップの具体的な適用例を示している。具体的には、ここでは、図に示すように、キャラクタの腕２００のモデルの一部に滑動する皮膚２６８の更なる層を適用している。
【００４６】
幾つかの実施の形態では、皮膚が滑動し、張り、揺れる位置及び量は、これらのエフェクトを適用すべきエリアのマップをモデルにペイントできるようにすることによって、ユーザが直接制御できるようにしてもよい。また、幾つかの実施の形態では、動的な力の変更及びアニメーションのためのパラメータを使用できるようにする。
【００４７】
揺動する筋肉及び／又は脂肪、並びに弛緩及び滑動する皮膚は、システムの２つの動的側面である。幾つかの実施の形態では、これらの２つのシステムは、時間に関係する動的な性質において、同様のアルゴリズムを共有できる。例えば、各ノードは、現在の状態を算出でき、及び以前の状態を保存でき、これにより、速度等の時間に関係する微分係数を算出できる。
【００４８】
幾つかの実施の形態では、筋肉及び／又は脂肪揺動ノードは、現在の頂点位置を動的な頂点位置のゴールとして用いる変更されたバネ式を適用でき、これにより、元の形状を維持しながら、頂点が弾み及び揺れることが可能になる。各頂点は、このエフェクトに乗算することができる重み値を有していてもよい。変更されたバネ式は、許容される速度ベクトルをクランピングすることによって容易に表すことができる。
【数５】
2009537927.tif 000007
【００４９】
ここで、Ｖ１は、前の速度であり、Ｖ２は、現在の算出された速度であり、ｃは、クランピングの基礎となるユーザ定義値であり、ｋは、バネ定数であり、ｄは、減衰係数である。このように、力は、（ユーザ入力パラメータに基づく）クランピングされた速度に基本的な硬さと減衰パラメータを乗算した値に等しい。
【００５０】
皮膚緊張（皮膚の張り）ノードは、これと同様の揺動アルゴリズムを含んでいてもよいが、ここでは、エフェクトは、筋肉ではなく皮膚上の点に適用される。また、皮膚緊張ノードは、周囲の隣接する頂点によって各点の位置を平均化し、次に、メッシュ上の最も近い点の位置を算出し、皮膚をこの新たな位置に素早く動かすアルゴリズムを含んでいてもよい。これは、より明瞭な皮膚シミュレーション結果を得るために、より上位のステップに適用できる段階的なアルゴリズムである。
【００５１】
このように、本発明の幾つかの実施の形態では、システムは、ジオメトリ生成及びジオメトリ処理ノードを備えていてもよい。これまで、このような幾つかのノードの具体例について説明した。これらのノードは、入力又は出力として、他のノードと互いに結びついて、本発明の１つ以上の実施の形態に基づいて動作する全体的なシステムを形成する。
【００５２】
幾つかの実施の形態では、Ｒｏｕｅｔ他による米国特許第５，８８３，６３８号に開示されている情報、教示及び／又は技術用いてもよく、この特許文献は、その全体が引用によって本願に援用される。但し、このような情報、教示及び／又は技術の使用は、オプションである。
【００５３】
幾つかの実施の形態として、本明細書に開示した方法、特徴及び／又は技術の１つ以上は、強力な統合型３次元モデリング、アニメーション、エフェクト、レンダリングソリューションであるオートデスク社（Autodesk：商標）のＭａｙａ（商標）ソフトウェアを用いて実現してもよい。例えば、Ｍａｙａ（商標）において、動的な筋肉を入力として用いる正規化されたスキニングアルゴリズムを実装し、同時にこれをポーズ空間変形システムに接続してもよい。Ｍａｙａ（商標）を用いて、現実的な筋肉のキャラクタを変形し、幾何学的ボリュームに基づいて、現実的な滑動する皮膚をシミュレートするポーズ空間変形システム及び皮膚緊張システムを実現してもよい。また、Ｍａｙａ（商標）は、ブレンティングのためのポーズの幾何学的モデリングに用いてもよい。
【００５４】
幾つかの実施の形態では、多くの異なる種類のコンピュータ、グラフィックスワークステーション、テレビジョン、エンターテインメントシステム、ビデオゲームシステム、ＤＶＤプレーヤ、ＤＶＲ、メディアプレーヤ、ホームサーバ、ビデオゲームコンソール又はこれらに類する機器上で、本明細書に記載されている方法、特徴及び／又は技術の１つ以上を使用、実装及び／又は実行してもよい。幾つかの実施の形態は、コンピュータ命令を保存し、実行して、例えば、上述した形状スキニング及び層を提供する１つ以上のプログラマブルプロセッサ及び対応するコンピュータシステムコンポーネントを含んでいてもよい。幾つかの実施の形態は、コンピュータにより読取可能な媒体に保存され、コンピュータシステムにおいて実行されると、コンピュータシステムによって上述した方法及び／又は特徴の１つ以上を実現するコンピュータ命令を含んでいてもよい。
【００５５】
幾つかの実施の形態では、更なる変形及び実装例を用いてもよい。例えば、様々な種類のシステム（例えば、分散型システム又はパラレルシステム）上で、又は様々な目的（例えば、映画用のアニメーション、テレビジョン放送用のアニメーション、オンラインアニメーション、ゲームアニメーション等）のために、適切な構成（例えば、解像度）でアニメーションを生成してもよい。
【００５６】
図７は、幾つかの実施の形態で用いることができる本明細書に開示する何れかの方法及び／又は技術を実装、実現及び／又は実行するための例示的なシステム７００を示している。但し、システム７００の使用は、必要条件ではない。
【００５７】
システム７００は、一例として、以下に限定されるわけではないが、中央演算処理装置（central processing unit：ＣＰＵ）７０２、グラフィック処理装置（graphics processing unit：ＧＰＵ）７０４、デジタル微分解析（digital differential analysis：ＤＤＡ）ハードウェア７０６、ランダムアクセスメモリ（random access memory：ＲＡＭ）７０８及びディスクドライブ等の大容量記憶装置７１０を備える。このように、幾つかの実施の形態では、システム７００は、プロセッサベースのシステムである。システム７００には、例えば、任意の種類の表示装置であるディスプレイ７１２を接続してもよく、統合してもよい。
【００５８】
本明細書に開示する方法及び技術のステップを実行する際は、ＣＰＵ７０２及び／又はＧＰＵ７０４を用いて、これらを実行又は補助してもよく、ディスプレイ７１２上で、様々なプログラムコンテンツ、画像及び／又はモデルをレンダリングすることができる。オプションとして、大容量記憶装置７１０と共に、本明細書に開示する方法、技術及び／又は特徴を実現するコードを保存するリムーバブル記録媒体７１４を用いてもよい。但し、このようなコードを保存するために、例えば、ＲＡＭ７０８又は大容量記憶装置７１０等、如何なる記憶装置を用いてもよい。システム７００の全て又は一部は、例えば、テレビジョン、コンピュータ、ビデオゲームコンソール又はシステム、又は上述したあらゆる種類の機器を含む如何なる種類の機器に実装してもよい。
【００５９】
したがって、本発明の実施の形態は、アニメーション等のために、コンピュータシステムにおいて皮膚の外観をシミュレートする技術を実装するために用いることができる装置及び方法を提供する。本発明に基づくシステムの一具体例では、コンピュータシステムは、筋骨格形状スキニングに基づいてコンピュータが生成した皮膚システムを提供する。筋骨格形状スキニングの１つの実現例では、動的な幾何学的ボリュームから導出された３次元頂点の補間を用いることができる。実現例において提供できる特徴は、以下に限定されるものではないが、動的な幾何学的筋肉ボリュームプリミティブ、筋骨格サブ空間形状スキニング、ポーズ空間形状スキニング、動的にシミュレートされた皮膚緊張及び脂肪揺動のうちの１つ以上を含むことができる。
【００６０】
幾つかの実施の形態では、動的筋肉及び皮膚システムは、複数の骨と、骨に取り付けられた筋肉とを有するモデルを確立してもよい。筋肉に皮膚を結合してもよく、この結合を解剖学に基づいて行ってもよい。モデルが変形されると、新たなポーズについて、皮膚の各頂点のための筋肉上の複数の候補となる新たな取付点を算出できる。ユーザが定義する制御パラメータに基づいて、候補となる新たな取付点を算出してもよい。最終的な取付点は、ユーザが定義する頂点ブレンド重みに基づいて、各頂点のための候補となる新たな取付点から選択してもよい。各頂点に対応する複数の骨の間で頂点ブレンド重みを正規化してもよい。このように、幾つかの実施の形態では、モデルが変形する際、ユーザが定義する制御パラメータ及び頂点重みに基づいて、筋肉への皮膚の特定の取付点を変更してもよい。
【００６１】
幾つかの実施の形態では、動的な筋肉及び皮膚システムに、完全に制御可能で予測可能な、修正エンベローピングを組合せ、ここで、皮膚の現在の層と、ターゲットポーズにおける変更された皮膚のコピーとの間で補間を行うことによって皮膚の第１の修正層を追加してもよい。変更された皮膚のコピーは、望ましい形状、皺、膨らみ等を含んでいてもよく、補間を用いて、皮膚がターゲットポーズに近づくにつれて、これらの形状を徐々に統合してもよい。
【００６２】
幾つかの実施の形態では、モデルの一部に更なる脂肪揺動層を適用してもよい。揺動エフェクトは、ユーザが定義するパラメータに基づいて表してもよい。
【００６３】
最後に、幾つかの実施の形態では、更なる皮膚弛緩層をモデルの一部に適用してもよい。皮膚弛緩エフェクトの無効化によって、皮膚を盛り上がらせてもよく、皮膚弛緩エフェクトの有効化によって、皮膚内の頂点がより一様に分布するようにしてもよい。また、皮膚弛緩エフェクトの有効化によって、包括的な形状を同じに維持しながら、モデルのサーフェスにおける皮膚滑動エフェクトを有効化してもよい。
【００６４】
以上、本明細書では、特定の実施の形態及びその応用例を用いて、本発明を説明したが、当業者は、特許請求の範囲に記載した本発明の範囲から逸脱することなく、これらの実施の形態を様々に変更及び変形できる。
【図１】
2009537927.tif 000008
【図２Ａ】
2009537927.tif 000009
【図２Ｂ】
2009537927.tif 000010
【図２Ｃ】
2009537927.tif 000011
【図２Ｄ】
2009537927.tif 000012
【図３】
2009537927.tif 000013
【図４】
2009537927.tif 000014
【図５】
2009537927.tif 000015
【図６】
2009537927.tif 000016
【図７】
2009537927.tif 000017
【国際調査報告】
2009537927.tif 000018