JP4361878B2 - 統計力学的モデリングの方法と装置 - Google Patents

統計力学的モデリングの方法と装置 Download PDF

Info

Publication number
JP4361878B2
JP4361878B2 JP2004572201A JP2004572201A JP4361878B2 JP 4361878 B2 JP4361878 B2 JP 4361878B2 JP 2004572201 A JP2004572201 A JP 2004572201A JP 2004572201 A JP2004572201 A JP 2004572201A JP 4361878 B2 JP4361878 B2 JP 4361878B2
Authority
JP
Japan
Prior art keywords
armature
character model
pose
character
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004572201A
Other languages
English (en)
Other versions
JP2006514380A (ja
Inventor
アンダーソン,ジョン
ウッドバリー,アダム
Original Assignee
ピクサー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/438,748 external-priority patent/US20040227761A1/en
Priority claimed from US10/438,732 external-priority patent/US7307633B2/en
Application filed by ピクサー filed Critical ピクサー
Publication of JP2006514380A publication Critical patent/JP2006514380A/ja
Application granted granted Critical
Publication of JP4361878B2 publication Critical patent/JP4361878B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、コンピュータ・グラフィックスの分野に関するものであり、具体的には、コンピュータ生成キャラクターをアニメーション化するための方法と装置に関するものである。本発明は、コンピュータ・グラフィックスの分野に関する。多くのコンピュータ・グラフィック・イメージは、与えられた視点から光と三次元シーンとの相互作用を数学的にモデル化することにより作成される。このプロセスは、レンダリングと呼ばれ、与えられた視点からシーンの二次元イメージを生成するものであり、現実世界の風景を写真に撮るのと似ている。アニメーション・シーケンスは、時間の経過とともにシーンが徐々に変化するときにシーンのイメージのシーケンスをレンダリングすることにより作成することができる。リアルなレンダリング・イメージとアニメーションを作成することに多大な労力が費やされている。
アニメーションは、手描きであろうとコンピュータ生成であろうと、科学技術であるのと同時に芸術でもある。アニメーションは、シーンをリアルに見せるだけでなく、物語で要求される適切なドラマ進行状況と情緒的インパクトも伝えなければならない。このことは、特に、キャラクターのアニメーション化の際に当てはまる。キャラクターは、物語のドラマ進行の機動力であり、視聴者との感情面の結び付きを確立する。
芸術的効果のあるキャラクター・アニメーションを作成するために、アニメーターは、ラフ・バージョンのシーンを作成し、その後、キャラクター・アニメーションを微調整して、最終的なシーンの所望のドラマと表現を作成することが多い。これは、映画監督がシーンの完全なムードを捕らえるために俳優達とシーンのリハーサルをするのと似ている。アニメーターは、キャラクター・アニメーションの表現力に対し責任があるため、アニメーターは、アニメーション・ツールを使用して、キャラクター・アニメーションを効率よく微調整し、アニメーションの最終的態様を正確にプレビューすることが重要である。
コンピュータ生成アニメーションでは、キャラクターの外観は、三次元コンピュータ・モデルにより定義される。リアルに見えるようにするため、キャラクターのコンピュータ・モデルは、極めて複雑であり、数百万個のサーフェスと数百あるいは数千個の属性を持つことが多い。このような複雑なモデルをアニメーション化する作業には複雑さが伴うので、アニメーション・ツールは、多くの場合、キャラクター・アニメーションを定義するためにアーマチュアとアニメーション変数に依存する。アーマチュアは、キャラクターのポーズ、つまり姿勢を表す「スティック・フィギュア」である。「スティック・フィギュア」の「スティック」であるアーマチュア・セグメントを移動することにより、アーマチュアを操作して望むポーズにできる。アニメーターによってアーマチュアのポーズが決められたら、アニメーション・ツールにより、キャラクターの姿勢がアーマチュアの姿勢をおおよそ反映するようにキャラクター・モデルを修正する。
アニメーション変数は、複雑なキャラクター・モデルのキャラクター・アニメーションを定義するもう1つの手段である。アニメーション変数は、キャラクター・モデルを修正する機能によって使用されるパラメータである。アニメーション変数とその関連する機能を使用して、入り組んだ修正を比較的単純なコントロールに対するキャラクター・モデルに抽象化する。例えば、アニメーション変数により、キャラクターの口の開度を定義することができる。この例では、アニメーション変数の値は、キャラクターの口を所望の開度で開くのに必要なキャラクターのアーマチュアのさまざまな部分の位置を決定するために使用される。その後、アニメーション・ツールで、最終ポーズ設定アーマチュアに従ってキャラクター・モデルを修正し、口を開いたキャラクター・モデルを作成する。
1つのアーマチュアから最終ポーズ設定キャラクター・モデルを作成するさまざまなアプローチがある。従来のアプローチの1つは、キャラクター・モデル上の複数の点を1つまたは複数のアーマチュア・セグメントに関連付けることである。アーマチュアがあるポーズに移るときに、それぞれのアーマチュア・セグメントに関連付けられている複数の点が、関連付けられたポーズ設定されたアーマチュア・セグメントの位置に基づき新しい位置に運動学的に変換される。この運動学的変換は高速実行できるため、アニメーターは、リアルタイムで、またはリアルタイムに近い速さで、対話方式によりアニメーションをプレビューし、微調整することができる。しかし、運動学的変換から生じるアニメーションは、多くの場合、硬直しているように見え、いかにも「人形」のようである。
さらに、人間や動物などの多数のキャラクターは、変形可能なやわらかいオブジェクトである。運動学的変換では、「ソフト・ボディ」オブジェクトの場合に特にパフォーマンスが悪いが、それは、キャラクターの変形を正確にシミュレートできないからである。このため、ポーズをとるときにキャラクターがリアルに曲がり、膨らむことが困難である。さらに、運動学的変換は、やわらかいボディ・オブジェクトに適用された場合、ひび割れや継ぎ目が、モデル・サーフェスのキャラクター接合部に生じる。追加アーマチュア・セグメントを追加して、サーフェスの曲がりや膨れをシミュレートし、モデル・サーフェスの接合部を滑らかにすることができるが、そのような追加アーマチュア・セグメントを作成するのは時間を要し、最終ポーズ設定キャラクターは、曲がりと膨れをリアルに見せるために広範にわたって手作業による微調整を必要とすることが多い。
運動学的変換を使用してソフト・ボディ・キャラクターをアニメーション化する代わりに、物理的シミュレーション・アプローチを使用してソフト・ボディ・キャラクターをアニメーション化することができる。物理的シミュレーション・アプローチでは、キャラクター・モデルは材料物理学シミュレーションにより処理され、物理的にリアルに見えるソフト・ボディ・オブジェクトを作成する。このアプローチは、セットアップに非常に時間のかかる方法であり、多くの場合、モデラーでは皮膚などのキャラクターの外側だけでなく、その下の筋肉や骨格をも定義する必要がある。さらに、アニメーターによって作成されたポーズ毎にキャラクター・モデルを処理する作業は、極めて多量の計算を必要とし、多くの場合、短いアニメーション・シーケンスであってもキャラクター・モデルの変形を計算するのに数時間、ときには数日かかることさえある。
アニメーション・プロセスはその性質上時間がかかるため、たいてい、アニメーターは、簡略化された「スタンドイン」モデルを使用してシーンを作成し、その後、その結果として得られるアニメーションを最終的なキャラクター・モデルで見るのを待つ必要がある。アニメーターはそのアニメーションの最終結果を直ぐに見ることはできないため、キャラクターの表現力を微調整することは非常に困難であり、また不効率である。この手法を利用した場合、アニメーターは本質的に手探り状態で作業することになり、最終結果を推測することしかできない。
アニメーション化されたキャラクターは、さらに、シーン内の他のオブジェクトまたはキャラクターと衝突または相互作用することが多い。衝突をリアルに見せるために、アニメーション化されたキャラクターは、衝突オブジェクトの周りで変形させる必要がある。衝突に対する応答としてのリアルなキャラクター変形は、衝突をアニメーション化するうえで、特にキャラクターがソフト・ボディ・オブジェクトである場合に、本質的である。運動学的変換などの従来のキャラクター・ポーズ設定手法では、衝突に対する応答としてキャラクター・モデルのリアルな変形を実行することはできない。その代わりに、アニメーターは、手作業で、キャラクター・モデルの形状を変更しなければならない。物理的シミュレーション手法を使用すれば、衝突に対する応答としてキャラクター・モデルを変形することができるが、上述のように、物理的シミュレーション手法は、セットアップと計算に非常に時間がかかる。物理的シミュレーション手法の時間的要件はかなり高いので、アニメーターが適切な劇的衝撃を伝えるように衝突アニメーションを微調整することは困難である。
ソフト・ボディ・キャラクターのアニメーション化のために、1)アーマチュア・ポーズに対する応答としてソフト・ボディ・キャラクターをリアルに変形し、2)アニメーターが操作しやすく、3)アニメーターがアニメーションを効率よく微調整することができるように素早く評価できる、4)アニメーターがキャラクター・モデルの最終的外観をプレビューできる方法とシステムを用意することが望ましい。さらに、ソフト・ボディ・キャラクターは、自己衝突または外部オブジェクトとの衝突からリアルに変形することも望ましい。
ソフト・ボディ・キャラクターをアニメーション化する方法は、第1のキャラクター準備フェーズとその後の第2のキャラクター・アニメーション作成フェーズを含む。キャラクター準備フェーズでは、キャラクター・モデルの皮膚変形が、基底ポーズの集合のそれぞれについて決定される。キャラクター変形フェーズでは、さらに、衝撃衝突に対する応答として多数の皮膚接触点でキャラクター・モデルの皮膚変形を決定する。本発明の一実施態様では、皮膚モード応答と呼ばれるポーズ決定からの皮膚変形および皮膚衝撃応答と呼ばれる衝撃衝突からの皮膚変形は、この基底ポーズの集合に関してコンパクトに表現される。
キャラクター・アニメーション作成フェーズでは、基底ポーズの集合、皮膚モード応答と皮膚衝撃応答を使用して、最終ポーズ設定キャラクターを作成する。所望されるキャラクター・ポーズに関係なく、キャラクター・アニメーション作成フェーズでは、同じ基底ポーズの集合、皮膚モード応答と皮膚衝撃応答を使用する。したがって、この基底ポーズの集合、皮膚モード応答と皮膚衝撃応答は、キャラクター・モデルに対し1回だけ決定される必要がある。
一実施態様では、キャラクター・モデルをアニメーション化する方法は、キャラクター・ポーズの集合から基底集合を決定し、その基底集合に対応するキャラクター・モデルの皮膚応答の集合を決定することを含む。所望のキャラクター・ポーズは基底集合上に射影され、基底重みの集合が決定される。基底重みが皮膚応答の集合に適用されて皮膚ポーズ応答が作成され、皮膚ポーズ応答が基底集合上に射影されてポーズ設定キャラクター・モデルが作成される。他の実施態様では、キャラクター・ポーズを射影するステップ、基底重みの集合を適用するステップ、皮膚応答の集合を射影するステップが、第2の所望のキャラクター・ポーズについて繰り返され、第2のポーズ設定キャラクター・モデルが作成される。
一実施態様では、キャラクター・ポーズの集合は、学習集合からのポーズを含む。他の実施態様では、キャラクター・ポーズの集合は、ランダムに作成されたポーズを含む。さらに他の実施態様では、アーマチュアを使用して、キャラクター・ポーズの集合を定義するとともに、所望のキャラクター・ポーズをも定義する。他の実施態様では、アニメーション変数は、所望のポーズの少なくとも一部を定義する。
一実施態様では、皮膚応答を決定することは、基底集合内のポーズからの変位の集合をキャラクター・モデルの一部分に適用すること、およびキャラクター・モデル全体にわたる変位の関数を最小化することを含む。一実施態様では、この関数は、弾性エネルギー関数である。他の実施態様では、この関数は、キャラクター・モデルに関連付けられているサンプル点の集合にわたって最小化される。
この方法の一実施態様では、キャラクター・ポーズをキャラクター・モデルに関連付けられた参照フレームの集合に変換する。それぞれの参照フレームに対して、キャラクター・モデルの皮膚ポーズ応答がキャラクター・ポーズに対する応答として作成される。この実施態様では、それぞれの参照フレームの皮膚ポーズ応答からキャラクター・モデルの複合皮膚応答を構成する。
他の実施態様では、第1の参照フレームの皮膚応答の一部分を第2の参照フレームの皮膚応答の一部分とを組み合わせることにより複合皮膚応答を構成する。第1の参照フレームの皮膚応答の一部分と第2の参照フレームの皮膚応答の一部分は、キャラクター・モデルの2つの、少なくとも一部重なり合う領域に対応することができる。それとは別に、第1の参照フレームの皮膚応答の一部分と第2の参照フレームの皮膚応答の一部分は、キャラクター・モデルの2つの異なる領域に対応する。
他の実施態様では、第1と第2の参照フレームの皮膚応答の複合皮膚応答への影響を定義するフレーム重みの集合に従って、第1の参照フレームの皮膚応答の一部分を第2の参照フレームの皮膚応答の一部分と組み合わせる。さらに他の実施態様では、キャラクター・モデルを通してフレーム重み値の初期集合を拡散することによりフレーム重みの集合を決定する。
本発明は、図面を参照しつつ説明される。
分かりやすくするため図では本発明を二次元で例示しているが、本発明は、一般に、三次元コンピュータ・モデルの操作に適用可能であることに留意されたい。
図1は、本発明の一実施形態を実装することができるコンピュータ・システム100の実施形態を示す図である。コンピュータ・システム100は、通常、モニタ110、コンピュータ120、キーボード130、ユーザ入力デバイス140、ネットワーク・インターフェイス150を備える。ユーザ入力デバイス140は、コンピュータ・マウス、トラック・ボール、トラック・パッド、グラフィックス・タブレット、タッチ・スクリーン、および/またはユーザがモニタ110上に表示されるグラフィックス、オブジェクト、アイコン、および/またはテキストを作成または選択できるようにするその他の有線または無線入力デバイスを備える。ネットワーク・インターフェイス150の実施形態は、通常、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークなどの電子通信ネットワーク、例えば、インターネット、および/または仮想ネットワーク、例えば、仮想プライベート・ネットワーク(VPN)と通信する有線または無線通信を実現する。
コンピュータ120は、通常、1つまたは複数の汎用プロセッサ160などのコンポーネント、ランダム・アクセス・メモリ(RAM)170、ディスク・ドライブ180などのメモリ記憶デバイス、上記コンポーネントを相互接続するシステム・バス190を備える。RAM 170とディスク・ドライブ180は、データ、オーディオ/ビデオ・ファイル、コンピュータ・プログラム、アプレット・インタプリタまたはコンパイラ、仮想マシンを格納するための有形な媒体の実施形態であり、本明細書で説明されている発明のいくつかの実施形態では、幾何学的シーン・データ、オブジェクト・データ・ファイル、シェーダー・ディスクリプタ、レンダリング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、変位マップを含む。コンピュータ120の他の実施形態は、オーディオとグラフィックス・データを処理し、出力するための専用オーディオおよびビデオ・サブシステムを備えることができる。他の種類の有形な媒体としては、フロッピ・ディスク、取り外し可能ハード・ディスク、DVD−ROM、CD−ROM、およびバーコードなどの光記憶媒体、フラッシュ・メモリなどの不揮発性メモリ・デバイス、読み取り専用メモリ(ROMS)、バッテリ・バックアップ揮発性メモリ、ネットワーク接続記憶デバイスがある。
図2A、2Bは、例示的キャラクタと例示的キャラクタのポーズを設定するために使用される例示的アーマチュアを示す図である。キャラクター205は、分かりやすくするため二次元で示した、ソフト・ボディ・オブジェクトの三次元コンピュータ・モデルである。キャラクター205は人間そっくりの形に示されているが、キャラクター205は、現実的な、および/または擬人化された属性を持つ植物、動物、無生物オブジェクトを含む、さまざまな種類のオブジェクトの形をとりうる。キャラクター205は、三次元モデリング・ソフトウェア、手続き的オブジェクト作成、物理的オブジェクトの三次元走査の範囲内の手作業による構成を含む、三次元コンピュータ・モデルを作成するために使用される任意の方法で作成することができる。キャラクター205は、多角形の集合、ボクセル、ベジエ曲面または非一様有理Bスプライン曲線(NURBS)などの高次曲面、構成的立体幾何学、および/または三次元オブジェクトを表すための他の何らかの手法で構成することができる。さらに、キャラクター205は、色、テクスチャ、材料特性、透明度、反射率、照明と陰影属性、変位マップ、バンプ・マップを含む、オブジェクトの外観を定義する属性を含むことができる。
キャラクター205は、アーマチュア210を通じてアニメーション化される。アーマチュア210は、1つまたは複数のアーマチュア・セグメントを含む。アーマチュア・セグメントは、図2Aに示されているように、接続状態であるか、または分離されている。アニメーターは、キャラクターのポーズを定義するため、アーマチュア210のセグメントの位置と向きを操作する。ポーズは、キャラクター205の姿勢を定義するアーマチュアの位置と向きの集合である。アーマチュア・セグメントは、サイズ、位置、または向きに関して制約でき、またアニメーター側で、自由に操作することもできる。アーマチュア・セグメントの個数は、キャラクターの複雑度によって異なり、典型的なキャラクターでは、アーマチュアは、数百または数千個のセグメントを含むことがある。場合によっては、アーマチュア・セグメントの個数と位置は、キャラクターの「骨格」のものと類似しているが、アーマチュア・セグメントは、さらに、微妙な顔の表情や骨または他の解剖学的特徴に必ずしも関連付けられていないその他のキャラクター詳細も定義できる。さらに、図2Aのアーマチュア210内のアーマチュア・セグメントは、点の集合からなるが、本発明の他の実施形態では、アーマチュア・セグメントは、サーフェスの集合および/またはボリュームの集合で構成することができる。アーマチュア210はアニメーターによりポーズが設定されるが、キャラクター205の姿勢は、アーマチュア210の姿勢を大まかに反映している。
キャラクター205は、キャラクター205が一方のポーズから他方のポーズに漸進的に移動するフレーム、つまり静止画のシーケンスを作成することによりアニメーション化される。キャラクター205は、さらに、平行移動、回転、拡大縮小、または他の何らかの手段によりフレーム間で全体として操作されるようにできる。アニメーターは、シーケンス内の各フレームについてキャラクターのポーズを手作業で作成するか、または2つまたはそれ以上のキー・フレームに対するポーズを作成することができ、その後アニメーション・ソフトウェアにより補間し、各フレームのポーズを作成する。ポーズを、また、関数、プロシージャ、またはアルゴリズムを使用して、自動的に作成することもできる。アニメーション変数は、ポーズを定義する1つまたは複数の関数に対するパラメータとして使用することができる。キャラクター205やその関連するアーマチュア210は、静止ポーズ、つまりキャラクターのデフォルトの姿勢で示されている。一実施形態では、キャラクターの静止ポーズは、キャラクター・モデルとアーマチュアの初期配置により決定される。
図2Bは、アニメーターにより操作され、あるポーズにされた後のキャラクター220を例示している。この実施形態では、アニメーターは、アーマチュア225の腕セグメントを移動した。それに対する応答として、キャラクター220は、腕を持ち上げた状態のポーズをとる。さらに複雑なポーズは、追加アーマチュア・セグメントを操作することにより形成できる。
アーマチュア・ポーズの作成の後、キャラクターは、アーマチュアの姿勢を反映するように処理される。本発明では、アニメーション・プロセスを2つのフェーズに分割することによりソフト・ボディ・キャラクターの対話的なフレーム・レートやリアルなポーズ設定を可能にする。
図3は、本発明の実施形態によりキャラクターをアニメーション化する方法の2つのフェーズを示すブロック図300である。第1のフェーズ305は、キャラクター準備フェーズである。キャラクター準備フェーズは、比較的多量の計算を必要とし、アニメーションに先立って実行される。キャラクター準備フェーズ305では、キャラクターのさまざまなポーズへの変形を定義するキャラクター用のモード・データの集合を作成する。
キャラクター準備フェーズ305の時間完了後、アニメーターは、キャラクター・アニメーション作成フェーズ310でキャラクターのアニメーション化を行う。キャラクター・アニメーション作成フェーズ310で、アニメーターは、1つのフレーム内の1つのキャラクターのアーマチュア・ポーズを定義することによりキャラクターのアニメーション化シーケンスを作成する。最終ポーズ設定キャラクターは、アニメーターにより定義されたアーマチュアのポーズとキャラクター準備フェーズ305ですでに作成されているモード・データの集合から作成される。本発明の一実施形態では、アーマチュア・ポーズとモード・データの集合からリアルタイムで最終ポーズ設定キャラクターを作成し、アニメーターはその結果をプレビューすることができる。所望のキャラクター・ポーズに関係なく、キャラクター・アニメーション作成フェーズでは、モード・データの同じ集合を使用して、最終ポーズ設定キャラクターを作成する。したがって、キャラクター準備フェーズ305は、1つのキャラクターに対し1回だけ実行すればよい。キャラクター・アニメーション・フェーズ310を繰り返して、アニメーション化シーケンス内のそれぞれのアーマチュア・ポーズに対し最終ポーズ設定キャラクターを作成する。
図4は、本発明の一実施形態によりキャラクターをアニメーション化するキャラクター準備フェーズのブロック図400である。ステップ405では、サンプル・アーマチュア位置の集合から基底を作成する。このステップでは、サンプル・アーマチュア位置の集合が、キャラクターに関連付けられたアーマチュアについて作成される。一実施形態では、サンプル・アーマチュア位置の集合は、キャラクターの典型的アクションを定義する学習集合からのポーズを含む。例えば、サンプル・アーマチュア位置の集合は、歩く、走る、握る、跳ねる、登るなどのアクションに関連付けられたアーマチュア・ポーズを含むことができる。他の実施形態では、サンプル・アーマチュア位置の集合は、プログラムにより作成される。サンプル・アーマチュア位置は、1つまたは複数のアーマチュア・セグメントを選択し、それらのセグメントを操作して新しい位置または向きにすることにより手続き的に作成することができる。例えば、それぞれのアーマチュア・セグメントを次々に選択し、指定された次元方向に1単位移動して、サンプル・アーマチュア位置を作成する。この実施形態では、集合内のサンプル・アーマチュア位置の総数がアーマチュア・セグメントの個数の3倍になる。他の実施形態では、選択されたアーマチュア・セグメントに隣接するアーマチュア・セグメントも、それぞれのサンプル・アーマチュア位置が作成されるときに弾性モデルに従って再配置される。さらに他の実施形態では、サンプル・アーマチュア位置について、アーマチュア・セグメント上の制約を考慮する。例えば、アーマチュア・セグメントは運動範囲を制限することができる。
それぞれのサンプル・アーマチュア位置は、アーマチュア・セグメントの位置を定義するベクトルにより記述される。一実施形態では、このベクトルは、静止または初期位置のその位置に関してアーマチュア・セグメントの位置を定義する。それぞれのサンプル・アーマチュア位置に対するベクトルを組み合わせて、アーマチュアに対するサンプル・アーマチュア位置の集合を含む行列を形成する。この行列の特異値分解を計算して、アーマチュアに対する基底関数(またはモード)の集合を見つける。他の実施形態では、正準相関などの基底関数の集合を計算する他の方法も使用できる。基底関数の集合は、ポーズを複数の時間基底関数のうちの1つまたは複数の重み付き総和として近似的に表現することができる「ポーズ空間」をコンパクトに定義する。他の実施形態では、その結果得られる基底関数の集合が正規直交基底でない場合、基底関数の集合は、それぞれの基底関数はその大きさが1で、他のすべての基底関数に対し垂直になるように正規直交化される。
ステップ405で基底関数の集合を作成した後、ステップ410でサンプル・アーマチュア位置基底関数のそれぞれについて皮膚モード応答が決定される。皮膚モード応答は、その静止ポーズからサンプル・アーマチュア位置にアーマチュアを移動することに対する応答としてのキャラクターのサーフェスの変形である。
図5は、本発明の一実施形態によるステップ410で必要なキャラクターの皮膚モード応答を決定する方法を示すブロック図500である。ステップ505で、キャラクター・モデルとそのアーマチュアは、離散化され、サンプル点の集合が作成される。一実施形態では、キャラクター・モデルは、三次元グリッドに離散化される。この実施形態では、キャラクター・モデル内の、またはアーマチュアに隣接するグリッド点は、サンプル点の集合である。他の実施形態では、キャラクター・モデルは、四面体セルの集合に離散化される。この実施形態では、四面体の集合は、キャラクター・モデルの中、およびアーマチュアの周りに当てはめられる。四面体の頂点は、サンプル点の集合である。これらの実施形態は、実施形態として意図されており、有限要素有限体積法や球の和離散化などさまざまな種類の離散化をステップ505で使用できる。
ステップ505のアプリケーション実施形態では、図6Aは、キャラクター・モデル603と三次元グリッド607で離散化された関連するアーマチュア605を示している。キャラクター・モデル603とそのアーマチュア605は静止位置にある。二次元で示されてはいるが、グリッド607は三次元グリッドである。さらに、グリッド607の密度、つまり、単位体積あたりのグリッド立方体の個数は、図6Aに、説明のみを目的として示されている。キャラクター・モデル603のサイズと相対的比率に応じて、典型的なグリッドは、キャラクターを中心におおよそ高さが立方体120個分、幅が立方体50個分、奥行きが立方体70個分のバウンディング・ボックスを形成する。これらの寸法は、キャラクター・モデル603の高さ、幅、奥行きに応じて異なる。
他の実施形態では、キャラクター603の異なる部分についてグリッドの密度は異なり、キャラクターのより複雑な部分、例えば、キャラクターの顔や手の正確さを保証できる。グリッド607は、キャラクター・モデル603を囲むだけでなく、キャラクター・モデル603の内側も埋める。他の実施形態では、キャラクター・モデル603の外に完全に出ているグリッド要素は、破棄されるが、キャラクター・モデルの内側に部分的に、または完全に入っているグリッド要素は、皮膚モード応答を決定するため保持される。これにより、皮膚モデル応答を決定するための処理とメモリに対する要件が緩和される。
図6Bは、例示的アーマチュア625とその関連するキャラクター・モデル623の基底関数に関連付けられているサンプル・アーマチュア位置を例示している。この実施形態では、アーマチュア・セグメント627、629は、新しい位置に配置される。変位ベクトル631、633は、それぞれ、静止ポーズからのアーマチュア・セグメント627、629の変位を定義する。輪郭635は、サンプル・アーマチュア位置の中への静止位置に対するアーマチュア変位の影響を受けるキャラクター・モデル623の一部分を例示している。
ステップ510では、サンプル・アーマチュア位置からの変位ベクトルは、アーマチュア・セグメントに隣接するサンプル点に割り当てられる。
ステップ510のアプリケーション実施形態では、図6Cは、アーマチュア・セグメントに隣接するサンプル点への変位ベクトルの割り当てを例示している。図6Cは、キャラクター・モデルの一部分640、その関連するアーマチュア642、周囲のグリッド641を例示する。アーマチュア・セグメント643、645は静止ポーズで示されている。アーマチュア変位ベクトル647、649は、それぞれ、アーマチュア・セグメント643、645に関連付けられている。
アーマチュア変位ベクトル647に隣接するサンプル点は、それぞれ、変位ベクトル651の集合により示されている、変位ベクトルを割り当てられる。グリッド変位ベクトル651の集合の重み付き総和がアーマチュア変位ベクトル647に等しくなるように、変位ベクトルの値が計算される。同様に、変位ベクトル653の集合は、アーマチュア変位ベクトル649に隣接するサンプル点に割り当てられる。変位ベクトルは、任意のアーマチュア・セグメントの任意の部分に隣接するすべてのサンプル点について計算される。アーマチュア変位ベクトルがアーマチュア・セグメントの終点についてのみ定義されている場合、アーマチュア変位ベクトルは、アーマチュア・セグメントの長さにそって補間される。その後、補間されたアーマチュア変位ベクトルを使用して、アーマチュアのそれぞれの部分に隣接するサンプル点に対し変位値の集合を作成する。
グリッド641が三次元デカルト・グリッドである実施形態では、それぞれのアーマチュア変位ベクトルは、8本の隣接変位ベクトルを持つ。四面体離散化を使用する他の実施形態では、それぞれのアーマチュア変位ベクトルは4本の隣接変位ベクトルを持つ。
アーマチュア変位ベクトルと図6Cでサンプル点に割り当てられている変位ベクトルは縮尺比通りに示されていないことに留意されたい。さらに、変位ベクトルの大きさは、無限小であると仮定されている。その結果、サンプル点は、変位ベクトルによりその初期位置から実際には移動しない。その代わりに、割り当てられた変位ベクトルは、その関連付けられたサンプル点の「仮想変位」を表す。
ステップ515で、キャラクター・モデルの皮膚の変形である、皮膚モード応答は、初期入力値としてステップ510で割り当てられた変位ベクトルを使用して計算される。一実施形態では、皮膚モード応答は、キャラクター本体の内側にあるすべてのサンプル点上で弾性エネルギー関数の値を求めることにより計算される。弾性エネルギー関数の一実施形態を以下に示す。
Figure 0004361878
この弾性エネルギー関数の例では、qxyz(x,y,z)は、(x,y,z)の静止位置からのサンプル点の変位である。Vは、体積変化に対するモデルの抵抗を表すパラメータであり、Sは、内部剪断力に対する抵抗を表すパラメータである。VとSの値を変えて、キャラクターの変形特性を変化させることができる。非常にやわらかい、つまり「ぐにゃっとした」キャラクターのVとSの値は低いが、比較的堅いキャラクターのVとSの値は大きい。
材料挙動は、一般に、ハミルトン力学系により表すことができ、ステップ515ではハミルトン関数をエネルギー関数として使用することができる。他の実施形態では、エネルギー関数は、上記の実施形態に示されているような局所変形に対する応答としてシステムのエネルギーを変化させる局所項、および大域体積保存項など全体としてキャラクター・モデルの変化に対する応答としてシステムのエネルギーを変化させる追加大域項を含む。
サンプル点の集合に対する「シード」値としてアーマチュア・セグメントに隣接するサンプル点に割り当てられた変位値を使用して、キャラクター・モデル全体の弾性エネルギーを表す連立方程式を作成する。この連立方程式は、サンプル点の集合上で最小にされる。弾性エネルギー関数の最小化は、数値ソルバーを使用してサンプル点毎に位置オフセットであるqxyzの値を見つけることで実行できる。一実施形態では、楕円型数値ソルバーを使用して、エネルギー関数を最小にする。他の実施形態では、共役勾配マルチグリッドまたはヤコビ・ソルバーを使用できる。皮膚モードは、モデルの皮膚に隣接する位置オフセットの集合である。
ステップ515のアプリケーション実施形態では、図6Dは、基底関数のキャラクター・モデルの皮膚モード応答の一部の実施形態を示している。キャラクター・モデルの一部分660が詳細に示されている。変位ベクトル663の集合は、キャラクターの皮膚の一部分の変形を記述する。この実施形態では、皮膚は、キャラクターの「膝蓋骨」を中心に外側へ膨らむ。同様に、変位ベクトル665の集合は、「膝」の後のキャラクターの皮膚の一部分の変形を記述する。この実施形態では、皮膚は、膝の真後ろでは内側に向かってしわになるが、膝の真上と下では外側へ膨らむ。分かりやすくするため省略されているが、変位ベクトルは、キャラクター・モデルの皮膚に隣接するすべてのサンプル点について計算される。他の実施形態では、所定の基底関数から皮膚点で非常に小さな変形を示す、0または非常に小さい値のグリッド変位ベクトルは、切り捨てられる。
図6Eは、モデル皮膚上に構成された図6Dの皮膚モード応答を例示している。この図は、キャラクター・モデルの外観に対する図6Dの皮膚モード応答の効果を明らかにするために提示されている。後述のように、本発明の一実施形態では、皮膚モード応答を基底関数の集合上に射影し、表現をよりコンパクト化する。図6Bの実施形態では、キャラクター・モデルの一部分680が詳細に示されている。皮膚685は、基底関数により生じる変位の結果として、外側と内側に膨らむ。この実施形態では、皮膚モード応答は、キャラクターの膝が曲がるときにキャラクターの脚の変形をリアルに見せる表現を提示する。
リアルな「膨れている」外観を作り出すためにキャラクターの皮膚の下に複雑な骨と筋肉構造を構成する必要がある従来の物理的シミュレーション手法とは異なり、本発明では、アーマチュア基底関数により導入される変位から直接、リアルな皮膚モード応答を決定する。また、運動学的変換手法とは異なり、複数の皮膚点を1つまたは複数のアーマチュア・セグメントに明示的に関連付ける必要はない。その代わりに、リアルな皮膚変形は、基礎のアーマチュアの変位から自動的に生じる。これにより、従来の手法と比較して、キャラクター・モデルを作成するのに要する時間と労力が低減される。
従来技術と比較するため、アーマチュア・ポーズにより運動学的変換されたキャラクター・サーフェスの輪郭690も示されている。運動学的に変換されたモデル皮膚は、本発明の実施形態の皮膚モード応答と比較した場合、堅く、機械的に見える。
ステップ520で、皮膚モード応答を決定するプロセスを基底関数毎に繰り返し、基底関数の集合に対する皮膚モード応答の対応する集合を作成する。ステップ525で、皮膚モード応答は、基底関数の集合上に射影され、皮膚モードの集合のコンパクトな表現が作成される。
ステップ525の一実施形態では、アーマチュア・セグメントに隣接するサンプル点に対する位置オフセットは、それぞれの皮膚モードの計算の後の元の値と比較される。これは、変形されたキャラクター・モデルの「プッシュ・バック」のアーマチュア・セグメントに対する効果と別のアーマチュア・セグメントが互いにプッシュインする効果があるため実行される。アーマチュア・セグメントに隣接するサンプル点が変化した場合、新しい基底関数は、修正されたサンプル点の集合から計算される。新しい基底関数は、基底関数集合内の対応する元の基底関数を置き換える。基底関数の修正された集合は、正規直交化され、その後、皮膚モードは、格納のため、基底関数の修正された正規直交化された集合上に射影される。基底関数の集合に対する皮膚モード応答の決定の後、キャラクター・モデルの皮膚に隣接しない位置オフセットである、未使用位置オフセットは破棄される。
ステップ410が完了し、アーマチュア基底関数の集合に対する皮膚モードの集合が決定された後、ステップ415で、キャラクター・モデル皮膚に対するフレーム重みの集合を決定する。以下で詳しく説明するように、フレーム重みの集合がキャラクター・アニメーション作成フェーズで使用され、キャラクター・モデルの一部分の大きな回転により持ち込まれる望ましくない剪断効果を補正する。
図7は、本発明の一実施形態による座標参照フレームの集合に関してキャラクター・モデルに重み付けをする方法を示すブロック図である。ステップ705で、アーマチュアのセグメントに座標参照フレームの集合が張り付けられる。座標参照フレームは、アーマチュア・セグメントとキャラクター・モデルの隣接部分に対する局所座標系を定義する。一実施形態では、座標参照フレームは、それぞれのアーマチュア・セグメントに張り付けられる。他の実施形態では、いくつかのアーマチュア・セグメントが、同じ座標参照フレームを共有することができる。一実施形態では、座標参照フレームは、座標参照フレームの原点または配置を定義する第1のベクトルと座標参照フレームの座標軸を定義する3本のベクトルの合わせて4本のベクトルからなる。
図8Aは、ステップ705で必要とされるように例示的アーマチュアに座標参照フレームを張り付けることを例示している。図8Aでは、アーマチュア802は、座標参照フレーム804、806、808を含む、多数の座標参照フレームに関連付けられている。それぞれの参照フレームは、アーマチュア・セグメントの近くに、張り付けられるか、または位置付けられる。一実施形態では、座標参照フレームは、アーマチュア・セグメントの末端、つまり関節に配置される。他の実施形態では、アーマチュア・セグメントは、アーマチュア・セグメントに沿って任意の場所に配置される。
図8Aの実施形態では、座標参照フレーム804は、キャラクター・アーマチュアの頭の中心近くに配置される。座標参照フレーム806は、アーマチュア802の肩関節に配置される。座標参照フレーム808は、アーマチュア802の膝関節に配置される。
ステップ710で、アーマチュアとキャラクター・モデルは、離散化され、サンプル点の集合が作成される。皮膚モード応答を決定するために上述の離散化と同様に、一実施形態では、三次元グリッドからサンプル点の集合を作成する。他の実施形態では、四面体セルの集合を使用してキャラクター・モデルとアーマチュアを離散化する。
ステップ715で、それぞれの座標参照フレームに隣接するサンプル点に、初期フレーム重みの集合が割り当てられる。フレーム重みは、サンプル点上の座標参照フレームの影響力を定義する。後述のように、それぞれのサンプル点は、さらに多くの座標参照フレームの影響を受け、したがって、複数のフレーム重みを持つ。ステップ715で、参照フレームに隣接するサンプル点は、フレーム重み1で初期化される。参照フレームのどれにも隣接しない他のサンプル点のフレーム重みは、この段階では未定義である。
図8Bは、キャラクター・モデル実施形態の一部分で初期フレーム重みを割り当てる方法の実施形態を示している。図8Bは、キャラクター・モデル810の一部分と三次元グリッドにより作成されたサンプル点812の集合の一部分を示している。この実施形態では、座標参照フレーム814、816は、アーマチュア・セグメント上に配置されている。座標参照フレーム毎に、隣接するサンプル点にフレーム重み1が割り当てられる。例えば、サンプル点818は、座標参照フレーム814に関してフレーム重み1を割り当てられ、サンプル点820は、座標参照フレーム816に関してフレーム重み1を割り当てられる。
ステップ720で、周囲のサンプル点のフレーム重みは、初期フレーム重みから決定される。一実施形態では、空間拡散関数を使用して、サンプル点に対するフレーム重みを計算する。この実施形態では、初期フレーム重み値は、初期サンプル点から周囲のサンプル点へ外に向かって拡散される。フレーム重みが遠いサンプル点に拡散するにつれ、フレーム重み値は徐々に小さくなる。例示的空間拡散関数は∂w/∂t=D∇2wである。
この実施形態では、関数wxyz(x,y,z)は、与えられた座標参照フレームに関してサンプル点に関連付けられたフレーム重みである。Dは、拡散速度を定義する拡散係数である。一実施形態では、Dはすべての方向に一様である。他の実施形態では、Dの値は、拡散方向に応じて変化する。この他の実施形態では、可変拡散係数は、アーマチュア関節のところの参照フレーム間の急な遷移を定義する際に有用である。他の実施形態では、拡散係数は、キャラクター・モデル内の剪断応力の拡散と整合するように選択される。
初期フレーム重みをサンプル点の集合に対するシード値として使用することで、キャラクター・モデル全体を通じてフレーム重みの拡散を表す連立方程式を作成する。この連立方程式をサンプル点の集合について解き、それぞれのサンプル点に対し1つまたは複数のフレーム重みwxyzの値を見つける。サンプル点が複数の座標参照フレームの影響を受ける場合、サンプル点は、それぞれの関連する座標参照フレームからの影響度を定義するフレーム重みの対応する集合を持つ。それぞれのサンプル点に対するフレーム重みの集合は、サンプル点に対するフレーム重みの総和が1となるように正規化される。
ステップ715、720の他の実施形態では、フレーム重みの最適集合が、回転効果を説明する完全非線形モデルを使用して決定される。この実施形態では、キャラクター・モデルの皮膚モード応答の非線形解は、アーマチュア基底関数の集合のそれぞれについて求められる。ステップ415で計算される線形解とは異なり、非線形解では、変位ベクトルが無限小であるとは仮定しない。それぞれの非線形解の皮膚モードは、ステップ415で決定されるようにアーマチュア基底関数に対する対応する線形皮膚モード応答と比較される。非線形皮膚モード応答とその対応する線形皮膚モード応答との比較から、サンプル点毎にフレーム重みの最適集合が決定される。
他の実施形態では、ステップ715、720で、例えば、空間拡散プロセスまたは非線形モデルから決定されるフレーム重みは、最適な美的結果が得られるように手作業で調整される。例えば、キャラクター・モデルの関節の近くに配置されたサンプル点のフレーム重みは、皮膚点の変形が見た目が美しいものとなるように微調整することができる。
図8Cは、モデル皮膚に隣接するサンプル点の一部分について決定されたフレーム重みの集合の実施形態を示す。図8Cは、キャラクター・モデル822の一部分を示す。座標参照フレーム824、826も示されている。モデル皮膚に隣接するサンプル点について決定されたフレーム重みの集合の一部分は、図8Cにおいて白丸で強調表示されている。それぞれのサンプル点は、1つまたは複数のフレーム重みを持つ。例えば、サンプル点828は、座標参照フレーム826に関してフレーム重み0.9を持ち、座標参照フレーム824に関してフレーム重み0.1を持つ。サンプル点830は、座標参照フレーム826に関してフレーム重み0.1を持ち、座標参照フレーム824に関してフレーム重み0.9を持つことができる。サンプル点832は、座標参照フレーム826に関してフレーム重み0.999を持ち、座標参照フレーム824に関してフレーム重み0.001を持つことができる。
ステップ725で、キャラクター・アニメーション作成フェーズで使用するため、参照フレームの集合と関連するフレーム重みが格納される。これでステップ415とキャラクター準備フェーズは完了する。キャラクター準備フェーズの完了後、キャラクターは、キャラクター・アニメーション作成フェーズでアニメーターにより使用できる状態にある。キャラクター・アニメーション作成フェーズでは、基底関数の集合、皮膚モードの関連する集合、方法400から決定されたフレーム重みの集合を使用して、最終ポーズ設定キャラクターを作成する。
図9は、本発明の一実施形態によるキャラクター・アニメーション作成フェーズでキャラクターをアニメーション化する方法900のブロック図を例示している。ステップ905で、ポーズ設定アーマチュアは、所望の最終ポーズ設定キャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュアは、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。ポーズ設定アーマチュアは、静止位置のアーマチュアと比較され、それにより、ポーズ設定位置と静止位置のアーマチュア・セグメント間の位置と向きの相違を定義するポーズ・ベクトルを決定する。さらに、アーマチュアに張り付けられた座標参照フレームの集合は、静止位置からポーズ設定位置への関連するアーマチュア・セグメントを辿る。座標参照フレームの集合の位置と向きを定義するベクトルの集合も、ステップ905で決定される。
ステップ910で、ポーズ・ベクトルは、ポーズ設定位置の座標参照フレームの集合により定義される座標空間のそれぞれに変換される。座標参照フレームのそれぞれについて、変換されたポーズ・ベクトルは、アーマチュア基底関数上に射影される。ポーズ・ベクトルを基底関数の集合上に射影することにより、ポーズ・ベクトルは、基底関数重みの集合に変換される。基底関数重みは、ポーズ・ベクトルを基底関数の集合の重み付き総和として再定義する。変換されたポーズ・ベクトルからのそれぞれの座標参照フレームについて基底関数重みの集合が作成される。
ステップ915では、それぞれの座標参照フレーム内で、ステップ910で決定された基底関数重みの集合を皮膚モードに適用する。上述のように、皮膚モードは、基底関数のそれぞれについてキャラクター準備フェーズのときにすでに作成されている。ステップ915で、それぞれの座標参照フレームに関連付けられた基底関数重みが基底関数の皮膚モードに適用される。その結果得られる皮膚モードの集合は、それぞれ、関連付けられた基底関数重みにより重み付けされ、これの総和をとることで、皮膚ポーズ応答を作成する。皮膚ポーズ応答は、ポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形である。基底関数の集合がポーズ空間の完全基底を形成するとした場合、皮膚ポーズ応答は、所望のポーズが明示的に元のポーズ集合の一部であったかどうかに関係なく、可能なキャラクター・ポーズについて決定することができる。
ステップ915で、座標参照フレームのそれぞれについて別の皮膚モード応答が作成される。他の実施形態では、ステップ920は、フレーム重みが0であるか、または無視できるくらい小さいキャラクターの皮膚の部分に対する参照フレーム内の皮膚モード応答の決定をスキップする。
上述のように、皮膚応答は、空間形状オフセットの形をとるモードの形態で表現される。キャラクター・アニメーション作成フェーズでは、モデルの一部分を、最初の向きから離れる方向に回転させることができる。回転がキャラクター・モデルの隣接する部分に関して比較的大きい場合、望ましくない剪断効果が持ち込まれる可能性がある。この剪断効果を補正するために、別の皮膚ポーズ応答がそれぞれの座標参照フレームについて決定される。
ステップ920で、それぞれの参照フレーム内で決定される皮膚ポーズ応答が組み合わされて、剪断効果を含まない単一の複合皮膚ポーズ応答が作成される。ステップ920で、皮膚ポーズ応答の集合は、関連付けられた座標参照フレームから大域参照フレームに変換される。皮膚ポーズ応答がすべて同じ座標系にある場合、キャラクター準備フェーズにおいてすでに決定されているフレーム重みの集合に基づき皮膚ポーズの総和がとられる。それぞれの皮膚点は、皮膚ポーズ応答の集合と皮膚点と関連付けられている対応するフレーム重みの重み付け総和である。一実施形態では、これらの皮膚応答は、基底射影形式で総和される。結果は、複合皮膚応答である。
ステップ920の後に、複合皮膚応答は、基底射影形式から構成し物理的形式に戻される。ステップ925で、複合皮膚応答と基底関数の集合の重み付け総和は、最終ポーズ設定キャラクターを形成する。
方法900のステップをキャラクターのポーズ毎に繰り返し、アニメーション化シーケンスを生成する。皮膚モード応答と皮膚衝撃応答はキャラクター準備フェーズにおいて事前計算されるので、キャラクター・アニメーション作成フェーズは、リアルタイムまたはリアルタイムに近い速さで実行することができる。これにより、アニメーターは、アニメーションを効率よく微調整することができる。さらに、キャラクター・モデルの組み合わせ皮膚応答は、アーマチュア・ポーズに対する応答としてリアルに変形するため、アニメーターは、アニメーションの最終的外観を確認できるのを待たずに、アニメーション・プロセスにおいてキャラクター・モデルの最終的外観を確認する。
図10A、10B、10C、10Dは、図9で説明されている方法の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。図10Aは、ポーズ設定アーマチュア1005の例を示している。この例では、ポーズ設定アーマチュア1005は、走っている位置にあるキャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュア1005は、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。
図10Bは、ポーズ設定アーマチュア1010の実施形態と座標参照フレームの関連する集合を例示している。図10Bでは、それぞれの座標参照フレームは、陰影が付けられた矩形により表される。それぞれの矩形の位置と向きは、ポーズ設定位置における関連付けられた座標参照フレームの位置と向きを示す。それぞれの矩形のサイズは、関連付けられた座標参照フレームの影響を受けるキャラクター・モデルの近似的部分を示す。
例えば、座標参照フレーム1015は、ポーズ設定アーマチュア1010の上脚アーマチュア・セグメントに関連付けられている。座標参照フレーム1015は、上脚アーマチュア・セグメントを囲むキャラクター・モデルの位置に影響を及ぼす。同様に、座標参照フレーム1020は、ポーズ設定キャラクター1010の上腕アーマチュア・セグメントを囲むキャラクター・モデルの位置に影響を及ぼす。図10Bには示されていないが、2つまたはそれ以上の参照フレームは、キャラクター・モデルの同じ部分に影響を及ぼす可能性がある。
図10Cは、座標参照フレームについて決定された皮膚ポーズ応答のうちの2つの実施形態を示す。皮膚ポーズ応答1025は、座標参照フレーム1035に関連付けられている。皮膚ポーズ応答1030は、座標参照フレーム1040に関連付けられている。上述のように、ただし、図10Cには示されていないが、皮膚ポーズ応答は、ポーズ設定アーマチュアに関連付けられた座標参照フレームのそれぞれについて決定される。
皮膚ポーズ応答1025は、座標参照フレーム1035のビューからポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形を示す。座標参照フレーム1035内の皮膚ポーズ応答1025の部分は、ポーズ設定アーマチュアに対する応答として正しく変形される。しかし、座標参照フレーム1035の外部の皮膚ポーズ応答1025の他の部分は、剪断効果があるため、大きく歪む。例えば、皮膚ポーズ応答1025では、座標参照フレーム1035内のキャラクター・モデルの上脚部分は、ポーズ設定アーマチュアから正しく変形されるが、キャラクター・モデルの腕1042と1044は、剪断効果があるため、歪む。
同様に、皮膚ポーズ応答1030は、座標参照フレーム1040のビューからポーズ設定アーマチュアに対する応答としてのキャラクター・モデルの変形を示す。座標参照フレーム1040内の皮膚ポーズ応答1030の腕部分は、ポーズ設定アーマチュアに対する応答として正しく変形される。しかし、キャラクター・モデルの脚などの座標参照フレーム1040の外部の皮膚ポーズ応答1030の他の部分は、剪断効果があるため、大きく歪む。
図9の方法に関して上述のように、それぞれの参照フレームから決定される別の皮膚ポーズ応答は、フレーム重みの集合を使用して剪断効果なしの複合皮膚ポーズ応答に組み合わされる。
図10Dは、異なる参照フレームに関連付けられている別の皮膚ポーズ応答の集合から作成された複合皮膚ポーズ応答1050を例示している。例えば、複合皮膚ポーズ応答1050の脚部分1060は、主に、図10Cに示されている皮膚ポーズ応答1025から作成される。同様に、複合皮膚ポーズ応答1050の腕部分1065は、主に、皮膚ポーズ応答1030から作成される。フレーム重みの集合により、複合皮膚ポーズ応答の与えられた部分に対するそれぞれの皮膚ポーズ応答の寄与が決まる。上述のように、皮膚点は、対応する個数のフレーム重み値を通じて複数の座標参照フレームに関連付けられるため、複合皮膚ポーズ応答は、複数の皮膚ポーズ応答からの寄与を含むことができる。
上述の実施形態を使用することで、アニメーターは、リアルな膨れと曲がりを持つポーズ設定キャラクター・モデルをリアルタイムで作成できる。本発明の他の実施形態では、キャラクター・モデルまたは他のソフト・オブジェクトは、リアルタイムで他のオブジェクトとの衝突に対する応答としてリアルに変形される。キャラクターの皮膚は、他のキャラクターまたは堅いオブジェクトなどの外部オブジェクトとの衝突により変形することができる。キャラクターの皮膚は、さらに、キャラクター・モデルの一部とキャラクターの他の部分との衝突である、自己衝突により変形することができる。自己衝突の実施形態は、上腕または下腕が互いに接触するようにキャラクターの腕が肘のところで曲がるときに発生しうる。
衝突に対する応答としてリアルなキャラクター・モデル変形を形成することは、図3に説明されているのと同様に、2フェーズ・プロセスである。第1のフェーズは、衝突準備フェーズである。衝突準備フェーズは、比較的多量の計算を必要とし、アニメーションに先立って実行される。衝突準備フェーズでは、テスト衝突の集合に対するキャラクターの変形を定義する皮膚衝撃応答の集合を作成する。それぞれのキャラクター皮膚衝撃応答は、単一点での単一衝突に対する応答としてのキャラクターのサーフェスの変形である。一実施形態では、皮膚衝撃応答は、衝突に対する応答として衝突点を囲む点の変位を定義する。
衝突準備フェーズの完了後、衝突アニメーション作成フェーズにおいて、アニメーターはオブジェクトをキャラクターと接触させることにより衝突を作成する。本発明の一実施形態では、アニメーターは、アニメーション・シーケンスのそれぞれのフレームにおいて、キャラクター・モデルとコライダーと呼ばれる衝突オブジェクトの配置を定義する。コライダーと重なるまたは接触するキャラクター・モデルの部分は、衝突の一部とみなされる。それぞれのフレームについて、衝突アニメーション・フェーズでは、皮膚衝撃応答の集合を使用して、コライダーとキャラクター・モデルとの衝突に対する応答としてのキャラクター・モデルの変形である、皮膚衝突応答を決定する。
コライダーの形状またはキャラクター・モデルとコライダーとの衝突の量に関係なく、衝突アニメーション・フェーズでは、皮膚衝撃応答の同じ集合を使用して、衝突皮膚応答を決定する。したがって、衝突準備フェーズは、1つのキャラクター・モデルについて1回だけ実行すればよく、衝突アニメーション・フェーズが繰り返されて、アニメーション・シーケンス内のそれぞれのフレームについて皮膚衝突応答が作成される。
衝突準備フェーズでは、本発明の一実施形態により、キャラクター・モデルに対する皮膚衝撃応答の集合が決まる。図11は、本発明の一実施形態によりキャラクターの皮膚衝撃応答を決定する方法を示すブロック図1100である。ステップ1105で、キャラクター・モデルは、離散化され、サンプル点の集合が作成される。一実施形態では、キャラクター・モデルは、三次元グリッドに離散化される。他の実施形態では、キャラクター・モデルは、四面体セルの集合に離散化される。
ステップ1110で、衝突点が選択される。衝突点は、キャラクター・モデルのサーフェス上の任意の点でよく、または他の実施形態では、キャラクター・モデルの内側の点でもよい。例えば、キャラクター・モデル内の衝突点である内部衝突点を使用して、内部の「筋肉」オブジェクトとの衝突に対する応答としてキャラクター・モデルの皮膚を変形させることができる。しかし、皮膚と筋肉は、現実には、脂肪の薄い層により隔てられることが多い。この解剖学的特徴を近似するために、キャラクター・モデルの内点を衝突点として選択することにより「衝突遮蔽」を作成できる。
ステップ1110では、変位の集合を衝突点に適用する。それぞれの変位は、異なる方向においてキャラクター・モデルが衝突点で衝突することを表す。一実施形態では、変位は、3つのデカルト座標方向のそれぞれにおいて衝突点に適用される。他の実施形態では、それぞれの変位は、適切な方向への単位変位である。ステップ410で説明されているのと同様の方法で、衝突点での変位に基づき衝突点に隣接するサンプル点に変位ベクトルが割り当てられる。
ステップ1115で、初期入力値としてステップ1110で割り当てられた変位値を使用して変位毎に皮膚衝撃応答が計算される。一実施形態では、皮膚モード応答は、キャラクター本体の内側にあるすべてのサンプル点上で弾性エネルギー関数の値を求めることにより計算され、これは、皮膚モード応答を見つけるために使用されるのと類似の方法である。離散化空間全体にわたって弾性エネルギー関数の値を最小化することにより、qxyzの値、つまり位置オフセットをサンプル点毎に計算する。与えられた皮膚変位に対する皮膚衝撃応答は、モデルの皮膚に隣接するサンプル点での位置オフセットの集合である。
ステップ1120で、複数の衝突点に適用される変位についてステップ1110、1115を繰り返し、皮膚衝撃応答の集合を作成する。皮膚が制御点により定義された1つまたは複数のサーフェスを含む一実施形態では、それぞれの制御点が、衝突点として選択され、その後、皮膚衝撃応答の集合が作成される。他の実施形態では、キャラクター・モデルの比較的堅い部分に対する制御点は、衝突点の集合から除外される。
ステップ1125で、皮膚衝撃応答の集合から基底関数の集合が決定される。一実施形態では、特異値分解を使用して、皮膚衝撃応答から基底関数の集合を計算する。他の実施形態では、正準相関などの基底関数の集合を計算する他の方法も使用できる。他の実施形態では、その結果得られる基底関数の集合が正規直交基底でない場合、基底関数の集合は、それぞれの基底関数はその大きさが1で、他のすべての基底関数に対し垂直になるように正規直交化される。
次に、ステップ1125では、衝撃応答の集合を基底関数の集合上に射影し、皮膚衝撃応答の集合のコンパクトな表現を作成する。他の実施形態では、特異値分解のあまり重要でない項を切り捨てて、基底関数の個数を減らす。このため、衝撃応答の集合が切り捨てられた基底集合上に射影されるときに平滑作用が生じる。他の実施形態では、皮膚応答の集合は、衝突点の変位に対する応答として周囲点の変位を定義するベクトルの疎集合として格納される。他の実施形態では、基底関数表現よりも効率よく少数の点のみに影響を及ぼす皮膚衝撃応答を表す。
図12A、12B、12Cは、本発明の一実施形態による例示的キャラクタの皮膚衝撃応答の決定を示す図である。図12Aは、キャラクター・モデル1205に適用される変位を例示する。この実施形態では、キャラクター・モデル1205は、三次元グリッド1215とともに離散化されている。変位1220は、モデル皮膚1210上の衝突点に適用される。変位値1225の集合は、衝突点に隣接するサンプル点に割り当てられる。
図12Bは、皮膚変位1235から生じる皮膚衝撃応答の一部として含まれる変位ベクトル1230の集合を例示している。変位ベクトル1230の集合は、説明のために用意されているのであり、皮膚衝撃応答は、モデル皮膚の全部または一部の上にばらまかれた多数の変位ベクトルを含むことができる。グリッド変位ベクトル1230の集合の大きさと向きから分かるように、モデル皮膚は衝突点の近くで内側に膨れ、衝突点の周囲の領域内で外側に膨れる。
図12Cは、モデル皮膚上に射影された図12Bの皮膚衝撃応答の実施形態を示している。この図は、キャラクター・モデルの外観に対する図12Cの皮膚衝撃応答の効果を明らかにするために提示されている。上述のように、本発明の一実施形態では、皮膚衝撃応答を基底関数の集合上に射影し、表現をコンパクト化する。図12Cの実施形態では、モデル皮膚1260は、皮膚衝撃応答により変位が生じた結果として外側と内側に膨れる。この実施形態では、皮膚衝撃応答は、オブジェクトとの衝突によりキャラクターが変形するのをリアルに見せる表現を提示する。比較のため静止状態にあるモデル皮膚1250が示されている。
衝突準備フェーズで皮膚衝撃応答の集合を決定した後、衝突アニメーション作成フェーズで、アニメーターによって定義された衝突に対する応答としてキャラクター皮膚の変形を決定する。図13は、本発明の一実施形態によりキャラクター・モデルの衝突応答を決定する方法1300を示すブロック図である。方法1300については、図14A〜14Fを参照しつつ以下で説明するが、これは、本発明の一実施形態による衝突実施形態からの皮膚衝突応答の決定を例示している。
ステップ1305で、衝突点の集合が識別される。衝突点は、コライダーと接触している、またはコライダーの内側にある皮膚点である。図14Aは、コライダー1402と衝突しているモデル皮膚1404の一部を例示している。モデル皮膚1404は、多数の皮膚点を含む。これらの皮膚点の一部はコライダー1402の内側にある。これらの皮膚点1406、1408、1410、1412は、この衝突実施形態における衝突点の集合である。他の実施形態では、コライダーの内側にもないし接触してもいない皮膚点は、コライダーのサーフェス近くにあるか、またはコライダーの内側衝突点近くにある場合に、追加衝突点として選択される。これにより、衝突からキャラクター皮膚が変形して追加皮膚点がコライダーと接触する場合の安全マージンが得られる。
ステップ130で、第1の衝突点が選択され、衝突点の最終静止位置の第1近似である、潜在的静止位置に変位される。一実施形態では、第1の衝突点は、ランダムに選択される。一実施形態では、潜在的静止位置は、第1の衝突点に最も近いコライダーのサーフェス上の位置である。他の実施形態では、潜在的静止位置は、第1の衝突点と最も近いコライダー・サーフェス点との間の位置である。さらに他の実施形態では、倍率を使用して、最も近いコライダー・サーフェス点と潜在的静止位置との間の距離を決定する。
図14Bは、初期位置1416から潜在的静止位置に変位される第1の衝突点1414の実施形態を示している。この実施形態では、潜在的静止位置は、初期位置1416とコライダー1418の最も近いサーフェス点との間の距離の80%である。この実施形態では、倍率は、方法1300のパフォーマンスを最適化するように選択される。第1の衝突点1414は分かりやすくするため正確に水平方向に変位されるように示されているが、衝突点は、潜在的静止位置へ任意の方向で移動できることに留意されたい。
ステップ1315で、初期衝突応答は、他の非変位衝突点に適用される。初期衝突応答は、初期位置から潜在的静止位置への第1の衝突点の変位を衝撃応答の集合からすでに作成されている基底関数の集合上に射影することにより決定される。基底関数も集合上の変位の射影により、基底空間内の変位を定義する重みの集合が作成される。
その後、重みの集合は、第1の衝突点に関連付けられている衝撃応答に適用される。この結果、第1の衝突点に対する初期衝突応答が得られる。初期衝突応答は、初期位置から潜在的静止位置への第1の衝突点の変位に対する応答として第1の衝突点の周りの皮膚点の変位を定義する。
初期衝突応答が周囲衝突点に適用され、それらの衝突点が初期位置に変位する。初期衝突応答は、第1の衝突点に関連付けられた皮膚衝撃応答が追加点について変位を定義できるとしても、衝突点にしか適用されない、つまり、コライダーと接触する、またはコライダーの中にある点のみに適用されることに留意されたい。
図14Cは、周囲衝突点の集合に初期衝突応答の実施形態を適用することを示している。この実施形態では、強調のため輪郭が描かれている第1の衝突点1420は、初期位置1421から潜在的静止位置に変位されており、その結果、初期衝突応答が周囲衝突点の集合に適用される。初期衝突応答は、第1の衝突点1420の変位から生じる周囲衝突点1422、1424、1426に適用される変位である。初期衝突応答により、図に示されているように、衝突点1422、1424、1426はそれぞれの初期位置から新しい潜在的静止位置に変位する。上述のように、コライダーの外側にある皮膚点、つまり非衝突皮膚点は、衝突アニメーション作成フェーズのこの点では変位されない。
ステップ1320で、周囲衝突点の集合は、さらに、それぞれの潜在的静止位置に変位させられる。ステップ1310と同様に、周囲衝突点はそれぞれ、ステップ1315で設定された位置から潜在的静止位置に移動される。一実施形態では、周囲衝突点のそれぞれに最も近いコライダーのサーフェス上の位置はそれぞれの潜在的静止位置である。他の実施形態では、潜在的静止位置は、衝突点と最も近いコライダー・サーフェス点との間の位置である。さらに他の実施形態では、倍率を使用して、最も近いコライダー・サーフェス点と潜在的静止位置との間の距離を決定する。一実施形態では、周囲衝突点の潜在的静止位置は、周囲衝突点、ステップ1315で決定される新しい位置と、コライダーの最も近いサーフェス点との間の距離の80%である。
周囲衝突点がそれぞれの潜在的静止位置に変位した後、ステップ1325で、衝突応答の集合が、周囲衝突応答の集合について決定される。ステップ1315と同様に、初期位置からそれぞれの潜在的静止位置へのそれぞれの周囲衝突点の変位は、衝撃応答の集合からすでに作成されている基底関数の集合上に射影される。それぞれの変位射影は、周囲衝突点の1つに関連付けられた基底重みの集合を作成する。
周囲衝突点の基底重みは、二次衝突応答を作成するため周囲衝突点に関連付けられている対応する衝撃応答に適用される。これは、周囲衝突点のそれぞれについて繰り返され、二次衝突応答の集合を作成する。それぞれの二次衝突応答は、初期位置からそれぞれの潜在的静止位置への周囲衝突点の変位に対する応答として周囲衝突点の近くの皮膚点の変位を定義する。
二次衝突応答の集合が、ステップ1310で選択された第1の衝突点を含む、衝突点のすべてに適用され、それらの衝突点は潜在的静止位置から変位する。もう一度、二次衝突応答は衝突点にのみ適用され、非衝突点は、衝突アニメーション生成フェーズのこのステップで除去されない。
二次衝突応答を衝突点の集合に適用した後、衝突点の集合のそれぞれは新しい位置を持つ。ステップ1325で、初期位置からの衝突点のそれぞれに対する変位を決定し、上述したのと同様の方法で衝突応答の新しい集合を作成する。衝突応答の新しい集合が適用され、衝突点の集合がさらに変位される。衝突応答の集合を作成し、衝突応答の集合を衝突点の集合に適用するこのプロセスは、衝突点の集合が変位の最終集合に収束するまで繰り返される。
図14Dは、二次衝突応答の集合を衝突点の集合に適用することを例示している。衝突点1428、1430、1432、1434の集合は、二次衝突応答の集合の結果として潜在的静止位置からの変位を示すベクトルを持つ。それぞれのベクトルは、他の衝突点の二次衝突応答から生じる変位の総和を表す。例えば、衝突点1428の変位は、衝突点1430、1432、1434からの二次衝突応答の総和である。
ステップ1330で、最終衝突応答は、非衝突点に適用される。ステップ1325で決定された変位の最終集合は、初期位置から最終位置へのそれぞれの衝突点の変位である。ステップ1330は、変位の最終集合からのそれぞれの変位を基底関数の集合上に射影し、それぞれの衝突点に関連付けられた基底重みを作成する。それぞれの衝突点基底重みがその関連付けられた衝撃応答に適用され、非衝突点に対する変位の集合が決定される。衝突に対する応答として、それぞれの衝突点から生じる変位が足し合わされて、非衝突点の変位を定義する最終衝突応答が作成される。
図14Eは、非衝突点に対する最終衝突応答の決定を例示している。強調のため輪郭が描かれている衝突点1436、1438、1440、1442は、点線で輪郭が描かれている初期位置からその最終位置に変位された。衝突点の集合の変位に基づき、非衝突点1444、1446、1448、1450は、それぞれのベクトルにより示されているように初期位置から変位される。それぞれのベクトルは、衝突点1436、1438、1440、1442の集合が関わって生じる変位の総和を表す。
本発明の一実施形態では、衝突応答はすべて決定され、基底空間内で総和される。これにより、方法1300の効率が改善される。この実施形態では、ステップ1335で、最終衝突応答は、基底射影形式から物理的形式へと戻される形で構成される。衝突からの皮膚変形は、最終衝突応答と基底関数の集合の重み付き総和から決定される。
他の実施形態では、衝突点の衝撃応答を表す疎ベクトルを使用して、最終衝突応答を決定する。他の実施形態では、コライダーと衝突点との間の関連付けは、静止ポーズの位置から決定できる。この実施形態は、皮膚応答が衝突、例えば、皮膚(または内部衝突遮蔽)と筋肉との衝突に対する応答としてかなり移動することが予想されない場合に有用である。
図14Fは、モデル皮膚上に構成される最終衝突応答を例示している。図14Fの実施形態では、皮膚1452は、最終衝突応答の結果として内側に向かいコライダー1454の周りに膨れ、衝突に対する応答としてリアルに見える変形が提示される。比較のため、最初の変形前のキャラクター・サーフェスの輪郭1456も示されている。
上述のように、衝突アニメーション作成フェーズでは、最終衝突応答が決定されるまで衝突点のみが変位される。このため、衝突応答を決定する際に計算する必要がある点の個数が大幅に制限され、したがって、衝突アニメーション作成フェーズをリアルタイムで実行できる。このため、アニメーターは、キャラクターと周囲との相互作用を微調整することができる。
本発明の他の実施形態では、ポーズ設定アーマチュアに対する応答としてキャラクター・モデルを変形する方法と衝突に対する応答としてキャラクター・モデルを変形する方法とを組み合わせることができる。この組み合わせた実施形態では、キャラクター・モデルは、ポーズ設定アーマチュアと衝突に対する応答としてリアルに変形する。この実施形態では、アニメーション・プロセスは、組み合わせ準備フェーズと組み合わせアニメーション作成フェーズの2つのフェーズに分けられる。他の実施形態と同様に、この実施形態でも、組み合わせ準備フェーズは、1つのキャラクター・モデルについて1回実行される。組み合わせ準備フェーズでは、アーマチュア基底集合、対応する皮膚モードの集合、フレーム重みの集合は、方法400で説明されているように決定される。さらに、組み合わせ準備フェーズでは、方法1100で説明されているように、皮膚衝撃応答の集合と関連付けられた衝撃基底集合を決定する。
組み合わせアニメーション作成フェーズでは、アーマチュア基底集合、皮膚モードの集合、フレーム重みの集合、皮膚衝撃応答の集合、衝撃基底集合を使用して、アニメーターから仕様にしたがってポーズ設定され変形されたキャラクター・モデルを作成する。図15は、本発明の一実施形態による組み合わせアニメーション作成フェーズでキャラクターをアニメーション化する方法1500のブロック図を例示している。ステップ1505で、ポーズ設定アーマチュアは、所望の最終ポーズ設定キャラクターの姿勢を定義する。上述のように、ポーズ設定アーマチュアは、キー・フレーム間を補間するか、または手続き的に1つまたは複数のアニメーション変数、関数、プロシージャ、またはアルゴリズムを使用することにより、アニメーター側が手作業で作成することができる。さらに、アーマチュアに張り付けられた座標参照フレームの集合が静止位置からポーズ設定位置へ関連付けられたアーマチュア・セグメントに従うので、座標参照フレームの集合の位置と向きを定義するベクトルの集合も、ステップ1505で決定される。
ステップ1510で、皮膚ポーズ応答の集合は、座標参照フレームの集合について決定される。それぞれの皮膚ポーズ応答は、方法900で説明されているのと同様の方法で決定される。一般に、ポーズ・ベクトルと基底関数の集合は、ポーズ設定位置の座標参照フレームにより定義された座標空間内に変換される。変換されたポーズ・ベクトルは、アーマチュア基底関数の変換済み集合上に射影され、そこで、基底関数重みの集合を作成する。それぞれの座標参照フレーム内で基底関数重みの集合が皮膚モードに適用され、座標参照フレームの皮膚ポーズ応答が決定される。これは、座標参照フレームごとに繰り返され、皮膚ポーズ応答の集合を作成する。
ステップ1515で、複合皮膚ポーズ応答は、皮膚ポーズ応答の集合から決定される。上述の方法900と同様に、それぞれの座標参照フレームからの皮膚ポーズ応答が、関連付けられたフレーム重みに応じて組み合わされ、望ましくない剪断効果が補正される。一般に、皮膚ポーズ応答の集合は、関連付けられた座標参照フレームから大域参照フレームに変換され、フレームみ付けの集合に従って総和される。このステップの結果は、複合皮膚応答である。
ステップ1520で、点制約が識別される。点制約は、キャラクター・モデルと自分自身または外部オブジェクトとの衝突から変位される点である。アニメーターは、手作業で、またはキー・フレームの集合または1つまたは複数のアニメーション変数により定義された運動の結果として、それぞれのフレーム内でキャラクター・モデルと接触するようにオブジェクトを位置付けすることにより衝突を作成することができる。点制約は、さらに、アニメーターがキャラクター・モデルの1点を他のオブジェクトに貼り付けることで生じるか、または手動で皮膚点を新しい位置に強制的に配置することにより、生じる場合がある。一実施形態では、ステップ1520で、キャラクター・モデルの皮膚上のそれぞれの点を中心とする半径を定義することにより潜在的衝突点を識別する。他の実施形態では、バウンディング・ボックスを使用して、潜在的衝突点を識別する。ステップ1520で、使用される衝突点の集合を識別し、衝突からキャラクター・モデルの変形を決定する。
ステップ1525で、衝突点の集合が評価され、皮膚衝突応答が決定される。ステップ1525の実施形態では、上述の方法1300により衝突点の集合を評価する。一般に、第1の変位は、第1の衝突点について決定される。第1の変位は、衝撃基底関数の集合上に射影され、皮膚衝撃応答から初期衝突応答を決定する。初期衝突応答は、周囲衝突点を変位させる。周囲衝突点の変位は、それぞれの皮膚衝撃応答に適用され、さらに、衝突点の集合が変位される。衝突点の集合をさらに変位させると、その後、衝突応答が発生し、これを、衝突点が最終位置に収束するまで繰り返し処理する。衝突点の集合の最終位置により、皮膚衝突応答が定義され、その後、この応答は非衝突点の集合に適用される。
ステップ1530で、複合皮膚ポーズ応答と皮膚衝突応答からキャラクター・モデルが構成される。一実施形態では、複合皮膚ポーズ応答と皮膚衝突応答は両方とも、格納され、基底射影形式で処理される。この実施形態では、複合皮膚応答とアーマチュア基底関数の集合の重み付き総和が皮膚衝突応答と衝撃基底関数の集合の重み付き総和に加えられる。この結果は、アーマチュア・ポーズと衝突に対する応答として変形されるキャラクター・モデルである。
方法1500のステップをフレーム毎に繰り返し、アニメーション化シーケンスを生成する。皮膚モード応答と皮膚衝撃応答は組み合わせ準備フェーズにおいて事前計算されるので、組み合わせアニメーション作成フェーズは、リアルタイムまたはリアルタイムに近い速さで実行することができる。このため、アニメーターは、アニメーションを効率よく微調整し、アニメーションの劇的衝撃を最大にすることができる。さらに、キャラクター・モデルの組み合わせ皮膚応答は、アーマチュア・ポーズと衝突に対する応答としてリアルに変形するため、アニメーターは、アニメーションの最終的外観を確認できるのを待たずに、アニメーション・プロセスにおいてキャラクター・モデルの最終的外観を確認する。
さらに、本発明では、物理的シミュレーション手法により、または運動学的変換手法で使用する複雑なアーマチュア重み付けにより必要とされる下にある骨と筋肉構造を作成せずに、ポーズ設定アーマチュアから直接、リアルなキャラクター変形を決定する。これにより、従来のアニメーション作成手法と比較して、キャラクター・モデルを作成するのに要する時間と労力が低減される。
ポーズ設定または変形されたモデルが上述の実施形態のうちの1つまたは複数を使用して作成された後、レンダリング手法、例えば、レイトレーシングまたは走査線レンダリングで、照明、シェーディング、テクスチャ・マッピング、その他のイメージ処理情報と組み合わせてモデルから最終イメージまたはフレームを作成することができる。
付属の書類を読んだ後、当業者であれば、他の実施形態も想定できるであろう。他の実施形態では、上で開示されている発明の組み合わせまたは部分的組み合わせも都合よく作成できる。アーキテクチャのブロック図と流れ図は、理解しやすいようにグループにまとめられている。ただし、ブロックの組み合わせ、新しいブロックの追加、グループの再配置などは、本発明の他の実施形態において考察されることを理解されたい。
したがって、明細書と図面は、制限ではなく、例示することを目的としているものとみなすべきである。しかし、付属の請求項で定められているように、本発明の広い精神と範囲を逸脱することなく本発明にさまざまな修正と変更を加えられることは明白であろう。
本発明の一実施形態を実装することができるコンピュータ・システム実施形態を示す図である。 例示的キャラクタと例示的キャラクタのポーズを設定するために使用される例示的アーマチュアを示す図である。用される例示的アーマチュアを示す図である。 本発明の実施形態によりキャラクターをアニメーション化する方法の2つのフェーズを示すブロック図である。 本発明の一実施形態によりキャラクターをアニメーション化するキャラクター準備フェーズのブロック図である。 本発明の一実施形態によりキャラクターの皮膚モード応答を決定する方法を示すブロック図である。 本発明の一実施形態によるポーズ実施形態における例示的キャラクタの皮膚モード応答の決定を示す図である。 本発明の一実施形態によるポーズ実施形態における例示的キャラクタの皮膚モード応答の決定を示す図である。 本発明の一実施形態によるポーズ実施形態における例示的キャラクタの皮膚モード応答の決定を示す図である。 本発明の一実施形態によるポーズ実施形態における例示的キャラクタの皮膚モード応答の決定を示す図である。 本発明の一実施形態によるポーズ実施形態における例示的キャラクタの皮膚モード応答の決定を示す図である。 本発明の一実施形態による座標参照フレームの集合に関してキャラクター・モデルに重み付けをする方法を示すブロック図である。 本発明の一実施形態によるキャラクター・モデル実施形態の座標参照フレーム重みの集合の決定を示す図である。 本発明の一実施形態によるキャラクター・モデル実施形態の座標参照フレーム重みの集合の決定を示す図である。 本発明の一実施形態によるキャラクター・モデル実施形態の座標参照フレーム重みの集合の決定を示す図である。 本発明の一実施形態によりポーズ設定キャラクター・モデルを構成するキャラクター・アニメーション・フェーズを示すブロック図である。 本発明の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。 本発明の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。 本発明の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。 本発明の一実施形態により例示的アーマチュアとキャラクター・モデル実施形態からポーズ設定キャラクター・モデルを構成することを示す図である。 本発明の一実施形態によりキャラクター・モデルの皮膚衝撃応答を決定する方法を示すブロック図である。 本発明の一実施形態によるキャラクター・モデル実施形態の一部分の皮膚衝撃応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデル実施形態の一部分の皮膚衝撃応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデル実施形態の一部分の皮膚衝撃応答の決定を示す図である。 本発明の一実施形態によりキャラクター・モデルの衝突応答を決定する方法を示すブロック図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の一実施形態によるキャラクター・モデルの一部分の皮膚衝突応答の決定を示す図である。 本発明の他の実施形態によりポーズ設定キャラクター・モデルを構成するキャラクター・アニメーション・フェーズを示すブロック図である。

