コンピュータを用いたアニメーション製作システムおよび方法とユーザーインターフェース
【課題】コンピューターアニメを直覚的に製作するためのシステムと方法。アニメ化対象物の複雑な動きや風、慣性力、波の効果を表現できる。
【解決手段】変形空間内で三次元描画ワンド等のコンピューター入力デバイスを動かして複数のソースポーズから構築ポーズを作る。変形空間は四面体で、4つの頂点が1つずつのソースポーズを表す。四面体の三次元空間内の任意の点で4つのソースポーズの重み付き平均値に基づいて構築ポーズを定義する。アニメ製作者は四面体内部で描画ワンドを動かすだけでアニメーションシーケンスを製作できる。構築ポーズの変形速度は描画ワンドの移動速度で制御される、一連の構築ポーズを定義後に変更することもできる。空間内で「ワープ」経路を描いて基準点からの相対的変位を指定することによって線画の一部を変更できる。この場合、影響を受けるセグメントおよびセグメントを構成する点がどの程度影響を受けるかを指定する。
【解決手段】変形空間内で三次元描画ワンド等のコンピューター入力デバイスを動かして複数のソースポーズから構築ポーズを作る。変形空間は四面体で、4つの頂点が1つずつのソースポーズを表す。四面体の三次元空間内の任意の点で4つのソースポーズの重み付き平均値に基づいて構築ポーズを定義する。アニメ製作者は四面体内部で描画ワンドを動かすだけでアニメーションシーケンスを製作できる。構築ポーズの変形速度は描画ワンドの移動速度で制御される、一連の構築ポーズを定義後に変更することもできる。空間内で「ワープ」経路を描いて基準点からの相対的変位を指定することによって線画の一部を変更できる。この場合、影響を受けるセグメントおよびセグメントを構成する点がどの程度影響を受けるかを指定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータを用いた二次元および三次元アニメを製作するためのシステムおよび方法と、相対的に少ない元絵から一連のアニメ画像を製作するための簡単で直覚的なユーザーインターフェースとに関するものである。
【背景技術】
【0002】
アニメーション(以下、アニメ)は少しずつ変化する一連の静止画像を高速に表示することであたかも画像が動いているような幻覚を造り出すものである。初期のアニメでは正確な絵を手描きしていたので、短いアニメ断片でも膨大な数の絵が必要になり、製作作業は冗長で時間のかかるものであった。最近ではコンピュータグラフィクス技術の出現によってアニメーションプロセスにコンピュータが用いられているが、手描きの人物や物とコンピュータによって製作された人物や物との間には明らかな違いがあるため、アニメ製作者は絵を製作するのに過度にコンピュータに頼り過ぎるのを好まない。コンピュータで製作された人物や物は生き生きとしたものというよりむしろロボット的である。
【0003】
アニメーションの分野で受け入れられているシステムは、アニメ製作者が紙とペンではなく、マウス、描画タブレットまたはその他の入力デバイスを用いてコンピュータディスプレーデバイス上で絵を描くことが可能なコンピュータシステムである。このシステムではアニメ製作者が描いた2枚のフレームの間に入れる中間のアニメーフレームをコンピュータシステムを用いて作ってアニメーションシーケンスにする。アニメ製作者が描いたフレームは「キーフレームまたはポーズ」とよばれ、コンピュータが製作した中間のフレームは「インビトゥイン (in-between)」とよばれる。この中間フレームは画像を一つのキーポーズからもう一つのキーポーズまで変形するために用いられる。中間ポーズを作る方法はしばしば、「トゥイーニング (tweening)」または「インビトゥイーニング」とよばれる。中間ポーズの製作の基本はアニメ製作者が作ったキーフレームの間をコンピュータで補間する(interpolation)ことにある。アニメ製作者は動きの複雑さに応じて中間フレームの数を指定し、コンピュータは最終的なアニメシーケンスにおいて滑らかな変化が得られるように中間フレームを製作する。この方法の利点は各中間フレームを手書きで製作するという骨の折れる仕事が要らなくなることにある。三次元アニメーションでのコンピュータを用いたインビトゥイーニングはスターン(Stern)の米国特許第4,600,919号に記載されている。
【0004】
しかし、従来のコンピュータトゥイーニングはいくつかの点で不十分である。先ず、従来のトゥイーニングシステムでは単純な直線補間(linear interpolation)を利用してキーフレーム間の中間ポーズを製作するが、この方法の1つの問題点は対象物の動作がロボット的になることである。この問題はキーポーズの数を増やすことによって最小限に抑えることができるが、そのためにはより多くの手描きの絵が必要になり、コンピュータを用いたトゥイーニングの意味が無くなる。もう1つの問題点は直線補間では一定の回転角度で物体のセグメントを短くするため回転運動中の物体に歪みが生じる可能性があることである。3つ目の問題点は(i)連続するインターバルに含まれるインビトゥイーンの数は一定であるがキーポーズ間の間隔が一定でない場合または(ii)連続するキーポジション間の間隔は等しいがそのインターバルに含まれる中間ポーズの数が異なる場合に動きの速度が不連続性になることである。これらの問題点はコカネク達の下記文献「スムーズなキーフレームアニメーションのためのコンピュータシステム」に詳細に記載されている。
【非特許文献1】D.H.U. Kochanek, R. Bartels, and K.S. Booth, "A Computer System for Smooth Keyframe Animation", Rep. No.CS-85-42, University of Waterloo Computer Science Dept., 1982
【0005】
単純な直線補間法を改良する研究はコカネク達と同様に他の研究者によっても行われている。その1つの方法は「P―カーブ」とよばれる。この方法では物体が動くであろう移動経路をアニメ製作者がたどる。さらに、物体が動く時の変化を説明するために、アニメ製作者はP−カーブに沿った任意の所定フレームにどの絵を使用するかを指定する選択関数を特定することができる。例えば物体が弾むボールの場合、アニメ製作者はボールが弾む時に圧縮されたボールを示す絵を使うことができる。
【0006】
しかし、これらの従来方法は複雑な上に使い易い簡単なユーザインターフェースが提供されないために、アニメ製作者にとっては使いにくいものである。従って、高品質のアニメーションをアニメ製作者が簡単且つ直覚的に製作できるようにするコンピュータを用いたアニメーション製作システムおよび方法が必要である。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、コンピュータを用いてアニメーションを製作するための改良されたシステムおよび方法を提供することにある。
本発明のさらなる目的は、従来技術のシステムに比べてより生き生きとしたアニメーションの動きを表現するためのコンピュータを用いたアニメーション製作システムおよび方法を提供することにある。
本発明のさらなる目的は、アニメ製作者が物体を描いた複数のソースポーズを用いてアニメ製作者が簡単且つ直覚的にリアルタイムで一連の動きを表現することができるような改良されたコンピューターアニメーション製作システムおよび方法を提供することにある。
本発明のさらなる目的は、従来の方法で二次元アニメーションを手描きする時と同様、コンピュータを用いた三次元の手描きアニメーションについても、アニメ製作者による直接且つ芸術的な制御を可能にすることにある。
【課題を解決するための手段】
【0008】
本発明のシステムおよび方法は、ここで「ソースポーズ」とよばれるものを利用することにより、コンピュータを用いてアニメーションシーケンス内の連続するキーポーズ間を補間するという概念に改良を加えるものである。ソースポーズは、アニメ製作者によって描かれる物体の絵であり、本発明では、このソースポーズを用いて、コンピュータにより、アニメーション用ポーズを製作する。従来技術によるキーポーズの概念とは異なり、ソースポーズは(必ずしもというわけではないが)アニメーションの一部であっても良い。
【0009】
本発明は、二次元および三次元のコンピュータアニメーション両方に適用される。本発明のシステムおよび方法では、理論的にはアニメ製作者が任意の数のソースポーズを指定することができるが、実用上1〜7のソースポーズが使用されよう。これらソースポーズは、アニメ化された任意のポーズ中の物体の外観と必ずしも同一に対応する必要はない。ソースポーズは、アニメーションシーケンスにおいて用いられる複合ポーズ、ここで言うところの「構築ポーズ」を構築するために用いられる。構築ポーズそれぞれにおいて、物体の外観はソースポーズの重み付平均(weighted average)から構築される。三次元描画空間は、コンピュータ入力デバイス、例えば3軸位置センサ(自由度6)または描画「ワンド」(センサを用いて三次元空間におけるワンドの動きや向きを追跡する)などの入力デバイスを組み込んだコンピュータ駆動式立体視システムを用いて提供される。ワンドの位置は、三次元描画空間内に表示されるカーソルによって表される。
【0010】
立体視システム内に、三次元描画空間の所定の部分、ここでは「ポーズ変形空間」とよばれる部分が表示される。1つの具体例によれば、「ポーズ変形空間」は四面体である。この場合、四面体によって各頂点に1つずつ4つのソースポーズが表現される。四面体内の各点は、4つのソースポーズの独特な組み合わせによって規定される構築ポーズを表す。描画ワンドを動かして四面体内でのワンドカーソルの動きを制御し、アニメ化された対象物の変形を規定する。四面体の各頂点に対するワンドカーソルの位置は、その時点における構成型ポーズを制御する。構成型ポーズはソースポーズの重み付き平均によって構成される。構成型ポーズは、四面体に囲まれたポーズ変形空間内でワンドカーソルが動く時にリアルタイムで見ることができ、従ってアニメ製作者には、製作中または「スクリプト」中の動作が瞬間的にフィードバックされる。
【0011】
このように、アニメ化される対象物には任意の動作を行わせることができ、この動作は、4つのソースポーズの性格を考慮するならば、ポーズ変形空間内で移動するワンドの経路によって決定される三次元グラフ点の進行(ここでは「変形グラフ」とよばれる)によって指定することができる。さらに、ポーズ変形の速度は、ポーズ変形空間内におけるワンドカーソルの動きの速度によって制御することができる。あるいは、瞬間的な変形速度を特定するために、変形の相対的速度を変形グラフ上の位置の関数として示すグラフィック表示(ここでは「速度プロフィールグラフ」または変形用速度プロフィールと称する)を使用することにより、速度を独立して制御することができる。この速度プロフィールにより、アニメ製作者は、入力デバイスを用いて変形グラフに沿った変形速度を変更することが可能になる。
【0012】
各種キャラクターおよび対象物、並びにそれらの一部分の動作を、異なる変形グラフを用いて規定して、最終的に得られるアニメーションシーケンスにおいてキャラクターの動作を独立に制御することが可能になる。アニメ製作者が4つ未満のソースポーズを使用する場合、二次元の変形空間(例えば3つのソースポーズ用の三角形)を使用することができる。
【0013】
本発明の第2の特徴は、構築ポーズをさらに変化させて、コンピュータアニメーション画像がなんらかの動作または変形(線画の1つまたは複数の線分の歪みまたは「ワープ」によって指定することができる)を行う時に、その画像の形状および動作について、よい高度な制御を可能にすることにある。線画の中の1つの点を基準点(ここでは「ワープハンドル」と称する)として選択する。基準点は通常、ソースポーズの線分上にあるが、必ずしもそのように配置されなくてもよい。続いて、この基準点に対する動作経路(ここでは「ワープ経路」とよばれる)を描画空間内に描く。ワープ経路は基準ワープハンドルに対する経時的な動作経路を規定し、時間の関数として1組の相対的x、yおよびz変位を発生させる。次に、ワープ経路によって変更されるべき線分(単数または複数)を、任意の方法、例えば描画ワンドを用いたポインティングまたはクリックによって指定する。さらに、線分(単数または複数)上のその後の点がワープ経路によって変位される時の変位の度合いを規定するグラフが描かれる。このグラフをここでは「ワーププロフィールグラフ」と称する。続いて、ワーププロフィールグラフによる調整に従って、指定されたセグメントに1組の相対的変位が適用される。この一般的な方法は、ここでは「セグメントワープ」とよばれ、対象物に対する風や慣性力の効果などの各種効果を表現したり、特定のセグメントに沿って波のような動きを表現するために変更されることができる。
【0014】
本発明の第3の特徴は、ここでは「スパインワーピング」とよばれ、関連するセグメントワープを同時に多数発生させる。これは各ソースポーズについて、ワープすべき線分群のほぼ中心を通過する一本の直線「スパイン」を規定することによって行われる。上記ワープのうちいずれかをスパインに適用し、得られたスパインのワープをグループ内の影響される各線分上の各点に適切に伝える。このことにより、アニメ製作者は、1組の線分に対して同時に複雑な変形を非常に簡単に指定するための道具を持つことになる。
【0015】
本発明のさらなる特徴は、二次元または三次元の描画空間に描かれた閉じたループ(立体視システム内で対象物の表面を表すことができる)を、該ループ(立体視システムにおけるループの左眼用および右眼用二次元投影)を「フラッドフィリング」することによって自動的に着色することに関する。フラッドフィリングは、コンピュータグラフィクス技術においては周知の方法である。本発明のシステムおよび方法は、閉じたループを着色するために異なる方法(ここでは「フィルマスキング」と称する)を使用する。本発明によれば、アニメ製作者は1つのソースポーズ内でループを塗りつぶすのに使用する色を規定するだけでよく、動作中に起こるループの歪みに関係なく、各構築ポーズ内でその色が維持される。そのような構成的ループそれぞれについて、二次元の幾何学的形状(典型的には四角形)を自動的に発生させ、この四角形をループの最大および最少(x、y)座標に基づいてループよりもわずかに大きくすることにより、ループを囲むようにする。四角形全体がアニメ製作者によって選択されるループ色を用いて製作される。続いてループのアウトラインを選択されたライン色(単数または複数)で四角形の内部に移動させる。次に、従来型のフラッドフィル技術を用いて四角形とループの外側を構成するラインとで囲まれた領域の「塗りつぶし」を行う。この塗りつぶされた領域は透明になるように規定され、得られた四角形を表示した時には、適当な色で塗りつぶされたループだけが見えることになる。この方法は、完全なキャラクターまたは対象物のアニメーションを構成する個々の塗りつぶされたループについて自動的に繰り返される。
【発明を実施するための最良の形態】
【0016】
本発明はコンピュータ用いて立体(三次元)画像を描く/見るコンピュータアニメーションに関するものである。
三次元空間内で描画するシステムはコンピュータグラフィクス技術において周知である。そのようなシステムの1つの例はシュマンドによって報告されている
(下記文献参照)。
【非特許文献2】Schmandt, C., "Interactive Three-dimensional Computer Space", SPIE Vol.367, pp.155-59,1982
【0017】
この文献に記載のシステムは一般的なCRTディスプレーモニターを利用し、ユーザーはモニターに対して45度の角度に配置されたハーフミラーを介しモニターを見る。ユーザにはこのミラーの下側に三次元の描画空間が与えられ、この三次元空間に画像を描くためののワンド(wand)が与えられる。このシステムで用いられるワンドは磁気による位置センサ技術を用いてx、yおよびz座標上の位置と方向に関する情報を与える。ユーザが電気的に動作するシャッタの役目をするランタンジルコン酸チタン酸鉛(PLZT)セラミックウエハを用いた特別な眼鏡を介してCRTを見ることによって、三次元(立体)効果が得られる。左眼と右眼の視界を交互に走査線上に表示することによって各視界を効果的に時分割多重化する。眼鏡の動作はビデオ信号と同期化されており、一方の目でCRT上の画像を一度に見た時に三次元効果が与えられるようになっている。この技術は一般にフィールドシーケンシャル三次元画像化とよばれる。
【0018】
三次元視界を与えるための他の手段は立体写真(二色)による左眼/右眼画像分離法を用いるものである。この方法の限界は描かれた画像がモノクロームであることにある。これに対してフィールドシーケンシャル法ではカラー画像が可能である。左眼と右眼に別の画像を与える第3の方法は左眼の画像が1方向に偏光され、右眼の画像が別の方向に偏光される偏光フィルタを用いる方法である。一般には偏光された画像をスクリーン上に投影し、適等に偏光された眼鏡を介してその画像を見る。
【0019】
本発明は二次元および三次元のコンピュータアニメーションシステムに適用されるが、以下では三次元アニメーションを取り上げて本発明を説明する。当業者には標準的な二次元アニメーションについても同じ概念が適用されることは容易に理解できよう。
【0020】
本発明でもアニメ製作者が三次元空間に直接絵を描くことを可能にするために上記いずれかの技術を用いた三次元立体視システムが必要である。好ましい実施例三次元描画/立体視システムでは、コンピュータワークステーション、モニターおよび同期液晶シャッタ眼鏡を用いたフィールドシーケンシャル左右画像分離装置が用いられる。
【0021】
アニメ製作者は描画「ワンド」とよばれる電気/機械的デバイスを用いて三次元の描画を行う。ワンドは三次元位置トラッカーで、アセンジョンテクノロジー社(Acension Technologies, Inc)を含むいくつかのメーカーから入手可能である。本発明の1つの実施例ではアセンジョン社製の「フロックオブバーズ」(Flock of Birds)とよばれる描画ワンドを使用する。このデバイスは電磁波を利用して三次元空間におけるワンドの位置と向きを与える。液晶シャッター眼鏡はステレオグラフィクス社(Stereographics Corp.)から入手可能である。ナナオ社(Nanao)製の高解像度17インチモニターは画像解像度、安定性、使い易さの点で最も適している。ユーザーが空間内でワンドを動かすとワンドの制御下に描画空間内でカーソルが動き、ワンドのボタンを押すとカーソルの経路に沿って三次元空間内に連続的な線が描かれる。線は狭い間隔で配置された点列から構成されており、これらの点は非常に短いラインベクトルによって連結されて一本の連続した滑らかな線として見えるものになる。このシステムがビットマップではなくベクトルベースの描画を作り、アニメ製作者によって画かれた線分がコンピュータによって数学的に定義および処理可能であることが重要である。
【0022】
本発明は特に、わずか数枚の描画を変化させてアニメーションシーケンスを作るための新規な方法に関するものである。本発明にはアニメ製作者にとって使用が簡単であり、現在のコンピュータアニメーションシステムでは不可能なアニメ対象物の形状および動きの制御を可能にする複数が含まれている。
【0023】
一般に、アニメーションは時間と共に画像を変化させて動いているように見せるものである。本発明はアニメ製作者が簡単且つ直覚的に使用可能な方法で画像を変化させる方法を提供する。アニメ製作者は画像変形を高度に制御して本物に近い生き生きとした動きをさせることができる。
【0024】
本発明の第1の観点はトランスフォーメーショングラフ、transformation graph、以下、変形グラフという)とよばれる概念に関するものである。この概念ではアニメ製作者がソースポーズに基づいて簡単且つ直覚的な方法でアニメ化対象物の各種ポーズをコンピュータによって構築することができる。三次元変形グラフは以下のように使用することができる(二次元グラフも使用できる)。アニメ製作者には多面体(例えば四面体)の三次元立体視システムを介して画像が与えられる。この四面体は左眼/右眼用の二次元画像を製作/表示して三次元効果を作り出す周知の方法を用いて三次元描画空間内に表示される。表示された四面体はアニメ製作者にとっては単なるガイドであって、アニメーションに用いられる絵の一部を構成するものではない。四面体の4つの各頂点はアニメ製作者が手描きしたソースポーズを表すように定義される。各ソースポーズはアニメ化対象物またはその一部をベクトル表示で描いたものである。あるいは、従来のコンピュータアニメーションシステムを用いてソースポーズを製作して本発明で用いてもよい。
【0025】
例えば、ある人物について足の位置の異なる4種類のポーズを描く。続いて4つのポーズを四面体の各頂点に表わす。これら4つのポーズだけでは本物に近い動きを表すには十分でない。これら4つのポーズを基に本物に近い動きを作り出すのに必要な数のポーズが構築される。これらの構築ポーズ(constructed poses)は4つのソースポーズの合成物に基づくものである。構築ポーズは、アニメ製作者がポーズ変形空間とよばれる四面体内部の三次元空間内でワンドを動かすことによって定義される。四面体内でワンドが移動したときに、ワンドの動きは経時的に追跡され、ポーズ変形空間内で追跡されたワンド位置の三次元グラフが作られる。グラフ上の各点は4つのソースポーズから構成される1つのポーズを表す。点の数は描画ワンドのサンプリングレートに依存する。このようにして構築ポーズが製作できるので、アニメ製作者が簡単に用える方法で画像を連続的に変形させることができる。アニメ製作者が変形空間内で単にワンドカーソルを動かすだけでキャラクターまたは対象物の動作を「スクリプト(記述)」することができる。
【0026】
こうして作られたグラフはソースポーズを基に構築された連続的に変化する一連のポーズを表しているので変形グラフとよばれる。変形空間内でワンドカーソルを種々の経路に沿って動かすことによって人物のさまざまな動作を表現することができる。例えば足の位置の異なる4つ1組のソースポーズを用いて人物に「足踏み」「前進」「後退」「大股歩き」「小股歩き」などをさせることができ、これらの動作はワンドを操作するだけで任意の順序で連続的に製作できる。変形グラフは以下のようにして作られる。四面体描画空間を例に取ると、変形グラフの各点には、四面体の4つの頂点に対する空間内の点の位置によって各点に対応する構築ポーズが定義される。点が頂点に近ければ近いほど頂点に割当てられたソースポーズが構築される形態の外観により強い影響を与えることになる。1つの具体例では、単純な直線加重法で各頂点またはソースポーズの重みをグラフ点から頂点までの距離に反比例させる。例えば、グラフ点が三次元空間内で第1の頂点(v1)からxだけ離れた所にあり、第2の頂点(v2)から2x、第3の頂点(v3)から3x、さらに第4の頂点(v4)からは4xだけ離れたところにある場合、4つの頂点に対応するソースポーズは距離に応じてそれぞれ加重される。換言するならば、構築ポーズの線分を定義する各点は4つのソースポーズの各点の位置の重み付け平均値に応じて配置される。本発明の変形グラフを使用する場合には、ソースポーズは実際に製作したモーションシーケンスの一部である必要はなく、モーションシーケンスはソースポーズの複合物のみを用いてできるという点に注意されたい。換言すれば、変形グラフは必ずしも頂点に接触している必要はない。さらに、従来の変形技術のキーポーズとは異なり、ポーズに対して予め定義した時間シーケンスが存在しない点にも注意されたい。変形グラフはアニメ製作者が望む任意の順序でポーズ変形空間内の任意の経路を通って動くことができる。
【0027】
好ましい実施例では、各辺が直線でなく、反対側の頂点を中心として四面体の一片の長さに等しい半径の円の弧となるように変形した四面体を用いることができる。これは次のような理由による。すなわち、各頂点は定義によってソースポーズを表すので、他3つの頂点の重みはその頂点でゼロになるように定義されている。換言すれば、一つのソースポーズの貢献度はそのソースポーズに割当てられた頂点から変形グラフ上の点までの距離が四面体の一辺の長さに等しい時にゼロになる。四面体の一つの辺上を移動する時には、得られる構築ポーズは主としてその辺の両端にある2つの頂点によって構成されることになるが、残りの2つの頂点の影響はゼロでない。これはその辺上を移動する時にこれら頂点までの距離が減少するためである。従って、この辺の両端に位置する2つの頂点によって表される2つのソースポーズのみを基に構築される動きのシーケンスをスクリプトすることは不可能となる。多くの場合、製作したアニメーションにおいて他の2つの頂点の貢献度は顕著なものではないが、可能性が指摘されるこの問題は、円弧の両端に位置する2つの頂点間の経路上を移動する時に貢献度が変化しない円弧を用いて2つの頂点からの距離を一定に保つことによって解決できる。変形空間はアニメ製作者がアクションシーケンスをスクリプトするための案内に過ぎないので、その形状は正確である必要がないということは当業者には理解できよう。例えば、アニメ製作者がワンドを正確に縁部に沿わせるのではなく、四面体のわずか内側または外側で動かす場合、それが頂点に位置する2つのソースポーズのみで構成される動きとして認識されるようにシステムをプログラムすることは容易である。
【0028】
以下、図面を参照して本発明の変形グラフをさらに説明する。図1(a)〜(d)は、アニメ化された魚の表情の4つの形である。図を簡単にするために、魚はz成分のない状態で描かれており、従って、二次元に見えるが、三次元立体描画で描かれているものとする。図1から明らかなように、魚の口には図2に示すような4通りの異なるソースポーズ(不機嫌な口(図2a)、笑っている口(図2b)、小さい口(図2c)および大きい口(図2d)が存在する。
【0029】
図2(a)〜(d)にはそれぞれAからDまでの4つの点が示されている。口を表す4つのソースポーズはそれぞれ図3に示した4つの平面すなわちabc、bcd、acdおよびabdより成る四面体のいずれかの頂点(a、b、c、d)に割り当てることができる。例えば、線cdの中間にある点mでは、この点によって定義される構築ポーズ(中くらいの大きさの口)は主として頂点cのソースポーズ(小さい口)と頂点dのソースポーズ(大きい口)とを基に構成される。図2(c)および2(d)の各点A、B、CおよびD(および線分に沿った全ての点)は頂点cおよびdにおけるそれらの位置のほぼ中間の位置(xy軸)に位置づけられる。
【0030】
図4はアニメ製作者が口の形の変化を制御するように(ワンドを用いて)描いた変形グラフを示してる。変形グラフは頂点abcによって規定される平面上にほぼ位置する点S(ほぼ不機嫌な口)から出発して、頂点cに向かって点1へと進み、その後、頂点bに向かって点2へ、続いて線bdに沿って上向きに点3へ、その後、平面abd上を下向きに点4へ、最後に線abに沿って終点Eへと進む。二次元描画で表すために変形グラフを主として四面体の表面に沿って示したが、変形グラフを四面体によって囲まれる体積の任意の部分を通過して描くことができる。アニメ製作者が経路を描くと、コンピュータが空間内でサンプリングされたワンドの位置に基づいて各頂点からのカーソルの位置を算出し、その結果得られる構築ポーズを描く。構築ポーズを構成する点のサブセット(各n番目の点)が選択され、表示されて、一連の構築ポーズがリアルタイムで見られ、アニメ製作者は自分がスクリプトしている動きを見ることができる。これは基本的にアルタイムで行われ、アニメ製作者がワンドを動かしてカーソルの動きを制御した時に自分がスクリプトしている動きを見ることができるようになっている。
【0031】
図5は魚の絵の他の要素(まゆ毛)に関する三次元変形グラフを示し、図6は魚の本体とヒレを一緒に取り上げたもの、図7は眼に関するものである。図6ではiおよびjの2つのソースポーズのみが使用される。プログラムを簡単にするために、それ以外の2つの頂点k、lにも頂点iに割り当てられたポーズが割当てられる。使用するソースポーズが2つだけであるので、変形グラフは実際には一次元の線に沿って描くことができる。図7についても同様のことが言え、図7は四面体mnopを示しているが、線m−nに沿った眼に関する変形グラフを示している。
【0032】
3つのソースポーズのみを使用するシーケンスを製作する場合には、平面上の三角形をポーズ変形空間として使用することができる。同様に、2つのポーズのみを使用するシーケンスは両端にそれぞれ1つずつポーズが割当てられた線によって構成されるポーズ変形空間上でスクリプトすることができる。一方、より多くのソースポーズを用いてより複雑な動きをスクリプトする場合には、向きを感知する描画ワンドの能力を利用してポーズ変形空間を容易に拡張することができる。ピッチ(縦揺れ)、ロール(回転)およびヨー(横揺れ)の3つの成分はそれぞれ別のソースポーズを表し、別の3つのソースポーズを与える。これによって6次元のポーズ変形空間が可能になり、この空間では7つのソースポーズの任意の組み合わせが定義される。そのたに、例えば足ペダル等の入力手段によって追加のソースポーズを与えることができる。この場合、ポーズ変形空間内のカーソルは4つのポーズのみを反映し、他の入力の影響の度合いは得られた構築ポーズの中にのみ見ることができる。
【0033】
変形グラフはさらに、アニメ化対象物のポーズの変化を制御することに加えて、変形速度を制御するために使用される。変形速度は製作されるアニメシーケンスにおけるアニメ化された対象物の見掛け上の動作速度に関係する。描画システムは固定レートでワンドの位置をサンプリングするので、ワンドの位置は時間の関数で分かる。従って、ワンドの移動速度が分かり、ワンドの移動速度を用いてスクリプトされた変形のレートすなわち速度を制御することができる。
【0034】
変形グラフを描く時にグラフの点は記憶される。これらグラフの点は一定の時間間隔を有する。従って、ポーズ変形空間内のグラフ点の間隔はアニメ製作者が描画ワンドを動かす時の速度に依存し、その間隔によってアニメ化された動作の変化速度が制御される。アニメ製作者がリアルタイムでグラフを描く場合には、各点をアニメーションの1つのフレームに対応させることができる。あるいは、アニメ製作者がまず最初にシーケンスに必要なフレームの数を定義し、後で「スローモーション」でグラフを描くこともできる。この場合には、アニメーションシーケンスに含まれるフレームの数は作った点の数よりも少なくなる。同様に、フレームの数がグラフ点の数よりも多くなるように変形グラフを実時間よりも高速で描くこともできる。後者の2通りのケースでは、変形グラフは補間され、アニメ製作者によって選択された数のフレームが作られる。記憶されたフレームは観覧者が見るであろう速度(一般には1秒間に24または30フレーム)で再生されて、動きの速度が適当であるか否かをアニメ製作者が判断できるようになっている。検討のためにフレームをより低速または高速で再生することもできる。
【0035】
動作速度の調整を容易にするために、アニメ製作者にはポーズのシーケンスを通してポーズの変形速度を図式的に表示する手段が与えられており、この手段をここでは変形グラフ用「速度プロフィール」という。この速度プロフィールは変形グラフに沿ったポーズの変化の相対速度を示す。例えば周知のクリックおよびドラッグ動作を用いて速度プロフィールを変更するか、速度プロフィール全体を描き直すことによって、アニメ製作者はシーケンスを変更せずに変形グラフに沿った速度を調節することができる。速度プロフィールを変更した場合、正しい数のフレームにアニメシーケンスができるように、変形グラフに沿った変形点の間隔を補間によって調節する。例えば、変形グラフの一部分で動作の相対速度が上昇するならば、変形グラフの残りの部分では適当に速度を下げることになろう。
【0036】
図8(a)〜(f)は図4、5、6および7の変形グラフを組み合わせて得られるアニメのフレームを示す。図8(a)(変形グラフ上の点S)では魚が餌に近づいて行き、図8(b)で餌に気付く(点1)。その後、魚が餌を飲み込むまでシーケンスが継続する。図8(c)〜8(f)は図4、5、6および7の点2、3、4およびEに対応する。これらの点はアニメの各フレームすなわち変形シーケンスの異なる時間点に関連する。例えば図8(a)〜(f)に示すように、時間0、1、2、3、4、Eはそれぞれフレーム1、40、90、150、180、240に対応する。
【0037】
図9(a)〜(d)は図4〜7に示した口、眉、体および眼に関する変形グラフの速度プロフィールを示し、それぞれ変形グラフを記録した後のものである。x軸は時間またはフレームの数を示し、y軸は構築ポーズの変形の瞬間的な速度を表す。変形速度ゼロは画像が静止していることを意味し、ゼロでない平坦な速度は画像が一定速度で変化していることを意味し、上昇スロープは速度の上昇を意味し、下降スロープは速度の低下を意味する。図9(a)〜(d)の各速度プロフィールについて6つの点i〜viが示されている。各点はアニメーションシーケンス内の1つのフレームに対応する。グラフの隣に示した凡例はこれら各点での各フレームに対応するポーズを示している。図9(a)〜(d)の速度プロフィールは、アニメ製作者が描いた変形の速度を示すために、アニメ製作者が各変形グラフを製作した後に表示することができる。点i〜viは4つの速度プロフィールで同じフレームに対応するものではないということは図から理解できよう。アニメ製作者は、グラフの一部を「ナッジング」(ワンドカーソルを用いてグラフの一部を押して形状を変化させる)するか、変形速度を所望の値に調節するためにグラフ全体を描き直すことによって手動でプロフィールを変更することができる。
【0038】
描画の変形を全て同じ変形グラフで制御すると、効果は生き生きとしたものでなく、機械的なものになろう。従って、描画をグループ分けし、各グループについて独立した独特の変形グラフを描くことによって複雑な生き生きとした動作を表現することができる。しかし、異なる変形グラフによって制御された異なる要素群を基に複合描画を作る場合には、それらを組み合わせてアニメーションフレームとする前に各群の動作を一致させることが必要になる。例えば、図9(a)〜(d)が最初に描いた口、眉、体および目の速度プロフィールを示す場合、これらの速度プロフィールは口、眉、体および目の構築ポーズを与えるが、これらポーズは図8(a)〜(d)に示す体の各部分の所望の関係に比べた場合、時間的に同期されていないということは図9(a)〜(d)から理解できよう。差を明確にするために差を誇張して示してある。例えば、魚の口が大きく開いた点では、目と眉は魚の頭の上の方に向かって押しつぶされた状態で描かれなければならない。初めに描かれた状態では(変形グラフの変更前の速度プロフィールに示すように)口は図9(a)の点ivすなわちフレーム80で大きく開かれ、一方目と眉はそれぞれフレーム60および140で押しつぶされている。
【0039】
本発明では下記の不方法で異なる要素群の動作を容易に同期させることができる。アニメ製作者は例えば目に関する変形グラフを描く時に、それと同時に変形グラフを用いてスクリプトされ、記録された口の動作を再生して見ることができ、それによってアニメ製作者は手動で要素の動作を同期化することができる。アニメ製作者が同期化に満足するまで、同じシーンを繰り返すことができる。再生はリアルタイムで行うか、必要に応じて同期化を容易にするためにスローモーションで行うことができる。
【0040】
あるいは同期化点または「シンク sync」点の概念を用いて行うことができる。シンク点はシーケンス内の特定の時間点(すなわち一連のフレームに含まれる特定のアニメフレーム)において、ある要素群が選択された形状、例えば開いた魚の口の形状を取ることを特定するために用いられる。好ましい実施例では、まず最初に、フレーム識別装置がシンク点が発生するであろう所定のフレーム(時間点)に割当てられる。続いて、ポインティングデバイス(例えば描画ワンド)を用いて変形グラフ全体を表す直線スクロールバーに沿ってスクロールすることによって選択したフレームに割当てるべき構築ポーズを選択する。アニメ製作者がスクロールバーに沿ってカーソルを動かすと、変形グラム上のその点に対応する構築ポーズが表示される。さらに、実際の変形経路上のカーソルの位置も表示される。所望の構築ポーズが表示された時点で、ワンドボタンをクリックして、そのポーズが選択されたフレームと同期化されるべきポーズであること示す。
【0041】
第1の要素群と調和させるべき第2の要素群から、同じ方法でアニメ製作者が対応するポーズ(つまり押しつぶされた目)を選択する。このポーズは口に関する変形グラフのフレームと同一のフレーム識別装置によって割当られ、同様に選択されたフレームと同期化される。このようにして、選択された口のポーズと対応する目のポーズが同じフレームに表示され、従って、同じ時間点で表示される。変形経路に沿ったポーズのシーケンスは影響を受けないが、選択したポーズが特定の時間に表示されるようにするために、変形速度を調節しなければならない。これは各シンク点間のフレームの数を必要に応じて増減することによって行われる。これはできる限り初めの速度プロフィールが維持されるよう、補間によって行われる。しかし、1つ以上のシンク点の近傍で動きの連続性を損なわずに速度プロフィールの形状を保持することが速度プロフィールによっては困難な場合がある。この場合には、得られたアニメーションシーケンスを再生して観覧者が認識してしまうような非連続性が存在するか否かを判断することができる。一般に、変形速度の急激な変化は観覧者に認識されない。認識されてしまう場合には速度プロフィールの形を調節するか、アニメ製作者が速度プロフィールを再び描き直して非連続性を除去する。変形グラフに沿って複数のシンク点が使用されることもある。このような点それぞれについて同じ手順を行う。
【0042】
図10(a)〜(d)はシンク点の概念を具体的に示すものである。シンク点はSP1〜SP4で表される。これら点は例えば図8(a)〜(f)に示すフレーム40、90、150および180に対応させることができる。図10(a)は魚の口の変形グラフに関する速度プロフィールであり、図10(b)〜(d)はそれぞれ眉、体および目である。図9(a)〜(d)に示すように、図10(a)〜(d)の速度プロフィールは図4〜7の変形グラフに対応するが、この場合はシンク点を用いて再生されている。アニメーションシーケンスでは、大きい(いっぱいに開かれた)口は魚の目が頭の上の方に押しつぶされている時に起こって、小さい口は目が一杯に開かれている時に起こらなければならない。従って、変形グラフに沿った点SP1は口が小さい時の時間点に割当てられて、点SP3は口が大きい時に割当られる。その後、図9(a)の点ii(小さい口)が20フレーム分だけ後にずれ、点iv(大きい口)が70フレーム分だけ後にずれて、それぞれフレーム40および150で表示されるように、変形グラフに沿った速度を(補間によって)調節する。同様に、点SP2(フレーム90)は最初の笑顔が発生する時間点に割当てられ、SP4(フレーム180)は2回目の笑顔が発生する時間点に割り当てられる(それぞれ図9(a)のiiiおよびv)。他の全ての要素も同様に調節して図10(a)〜(d)に示すように正しく同期化し、図8(a)〜(f)に示すような望ましい関係を各要素間に得る。シンク点は構築ポーズの変形シーケンスで動作とサウンドトラックとを正しく同期させるためにも使用される。
【0043】
ソースポーズのセグメントは、望ましくない構築ポーズが発生するのを防ぐためにマッチ点(match point)を用いて互いに配置されることができる。マッチ点の使用は当業者には周知であるが、図11で簡単に説明する。マッチ点は、点の位置を計算するために上記の重み付き平均が各ポーズ内の対応するセグメントに沿って発生するようにラインをセグメントに分割するものである。図11(a)〜(c)は、鼻がどんどん高くなって行くキャラクターの頭部を示す。当然、鼻が高くなっても頭部が同じ形状を維持することが意図されている。しかし、図11(a)および(c)に示したソースポーズを使用すると、図11(b)のポーズとなり、画像が歪んでしまう。この歪みを避けるために、図11(d)〜(f)に示すようにマッチ点AおよびBを割り当て、構築ポーズ11(e)内でも頭部の形状が維持されるようにする。マッチ点はソースポーズ内の2つの関連するセグメントに沿って重み付き平均が起こるようにする。従って、図11(d)および11(f)の2つのソースポーズでは頭部が同じ形状を有するために、構築ポーズにおいても頭部は同じ形状を有する。図11(d)〜(f)に示されたマッチ点Cによって鼻が伸び縮みするときにその形を維持する。このマッチ点がない場合には、変形中のいずれかの点で鼻は図11(e)に示すようなやや先とがりの外観を示すことになる。
【0044】
[表1]は四面体の4つのソースポーズから構築ポーズを計算するための疑似コードの1つの実施例である。
[表2]はソースポーズおよび変形グラフからアニメ化されたシーケンスを製作するための疑似コードの1つの実施例である。
【0045】
【表1】
【0046】
【表2】
【0047】
本発明のシステムおよび方法では、1つの要素群にアタッチ点を指定してこの点に別の群が連結されるようにすることによって別々に変形された異なる線分群を互いに連結させることができる。この特徴は、異なる要素群が互いに異なる動作を行うが、一方の群がもう一方の群に連結されている場合、例えば人間の頭部と胴体の場合などに有効である。この特徴は第1の要素群をマスターに指定して第2の要素群をスレーブに指定することによって行われる。この場合には体がマスターで、が頭部がスレーブになる。このようにアニメ化された要素群の位置を関連させる技術はコンピュータアニメーションの当業者には周知である。
アニメーションシーケンスによって非常に複雑(適当な数のポーズを基に構築可能なものよりも複雑)な1組の動作をスクリプトしなければならない場合、四面体の共通の頂点を通って2つ以上のポーズ変形空間を貫通する変形グラフで連続する動作シーケンスを発生させることができる。例えば、第1の四面体の内部で一つの動作をスクリプトし、次に、第1の四面体と第2の四面体とに共通の頂点(第1の四面体と第2の四面体はこの頂点に共通のソースポーズを有する)を通ってスクリプトされる。アニメ製作者はさらに、共通の頂点以外の頂点に対応する3つの異なるソースポーズを有する第2の四面体内で引き続き変形グラフを描く。同様に、第2の四面体は第3の四面体に連結されてもよく、第4、第5も同様である。このようにポーズ変形空間を連結することによってて連続する1回の「スクリプト」によって複雑な一連の動作を定義することが可能になる。ポーズ変形空間を共通の頂点で連結することに加えて、動作シーケンスの末端の構築ポーズ(ソースポーズである必要はない)を第2の動作シーケンスの変形空間におけるソースポーズの1つとして使用することができる。第2の動作シーケンス用の変形グラフはそのソースポーズに対応する頂点で開始され、従って、2つのシーケンスを連結した時に動作が継ぎ目のない連続的なものとなる。
【0048】
変形グラフは記憶でき、特定のソースポーズのみに対応するものではない。すなわち、例えば歩く動作を表す同じ変形グラムを用いてそれとは異なるキャラクターを表す別のソースポーズの組のアニメーションシーケンスを制御することができる。同様に、ソースポーズを記憶させて別の変形グラフで用いることもできる。
【0049】
変形グラフによって作られたアニメーションシーケンスを四面体の変形空間で表わして1つの出力アニメーションシーケンスを作ることもできる。例えば、4組のポーズを作することによって歩く動作の4つの異なる斜視図(例えば四方から見た図)を作することができる。斜視図のいずれかについてその斜視図に関する4つのソースポーズを用いて変形グラフを描き、その後はそれ以外の3つの斜視図に対応する他3つのポーズ変形空間のそれぞれについて同じ変形グラフを使用することによって4組のポーズを作ることができる。これによって4組のポーズの同期化が自動的に行われる。
【0050】
次に、構築ポーズの各組を四面体の1つの頂点に対応させる。この場合、四面体はポーズ変形空間というよりむしろ斜視図変形空間と考えることができる。各頂点が1つの固定されたソースポーズを表すのではなく、各頂点のソースポーズは時間の関数で変化し、すなわち任意の時点における頂点の構築ポーズによって決定される。次に、この四面体内部に変形グラフが描かれ、各構築ポーズが変形中の各時点においてその時点で構築される最終的な1つのポーズに対してどの程度貢献するかを指定する。変形グラフ上の各点において最終的に構築されるポーズは4つのソースポーズの複合で決定される(各ソースポーズが実際に同じポーズの異なる斜視図を表す場合を除いて)。従って、ワンドの動きは構築ポーズの組によって既に定義された対象物そのものの変形でなく、動作の斜視図を変化させるに過ぎない。このように、観覧者から見られる方向を連続的に変化させた状態で連続的な歩行動作を表す変形グラフを作り、例えば、対象物の周りをカメラでパン撮りすることをシミュレートすることができる。
【0051】
動作をスクリプトするための上記変形グラフ技術は、現在のコンピュータアニメーションシステムより大きく改良したものである。アニメ製作者は、動作を直覚的な方法で人形師が人形の動作を制御するのと同様な「パフォーマンス」として製作でき且つ動作をリアルタイムで見ることできるユーザーインターフェースを用いて、長くて複雑な動作を単に三次元描画空間内でワンドを操作することによって製作することができる。この方法の利点は三次元コンピュータアニメーションにおいて最も顕著である(現在の技術を用いた場合、三次元コンピュータアニメーションではシーケンス全体の製作は言うに及ばず、たった1つのポーズの製作も非常に複雑で、時間がかかる)。二次元のアニメーションではこの方法を用いて二次元アニメーションの長いシーケンスを少ない労力で製作することができる。
【0052】
典型的なコンピューターアニメーションシステムでは、空間内の位置および対象物の変形の両方が一つのポーズの中に同時に表される。本発明のシステムおよび方法は対象物の変形を空間内でのその経路から分離できるというフレキシビリティがある。この場合、ワンドを用いてポーズ変形グラフの定義とは別にキャラクターや対象物の空間内における経路(「空間経路」とよばれる)を作ることができる。空間内の経路は対応する速度グラフを有する。この速度グラフは上記のように調節または描きなおすか、シンク点を用いることによって変更できる。
【0053】
本発明の第2の特徴は構築ポーズをさらに変化させてアニメ化画像の動作および形をさらに大きく制御する「セグメントワーピング」とよばれものにある。以下、このセグメントワープにつぃて説明する。描画空間内の点(ここではワープ変位基準点または「ワープハンドル」とよばれる)を選択する。この点は典型的にはソースポーズの線分上にあるが、必ずしもこの位置になくてもよい。ワープハンドルの機能は、ここでは「ワープ経路」とよばれる動作経路に対して基準点として機能することにある。ワープ経路はアニメ製作者がリアルタイム、ゆっくりあるいは高速で描く。ワープ経路はセグメントワープによって変更しようとする各セグメント(単数または複数)について、ワープハンドルの開始点からの相対的変位を定義する。ワープ経路によって変更すべき絵の線分を任意の方法(描画ワンドを用いたポインティングおよびクリック)で指定する。さらに、線分上の連続する点がワープ経路によって変位される度合いを規定する「ワーププロフィールグラフ」とよばれるグラフを描く。
【0054】
以下、セグメントワープ法を実施例を参照して説明する。図12(a)の魚では魚の体と尾のMP1、MP2、MP3、MP4で示した点にマッチ点が配置されている。次いで、MP2とMP3との間にワープハンドルHを配置する。3つのセグメントMP1―MP2、MP2―MP3およびMP3―MP4をワープすべきセグメントとして同定する。図12(b)は方向を示す矢印を含む点線で示したワープ経路を示す。この例ではワープ経路は魚の尾の前後運動を表し、一連の円弧によって描かれている。ワープ経路は描画そのものの一部ではなく、最終的なアニメーションには表示されない。この経路は第1の端部EX1まで移動し、次に反対側の端部EX2まで移動し、再び第1の端部EX1に戻る様子を示している。3つのセグメントに対するワーププロフィールグラフが図13に示すように描かれる。ワーププロフィールグラフは図12(b)のワープ経路が選択された線分上の連続する各点に与える相対的な影響を定義する。図13に示すように、セグメントMP1−MP2に対するワープの影響はMP1においてゼロであり、MP2では90%に増加し、セグメントMP2−MP3では90%で一定であり、セグメントMP3−MP4ではMP3の90%からMP4の0%まで変化する。
【0055】
これは、例えばセグメントMP2−MP3上の点の変位は任意の時点でその時点におけるワープハンドルの元の位置からの相対的変位の90%であることを意味する。換言すれば、ワープ中の特定の点において、ハンドルの元の位置からの相対的変位がz方向(紙の向こう側)に1.0ユニット長、x方向(水平方向)に0.4ユニット長、y方向(垂直方向)に0.1ユニット長である場合、セグメントMP2−MP3上の全ての点の元の位置からの変位はそれぞれ0.9、0.36、0.09となる。セグメントMP1−MP2上の点はMP1では全く変位せず、MP2に近づくに従ってより大きく変位し、MP2では変位は0.9となる。MP3―MP4上の効果は逆になる。
【0056】
セグメントワープは単に選択された線分上の点に関する点変位を表すものであるから、それらは加算的であり、多重セグメントワープを同じセグメントに適用することができる。
【0057】
図14はセグメントワープが3つのセグメントに与える影響を示している。点Ex1において尾はワープ経路によって規定される弧に沿った最大変位の状態にある。尾の末端すなわちセグメントMP2−MP3は、紙から飛び出す方向(観察者に向かって)に最大限変位した状態にある。同様に、点Ex2では、セグメントMP2−MP3は紙の向こう側(観察者から離れる方向)に向かって最大限変位している。
【0058】
アニメ製作者は、図13に示すようにワーププロフィールグラフを定義するのではなく、線分上の点の相対的変位を任意の方法、例えば選択された線分の太さ、明るさまたは色を変えることによって指定することもできる。
【0059】
当業者には、セグメントワープ技術によってアニメ製作者に複雑な動きを非常に簡単に表現するための強力且つ直覚的な方法が提供されるということは理解できよう。図12(a)に示すように尾MP1−MP2の垂直セグメント上にワープハンドルを指定することによってアニメ製作者は実際に描画ワンドで尾を「つかみ」、最終的に表現しようとする動きに従ってそれを正確にリアルタイムで前後に動かすことができる。こうして、アニメ化される動作のタイミング、方向および範囲の微妙な差が迅速且つ簡単に描き出される。この動作と対象物の他の動作(変形)との速度および協調は上記の速度プロフィールおよびシンク点を用いて制御することができる。
【0060】
セグメントワーピングの概念の有用性を示す別の実施例を別の用途を参照して説明する。従来のコンピュータアニメーションシステムでは、中間フレームは2つのソースポーズ画の線分間をコンピュータによって直線的に補間することによって製作されることが多いが、この補間は非現実的な動きを生じることがある。このようなことが起こる一つの状況はソースポーズ間の動きが回転運動で且つ構築ポーズが直線的な補間によって構築される場合である。図15は単純な補間を用いて新しいポーズを製作する際の欠点を具体的に示すために、「天使のはね」の動きを図15に示す。この図は天使が羽ばたく動作を示している。点Eは右の羽の先端、点Bは左の羽の先端である。E0およびB0では羽はその弧の一番上にあり(ポーズ1)、B1およびE1では弧の一番下にある(ポーズ2)。羽根の回転の中間点はそれぞれB2およびE2である。真の回転運動では、羽の先端はアークの一番上と一番下では最小x変位であり、中間点では最大x変位である。アニメ製作者が、図15に示すようにソースポーズとして一番上と一番下の羽の位置のみを指定し、コンピュータが直線補間によってポーズを発生させた場合には、B2およびE2の先端の位置(点線)によって示すように、羽は一番上の位置から一番下の位置まで移動する時に縮んでいるように見える。アニメ製作者は運動範囲の中間位置にさらにソースポーズを指定することはできるが、それ以外の羽の動き、例えば羽を上下に羽ばたく時のねじれを表現するために追加のポーズが必要である。この問題を解決するための本発明のセグメントワープ法を図16を参照して説明する。
【0061】
右の羽を例にとって説明する。図16(a)に示すように、点A、BおよびCにマッチ点を指定する。続いて、点Bすなわちはねの先端にワープハンドルWHを指定する。ワープハンドルの相対移動を指定するために点線で示すワープ経路WPを描く。図示したワープ経路は羽を弧の一番上から一番下まで下向きに1回打ち降ろす動作に相当する。ワーププロフィールは図16(b)のように描かれる。続いて、ワープ経路およびプロフィールグラフによって指定されるセグメントワープを天使の羽のポーズ変形(ポーズ変形グラフによって指定される)と併せて上記のように行う。羽根が下方に動く時のワープ経路によって指定される変位が図16(b)に示すワーププロフィールに従ってセグメントA−BおよびA−C上の点に行われる。
【0062】
その結果、ポーズ1からポーズ2、さらにポーズ3へと、ポーズからポーズへの変形中羽の寸法が正しく保たれるように、2つのセグメント上の点が変位する。すなわち、羽が下方に動く時、羽は次第に外側に向かって伸び、羽の先端は図16(c)のB1、B2、B3に示すような弧を描く。羽を上下に動かす天使の動作を上記の変形グラフおよび速度プロフィールを用いてスクリプトしもよい。この動作はその後、羽のセグメントワープと関連付けされる。既に述べたように、これは天使の羽の変形を見ながらワープ経路を描くか、シンク点を用いて例えば羽が下向きに打ち降ろされる動作の中間点にある時に基準点に対するワープの最大変位が発生するように速度プロフィールを制御することで行うことができる。
羽ばたきが何度も行われる場合(一般的にそうである)には、上下それぞれの運動について連続的に各1つずつのワープ経路(基本的に外側および内側に向かう動き)を描き、上記のようにしてワープを羽ばたきに同期させる。左の羽についても同様のセグメントワープを適用できる。
【0063】
このセグメントワープの概念は多くの用途を有する非常に強力な方法である。例えばこの方法を用いて波などの複雑な効果、風の効果、加速度の効果などを容易に表現することができる。風の効果は図17に示すように作り出される。図17(a)はアニメ製作者が風になびいているように描こうとしている旗を示す。図にS1、S2およびS3で示した旗の3つのセグメントをセグメントワープによって変形するものとする。旗の下側の隅にはさらにマッチ点MP1およびMP2が示されている。S1は点0〜MP1で構成され、S2は点MP1〜MP2で構成され、S3は点MP2〜3で構成される。ワープハンドルHは便宜上点MP2の位置に置かれ、予想されるワープ経路P(図17(a)に点線で示す)が描かれる。図17(b)は3つの線分に関するプロフィールグラフを示す。図17(b)に示すように、セグメントS1は変位ゼロ(取付点0)から最大変位(MP1)まで変化する。セグメントS2は常に最大変位であり、セグメントS3はセグメントS1と同様ゼロ変位(点3)から最大変位まで変化する。
【0064】
以上、通常のセグメントワープについて説明したが、風の効果については、ワープ経路Pは予想されるセグメントのワープ経路を表しているに過ぎない。経路上の実際の位置は、図17(c)に示すように風のベクトルを指定することによって決定される。風のベクトルは単にアニメ製作者によってワンドが風に吹かれて前後に揺れているかのように描かれ、コンピュータに記憶される。説明を簡単にするために、風はx軸の方向にのみ吹いている状態で示される。図17(d)は図17(c)に示す風の経路を描く時の描画ワンドの前後運動の速度を追跡して得られる風の速度プロフィールを示す。プラスの最大速度では、予想されるワープ経路に沿ってプラス方向の最大変位が加えられ、マイナスの最大速度においてマイナスの最大変位が加えられる。さらに、速度ゼロでゼロ変位が発生すると定義される。ゼロと最大点との間の変位およびゼロと最小点との間の変位は、単に風の最大速度が最大変位に対応するように補間された各フレームにおける風速度を用いることで与えられる。風の方向(プラスあるいはマイナス)および速度に応じて、セグメントは図17(e)に示すようにマイナス方向にワープされるか、17(f)に示すようにプラス方向にワープされる。任意の所定時点における運動経路上の線分の特定点の変位はその時点における風の速度によって支配され、この風の速度はプラスまたはマイナスでり、従って、変位の方向を規定する。予想されるワープ経路は風の方向に対して描かれなければならない。すなわち、風の方向が図17(a)に示すようにx軸の方向のみに沿ったものでなく、z軸にも沿ったものであれば、旗のセグメントがz軸方向にどのようにワープするかについて予想されるワープ経路を描かなければならない。z軸方向の風の速度も風のベクトルを基に決定される。
【0065】
通常のセグメントワープと比べた場合のこの方法の利点は、予め決定された実際のワープ経路ではなく、予想されるワープ経路に沿った変位を制御することが可能なことにある。さらに、ウインドワープを使用することによって同様に風の影響を受ける絵の中の多数の要素について同じ風ベクトルを適用することが可能になる。アニメ製作者は、絵の中の異なる対象物に時間をずらして風ワープが適用されるように指定して、あるシーンの中を一陣の風が吹き抜ける効果を表現することができる。
【0066】
慣性の効果は風の効果に類似の方法で表現されるが、この場合には、予想されるワープ経路に沿った変位を制御するために、風の速度を利用するよりも、動作の主要対象物の加速度を利用する。例えば、キャラクターが走り出すと、その加速度によってキャラクターのコートの後ろ側が持ち上がり、反対方向になびくようにする。コートに関する予想されるワープ経路が描かれ、コートを着ている人物の速度(加速度)の変化によって予想されるワープ経路に沿ったコートの適当なセグメントの位置が決定される。すなわち、キャラクターが立っている位置から移動し始める時、加速度は最大で、コートは人物の後方に最大の幅をもって翻る。キャラクターの速度が一定になるに従ってその加速度はゼロになり、コートは変位ゼロの位置に戻る。
【0067】
波の効果もセグメントワープの概念を利用して表現される。「波ワープ」はセグメントを介して移動する波の効果を表現するための手段である。波効果の場合、ワープハンドルとワープ経路は不要である。図18(a)に示す基準となる直線A−Bが描かれる。この基準線に対して点線w1−w2で表される所望の波の動きを描く。波W1−W2は1つの平面上にある必要はなく、例えば螺旋波などを定義するために三次元にすることができる。
【0068】
波に沿った各点間の線A−Bに対する変位は直線に対して垂直且つ波を横切るように描かれたベクトルを基に計算される。波に沿った各点Piについて対応する変位Diを計算する。次に、図18(b)に示すように、これら相対的変位が絵の線分Sに適用され、波の効果が絵の中の対象物に移される(図には最初の波頭を表すP1−P7のみを示す)。
【0069】
第1のフレームにおいて最初の波頭がセグメントSに与える影響の結果を図18(c)に示す。セグメント上の点D1−D7はそれぞれD1−D7だけ変位する。次に、図18(a)の波によって定義される一連の変位D1−D7はセグメントSに沿ってシフトされ(波の進む方向に応じて)、次のアニメーションのフレームではセグメントS上の異なる点に変位が適用される。図18の例では波は右に向かって移動する。図18(d)に示すように、変位D1−D7は2点分移動して今度はセグメントS上の点P3−P9に加えられる。すなわち、フレーム2におけるセグメントは図18(e)のように見える。シフトの幅は波の移動速度によって決定され、波の移動速度はアニメ製作者によって指定される。連続する各アニメーションフレームについてこの方法が繰り返され、対象物上を移動する波の動きが表現される。
【0070】
通常のセグメントワープの場合のように、ワーププロフィールグラフを用いてセグメント(単数または複数)上の各点における波の経路の影響を変化させる。例えば、セグメントの始まりの部分では波の効果は顕著でないがセグメントに沿って移動するに従って徐々に大きくなるようにワーププロフィールを描くことができる。例えば、水の中を移動するおたまじゃくしの尾は、その根元部分には側方に波打つ動きは見られないものの、先端に向かって動きが大きくなる。
【0071】
1つの実施例では、アニメ製作者は波の効果を制御するために4つのパラメータ、すなわち、i)波の移動速度(1フレームあたり何点シフトするか)、ii)波の移動方向、iii)波の開始点およびiv)波の終了点を指定する。次いで、アニメ製作者が描いた波の経路をこれらパラメータに基づいて補間し、所望の効果を発生させる。例えば、波の効果がセグメント上で開始および終了し且つアニメーションの長さ全体に亘って存在し、さらに波の移動速度が1フレームあたり1点であることをアニメ製作者が望む場合には、最初に描かれる波の経路の長さは補間によってセグメントの長さの二倍になるように調節し、アニメーションの始まりにおいて波の前半全体がセグメントに加わるようにする。アニメーション中にセグメントを波が通過することにより、アニメーション終了時には前半は完全にセグメントを通過し、後半全体がセグメント上にくる。同様に速度を2倍にする場合、波の経路を補間によって四倍の長さまで引き伸ばさなければならない。波の効果はセグメントから外れたところで開始または終了するように指定することが可能であり、その場合も同様に長さを調節する。
【0072】
生物的な生き生きした動きを表現するには、波ワープは非常に単純であるが強力な方法である。
アニメーションシーケンスでキャラクターまたは対象物全体の向きが大きく変化する場合(例えば軸上で45度以上変化する場合)には、単純なセグメントワープでは所望の効果を得ることができない。例えば、図12(b)に示す尾のセグメントワープでは、シーケンスの最中に魚が側方に向きを変えようとすると、図示したセグメントワープは尾を魚に対して側方でなく上下に動かすことになる。このような状況では「構築(constructed)セグメントワープ」を用いることができる。
【0073】
構築セグメントワープでは、ワープハンドルが表示され、キャラクターまたは対象物の各ソースポーズに対してソースワープ経路をポーズ内の対象物の向きに関連付けてソースワープ経路とソースワーププロフィールグラフとが描かれる。ワープ効果を適用する前に、ソースワープ経路とソースワーププロフィールグラフとから、構築ポーズと同じ方法で重み付き平均を利用して、構築ワープ経路と構築ワーププロフィールグラフとを導く。同様に、ソースワープ経路の速度プロフィールから構築ワープ経路に関する構築速度プロフィールを導き、上記で説明したように変更することができる(独立したワープ経路を構築ポーズに関係なしに同期された状態を保つために上記のように同期することが必要な場合もある)。このようにして構築ワープ経路の向きが対象物の向きに対して関連付けられる。続いて、単純なセグメントワープに関して上記で説明したようにして、構築ワープ経路でセグメントワープを作る。
【0074】
ワープを用いた複雑な描画の場合、多くのセグメントについて関連するワープが要求されると、描画は単調で長たらしいものになるが、「スパインワーピング(spine warping)」とよばれる技術を用いることによって、この概念をより複雑な形態に容易に拡大することができる。このスパインワーピングは、対象物の「スパイン(背骨)」にワープを適用することによって単一のワープで多数の線分を含む対象物を変形するために使用される。スパインという用語が使用されるのは、例えば動物の体を規定する線分群のほぼ中心に直線が描かれるからである。背骨にワープを適用し、それを個々の描画セグメントに伝える。スパインワープでは、変形に使用される個々のソースポーズに基準となる直線スプラインを引き、アニメ製作者がスパインワープの影響を受けるべきセグメントを選択する。選択された各セグメントについて、スパインに印加されたワープを選択されたセグメントに伝えるために、セグメント上の点から基準スパインまでの垂直方向の距離を計算する。上記方法で構築ポーズを作る。構築ポーズはソース線画中の追加の線として扱われるが、表示はされない直線の基準スパインを含む。次に、基準スパインとワープされたスパインとの間の変位とセグメント上の点から基準スパインまでの垂直距離とを用いて構築ポーズの適当なセグメントにスパインワープを適用する。
【0075】
例えば、図19(a)は直線のスパインSを含む魚の構築ポーズを示す。スパインはアニメ製作者によって描かれるが、最終的なアニメーションフレーム内で表示される線画の一部ではない。スパインに加えたワープを線画のセグメントに伝えるために線分上の点P1−Pnからスパインまでの距離が計算され、記憶される。スパインSをワープさせるために、ワーププロフィールグラフと単一のワープ経路Pとを兼用する。スパインは任意のワープによってワープできる。図19(b)はワープされたスパインS’を示す(紙の向こう側へ曲げられた状態)。スパインワープによって制御される各線分について、セグメント上の各点は基準スパインに対するワープされたスパインの変位の計算値を用いて変位される。このようにして、任意のワープ技術を用いて単純な方法で複雑な形状を容易に変形することができる。
【0076】
本発明の最後の特徴は、ソースポーズの適当な色を維持して一連のアニメーション線画を完全に自動的に着色できるようにする、構築ポーズを作ることにある。従来のコンピュータ着色法で画像を着色する場合には、二次元空間内に閉ループを描き、「シード」点を用いて塗りつぶす。この方法は二次元のコンピュータ描画および着色システムで周知である。シード点は閉ループをアニメ製作者が選んだ色で塗りつぶすための開始点の機能をし、この点から外側に向かって徐々に境界線が検出されるまで着色が進行し、境界線に囲まれた領域が塗りつぶされる。
しかし、立体画像および二次元画像の自動着色ではシードフィル法には欠点がある。小さいループにシードフィル法を用いる場合、例えば立体ループの内側すなわち立体画像の左眼および右眼用の二次元投影図にシードフィル法を適用して、二次元で投影されたそれぞれのループ内に含まれるような位置にシード点を配置するのが困難または不可能な場合がある。その結果、一方または両方の投影でループの内側でなく外側が塗りつぶされることになる。さらに、コンピュータを用いた線画のアニメーションシーケンスの製作で一連の線画を自動的に着色することが望まれる場合、作られた線画がデザイン上三次元空間でねじれた一本のループを含む場合があり、変形ループの二次元投影では見掛け上数個のループができる可能性がある。このような状況では、シード点が完全にループからはみ出すか、二次元ループの1つだけを塗りつぶすことになる。例えば、図20(a)に示したシード点SPを含む単一ループは平面に投射された時に八の字型にねじれて、平面上に2つのループを作る可能性がある(図20(b))。この場合、シード点SPは図20(a)に示すように八の字のうち片方のループの内側にあり、この場合にはその部分のみが塗りつぶされることになる。あるいは、図20(c)に示すようにシード点が完全にループの外側にはみ出す。この場合にはループの外側の部分が着色されることになる。
【0077】
本発明は「フィルマスキング」とよばれる方法を用いてこの問題を解決する。このフィルマスキングでは、立体画像の一部である着色ループを表示のために塗りつぶす前に、以下の方法で処理する。まず最初に、ループの立体画像を左眼および右眼用に二次元平面上に投影したものを確認する。これら投影図それぞれについて、オフスクリーンバッファで、図5(a)に示すようにループのxおよびy座標の最大値および最小値を決定して投影されたフープに比べて各辺が少なくとも1ピクセルずつ大きい四角形を作る。図21(a)は一方の眼用のループの投影図と四角形を示す。四角形全体をループを塗りつぶすのに使用する色で描く。図22(b)に示すように、アニメ製作者が描いたループの二次元投影図をループ用の適当な線の色を用いてバッファー内に移す。次に、上記シード点フラッドフィル法を用いて四角形を塗りつぶす。四角形の内側にシード点を発生させる。次に、ループの外側で且つ四角形の内側に相当する領域のみを塗りつぶし、ループの内側が塗りつぶされず、従って、図22(c)に示すように元のループ色のまま保持される。この塗りつぶし操作は表示された時にこの境界線に囲まれた領域を透明にするコードで構成される。従って、ループだけが適当な色で眼に見えることになる。この方法で処理した後(処理の所要時間はわずか数分の1秒である)、四角形をバッファからディスプレーに移す。コンピュータ描画システムでは「透明」または「写らない(no-copy)」色で塗りつぶされた領域はバッファからスクリーンへ転写されないようにする方法は知られている。スクリーン上に現れるのは適切な色のループとループの境界線だけである。立体ループの場合にはループの左眼用および右眼用投影図のそれぞれについて処理を繰り返す。
以上、三次元描画について説明したが、二次元描画のシーケンスの自動着色にも同様に適用できる。
【0078】
添付リストは、本発明の変形グラフ、空間経路、セグメントワープ、風ワープ、慣性ワープおよび波ワープを製作するためのBASICコードを含んでいる。このコードは使用可能なコードの1つの実施例であり、限定的なものではない。当業者は他のコードが使用できることは理解できよう。以上、特定の実施例を挙げて本発明を詳細に説明したが、本発明はこれら実施例に限定されるものではなく、本発明は請求項の範囲によってのみ限定されるものである。
【0079】
添付リスト
【図面の簡単な説明】
【0080】
【図1】図1(a)〜(d)はアニメーションシーケンスで使用する魚の4つのソースポーズを示す図。
【図2】図2(a)〜(d)は図1の魚の口の4つのソースポーズを示す図。
【図3】本発明の変形グラフを製作するために使用される三次元四面体ポーズ変形空間の図。
【図4】図3のポーズ変形空間に描かれた魚の口に関する本発明の変形グラフ。
【図5】三次元四面体ポーズ変形空間内に描かれた魚の眉に関する本発明の変形グラフ。
【図6】三次元四面体ポーズ変形空間の2つの頂点だけを使用した、アニメ化された魚の体およびヒレに関する本発明の変形グラフ。
【図7】三次元四面体ポーズ変形空間の2つの頂点だけを使用した、アニメ化された魚の目に関する本発明の変形グラフ。
【図8A】図8(a)〜(c)は図4、5、6および7の変形グラフを組み合わせて得られるアニメーションフレームを示す図。と
【図8B】図8(d)〜(f)は図4、5、6および7の変形グラフを組み合わせて得られるアニメーションフレームを示す図。
【図9】図9(a)〜(d)は図4、5、6および7の変形グラフに関する速度プロフィールを示す図。
【図10】図10(a)〜(d)はsync点を用いて調節した図4、5、6および7の変形グラフに関する速度プロフィールを示す図。
【図11】図11(a)〜(f)は構築ポーズにおいてマッチ点を使用する利点を示す図。
【図12】図12(a)〜(b)は本発明のセグメントワープ法を示す図。
【図13】図12(a)に示したセグメントワープで用いるワーププロフィールグラフを示す図。
【図14】図12〜13に定義のセグメントワープによって得られる動きを示す図。
【図15】従来法のインビトゥイーンシステムの問題の一例しての天使の羽を示す図。
【図16】図16(a)〜(c)は本発明のセグメントワープ法を利用して図15の問題点がどのように解決されるかを示す図。
【図17】図17(a)〜(f)は本発明のセグメントワープ法の変形例を用いて得られる風の効果を示す図。
【図18】図18(a)〜(e)は本発明のセグメントワープ法の別の変形例を用いて得られる波の効果を示す図。
【図19】図19(a)〜(b)は本発明のスパインワープを示す図。
【図20】図20(a)〜(c)はループに色を塗るための従来法のシード点アンドフラッドフィル法の問題点を示す図。
【図21】図21(a)〜(c)は従来法のシード点アンドフラッドフィル法の欠点を解決した本発明のフィルマスキング法を示す図。
【技術分野】
【0001】
本発明はコンピュータを用いた二次元および三次元アニメを製作するためのシステムおよび方法と、相対的に少ない元絵から一連のアニメ画像を製作するための簡単で直覚的なユーザーインターフェースとに関するものである。
【背景技術】
【0002】
アニメーション(以下、アニメ)は少しずつ変化する一連の静止画像を高速に表示することであたかも画像が動いているような幻覚を造り出すものである。初期のアニメでは正確な絵を手描きしていたので、短いアニメ断片でも膨大な数の絵が必要になり、製作作業は冗長で時間のかかるものであった。最近ではコンピュータグラフィクス技術の出現によってアニメーションプロセスにコンピュータが用いられているが、手描きの人物や物とコンピュータによって製作された人物や物との間には明らかな違いがあるため、アニメ製作者は絵を製作するのに過度にコンピュータに頼り過ぎるのを好まない。コンピュータで製作された人物や物は生き生きとしたものというよりむしろロボット的である。
【0003】
アニメーションの分野で受け入れられているシステムは、アニメ製作者が紙とペンではなく、マウス、描画タブレットまたはその他の入力デバイスを用いてコンピュータディスプレーデバイス上で絵を描くことが可能なコンピュータシステムである。このシステムではアニメ製作者が描いた2枚のフレームの間に入れる中間のアニメーフレームをコンピュータシステムを用いて作ってアニメーションシーケンスにする。アニメ製作者が描いたフレームは「キーフレームまたはポーズ」とよばれ、コンピュータが製作した中間のフレームは「インビトゥイン (in-between)」とよばれる。この中間フレームは画像を一つのキーポーズからもう一つのキーポーズまで変形するために用いられる。中間ポーズを作る方法はしばしば、「トゥイーニング (tweening)」または「インビトゥイーニング」とよばれる。中間ポーズの製作の基本はアニメ製作者が作ったキーフレームの間をコンピュータで補間する(interpolation)ことにある。アニメ製作者は動きの複雑さに応じて中間フレームの数を指定し、コンピュータは最終的なアニメシーケンスにおいて滑らかな変化が得られるように中間フレームを製作する。この方法の利点は各中間フレームを手書きで製作するという骨の折れる仕事が要らなくなることにある。三次元アニメーションでのコンピュータを用いたインビトゥイーニングはスターン(Stern)の米国特許第4,600,919号に記載されている。
【0004】
しかし、従来のコンピュータトゥイーニングはいくつかの点で不十分である。先ず、従来のトゥイーニングシステムでは単純な直線補間(linear interpolation)を利用してキーフレーム間の中間ポーズを製作するが、この方法の1つの問題点は対象物の動作がロボット的になることである。この問題はキーポーズの数を増やすことによって最小限に抑えることができるが、そのためにはより多くの手描きの絵が必要になり、コンピュータを用いたトゥイーニングの意味が無くなる。もう1つの問題点は直線補間では一定の回転角度で物体のセグメントを短くするため回転運動中の物体に歪みが生じる可能性があることである。3つ目の問題点は(i)連続するインターバルに含まれるインビトゥイーンの数は一定であるがキーポーズ間の間隔が一定でない場合または(ii)連続するキーポジション間の間隔は等しいがそのインターバルに含まれる中間ポーズの数が異なる場合に動きの速度が不連続性になることである。これらの問題点はコカネク達の下記文献「スムーズなキーフレームアニメーションのためのコンピュータシステム」に詳細に記載されている。
【非特許文献1】D.H.U. Kochanek, R. Bartels, and K.S. Booth, "A Computer System for Smooth Keyframe Animation", Rep. No.CS-85-42, University of Waterloo Computer Science Dept., 1982
【0005】
単純な直線補間法を改良する研究はコカネク達と同様に他の研究者によっても行われている。その1つの方法は「P―カーブ」とよばれる。この方法では物体が動くであろう移動経路をアニメ製作者がたどる。さらに、物体が動く時の変化を説明するために、アニメ製作者はP−カーブに沿った任意の所定フレームにどの絵を使用するかを指定する選択関数を特定することができる。例えば物体が弾むボールの場合、アニメ製作者はボールが弾む時に圧縮されたボールを示す絵を使うことができる。
【0006】
しかし、これらの従来方法は複雑な上に使い易い簡単なユーザインターフェースが提供されないために、アニメ製作者にとっては使いにくいものである。従って、高品質のアニメーションをアニメ製作者が簡単且つ直覚的に製作できるようにするコンピュータを用いたアニメーション製作システムおよび方法が必要である。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、コンピュータを用いてアニメーションを製作するための改良されたシステムおよび方法を提供することにある。
本発明のさらなる目的は、従来技術のシステムに比べてより生き生きとしたアニメーションの動きを表現するためのコンピュータを用いたアニメーション製作システムおよび方法を提供することにある。
本発明のさらなる目的は、アニメ製作者が物体を描いた複数のソースポーズを用いてアニメ製作者が簡単且つ直覚的にリアルタイムで一連の動きを表現することができるような改良されたコンピューターアニメーション製作システムおよび方法を提供することにある。
本発明のさらなる目的は、従来の方法で二次元アニメーションを手描きする時と同様、コンピュータを用いた三次元の手描きアニメーションについても、アニメ製作者による直接且つ芸術的な制御を可能にすることにある。
【課題を解決するための手段】
【0008】
本発明のシステムおよび方法は、ここで「ソースポーズ」とよばれるものを利用することにより、コンピュータを用いてアニメーションシーケンス内の連続するキーポーズ間を補間するという概念に改良を加えるものである。ソースポーズは、アニメ製作者によって描かれる物体の絵であり、本発明では、このソースポーズを用いて、コンピュータにより、アニメーション用ポーズを製作する。従来技術によるキーポーズの概念とは異なり、ソースポーズは(必ずしもというわけではないが)アニメーションの一部であっても良い。
【0009】
本発明は、二次元および三次元のコンピュータアニメーション両方に適用される。本発明のシステムおよび方法では、理論的にはアニメ製作者が任意の数のソースポーズを指定することができるが、実用上1〜7のソースポーズが使用されよう。これらソースポーズは、アニメ化された任意のポーズ中の物体の外観と必ずしも同一に対応する必要はない。ソースポーズは、アニメーションシーケンスにおいて用いられる複合ポーズ、ここで言うところの「構築ポーズ」を構築するために用いられる。構築ポーズそれぞれにおいて、物体の外観はソースポーズの重み付平均(weighted average)から構築される。三次元描画空間は、コンピュータ入力デバイス、例えば3軸位置センサ(自由度6)または描画「ワンド」(センサを用いて三次元空間におけるワンドの動きや向きを追跡する)などの入力デバイスを組み込んだコンピュータ駆動式立体視システムを用いて提供される。ワンドの位置は、三次元描画空間内に表示されるカーソルによって表される。
【0010】
立体視システム内に、三次元描画空間の所定の部分、ここでは「ポーズ変形空間」とよばれる部分が表示される。1つの具体例によれば、「ポーズ変形空間」は四面体である。この場合、四面体によって各頂点に1つずつ4つのソースポーズが表現される。四面体内の各点は、4つのソースポーズの独特な組み合わせによって規定される構築ポーズを表す。描画ワンドを動かして四面体内でのワンドカーソルの動きを制御し、アニメ化された対象物の変形を規定する。四面体の各頂点に対するワンドカーソルの位置は、その時点における構成型ポーズを制御する。構成型ポーズはソースポーズの重み付き平均によって構成される。構成型ポーズは、四面体に囲まれたポーズ変形空間内でワンドカーソルが動く時にリアルタイムで見ることができ、従ってアニメ製作者には、製作中または「スクリプト」中の動作が瞬間的にフィードバックされる。
【0011】
このように、アニメ化される対象物には任意の動作を行わせることができ、この動作は、4つのソースポーズの性格を考慮するならば、ポーズ変形空間内で移動するワンドの経路によって決定される三次元グラフ点の進行(ここでは「変形グラフ」とよばれる)によって指定することができる。さらに、ポーズ変形の速度は、ポーズ変形空間内におけるワンドカーソルの動きの速度によって制御することができる。あるいは、瞬間的な変形速度を特定するために、変形の相対的速度を変形グラフ上の位置の関数として示すグラフィック表示(ここでは「速度プロフィールグラフ」または変形用速度プロフィールと称する)を使用することにより、速度を独立して制御することができる。この速度プロフィールにより、アニメ製作者は、入力デバイスを用いて変形グラフに沿った変形速度を変更することが可能になる。
【0012】
各種キャラクターおよび対象物、並びにそれらの一部分の動作を、異なる変形グラフを用いて規定して、最終的に得られるアニメーションシーケンスにおいてキャラクターの動作を独立に制御することが可能になる。アニメ製作者が4つ未満のソースポーズを使用する場合、二次元の変形空間(例えば3つのソースポーズ用の三角形)を使用することができる。
【0013】
本発明の第2の特徴は、構築ポーズをさらに変化させて、コンピュータアニメーション画像がなんらかの動作または変形(線画の1つまたは複数の線分の歪みまたは「ワープ」によって指定することができる)を行う時に、その画像の形状および動作について、よい高度な制御を可能にすることにある。線画の中の1つの点を基準点(ここでは「ワープハンドル」と称する)として選択する。基準点は通常、ソースポーズの線分上にあるが、必ずしもそのように配置されなくてもよい。続いて、この基準点に対する動作経路(ここでは「ワープ経路」とよばれる)を描画空間内に描く。ワープ経路は基準ワープハンドルに対する経時的な動作経路を規定し、時間の関数として1組の相対的x、yおよびz変位を発生させる。次に、ワープ経路によって変更されるべき線分(単数または複数)を、任意の方法、例えば描画ワンドを用いたポインティングまたはクリックによって指定する。さらに、線分(単数または複数)上のその後の点がワープ経路によって変位される時の変位の度合いを規定するグラフが描かれる。このグラフをここでは「ワーププロフィールグラフ」と称する。続いて、ワーププロフィールグラフによる調整に従って、指定されたセグメントに1組の相対的変位が適用される。この一般的な方法は、ここでは「セグメントワープ」とよばれ、対象物に対する風や慣性力の効果などの各種効果を表現したり、特定のセグメントに沿って波のような動きを表現するために変更されることができる。
【0014】
本発明の第3の特徴は、ここでは「スパインワーピング」とよばれ、関連するセグメントワープを同時に多数発生させる。これは各ソースポーズについて、ワープすべき線分群のほぼ中心を通過する一本の直線「スパイン」を規定することによって行われる。上記ワープのうちいずれかをスパインに適用し、得られたスパインのワープをグループ内の影響される各線分上の各点に適切に伝える。このことにより、アニメ製作者は、1組の線分に対して同時に複雑な変形を非常に簡単に指定するための道具を持つことになる。
【0015】
本発明のさらなる特徴は、二次元または三次元の描画空間に描かれた閉じたループ(立体視システム内で対象物の表面を表すことができる)を、該ループ(立体視システムにおけるループの左眼用および右眼用二次元投影)を「フラッドフィリング」することによって自動的に着色することに関する。フラッドフィリングは、コンピュータグラフィクス技術においては周知の方法である。本発明のシステムおよび方法は、閉じたループを着色するために異なる方法(ここでは「フィルマスキング」と称する)を使用する。本発明によれば、アニメ製作者は1つのソースポーズ内でループを塗りつぶすのに使用する色を規定するだけでよく、動作中に起こるループの歪みに関係なく、各構築ポーズ内でその色が維持される。そのような構成的ループそれぞれについて、二次元の幾何学的形状(典型的には四角形)を自動的に発生させ、この四角形をループの最大および最少(x、y)座標に基づいてループよりもわずかに大きくすることにより、ループを囲むようにする。四角形全体がアニメ製作者によって選択されるループ色を用いて製作される。続いてループのアウトラインを選択されたライン色(単数または複数)で四角形の内部に移動させる。次に、従来型のフラッドフィル技術を用いて四角形とループの外側を構成するラインとで囲まれた領域の「塗りつぶし」を行う。この塗りつぶされた領域は透明になるように規定され、得られた四角形を表示した時には、適当な色で塗りつぶされたループだけが見えることになる。この方法は、完全なキャラクターまたは対象物のアニメーションを構成する個々の塗りつぶされたループについて自動的に繰り返される。
【発明を実施するための最良の形態】
【0016】
本発明はコンピュータ用いて立体(三次元)画像を描く/見るコンピュータアニメーションに関するものである。
三次元空間内で描画するシステムはコンピュータグラフィクス技術において周知である。そのようなシステムの1つの例はシュマンドによって報告されている
(下記文献参照)。
【非特許文献2】Schmandt, C., "Interactive Three-dimensional Computer Space", SPIE Vol.367, pp.155-59,1982
【0017】
この文献に記載のシステムは一般的なCRTディスプレーモニターを利用し、ユーザーはモニターに対して45度の角度に配置されたハーフミラーを介しモニターを見る。ユーザにはこのミラーの下側に三次元の描画空間が与えられ、この三次元空間に画像を描くためののワンド(wand)が与えられる。このシステムで用いられるワンドは磁気による位置センサ技術を用いてx、yおよびz座標上の位置と方向に関する情報を与える。ユーザが電気的に動作するシャッタの役目をするランタンジルコン酸チタン酸鉛(PLZT)セラミックウエハを用いた特別な眼鏡を介してCRTを見ることによって、三次元(立体)効果が得られる。左眼と右眼の視界を交互に走査線上に表示することによって各視界を効果的に時分割多重化する。眼鏡の動作はビデオ信号と同期化されており、一方の目でCRT上の画像を一度に見た時に三次元効果が与えられるようになっている。この技術は一般にフィールドシーケンシャル三次元画像化とよばれる。
【0018】
三次元視界を与えるための他の手段は立体写真(二色)による左眼/右眼画像分離法を用いるものである。この方法の限界は描かれた画像がモノクロームであることにある。これに対してフィールドシーケンシャル法ではカラー画像が可能である。左眼と右眼に別の画像を与える第3の方法は左眼の画像が1方向に偏光され、右眼の画像が別の方向に偏光される偏光フィルタを用いる方法である。一般には偏光された画像をスクリーン上に投影し、適等に偏光された眼鏡を介してその画像を見る。
【0019】
本発明は二次元および三次元のコンピュータアニメーションシステムに適用されるが、以下では三次元アニメーションを取り上げて本発明を説明する。当業者には標準的な二次元アニメーションについても同じ概念が適用されることは容易に理解できよう。
【0020】
本発明でもアニメ製作者が三次元空間に直接絵を描くことを可能にするために上記いずれかの技術を用いた三次元立体視システムが必要である。好ましい実施例三次元描画/立体視システムでは、コンピュータワークステーション、モニターおよび同期液晶シャッタ眼鏡を用いたフィールドシーケンシャル左右画像分離装置が用いられる。
【0021】
アニメ製作者は描画「ワンド」とよばれる電気/機械的デバイスを用いて三次元の描画を行う。ワンドは三次元位置トラッカーで、アセンジョンテクノロジー社(Acension Technologies, Inc)を含むいくつかのメーカーから入手可能である。本発明の1つの実施例ではアセンジョン社製の「フロックオブバーズ」(Flock of Birds)とよばれる描画ワンドを使用する。このデバイスは電磁波を利用して三次元空間におけるワンドの位置と向きを与える。液晶シャッター眼鏡はステレオグラフィクス社(Stereographics Corp.)から入手可能である。ナナオ社(Nanao)製の高解像度17インチモニターは画像解像度、安定性、使い易さの点で最も適している。ユーザーが空間内でワンドを動かすとワンドの制御下に描画空間内でカーソルが動き、ワンドのボタンを押すとカーソルの経路に沿って三次元空間内に連続的な線が描かれる。線は狭い間隔で配置された点列から構成されており、これらの点は非常に短いラインベクトルによって連結されて一本の連続した滑らかな線として見えるものになる。このシステムがビットマップではなくベクトルベースの描画を作り、アニメ製作者によって画かれた線分がコンピュータによって数学的に定義および処理可能であることが重要である。
【0022】
本発明は特に、わずか数枚の描画を変化させてアニメーションシーケンスを作るための新規な方法に関するものである。本発明にはアニメ製作者にとって使用が簡単であり、現在のコンピュータアニメーションシステムでは不可能なアニメ対象物の形状および動きの制御を可能にする複数が含まれている。
【0023】
一般に、アニメーションは時間と共に画像を変化させて動いているように見せるものである。本発明はアニメ製作者が簡単且つ直覚的に使用可能な方法で画像を変化させる方法を提供する。アニメ製作者は画像変形を高度に制御して本物に近い生き生きとした動きをさせることができる。
【0024】
本発明の第1の観点はトランスフォーメーショングラフ、transformation graph、以下、変形グラフという)とよばれる概念に関するものである。この概念ではアニメ製作者がソースポーズに基づいて簡単且つ直覚的な方法でアニメ化対象物の各種ポーズをコンピュータによって構築することができる。三次元変形グラフは以下のように使用することができる(二次元グラフも使用できる)。アニメ製作者には多面体(例えば四面体)の三次元立体視システムを介して画像が与えられる。この四面体は左眼/右眼用の二次元画像を製作/表示して三次元効果を作り出す周知の方法を用いて三次元描画空間内に表示される。表示された四面体はアニメ製作者にとっては単なるガイドであって、アニメーションに用いられる絵の一部を構成するものではない。四面体の4つの各頂点はアニメ製作者が手描きしたソースポーズを表すように定義される。各ソースポーズはアニメ化対象物またはその一部をベクトル表示で描いたものである。あるいは、従来のコンピュータアニメーションシステムを用いてソースポーズを製作して本発明で用いてもよい。
【0025】
例えば、ある人物について足の位置の異なる4種類のポーズを描く。続いて4つのポーズを四面体の各頂点に表わす。これら4つのポーズだけでは本物に近い動きを表すには十分でない。これら4つのポーズを基に本物に近い動きを作り出すのに必要な数のポーズが構築される。これらの構築ポーズ(constructed poses)は4つのソースポーズの合成物に基づくものである。構築ポーズは、アニメ製作者がポーズ変形空間とよばれる四面体内部の三次元空間内でワンドを動かすことによって定義される。四面体内でワンドが移動したときに、ワンドの動きは経時的に追跡され、ポーズ変形空間内で追跡されたワンド位置の三次元グラフが作られる。グラフ上の各点は4つのソースポーズから構成される1つのポーズを表す。点の数は描画ワンドのサンプリングレートに依存する。このようにして構築ポーズが製作できるので、アニメ製作者が簡単に用える方法で画像を連続的に変形させることができる。アニメ製作者が変形空間内で単にワンドカーソルを動かすだけでキャラクターまたは対象物の動作を「スクリプト(記述)」することができる。
【0026】
こうして作られたグラフはソースポーズを基に構築された連続的に変化する一連のポーズを表しているので変形グラフとよばれる。変形空間内でワンドカーソルを種々の経路に沿って動かすことによって人物のさまざまな動作を表現することができる。例えば足の位置の異なる4つ1組のソースポーズを用いて人物に「足踏み」「前進」「後退」「大股歩き」「小股歩き」などをさせることができ、これらの動作はワンドを操作するだけで任意の順序で連続的に製作できる。変形グラフは以下のようにして作られる。四面体描画空間を例に取ると、変形グラフの各点には、四面体の4つの頂点に対する空間内の点の位置によって各点に対応する構築ポーズが定義される。点が頂点に近ければ近いほど頂点に割当てられたソースポーズが構築される形態の外観により強い影響を与えることになる。1つの具体例では、単純な直線加重法で各頂点またはソースポーズの重みをグラフ点から頂点までの距離に反比例させる。例えば、グラフ点が三次元空間内で第1の頂点(v1)からxだけ離れた所にあり、第2の頂点(v2)から2x、第3の頂点(v3)から3x、さらに第4の頂点(v4)からは4xだけ離れたところにある場合、4つの頂点に対応するソースポーズは距離に応じてそれぞれ加重される。換言するならば、構築ポーズの線分を定義する各点は4つのソースポーズの各点の位置の重み付け平均値に応じて配置される。本発明の変形グラフを使用する場合には、ソースポーズは実際に製作したモーションシーケンスの一部である必要はなく、モーションシーケンスはソースポーズの複合物のみを用いてできるという点に注意されたい。換言すれば、変形グラフは必ずしも頂点に接触している必要はない。さらに、従来の変形技術のキーポーズとは異なり、ポーズに対して予め定義した時間シーケンスが存在しない点にも注意されたい。変形グラフはアニメ製作者が望む任意の順序でポーズ変形空間内の任意の経路を通って動くことができる。
【0027】
好ましい実施例では、各辺が直線でなく、反対側の頂点を中心として四面体の一片の長さに等しい半径の円の弧となるように変形した四面体を用いることができる。これは次のような理由による。すなわち、各頂点は定義によってソースポーズを表すので、他3つの頂点の重みはその頂点でゼロになるように定義されている。換言すれば、一つのソースポーズの貢献度はそのソースポーズに割当てられた頂点から変形グラフ上の点までの距離が四面体の一辺の長さに等しい時にゼロになる。四面体の一つの辺上を移動する時には、得られる構築ポーズは主としてその辺の両端にある2つの頂点によって構成されることになるが、残りの2つの頂点の影響はゼロでない。これはその辺上を移動する時にこれら頂点までの距離が減少するためである。従って、この辺の両端に位置する2つの頂点によって表される2つのソースポーズのみを基に構築される動きのシーケンスをスクリプトすることは不可能となる。多くの場合、製作したアニメーションにおいて他の2つの頂点の貢献度は顕著なものではないが、可能性が指摘されるこの問題は、円弧の両端に位置する2つの頂点間の経路上を移動する時に貢献度が変化しない円弧を用いて2つの頂点からの距離を一定に保つことによって解決できる。変形空間はアニメ製作者がアクションシーケンスをスクリプトするための案内に過ぎないので、その形状は正確である必要がないということは当業者には理解できよう。例えば、アニメ製作者がワンドを正確に縁部に沿わせるのではなく、四面体のわずか内側または外側で動かす場合、それが頂点に位置する2つのソースポーズのみで構成される動きとして認識されるようにシステムをプログラムすることは容易である。
【0028】
以下、図面を参照して本発明の変形グラフをさらに説明する。図1(a)〜(d)は、アニメ化された魚の表情の4つの形である。図を簡単にするために、魚はz成分のない状態で描かれており、従って、二次元に見えるが、三次元立体描画で描かれているものとする。図1から明らかなように、魚の口には図2に示すような4通りの異なるソースポーズ(不機嫌な口(図2a)、笑っている口(図2b)、小さい口(図2c)および大きい口(図2d)が存在する。
【0029】
図2(a)〜(d)にはそれぞれAからDまでの4つの点が示されている。口を表す4つのソースポーズはそれぞれ図3に示した4つの平面すなわちabc、bcd、acdおよびabdより成る四面体のいずれかの頂点(a、b、c、d)に割り当てることができる。例えば、線cdの中間にある点mでは、この点によって定義される構築ポーズ(中くらいの大きさの口)は主として頂点cのソースポーズ(小さい口)と頂点dのソースポーズ(大きい口)とを基に構成される。図2(c)および2(d)の各点A、B、CおよびD(および線分に沿った全ての点)は頂点cおよびdにおけるそれらの位置のほぼ中間の位置(xy軸)に位置づけられる。
【0030】
図4はアニメ製作者が口の形の変化を制御するように(ワンドを用いて)描いた変形グラフを示してる。変形グラフは頂点abcによって規定される平面上にほぼ位置する点S(ほぼ不機嫌な口)から出発して、頂点cに向かって点1へと進み、その後、頂点bに向かって点2へ、続いて線bdに沿って上向きに点3へ、その後、平面abd上を下向きに点4へ、最後に線abに沿って終点Eへと進む。二次元描画で表すために変形グラフを主として四面体の表面に沿って示したが、変形グラフを四面体によって囲まれる体積の任意の部分を通過して描くことができる。アニメ製作者が経路を描くと、コンピュータが空間内でサンプリングされたワンドの位置に基づいて各頂点からのカーソルの位置を算出し、その結果得られる構築ポーズを描く。構築ポーズを構成する点のサブセット(各n番目の点)が選択され、表示されて、一連の構築ポーズがリアルタイムで見られ、アニメ製作者は自分がスクリプトしている動きを見ることができる。これは基本的にアルタイムで行われ、アニメ製作者がワンドを動かしてカーソルの動きを制御した時に自分がスクリプトしている動きを見ることができるようになっている。
【0031】
図5は魚の絵の他の要素(まゆ毛)に関する三次元変形グラフを示し、図6は魚の本体とヒレを一緒に取り上げたもの、図7は眼に関するものである。図6ではiおよびjの2つのソースポーズのみが使用される。プログラムを簡単にするために、それ以外の2つの頂点k、lにも頂点iに割り当てられたポーズが割当てられる。使用するソースポーズが2つだけであるので、変形グラフは実際には一次元の線に沿って描くことができる。図7についても同様のことが言え、図7は四面体mnopを示しているが、線m−nに沿った眼に関する変形グラフを示している。
【0032】
3つのソースポーズのみを使用するシーケンスを製作する場合には、平面上の三角形をポーズ変形空間として使用することができる。同様に、2つのポーズのみを使用するシーケンスは両端にそれぞれ1つずつポーズが割当てられた線によって構成されるポーズ変形空間上でスクリプトすることができる。一方、より多くのソースポーズを用いてより複雑な動きをスクリプトする場合には、向きを感知する描画ワンドの能力を利用してポーズ変形空間を容易に拡張することができる。ピッチ(縦揺れ)、ロール(回転)およびヨー(横揺れ)の3つの成分はそれぞれ別のソースポーズを表し、別の3つのソースポーズを与える。これによって6次元のポーズ変形空間が可能になり、この空間では7つのソースポーズの任意の組み合わせが定義される。そのたに、例えば足ペダル等の入力手段によって追加のソースポーズを与えることができる。この場合、ポーズ変形空間内のカーソルは4つのポーズのみを反映し、他の入力の影響の度合いは得られた構築ポーズの中にのみ見ることができる。
【0033】
変形グラフはさらに、アニメ化対象物のポーズの変化を制御することに加えて、変形速度を制御するために使用される。変形速度は製作されるアニメシーケンスにおけるアニメ化された対象物の見掛け上の動作速度に関係する。描画システムは固定レートでワンドの位置をサンプリングするので、ワンドの位置は時間の関数で分かる。従って、ワンドの移動速度が分かり、ワンドの移動速度を用いてスクリプトされた変形のレートすなわち速度を制御することができる。
【0034】
変形グラフを描く時にグラフの点は記憶される。これらグラフの点は一定の時間間隔を有する。従って、ポーズ変形空間内のグラフ点の間隔はアニメ製作者が描画ワンドを動かす時の速度に依存し、その間隔によってアニメ化された動作の変化速度が制御される。アニメ製作者がリアルタイムでグラフを描く場合には、各点をアニメーションの1つのフレームに対応させることができる。あるいは、アニメ製作者がまず最初にシーケンスに必要なフレームの数を定義し、後で「スローモーション」でグラフを描くこともできる。この場合には、アニメーションシーケンスに含まれるフレームの数は作った点の数よりも少なくなる。同様に、フレームの数がグラフ点の数よりも多くなるように変形グラフを実時間よりも高速で描くこともできる。後者の2通りのケースでは、変形グラフは補間され、アニメ製作者によって選択された数のフレームが作られる。記憶されたフレームは観覧者が見るであろう速度(一般には1秒間に24または30フレーム)で再生されて、動きの速度が適当であるか否かをアニメ製作者が判断できるようになっている。検討のためにフレームをより低速または高速で再生することもできる。
【0035】
動作速度の調整を容易にするために、アニメ製作者にはポーズのシーケンスを通してポーズの変形速度を図式的に表示する手段が与えられており、この手段をここでは変形グラフ用「速度プロフィール」という。この速度プロフィールは変形グラフに沿ったポーズの変化の相対速度を示す。例えば周知のクリックおよびドラッグ動作を用いて速度プロフィールを変更するか、速度プロフィール全体を描き直すことによって、アニメ製作者はシーケンスを変更せずに変形グラフに沿った速度を調節することができる。速度プロフィールを変更した場合、正しい数のフレームにアニメシーケンスができるように、変形グラフに沿った変形点の間隔を補間によって調節する。例えば、変形グラフの一部分で動作の相対速度が上昇するならば、変形グラフの残りの部分では適当に速度を下げることになろう。
【0036】
図8(a)〜(f)は図4、5、6および7の変形グラフを組み合わせて得られるアニメのフレームを示す。図8(a)(変形グラフ上の点S)では魚が餌に近づいて行き、図8(b)で餌に気付く(点1)。その後、魚が餌を飲み込むまでシーケンスが継続する。図8(c)〜8(f)は図4、5、6および7の点2、3、4およびEに対応する。これらの点はアニメの各フレームすなわち変形シーケンスの異なる時間点に関連する。例えば図8(a)〜(f)に示すように、時間0、1、2、3、4、Eはそれぞれフレーム1、40、90、150、180、240に対応する。
【0037】
図9(a)〜(d)は図4〜7に示した口、眉、体および眼に関する変形グラフの速度プロフィールを示し、それぞれ変形グラフを記録した後のものである。x軸は時間またはフレームの数を示し、y軸は構築ポーズの変形の瞬間的な速度を表す。変形速度ゼロは画像が静止していることを意味し、ゼロでない平坦な速度は画像が一定速度で変化していることを意味し、上昇スロープは速度の上昇を意味し、下降スロープは速度の低下を意味する。図9(a)〜(d)の各速度プロフィールについて6つの点i〜viが示されている。各点はアニメーションシーケンス内の1つのフレームに対応する。グラフの隣に示した凡例はこれら各点での各フレームに対応するポーズを示している。図9(a)〜(d)の速度プロフィールは、アニメ製作者が描いた変形の速度を示すために、アニメ製作者が各変形グラフを製作した後に表示することができる。点i〜viは4つの速度プロフィールで同じフレームに対応するものではないということは図から理解できよう。アニメ製作者は、グラフの一部を「ナッジング」(ワンドカーソルを用いてグラフの一部を押して形状を変化させる)するか、変形速度を所望の値に調節するためにグラフ全体を描き直すことによって手動でプロフィールを変更することができる。
【0038】
描画の変形を全て同じ変形グラフで制御すると、効果は生き生きとしたものでなく、機械的なものになろう。従って、描画をグループ分けし、各グループについて独立した独特の変形グラフを描くことによって複雑な生き生きとした動作を表現することができる。しかし、異なる変形グラフによって制御された異なる要素群を基に複合描画を作る場合には、それらを組み合わせてアニメーションフレームとする前に各群の動作を一致させることが必要になる。例えば、図9(a)〜(d)が最初に描いた口、眉、体および目の速度プロフィールを示す場合、これらの速度プロフィールは口、眉、体および目の構築ポーズを与えるが、これらポーズは図8(a)〜(d)に示す体の各部分の所望の関係に比べた場合、時間的に同期されていないということは図9(a)〜(d)から理解できよう。差を明確にするために差を誇張して示してある。例えば、魚の口が大きく開いた点では、目と眉は魚の頭の上の方に向かって押しつぶされた状態で描かれなければならない。初めに描かれた状態では(変形グラフの変更前の速度プロフィールに示すように)口は図9(a)の点ivすなわちフレーム80で大きく開かれ、一方目と眉はそれぞれフレーム60および140で押しつぶされている。
【0039】
本発明では下記の不方法で異なる要素群の動作を容易に同期させることができる。アニメ製作者は例えば目に関する変形グラフを描く時に、それと同時に変形グラフを用いてスクリプトされ、記録された口の動作を再生して見ることができ、それによってアニメ製作者は手動で要素の動作を同期化することができる。アニメ製作者が同期化に満足するまで、同じシーンを繰り返すことができる。再生はリアルタイムで行うか、必要に応じて同期化を容易にするためにスローモーションで行うことができる。
【0040】
あるいは同期化点または「シンク sync」点の概念を用いて行うことができる。シンク点はシーケンス内の特定の時間点(すなわち一連のフレームに含まれる特定のアニメフレーム)において、ある要素群が選択された形状、例えば開いた魚の口の形状を取ることを特定するために用いられる。好ましい実施例では、まず最初に、フレーム識別装置がシンク点が発生するであろう所定のフレーム(時間点)に割当てられる。続いて、ポインティングデバイス(例えば描画ワンド)を用いて変形グラフ全体を表す直線スクロールバーに沿ってスクロールすることによって選択したフレームに割当てるべき構築ポーズを選択する。アニメ製作者がスクロールバーに沿ってカーソルを動かすと、変形グラム上のその点に対応する構築ポーズが表示される。さらに、実際の変形経路上のカーソルの位置も表示される。所望の構築ポーズが表示された時点で、ワンドボタンをクリックして、そのポーズが選択されたフレームと同期化されるべきポーズであること示す。
【0041】
第1の要素群と調和させるべき第2の要素群から、同じ方法でアニメ製作者が対応するポーズ(つまり押しつぶされた目)を選択する。このポーズは口に関する変形グラフのフレームと同一のフレーム識別装置によって割当られ、同様に選択されたフレームと同期化される。このようにして、選択された口のポーズと対応する目のポーズが同じフレームに表示され、従って、同じ時間点で表示される。変形経路に沿ったポーズのシーケンスは影響を受けないが、選択したポーズが特定の時間に表示されるようにするために、変形速度を調節しなければならない。これは各シンク点間のフレームの数を必要に応じて増減することによって行われる。これはできる限り初めの速度プロフィールが維持されるよう、補間によって行われる。しかし、1つ以上のシンク点の近傍で動きの連続性を損なわずに速度プロフィールの形状を保持することが速度プロフィールによっては困難な場合がある。この場合には、得られたアニメーションシーケンスを再生して観覧者が認識してしまうような非連続性が存在するか否かを判断することができる。一般に、変形速度の急激な変化は観覧者に認識されない。認識されてしまう場合には速度プロフィールの形を調節するか、アニメ製作者が速度プロフィールを再び描き直して非連続性を除去する。変形グラフに沿って複数のシンク点が使用されることもある。このような点それぞれについて同じ手順を行う。
【0042】
図10(a)〜(d)はシンク点の概念を具体的に示すものである。シンク点はSP1〜SP4で表される。これら点は例えば図8(a)〜(f)に示すフレーム40、90、150および180に対応させることができる。図10(a)は魚の口の変形グラフに関する速度プロフィールであり、図10(b)〜(d)はそれぞれ眉、体および目である。図9(a)〜(d)に示すように、図10(a)〜(d)の速度プロフィールは図4〜7の変形グラフに対応するが、この場合はシンク点を用いて再生されている。アニメーションシーケンスでは、大きい(いっぱいに開かれた)口は魚の目が頭の上の方に押しつぶされている時に起こって、小さい口は目が一杯に開かれている時に起こらなければならない。従って、変形グラフに沿った点SP1は口が小さい時の時間点に割当てられて、点SP3は口が大きい時に割当られる。その後、図9(a)の点ii(小さい口)が20フレーム分だけ後にずれ、点iv(大きい口)が70フレーム分だけ後にずれて、それぞれフレーム40および150で表示されるように、変形グラフに沿った速度を(補間によって)調節する。同様に、点SP2(フレーム90)は最初の笑顔が発生する時間点に割当てられ、SP4(フレーム180)は2回目の笑顔が発生する時間点に割り当てられる(それぞれ図9(a)のiiiおよびv)。他の全ての要素も同様に調節して図10(a)〜(d)に示すように正しく同期化し、図8(a)〜(f)に示すような望ましい関係を各要素間に得る。シンク点は構築ポーズの変形シーケンスで動作とサウンドトラックとを正しく同期させるためにも使用される。
【0043】
ソースポーズのセグメントは、望ましくない構築ポーズが発生するのを防ぐためにマッチ点(match point)を用いて互いに配置されることができる。マッチ点の使用は当業者には周知であるが、図11で簡単に説明する。マッチ点は、点の位置を計算するために上記の重み付き平均が各ポーズ内の対応するセグメントに沿って発生するようにラインをセグメントに分割するものである。図11(a)〜(c)は、鼻がどんどん高くなって行くキャラクターの頭部を示す。当然、鼻が高くなっても頭部が同じ形状を維持することが意図されている。しかし、図11(a)および(c)に示したソースポーズを使用すると、図11(b)のポーズとなり、画像が歪んでしまう。この歪みを避けるために、図11(d)〜(f)に示すようにマッチ点AおよびBを割り当て、構築ポーズ11(e)内でも頭部の形状が維持されるようにする。マッチ点はソースポーズ内の2つの関連するセグメントに沿って重み付き平均が起こるようにする。従って、図11(d)および11(f)の2つのソースポーズでは頭部が同じ形状を有するために、構築ポーズにおいても頭部は同じ形状を有する。図11(d)〜(f)に示されたマッチ点Cによって鼻が伸び縮みするときにその形を維持する。このマッチ点がない場合には、変形中のいずれかの点で鼻は図11(e)に示すようなやや先とがりの外観を示すことになる。
【0044】
[表1]は四面体の4つのソースポーズから構築ポーズを計算するための疑似コードの1つの実施例である。
[表2]はソースポーズおよび変形グラフからアニメ化されたシーケンスを製作するための疑似コードの1つの実施例である。
【0045】
【表1】
【0046】
【表2】
【0047】
本発明のシステムおよび方法では、1つの要素群にアタッチ点を指定してこの点に別の群が連結されるようにすることによって別々に変形された異なる線分群を互いに連結させることができる。この特徴は、異なる要素群が互いに異なる動作を行うが、一方の群がもう一方の群に連結されている場合、例えば人間の頭部と胴体の場合などに有効である。この特徴は第1の要素群をマスターに指定して第2の要素群をスレーブに指定することによって行われる。この場合には体がマスターで、が頭部がスレーブになる。このようにアニメ化された要素群の位置を関連させる技術はコンピュータアニメーションの当業者には周知である。
アニメーションシーケンスによって非常に複雑(適当な数のポーズを基に構築可能なものよりも複雑)な1組の動作をスクリプトしなければならない場合、四面体の共通の頂点を通って2つ以上のポーズ変形空間を貫通する変形グラフで連続する動作シーケンスを発生させることができる。例えば、第1の四面体の内部で一つの動作をスクリプトし、次に、第1の四面体と第2の四面体とに共通の頂点(第1の四面体と第2の四面体はこの頂点に共通のソースポーズを有する)を通ってスクリプトされる。アニメ製作者はさらに、共通の頂点以外の頂点に対応する3つの異なるソースポーズを有する第2の四面体内で引き続き変形グラフを描く。同様に、第2の四面体は第3の四面体に連結されてもよく、第4、第5も同様である。このようにポーズ変形空間を連結することによってて連続する1回の「スクリプト」によって複雑な一連の動作を定義することが可能になる。ポーズ変形空間を共通の頂点で連結することに加えて、動作シーケンスの末端の構築ポーズ(ソースポーズである必要はない)を第2の動作シーケンスの変形空間におけるソースポーズの1つとして使用することができる。第2の動作シーケンス用の変形グラフはそのソースポーズに対応する頂点で開始され、従って、2つのシーケンスを連結した時に動作が継ぎ目のない連続的なものとなる。
【0048】
変形グラフは記憶でき、特定のソースポーズのみに対応するものではない。すなわち、例えば歩く動作を表す同じ変形グラムを用いてそれとは異なるキャラクターを表す別のソースポーズの組のアニメーションシーケンスを制御することができる。同様に、ソースポーズを記憶させて別の変形グラフで用いることもできる。
【0049】
変形グラフによって作られたアニメーションシーケンスを四面体の変形空間で表わして1つの出力アニメーションシーケンスを作ることもできる。例えば、4組のポーズを作することによって歩く動作の4つの異なる斜視図(例えば四方から見た図)を作することができる。斜視図のいずれかについてその斜視図に関する4つのソースポーズを用いて変形グラフを描き、その後はそれ以外の3つの斜視図に対応する他3つのポーズ変形空間のそれぞれについて同じ変形グラフを使用することによって4組のポーズを作ることができる。これによって4組のポーズの同期化が自動的に行われる。
【0050】
次に、構築ポーズの各組を四面体の1つの頂点に対応させる。この場合、四面体はポーズ変形空間というよりむしろ斜視図変形空間と考えることができる。各頂点が1つの固定されたソースポーズを表すのではなく、各頂点のソースポーズは時間の関数で変化し、すなわち任意の時点における頂点の構築ポーズによって決定される。次に、この四面体内部に変形グラフが描かれ、各構築ポーズが変形中の各時点においてその時点で構築される最終的な1つのポーズに対してどの程度貢献するかを指定する。変形グラフ上の各点において最終的に構築されるポーズは4つのソースポーズの複合で決定される(各ソースポーズが実際に同じポーズの異なる斜視図を表す場合を除いて)。従って、ワンドの動きは構築ポーズの組によって既に定義された対象物そのものの変形でなく、動作の斜視図を変化させるに過ぎない。このように、観覧者から見られる方向を連続的に変化させた状態で連続的な歩行動作を表す変形グラフを作り、例えば、対象物の周りをカメラでパン撮りすることをシミュレートすることができる。
【0051】
動作をスクリプトするための上記変形グラフ技術は、現在のコンピュータアニメーションシステムより大きく改良したものである。アニメ製作者は、動作を直覚的な方法で人形師が人形の動作を制御するのと同様な「パフォーマンス」として製作でき且つ動作をリアルタイムで見ることできるユーザーインターフェースを用いて、長くて複雑な動作を単に三次元描画空間内でワンドを操作することによって製作することができる。この方法の利点は三次元コンピュータアニメーションにおいて最も顕著である(現在の技術を用いた場合、三次元コンピュータアニメーションではシーケンス全体の製作は言うに及ばず、たった1つのポーズの製作も非常に複雑で、時間がかかる)。二次元のアニメーションではこの方法を用いて二次元アニメーションの長いシーケンスを少ない労力で製作することができる。
【0052】
典型的なコンピューターアニメーションシステムでは、空間内の位置および対象物の変形の両方が一つのポーズの中に同時に表される。本発明のシステムおよび方法は対象物の変形を空間内でのその経路から分離できるというフレキシビリティがある。この場合、ワンドを用いてポーズ変形グラフの定義とは別にキャラクターや対象物の空間内における経路(「空間経路」とよばれる)を作ることができる。空間内の経路は対応する速度グラフを有する。この速度グラフは上記のように調節または描きなおすか、シンク点を用いることによって変更できる。
【0053】
本発明の第2の特徴は構築ポーズをさらに変化させてアニメ化画像の動作および形をさらに大きく制御する「セグメントワーピング」とよばれものにある。以下、このセグメントワープにつぃて説明する。描画空間内の点(ここではワープ変位基準点または「ワープハンドル」とよばれる)を選択する。この点は典型的にはソースポーズの線分上にあるが、必ずしもこの位置になくてもよい。ワープハンドルの機能は、ここでは「ワープ経路」とよばれる動作経路に対して基準点として機能することにある。ワープ経路はアニメ製作者がリアルタイム、ゆっくりあるいは高速で描く。ワープ経路はセグメントワープによって変更しようとする各セグメント(単数または複数)について、ワープハンドルの開始点からの相対的変位を定義する。ワープ経路によって変更すべき絵の線分を任意の方法(描画ワンドを用いたポインティングおよびクリック)で指定する。さらに、線分上の連続する点がワープ経路によって変位される度合いを規定する「ワーププロフィールグラフ」とよばれるグラフを描く。
【0054】
以下、セグメントワープ法を実施例を参照して説明する。図12(a)の魚では魚の体と尾のMP1、MP2、MP3、MP4で示した点にマッチ点が配置されている。次いで、MP2とMP3との間にワープハンドルHを配置する。3つのセグメントMP1―MP2、MP2―MP3およびMP3―MP4をワープすべきセグメントとして同定する。図12(b)は方向を示す矢印を含む点線で示したワープ経路を示す。この例ではワープ経路は魚の尾の前後運動を表し、一連の円弧によって描かれている。ワープ経路は描画そのものの一部ではなく、最終的なアニメーションには表示されない。この経路は第1の端部EX1まで移動し、次に反対側の端部EX2まで移動し、再び第1の端部EX1に戻る様子を示している。3つのセグメントに対するワーププロフィールグラフが図13に示すように描かれる。ワーププロフィールグラフは図12(b)のワープ経路が選択された線分上の連続する各点に与える相対的な影響を定義する。図13に示すように、セグメントMP1−MP2に対するワープの影響はMP1においてゼロであり、MP2では90%に増加し、セグメントMP2−MP3では90%で一定であり、セグメントMP3−MP4ではMP3の90%からMP4の0%まで変化する。
【0055】
これは、例えばセグメントMP2−MP3上の点の変位は任意の時点でその時点におけるワープハンドルの元の位置からの相対的変位の90%であることを意味する。換言すれば、ワープ中の特定の点において、ハンドルの元の位置からの相対的変位がz方向(紙の向こう側)に1.0ユニット長、x方向(水平方向)に0.4ユニット長、y方向(垂直方向)に0.1ユニット長である場合、セグメントMP2−MP3上の全ての点の元の位置からの変位はそれぞれ0.9、0.36、0.09となる。セグメントMP1−MP2上の点はMP1では全く変位せず、MP2に近づくに従ってより大きく変位し、MP2では変位は0.9となる。MP3―MP4上の効果は逆になる。
【0056】
セグメントワープは単に選択された線分上の点に関する点変位を表すものであるから、それらは加算的であり、多重セグメントワープを同じセグメントに適用することができる。
【0057】
図14はセグメントワープが3つのセグメントに与える影響を示している。点Ex1において尾はワープ経路によって規定される弧に沿った最大変位の状態にある。尾の末端すなわちセグメントMP2−MP3は、紙から飛び出す方向(観察者に向かって)に最大限変位した状態にある。同様に、点Ex2では、セグメントMP2−MP3は紙の向こう側(観察者から離れる方向)に向かって最大限変位している。
【0058】
アニメ製作者は、図13に示すようにワーププロフィールグラフを定義するのではなく、線分上の点の相対的変位を任意の方法、例えば選択された線分の太さ、明るさまたは色を変えることによって指定することもできる。
【0059】
当業者には、セグメントワープ技術によってアニメ製作者に複雑な動きを非常に簡単に表現するための強力且つ直覚的な方法が提供されるということは理解できよう。図12(a)に示すように尾MP1−MP2の垂直セグメント上にワープハンドルを指定することによってアニメ製作者は実際に描画ワンドで尾を「つかみ」、最終的に表現しようとする動きに従ってそれを正確にリアルタイムで前後に動かすことができる。こうして、アニメ化される動作のタイミング、方向および範囲の微妙な差が迅速且つ簡単に描き出される。この動作と対象物の他の動作(変形)との速度および協調は上記の速度プロフィールおよびシンク点を用いて制御することができる。
【0060】
セグメントワーピングの概念の有用性を示す別の実施例を別の用途を参照して説明する。従来のコンピュータアニメーションシステムでは、中間フレームは2つのソースポーズ画の線分間をコンピュータによって直線的に補間することによって製作されることが多いが、この補間は非現実的な動きを生じることがある。このようなことが起こる一つの状況はソースポーズ間の動きが回転運動で且つ構築ポーズが直線的な補間によって構築される場合である。図15は単純な補間を用いて新しいポーズを製作する際の欠点を具体的に示すために、「天使のはね」の動きを図15に示す。この図は天使が羽ばたく動作を示している。点Eは右の羽の先端、点Bは左の羽の先端である。E0およびB0では羽はその弧の一番上にあり(ポーズ1)、B1およびE1では弧の一番下にある(ポーズ2)。羽根の回転の中間点はそれぞれB2およびE2である。真の回転運動では、羽の先端はアークの一番上と一番下では最小x変位であり、中間点では最大x変位である。アニメ製作者が、図15に示すようにソースポーズとして一番上と一番下の羽の位置のみを指定し、コンピュータが直線補間によってポーズを発生させた場合には、B2およびE2の先端の位置(点線)によって示すように、羽は一番上の位置から一番下の位置まで移動する時に縮んでいるように見える。アニメ製作者は運動範囲の中間位置にさらにソースポーズを指定することはできるが、それ以外の羽の動き、例えば羽を上下に羽ばたく時のねじれを表現するために追加のポーズが必要である。この問題を解決するための本発明のセグメントワープ法を図16を参照して説明する。
【0061】
右の羽を例にとって説明する。図16(a)に示すように、点A、BおよびCにマッチ点を指定する。続いて、点Bすなわちはねの先端にワープハンドルWHを指定する。ワープハンドルの相対移動を指定するために点線で示すワープ経路WPを描く。図示したワープ経路は羽を弧の一番上から一番下まで下向きに1回打ち降ろす動作に相当する。ワーププロフィールは図16(b)のように描かれる。続いて、ワープ経路およびプロフィールグラフによって指定されるセグメントワープを天使の羽のポーズ変形(ポーズ変形グラフによって指定される)と併せて上記のように行う。羽根が下方に動く時のワープ経路によって指定される変位が図16(b)に示すワーププロフィールに従ってセグメントA−BおよびA−C上の点に行われる。
【0062】
その結果、ポーズ1からポーズ2、さらにポーズ3へと、ポーズからポーズへの変形中羽の寸法が正しく保たれるように、2つのセグメント上の点が変位する。すなわち、羽が下方に動く時、羽は次第に外側に向かって伸び、羽の先端は図16(c)のB1、B2、B3に示すような弧を描く。羽を上下に動かす天使の動作を上記の変形グラフおよび速度プロフィールを用いてスクリプトしもよい。この動作はその後、羽のセグメントワープと関連付けされる。既に述べたように、これは天使の羽の変形を見ながらワープ経路を描くか、シンク点を用いて例えば羽が下向きに打ち降ろされる動作の中間点にある時に基準点に対するワープの最大変位が発生するように速度プロフィールを制御することで行うことができる。
羽ばたきが何度も行われる場合(一般的にそうである)には、上下それぞれの運動について連続的に各1つずつのワープ経路(基本的に外側および内側に向かう動き)を描き、上記のようにしてワープを羽ばたきに同期させる。左の羽についても同様のセグメントワープを適用できる。
【0063】
このセグメントワープの概念は多くの用途を有する非常に強力な方法である。例えばこの方法を用いて波などの複雑な効果、風の効果、加速度の効果などを容易に表現することができる。風の効果は図17に示すように作り出される。図17(a)はアニメ製作者が風になびいているように描こうとしている旗を示す。図にS1、S2およびS3で示した旗の3つのセグメントをセグメントワープによって変形するものとする。旗の下側の隅にはさらにマッチ点MP1およびMP2が示されている。S1は点0〜MP1で構成され、S2は点MP1〜MP2で構成され、S3は点MP2〜3で構成される。ワープハンドルHは便宜上点MP2の位置に置かれ、予想されるワープ経路P(図17(a)に点線で示す)が描かれる。図17(b)は3つの線分に関するプロフィールグラフを示す。図17(b)に示すように、セグメントS1は変位ゼロ(取付点0)から最大変位(MP1)まで変化する。セグメントS2は常に最大変位であり、セグメントS3はセグメントS1と同様ゼロ変位(点3)から最大変位まで変化する。
【0064】
以上、通常のセグメントワープについて説明したが、風の効果については、ワープ経路Pは予想されるセグメントのワープ経路を表しているに過ぎない。経路上の実際の位置は、図17(c)に示すように風のベクトルを指定することによって決定される。風のベクトルは単にアニメ製作者によってワンドが風に吹かれて前後に揺れているかのように描かれ、コンピュータに記憶される。説明を簡単にするために、風はx軸の方向にのみ吹いている状態で示される。図17(d)は図17(c)に示す風の経路を描く時の描画ワンドの前後運動の速度を追跡して得られる風の速度プロフィールを示す。プラスの最大速度では、予想されるワープ経路に沿ってプラス方向の最大変位が加えられ、マイナスの最大速度においてマイナスの最大変位が加えられる。さらに、速度ゼロでゼロ変位が発生すると定義される。ゼロと最大点との間の変位およびゼロと最小点との間の変位は、単に風の最大速度が最大変位に対応するように補間された各フレームにおける風速度を用いることで与えられる。風の方向(プラスあるいはマイナス)および速度に応じて、セグメントは図17(e)に示すようにマイナス方向にワープされるか、17(f)に示すようにプラス方向にワープされる。任意の所定時点における運動経路上の線分の特定点の変位はその時点における風の速度によって支配され、この風の速度はプラスまたはマイナスでり、従って、変位の方向を規定する。予想されるワープ経路は風の方向に対して描かれなければならない。すなわち、風の方向が図17(a)に示すようにx軸の方向のみに沿ったものでなく、z軸にも沿ったものであれば、旗のセグメントがz軸方向にどのようにワープするかについて予想されるワープ経路を描かなければならない。z軸方向の風の速度も風のベクトルを基に決定される。
【0065】
通常のセグメントワープと比べた場合のこの方法の利点は、予め決定された実際のワープ経路ではなく、予想されるワープ経路に沿った変位を制御することが可能なことにある。さらに、ウインドワープを使用することによって同様に風の影響を受ける絵の中の多数の要素について同じ風ベクトルを適用することが可能になる。アニメ製作者は、絵の中の異なる対象物に時間をずらして風ワープが適用されるように指定して、あるシーンの中を一陣の風が吹き抜ける効果を表現することができる。
【0066】
慣性の効果は風の効果に類似の方法で表現されるが、この場合には、予想されるワープ経路に沿った変位を制御するために、風の速度を利用するよりも、動作の主要対象物の加速度を利用する。例えば、キャラクターが走り出すと、その加速度によってキャラクターのコートの後ろ側が持ち上がり、反対方向になびくようにする。コートに関する予想されるワープ経路が描かれ、コートを着ている人物の速度(加速度)の変化によって予想されるワープ経路に沿ったコートの適当なセグメントの位置が決定される。すなわち、キャラクターが立っている位置から移動し始める時、加速度は最大で、コートは人物の後方に最大の幅をもって翻る。キャラクターの速度が一定になるに従ってその加速度はゼロになり、コートは変位ゼロの位置に戻る。
【0067】
波の効果もセグメントワープの概念を利用して表現される。「波ワープ」はセグメントを介して移動する波の効果を表現するための手段である。波効果の場合、ワープハンドルとワープ経路は不要である。図18(a)に示す基準となる直線A−Bが描かれる。この基準線に対して点線w1−w2で表される所望の波の動きを描く。波W1−W2は1つの平面上にある必要はなく、例えば螺旋波などを定義するために三次元にすることができる。
【0068】
波に沿った各点間の線A−Bに対する変位は直線に対して垂直且つ波を横切るように描かれたベクトルを基に計算される。波に沿った各点Piについて対応する変位Diを計算する。次に、図18(b)に示すように、これら相対的変位が絵の線分Sに適用され、波の効果が絵の中の対象物に移される(図には最初の波頭を表すP1−P7のみを示す)。
【0069】
第1のフレームにおいて最初の波頭がセグメントSに与える影響の結果を図18(c)に示す。セグメント上の点D1−D7はそれぞれD1−D7だけ変位する。次に、図18(a)の波によって定義される一連の変位D1−D7はセグメントSに沿ってシフトされ(波の進む方向に応じて)、次のアニメーションのフレームではセグメントS上の異なる点に変位が適用される。図18の例では波は右に向かって移動する。図18(d)に示すように、変位D1−D7は2点分移動して今度はセグメントS上の点P3−P9に加えられる。すなわち、フレーム2におけるセグメントは図18(e)のように見える。シフトの幅は波の移動速度によって決定され、波の移動速度はアニメ製作者によって指定される。連続する各アニメーションフレームについてこの方法が繰り返され、対象物上を移動する波の動きが表現される。
【0070】
通常のセグメントワープの場合のように、ワーププロフィールグラフを用いてセグメント(単数または複数)上の各点における波の経路の影響を変化させる。例えば、セグメントの始まりの部分では波の効果は顕著でないがセグメントに沿って移動するに従って徐々に大きくなるようにワーププロフィールを描くことができる。例えば、水の中を移動するおたまじゃくしの尾は、その根元部分には側方に波打つ動きは見られないものの、先端に向かって動きが大きくなる。
【0071】
1つの実施例では、アニメ製作者は波の効果を制御するために4つのパラメータ、すなわち、i)波の移動速度(1フレームあたり何点シフトするか)、ii)波の移動方向、iii)波の開始点およびiv)波の終了点を指定する。次いで、アニメ製作者が描いた波の経路をこれらパラメータに基づいて補間し、所望の効果を発生させる。例えば、波の効果がセグメント上で開始および終了し且つアニメーションの長さ全体に亘って存在し、さらに波の移動速度が1フレームあたり1点であることをアニメ製作者が望む場合には、最初に描かれる波の経路の長さは補間によってセグメントの長さの二倍になるように調節し、アニメーションの始まりにおいて波の前半全体がセグメントに加わるようにする。アニメーション中にセグメントを波が通過することにより、アニメーション終了時には前半は完全にセグメントを通過し、後半全体がセグメント上にくる。同様に速度を2倍にする場合、波の経路を補間によって四倍の長さまで引き伸ばさなければならない。波の効果はセグメントから外れたところで開始または終了するように指定することが可能であり、その場合も同様に長さを調節する。
【0072】
生物的な生き生きした動きを表現するには、波ワープは非常に単純であるが強力な方法である。
アニメーションシーケンスでキャラクターまたは対象物全体の向きが大きく変化する場合(例えば軸上で45度以上変化する場合)には、単純なセグメントワープでは所望の効果を得ることができない。例えば、図12(b)に示す尾のセグメントワープでは、シーケンスの最中に魚が側方に向きを変えようとすると、図示したセグメントワープは尾を魚に対して側方でなく上下に動かすことになる。このような状況では「構築(constructed)セグメントワープ」を用いることができる。
【0073】
構築セグメントワープでは、ワープハンドルが表示され、キャラクターまたは対象物の各ソースポーズに対してソースワープ経路をポーズ内の対象物の向きに関連付けてソースワープ経路とソースワーププロフィールグラフとが描かれる。ワープ効果を適用する前に、ソースワープ経路とソースワーププロフィールグラフとから、構築ポーズと同じ方法で重み付き平均を利用して、構築ワープ経路と構築ワーププロフィールグラフとを導く。同様に、ソースワープ経路の速度プロフィールから構築ワープ経路に関する構築速度プロフィールを導き、上記で説明したように変更することができる(独立したワープ経路を構築ポーズに関係なしに同期された状態を保つために上記のように同期することが必要な場合もある)。このようにして構築ワープ経路の向きが対象物の向きに対して関連付けられる。続いて、単純なセグメントワープに関して上記で説明したようにして、構築ワープ経路でセグメントワープを作る。
【0074】
ワープを用いた複雑な描画の場合、多くのセグメントについて関連するワープが要求されると、描画は単調で長たらしいものになるが、「スパインワーピング(spine warping)」とよばれる技術を用いることによって、この概念をより複雑な形態に容易に拡大することができる。このスパインワーピングは、対象物の「スパイン(背骨)」にワープを適用することによって単一のワープで多数の線分を含む対象物を変形するために使用される。スパインという用語が使用されるのは、例えば動物の体を規定する線分群のほぼ中心に直線が描かれるからである。背骨にワープを適用し、それを個々の描画セグメントに伝える。スパインワープでは、変形に使用される個々のソースポーズに基準となる直線スプラインを引き、アニメ製作者がスパインワープの影響を受けるべきセグメントを選択する。選択された各セグメントについて、スパインに印加されたワープを選択されたセグメントに伝えるために、セグメント上の点から基準スパインまでの垂直方向の距離を計算する。上記方法で構築ポーズを作る。構築ポーズはソース線画中の追加の線として扱われるが、表示はされない直線の基準スパインを含む。次に、基準スパインとワープされたスパインとの間の変位とセグメント上の点から基準スパインまでの垂直距離とを用いて構築ポーズの適当なセグメントにスパインワープを適用する。
【0075】
例えば、図19(a)は直線のスパインSを含む魚の構築ポーズを示す。スパインはアニメ製作者によって描かれるが、最終的なアニメーションフレーム内で表示される線画の一部ではない。スパインに加えたワープを線画のセグメントに伝えるために線分上の点P1−Pnからスパインまでの距離が計算され、記憶される。スパインSをワープさせるために、ワーププロフィールグラフと単一のワープ経路Pとを兼用する。スパインは任意のワープによってワープできる。図19(b)はワープされたスパインS’を示す(紙の向こう側へ曲げられた状態)。スパインワープによって制御される各線分について、セグメント上の各点は基準スパインに対するワープされたスパインの変位の計算値を用いて変位される。このようにして、任意のワープ技術を用いて単純な方法で複雑な形状を容易に変形することができる。
【0076】
本発明の最後の特徴は、ソースポーズの適当な色を維持して一連のアニメーション線画を完全に自動的に着色できるようにする、構築ポーズを作ることにある。従来のコンピュータ着色法で画像を着色する場合には、二次元空間内に閉ループを描き、「シード」点を用いて塗りつぶす。この方法は二次元のコンピュータ描画および着色システムで周知である。シード点は閉ループをアニメ製作者が選んだ色で塗りつぶすための開始点の機能をし、この点から外側に向かって徐々に境界線が検出されるまで着色が進行し、境界線に囲まれた領域が塗りつぶされる。
しかし、立体画像および二次元画像の自動着色ではシードフィル法には欠点がある。小さいループにシードフィル法を用いる場合、例えば立体ループの内側すなわち立体画像の左眼および右眼用の二次元投影図にシードフィル法を適用して、二次元で投影されたそれぞれのループ内に含まれるような位置にシード点を配置するのが困難または不可能な場合がある。その結果、一方または両方の投影でループの内側でなく外側が塗りつぶされることになる。さらに、コンピュータを用いた線画のアニメーションシーケンスの製作で一連の線画を自動的に着色することが望まれる場合、作られた線画がデザイン上三次元空間でねじれた一本のループを含む場合があり、変形ループの二次元投影では見掛け上数個のループができる可能性がある。このような状況では、シード点が完全にループからはみ出すか、二次元ループの1つだけを塗りつぶすことになる。例えば、図20(a)に示したシード点SPを含む単一ループは平面に投射された時に八の字型にねじれて、平面上に2つのループを作る可能性がある(図20(b))。この場合、シード点SPは図20(a)に示すように八の字のうち片方のループの内側にあり、この場合にはその部分のみが塗りつぶされることになる。あるいは、図20(c)に示すようにシード点が完全にループの外側にはみ出す。この場合にはループの外側の部分が着色されることになる。
【0077】
本発明は「フィルマスキング」とよばれる方法を用いてこの問題を解決する。このフィルマスキングでは、立体画像の一部である着色ループを表示のために塗りつぶす前に、以下の方法で処理する。まず最初に、ループの立体画像を左眼および右眼用に二次元平面上に投影したものを確認する。これら投影図それぞれについて、オフスクリーンバッファで、図5(a)に示すようにループのxおよびy座標の最大値および最小値を決定して投影されたフープに比べて各辺が少なくとも1ピクセルずつ大きい四角形を作る。図21(a)は一方の眼用のループの投影図と四角形を示す。四角形全体をループを塗りつぶすのに使用する色で描く。図22(b)に示すように、アニメ製作者が描いたループの二次元投影図をループ用の適当な線の色を用いてバッファー内に移す。次に、上記シード点フラッドフィル法を用いて四角形を塗りつぶす。四角形の内側にシード点を発生させる。次に、ループの外側で且つ四角形の内側に相当する領域のみを塗りつぶし、ループの内側が塗りつぶされず、従って、図22(c)に示すように元のループ色のまま保持される。この塗りつぶし操作は表示された時にこの境界線に囲まれた領域を透明にするコードで構成される。従って、ループだけが適当な色で眼に見えることになる。この方法で処理した後(処理の所要時間はわずか数分の1秒である)、四角形をバッファからディスプレーに移す。コンピュータ描画システムでは「透明」または「写らない(no-copy)」色で塗りつぶされた領域はバッファからスクリーンへ転写されないようにする方法は知られている。スクリーン上に現れるのは適切な色のループとループの境界線だけである。立体ループの場合にはループの左眼用および右眼用投影図のそれぞれについて処理を繰り返す。
以上、三次元描画について説明したが、二次元描画のシーケンスの自動着色にも同様に適用できる。
【0078】
添付リストは、本発明の変形グラフ、空間経路、セグメントワープ、風ワープ、慣性ワープおよび波ワープを製作するためのBASICコードを含んでいる。このコードは使用可能なコードの1つの実施例であり、限定的なものではない。当業者は他のコードが使用できることは理解できよう。以上、特定の実施例を挙げて本発明を詳細に説明したが、本発明はこれら実施例に限定されるものではなく、本発明は請求項の範囲によってのみ限定されるものである。
【0079】
添付リスト
【図面の簡単な説明】
【0080】
【図1】図1(a)〜(d)はアニメーションシーケンスで使用する魚の4つのソースポーズを示す図。
【図2】図2(a)〜(d)は図1の魚の口の4つのソースポーズを示す図。
【図3】本発明の変形グラフを製作するために使用される三次元四面体ポーズ変形空間の図。
【図4】図3のポーズ変形空間に描かれた魚の口に関する本発明の変形グラフ。
【図5】三次元四面体ポーズ変形空間内に描かれた魚の眉に関する本発明の変形グラフ。
【図6】三次元四面体ポーズ変形空間の2つの頂点だけを使用した、アニメ化された魚の体およびヒレに関する本発明の変形グラフ。
【図7】三次元四面体ポーズ変形空間の2つの頂点だけを使用した、アニメ化された魚の目に関する本発明の変形グラフ。
【図8A】図8(a)〜(c)は図4、5、6および7の変形グラフを組み合わせて得られるアニメーションフレームを示す図。と
【図8B】図8(d)〜(f)は図4、5、6および7の変形グラフを組み合わせて得られるアニメーションフレームを示す図。
【図9】図9(a)〜(d)は図4、5、6および7の変形グラフに関する速度プロフィールを示す図。
【図10】図10(a)〜(d)はsync点を用いて調節した図4、5、6および7の変形グラフに関する速度プロフィールを示す図。
【図11】図11(a)〜(f)は構築ポーズにおいてマッチ点を使用する利点を示す図。
【図12】図12(a)〜(b)は本発明のセグメントワープ法を示す図。
【図13】図12(a)に示したセグメントワープで用いるワーププロフィールグラフを示す図。
【図14】図12〜13に定義のセグメントワープによって得られる動きを示す図。
【図15】従来法のインビトゥイーンシステムの問題の一例しての天使の羽を示す図。
【図16】図16(a)〜(c)は本発明のセグメントワープ法を利用して図15の問題点がどのように解決されるかを示す図。
【図17】図17(a)〜(f)は本発明のセグメントワープ法の変形例を用いて得られる風の効果を示す図。
【図18】図18(a)〜(e)は本発明のセグメントワープ法の別の変形例を用いて得られる波の効果を示す図。
【図19】図19(a)〜(b)は本発明のスパインワープを示す図。
【図20】図20(a)〜(c)はループに色を塗るための従来法のシード点アンドフラッドフィル法の問題点を示す図。
【図21】図21(a)〜(c)は従来法のシード点アンドフラッドフィル法の欠点を解決した本発明のフィルマスキング法を示す図。
【特許請求の範囲】
【請求項1】
下記1)〜7)で構成される、コンピューターアニメーションシステムにおいて、対象物を描いた2つ以上の所定のソースポーズを用いてアニメーション線画における対象物の変形を定義するための方法:
1)対象物の所定の形が描かれている、アニメーションシーケンスに用いる複数のソースポーズを記憶し、
2)記憶されたソースポーズの数に応じてポーズ変形空間を定義し、
3)各ソースポーズをポーズ変形空間内の1つの点に割当て、
4)コンピューター入力デバイスを用いてポーズ変形空間内で経路を動かし、コンピュータはこの経路に沿って複数の点を選択し、
5)選択された各点について各ソースポーズ点までの距離を計算し、
6)選択された各点に対して、ソースポーズの複合体によって構成される構築ポーズを作り、各ソースポーズの貢献度はソースポーズから選択された点までの距離によって決め、
7)構築ポーズを記憶し、アニメーションシーケンスで使用する。
【請求項2】
ポーズ変形空間が二次元である請求項1に記載の方法。
【請求項3】
ポーズ変形空間が三次元である請求項1に記載の方法。
【請求項4】
ポーズ変形空間が六次元である請求項1に記載の方法。
【請求項5】
入力デバイスの移動速度をモニターし、その速度を用いて複数の構築ポーズを用いた対象物の形の変形するアニメーションシーケンスの変化速度を制御する請求項1に記載の方法。
【請求項6】
経路を描くと同時に構築ポーズが表示する請求項1に記載の方法。
【請求項7】
ポーズ変形空間が多角形であり、各ソースポーズを多角形の頂点に割り当てる請求項2に記載の方法。
【請求項8】
ポーズ変形空間が多面体である請求項3に記載の方法。
【請求項9】
対象物が変形する際のアニメーションの変化速度を表すグラフィック表示からなる速度プロフィールを入力デバイスの動きに対して表示する請求項5に記載の方法。
【請求項10】
入力デバイスが構築ポーズに対応する点を通過下時にそれとほぼ同時に構築ポーズが表示される請求項6に記載の方法。
【請求項11】
ポーズ変形空間が三角形である請求項7に記載の方法。
【請求項12】
ポーズ変形空間が実質的に四面体であり、この四面体の4つの頂点に1つずつのソースポーズが対応する請求項8に記載の方法。
【請求項13】
表示された速度プロフィールを入力デバイスを用いて変更してアニメーションシーケンスの変化速度を調節する請求項9に記載の方法。
【請求項14】
入力デバイスの移動速度をモニターし、この速度を用いて、複数の構築ポーズを用いた対象物の形の変形からなるアニメーションシーケンスの変化速度を制御する請求項13に記載の方法。
【請求項15】
対象物が変形する際のアニメーションの変化速度を表すグラフィック表示からなる速度プロフィールを入力デバイスの動きに対して表示する請求項14に記載の方法。
【請求項16】
表示された速度プロフィールを入力デバイスを用いて変更してアニメーションシーケンスの変化速度を調節する請求項15に記載の方法。
【請求項17】
下記1)〜7)の工程からなるコンピュータアニメーションシステムにおいてアニメーションシーケンス中の線分を変形する方法:
1)コンピューター描画空間内でのカーソルの動きを制御するコンピュータ入力デバイスを用いて初期位置を有する基準点を選択し、
2)入力デバイスを用いて複数のアニメーションフレームに対して基準点の初期位置からの変位を定義する運動経路を基準点に対して移動させ、
3)第1のアニメーション線画において、所定の初期x,y,z座標を有する複数の点で構成される変形のための線分を選択し、
4)線分を構成する各点について、基準点の初期位置からの変位に対する点の変位を定義し、
5)線分を構成する各点について、所定の座標に上記の相対的な変位を加えて第2のアニメーション線画における点の新しい座標を決定し、
6) 線分を構成する各点について新しい座標を記憶し、
7) 記憶された座標を用いてアニメーションの第2のフレームにおける新しい線分を作り、第1のアニメーションフレーム中の線分をこの新しい線分に変える。
【請求項18】
相対的変位が、入力デバイスを用いて線分上の位置の関数としての相対変位のグラフを描くことによって定義される請求項17に記載の方法。
【請求項19】
下記1)〜5)の工程からなるコンピューター描画システムにおいて閉ループを自動的に彩色する方法:
1)所定の塗りつぶし色および所定のループ線色によって彩色すべき閉ループを選択し、
2)閉じたループの二次元投影の最小および最大(x,y)座標を決定し、
3)最小および最大(x,y)座標を用いて、所定のループ線色で作られたループを完全に囲むように、閉ループよりもわずかに大きい矩形を所定の塗りつぶし色で作り、
4)閉ループと矩形とで囲まれた領域を決定し、
5)囲まれた領域を透明色で塗りつぶして、所定のループ線色で作られ且つ所定の塗りつぶし色で塗りつぶされた閉ループを作る。
【請求項20】
閉ループを含む複数のアニメーション線画について繰り返し行われるコンピューターアニメーションシステムに適用される請求項19に記載の方法。
【請求項21】
下記1)〜5)の工程からなる各線画についての左眼および右眼用画像を含む立体アニメーション線画を製作するためのコンピューターアニメーションシステムのコンピュータ描画システムにおいて自動的に閉ループを彩色するための方法:
1)所定の塗りつぶし色および所定のループ線色によって彩色すべき閉ループを選択し、
2)閉ループの左眼および右眼用二次元投影の最小および最大(x,y)座標を決定し、
3)左眼および右眼用投影図に対して、最小および最大(x,y)座標を用いて所定のループ線色で作られたループを完全に囲むように閉ループよりもわずかに大きい矩形を所定の塗りつぶし色で作り、
4)閉ループと矩形とで囲まれた領域を決定し、
5)囲まれた領域を透明色で塗りつぶして、所定のループ線色で作られ且つ所定の塗りつぶし色で塗りつぶされたループを作る。
【請求項22】
下記1)〜7)からなるコンピューターアニメーションシステムにおいて、対象物を描いた2つ以上の所定のソースポーズを用いてアニメーション線画の対象物の変形を定義するためのシステム:
1)対象物を描いたアニメーションシーケンスに用いる、対象物の所定の形が描かれた複数のソースポーズを記憶するための手段と、
2)記憶されたソースポーズの数に応じてポーズ変形空間を定義する手段と、
3)ソースポーズをポーズ変形空間内の1つの点に割当てる手段と、
4)コンピューター入力デバイスを用いてポーズ変形空間内で経路を動かし、コンピュータによって経路上で複数の点を選択する手段と、
5)選択された点それぞれについて各ソースポーズ点までの距離を計算する手段と、
6)構築ポーズがソースポーズの複合体によって構成され且つ各ソースポーズの貢献度がソースポーズから選択された点までの距離によって決定されるように、選択されたそれぞれの点について対応する構築ポーズを製作する手段と、
7)構築ポーズを記憶して、アニメーションシーケンスで使用する手段。
【請求項1】
下記1)〜7)で構成される、コンピューターアニメーションシステムにおいて、対象物を描いた2つ以上の所定のソースポーズを用いてアニメーション線画における対象物の変形を定義するための方法:
1)対象物の所定の形が描かれている、アニメーションシーケンスに用いる複数のソースポーズを記憶し、
2)記憶されたソースポーズの数に応じてポーズ変形空間を定義し、
3)各ソースポーズをポーズ変形空間内の1つの点に割当て、
4)コンピューター入力デバイスを用いてポーズ変形空間内で経路を動かし、コンピュータはこの経路に沿って複数の点を選択し、
5)選択された各点について各ソースポーズ点までの距離を計算し、
6)選択された各点に対して、ソースポーズの複合体によって構成される構築ポーズを作り、各ソースポーズの貢献度はソースポーズから選択された点までの距離によって決め、
7)構築ポーズを記憶し、アニメーションシーケンスで使用する。
【請求項2】
ポーズ変形空間が二次元である請求項1に記載の方法。
【請求項3】
ポーズ変形空間が三次元である請求項1に記載の方法。
【請求項4】
ポーズ変形空間が六次元である請求項1に記載の方法。
【請求項5】
入力デバイスの移動速度をモニターし、その速度を用いて複数の構築ポーズを用いた対象物の形の変形するアニメーションシーケンスの変化速度を制御する請求項1に記載の方法。
【請求項6】
経路を描くと同時に構築ポーズが表示する請求項1に記載の方法。
【請求項7】
ポーズ変形空間が多角形であり、各ソースポーズを多角形の頂点に割り当てる請求項2に記載の方法。
【請求項8】
ポーズ変形空間が多面体である請求項3に記載の方法。
【請求項9】
対象物が変形する際のアニメーションの変化速度を表すグラフィック表示からなる速度プロフィールを入力デバイスの動きに対して表示する請求項5に記載の方法。
【請求項10】
入力デバイスが構築ポーズに対応する点を通過下時にそれとほぼ同時に構築ポーズが表示される請求項6に記載の方法。
【請求項11】
ポーズ変形空間が三角形である請求項7に記載の方法。
【請求項12】
ポーズ変形空間が実質的に四面体であり、この四面体の4つの頂点に1つずつのソースポーズが対応する請求項8に記載の方法。
【請求項13】
表示された速度プロフィールを入力デバイスを用いて変更してアニメーションシーケンスの変化速度を調節する請求項9に記載の方法。
【請求項14】
入力デバイスの移動速度をモニターし、この速度を用いて、複数の構築ポーズを用いた対象物の形の変形からなるアニメーションシーケンスの変化速度を制御する請求項13に記載の方法。
【請求項15】
対象物が変形する際のアニメーションの変化速度を表すグラフィック表示からなる速度プロフィールを入力デバイスの動きに対して表示する請求項14に記載の方法。
【請求項16】
表示された速度プロフィールを入力デバイスを用いて変更してアニメーションシーケンスの変化速度を調節する請求項15に記載の方法。
【請求項17】
下記1)〜7)の工程からなるコンピュータアニメーションシステムにおいてアニメーションシーケンス中の線分を変形する方法:
1)コンピューター描画空間内でのカーソルの動きを制御するコンピュータ入力デバイスを用いて初期位置を有する基準点を選択し、
2)入力デバイスを用いて複数のアニメーションフレームに対して基準点の初期位置からの変位を定義する運動経路を基準点に対して移動させ、
3)第1のアニメーション線画において、所定の初期x,y,z座標を有する複数の点で構成される変形のための線分を選択し、
4)線分を構成する各点について、基準点の初期位置からの変位に対する点の変位を定義し、
5)線分を構成する各点について、所定の座標に上記の相対的な変位を加えて第2のアニメーション線画における点の新しい座標を決定し、
6) 線分を構成する各点について新しい座標を記憶し、
7) 記憶された座標を用いてアニメーションの第2のフレームにおける新しい線分を作り、第1のアニメーションフレーム中の線分をこの新しい線分に変える。
【請求項18】
相対的変位が、入力デバイスを用いて線分上の位置の関数としての相対変位のグラフを描くことによって定義される請求項17に記載の方法。
【請求項19】
下記1)〜5)の工程からなるコンピューター描画システムにおいて閉ループを自動的に彩色する方法:
1)所定の塗りつぶし色および所定のループ線色によって彩色すべき閉ループを選択し、
2)閉じたループの二次元投影の最小および最大(x,y)座標を決定し、
3)最小および最大(x,y)座標を用いて、所定のループ線色で作られたループを完全に囲むように、閉ループよりもわずかに大きい矩形を所定の塗りつぶし色で作り、
4)閉ループと矩形とで囲まれた領域を決定し、
5)囲まれた領域を透明色で塗りつぶして、所定のループ線色で作られ且つ所定の塗りつぶし色で塗りつぶされた閉ループを作る。
【請求項20】
閉ループを含む複数のアニメーション線画について繰り返し行われるコンピューターアニメーションシステムに適用される請求項19に記載の方法。
【請求項21】
下記1)〜5)の工程からなる各線画についての左眼および右眼用画像を含む立体アニメーション線画を製作するためのコンピューターアニメーションシステムのコンピュータ描画システムにおいて自動的に閉ループを彩色するための方法:
1)所定の塗りつぶし色および所定のループ線色によって彩色すべき閉ループを選択し、
2)閉ループの左眼および右眼用二次元投影の最小および最大(x,y)座標を決定し、
3)左眼および右眼用投影図に対して、最小および最大(x,y)座標を用いて所定のループ線色で作られたループを完全に囲むように閉ループよりもわずかに大きい矩形を所定の塗りつぶし色で作り、
4)閉ループと矩形とで囲まれた領域を決定し、
5)囲まれた領域を透明色で塗りつぶして、所定のループ線色で作られ且つ所定の塗りつぶし色で塗りつぶされたループを作る。
【請求項22】
下記1)〜7)からなるコンピューターアニメーションシステムにおいて、対象物を描いた2つ以上の所定のソースポーズを用いてアニメーション線画の対象物の変形を定義するためのシステム:
1)対象物を描いたアニメーションシーケンスに用いる、対象物の所定の形が描かれた複数のソースポーズを記憶するための手段と、
2)記憶されたソースポーズの数に応じてポーズ変形空間を定義する手段と、
3)ソースポーズをポーズ変形空間内の1つの点に割当てる手段と、
4)コンピューター入力デバイスを用いてポーズ変形空間内で経路を動かし、コンピュータによって経路上で複数の点を選択する手段と、
5)選択された点それぞれについて各ソースポーズ点までの距離を計算する手段と、
6)構築ポーズがソースポーズの複合体によって構成され且つ各ソースポーズの貢献度がソースポーズから選択された点までの距離によって決定されるように、選択されたそれぞれの点について対応する構築ポーズを製作する手段と、
7)構築ポーズを記憶して、アニメーションシーケンスで使用する手段。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2007−193834(P2007−193834A)
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願番号】特願2007−62600(P2007−62600)
【出願日】平成19年3月12日(2007.3.12)
【分割の表示】特願平9−523938の分割
【原出願日】平成8年12月24日(1996.12.24)
【出願人】(398019246)イマックス コーポレーション (1)
【氏名又は名称原語表記】IMAX CORPORATION
【Fターム(参考)】
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願日】平成19年3月12日(2007.3.12)
【分割の表示】特願平9−523938の分割
【原出願日】平成8年12月24日(1996.12.24)
【出願人】(398019246)イマックス コーポレーション (1)
【氏名又は名称原語表記】IMAX CORPORATION
【Fターム(参考)】
[ Back to top ]