(57)【特許請求の範囲】
【請求項１】
作成するアニメーションの構成要素であるオブジェクトをモデル・データとして管理する構成要素管理手段と、
一連のアニメーションの主要な変化点のフレームであるキー・フレームの画像を形成するキー・フレーム・データを、前記オブジェクトの配置データを含めて形成し、これを管理するキー・フレーム管理手段と、
前記キー・フレームに、配置する前記オブジェクトのうち、関連性があるオブジェクト間に上位・下位関係を設定し、その設定データをキー・フレームごとに管理する関連オブジェクト管理手段と、
前記キー・フレーム管理手段からのキー・フレーム・データを用いて２個のキー・フレーム間で必要となるフレームの画像を、前記キー・フレームに含まれるオブジェクトごとに補間処理を行なうことにより形成するデータ補間手段と、を備え、
前記オブジェクトの配置データは、前記オブジェクト毎に定められている座標空間に設定されていて、
前記オブジェクト毎に定められている座標空間は、前記関連オブジェクト管理手段が管理しているオブジェクト間の上位・下位関係に対応付けられた従属関係を有していて、下位オブジェクトの座標空間は、該下位オブジェクトに対応付けられた上位オブジェクトの座標空間を基準にした相対的位置に対応付けられていて、
前記データ補間手段は、
前記オブジェクトごとの補間処理を行なうに当たって、隣り合う前記キー・フレーム間で、前記補間処理対象のオブジェクトについて、
前記関連オブジェクト管理手段で設定された上位オブジェクトが異なっていた場合には、前記隣り合うキー・フレームの補間処理対象の前記オブジェクトの両方の上位オブジェクトに共通する上位オブジェクトの配置データの座標空間を基準にして、前記補間処理対象のオブジェクトの補間処理を行ない、
前記関連オブジェクト管理手段で設定された上位オブジェクトが同じ場合には、該補間処理対象のオブジェクトの配置データを用いて補間処理を行なうこと
を特徴とするアニメーション・データ作成装置。
【請求項２】
前記共通の上位オブジェクトをすべてのオブジェクトに共通の座標空間に設定するようにしたこと
を特徴とする請求項１に記載のアニメーション・データ作成装置。
【請求項３】
作成するアニメーションの構成要素であるオブジェクトをモデル・データとして管理する構成要素管理処理と、
一連のアニメーションの主要な変化点のフレームであるキー・フレームの画像を形成するキー・フレーム・データを、前記オブジェクトの配置データを含めて形成し、これを管理するキー・フレーム管理処理と、
前記キー・フレームに、配置する前記オブジェクトのうち、関連性があるオブジェクト間に上位・下位関係を設定し、その設定データをキー・フレームごとに管理する関連オブジェクト管理処理と、
前記キー・フレーム管理処理からのキー・フレーム・データを用いて２個のキー・フレーム間で必要となるフレームの画像を、前記キー・フレームに含まれるオブジェクトごとに補間処理を行なうことにより形成するデータ補間処理と、を行い、
前記オブジェクトの配置データは、前記オブジェクト毎に定められている座標空間に設定されていて、
前記オブジェクト毎に定められている座標空間は、前記管理しているオブジェクト間の上位・下位関係に対応付けられた従属関係を有していて、下位オブジェクトの座標空間は、該下位オブジェクトに対応付けられた上位オブジェクトの座標空間を基準にした相対的位置に対応付けられていて、
前記データ補間処理は、
前記オブジェクトごとの補間処理を行なうに当たって、隣り合う前記キー・フレーム間で、
前記補間処理対象のオブジェクトについて前記関連オブジェクト管理処理で設定された上位オブジェクトが異なっていた場合には、前記隣り合うキー・フレームの補間処理対象の前記オブジェクトの両方の上位オブジェクトに、共通する上位オブジェクトの座標空間を基準にして、前記補間処理対象のオブジェクトの補間処理を行ない、
前記関連オブジェクト管理手段で設定された上位オブジェクトが同じ場合には、該補間処理対象のオブジェクトの配置データを用いて補間処理を行なうこと
を特徴とするアニメーション・データ作成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、例えば、コンピュータを用いてアニメーション・データを作成するアニメーション・データ作成装置に関する。
【０００２】
【従来の技術】
従来、アニメーションを、いわゆる手作りで作成する場合には、作ろうとするとするアニメーションの動きの始まりから終わりまでをスムーズな動きとして見せるために必要なフレーム数を決める。そして、決めたフレーム数の、各フレームの画像を作成する。しかし、このように必要なすべてのフレームの画像を作成するには、時間と労力がかかる。
【０００３】
一方、コンピュータ・グラフィックス技術を用いて、アニメーションを作成する方法が普及するようになった。この方法は、アニメーション・データ作成装置を用いて、各フレームの画像を形成する画像データを作成する。
【０００４】
この方法においては、ユーザは、アニメーション・データ作成装置において、作成しようとするアニメーションの主要な変化点の画像をキー・フレームとし、このキー・フレームの画像データを作成する。そして、キー・フレーム間に必要となるフレームは、前後のキー・フレームの相関性を利用して、この前後のキー・フレームを用いた補間処理によりアニメーション・データ作成装置において、自動的に生成する。
【０００５】
すなわち、図５に示すように、ユーザは、実線で示すアニメーションの主要な変化点のフレームであるキー・フレームの画像データを作成しておく。そして、点線で示す、各キー・フレーム間に必要となる補間フレームの画像データを、前後のキー・フレームの画像データと、前後のキー・フレームからの位置に応じて、例えば直線補間するなどして、アニメーション・データ作成装置において自動的に生成する。これにより、キー・フレームの画像データと、キー・フレーム間の補間フレームの画像データとからなる一連のアニメーション・データが作成される。
【０００６】
また、キー・フレームの画像データは、アニメーションの構成要素である、例えば、飛行機、ヘリコプター、自動車など（以下、これらをオブジェクトと総称する）を形成するモデル・データを用意しておき、これをフレームに配置することで作成するようにされている。
【０００７】
例えば、「人体」のように「手」、「指」、「腕」、「足」など各部が独自に動くアニメーションを作成する場合、「人体」を構成し、独自に動く部分をオブジェクトとして扱うようにする。このようにすることで、「手」、「指」、「腕」、「足」、「胴体」、「首」、「頭部」などのオブジェクトで構成された「人体」の様々な動きのアニメーションを効率よく作成することができる。
【０００８】
また、例えば、「人体」を走らせるアニメーションを作成する場合には、それぞれ別々に動く部分、例えば、「右手」、「左手」、「右足」、「左足」をオブジェクトとして扱うことで、「人体」全体の複雑な動きを、各オブジェクトごとの動きによって表すことができる。このようにすれば、キー・フレーム間のフレームの生成（補間処理）は、オブジェクトごとの補間を行なうことで簡単に行なえる。
【０００９】
しかし、前述の「人体」のように、本来一体となっているものから、「手」、「足」のように独立した動きを行なう部分を分離してオブジェクトとした場合、スムーズな動きのアニメーションを作成することは難しい。
【００１０】
例えば、「指」、「手」、「腕」、「足」、「胴体」、「首」、「頭部」のように人体の各部を分離した各オブジェクトを用いて作成した人体を歩かせるアニメーションを作成する場合、「足」の運びに合わせて「胴体」、「指」、「手」、「腕」、「首」、「頭部」を移動させなければならないが、このように追従性のある各部を独立のオブジェクトとして扱うと、各オブジェクト間の追従性の維持が難しく、「足」の運びより早く「胴体」が動いたり、「胴体」と「首」がずれたアニメーションになってしまうことがある。
【００１１】
このため、追従性のあるオブジェクト間に、いわゆる親子関係を設定して、子のオブジェクトは親のオブジェクトに追従して動くようにすることが考えられた。この親子関係の設定は、親のオブジェクトの座標空間内で子のオブジェクトの動きが決まるように座標系を定めることで実現できる。
【００１２】
例えば、前述の「人体」の場合、「胴体」を親オブジェクトとし、「手」、「腕」、「足」、「首」をその子オブジェクトとなるように設定し、また、「手」を親オブジェクトとして、手の「指」をその子オブジェクトとし、「首」を親オブジェクトとして、「頭部」をその子オブジェクトとして、座標系を定めるようにするものである。このように親子関係を設定しておけば、「胴体」が動けば、それに追従して各オブジェクトが動くようにでき、自然な動きのアニメーションが作成できる。
【００１３】
従来、上述したような各オブジェクト間の親子関係は、１シーンについて設定するようにしている。
【００１４】
【発明が解決しようとする課題】
ところで、アニメーションの作成時において、１シーンの中でオブジェクトの親子関係を変えたい場合がある。
【００１５】
例えば、右手に持っていたボールを左手に投げて、左手にボールを持ち換えるというようなアニメーションの場合には、ボールが右手にある場合には、右手が親、ボールが子になるように親子関係を設定しておけばよい。
【００１６】
しかし、ボールを左手に投げて、ボールが左手に移った後、ボールの親オブジェクトが右手のままだと、ボールは左手にありながら、右手の動きに従属してしまい、不自然な動きのアニメーションになってしまう。
【００１７】
このような場合、従来は、親子関係は設定せず、右手、左手、ボールを独立のオブジェクトとして、アニメーションを作成するようにしている。しかし、この場合には、前述したように、右手、左手に応じて動く部分において、自然な動きのアニメーションが作成しにくい。
【００１８】
また、親子関係を用いてアニメーションを作成しようとすれば、親子関係が一定である部分を１シーンとしてアニメーションを作成する必要がある。しかし、このようにすると、シーンの数は増えてしまい、作成しなければならないキー・フレームの数が増えることになり、効率的にアニメーションが作成できないこともある。
【００１９】
以上のことにかんがみ、この発明は、１シーンの中で親子関係を換えても、親子関係を適切に管理することができるアニメーション・データ作成装置を提供することを目的とする。
【００２０】
【課題を解決するための手段】
上記の構成の、この発明によるアニメーション・データ作成装置は、
作成するアニメーションの構成要素であるオブジェクトをモデル・データとして管理する構成要素管理手段と、
一連のアニメーションの主要な変化点のフレームであるキー・フレームの画像を形成するキー・フレーム・データを、前記構成要素の配置データを含めて形成し、これを管理するキー・フレーム管理手段と、
前記キー・フレームに、配置する前記オブジェクトのうち、従属関係があるオブジェクト間に親子関係を設定し、その設定データをキー・フレームごとに管理する親子関係管理手段と、
前記キー・フレーム管理手段からのキー・フレーム・データを用いて２個のキー・フレーム間で必要となるフレームの画像を、前記キー・フレームに含まれるオブジェクトごとに補間処理を行なうことにより形成するデータ補間手段と、
を備え、
前記データ補間手段において、前記オブジェクトごとの補間処理を行なうに当たって、隣り合う前記キー・フレーム間で、前記補間処理対象のオブジェクトについて設定された前記親子関係の親のオブジェクトが異なっていた場合には、前記隣り合うキー・フレームの両方の親のオブジェクトに共通の親を、前記補間処理対象のオブジェクトの親として補間処理を行なうようにしたことを特徴とする。
【００２１】
【作用】
上記構成のこの発明によるアニメーション・データ作成装置においては、２枚のキー・フレームからオブジェクトについての補間データを生成するときに親子関係を参照する。２枚のキー・フレーム間で、目的オブジェクトの親オブジェクトが同じであれば、その親オブジェクトの座標空間内で当該オブジェクトを動かすように補間データを求める。
【００２２】
そして、前記オブジェクトの親オブジェクトが２枚のキー・フレーム間で異なる場合には、異なる親オブジェクトに共通の親としての、例えば、絶対座標空間内で当該オブジェクトが動いたとしたときの補間データを求める。
【００２３】
これにより、１シーン中で一つのオブジェクトについて親オブジェクトが変わっても、適正な補間処理ができる。
【００２４】
【実施例】
次に、図を参照しながら、この発明によるアニメーション・データ作成装置の一実施例について説明する。
【００２５】
図１は、この発明によるアニメーション・データ作成装置の一実施例を説明するためのブロック図である。
【００２６】
図１に示すように、この例のアニメーション・データ作成装置は、入力装置１と、オブジェクト管理部２１と親子関係管理部２２とレイアウト管理部２３とからなるデータ設定部２と、キー・フレーム管理部３１とデータ補間部３２とからなるデータ作成部３と、データ記憶部４と、画像表示部５とを備えている。
【００２７】
入力装置１は、キーボードやいわゆるマウスを備え、オペレータからの指示や、各種情報の入力を受け付ける。例えば、処理モードの切り換え指示や、キー・フレームの作成指示や、キー・フレーム補間法による一連のアニメーション・データの作成指示などが、入力装置１を介して各部に供給される。
【００２８】
また、詳しくは、後述するように、アニメーションの構成要素（以下、オブジェクトという）間の親子関係の設定も、この入力装置１を介して行なう。
【００２９】
データ設定部２は、オブジェクト管理部２１と、親子関係管理部２２と、レイアウト管理部２３とを備え、各部は、アニメーションの作成に必要なデータを、その管理機能に応じて管理する。
【００３０】
すなわち、オブジェクト管理部２１は、作成しようとするアニメーションを構成する様々なオブジェクトを形成する２次元あるいは３次元のモデル・データを、そのオブジェクトＩＤとともに管理する。ここで、モデル・データは、アニメーションの作成に先立って入力装置１や、図示しないスキャナ（画像読み取り装置）などを介して、オブジェクト管理部２１に登録される。
【００３１】
親子関係管理部２２は、一連のアニメーションの主要な変化点のフレームであるキー・フレームごとに、そのキー・フレームで用いるオブジェクト間に設定する親子関係情報を管理する。この親子関係情報は、例えば、キー・フレームの作成時に、入力装置１を介して親子関係管理部２２に登録される。親子関係は、例えば、各オブジェクトについて、親オブジェクトの有無と、親オブジェクトのＩＤとが登録されて設定される。
【００３２】
各オブジェクトは、独自に移動や回転などをする移動空間であるローカル座標空間を有しており、このローカル座標空間同士の従属関係がオブジェクト間の親子関係となる。つまり、親オブジェクトが存在するときは、その親オブジェクトのローカル座標空間内に、子オブジェクトのローカル座標空間が存在することになる。なお、以下では、上述のローカル座標空間の座標系をローカル座標系という。
【００３３】
また、すべてのオブジェクトは、共通の表示座標空間に表示される。この表示座標空間は、すべてのローカル座標空間が属する親とも呼べる絶対座標空間（以下、ワールド座標空間という）である。以下では、このワールド座標空間の座標系をワールド座標系という。
【００３４】
各オブジェクトのフレーム内における位置や大きさ（モデル・データに対しての大きさ）を表わすデータとしてのマトリックスは、親オブジェクトが存在しないオブジェクトの場合には、ワールド座標系からの相対マトリックスとして与えられる。ワールド座標系からの相対マトリックスは絶対マトリックス（以下「絶対マトリックス」という）である。
【００３５】
一方、親子関係の設定による子オブジェクトのフレーム内における位置や大きさを表わすマトリックスは、親オブジェクトのローカル座標系からの相対マトリックスとして与えられる。
【００３６】
そして、親オブジェクトが設定された子オブジェクトは、自己の移動などのみにより決まる子オブジェクト自身のローカル座標空間内に与えられる前記の親オブジェクトのローカル座標系からの相対マトリックスと、親オブジェクトの絶対マトリックスにより、ワールド座標系つまり表示座標空間上の位置、大きさが決まる。
【００３７】
親オブジェクトにさらに親オブジェクトが存在する場合には、絶対マトリックスではなく、その親の親のオブジェクトのローカル座標系からの相対マトリックスが用いられ、親が設定されていないオブジェクトに至るまで、その親のローカル座標系からの相対マトリックスを順次求め、すべての相対マトリックスを用いて子オブジェクトのワールド座標系内の位置、大きさが決まる。これについては、後述する。
【００３８】
このようにして、子オブジェクトの表示座標空間上の座標位置が求まり、親オブジェクトに追従するようなアニメーションになる。
【００３９】
レイアウト管理部２３は、キー・フレームの作成時においては、作成しているキー・フレームのレイアウト・データを作成し、これを保存する。このレイアウト・データは、キー・フレームの画像を形成するためのデータであり、入力装置１を介して供給されるキー・フレームの作成指示（オブジェクトの選択指示、移動指示、拡大縮小指示など）に基づいて作成される。
【００４０】
また、レイアウト管理部２３は、上述のレイアウト・データ、または、データ処理部２３からの一連のアニメーション・データに基づいて、作成中のキー・フレームの画像や、オブジェクト間に設定された親子関係の状態、あるいは、一連のアニメーションを、画像表示部５に表示するための表示データを作成する。
【００４１】
なお、表示データの作成にあたっては、オブジェクト管理部２１からのモデル・データや、親子関係管理部２２からの親子関係情報が用いられる。
【００４２】
画像表示部５は、陰極線管や液晶ディスプレイを備えており、レイアウト管理部２３からの表示データに基づいて、キー・フレームの画像あるいは、データ処理部３で作成された一連のアニメーション・データによるアニメーションを表示する。これにより、オペレータは、作成中のアニメーションを見て、確認しながら、キー・フレームや、一連のアニメーションを作成することができる。
【００４３】
データ処理部３は、キー・フレーム管理部３１とデータ補間部３２とを備えている。
【００４４】
キー・フレーム管理部３１は、レイアウト管理部２３で作成されたレイアウト・データの供給を受けて、キー・フレームの画像を形成するためのキー・フレーム・データを作成する。このキー・フレーム・データは、この例の場合、当該キー・フレームにおいて用いるオブジェクトのオブジェクトＩＤ、フレーム上の座標位置、回転角度などからなるデータである。
【００４５】
また、この例のキー・フレーム管理部３１は、親子関係管理部２２からの当該キー・フレームのオブジェクト間に設定された親子関係情報をオブジェクトに対応付けて管理する。これにより、親オブジェクトがある子オブジェクトのフレーム上の位置や大きさなどを、親オブジェクトのローカル座標系からの相対マトリックスによって表わすことができるようにしている。
【００４６】
また、この例の場合、キー・フレーム管理部３１は、作成しようとする一連のアニメーションに必要なすべてのキー・フレームのキー・フレーム・データを保持、管理するとともに、キー・フレームを含めた一連のアニメーションを構成するすべてのフレームの位置を管理する。この各フレームの位置は、一連のアニメーションの開始位置からの相対時間を用いて管理され、この例では、スタートフレームを「０」とした各フレームのフレーム番号によって管理する。
【００４７】
これにより、キー・フレーム管理部３１は、各キー・フレーム間に形成する補間フレームの枚数や各補間フレームの前後のキー・フレームからの位置をも把握できるようにされている。
【００４８】
データ補間部３２は、キー・フレーム管理部３１からのキー・フレーム・データと親子関係情報と、補間処理によって形成する補間フレームのフレーム番号の供給を受け、当該フレーム番号によって示される補間フレームを挟む２枚のキー・フレームを検知する。そして、その２枚のキー・フレームのキー・フレーム・データと、その２枚のキー・フレームの各オブジェクトに設定された親子関係情報と、当該補間フレームの上記２枚のキー・フレームからの距離に応じて、補間処理により、補間フレームの補間フレーム・データを形成する。
【００４９】
この例のアニメーション・データ作成装置においては、オペレータは、キー・フレームの作成時に、各キー・フレームごとに、そのキー・フレームを構成するオブジェクト間に親子関係を設定することができるようにされている。したがって、データ補間部３２においての補間処理で、前後２枚のキー・フレームのオブジェクトに設定された親子関係を利用することができる。
【００５０】
親子関係が隣り合う２枚のキー・フレームにおいて同じである場合のデータ補間部３２での補間処理について図２を用いて説明する。
【００５１】
図２において、２枚のキー・フレームＫ１、Ｋ２において、オブジェクトＡ、オブジェクトＢには、親オブジェクトは設定されておらず、オブジェクトＣには、図２において点線で示すように、オブジェクトＢが親オブジェクトとして設定されているとする。
【００５２】
このとき、オブジェクトＡ、オブジェクトＢの各ローカル座標空間は、ワールド座標空間内に存在し、オブジェクトＡは、絶対マトリックスによって、その座標位置や大きさなどが表わされる。同様に、オブジェクトＢは、絶対マトリックスによって、その座標位置や大きさのなどが表わされる。
【００５３】
また、オブジェクトＣのローカル座標空間は、オブジェクトＢのローカル座標空間内に存在し、オブジェクトＣは、オブジェクトＢのローカル座標系からの相対マトリックスによって座標位置や大きさなどが表わされる。
【００５４】
そして、図２に示すように、キー・フレームＫ１において、フレーム面に向ってオブジェクトＡの左側に位置していたオブジェクトＢ、オブジェクトＣが、キー・フレームＫ２においては、オブジェクトＡの右側に位置する場合のキー・フレームＫ１、Ｋ２間の補間処理について考える。
【００５５】
まず、親オブジェクトが設定されていないオブジェクトＡ、Ｂについて考えると、キー・フレームＫ１、Ｋ２においてオブジェクトＡ、Ｂは、絶対マトリックスによって、オブジェクトＡ、Ｂの位置や大きさが設定されている。したがって、キー・フレームＫ１、Ｋ２間の各補間フレームにおいてのオブジェクトＡ、Ｂの補間処理は、キー・フレームＫ１においてのオブジェクトＡ、Ｂの絶対マトリックスと、キー・フレームＫ２においてのオブジェクトＡ、Ｂの絶対マトリックスと、補間する補間フレームのキー・フレームＫ１、Ｋ２からの空間的な距離とに応じて、演算によりオブジェクトＡ、Ｂについての補間処理を行なう。
【００５６】
オブジェクトＣについては、キー・フレームＫ１、Ｋ２間で親子関係が同じであるため、キー・フレームＫ１、Ｋ２間の各補間フレームにおいても親子関係は変わらない。
【００５７】
そして、キー・フレームＫ１においてのオブジェクトＣのオブジェクトＢのローカル座標系からの相対マトリックスと、キー・フレームＫ２においてのオブジェクトＣのオブジェクトＢのローカル座標系からの相対マトリックスと、補間する補間フレームのキー・フレームＫ１、Ｋ２からの空間的な距離とに応じて、オブジェクトＣについての補間処理を行なう。
【００５８】
そして、用いられたすべてのオブジェクトについての補間処理を行なって、当該補間フレームの補間フレーム・データを形成する。この補間処理は、キー・フレームＫ１、Ｋ２間のすべての補間フレームについて同じように行なって補間フレーム・データを形成する。
【００５９】
このようにして、形成された各補間フレーム・データ、およびキー・フレームＫ１、Ｋ２のキー・フレーム・データによって、画像を表示する場合には、子オブジェクトの親オブジェクトからの相対マトリックスを、絶対マトリックスに変換する。
【００６０】
すなわち、この例においては、オブジェクトＣのオブジェクトＢのローカル座標系からの相対マトリックスをＭＢＣとし、オブジェクトＢの絶対マトリックスをＭＢとしたとき、オブジェクトＣの絶対マトリックスＭＢＣＷは、
ＭＢＣＷ＝ＭＢ×ＭＢＣ…（１）
となる。これにより、オブジェクトＣをすべてのオブジェクトに共通の表示座標空間（ワールド座標空間）内に表示することができる。
【００６１】
しかし、隣り合う２枚のキー・フレームにおいて、各キー・フレームの画像を構成するオブジェクトは共通であるが、親子関係が異なっていた場合には、当該２枚のキー・フレーム間において、親子関係が切れたことになる。
【００６２】
したがって、２枚のキー・フレームのデータとして得られているオブジェクトＣについての相対マトリックスは、それぞれ異なる親のローカル座標系からの相対マトリックスである。したがって、このオブジェクトＣについて、キー・フレームのデータとして得られている相対マトリックスを補間処理の対象としても、全く意味のないものとなる。
【００６３】
そこで、当該２枚のキー・フレームにおいて、親オブジェクトが異なる子オブジェクトのマトリックスを、共通の親からの相対マトリックス（共通する親からのローカル座標系からの相対マトリックス）に変換することにより、補間処理を行なうようにしなければならない。
【００６４】
以下の例では、全てのオブジェクトに共通するワールド座標系を共通の親として選んでいる。なお、共通する親は、ワールド座標系に限るものではなく、共通の親となり得るオブジェクトがあれば、当該親オブジェクトのローカル座標系であっても構わない。
【００６５】
例えば、図３に示すように、キー・フレームＫ１では、オブジェクトＤ、Ｅには親オブジェクトは設定されていないが、オブジェクトＦには、図３において点線で示すように、オブジェクトＤが、親オブジェクトとして設定されており、キー・フレームＫ１の次のキー・フレームＫ２では、オブジェクトＤ、Ｅには親オブジェクトは設定されていないが、オブジェクトＦには、図３において点線で示すように、オブジェクトＥが親オブジェクトとして設定されているとする。つまり、オブジェクトＦの親オブジェクトがキー・フレーム間で変わっているとする。
【００６６】
したがって、図３に示すキー・フレームＫ１では、オブジェクトＦは、オブジェクトＤのローカル座標系からの相対マトリックスを、その位置及び大きさの情報として有する。また、キー・フレームＫ２では、オブジェクトＦは、オブジェクトＥのローカル座標系からの相対マトリックスを、その位置及び大きさの情報として有する。
【００６７】
前述したように、このままでは、補間処理できないので、絶対マトリックスに、当該オブジェクトＦの位置及び大きさの情報を変換する。
【００６８】
すなわち、前述したように、オブジェクトＤの絶対マトリックスをＭＤとし、オブジェクトＥの絶対マトリックスをＭＥとし、また、キー・フレームＫ１におけるオブジェクトＦの親オブジェクトＤのローカル座標系からの相対マトリックスをＭＦＤ、キー・フレームＫ２におけるオブジェクトＦの親オブジェクトＥのローカル座標系からの相対マトリックスをＭＦＥとすると、オブジェクトＦのキー・フレームＫ１における絶対マトリックスＭＦＷ１、オブジェクトＦのキー・フレームＫ２における絶対マトリックスＭＦＷ２は、
ＭＦＷ１＝ＭＤ×ＭＦＤ…（２）
ＭＦＷ２＝ＭＥ×ＭＦＥ…（３）
により求めることができる。各マトリックスＭＤ、ＭＥ、ＭＦＤ、ＭＦＥはキー・フレーム・データから既知である。
【００６９】
こうして得られた絶対マトリックスＭＦＷ１、ＭＦＷ２を用いて、キー・フレームＫ１、Ｋ２間でオブジェクトＦについての補間処理を行なうことができる。
【００７０】
以上のようにして、２枚のキー・フレーム間で異なるように親子関係が設定された場合でも、これに左右されることなく、キー・フレームＫ１、Ｋ２間の補間フレーム・データを形成することができる。
【００７１】
なお、親子関係の階層構造が、いく層もある場合には、例えば、前述のキー・フレームＫ１において、オブジェクトＤの親が、オブジェクトＧで、オブジェクトＧの親がオブジェクトＨで、オブジェクトＨが、ワールド座標系の絶対マトリックスにより、その位置、大きさなどが設定されている場合には、ワールド座標系になるまで順を追って親オブジェクトを辿ってマトリックスを掛け合わせればよい。すなわち、オブジェクトＤの親オブジェクトＧのローカル座標系からの相対マトリックスをＭＤ、オブジェクトＧの親オブジェクトＨのローカル座標系からの相対マトリックスをＭＧ、オブジェクトＨの絶対マトリックスをＭＨとすると、
ＭＦＷ１＝ＭＨ×ＭＧ×ＭＤ×ＭＦＤ…（４）
のようにオブジェクトＦのキー・フレームＫ１における絶対マトリックスＭＦＷ１を求めることができる。
【００７２】
なお、上述のような場合、補間フレームでの補間処理は、ワールド座標系からの絶対マトリックスで行なうので、各補間フレームにおいては、補間するオブジェクトの親をワールド座標系として設定しておくのはもちろんである。
【００７３】
また、隣り合う２枚のキー・フレーム間で、親子関係が異なっていない場合には、前述のような親子関係の変換処理は必要なく、設定された親子関係情報を用いて補間処理を行なうようにする。
【００７４】
このようにして、データ補間部３２での補間処理が行なわれることにより形成された一連のアニメーション・データは、データ記憶部４に供給される。
【００７５】
データ記憶部４は、磁気ディスクや光ディスクを備えており、キー・フレーム及び補間フレームのデータからなる一連のアニメーション・データを記憶する。
【００７６】
なお、データ記憶部４には、アニメーション・データをイメージ・データとして記憶してもよい。
【００７７】
また、この例のアニメーション・データ作成装置は、図１に示したように、データ補間部３２で形成されたアニメーション・データをキー・フレーム管理部３１を介して、レイアウト管理部２３に供給し、ここで、一連のアニメーションを表示するための表示データを形成して、画像表示部５に一連のアニメーションを表示させることもできる。
【００７８】
なお、この一連のアニメーションの表示は、入力装置１を介して提供されるユーザからの指示に応じて行なわれ、表示スピードの調整などの指示を行なうこともできる。
【００７９】
次に、前述のデータ補間部３２においての補間処理について詳細に説明する。
【００８０】
この例のデータ補間部３２においての補間処理は、キー・フレームを構成するオブジェクトごとに、補間処理を行なう。例えば、前述の図３に示した例のようにオブジェクトＤ、Ｅ、Ｆにより構成されたキー・フレームＫ１、Ｋ２間の補間フレーム・データを形成する場合には、オブジェクトＤ→オブジェクトＥ→オブジェクトＦのように、順に各オブジェクトについての補間フレーム・データを形成し、形成されたオブジェクトＤ、オブジェクトＥ、オブジェクトＦについての各補間フレーム・データを重ね合わせることによって、１枚の補間フレーム・データを形成する。
【００８１】
そして、１枚の補間フレーム・データが形成されると、次のフレーム番号で示される補間フレームの補間フレーム・データを形成する。このように、データ補間部３２では、オブジェクトごと、補間フレーム単位に、補間フレーム・データを形成していく。
【００８２】
また、データ補間部３２でのオブジェクトごとの補間処理において、例えば、図３のキー・フレームＫ１、Ｋ２の構成するオブジェクトＤ、Ｅのように、親となるオブジェクトが設定されていないオブジェクト、すなわち、絶対マトリックスによって位置や大きさが表わされるオブジェクトに対しては、この絶対マトリックスに応じて、前述したような補間処理を実行する。
【００８３】
そして、図３に示すオブジェクトＦのように、親オブジェクトに従属している場合には、以下に説明するようにして、当該オブジェクトの補間処理を行なう。
【００８４】
図４は、図３に示したオブジェクトＦについての補間処理について説明するためのフローチャートである。
【００８５】
データ補間部３２において、親オブジェクトに従属しているオブジェクトＦが検知されると、データ補間部３２は、キー・フレーム・データから、オブジェクトＦのキー・フレームＫ１における親オブジェクトＩＤと、キー・フレームＫ２における親オブジェクトＩＤを求め、それぞれＰｉｄ１、Ｐｉｄ２に設定する（ステップ１０１）。この親オブジェクトＩＤは、キー・フレーム管理部３１から供給された、当該処理中のキー・フレームの親子関係情報より、求めることができる。
【００８６】
そして、求めた親オブジェクトＩＤが、キー・フレームＫ１と、キー・フレームＫ２において異なって入るか否かを判断する（ステップ１０２）。ステップ１０２の判断処理において、親オブジェクトがキー・フレームＫ１とキー・フレームＫ２とで異なっていると判断されると、キー・フレームＫ１とキー・フレームＫ２におけるオブジェクトＦの座標変換を行なうマトリックスを絶対マトリックスとなるように変換する（ステップ１０３）。絶対マトリックスは、前述した式（２）、（３）のように演算により求めることができる。
【００８７】
ステップ１０３の処理において、オブジェクトＦのマトリックスを絶対マトリックスに変換したことに伴って、オブジェクトＦの親オブジェクトを、この例の場合、ワールド座標系に設定する（ステップ１０４）。
【００８８】
そして、前述したように、前後２枚のキー・フレーム、この場合、キー・フレームＫ１、Ｋ２と、上述のように設定された親子関係情報とに基づいて、オブジェクトＦについての補間処理を行なう（ステップ１０５）。
【００８９】
また、ステップ１０２の判断処理において、親オブジェクトが異なっていないと判断された場合には、この例においては、キー・フレームＫ１とキー・フレームＫ２において、オブジェクトＦは、共通する親オブジェクトのローカル座標系からの相対マトリックスによって、位置や大きさが示されているため、マトリックスの変換処理などする必要がなく、ステップ１０５の処理に進み、補間処理が行なわれる。
【００９０】
また、キー・フレーム・データが多数枚ある場合には、図４に示した補間処理は、例えば、キー・フレームＫ１、Ｋ２間の補間フレーム・データの形成が終了すると、次に、キー・フレームＫ２と、キー・フレームＫ２に続くキー・フレームＫ３との間で行なうようにする。すなわち、対象とするキー・フレームを時間方向にスライドさせることにより、一連のアニメーション・データを作成することができる。
【００９１】
また、ステップ１０４の処理は、共通する親オブジェクトが、ワールド座標系に至る前にあった場合には、当該共通の親オブジェクトを親オブジェクトとして設定し、補間処理を行なうようにすればよい。
【００９２】
【発明の効果】
以上説明したように、この発明によるアニメーション・データ作成装置によれば、キー・フレームごとにオブジェクト間の親子関係を管理しているので、キー・フレーム間でオブジェクトの親子関係が変わるアニメーションを、キー・フレームに基づく補間処理によって適切に作成することができる。
【００９３】
したがって、アニメーションを構成するオブジェクトの親子関係を親子関係が一定となるシーンだけに設定するという制約をなくすことができ、より柔軟にアニメーションを作成することができるアニメーション・データ作成装置を提供することができる。
【図面の簡単な説明】
【図１】この発明によるアニメーション・データ作成装置の一実施例を説明するためのブロック図である。
【図２】この発明によるアニメーション・データ作成装置の一実施例において、アニメーションを構成するオブジェクトの親子関係が、隣り合う２枚のキー・フレームで一致している場合の補間処理を説明するための図である。
【図３】この発明によるアニメーション・データ作成装置の一実施例において、アニメーションを構成するオブジェクトの親子関係が、隣り合う２枚のキー・フレーム間で異なる場合の補間処理を説明するための図である。
【図４】この発明によるアニメーション・データ作成装置の一実施例において行なわれる親子関係が設定されたオブジェクトの補間処理について説明するためのフローチャートである。
【図５】キー・フレームと補間フレームによって形成されるアニメーション・データを説明するための図である。
【符号の説明】
１    入力装置
２    データ設定部
２１  オブジェクト管理部
２２  親子関係管理部
２３  レイアウト管理部
３    データ処理部
３１  キー・フレーム管理部
３２  データ補間部
４    データ記憶部
５    画像表示部
【図１】
0003683939.tif 000002
【図２】
0003683939.tif 000003
【図３】
0003683939.tif 000004
【図４】
0003683939.tif 000005
【図５】
0003683939.tif 000006