Claims (31)

  1. 所定ポーズのキャラクター・モデルを作成する方法において、
    キャラクター・モデルの可能なポーズの範囲を定める、アーマチュア・ポーズのサンプルの集合を受けとること、
    前記アーマチュア・ポーズのサンプルの集合からアーマチュアの基準ポーズの集合を決定することであって、それぞれのアーマチュアの基準ポーズはアーマチュア基準位置を有しており、また前記アーマチュアの基準ポーズの集合は前記アーマチュア・ポーズのサンプルの集合より小さい、アーマチュアの基準ポーズの集合を決定すること、
    各アーマチュアの基準ポーズに関して、対応するアーマチュアの基準ポーズのアーマチュアの位置の集合に応答してシミュレートし、キャラクター・モデルの形状モードを決定すること、
    前記シミュレートされたキャラクター・モデルの形状モードをそれらのそれぞれのアーマチュアの基準ポーズに関連させて記憶すること、
    前記アーマチュア基準位置の集合へのマッピングの適用がアーマチュアの目標位置に近似されるように、前記アーマチュアの基準ポーズの集合と対応する前記アーマチュア基準位置の集合に対する、アーマチュアの目標ポーズを表すアーマチュアの目標位置のマッピングを決定すること、
    前記アーマチュアの基準ポーズと対応するシミュレートされたキャラクター・モデルの形状モードに前記マッピングを適用して、キャラクター・モデルの目標形状モードを決定すること、
    前記キャラクター・モデルの目標形状モードをプロセッサを用いて組み合わせて、前記アーマチュアの目標ポーズと対応する所定ポーズのキャラクターモデルを決定すること、
    を有し、前記マッピングを決定することが、
    前記キャラクター・モデルの第1の位置に関連する第1の基準フレームに変換される前記アーマチュアの基準位置の集合に対する前記アーマチュアの目標位置の第1のマッピングを決定すること、
    前記キャラクター・モデルの第2の位置に関連する第2の基準フレームに変換される前記アーマチュアの基準位置の集合に対する前記アーマチュアの目標位置の第2のマッピングを決定すること、
    とを含み、前記シミュレートされたキャラクター・モデルの形状モードに前記マッピングを適用することが、
    前記第1の基準フレーム内で前記シミュレートされたキャラクター・モデルの形状モードに前記第1のマッピングを適用して、前記第1の基準フレーム内で第1のキャラクター・モデルの目標形状モードを決定すること、
    前記第2の基準フレーム内で前記シミュレートされたキャラクター・モデルの形状モードに前記第2のマッピングを適用して、前記第2の基準フレーム内で第2のキャラクター・モデルの目標形状モードを決定すること、
    とを含み、前記キャラクターの目標形状モードを組み合わせることが、前記キャラクター・モデルに対する前記第1、第2の基準フレームの寄与にしたがって、前記第1、第2のキャラクター・モデルの目標形状モードを組み合わせることを含む方法。
  2. さらに、
    前記キャラクター・モデルの第1の部分に関連した、前記第1、第2の基準フレームの寄与を受け取ること、
    前記第1、第2の基準フレームの第1の寄与に、空間拡散関数を適用して、前記キャラクター・モデルの第2の部分に関連した、前記第1、第2の基準フレームの第2の寄与を決定すること、
    とを有し、前記キャラクター・モデルへの前記第1、第2の基準フレームの寄与が少なくとも前記第1、第2の寄与を含む請求項1に記載の方法。
  3. さらに、
    前記シミュレートされたキャラクター・モデルの形状モードと対応する非線形解の集合とを比較して、前記キャラクター・モデルに対する第1、第2の基準フレームの寄与を決定することを含む請求項1に記載の方法。
  4. さらに、
    前記キャラクター・モデルに対する前記第1、第2の基準フレームの寄与の少なくとも一部分にユーザーから受け取った値をセットすることを含む請求項1に記載の方法。
  5. 前記対応するアーマチュアの基準ポーズのアーマチュア位置の集合に応答してシミュレートされたキャラクター・モデルの形状モードを決定することが、
    キャラクター・モデルの一つの静止ポーズを定める静止アーマチュア位置から前記対応するアーマチュア基準ポーズのアーマチュア位置の集合の変位を決定すること、
    前記変位を前記キャラクター・モデルの第1の部分に割り当てること、
    前記キャラクター・モデルの第1の部分と少なくとも第2の部分とに関連する変位関数の一つの体系を決定すること、
    前記変位関数の一つの体系を最小にして最小変位を決定すること、
    最小変位の部分から前記シミュレートされたキャラクター・モデルの形状モードを決定すること、
    とを含む請求項1に記載の方法。
  6. 前記変位関数の一つの体系が弾性エネルギー関数を含む請求項5に記載の方法。
  7. 前記アーマチュア・ポーズのサンプル集合からアーマチュア基準ポーズの集合を決定することが、特異値分解を使用することを含む請求項1に記載の方法。
  8. 前記アーマチュア・ポーズのサンプル集合からアーマチュア基準ポーズの集合を決定することが、正準相関を使用することを含む請求項1に記載の方法。
  9. 前記サンプル・ポーズのアーマチュアがプロシージャにより作成されたポーズを含む請求項1に記載の方法。
  10. 所定ポーズのキャラクター・モデルの少なくとも一部分を含むイメージの少なくとも一部分をレンダリングすることを含む請求項1に記載の方法。
  11. 所定ポーズのキャラクター・モデルを作成する方法において、
    静止ポーズ形状を有したキャラクター・モデルを受けとること、
    前記静止ポーズ形状のキャラクター・モデルに関するアーマチュアの静止位置の集合を含むアーマチュアを受け取ること、
    アーマチュア基準位置の複数の集合のおのおのに関して、アーマチュア基準位置の集合とアーマチュア静止位置の集合との間のアーマチュアの位置オフセットの集合を決定すること、
    前記アーマチュアの位置オフセットの集合のおのおのについて、静止ポーズ形状のキャラクター・モデルの前記アーマチュア位置のオフセットの集合へのシミュレートされた応答に基づいて、前記キャラクター・モデルの基準形状モードを生成すること、
    前記アーマチュア位置のオフセットの集合を前記基準形状モードに相関させている統計敵モデルを生成すること、
    前記統計的モデルを記憶すること、
    前記統計的モデルを、プロセッサを用いて、アーマチュアの目標ポーズを表すアーマチュアの目標の位置オフセットに適用することによって、キャラクター・モデルの目標形状を決定すること、
    とを含み、該キャラクター・モデルの目標形状を決定することが、
    前記キャラクター・モデルの第1部分に関連する第1の基準フレームに変換される前記アーマチュアの目標の位置オフセットへの前記統計的モデルの第1の適用を行って、前記第1の基準フレーム内に第1のキャラクター・モデルの目標形状モードを決定すること、
    前記キャラクター・モデルの第2部分に関連する第2の基準フレームに変換される前記アーマチュアの目標の位置オフセットへの前記統計的モデルの第2の適用を行って、前記第2の基準フレーム内に第2のキャラクター・モデルの目標形状モードを決定すること、
    前記キャラクター・モデルに対する前記第1、第2の基準フレームの寄与にしたがって、前記第1、第2のキャラクター・モデルの目標形状モードを組み合わせること
    とを含む方法。
  12. さらに、
    第1、第2の基準フレームの第1の寄与であって前記キャラクター・モデルの第1の部分に関連する第1の寄与を受け取ること、
    前記第1、第2の基準フレームの第2の寄与であって前記キャラクター・モデルの第2の部分に関連する第2の寄与を決定するため、前記第1の寄与に空間拡散関数を適用すること
    とを有し、前記キャラクター・モデルへの前記第1、第2の基準フレームの寄与が少なくとも前記第1、第2の寄与を含む請求項11に記載の方法。
  13. さらに、
    前記シミュレートされたキャラクター・モデル形状モードと対応する非線形解の集合とを比較して、前記キャラクター・モデルに対する第1、第2の基準フレームの寄与を決定することを含む請求項11に記載の方法。
  14. さらに、
    前記キャラクター・モデルに対する前記第1、第2の基準フレームの寄与の少なくとも一方にユーザーから受け取った値をセットすることを含む請求項11に記載の方法。
  15. キャラクター・モデルの基準形状モードを決定することが、
    キャラクター・モデルの一部にアーマチュアの位置オフセットを割り当てること、
    前記キャラクター・モデルの第1の部分と少なくとも第2の部分とに関連する変位関数の一つの体系を決定すること、
    前記変位関数の一つの体系を最小にして最小オフセットを決定すること、
    最小オフセットの部分から基準形状モードを決定すること、
    とを含む請求項11に記載の方法。
  16. 前記変位関数の一つの体系が弾性エネルギー関数を含む請求項15に記載の方法。
  17. アーマチュア・ポーズのサンプル集合からアーマチュア基準ポーズの集合を決定することを含み、アーマチュア基準位置集合の数がアーマチュア・ポーズのサンプル数より少ない請求項11に記載の方法。
  18. アーマチュア基準ポーズの集合を決定することが、
    特異値分解を使用してアーマチュア・ポーズのサンプルの集合からアーマチュア基準ポーズの集合を決定すること、
    アーマチュア基準ポーズの各集合に対して、アーマチュア基準位置の集合を決定することとを含む請求項17に記載の方法。
  19. アーマチュア基準位置の集合を決定することが、
    正準相関を使用してアーマチュア・ポーズのサンプルの集合からアーマチュア基準ポーズの集合を決定すること、
    アーマチュア基準ポーズの各集合に対して、アーマチュア基準位置の集合を決定することを含む請求項17に記載の方法。
  20. 前記アーマチュア・ポーズのサンプルがプロシージャにより作成されたポーズを含む請求項17に記載の方法。
  21. イメージの少なくとも一部分をレンダリングすることが、キャラクター・モデルの目標形状におけるキャラクター・モデルの少なくとも一部を含む請求項11に記載の方法。
  22. 所定ポーズのキャラクター・モデルを作成する方法において、
    静止ポーズ形状を有したキャラクター・モデルを受けとること、
    前記静止ポーズ形状のキャラクター・モデルに対応する静止形状のアーマチュアを受け取ること、
    アーマチュア・ポーズのサンプルの集合を受け取ること、
    アーマチュア・ポーズのサンプルの集合の少なくとも近似を含むアーマチュア・ポーズの可能な範囲を定める、前記アーマチュア・ポーズのサンプルの集合より小さい、正準なアーマチュア基準ポーズの集合を生成すること、
    正準なアーマチュア基準ポーズの各集合に対して基準皮膚位置オフセットを生成すること、
    正準なアーマチュア基準ポーズの集合のすくなくとも一部を含むアーマチュア・ポーズの目標コンポーネントへの、アーマチュアの目標ポーズの分解を決定すること、
    アーマチュア・ポーズの目標コンポーネントに対応する、基準皮膚位置オフセットの一部を含むターゲット皮膚位置オフセットのコンポーネントを決定すること、
    プロセッサを用いて、目標スキン位置オフセットのコンポーネントを組み合わせてアーマチュアの目標ポーズに対応する所定ポーズのキャラクター・モデルを決定すること、
    を含み、前記ターゲット皮膚位置オフセットのコンポーネントを決定することが、
    キャラクター・モデルの第1の部分に関連した第1の基準フレームに変換されるアーマチュアの目標ポーズのコンポーネントに対応した第1の目標皮膚位置オフセットのコンポーネントを決定すること、
    キャラクター・モデルの第2の部分に関連した第2の基準フレームに変換されるアーマチュアの目標ポーズのコンポーネントに対応した第2の目標皮膚位置オフセットのコンポーネントを決定すること、
    を含み、前記目標位置オフセットのコンポーネントを組み合わせることが、前記キャラクター・モデルの第1、第2の基準フレームの寄与に従って、前記第1、第2の目標皮膚位置オフセットのコンポーネントを組み合わせることを含む方法。
  23. さらに、
    第1、第2の基準フレームの第1の寄与であって前記キャラクター・モデルの第1の部分に関連する第1の寄与を受け取ること、
    前記第1、第2の基準フレームの第2の寄与であって前記キャラクター・モデルの第2の部分に関連する第2の寄与を決定するため、前記第1の寄与に空間拡散関数を適用すること
    とを有し、前記キャラクター・モデルへの前記第1、第2の基準フレームの寄与が少なくとも前記第1、第2の寄与を含む請求項22に記載の方法。
  24. さらに、
    シミュレートされたキャラクター・モデル形状モードと対応する非線形解の集合とを比較して、前記キャラクター・モデルに対する第1、第2の基準フレームの寄与を決定することを含む請求項22に記載の方法。
  25. さらに、
    前記キャラクター・モデルに対する前記第1、第2の基準フレームの寄与の少なくとも一部にユーザーから受け取った値をセットすることを含む請求項22に記載の方法。
  26. 基準皮膚位置オフセットを生成することが、
    キャラクター・モデルの第1の部分に、アーマチュア・ポーズのサンプルの集合から決定されたアーマチュアの位置オフセットの集合を割り当てること、
    前記アーマチュアの位置オフセットの各集合に対して、キャラクター・モデルの第1の部分と少なくとも第2の部分とに関連する変位関数の一つの体系を決定すること、
    前記変位関数の一つの体系を最小にして最小オフセットを決定すること、
    最小オフセットの部分から基準皮膚位置オフセットを決定すること、
    とを含む請求項22に記載の方法。
  27. 前記変位関数の一つの体系が弾性エネルギー関数を含む請求項26に記載の方法。
  28. 前記正準なアーマチュア基準ポーズの集合を決定することが、特異値分解を使用してアーマチュア・ポーズのサンプルの集合からアーマチュア基準ポーズの集合を決定することを含む請求項22に記載の方法。
  29. 前記正準なアーマチュア基準ポーズの集合を決定することが、正準相関を使用してアーマチュア・ポーズのサンプル集合から正準なアーマチュア基準ポーズの集合を決定することを含む請求項22に記載の方法。
  30. 前記アーマチュア・ポーズのサンプルがプロシージャにより作成されたポーズを含む請求項22に記載の方法。
  31. 所定ポーズのキャラクター・モデルの少なくとも一部分を含むイメージの少なくとも一部分をレンダリングすることを含む請求項22に記載の方法。
