表面メッシュと関連する制御を用いたキャラクタの軟組織の三次元アニメーション
【課題】キャラクタの顔面およびその他のいずれの軟組織であっても、表面メッシュに取り付けられた軟組織ソルバを作成することによって、スケルトンを動画化するのと全く同様に、動画化することを可能にする。
【解決手段】変形オブジェクトを表面メッシュの領域と関連付ける。変形オブジェクトは、制御オブジェクトの変化に応答して、変形作用素に応じてメッシュを変形する。この軟組織ソルバは、入力メッシュ上で指定された1組の突出点と、入力メッシュが一例である、そのクラスのオブジェクトについてのフォーマット・ファイルとが与えられると、自動的に生成することができる。フォーマット・ファイルは、突出点が何であるか、変形オブジェクトおよび制御オブジェクトの相対的な配置を突出点の関数として指定する。特定の変形作用素を、フォーマット・ファイルを介して、規定し、変形オブジェクトおよび制御オブジェクトと関連付けることができる。
【解決手段】変形オブジェクトを表面メッシュの領域と関連付ける。変形オブジェクトは、制御オブジェクトの変化に応答して、変形作用素に応じてメッシュを変形する。この軟組織ソルバは、入力メッシュ上で指定された1組の突出点と、入力メッシュが一例である、そのクラスのオブジェクトについてのフォーマット・ファイルとが与えられると、自動的に生成することができる。フォーマット・ファイルは、突出点が何であるか、変形オブジェクトおよび制御オブジェクトの相対的な配置を突出点の関数として指定する。特定の変形作用素を、フォーマット・ファイルを介して、規定し、変形オブジェクトおよび制御オブジェクトと関連付けることができる。
【発明の詳細な説明】
【背景技術】
【0001】
コンピュータ・アニメーションでは、キャラクタは、一般には、多くの場合スケルトンと呼ばれているトポロジと、多くの場合スキンまたはエンベロープと呼ばれている、関連するジオメトリとによって規定されている。トポロジは、多数の相互接続されているエレメントを含む。トポロジにおける各エレメントは、位置および方位によって三次元で規定されており、方向および回転を含む場合もある。種々のアルゴリズムが、トポロジおよびジオメトリ間の関係を制御し、キャラクタの様相(look)を生成する。
【0002】
キャラクタを操作しアニメーションの外観を得るために、種々の技法を用いることができる。一般に、このような技法は、リギング(rigging)と呼ばれるプロセスにおいて、1つ以上のアニメーション制御を1つ以上のトポロジのエレメントと関連付けることを伴う。1つの技法では、逆運動学および順運動学およびキャラクタ・リギング技法の組み合わせを用いて、経時的なキャラクタのモーションを記述する一連のキー・フレームを指定する。別の技法は、計時的なキャラクタのトポロジの選択したエレメントの位置および方位を表すモーション・キャプチャ・データを用いる。他のアニメーション技法は、制約、スクリプトまたは表現を用いることを含む。
【0003】
しかしながら、本物そっくりな顔面表現のアニメーションは、コンピュータ・アニメーションにおいては難しい問題である。キャラクタの身体の残りの部分とは対照的に、動くことができるスケルトンの部分はわずかに過ぎない。即ち、顎および首だけである。したがって、動画化することができる顔面の他の動きの全ては、軟組織(soft tissue)のモーションをシミュレートしなければならない。
【0004】
本物そっくりな顔面表現のアニメーションは、コンピュータ・アニメーションにおいては重要な問題である。何故なら、顔面は、感情を表現する主要な手段であるからである。アーティストは、顔面への微妙な変化を可能にするアニメーション制御を有する必要がある。微妙さや現実性を欠くと、動画化したキャラクタが感情を伝えたり、現実の俳優として認知され得る範囲が狭められる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
顔面のアニメーションの問題に取り組むために、様々な技法が生み出されており、軟組織の挙動を模擬する筋肉系のモデルを作成すること、手作業で表面メッシュのポーズを注意深く規定し、このようなポーズ間でモーフィング(morphing)すること、およびモーション・キャプチャを用いて表面メッシュの点の三次元位置を直接制御することが含まれる。これらの技法の全ては、多大な労力を要する。POLAR EXPRESS, THE INCREDIBLES、およびLOAD OF THE RINGSにおけるGOLLUMキャラクタにおけるような、主要なモーション・ピクチャ・リリース(motion picture release)の一部であるアニメーションでは、顔面の本物そっくりで複雑なアニメーションは、多くの場合、アニメータのチームによる数カ月に及ぶ作業を必要とする。
【課題を解決するための手段】
【0006】
顔面は、キャラクタのその他の多くの軟組織と同様、表面メッシュに取り付けた軟組織ソルバ(solver)を作成することにより、スケルトンを動画化するのと全く同じように動画化することができる。即ち、変形オブジェクトを表面メッシュの領域と関連付ける。変形オブジェクトは、制御オブジェクトの変化に応答して、変形作用素(deformation operator)にしたがってメッシュを変形させる。この軟組織ソルバは、入力メッシュが一例であるオブジェクトのクラスに対して入力メッシュおよびフォーマット・ファイルについて指定された1組の突出点が与えられれば、自動的に生成することができる。フォーマット・ファイルは、突出点が何であるか指定し、変形オブジェクトおよび制御オブジェクトの相対的配置を、突出点の関数として指定する。特定の変形作用素は、フォーマット・ファイルを通じて規定され、変形オブジェクトおよび制御オブジェクトと関連付けられる。人およびロボット(humanoid)の頭部のような、あるクラスのオブジェクトに対するフォーマット・ファイル、および関係する作用素は、モデル化するオブジェクトの実験および観察に基づいて決定することができる。
【0007】
このような軟組織ソルバによって、表面メッシュの変形の挙動を定量化し、メッシュ上の点の直接操作によって制御する。このように、オブジェクトの表面は、逆運動学を用いてスケルトンのアニメーションを規定する方法と同様に、動画化することができる。オブジェクトの表面が直接その外観または審美性(aesthetics)に関係するので、このアニメーション機能をここでは「定量的審美性」と呼ぶ。このプロセスは、定量的審美性を通じて、アルゴリズムによって表現される軟組織内における外部、内部双方および転移(shifting)の関係の発見的分析に基づいて、成分を作成する。
【0008】
グラフィカル・ユーザ・インターフェースは、例えば、異なる種類のオブジェクト毎に異なるインターフェースを設けることができ、これらを別個に目視および調節することを可能にする。これらのオブジェクトは、入力メッシュのレンダリング上で対話的に表示することができ、任意に選択した他の種類のオブジェクトのレンダリングにより、それらの相互関係を視覚化する際にユーザを補助することができる。
【0009】
フォーマット・ファイルおよび入力メッシュを用いることによって作成された軟組織ソルバは、同じフォーマット・ファイルから作成された同じクラスのオブジェクト内における異なるキャラクタに対して興味深い特性を有する。即ち、同じフォーマット・ファイルを用いて作成された全てのキャラクタは、同じ全体構造の軟組織ソルバを有する。このため、フォーマット・ファイルは、それが表すクラスのオブジェクトに対して、カノニカル軟組織ソルバを規定する。異なるキャラクタに対する軟組織ソルバが同じ全体構造を有するので、モーションおよび属性双方を含むがこれらには限定されない種々のアニメーション情報を、アニメーション間で一層容易に転送することができる。
【0010】
顔面アニメーションでは、アニメータが、しわのある顔面のような、迫真性を高めた顔面を作成したがっているのが一般的である。このような成果を得るためには、変形作用素を、入力メッシュに対して低周波歪みを生成するものと理解することができる。対照的に、しわは、そうしなければ滑らかである表面に対する高周波歪みとして理解することができる。このように、種々の変形作用素によって表面を変形した後に、入力メッシュに関連する別個のしわマップ、および他の高周波歪みを作成し、表面に重ね合わせることができる。
【0011】
軟組織ソルバは、顔面のような、オブジェクトの異なるポーズを作成するために用いることができる。これらの異なるポーズは、キー・フレームとすることができ、これらのポーズ間の内挿を行うことができる。あるいは、モーション・キャプチャを用いてオブジェクトを操作することができる。しかしながら、各変形オブジェクトを独立して制御することができるので、このような内挿またはモーション・キャプチャは、局所的に変形作用素毎に実行または適用することができ、こうしてポーズ間の遷移において、局所的な制御およびスムージングを得ることができる。
【0012】
また、このようなシステムと共に、モーション・キャプチャおよびキー・フレーム・アニメーションを組み合わせた混成ワークフローも用いることができる。
殆どの一般的なシステムでは、変形オブジェクト、変形作用素、制御オブジェクト、およびこれらの相互関係を規定する種々のパラメータは、全て、ユーザの入力に基づいて動画化することができる。しかしながら、複雑さを低減するために、これらのパラメータの一部を固定とすることもできる。例えば、先に記したように、導入段階(guide phase)には、軟組織ソルバの完成を簡素化するために、オブジェクトの位置、サイズおよび方位を固定することが含まれる。また、変形作用素が、制御オブジェクトに対するリアルタイムの対話的修正に基づいて、リアルタイムで動作できるように、変形作用素のパラメータ全てを固定することが望ましい場合もある。このようなリアルタイムの対話的挙動を有することは、特にゲームにとって有用である。このような変形作用素は、ゲームにおけるキャラクタに用いられるリアルタイム・ミドルウェアとして規定され、これに対してゲーム・エンジンはゲーム中ユーザ入力に基づいてキャラクタを対話的に動画化する。
【0013】
これらの顔面動画化に対する解決策は、オブジェクトの表面を表すいずれのメッシュ、スキン、またはエンベロープの詳細を動画化する際にも、直接適用することができる。
【発明を実施するための最良の形態】
【0014】
これより図1を参照して、定量的美学に基づくアニメーション・システムの一実施態様についてここで説明する。三次元ロボットの頭部および首のようなオブジェクトに対する三次元入力メッシュ100を構築部102に入力する。構築部102は、以下で更に詳しく説明するファイル・フォーマット106を受け取る。ファイル・フォーマットは、メッシュ100が表すオブジェクトの種類と関連付けられている。ユーザ・インターフェース108は、ユーザに、入力メッシュ100上において突出点の位置を指定させる。突出点は、そのファイル・フォーマット106によって、オブジェクトの種類毎に識別される。フォーマット・ファイル106における情報、入力メッシュ100およびユーザが指示した突出点に基づいて、構築部102は自動的に軟組織ソルバ104を生成する。
【0015】
軟組織ソルバ104は、1つ以上のアニメーション制御部を含み、その各々は、軟組織ソルバにおける1つ以上の制御オブジェクトを制御する。変形作用素が、1つ以上の制御オブジェクトと関連付けられており、変形領域を操作して、制御オブジェクトの変化に応じてメッシュを変形する。このような変化は、通例、制御オブジェクトの位置の変化、即ち、変位であるが、スケーリング、回転、または色のような非幾何学的属性の変化であっても、含むことができる。また、構築部は導入インターフェース116も含む。以下で更に詳しく説明するが、導入インターフェースは、軟組織ソルバを生成する前に、変形領域、変形作用素、変形オブジェクト、およびアニメーション制御部のパラメータを、ユーザに修正させる。
【0016】
軟組織ソルバ104が得られると、軟組織ソルバ・インターフェース110が、ユーザに、軟組織ソルバの構造を視認およびチューニングさせる。これについては、以下で更に詳しく説明する。インターフェース110は、ユーザの要求に応答して、軟組織ソルバの異なるレイヤを表示する。また、インターフェース110は、ユーザに、軟組織ソルバ104のパラメータを修正させる。アニメーション・インターフェース112が、軟組織ソルバ104からの1つ以上の制御オブジェクトを、アニメータに使用可能にし、アニメータにメッシュのアニメーションを規定させる。
【0017】
入力メッシュ100は、一般に、ポリゴン・メッシュ、NURBS面、または三次元で顔面を規定する頂点および縁の組み合わせであるその他のオブジェクトというような、三次元幾何学的プリミティブ(geometrical primitive)である。三次元幾何学的プリミティブGは、一般に、n個で1組の制御頂点V={Vi:1<=i<=n}として規定され、各々位置トリプレットPvi=(xi,yi,zi)に関連付けられている。三次元幾何学的プリミティブの一例にメッシュがある。メッシュは、面、頂点、および側縁を指定することによって規定する。頂点および側縁は、n箇所の辺がある面を規定する。
【0018】
一般に、メッシュはコンピュータにおいて、頂点、側縁(線分かまたは曲線か)、および面(平面か否か)に関する情報を格納する3つのアレイによって表される。各頂点を表すデータ構造は、例えば、その位置、ならびに隣接する側縁および面のインデックスを規定するデータを含むことができる。各側縁を表すデータ構造は、例えば、その終端の頂点のインデックス、および2つの隣接する面のインデックスを規定するデータを含むことができる。各面を表すデータ構造は、例えば、その隣接する面、側縁、および頂点のインデックスを規定するデータを含むことができる。
【0019】
あるオブジェクトに対する入力メッシュ100は、必須ではないが、「良く形成」されており、メッシュにおいてループによって規定される全ての面が交差せず、前を向き、非縮退(nondegenerate)となるように、即ち、その頂点がその他の頂点と重複せず、その側縁がその他の側縁と交差しないようにするとよい。製作において用いられる殆どのメッシュはこの基準を満たしている。
【0020】
オブジェクトに対する入力メッシュ100が呈する特性は、作成する物体の種類に対して典型的である。以下の例では、例示の目的で顔面のメッシュを用いる。本発明は、動画化キャラクタのいずれの部分の軟組織の動画化にも適用可能であり、頭部、頭部および首、腕、手、型、脚部、足、またはキャラクタのその他のいずれの部分をも含むが、これらに限定されるのではない。顔面では、フォーマット・ファイル106は、例えば、ユーザが顔面メッシュに与える期待(expectation)、2つの眼球メッシュならびに上下の歯のメッシュを反映することができる。入力メッシュ100は、このような場合、顔面メッシュ、2つの眼球メッシュ、ならびに上下歯メッシュを含むとよい。
【0021】
フォーマット・ファイル106の構造は、軟組織ソルバを生成するためにユーザが指定するまたは計算するために必要となる種々のオブジェクトを明記する。即ち、フォーマット・ファイル106は、メッシュおよび変形部の成分のリストを明記する。メッシュの成分は、突出点、補助点(helper point)、導入曲線、および任意にその他の情報を含むことができる。また、フォーマット・ファイル106は、どのようにして突出点およびその他の補助点から補助点を導出したか、そしてどのようにして導入曲線を突出点および補助点から導出したかも示すことができる。変形部は、変形領域、変形作用素、および任意にその他の情報のリストを含むことができる。また、フォーマット・ファイル106は、変形領域および変形作用素をこれらの点および曲線に対してどのように規定したか、そしてどのようにしてこれらをこれらの点および曲線と関連付けたかも示すことができる。
【0022】
ある種のオブジェクトに対するフォーマット・ファイル106の実際の内容、および入力メッシュ100によって誇示しようとする対応の特性は、審美的な選択の問題である。このような審美的選択は、例えば、動画化するキャラクタの基となる実際のキャラクタの典型的な部分の挙動の実験および観察を通じて、情報を得ることができる。例えば、異なるポーズにおいて異なる顔面のピクチャを数枚取り込み、頬が動く様相を特定することができる。この情報は、別個の変形領域、突出点、補助点、および導入曲線を特定するために用いることができる。実際の位置データを収集し、曲線当てはめプロセスによって、この挙動を定量的に規定するために用いることができる。
【0023】
フォーマット・ファイルにおいて名称を付けられた突出点は、作用素が指定した入力メッシュ上の点と関連付けられている。例えば、図2に示すような顔面を表すメッシュを用いると、このような突出点は、こめかみ200、眉毛の頂点202、および目の最上位204、目の内側角206、目の外側角208、目の最下位210、鼻先212、鼻の隆起214、耳朶の付け根216、上唇218、口の角220、下唇222、顎の角224、および顎先の角226を含むことができる。鼻先212ならびに上下唇218および222を除くこれらの点全ては、左右に対応物がある(入力メッシュにおいては、対称的である場合も、ない場合もある)。これらの点は、最終的に、アニメーションのために関連する制御部を有し、それをキー・フレームにすることができ、それにモーション・キャプチャ・データを添付することができる。
【0024】
フォーマット・ファイル106によって指定された突出点は、観察および実験によって情報が得られる、審美的選択の問題として決定することができる。フォーマット・ファイルは、オブジェクトの「種」即ちクラス毎に作成され、一方入力メッシュは、このようなオブジェクトの特定的なインスタンスである。したがって、先に列挙した突出点は、全ての人およびロボットの顔面に適用可能な1組の突出点としての例示に過ぎない。しかしながら、人およびロボットの顔面に適用するために、異なる1組の突出点を規定することもできる。
【0025】
図3を参照すると、グラフィカル・ユーザ・インターフェース300が設けられており、ユーザに、入力メッシュ100上で突出点の位置を指定させる。入力メッシュ100が、フォーマット・ファイルにおいて指定することができるように、互いに組み合わせられた別個のメッシュを含む場合、グラフィカル・ユーザ・インターフェースは、ユーザに、メッシュの1つを選択するように促すことができる。図3では、突出点の選別リスト302を、フォーマット・ファイル106における突出点のリストから作成する。304に示すように、入力メッシュ100をレンダリングし表示する。ユーザは、選別リスト302における突出点を選択し、次いで表示されている入力メッシュ304上において対応する点を選択することができる。あるいは、選別リスト302における突出点毎に、ユーザに、表示されている入力メッシュ304上に点を指定するように促してもよい。
【0026】
フォーマット・ファイル106が得られると、入力メッシュ100およびユーザ・インターフェース108(図3におけるような)を通じてユーザが指示した入力メッシュ100上の突出点の指示、ならびにオブジェクトに対する軟組織ソルバ104を自動的に作成することができる。
【0027】
このような自動軟組織の生成について、顔面の例を用いてこれより説明する。先に示したように、フォーマット・ファイル106は、ユーザが指示した突出点の位置から得られる数個の「補助点」を指定する。図2に示す例では、これらの補助点は、前額中点230、前額232、眉毛中点234、眼球中点236、眉毛中央238、眉毛端部240、眉毛間242、目の上244、目の間246、鼻梁248、目の外側250、目の内側254、目の縁252、目の下256、頬の隆起258、鼻の窪み260、鼻の基点262、顎上部264、口の上側266、上唇折点268、中顎(midjaw)270、口の下側272、下唇折点274、顎先の隆起276、および顎先中点278を含む。前額中点、眉毛中点、目の中点、目の間、および顎先中点を除いて、これらの点は全て左および右に対応物を有する。これらの補助点を突出点およびその他の値の関数として指定するパラメータを、フォーマット・ファイル106によって供給する。
【0028】
例えば、前額中点230は、左右のこめかみ点の中点として指定することができる。前額232は、前額とこめかみおよび前額と目の最上部との間に形成される直交線の交点として指定することができる。また、点は、他の点との間の線に沿った割合、またはその他のいずれの関数によっても規定することができる。フォーマット・ファイルは、補助点毎に、補助点の名称、およびその位置を決定するために用いた関数を指定する。
【0029】
補助点の計算後、次に導入曲線を計算する。このような導入曲線も、フォーマット・ファイルによって指定され、突出点および補助点の位置から得られる。顔面についての導入曲線の例を図4に示す。この例では、構築部102は、顎先420に対する導入曲線、前額400外側に対する左右の導入曲線、前額402内側、眉毛404、上下眼窩406および408、鼻410、頬412、顎上部414、顎中央416、および顎下部418に対する導入曲線を作成することができる。一例として、顎先の曲線420は、下唇および顎先の隆起をその終点とする曲線として規定することができる。
【0030】
次に、変形領域を規定する。このような変形領域は、フォーマット・ファイルによっても指定され、突出点、補助点および導入曲線の位置から得られる。顔面に対する変形領域の例を図5に示す。この例では、構築部102は、顎先500、に対する変形領域、鼻の穴502、顎の角504、前額506、眉毛508、鼻510、頬512、および顎514に対して左および右の変形領域を作成することができる。フォーマット・ファイルは、領域毎に、当該領域の名称、当該領域の縁端を規定する点の整列リスト、およびその領域に関連付けられた重みを与える。
【0031】
各変形領域は、関連する変形オブジェクトを有する。変形オブジェクトは、関連する点または曲線というような、対応する制御オブジェクトに対する変化にしたがって、変形オブジェクトを修正する、関連変形作用素を有する。変形オブジェクトは、NURBS面のような表面、または曲線によって規定する。この表面は、法線に沿って表面までの変位量を示し、これを入力メッシュに適用する。したがって、この表面は、キャラクタを動画化する一部として、その関連する制御オブジェクトに対する変化の関数として変化し、所望の効果が得られる。変形オブジェクトには数種類あり、その各々が、そのジオメトリおよびそれに関連付けられている制御オブジェクトの種類に基づいて、異なる効果を有する。変形オブジェクトの一種に、隆起(bulger)と呼ばれるものがあり、これは曲線を伴う区域のことである。変形オブジェクトの別の種類に、パッファ(puffer)と呼ばれるものがあり、これは点を伴う区域のことである。変形オブジェクトの別の種類にテンドン(tendon)と呼ばれるものがあり、これは曲線を伴う曲線のことである。
【0032】
図6は、一例として、左および右鼻変形領域600および602、ならびに左および右頬変形領域604および606を示す。変形領域の各々は、中心点608、610、612、614および境界616、618、620、および622を有する。
【0033】
フォーマット・ファイルは、変形オブジェクトの種類、それが隆起、パッファまたはテンドンのいずれであるか、当該オブジェクトの名称、その制御オブジェクト、および表面の仕様を指定する。例えば、NURBS表面について、小山状の曲線の内周および外周のサイズ、その周囲を規定するオブジェクト、コンピュータにおいてこれらのオブジェクトに合わせた重み、ならびに表面の広がりの中心を指定することができる。
【0034】
特定の挙動が望まれるキャラクタの特定の領域には、特殊な変形オブジェクトを作成することもできる。例えば、顔面では、唇(例えば、唇輪郭 (lip curler)および唇角)および目(例えば、睫毛および眼球)に対して特殊な作用素を規定することができる。このような変形オブジェクトの例、ならびにそれらに関連する制御オブジェクトおよび変形作用素について、以下で更に詳しく説明する。
【0035】
これら種々のオブジェクトを作成した後、ユーザに、これらの種々のパラメータを調節させることができる。軟組織ソルバ構築のこの段階を導入段階と呼ぶ。導入段階では、種々のオブジェクト(変形オブジェクト、変形領域、突出点、補助点、および曲線)の位置、サイズ、およびその他の整合に関するパラメータを、ユーザによって調節することができる。この目的のために、グラフィカル・ユーザ・インターフェース116を用いることができる。グラフィカル・ユーザ・インターフェースは、例えば、異なる種類のオブジェクト毎に、異なるインターフェースを提供し、これらを別個に目視し調節可能にすることができる。これらのオブジェクトは、入力メッシュのレンダリング上に対話的に、任意に他の種類の選択したオブジェクトと共に表示し、その相互関係を視覚化する際にユーザを補助することができる。
【0036】
ユーザがこの導入段階においてあらゆる調節を完了した後、オブジェクトの全てを組み合わせて、軟組織ソルバを作成する。この組み合わせには、数工程を伴う。
各変形オブジェクトを、入力メッシュにおけるその対応する変形領域に適用する。即ち、変形オブジェクトは、それが作用する入力メッシュ上の頂点を特定する。それが作用する各頂点は、変形オブジェクトの中心からこの対応する点までの距離を表す値と共に、変形オブジェクトの表面上におけるその対応する点の法線ベクトル(例えば、x,yおよびz方向)も格納する。この距離は、百分率、正規化した距離、絶対距離、または変形オブジェクトがNURBS面である場合、この対応点を表すUV対からのU値の形態とすることができる。
【0037】
このように、変形領域における各頂点には、1.変形オブジェクト上におけるその相対位置、および2.変形オブジェクトと関連付けられている制御オブジェクトに対する修正に基づいてそれが変形する、関連の移動方向が関連付けられている。この情報は、メッシュ上の各頂点と関連付けられているので、ユーザは、メッシュ上において実行するペインティング動作を通じて、これらの値を修正することができ、細分割およびポリゴン削減(polygon reduction)によってこれらの属性を維持し、これらの属性を他のメッシュに転移することができる。
【0038】
変形作用素は、変形オブジェクトと関連付けられている。これらの作用素は、例えば、アニメーション・システムへのプラグインとして実施することができ、フォーマット・ファイルを通じて変形オブジェクトと関連付けることができる。変形作用素は、アニメーションの編集の間、変形オブジェクトに関連する制御オブジェクトに対する変化を監視し、変形オブジェクトを制御オブジェクトに対する変化の関数として操作する。
【0039】
加えて、コントローラを適宜作成し、アニメータが軟組織ソルバにおいて種々の制御オブジェクトを操作することができる機構を設けるようにしてもよい。コントローラは、1つ以上の制御オブジェクトを制御することができる。
【0040】
得られた軟組織ソルバは、同一のフォーマット・ファイルから作成される同じクラスのオブジェクト内において異なるキャラクタに対して、興味深い特性を与える。このように、フォーマット・ファイルはそれが表すクラスのオブジェクトに対して、カノニカルの軟組織ソルバを規定する。軟組織ソルバは、異なるキャラクタに対して同じ全体構造を有するので、モーションおよび属性の双方を含みこれらに限定されない種々のアニメーション情報をキャラクタ間で転送し易くなる。
【0041】
また、このような軟組織ソルバを通じて、表面メッシュの変形の挙動を定量化し、メッシュ上の点の直接操作によって制御する。このように、オブジェクトの表面は、逆運動学を用いたスケルトンのアニメーションと同様にして動画化することができる。オブジェクトの表面は直接その外観即ち審美性に関係するので、このアニメーション機能をここでは「定量的審美性」と呼ぶ。
【0042】
軟組織ソルバを作成した後、ユーザは、この軟組織ソルバの種々のパラメータを調節することができる。軟組織ソルバ構築のこの段階を、軟組織ソルバ段階と呼ぶ。軟組織ソルバ段階では、種々のオブジェクトの性能、特に制御オブジェクトに対する変化の関数として表面に適用される変形に関するパラメータを、ユーザが調節することができる。この目的のために、図1におけるグラフィカル・ユーザ・インターフェース110を用いることができる。このグラフィカル・ユーザ・インターフェースは、異なる種類のオブジェクト毎に別個のインターフェースを設け、これらを別個に目視し調節できるようになっている。これらのオブジェクトは、対話的に、入力メッシュのレンダリング上に、単独でまたは他のオブジェクトのレンダリングと組み合わせて表示することができ、それらの相互関係および性能を視覚化する際に、ユーザを補助する。
【0043】
特定的な一例として、変形オブジェクトのマッピングは、その対応する変形領域に対する導入段階の後に行い、変形領域における各頂点は、したがって、変形オブジェクト上にその相対的位置と、変形オブジェクトに対する修正に基づいてそれが変形する、関連の移動方向とを有する。軟組織ソルバを構築した後、対応する制御オブジェクトに対する変化量、および変形オブジェクト上の頂点の相対的位置の関数として、各頂点においてメッシュの歪みの振幅を規定する関数を規定するために、種々の制御部を設けることができる。隆起型の変形作用素に対するこのような関数、およびユーザがこの関数のパラメータを調節することができるユーザ・インターフェースの特定的な例を図7に示す。
【0044】
一例として、変形作用素の関数を、ここでは、変形曲線およびイーズイン曲線(ease-in curve)と呼ぶ2本の関数曲線と、重み値によって規定することができる。ユーザ・インターフェースは、ユーザに、テキスト・ボックス700において重み値Wを入力させる。変形曲線をグラフ702に示し、イーズイン曲線をグラフ704に示す。
【0045】
変形曲線を表す関数曲線は、y軸706上の百分率を、x軸708上の制御オブジェクトをスケーリングした百分率変化の関数として示す。図7に示すこの例では、この関数曲線は、2つの点によって指定されるS字関数を用いて規定する。2つの点は、グラフのx−y空間内に位置付けることができる。
【0046】
イーズイン曲線を表す関数は、y軸722上の百分率を、x軸724上の制御オブジェクトの百分率変化の関数として示す。図7に示すこの例では、この関数曲線も、2つの点によって指定されるS字曲線を用いて規定する。2つの点は、グラフに対してx−y空間内に位置付けることができる。このイーズイン値は、制御オブジェクトの百分率変化をスケーリングする。
【0047】
図7に示す曲線が与えられると、変形作用素は、その範囲における頂点毎に、対応する制御オブジェクトの量変化に基づいて、振幅値を計算する(位置またはサイズの差)。例えば、変形作用素が制御曲線を監視し、曲線の長さが百分率Cだけ変化した場合、値Cをイーズイン曲線に対する入力として用いて、イーズイン百分率Eを求める。イーズイン曲線からの結果Eを値Cと乗算し、変形曲線に対する入力として用い、変形百分率Dを求める。値Dに、重み値Wおよび変形オブジェクト上の頂点の相対位置を乗算する。
【0048】
頂点は、2つの異なる変形作用素による作用を受ける可能性があるので、変形作用素の各々に適用される変位振幅および方向を有する。配合動作は、これら2つの変位の間で行うことができる。
【0049】
顔面のアニメーションでは、アニメータはしわのある顔面というように、迫真性を高めて顔面を作成したいのが一般的である。このような成果を達成するために、変形作用素を、入力メッシュに対して低周波歪みを生成するものと理解することができる。対照的に、しわは、そうしなければ滑らかである表面に対する高周波歪みとして理解することができる。このように、種々の変形作用素によって表面を変形した後に、入力メッシュに関連する別個のしわマップ、および高周波歪みを作成し、表面に重ね合わせることができる。高周波歪みの他の例には、限定ではなく、切り傷、痣、化粧パターン、頬髭、髪の毛、無精髭、およびひび割れ線(cracking line)が含まれる。
【0050】
軟組織ソルバは、顔面のようなオブジェクトの異なるポーズを作成するために用いることができる。これらの異なるポーズは、キー・フレームとすることができ、更にこれらのポーズ間の内挿を行うことができる。あるいは、オブジェクトを操作するために、モーション・キャプチャを用いることができる。しかしながら、各変形オブジェクトは独立して制御することができるので、このような内挿またはモーション・キャプチャは、変形作用素毎に局所的に実行または適用することができ、こうしてポーズ間の遷移において局在的な制御およびスムージングを行うことができる。
【0051】
殆どの一般的なシステムでは、変形オブジェクト、変形作用素、制御オブジェクト、およびこれらの相互関係を規定する種々のパラメータは、全て、ユーザの入力に基づいて動画化することができる。しかしながら、複雑さを低減するために、これらのパラメータの一部を固定とすることもできる。例えば、先に記したように、導入段階(guide phase)は、軟組織ソルバの完成を簡素化するために、オブジェクトの位置、サイズおよび方位を固定することを伴う。また、変形作用素が、制御オブジェクトに対するリアルタイムの対話的修正に基づいて、リアルタイムで動作できるように、変形作用素のパラメータ全てを固定することが望ましい場合もある。このようなリアルタイムの対話的挙動を有することは、特にゲームにとって有用である。このような変形作用素は、ゲームにおけるキャラクタに用いられるリアルタイム・ミドルウェアとして規定され、これに対してゲーム・エンジンはゲーム中ユーザ入力に基づいてキャラクタを対話的に動画化する。
【0052】
以上、ある包括的変形オブジェクトに対する総合的な軟組織解明プロセスについて説明したので、これより顔面に有用な具体的な変形オブジェクトおよび作用素の一部について説明する。このような作用素の例は、唇、例えば、唇輪郭および唇角に対する作用素である。
【0053】
定量的審美性によって作成した作用素を、写真、x線、キャット・スキャン(cat scan)、解剖モーション・キャプチャ、および特定の領域のモーション範囲に関する情報を与えるその他の機械的デバイスの分析から得る。アーティストに彼らの表現に対する要望を聴取することによって、追加情報を得ることができる。
【0054】
このデータを1組の階層アルゴリズムにモデル化し、軟組織の内面および外面上のこのモーション範囲をシミュレートし変調する。このようなモデルを得るために、観察したモーション範囲を、詳細な数学的副成分のレベルに細分化する。初期の低レベルの詳細を特定し、曲線の当てはめ、点範囲の投射、拡散、およびその他の技法を用いて、データをマッピングする機械的挙動の二次元における総体的な規定を作成する。追加のレベルの詳細を適用することによって、この総体的規定を繰り返し洗練化する。各詳細レベルにおけるデータの各マッピングは、軟組織の機械的挙動の分解能のレベルを記述する。また、この繰り返しプロセスの各段階において、多くの異なる空間を通じてデータをマッピングすることもできる。
【0055】
この変形の階層化により、データおよび観察から得られる機械的範囲、ならびにアーティスト表現の潜在的必要性の双方を解決する特定的な作用素を作成する。このモーション変形のアルゴリズム階層化および配合は、特定の領域モーション範囲を表現するために、機械的挙動を制御するフレームを作成するために用いられる。成分を配合し共に集合化して、作成する軟組織の領域を更に大きくする。唇輪郭およびコーナは、軟組織モーション範囲に対してアルゴリズムを作成する、この「定量的審美性」プロセスの一例である。
【0056】
この設計プロセスは、限定ではなく、唇輪郭、隆起、パッファ、およびスキン・スライディング挙動(skin sliding behavior)を含む、軟組織ソルバ内における全ての作用素に適用することができる。作用素をモジュール状の階層設計としたことにより、単独でも、軟組織のいずれの本体内にも適用することができ、いずれの脊椎動物における軟組織の表現にも拡大することができる、柔軟な「軟組織ソルバ」が可能となる。以下で詳細に述べるが、唇輪郭は、このような作用素がどのように動作するかを示す。
【0057】
例えば、唇輪郭は、開始時に、歯面の空間にマッピングされ、次いで外側に曲がり歯の上で滑る線の空間にマッピングされる。次いで、唇輪郭は、この曲線からの厚みオフセットにマッピングされる。
【0058】
同様に、睫毛作用素も規定することができ、メッシュ上に初期データ点を取り、これらの間の距離を抽出する4本の曲線の空間にこれらをマッピングして、睫毛の基本的状態を決定する。次に、この情報を、眼球の表面の空間にマッピングし、再度ポイント・メッシュの初期空間上に投影する。このプロセス全体を重みマップおよび関数曲線によって変調し、最終的な結果を得る。
【0059】
キャラクタの口に対して、数個の唇輪郭作用素を指定することができる。例えば、中央、左および右輪郭作用素を、上下の唇の各々に設けることができる。これらの特殊作用素の各々のパラメータを調節するために、別個のユーザ・インターフェースを、ユーザ・インターフェース116および110内に設けることができる。
【0060】
これより図8および図9を参照して、一例として、唇輪郭作用素が、ユーザ指定目標点802、固定最上位点804、ならびに既定の曲線に沿った保管によって得られた2つの中間点P1(806)およびP2(808)にしたがって、中心点曲線800を既定する。目標点の動きの範囲の限度P1およびP2が、外側配合曲線810および内側配合曲線812によって与えられる。双方の曲線は、唇の内面を表し、唇の厚さに基づいた、中心点曲線800からの距離である。目標点802が与えられると、システムは、外側配合曲線上での最も近い点814および内側配合曲線上での最も近い点816を計算する。これら2つの点は、唇のポーズを示し、点P1およびP2を決定する際に役立つ。この2つの異なるポーズに関する情報は、ポーズ間で配合する際に用いることができる。
【0061】
内側および外側配合曲線は、関数曲線、およびユーザによって調節可能な関連パラメータによって指定することができる。例えば、歯点820は唇の内面が包囲する歯の上の点を示す。合体点822および基準点824は、内側配合曲線の方位を既定する。合体点は、内側および外側配合曲線に対し同一でもよく、これらの点は異なっていてもよい。唇輪郭の位置および方位を規定する種々の点は、軟組織ソルバ構築の導入段階の間に調節することができる。内側および外側配合曲線に対する合体点間の距離は、ユーザ設定可能なパラメータによって規定することができ、これを「唇−頭蓋骨接合」(lip-skull adhesion)と呼ぶこともできる。
【0062】
点P1およびP2を導くために用いられる関数曲線は、再帰と同様の曲線当てはめアルゴリズムを用い、種々のポーズにおける人の実際の唇の位置の実験および観察によって得られたデータを用いて生成することができる。このデータに対する曲線の当てはめは、唇の位置の範囲を記述するので、その使用の結果、解剖学的挙動の模擬が得られる。この曲線をパラメータ化すれば、ユーザの修正が可能となる。
【0063】
また、唇輪郭は、図9に示すように、厚みプロファイル(thickness profile)および厚み分布を指定することにより、唇上におけるその関連する位置での唇の厚さを規定する。唇は、中心曲線902を包囲するエンベロープ900によって表される。エンベロープは、唇の前領域、先端、および後領域を特定する4つの点(OP1、OP2、OP3およびOP4)によって規定する。各領域は、唇全体の百分率として指定することができる(904参照)。エンベロープに沿った厚さも指定することができる(906参照)。これらのパラメータは、ユーザが規定することができる。
【0064】
図9に示すエンベロープ900は曲線であり、唇に対する変形オブジェクトとして作用する。入力メッシュの頂点を、異なる唇輪郭の曲線にマッピングし、メッシュの唇部分における各点を、これらの曲線上の対応する点と関連付ける。制御オブジェクトは、唇輪郭の目標点と関連付けられた頂点である。各唇輪郭は、その対応する目標点を監視し、次いで位置P1およびP2を計算し、厚み関数を適用してエンベロープ900を規定する。口に沿った異なるポーズの唇輪郭を内挿することもできる。唇輪郭作用素に関連付けられた関数によって、これらの位置P1およびP2を入力メッシュの異なる変形にマッピングする。
【0065】
口に対する別の種類の作用素に、唇角がある。唇角作用素の一例に対する導入曲線を、図10に示す。図10の図は、唇の左側を示す。対称的な作用素があれば、口の右角に設けられる。即ち、唇角点1000、上位アンカー1002(通例、左上唇点)、および下位アンカー1004(通例、左下唇点)は、アニメータによって直接的または間接的のいずれかで操作することができる。これらの初期位置は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0066】
上唇曲線1006は、上位アンカー1002を唇角点1000に接続する。これは、3つの点、上唇P1、上唇P2、および上唇P3によって指定され、その位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0067】
下唇曲線1008は、下位アンカー1004を唇角点1000に接続する。これは、3つの点、下唇P1、下唇P2、および下唇P3によって指定され、その位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0068】
断面曲線1010は、唇角点1000に接続し、唇角点が移動する経路を規定する。この曲線は、断面P4のような、固定点を有することができ、ユーザによって指定することができる。断面曲線1010は、断面点P1からP4および唇角点1000によって指定される。この曲線の形状、位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0069】
唇角断面曲線は、唇角プロファイル曲線を規定するために用いることができ、唇角に対する変形オブジェクトである。唇角プロファイル曲線は、図11に示すようにして規定する。この技法は、断面曲線を規定する際に、柔軟性を高めるために用いることができる。図11において、点P1からP4および唇角点によって規定された断面曲線(1100で示す)が展開され(1102で示す)、プロファイル関数(1104で示す)によって規定されるオフセットを追加することによって、単純な曲線から修正される。1106に示すように、当てはめ曲線1100をスポーク数だけ単位に分割する。これらのスポークの各々は、プロファイル関数に沿って1つのユニットにマッピングする。スポークに対応するプロファイル・オフセットを、スポークの方向に、当てはめ曲線上の点に追加する。展開した断面曲線は、これらのオフセットを追加することによって作成された点を通過する曲線によって規定される。
【0070】
先に記したように、得られた軟組織ソルバは、数個のコントローラを有し、その各々が1つ以上の制御オブジェクトと関連付けられており、その変化を変形作用素が用いて、関連する変形オブジェクトを変形する。各制御オブジェクトの位置および方位をキー・フレームにするとよい。制御オブジェクトである種々の点および曲線が直接メッシュ上にあるので、これらも対応する生身の俳優に装着したモーション・キャプチャ・センサの位置に対応することができる。このため、モーション・キャプチャ・データは、各制御オブジェクトの位置および方位を制御するために用いることができる。つまり、キー・フレーム・データおよびモーション・キャプチャ・データを同じ制御オブジェクトに適用することができる。
【0071】
また、先に記したように、同じ種類、即ち、同じフォーマット・ファイルから生成した異なるキャラクタは、同じ全体構造の軟組織ソルバを有する。したがって、キャラクタの皮膚のモーションが、モーション・キャプチャまたはキー・フレーム・アニメーションのいずれによって規定されていても、比較的容易に、一方のキャラクタから別のものに目標を移すことができる。その軟組織ソルバに関係するメッシュの属性も、他のオブジェクトに転移することができる。
【0072】
このような軟組織ソルバに提供される種々の情報により、導入段階のグラフィカル・ユーザ・インターフェースおよび軟組織ソルバ、即ち、図1におけるユーザ・インターフェース116および110は、ユーザに、目視するキャラクタに関して、軟組織ソルバの選択部分を目視できるようにする。前述のように、グラフィカル・ユーザ・インターフェースは、例えば、これらの詳細を入力メッシュのレンダリングに関して示す。しかしながら、ユーザが目視したいと考えられる動画化オブジェクトの態様は多数ある。このため、グラフィカル・ユーザ・インターフェースも、ユーザに、オブジェクトの多くのレイヤの1つ以上から選択させるようにするとよい。これより図12を参照すると、ユーザ・インターフェースの図のいくつかの例が示されている。グラフィカル・ユーザ・インターフェースは、メッシュのこれらの部分、軟組織ソルバ、またはオブジェクトの他の部分の内1つ以上を選択させ、軟組織ソルバのパラメータを編集するためにコンテキストを設けることができる。図12に示すレイヤの例は、限定ではなく、オブジェクトの半径方向立体(radial volume)1200、その成分の軸方位1202、その成分と関連付けられた面1204、成分の名称1206、成分に関連するアイコンおよび色1208、成分間の上下関係1210、成分の割合1212、成分の回転順序1214、ならびに1216に示すような、成分のためのセレクタのアンフォールディング(unfolding)を含む。種々のレイヤ選択により、オブジェクトにおける種々の情報のレイヤを視覚化するアーティストの能力を高める。
【0073】
ここに記載するシステムの種々の構成要素は、汎用コンピュータを用いて、コンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、ユーザに情報を表示する出力デバイスと、ユーザからの入力を受ける入力デバイスの双方に接続された主ユニットを含む。主ユニットは、一般に、相互接続機構を通じてメモリ・システムに接続されているプロセッサを含む。入力デバイスおよび出力デバイスも、相互接続機構を通じて、プロセッサおよびメモリ・システムに接続されている。
【0074】
1つ以上の出力デバイスをコンピュータ・システムに接続することもできる。出力デバイスの例には、陰極線管ディスプレイ(CRT)、液晶ディスプレイ(LCD)、およびその他のビデオ出力デバイス、プリンタ、モデムのような通信デバイス、ならびにディスクまたはテープのような記憶装置が含まれるが、これらに限定する訳ではない。1つ以上の入力デバイスをコンピュータ・システムに接続することもできる。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、通信デバイス、ならびにデータ入力デバイスが含まれるが、これらに限定する訳ではない。本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力または出力デバイスにも、ここに記載したものにも限定されることはない。
【0075】
コンピュータ・システムは、コンピュータ・プログラミング言語を用いてプログラム可能な、汎用コンピュータ・システムとすることができる。また、コンピュータ・システムは、特別にプログラムされた、特殊目的ハードウェアとすることもできる。汎用コンピュータ・システムでは、プロセッサは、通例、市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを含み、オペレーティング・システムが、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッグ、入力/出力制御、アカウンティング、コンパイル、ストレージの割り当て、データ管理、およびメモリ管理、ならびに通信制御および関係するサービスを行う。
【0076】
メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。この媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および/または書き換え可能または書き換え不可能な場合がある。メモリ・システムは、通例、二進形式でデータを格納する。このようなデータは、マイクロプロセッサが実行するアプリケーション・プログラム、またはディスク上に格納されアプリケーション・プログラムが処理する情報を規定することができる。本発明は、特定のメモリ・システムに限定されることはない。
【0077】
ここに記載するようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら3つの組み合わせで実施することができる。システムの種々のエレメントは、個別であれ組み合わせであれ、コンピュータによる実行のためにコンピュータ読み取り可能媒体上にコンピュータ・プログラム命令が格納されている、1つ以上のコンピュータ・プログラム生産物として実施することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって、行うことができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、あるいはコンピュータ・ネットワークを通じて接続されている多数のコンピュータを含むこともできる。図1に示した構成要素は、コンピュータ・プログラムの別個のモジュールでもよく、または別個のコンピュータ上で動作可能な、別個のコンピュータ・プログラムでもよい。これらの構成要素によって生成されるデータは、メモリ・システムに格納するか、またはコンピュータ・システム間で送信することができる。
【0078】
以上実施形態の一例について説明したが、前述したことは単なる例示であり限定ではなく、一例として提示したにすぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当技術分野における通常技術の1つの範囲内にあり、本発明の範囲内に該当するものとする。
【図面の簡単な説明】
【0079】
【図1】図1は、定量的審美性を用いたアニメーション用システムのデータフロー図である。
【図2】図2は、突出点および補助点を有する頭部の一例の図である。
【図3】図3は、ユーザに入力メッシュ上の突出点を特定させるグラフィカル・ユーザ・インターフェースの一例の図である。
【図4】図4は、導入曲線を有する頭部の一例の図である。
【図5】図5は、隆起領域を有する頭部の一例の図である。
【図6】図6は、変形領域を有する頭部の一例の図である。
【図7】図7は、変形領域に対するパラメータをユーザに入力させるグラフィカル・ユーザ・インターフェースの一例の図である。
【図8】図8は、唇輪郭作用素(lip curler operator)の一例を規定する曲線および点の図である。
【図9】図9は、唇輪郭作用素の厚さパラメータを示す図である。
【図10】図10は、唇角作用素の一例について曲線および点を示す図である。
【図11】図11は、唇角作用素のパラメータを示す図である。
【図12】図12は図1のグラフィカル・ユーザ・インターフェースにおいて表示することができる種々のレイヤの図である。
【符号の説明】
【0080】
100 入力メッシュ
102 軟組織ソルバ構築部
104 軟組織ソルバ
106 フォーマット・ファイル
108 ユーザ・インターフェース
110 軟組織ソルバ・ユーザ・インターフェース
112 アニメーション・インターフェース
116 導入インターフェース
【背景技術】
【0001】
コンピュータ・アニメーションでは、キャラクタは、一般には、多くの場合スケルトンと呼ばれているトポロジと、多くの場合スキンまたはエンベロープと呼ばれている、関連するジオメトリとによって規定されている。トポロジは、多数の相互接続されているエレメントを含む。トポロジにおける各エレメントは、位置および方位によって三次元で規定されており、方向および回転を含む場合もある。種々のアルゴリズムが、トポロジおよびジオメトリ間の関係を制御し、キャラクタの様相(look)を生成する。
【0002】
キャラクタを操作しアニメーションの外観を得るために、種々の技法を用いることができる。一般に、このような技法は、リギング(rigging)と呼ばれるプロセスにおいて、1つ以上のアニメーション制御を1つ以上のトポロジのエレメントと関連付けることを伴う。1つの技法では、逆運動学および順運動学およびキャラクタ・リギング技法の組み合わせを用いて、経時的なキャラクタのモーションを記述する一連のキー・フレームを指定する。別の技法は、計時的なキャラクタのトポロジの選択したエレメントの位置および方位を表すモーション・キャプチャ・データを用いる。他のアニメーション技法は、制約、スクリプトまたは表現を用いることを含む。
【0003】
しかしながら、本物そっくりな顔面表現のアニメーションは、コンピュータ・アニメーションにおいては難しい問題である。キャラクタの身体の残りの部分とは対照的に、動くことができるスケルトンの部分はわずかに過ぎない。即ち、顎および首だけである。したがって、動画化することができる顔面の他の動きの全ては、軟組織(soft tissue)のモーションをシミュレートしなければならない。
【0004】
本物そっくりな顔面表現のアニメーションは、コンピュータ・アニメーションにおいては重要な問題である。何故なら、顔面は、感情を表現する主要な手段であるからである。アーティストは、顔面への微妙な変化を可能にするアニメーション制御を有する必要がある。微妙さや現実性を欠くと、動画化したキャラクタが感情を伝えたり、現実の俳優として認知され得る範囲が狭められる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
顔面のアニメーションの問題に取り組むために、様々な技法が生み出されており、軟組織の挙動を模擬する筋肉系のモデルを作成すること、手作業で表面メッシュのポーズを注意深く規定し、このようなポーズ間でモーフィング(morphing)すること、およびモーション・キャプチャを用いて表面メッシュの点の三次元位置を直接制御することが含まれる。これらの技法の全ては、多大な労力を要する。POLAR EXPRESS, THE INCREDIBLES、およびLOAD OF THE RINGSにおけるGOLLUMキャラクタにおけるような、主要なモーション・ピクチャ・リリース(motion picture release)の一部であるアニメーションでは、顔面の本物そっくりで複雑なアニメーションは、多くの場合、アニメータのチームによる数カ月に及ぶ作業を必要とする。
【課題を解決するための手段】
【0006】
顔面は、キャラクタのその他の多くの軟組織と同様、表面メッシュに取り付けた軟組織ソルバ(solver)を作成することにより、スケルトンを動画化するのと全く同じように動画化することができる。即ち、変形オブジェクトを表面メッシュの領域と関連付ける。変形オブジェクトは、制御オブジェクトの変化に応答して、変形作用素(deformation operator)にしたがってメッシュを変形させる。この軟組織ソルバは、入力メッシュが一例であるオブジェクトのクラスに対して入力メッシュおよびフォーマット・ファイルについて指定された1組の突出点が与えられれば、自動的に生成することができる。フォーマット・ファイルは、突出点が何であるか指定し、変形オブジェクトおよび制御オブジェクトの相対的配置を、突出点の関数として指定する。特定の変形作用素は、フォーマット・ファイルを通じて規定され、変形オブジェクトおよび制御オブジェクトと関連付けられる。人およびロボット(humanoid)の頭部のような、あるクラスのオブジェクトに対するフォーマット・ファイル、および関係する作用素は、モデル化するオブジェクトの実験および観察に基づいて決定することができる。
【0007】
このような軟組織ソルバによって、表面メッシュの変形の挙動を定量化し、メッシュ上の点の直接操作によって制御する。このように、オブジェクトの表面は、逆運動学を用いてスケルトンのアニメーションを規定する方法と同様に、動画化することができる。オブジェクトの表面が直接その外観または審美性(aesthetics)に関係するので、このアニメーション機能をここでは「定量的審美性」と呼ぶ。このプロセスは、定量的審美性を通じて、アルゴリズムによって表現される軟組織内における外部、内部双方および転移(shifting)の関係の発見的分析に基づいて、成分を作成する。
【0008】
グラフィカル・ユーザ・インターフェースは、例えば、異なる種類のオブジェクト毎に異なるインターフェースを設けることができ、これらを別個に目視および調節することを可能にする。これらのオブジェクトは、入力メッシュのレンダリング上で対話的に表示することができ、任意に選択した他の種類のオブジェクトのレンダリングにより、それらの相互関係を視覚化する際にユーザを補助することができる。
【0009】
フォーマット・ファイルおよび入力メッシュを用いることによって作成された軟組織ソルバは、同じフォーマット・ファイルから作成された同じクラスのオブジェクト内における異なるキャラクタに対して興味深い特性を有する。即ち、同じフォーマット・ファイルを用いて作成された全てのキャラクタは、同じ全体構造の軟組織ソルバを有する。このため、フォーマット・ファイルは、それが表すクラスのオブジェクトに対して、カノニカル軟組織ソルバを規定する。異なるキャラクタに対する軟組織ソルバが同じ全体構造を有するので、モーションおよび属性双方を含むがこれらには限定されない種々のアニメーション情報を、アニメーション間で一層容易に転送することができる。
【0010】
顔面アニメーションでは、アニメータが、しわのある顔面のような、迫真性を高めた顔面を作成したがっているのが一般的である。このような成果を得るためには、変形作用素を、入力メッシュに対して低周波歪みを生成するものと理解することができる。対照的に、しわは、そうしなければ滑らかである表面に対する高周波歪みとして理解することができる。このように、種々の変形作用素によって表面を変形した後に、入力メッシュに関連する別個のしわマップ、および他の高周波歪みを作成し、表面に重ね合わせることができる。
【0011】
軟組織ソルバは、顔面のような、オブジェクトの異なるポーズを作成するために用いることができる。これらの異なるポーズは、キー・フレームとすることができ、これらのポーズ間の内挿を行うことができる。あるいは、モーション・キャプチャを用いてオブジェクトを操作することができる。しかしながら、各変形オブジェクトを独立して制御することができるので、このような内挿またはモーション・キャプチャは、局所的に変形作用素毎に実行または適用することができ、こうしてポーズ間の遷移において、局所的な制御およびスムージングを得ることができる。
【0012】
また、このようなシステムと共に、モーション・キャプチャおよびキー・フレーム・アニメーションを組み合わせた混成ワークフローも用いることができる。
殆どの一般的なシステムでは、変形オブジェクト、変形作用素、制御オブジェクト、およびこれらの相互関係を規定する種々のパラメータは、全て、ユーザの入力に基づいて動画化することができる。しかしながら、複雑さを低減するために、これらのパラメータの一部を固定とすることもできる。例えば、先に記したように、導入段階(guide phase)には、軟組織ソルバの完成を簡素化するために、オブジェクトの位置、サイズおよび方位を固定することが含まれる。また、変形作用素が、制御オブジェクトに対するリアルタイムの対話的修正に基づいて、リアルタイムで動作できるように、変形作用素のパラメータ全てを固定することが望ましい場合もある。このようなリアルタイムの対話的挙動を有することは、特にゲームにとって有用である。このような変形作用素は、ゲームにおけるキャラクタに用いられるリアルタイム・ミドルウェアとして規定され、これに対してゲーム・エンジンはゲーム中ユーザ入力に基づいてキャラクタを対話的に動画化する。
【0013】
これらの顔面動画化に対する解決策は、オブジェクトの表面を表すいずれのメッシュ、スキン、またはエンベロープの詳細を動画化する際にも、直接適用することができる。
【発明を実施するための最良の形態】
【0014】
これより図1を参照して、定量的美学に基づくアニメーション・システムの一実施態様についてここで説明する。三次元ロボットの頭部および首のようなオブジェクトに対する三次元入力メッシュ100を構築部102に入力する。構築部102は、以下で更に詳しく説明するファイル・フォーマット106を受け取る。ファイル・フォーマットは、メッシュ100が表すオブジェクトの種類と関連付けられている。ユーザ・インターフェース108は、ユーザに、入力メッシュ100上において突出点の位置を指定させる。突出点は、そのファイル・フォーマット106によって、オブジェクトの種類毎に識別される。フォーマット・ファイル106における情報、入力メッシュ100およびユーザが指示した突出点に基づいて、構築部102は自動的に軟組織ソルバ104を生成する。
【0015】
軟組織ソルバ104は、1つ以上のアニメーション制御部を含み、その各々は、軟組織ソルバにおける1つ以上の制御オブジェクトを制御する。変形作用素が、1つ以上の制御オブジェクトと関連付けられており、変形領域を操作して、制御オブジェクトの変化に応じてメッシュを変形する。このような変化は、通例、制御オブジェクトの位置の変化、即ち、変位であるが、スケーリング、回転、または色のような非幾何学的属性の変化であっても、含むことができる。また、構築部は導入インターフェース116も含む。以下で更に詳しく説明するが、導入インターフェースは、軟組織ソルバを生成する前に、変形領域、変形作用素、変形オブジェクト、およびアニメーション制御部のパラメータを、ユーザに修正させる。
【0016】
軟組織ソルバ104が得られると、軟組織ソルバ・インターフェース110が、ユーザに、軟組織ソルバの構造を視認およびチューニングさせる。これについては、以下で更に詳しく説明する。インターフェース110は、ユーザの要求に応答して、軟組織ソルバの異なるレイヤを表示する。また、インターフェース110は、ユーザに、軟組織ソルバ104のパラメータを修正させる。アニメーション・インターフェース112が、軟組織ソルバ104からの1つ以上の制御オブジェクトを、アニメータに使用可能にし、アニメータにメッシュのアニメーションを規定させる。
【0017】
入力メッシュ100は、一般に、ポリゴン・メッシュ、NURBS面、または三次元で顔面を規定する頂点および縁の組み合わせであるその他のオブジェクトというような、三次元幾何学的プリミティブ(geometrical primitive)である。三次元幾何学的プリミティブGは、一般に、n個で1組の制御頂点V={Vi:1<=i<=n}として規定され、各々位置トリプレットPvi=(xi,yi,zi)に関連付けられている。三次元幾何学的プリミティブの一例にメッシュがある。メッシュは、面、頂点、および側縁を指定することによって規定する。頂点および側縁は、n箇所の辺がある面を規定する。
【0018】
一般に、メッシュはコンピュータにおいて、頂点、側縁(線分かまたは曲線か)、および面(平面か否か)に関する情報を格納する3つのアレイによって表される。各頂点を表すデータ構造は、例えば、その位置、ならびに隣接する側縁および面のインデックスを規定するデータを含むことができる。各側縁を表すデータ構造は、例えば、その終端の頂点のインデックス、および2つの隣接する面のインデックスを規定するデータを含むことができる。各面を表すデータ構造は、例えば、その隣接する面、側縁、および頂点のインデックスを規定するデータを含むことができる。
【0019】
あるオブジェクトに対する入力メッシュ100は、必須ではないが、「良く形成」されており、メッシュにおいてループによって規定される全ての面が交差せず、前を向き、非縮退(nondegenerate)となるように、即ち、その頂点がその他の頂点と重複せず、その側縁がその他の側縁と交差しないようにするとよい。製作において用いられる殆どのメッシュはこの基準を満たしている。
【0020】
オブジェクトに対する入力メッシュ100が呈する特性は、作成する物体の種類に対して典型的である。以下の例では、例示の目的で顔面のメッシュを用いる。本発明は、動画化キャラクタのいずれの部分の軟組織の動画化にも適用可能であり、頭部、頭部および首、腕、手、型、脚部、足、またはキャラクタのその他のいずれの部分をも含むが、これらに限定されるのではない。顔面では、フォーマット・ファイル106は、例えば、ユーザが顔面メッシュに与える期待(expectation)、2つの眼球メッシュならびに上下の歯のメッシュを反映することができる。入力メッシュ100は、このような場合、顔面メッシュ、2つの眼球メッシュ、ならびに上下歯メッシュを含むとよい。
【0021】
フォーマット・ファイル106の構造は、軟組織ソルバを生成するためにユーザが指定するまたは計算するために必要となる種々のオブジェクトを明記する。即ち、フォーマット・ファイル106は、メッシュおよび変形部の成分のリストを明記する。メッシュの成分は、突出点、補助点(helper point)、導入曲線、および任意にその他の情報を含むことができる。また、フォーマット・ファイル106は、どのようにして突出点およびその他の補助点から補助点を導出したか、そしてどのようにして導入曲線を突出点および補助点から導出したかも示すことができる。変形部は、変形領域、変形作用素、および任意にその他の情報のリストを含むことができる。また、フォーマット・ファイル106は、変形領域および変形作用素をこれらの点および曲線に対してどのように規定したか、そしてどのようにしてこれらをこれらの点および曲線と関連付けたかも示すことができる。
【0022】
ある種のオブジェクトに対するフォーマット・ファイル106の実際の内容、および入力メッシュ100によって誇示しようとする対応の特性は、審美的な選択の問題である。このような審美的選択は、例えば、動画化するキャラクタの基となる実際のキャラクタの典型的な部分の挙動の実験および観察を通じて、情報を得ることができる。例えば、異なるポーズにおいて異なる顔面のピクチャを数枚取り込み、頬が動く様相を特定することができる。この情報は、別個の変形領域、突出点、補助点、および導入曲線を特定するために用いることができる。実際の位置データを収集し、曲線当てはめプロセスによって、この挙動を定量的に規定するために用いることができる。
【0023】
フォーマット・ファイルにおいて名称を付けられた突出点は、作用素が指定した入力メッシュ上の点と関連付けられている。例えば、図2に示すような顔面を表すメッシュを用いると、このような突出点は、こめかみ200、眉毛の頂点202、および目の最上位204、目の内側角206、目の外側角208、目の最下位210、鼻先212、鼻の隆起214、耳朶の付け根216、上唇218、口の角220、下唇222、顎の角224、および顎先の角226を含むことができる。鼻先212ならびに上下唇218および222を除くこれらの点全ては、左右に対応物がある(入力メッシュにおいては、対称的である場合も、ない場合もある)。これらの点は、最終的に、アニメーションのために関連する制御部を有し、それをキー・フレームにすることができ、それにモーション・キャプチャ・データを添付することができる。
【0024】
フォーマット・ファイル106によって指定された突出点は、観察および実験によって情報が得られる、審美的選択の問題として決定することができる。フォーマット・ファイルは、オブジェクトの「種」即ちクラス毎に作成され、一方入力メッシュは、このようなオブジェクトの特定的なインスタンスである。したがって、先に列挙した突出点は、全ての人およびロボットの顔面に適用可能な1組の突出点としての例示に過ぎない。しかしながら、人およびロボットの顔面に適用するために、異なる1組の突出点を規定することもできる。
【0025】
図3を参照すると、グラフィカル・ユーザ・インターフェース300が設けられており、ユーザに、入力メッシュ100上で突出点の位置を指定させる。入力メッシュ100が、フォーマット・ファイルにおいて指定することができるように、互いに組み合わせられた別個のメッシュを含む場合、グラフィカル・ユーザ・インターフェースは、ユーザに、メッシュの1つを選択するように促すことができる。図3では、突出点の選別リスト302を、フォーマット・ファイル106における突出点のリストから作成する。304に示すように、入力メッシュ100をレンダリングし表示する。ユーザは、選別リスト302における突出点を選択し、次いで表示されている入力メッシュ304上において対応する点を選択することができる。あるいは、選別リスト302における突出点毎に、ユーザに、表示されている入力メッシュ304上に点を指定するように促してもよい。
【0026】
フォーマット・ファイル106が得られると、入力メッシュ100およびユーザ・インターフェース108(図3におけるような)を通じてユーザが指示した入力メッシュ100上の突出点の指示、ならびにオブジェクトに対する軟組織ソルバ104を自動的に作成することができる。
【0027】
このような自動軟組織の生成について、顔面の例を用いてこれより説明する。先に示したように、フォーマット・ファイル106は、ユーザが指示した突出点の位置から得られる数個の「補助点」を指定する。図2に示す例では、これらの補助点は、前額中点230、前額232、眉毛中点234、眼球中点236、眉毛中央238、眉毛端部240、眉毛間242、目の上244、目の間246、鼻梁248、目の外側250、目の内側254、目の縁252、目の下256、頬の隆起258、鼻の窪み260、鼻の基点262、顎上部264、口の上側266、上唇折点268、中顎(midjaw)270、口の下側272、下唇折点274、顎先の隆起276、および顎先中点278を含む。前額中点、眉毛中点、目の中点、目の間、および顎先中点を除いて、これらの点は全て左および右に対応物を有する。これらの補助点を突出点およびその他の値の関数として指定するパラメータを、フォーマット・ファイル106によって供給する。
【0028】
例えば、前額中点230は、左右のこめかみ点の中点として指定することができる。前額232は、前額とこめかみおよび前額と目の最上部との間に形成される直交線の交点として指定することができる。また、点は、他の点との間の線に沿った割合、またはその他のいずれの関数によっても規定することができる。フォーマット・ファイルは、補助点毎に、補助点の名称、およびその位置を決定するために用いた関数を指定する。
【0029】
補助点の計算後、次に導入曲線を計算する。このような導入曲線も、フォーマット・ファイルによって指定され、突出点および補助点の位置から得られる。顔面についての導入曲線の例を図4に示す。この例では、構築部102は、顎先420に対する導入曲線、前額400外側に対する左右の導入曲線、前額402内側、眉毛404、上下眼窩406および408、鼻410、頬412、顎上部414、顎中央416、および顎下部418に対する導入曲線を作成することができる。一例として、顎先の曲線420は、下唇および顎先の隆起をその終点とする曲線として規定することができる。
【0030】
次に、変形領域を規定する。このような変形領域は、フォーマット・ファイルによっても指定され、突出点、補助点および導入曲線の位置から得られる。顔面に対する変形領域の例を図5に示す。この例では、構築部102は、顎先500、に対する変形領域、鼻の穴502、顎の角504、前額506、眉毛508、鼻510、頬512、および顎514に対して左および右の変形領域を作成することができる。フォーマット・ファイルは、領域毎に、当該領域の名称、当該領域の縁端を規定する点の整列リスト、およびその領域に関連付けられた重みを与える。
【0031】
各変形領域は、関連する変形オブジェクトを有する。変形オブジェクトは、関連する点または曲線というような、対応する制御オブジェクトに対する変化にしたがって、変形オブジェクトを修正する、関連変形作用素を有する。変形オブジェクトは、NURBS面のような表面、または曲線によって規定する。この表面は、法線に沿って表面までの変位量を示し、これを入力メッシュに適用する。したがって、この表面は、キャラクタを動画化する一部として、その関連する制御オブジェクトに対する変化の関数として変化し、所望の効果が得られる。変形オブジェクトには数種類あり、その各々が、そのジオメトリおよびそれに関連付けられている制御オブジェクトの種類に基づいて、異なる効果を有する。変形オブジェクトの一種に、隆起(bulger)と呼ばれるものがあり、これは曲線を伴う区域のことである。変形オブジェクトの別の種類に、パッファ(puffer)と呼ばれるものがあり、これは点を伴う区域のことである。変形オブジェクトの別の種類にテンドン(tendon)と呼ばれるものがあり、これは曲線を伴う曲線のことである。
【0032】
図6は、一例として、左および右鼻変形領域600および602、ならびに左および右頬変形領域604および606を示す。変形領域の各々は、中心点608、610、612、614および境界616、618、620、および622を有する。
【0033】
フォーマット・ファイルは、変形オブジェクトの種類、それが隆起、パッファまたはテンドンのいずれであるか、当該オブジェクトの名称、その制御オブジェクト、および表面の仕様を指定する。例えば、NURBS表面について、小山状の曲線の内周および外周のサイズ、その周囲を規定するオブジェクト、コンピュータにおいてこれらのオブジェクトに合わせた重み、ならびに表面の広がりの中心を指定することができる。
【0034】
特定の挙動が望まれるキャラクタの特定の領域には、特殊な変形オブジェクトを作成することもできる。例えば、顔面では、唇(例えば、唇輪郭 (lip curler)および唇角)および目(例えば、睫毛および眼球)に対して特殊な作用素を規定することができる。このような変形オブジェクトの例、ならびにそれらに関連する制御オブジェクトおよび変形作用素について、以下で更に詳しく説明する。
【0035】
これら種々のオブジェクトを作成した後、ユーザに、これらの種々のパラメータを調節させることができる。軟組織ソルバ構築のこの段階を導入段階と呼ぶ。導入段階では、種々のオブジェクト(変形オブジェクト、変形領域、突出点、補助点、および曲線)の位置、サイズ、およびその他の整合に関するパラメータを、ユーザによって調節することができる。この目的のために、グラフィカル・ユーザ・インターフェース116を用いることができる。グラフィカル・ユーザ・インターフェースは、例えば、異なる種類のオブジェクト毎に、異なるインターフェースを提供し、これらを別個に目視し調節可能にすることができる。これらのオブジェクトは、入力メッシュのレンダリング上に対話的に、任意に他の種類の選択したオブジェクトと共に表示し、その相互関係を視覚化する際にユーザを補助することができる。
【0036】
ユーザがこの導入段階においてあらゆる調節を完了した後、オブジェクトの全てを組み合わせて、軟組織ソルバを作成する。この組み合わせには、数工程を伴う。
各変形オブジェクトを、入力メッシュにおけるその対応する変形領域に適用する。即ち、変形オブジェクトは、それが作用する入力メッシュ上の頂点を特定する。それが作用する各頂点は、変形オブジェクトの中心からこの対応する点までの距離を表す値と共に、変形オブジェクトの表面上におけるその対応する点の法線ベクトル(例えば、x,yおよびz方向)も格納する。この距離は、百分率、正規化した距離、絶対距離、または変形オブジェクトがNURBS面である場合、この対応点を表すUV対からのU値の形態とすることができる。
【0037】
このように、変形領域における各頂点には、1.変形オブジェクト上におけるその相対位置、および2.変形オブジェクトと関連付けられている制御オブジェクトに対する修正に基づいてそれが変形する、関連の移動方向が関連付けられている。この情報は、メッシュ上の各頂点と関連付けられているので、ユーザは、メッシュ上において実行するペインティング動作を通じて、これらの値を修正することができ、細分割およびポリゴン削減(polygon reduction)によってこれらの属性を維持し、これらの属性を他のメッシュに転移することができる。
【0038】
変形作用素は、変形オブジェクトと関連付けられている。これらの作用素は、例えば、アニメーション・システムへのプラグインとして実施することができ、フォーマット・ファイルを通じて変形オブジェクトと関連付けることができる。変形作用素は、アニメーションの編集の間、変形オブジェクトに関連する制御オブジェクトに対する変化を監視し、変形オブジェクトを制御オブジェクトに対する変化の関数として操作する。
【0039】
加えて、コントローラを適宜作成し、アニメータが軟組織ソルバにおいて種々の制御オブジェクトを操作することができる機構を設けるようにしてもよい。コントローラは、1つ以上の制御オブジェクトを制御することができる。
【0040】
得られた軟組織ソルバは、同一のフォーマット・ファイルから作成される同じクラスのオブジェクト内において異なるキャラクタに対して、興味深い特性を与える。このように、フォーマット・ファイルはそれが表すクラスのオブジェクトに対して、カノニカルの軟組織ソルバを規定する。軟組織ソルバは、異なるキャラクタに対して同じ全体構造を有するので、モーションおよび属性の双方を含みこれらに限定されない種々のアニメーション情報をキャラクタ間で転送し易くなる。
【0041】
また、このような軟組織ソルバを通じて、表面メッシュの変形の挙動を定量化し、メッシュ上の点の直接操作によって制御する。このように、オブジェクトの表面は、逆運動学を用いたスケルトンのアニメーションと同様にして動画化することができる。オブジェクトの表面は直接その外観即ち審美性に関係するので、このアニメーション機能をここでは「定量的審美性」と呼ぶ。
【0042】
軟組織ソルバを作成した後、ユーザは、この軟組織ソルバの種々のパラメータを調節することができる。軟組織ソルバ構築のこの段階を、軟組織ソルバ段階と呼ぶ。軟組織ソルバ段階では、種々のオブジェクトの性能、特に制御オブジェクトに対する変化の関数として表面に適用される変形に関するパラメータを、ユーザが調節することができる。この目的のために、図1におけるグラフィカル・ユーザ・インターフェース110を用いることができる。このグラフィカル・ユーザ・インターフェースは、異なる種類のオブジェクト毎に別個のインターフェースを設け、これらを別個に目視し調節できるようになっている。これらのオブジェクトは、対話的に、入力メッシュのレンダリング上に、単独でまたは他のオブジェクトのレンダリングと組み合わせて表示することができ、それらの相互関係および性能を視覚化する際に、ユーザを補助する。
【0043】
特定的な一例として、変形オブジェクトのマッピングは、その対応する変形領域に対する導入段階の後に行い、変形領域における各頂点は、したがって、変形オブジェクト上にその相対的位置と、変形オブジェクトに対する修正に基づいてそれが変形する、関連の移動方向とを有する。軟組織ソルバを構築した後、対応する制御オブジェクトに対する変化量、および変形オブジェクト上の頂点の相対的位置の関数として、各頂点においてメッシュの歪みの振幅を規定する関数を規定するために、種々の制御部を設けることができる。隆起型の変形作用素に対するこのような関数、およびユーザがこの関数のパラメータを調節することができるユーザ・インターフェースの特定的な例を図7に示す。
【0044】
一例として、変形作用素の関数を、ここでは、変形曲線およびイーズイン曲線(ease-in curve)と呼ぶ2本の関数曲線と、重み値によって規定することができる。ユーザ・インターフェースは、ユーザに、テキスト・ボックス700において重み値Wを入力させる。変形曲線をグラフ702に示し、イーズイン曲線をグラフ704に示す。
【0045】
変形曲線を表す関数曲線は、y軸706上の百分率を、x軸708上の制御オブジェクトをスケーリングした百分率変化の関数として示す。図7に示すこの例では、この関数曲線は、2つの点によって指定されるS字関数を用いて規定する。2つの点は、グラフのx−y空間内に位置付けることができる。
【0046】
イーズイン曲線を表す関数は、y軸722上の百分率を、x軸724上の制御オブジェクトの百分率変化の関数として示す。図7に示すこの例では、この関数曲線も、2つの点によって指定されるS字曲線を用いて規定する。2つの点は、グラフに対してx−y空間内に位置付けることができる。このイーズイン値は、制御オブジェクトの百分率変化をスケーリングする。
【0047】
図7に示す曲線が与えられると、変形作用素は、その範囲における頂点毎に、対応する制御オブジェクトの量変化に基づいて、振幅値を計算する(位置またはサイズの差)。例えば、変形作用素が制御曲線を監視し、曲線の長さが百分率Cだけ変化した場合、値Cをイーズイン曲線に対する入力として用いて、イーズイン百分率Eを求める。イーズイン曲線からの結果Eを値Cと乗算し、変形曲線に対する入力として用い、変形百分率Dを求める。値Dに、重み値Wおよび変形オブジェクト上の頂点の相対位置を乗算する。
【0048】
頂点は、2つの異なる変形作用素による作用を受ける可能性があるので、変形作用素の各々に適用される変位振幅および方向を有する。配合動作は、これら2つの変位の間で行うことができる。
【0049】
顔面のアニメーションでは、アニメータはしわのある顔面というように、迫真性を高めて顔面を作成したいのが一般的である。このような成果を達成するために、変形作用素を、入力メッシュに対して低周波歪みを生成するものと理解することができる。対照的に、しわは、そうしなければ滑らかである表面に対する高周波歪みとして理解することができる。このように、種々の変形作用素によって表面を変形した後に、入力メッシュに関連する別個のしわマップ、および高周波歪みを作成し、表面に重ね合わせることができる。高周波歪みの他の例には、限定ではなく、切り傷、痣、化粧パターン、頬髭、髪の毛、無精髭、およびひび割れ線(cracking line)が含まれる。
【0050】
軟組織ソルバは、顔面のようなオブジェクトの異なるポーズを作成するために用いることができる。これらの異なるポーズは、キー・フレームとすることができ、更にこれらのポーズ間の内挿を行うことができる。あるいは、オブジェクトを操作するために、モーション・キャプチャを用いることができる。しかしながら、各変形オブジェクトは独立して制御することができるので、このような内挿またはモーション・キャプチャは、変形作用素毎に局所的に実行または適用することができ、こうしてポーズ間の遷移において局在的な制御およびスムージングを行うことができる。
【0051】
殆どの一般的なシステムでは、変形オブジェクト、変形作用素、制御オブジェクト、およびこれらの相互関係を規定する種々のパラメータは、全て、ユーザの入力に基づいて動画化することができる。しかしながら、複雑さを低減するために、これらのパラメータの一部を固定とすることもできる。例えば、先に記したように、導入段階(guide phase)は、軟組織ソルバの完成を簡素化するために、オブジェクトの位置、サイズおよび方位を固定することを伴う。また、変形作用素が、制御オブジェクトに対するリアルタイムの対話的修正に基づいて、リアルタイムで動作できるように、変形作用素のパラメータ全てを固定することが望ましい場合もある。このようなリアルタイムの対話的挙動を有することは、特にゲームにとって有用である。このような変形作用素は、ゲームにおけるキャラクタに用いられるリアルタイム・ミドルウェアとして規定され、これに対してゲーム・エンジンはゲーム中ユーザ入力に基づいてキャラクタを対話的に動画化する。
【0052】
以上、ある包括的変形オブジェクトに対する総合的な軟組織解明プロセスについて説明したので、これより顔面に有用な具体的な変形オブジェクトおよび作用素の一部について説明する。このような作用素の例は、唇、例えば、唇輪郭および唇角に対する作用素である。
【0053】
定量的審美性によって作成した作用素を、写真、x線、キャット・スキャン(cat scan)、解剖モーション・キャプチャ、および特定の領域のモーション範囲に関する情報を与えるその他の機械的デバイスの分析から得る。アーティストに彼らの表現に対する要望を聴取することによって、追加情報を得ることができる。
【0054】
このデータを1組の階層アルゴリズムにモデル化し、軟組織の内面および外面上のこのモーション範囲をシミュレートし変調する。このようなモデルを得るために、観察したモーション範囲を、詳細な数学的副成分のレベルに細分化する。初期の低レベルの詳細を特定し、曲線の当てはめ、点範囲の投射、拡散、およびその他の技法を用いて、データをマッピングする機械的挙動の二次元における総体的な規定を作成する。追加のレベルの詳細を適用することによって、この総体的規定を繰り返し洗練化する。各詳細レベルにおけるデータの各マッピングは、軟組織の機械的挙動の分解能のレベルを記述する。また、この繰り返しプロセスの各段階において、多くの異なる空間を通じてデータをマッピングすることもできる。
【0055】
この変形の階層化により、データおよび観察から得られる機械的範囲、ならびにアーティスト表現の潜在的必要性の双方を解決する特定的な作用素を作成する。このモーション変形のアルゴリズム階層化および配合は、特定の領域モーション範囲を表現するために、機械的挙動を制御するフレームを作成するために用いられる。成分を配合し共に集合化して、作成する軟組織の領域を更に大きくする。唇輪郭およびコーナは、軟組織モーション範囲に対してアルゴリズムを作成する、この「定量的審美性」プロセスの一例である。
【0056】
この設計プロセスは、限定ではなく、唇輪郭、隆起、パッファ、およびスキン・スライディング挙動(skin sliding behavior)を含む、軟組織ソルバ内における全ての作用素に適用することができる。作用素をモジュール状の階層設計としたことにより、単独でも、軟組織のいずれの本体内にも適用することができ、いずれの脊椎動物における軟組織の表現にも拡大することができる、柔軟な「軟組織ソルバ」が可能となる。以下で詳細に述べるが、唇輪郭は、このような作用素がどのように動作するかを示す。
【0057】
例えば、唇輪郭は、開始時に、歯面の空間にマッピングされ、次いで外側に曲がり歯の上で滑る線の空間にマッピングされる。次いで、唇輪郭は、この曲線からの厚みオフセットにマッピングされる。
【0058】
同様に、睫毛作用素も規定することができ、メッシュ上に初期データ点を取り、これらの間の距離を抽出する4本の曲線の空間にこれらをマッピングして、睫毛の基本的状態を決定する。次に、この情報を、眼球の表面の空間にマッピングし、再度ポイント・メッシュの初期空間上に投影する。このプロセス全体を重みマップおよび関数曲線によって変調し、最終的な結果を得る。
【0059】
キャラクタの口に対して、数個の唇輪郭作用素を指定することができる。例えば、中央、左および右輪郭作用素を、上下の唇の各々に設けることができる。これらの特殊作用素の各々のパラメータを調節するために、別個のユーザ・インターフェースを、ユーザ・インターフェース116および110内に設けることができる。
【0060】
これより図8および図9を参照して、一例として、唇輪郭作用素が、ユーザ指定目標点802、固定最上位点804、ならびに既定の曲線に沿った保管によって得られた2つの中間点P1(806)およびP2(808)にしたがって、中心点曲線800を既定する。目標点の動きの範囲の限度P1およびP2が、外側配合曲線810および内側配合曲線812によって与えられる。双方の曲線は、唇の内面を表し、唇の厚さに基づいた、中心点曲線800からの距離である。目標点802が与えられると、システムは、外側配合曲線上での最も近い点814および内側配合曲線上での最も近い点816を計算する。これら2つの点は、唇のポーズを示し、点P1およびP2を決定する際に役立つ。この2つの異なるポーズに関する情報は、ポーズ間で配合する際に用いることができる。
【0061】
内側および外側配合曲線は、関数曲線、およびユーザによって調節可能な関連パラメータによって指定することができる。例えば、歯点820は唇の内面が包囲する歯の上の点を示す。合体点822および基準点824は、内側配合曲線の方位を既定する。合体点は、内側および外側配合曲線に対し同一でもよく、これらの点は異なっていてもよい。唇輪郭の位置および方位を規定する種々の点は、軟組織ソルバ構築の導入段階の間に調節することができる。内側および外側配合曲線に対する合体点間の距離は、ユーザ設定可能なパラメータによって規定することができ、これを「唇−頭蓋骨接合」(lip-skull adhesion)と呼ぶこともできる。
【0062】
点P1およびP2を導くために用いられる関数曲線は、再帰と同様の曲線当てはめアルゴリズムを用い、種々のポーズにおける人の実際の唇の位置の実験および観察によって得られたデータを用いて生成することができる。このデータに対する曲線の当てはめは、唇の位置の範囲を記述するので、その使用の結果、解剖学的挙動の模擬が得られる。この曲線をパラメータ化すれば、ユーザの修正が可能となる。
【0063】
また、唇輪郭は、図9に示すように、厚みプロファイル(thickness profile)および厚み分布を指定することにより、唇上におけるその関連する位置での唇の厚さを規定する。唇は、中心曲線902を包囲するエンベロープ900によって表される。エンベロープは、唇の前領域、先端、および後領域を特定する4つの点(OP1、OP2、OP3およびOP4)によって規定する。各領域は、唇全体の百分率として指定することができる(904参照)。エンベロープに沿った厚さも指定することができる(906参照)。これらのパラメータは、ユーザが規定することができる。
【0064】
図9に示すエンベロープ900は曲線であり、唇に対する変形オブジェクトとして作用する。入力メッシュの頂点を、異なる唇輪郭の曲線にマッピングし、メッシュの唇部分における各点を、これらの曲線上の対応する点と関連付ける。制御オブジェクトは、唇輪郭の目標点と関連付けられた頂点である。各唇輪郭は、その対応する目標点を監視し、次いで位置P1およびP2を計算し、厚み関数を適用してエンベロープ900を規定する。口に沿った異なるポーズの唇輪郭を内挿することもできる。唇輪郭作用素に関連付けられた関数によって、これらの位置P1およびP2を入力メッシュの異なる変形にマッピングする。
【0065】
口に対する別の種類の作用素に、唇角がある。唇角作用素の一例に対する導入曲線を、図10に示す。図10の図は、唇の左側を示す。対称的な作用素があれば、口の右角に設けられる。即ち、唇角点1000、上位アンカー1002(通例、左上唇点)、および下位アンカー1004(通例、左下唇点)は、アニメータによって直接的または間接的のいずれかで操作することができる。これらの初期位置は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0066】
上唇曲線1006は、上位アンカー1002を唇角点1000に接続する。これは、3つの点、上唇P1、上唇P2、および上唇P3によって指定され、その位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0067】
下唇曲線1008は、下位アンカー1004を唇角点1000に接続する。これは、3つの点、下唇P1、下唇P2、および下唇P3によって指定され、その位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0068】
断面曲線1010は、唇角点1000に接続し、唇角点が移動する経路を規定する。この曲線は、断面P4のような、固定点を有することができ、ユーザによって指定することができる。断面曲線1010は、断面点P1からP4および唇角点1000によって指定される。この曲線の形状、位置および方位は、ユーザによって、軟組織ソルバ構築の間に指定することができる。
【0069】
唇角断面曲線は、唇角プロファイル曲線を規定するために用いることができ、唇角に対する変形オブジェクトである。唇角プロファイル曲線は、図11に示すようにして規定する。この技法は、断面曲線を規定する際に、柔軟性を高めるために用いることができる。図11において、点P1からP4および唇角点によって規定された断面曲線(1100で示す)が展開され(1102で示す)、プロファイル関数(1104で示す)によって規定されるオフセットを追加することによって、単純な曲線から修正される。1106に示すように、当てはめ曲線1100をスポーク数だけ単位に分割する。これらのスポークの各々は、プロファイル関数に沿って1つのユニットにマッピングする。スポークに対応するプロファイル・オフセットを、スポークの方向に、当てはめ曲線上の点に追加する。展開した断面曲線は、これらのオフセットを追加することによって作成された点を通過する曲線によって規定される。
【0070】
先に記したように、得られた軟組織ソルバは、数個のコントローラを有し、その各々が1つ以上の制御オブジェクトと関連付けられており、その変化を変形作用素が用いて、関連する変形オブジェクトを変形する。各制御オブジェクトの位置および方位をキー・フレームにするとよい。制御オブジェクトである種々の点および曲線が直接メッシュ上にあるので、これらも対応する生身の俳優に装着したモーション・キャプチャ・センサの位置に対応することができる。このため、モーション・キャプチャ・データは、各制御オブジェクトの位置および方位を制御するために用いることができる。つまり、キー・フレーム・データおよびモーション・キャプチャ・データを同じ制御オブジェクトに適用することができる。
【0071】
また、先に記したように、同じ種類、即ち、同じフォーマット・ファイルから生成した異なるキャラクタは、同じ全体構造の軟組織ソルバを有する。したがって、キャラクタの皮膚のモーションが、モーション・キャプチャまたはキー・フレーム・アニメーションのいずれによって規定されていても、比較的容易に、一方のキャラクタから別のものに目標を移すことができる。その軟組織ソルバに関係するメッシュの属性も、他のオブジェクトに転移することができる。
【0072】
このような軟組織ソルバに提供される種々の情報により、導入段階のグラフィカル・ユーザ・インターフェースおよび軟組織ソルバ、即ち、図1におけるユーザ・インターフェース116および110は、ユーザに、目視するキャラクタに関して、軟組織ソルバの選択部分を目視できるようにする。前述のように、グラフィカル・ユーザ・インターフェースは、例えば、これらの詳細を入力メッシュのレンダリングに関して示す。しかしながら、ユーザが目視したいと考えられる動画化オブジェクトの態様は多数ある。このため、グラフィカル・ユーザ・インターフェースも、ユーザに、オブジェクトの多くのレイヤの1つ以上から選択させるようにするとよい。これより図12を参照すると、ユーザ・インターフェースの図のいくつかの例が示されている。グラフィカル・ユーザ・インターフェースは、メッシュのこれらの部分、軟組織ソルバ、またはオブジェクトの他の部分の内1つ以上を選択させ、軟組織ソルバのパラメータを編集するためにコンテキストを設けることができる。図12に示すレイヤの例は、限定ではなく、オブジェクトの半径方向立体(radial volume)1200、その成分の軸方位1202、その成分と関連付けられた面1204、成分の名称1206、成分に関連するアイコンおよび色1208、成分間の上下関係1210、成分の割合1212、成分の回転順序1214、ならびに1216に示すような、成分のためのセレクタのアンフォールディング(unfolding)を含む。種々のレイヤ選択により、オブジェクトにおける種々の情報のレイヤを視覚化するアーティストの能力を高める。
【0073】
ここに記載するシステムの種々の構成要素は、汎用コンピュータを用いて、コンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、ユーザに情報を表示する出力デバイスと、ユーザからの入力を受ける入力デバイスの双方に接続された主ユニットを含む。主ユニットは、一般に、相互接続機構を通じてメモリ・システムに接続されているプロセッサを含む。入力デバイスおよび出力デバイスも、相互接続機構を通じて、プロセッサおよびメモリ・システムに接続されている。
【0074】
1つ以上の出力デバイスをコンピュータ・システムに接続することもできる。出力デバイスの例には、陰極線管ディスプレイ(CRT)、液晶ディスプレイ(LCD)、およびその他のビデオ出力デバイス、プリンタ、モデムのような通信デバイス、ならびにディスクまたはテープのような記憶装置が含まれるが、これらに限定する訳ではない。1つ以上の入力デバイスをコンピュータ・システムに接続することもできる。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、通信デバイス、ならびにデータ入力デバイスが含まれるが、これらに限定する訳ではない。本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力または出力デバイスにも、ここに記載したものにも限定されることはない。
【0075】
コンピュータ・システムは、コンピュータ・プログラミング言語を用いてプログラム可能な、汎用コンピュータ・システムとすることができる。また、コンピュータ・システムは、特別にプログラムされた、特殊目的ハードウェアとすることもできる。汎用コンピュータ・システムでは、プロセッサは、通例、市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを含み、オペレーティング・システムが、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッグ、入力/出力制御、アカウンティング、コンパイル、ストレージの割り当て、データ管理、およびメモリ管理、ならびに通信制御および関係するサービスを行う。
【0076】
メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。この媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および/または書き換え可能または書き換え不可能な場合がある。メモリ・システムは、通例、二進形式でデータを格納する。このようなデータは、マイクロプロセッサが実行するアプリケーション・プログラム、またはディスク上に格納されアプリケーション・プログラムが処理する情報を規定することができる。本発明は、特定のメモリ・システムに限定されることはない。
【0077】
ここに記載するようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら3つの組み合わせで実施することができる。システムの種々のエレメントは、個別であれ組み合わせであれ、コンピュータによる実行のためにコンピュータ読み取り可能媒体上にコンピュータ・プログラム命令が格納されている、1つ以上のコンピュータ・プログラム生産物として実施することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって、行うことができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、あるいはコンピュータ・ネットワークを通じて接続されている多数のコンピュータを含むこともできる。図1に示した構成要素は、コンピュータ・プログラムの別個のモジュールでもよく、または別個のコンピュータ上で動作可能な、別個のコンピュータ・プログラムでもよい。これらの構成要素によって生成されるデータは、メモリ・システムに格納するか、またはコンピュータ・システム間で送信することができる。
【0078】
以上実施形態の一例について説明したが、前述したことは単なる例示であり限定ではなく、一例として提示したにすぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当技術分野における通常技術の1つの範囲内にあり、本発明の範囲内に該当するものとする。
【図面の簡単な説明】
【0079】
【図1】図1は、定量的審美性を用いたアニメーション用システムのデータフロー図である。
【図2】図2は、突出点および補助点を有する頭部の一例の図である。
【図3】図3は、ユーザに入力メッシュ上の突出点を特定させるグラフィカル・ユーザ・インターフェースの一例の図である。
【図4】図4は、導入曲線を有する頭部の一例の図である。
【図5】図5は、隆起領域を有する頭部の一例の図である。
【図6】図6は、変形領域を有する頭部の一例の図である。
【図7】図7は、変形領域に対するパラメータをユーザに入力させるグラフィカル・ユーザ・インターフェースの一例の図である。
【図8】図8は、唇輪郭作用素(lip curler operator)の一例を規定する曲線および点の図である。
【図9】図9は、唇輪郭作用素の厚さパラメータを示す図である。
【図10】図10は、唇角作用素の一例について曲線および点を示す図である。
【図11】図11は、唇角作用素のパラメータを示す図である。
【図12】図12は図1のグラフィカル・ユーザ・インターフェースにおいて表示することができる種々のレイヤの図である。
【符号の説明】
【0080】
100 入力メッシュ
102 軟組織ソルバ構築部
104 軟組織ソルバ
106 フォーマット・ファイル
108 ユーザ・インターフェース
110 軟組織ソルバ・ユーザ・インターフェース
112 アニメーション・インターフェース
116 導入インターフェース
【特許請求の範囲】
【請求項1】
三次元メッシュのコンピュータ・アニメーションのための軟組織ソルバを生成するコンピュータ実装の方法であって、
前記三次元メッシュを受け取るステップと、
前記メッシュ上において1つ以上の突出点を特定する入力をユーザから受け取るステップと、
前記メッシュ上において特定した突出点を用いて、軟組織ソルバを自動的に生成するステップとを備えており、
前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連している、コンピュータ実装方法。
【請求項2】
請求項1記載のコンピュータ実装方法において、前記軟組織ソルバは、更に、前記制御オブジェクトと関連したコントローラを備えており、前記コントローラは、前記メッシュ上の突出点と関連している、コンピュータ実装方法。
【請求項3】
請求項1記載のコンピュータ実装方法であって、更に、
突出点の名称のリストを指定するフォーマット・ファイルを受け取るステップと、
前記メッシュをユーザに表示するステップと、
前記ユーザに、前記突出点の位置を、前記表示されているメッシュ上で指定するように促すステップと、
を備えた、コンピュータ実装方法。
【請求項4】
請求項1記載のコンピュータ実装方法であって、更に、前記軟組織ソルバを記述する情報を前記ユーザに表示するステップを備えており、前記軟組織ソルバを記述する情報は、レイヤとして格納され、表示すべき1つ以上のレイヤはユーザが選択可能である、コンピュータ実装方法。
【請求項5】
請求項3記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、補助点と、前記突出点の位置からどのようにして前記補助点を得たかのリストを含む、コンピュータ実装方法。
【請求項6】
請求項5記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、導入曲線と、前記突出点および補助点の位置からどのようにして導入曲線を得たのかのリストを含む、コンピュータ実装方法。
【請求項7】
請求項6記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、変形オブジェクトと、該変形オブジェクトと関連した制御オブジェクトとのリストを含む、コンピュータ実装方法。
【請求項8】
請求項1記載のコンピュータ実装方法であって、更に、変形オブジェクトによって前記メッシュに任意の変形を加えた後に、高周波変形を前記メッシュに重ね合わせるステップを含む、コンピュータ実装方法。
【請求項9】
請求項8記載のコンピュータ実装方法において、前記高周波変形は、しわマップである、コンピュータ実装方法。
【請求項10】
請求項1記載のコンピュータ実装方法において、前記変形オブジェクトは、当該変形オブジェクトが作用する各頂点に対し、前記変形オブジェクト上の前記頂点の変位の方向および相対的位置とを関連付けることによって、前記メッシュに関連付けられた、コンピュータ実装方法。
【請求項11】
請求項1記載のコンピュータ実装方法であって、更に、ユーザに、前記変形オブジェクト上における前記頂点の前記変位の方向および相対的位置をペインティング動作によって変更することが可能なユーザ・インターフェースを表示するステップを含む、コンピュータ実装方法。
【請求項12】
三次元メッシュによって規定したオブジェクトのコンピュータ生成アニメーションを作成する方法であって、
前記三次元メッシュを含む軟組織ソルバを受け取るステップであって、前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連している、ステップと、
ユーザに、前記制御オブジェクトの各々を別個に操作させ、ポーズを確立するステップと、
を備えた、方法。
【請求項13】
請求項13記載の方法であって、更に、ユーザに、前記制御オブジェクトの各々を経時的に別個に動画化させるステップを備えた、方法。
【請求項14】
請求項13記載の方法において、前記制御オブジェクトは、キー・フレームを用いて動画化が可能である、方法。
【請求項15】
請求項13記載の方法において、前記制御オブジェクトは、モーション・キャプチャ・データを用いて、動画化が可能である、方法。
【請求項16】
請求項12記載の方法において、前記制御オブジェクトは、前記メッシュ上の突出点の操作によって、位置付けが可能である、方法。
【請求項17】
請求項16記載の方法において、前記突出点は、キー・フレームを用いて操作可能である、方法。
【請求項18】
請求項16記載の方法において、前記突出点は、モーション・キャプチャ・データを用いて操作可能である、方法。
【請求項19】
請求項12記載の方法において、前記変形作用素は、ゲーム・システムのランタイム・リアルタイム・エンジンにおいて実装する、方法。
【請求項20】
請求項12記載の方法であって、更に、前記アニメーションの目標を第2の三次元メッシュに変更するステップを含む、方法。
【請求項21】
請求項1記載の方法において、前記メッシュは、キャラクタの顔面を表す、方法。
【請求項22】
請求項21記載の方法において、前記変形作用素の少なくとも1つは、唇輪郭である、方法。
【請求項23】
請求項21記載の方法において、前記変形作用素の少なくとも1つは、唇角である、方法。
【請求項24】
三次元メッシュのアニメーションのための軟組織ソルバを生成するフォーマット・ファイルであって、
突出点の名称のリストと、
補助点と、どのようにして前記補助点を前記突出点の位置から得たかのリストと、
導入曲線と、どのようにして前記突出点および補助点の位置から前記導入曲線を得たかのリストと、
変形オブジェクトと、該変形オブジェクトと関連した制御オブジェクトとのリストと、
をコンピュータ読み取り可能な形態で備えた、フォーマット・ファイル。
【請求項25】
顔面を表す三次元メッシュのコンピュータ・アニメーションにおいて用いる軟組織ソルバであって、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記変形作用素の少なくとも1つは唇輪郭であり、該唇輪郭はその変形オブジェクトとして曲線を指定し、その制御オブジェクトとして前記唇上の点を指定し、前記変形オブジェクトは、更に、前記変形オブジェクトの移動を制限する外側制限曲線および内側制限曲線を含む、軟組織ソルバ。
【請求項26】
顔面を表す三次元メッシュのコンピュータ・アニメーションにおいて用いる軟組織ソルバであって、記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記変形作用素の少なくとも1つは唇角であり、該唇輪郭は、断面曲線と、上唇曲線と、下唇曲線とをその変形オブジェクトとして指定し、上唇上の点と、下唇上の点と、唇角における点をその制御オブジェクトとして指定する、軟組織ソルバ。
【請求項27】
三次元メッシュのコンピュータ・アニメーションに用いる変形作用素軟組織ソルバを作成する方法であって、前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記方法は、
軟組織のモーション範囲を記述するデータを受け取るステップと、
前記軟組織の機械的挙動の総体的機械的モデルに、前記受け取ったデータを当てはめるステップと、
前記軟組織の機械的挙動の分解能を高めた、機械モデルの追加のレイヤに、前記受け取ったデータを当てはめることによって、繰り返し前記総体的機械的モデルを改良するステップと、
を備えた、方法。
【請求項1】
三次元メッシュのコンピュータ・アニメーションのための軟組織ソルバを生成するコンピュータ実装の方法であって、
前記三次元メッシュを受け取るステップと、
前記メッシュ上において1つ以上の突出点を特定する入力をユーザから受け取るステップと、
前記メッシュ上において特定した突出点を用いて、軟組織ソルバを自動的に生成するステップとを備えており、
前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連している、コンピュータ実装方法。
【請求項2】
請求項1記載のコンピュータ実装方法において、前記軟組織ソルバは、更に、前記制御オブジェクトと関連したコントローラを備えており、前記コントローラは、前記メッシュ上の突出点と関連している、コンピュータ実装方法。
【請求項3】
請求項1記載のコンピュータ実装方法であって、更に、
突出点の名称のリストを指定するフォーマット・ファイルを受け取るステップと、
前記メッシュをユーザに表示するステップと、
前記ユーザに、前記突出点の位置を、前記表示されているメッシュ上で指定するように促すステップと、
を備えた、コンピュータ実装方法。
【請求項4】
請求項1記載のコンピュータ実装方法であって、更に、前記軟組織ソルバを記述する情報を前記ユーザに表示するステップを備えており、前記軟組織ソルバを記述する情報は、レイヤとして格納され、表示すべき1つ以上のレイヤはユーザが選択可能である、コンピュータ実装方法。
【請求項5】
請求項3記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、補助点と、前記突出点の位置からどのようにして前記補助点を得たかのリストを含む、コンピュータ実装方法。
【請求項6】
請求項5記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、導入曲線と、前記突出点および補助点の位置からどのようにして導入曲線を得たのかのリストを含む、コンピュータ実装方法。
【請求項7】
請求項6記載のコンピュータ実装方法において、前記フォーマット・ファイルは、更に、変形オブジェクトと、該変形オブジェクトと関連した制御オブジェクトとのリストを含む、コンピュータ実装方法。
【請求項8】
請求項1記載のコンピュータ実装方法であって、更に、変形オブジェクトによって前記メッシュに任意の変形を加えた後に、高周波変形を前記メッシュに重ね合わせるステップを含む、コンピュータ実装方法。
【請求項9】
請求項8記載のコンピュータ実装方法において、前記高周波変形は、しわマップである、コンピュータ実装方法。
【請求項10】
請求項1記載のコンピュータ実装方法において、前記変形オブジェクトは、当該変形オブジェクトが作用する各頂点に対し、前記変形オブジェクト上の前記頂点の変位の方向および相対的位置とを関連付けることによって、前記メッシュに関連付けられた、コンピュータ実装方法。
【請求項11】
請求項1記載のコンピュータ実装方法であって、更に、ユーザに、前記変形オブジェクト上における前記頂点の前記変位の方向および相対的位置をペインティング動作によって変更することが可能なユーザ・インターフェースを表示するステップを含む、コンピュータ実装方法。
【請求項12】
三次元メッシュによって規定したオブジェクトのコンピュータ生成アニメーションを作成する方法であって、
前記三次元メッシュを含む軟組織ソルバを受け取るステップであって、前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連している、ステップと、
ユーザに、前記制御オブジェクトの各々を別個に操作させ、ポーズを確立するステップと、
を備えた、方法。
【請求項13】
請求項13記載の方法であって、更に、ユーザに、前記制御オブジェクトの各々を経時的に別個に動画化させるステップを備えた、方法。
【請求項14】
請求項13記載の方法において、前記制御オブジェクトは、キー・フレームを用いて動画化が可能である、方法。
【請求項15】
請求項13記載の方法において、前記制御オブジェクトは、モーション・キャプチャ・データを用いて、動画化が可能である、方法。
【請求項16】
請求項12記載の方法において、前記制御オブジェクトは、前記メッシュ上の突出点の操作によって、位置付けが可能である、方法。
【請求項17】
請求項16記載の方法において、前記突出点は、キー・フレームを用いて操作可能である、方法。
【請求項18】
請求項16記載の方法において、前記突出点は、モーション・キャプチャ・データを用いて操作可能である、方法。
【請求項19】
請求項12記載の方法において、前記変形作用素は、ゲーム・システムのランタイム・リアルタイム・エンジンにおいて実装する、方法。
【請求項20】
請求項12記載の方法であって、更に、前記アニメーションの目標を第2の三次元メッシュに変更するステップを含む、方法。
【請求項21】
請求項1記載の方法において、前記メッシュは、キャラクタの顔面を表す、方法。
【請求項22】
請求項21記載の方法において、前記変形作用素の少なくとも1つは、唇輪郭である、方法。
【請求項23】
請求項21記載の方法において、前記変形作用素の少なくとも1つは、唇角である、方法。
【請求項24】
三次元メッシュのアニメーションのための軟組織ソルバを生成するフォーマット・ファイルであって、
突出点の名称のリストと、
補助点と、どのようにして前記補助点を前記突出点の位置から得たかのリストと、
導入曲線と、どのようにして前記突出点および補助点の位置から前記導入曲線を得たかのリストと、
変形オブジェクトと、該変形オブジェクトと関連した制御オブジェクトとのリストと、
をコンピュータ読み取り可能な形態で備えた、フォーマット・ファイル。
【請求項25】
顔面を表す三次元メッシュのコンピュータ・アニメーションにおいて用いる軟組織ソルバであって、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記変形作用素の少なくとも1つは唇輪郭であり、該唇輪郭はその変形オブジェクトとして曲線を指定し、その制御オブジェクトとして前記唇上の点を指定し、前記変形オブジェクトは、更に、前記変形オブジェクトの移動を制限する外側制限曲線および内側制限曲線を含む、軟組織ソルバ。
【請求項26】
顔面を表す三次元メッシュのコンピュータ・アニメーションにおいて用いる軟組織ソルバであって、記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記変形作用素の少なくとも1つは唇角であり、該唇輪郭は、断面曲線と、上唇曲線と、下唇曲線とをその変形オブジェクトとして指定し、上唇上の点と、下唇上の点と、唇角における点をその制御オブジェクトとして指定する、軟組織ソルバ。
【請求項27】
三次元メッシュのコンピュータ・アニメーションに用いる変形作用素軟組織ソルバを作成する方法であって、前記軟組織ソルバは、前記メッシュと関連した1つ以上の制御オブジェクトと、前記メッシュと関連した1つ以上の変形オブジェクトと、1つ以上の変形作用素とを含み、前記変形作用素の各々は、前記制御オブジェクトの1つおよび前記変形オブジェクトの1つと関連しており、前記制御オブジェクトの変化に応じて、前記関連した変形オブジェクトに対して変形を指定し、前記関連した変形オブジェクトの変形は、前記三次元メッシュの変形と関連しており、前記方法は、
軟組織のモーション範囲を記述するデータを受け取るステップと、
前記軟組織の機械的挙動の総体的機械的モデルに、前記受け取ったデータを当てはめるステップと、
前記軟組織の機械的挙動の分解能を高めた、機械モデルの追加のレイヤに、前記受け取ったデータを当てはめることによって、繰り返し前記総体的機械的モデルを改良するステップと、
を備えた、方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−42101(P2007−42101A)
【公開日】平成19年2月15日(2007.2.15)
【国際特許分類】
【外国語出願】
【出願番号】特願2006−207925(P2006−207925)
【出願日】平成18年7月31日(2006.7.31)
【出願人】(500035823)アビッド テクノロジー インコーポレイテッド (35)
【Fターム(参考)】
【公開日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願番号】特願2006−207925(P2006−207925)
【出願日】平成18年7月31日(2006.7.31)
【出願人】(500035823)アビッド テクノロジー インコーポレイテッド (35)
【Fターム(参考)】
[ Back to top ]