JP2004572201A 2003-05-14 2003-08-22 統計力学的モデリングの方法と装置 Expired - Fee Related JP4361878B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/438,748 US20040227761A1 (en) 2003-05-14 2003-05-14 Statistical dynamic modeling method and apparatus
US10/438,732 US7307633B2 (en) 2003-05-14 2003-05-14 Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response
PCT/US2003/026546 WO2004104935A1 (en) 2003-05-14 2003-08-22 Statistical dynamic modeling method and apparatus

Publications (2)

Publication Number Publication Date
JP2006514380A JP2006514380A (ja) 2006-04-27
JP4361878B2 true JP4361878B2 (ja) 2009-11-11

Family

ID=33479229

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004572201A Expired - Fee Related JP4361878B2 (ja) 2003-05-14 2003-08-22 統計力学的モデリングの方法と装置
JP2004572200A Expired - Fee Related JP4358752B2 (ja) 2003-05-14 2003-08-22 統計力学的衝突の方法と装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2004572200A Expired - Fee Related JP4358752B2 (ja) 2003-05-14 2003-08-22 統計力学的衝突の方法と装置

Country Status (4)

Country Link
EP (2) EP1636759A4 (ja)
JP (2) JP4361878B2 (ja)
AU (2) AU2003260051A1 (ja)
WO (2) WO2004104935A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070268293A1 (en) 2006-05-19 2007-11-22 Erick Miller Musculo-skeletal shape skinning
JP4579964B2 (ja) * 2007-12-13 2010-11-10 株式会社コナミデジタルエンタテインメント 画像生成装置、画像生成方法、ならびに、プログラム
JP5232129B2 (ja) * 2009-11-24 2013-07-10 日本放送協会 仮想キャラクタ生成装置及び仮想キャラクタ生成プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2248909A1 (en) * 1996-03-15 1997-09-25 Zapa Digital Arts Ltd. System for producing an animation sequence according to character behaviour characteristics
CA2213884C (en) * 1996-08-21 2001-05-22 Nippon Telegraph And Telephone Corporation Method for generating animations of a multi-articulated structure, recording medium having recorded thereon the same and animation generating apparatus using the same
US6067096A (en) * 1998-03-04 2000-05-23 Nagle; John Method and system for generating realistic collisions in graphical simulations
US6593927B2 (en) * 2001-02-01 2003-07-15 Intel Corporation Squash and stretch three-dimensional rendering
US6798415B2 (en) * 2001-06-21 2004-09-28 Intel Corporation Rendering collisions of three-dimensional models
EP1345179A3 (en) * 2002-03-13 2004-01-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for computer graphics animation
US20030193503A1 (en) * 2002-04-10 2003-10-16 Mark Seminatore Computer animation system and method
US6822653B2 (en) * 2002-06-28 2004-11-23 Microsoft Corporation Methods and system for general skinning via hardware accelerators

Also Published As

Publication number Publication date
JP2006514380A (ja) 2006-04-27
EP1639552A1 (en) 2006-03-29
WO2004104934A1 (en) 2004-12-02
JP4358752B2 (ja) 2009-11-04
EP1636759A1 (en) 2006-03-22
JP2006514379A (ja) 2006-04-27
AU2003260051A1 (en) 2004-12-13
AU2003269986A1 (en) 2004-12-13
EP1636759A4 (en) 2010-11-10
EP1639552A4 (en) 2010-08-25
WO2004104935A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
US7515155B2 (en) Statistical dynamic modeling method and apparatus
US7307633B2 (en) Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response
Wilhelms et al. Anatomically based modeling
Kähler et al. Geometry-based muscle modeling for facial animation
US7944449B2 (en) Methods and apparatus for export of animation data to non-native articulation schemes
US7570264B2 (en) Rig baking
Rumman et al. Position based skinning of skeleton-driven deformable characters
US7259764B2 (en) Defrobulated angles for character joint representation
Nedel et al. Anatomic modeling of deformable human bodies
Orvalho et al. Transferring the rig and animations from a character to different face models
JP4361878B2 (ja) 統計力学的モデリングの方法と装置
US7477253B2 (en) Storage medium storing animation image generating program
Çetinaslan Position manipulation techniques for facial animation
Xia et al. Recent advances on virtual human synthesis
Yang et al. Fast simulation of skin sliding
Orvalho et al. Transferring Facial Expressions to Different Face Models.
Francik et al. A framework for program control of animation of human and animal characters
Smith Animation of captured surface data
Wu et al. Generic-model based human-body modeling
Jaafar et al. Animating Virtual Human for Virtual Batik Modeling
de Aguiar et al. A simple framework for natural animation of digitized models
Magnenat-Thalmann Modeling Bodies
Abu Rumman et al. Position based skinning of skeleton-driven deformable characters
Magnenat-Thalmann et al. Virtual humans
Human Vosinakis Spyridon September 2000

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090413

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090420

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090513

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090813

R150 Certificate of patent or registration of utility model

Ref document number: 4361878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees