JP2004013629A - 三次元画像生成装置および三次元画像生成方法 - Google Patents
三次元画像生成装置および三次元画像生成方法 Download PDFInfo
- Publication number
- JP2004013629A JP2004013629A JP2002167770A JP2002167770A JP2004013629A JP 2004013629 A JP2004013629 A JP 2004013629A JP 2002167770 A JP2002167770 A JP 2002167770A JP 2002167770 A JP2002167770 A JP 2002167770A JP 2004013629 A JP2004013629 A JP 2004013629A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shape
- animation
- unit
- dimensional
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【目的】三次元物体の形状のアニメーションを表現する場合に、データの記憶領域が小さくて済む三次元画像生成装置を提供する。
【構成】同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する入力部10と、画像データを格納する共有形状保存部30および動作アニメーション保存部40と、前記入力部10によって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す複数の動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして前記共有形状保存部30および動作アニメーション保存部40に格納するモデリング部20とを備える。
【選択図】 図1
【構成】同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する入力部10と、画像データを格納する共有形状保存部30および動作アニメーション保存部40と、前記入力部10によって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す複数の動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして前記共有形状保存部30および動作アニメーション保存部40に格納するモデリング部20とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、三次元コンピュータグラフィックスの分野において、三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置および三次元画像生成方法に関する。
【0002】
【従来の技術】
従来、三次元コンピュータグラフィックスにおいては、オブジェクトとなる三次元物体の形状は、ポリゴンと呼ばれる多角形の集合等で構成され、ポリゴンの頂点位置の組として表現される。そして、三次元コンピュータグラフィックスにおいては、三次元物体の形状にアニメーションが割り当てられることによって、三次元コンピュータグラフィックスにおけるアニメーションが実現される。なお、ここでは、アニメーションを、動作アニメーションと形状変形アニメーションに分類することとする。ここで、動作アニメーションとは、三次元物体の形状に対する位置、回転角度、拡大・縮小等の組合せの変化を時系列に並べたものとして表されるアニメーションであり、三次元物体の形状が動作をするアニメーションをいうものとする。そして、形状変形アニメーションとは、ポリゴン等の頂点位置の変化を時系列に並べたものとして表されるアニメーションであり、三次元物体の形状そのものに変化を与えるアニメーションをいうものとする。
【0003】
これらの三次元物体のアニメーションを作成する方法の代表的な技法として、キーフレーム法と呼ばれる技法がある。このキーフレーム法とは、いくつかの代表的なフレームごとに、三次元物体の形状や位置を指定して、各フレーム間を補間してアニメーションを作成する技法である。ここで、キーフレームとは、ある時間における形状の平行移動、回転、拡大・縮小が加えられた後の位置や、ある時間におけるポリゴン等の頂点位置の状態をいい、いくつかのキーフレームによりアニメーションが構成される。
【0004】
すなわち、コンピュータを用いて三次元物体の形状とアニメーションを構成するキーフレームをモデリングすることによって、三次元物体の形状データが作成され、コンピュータを用いて三次元物体の形状に割り当てられたアニメーションを構成するキーフレームをモデリングすることによって、三次元物体の位置、回転角度及び拡大・縮小率を計算し、キーフレーム間を自動補間して、アニメーションデータが作成される。従って、三次元物体の形状データとアニメーションデータは、常に対となって保存され、レンダリング処理を経てアニメーションが再生されるようになっている。以下に、図を用いて、より具体的に説明する。
【0005】
図18は、従来における三次元画像生成装置の構成例を示す機能ブロック図である。この三次元画像生成装置は、入力部1、モデリング部2、形状・アニメーション保存部3、レンダリング部4及び表示部5から構成されており、形状・アニメーション保存部3が、形状データとアニメーションデータとを、常に対にして保存する。
【0006】
図19は、当該三次元画像生成装置のモデリング部2におけるモデリング処理を模式的に表す図である。ここで、図19の(a)に示すように、「人間」という三次元物体に「歩く」というアニメーションを割り当てた場合、三次元物体の形状と割り当てられたアニメーションをキーフレームごとに、すなわちキーフレームA・B・Cごとに保存する。また、図19の(b)に示すように、同じ形状の「人間」という三次元物体に「腕を上げる」というアニメーションを割り当てた場合も同様に、三次元物体の形状と割り当てられたアニメーションをキーフレームごと、すなわちキーフレームD・E・Fごとに保存する。さらに、図19の(c)に示すように同じ形状の「人間」という三次元物体に「歩いて立ち止まり、腕を上げる」というアニメーションを割り当てた場合は、アニメーションは、「歩いて立ち止まり、腕を上げる」という一連の流れとして捉えられ、三次元物体の形状と割り当てられたアニメーションをキーフレームごと、すなわちキーフレームA’・B’・C’・D’・E’・F’ごとに保存する。
【0007】
このように、三次元物体の形状とアニメーションとを対にして保存しておくことで、レンダリング部4、表示部5および表示装置6によって、アニメーションごとに画像を復元して再生することができる。
【0008】
【発明が解決しようとする課題】
しかしながら、「人間」というオブジェクトの形状が同一であり、当該形状に対するアニメーションが異なる場合においても、キーフレームごとに形状とアニメーションを対にして保存することは、同一の形状を重複して保存することとなるため、形状データや、その表面の色柄を表すテクスチャという画像データや、反射属性データを格納する記憶領域が大きくなるという問題がある。
【0009】
また、アニメーションの中には、オブジェクトの形状の一部のみが変化するアニメーションも存在するため、オブジェクトの形状の全体について各キーフレームを作成することは、アニメーションデータを格納する記憶領域が大きくなるという問題もある。
さらに、独立したアニメーションを複数組み合わせる場合であっても、一つの独立したアニメーションとして作成する必要があるため、メモリ資源を効率的に用いることができず、アニメーション作成を行なうユーザの労力も大きいという問題もある。
【0010】
そこで、本発明は、かかる問題点を鑑みなされたものであり、三次元物体の同一形状に複数のアニメーションを割り当てる場合に、データを格納する記憶領域が小さくて済む三次元画像生成装置および三次元画像生成方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る三次元画像生成装置は、次のような技術的手段を講じている。
【0012】
すなわち、三次元物体の形状とアニメーションを構成するキーフレームをモデリングした後に、形状データとアニメーションデータを分離して保存し、重複する形状データを保存せずに、一つの形状データをアニメーションデータに対して共有化する。具体的には、「人間」という三次元物体の形状であれば、形状のみを保存し、当該形状に対応する各アニメーション、例えば、「歩く」、「腕を上げる」等に共有化する。他方、アニメーションは、アニメーションのみで保存し、当該形状を共有化することにより、複数のアニメーションを組み合わせること、例えば、「歩く」と「腕を上げる」を組み合わせることを可能とする。さらに、三次元物体のアニメーションが、オブジェクトの形状の一部が動作するアニメーションである場合に、当該動作部位の動作のみを保存する。具体的には、「腕を上げる」については、動作する部位である「人間」の「腕部」の動作のみを保存し、動作しない部位、例えば、「脚部」等の部位を保存しないこととする。
【0013】
なお、本発明は、このような三次元画像生成装置を三次元画像生成方法として実現することができ、また、三次元画像生成装置が備える特徴的な機能をコンピュータに発揮させるプログラムとして実現することもできる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態における三次元画像生成装置について図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における三次元画像生成装置の構成を示す機能ブロック図である。三次元画像生成装置は、三次元物体のアニメーションを生成するソフトウェアを実行するコンピュータ等であり、入力部10、モデリング部20、共有形状保存部30、動作アニメーション保存部40、レンダリング部50および表示部60から構成される。
【0015】
入力部10は、ユーザから三次元画像のオブジェクトとなる物体の形状作成指示、アニメーション指示を受け付けるキーボード、マウス等であり、ユーザからの指示をモデリング部20およびレンダリング部50に送る。
モデリング部20は、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成及びアニメーションの作成を行なう三次元モデラ等であり、データ作成部21、形状処理部22及び動作アニメーション処理部23から構成される。
【0016】
データ作成部21は、入力部10からユーザの指示を受け取り、その指示に従って、オブジェクトの形状データを作成し、オブジェクトに動作アニメーションを割り当て、動作データを作成する処理部である。データ作成部21は、作成した形状データと動作データを、各々分離し、形状データを、形状処理部22に送り、動作データを、動作アニメーション処理部23に送る。形状処理部22は、データ作成部21が作成した形状データのみを受け取り、共有形状データと共有しない形状データとに分離し、共有形状データだけを共有形状保存部30に格納する処理部である。動作アニメーション処理部23は、データ作成部21が作成した動作データのみを受け取り、動作データを動作アニメーション保存部40に格納する処理部である。
【0017】
共有形状保存部30は、共有形状データを格納する記憶部であり、形状処理部22から共有形状データを受け取り、記憶する。動作アニメーション保存部40は、動作データを格納する記憶部であり、動作アニメーション処理部23から動作データを受け取り、記憶する。
【0018】
レンダリング部50は、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと動作アニメーション保存部40が保持している動作データとを用いて描画を行なう処理部であり、形状データ復元部51と画像データ生成部52とから構成される。形状データ復元部51は、共有形状保存部30が保持している共有形状データを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。画像データ生成部52は、形状データ復元部51が復元した形状データと動作アニメーション保存部40が保持している動作データとを用いて、三次元から二次元への投影処理、物体の移動、拡大・縮小、回転等の変換処理を行なって、アニメーションを描画する処理部であり、描画したアニメーションを、画像データに生成して、表示部60に送る。
【0019】
表示部60は、画像データ生成部52が生成した画像データをコンピュータの画面に表示するためのビデオ信号に変換する処理部であり、コンピュータのグラフィックボード等である。表示部60は、ビデオ信号に変換したアニメーションを、表示装置70に送信する。
表示装置70は、再生するアニメーションを外部出力する装置であり、CRTディスプレイ等の表示装置である。
【0020】
以上のように構成された本発明の実施の形態1における三次元画像生成装置の動作について、説明する。
図2は、本発明の実施の形態1における三次元画像生成装置による保存処理の流れを示すフロー図である。
【0021】
まず、データ作成部21は、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体の形状データを作成する(S1)。このデータ作成部21は、三次元物体の形状をデータ化して定義し、物体にテクスチャを加えて、物体の形状データを作成する。そして、形状処理部22は、データ作成部21が作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S2)。
【0022】
次に、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S3)。このとき、データ作成部21は、当該形状に一の動作を与え、その動作を座標の平行移動、回転角度、拡大・縮小率によってデータ化して定義し、一の動作データを作成する。そして、動作アニメーション処理部23は、データ作成部21が作成した動作データを、動作アニメーション保存部40に格納する(S4)。このとき、動作アニメーション処理部23は、動作データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。
【0023】
さらに、データ作成部21は、動作データを追加作成するか否かの選択を受け付ける(S5)。動作データを追加作成する場合は、データ作成部21は、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S3)、動作アニメーション処理部23が、データ作成部21が作成した動作データを、動作アニメーション保存部40に格納し(S4)、この処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。
【0024】
このようにして、共有形状データを共有形状保存部30に格納し、動作データを動作アニメーション保存部40に格納することによって、共有形状データと動作データとを各々別個に保存し、一の共有形状データを、複数の動作データに対して共有化する。
【0025】
なお、三次元物体の形状は、ポリゴンの集合等で構成されることから、形状処理部22は、共有形状データを、例えば、ポリゴンの頂点データとして、共有形状保存部30に格納する。そして、三次元物体のアニメーションは、キーフレーム法等によって作成されることから、動作アニメーション処理部23は、動作データを、例えば、ある時点における位置、回転角度及び拡大・縮小量をキーフレームデータとして、いくつかのキーフレームデータを集めたものを、動作アニメーション保存部40に格納する。
【0026】
図3は、本発明の実施の形態1における三次元画像生成装置のモデリング部20におけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「歩く」を用いた場合を想定して説明する。図3(a)は、三次元物体の形状「人間」を表す図であり、図3(b)は、アニメーション「歩く」を割り当てた図である。ここで、図3(b)において、図3(a)に示す「人間」101の形状データを動作データと別個に保存することを表すため、「人間」101の形状を破線で表す。
【0027】
まず、データ作成部21は、入力部10を介して、図3(a)に示すように、ユーザからA座標(a,b,c)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体の形状データを作成する。続いて、形状処理部22は、データ作成部21が作成した形状データを、前述の保存処理フローに従って処理する。
【0028】
一方、データ作成部21は、これらの頂点座標の値、すなわち、図3(b)に示すように、A1(a1,b1,c1)、Z1座標(x1,y1,z1)を初期値として、キーフレーム1を作成する。次に、データ作成部21は、入力部10を介して、ユーザから、三次元物体の平行移動、回転角度、拡大・縮小の指示を受けて、図3(b)に示すように、A10座標(a10,b10,c10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21は、同様の処理を繰り返し、図3(b)に示すように、An座標(an,bn,cn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21は、各キーフレームを作成して、作成した各キーフレームを用いて「歩く」という動作アニメーションを表現する。そして、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出して、動作データを作成する。続いて、動作アニメーション処理部23は、データ作成部21が作成した動作データを、前述の保存処理フローに従って処理する。
【0029】
図4は、本発明の実施の形態1における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50は、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S10)。次に、形状データ復元部51は、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50は、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる動作アニメーションの選択を受け付ける(S11)。このとき、レンダリング部50は、ユーザが選択することができる動作アニメーションを、前記保存処理において動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。
【0030】
次に、レンダリング部50は、前記選択した形状に対して、動作アニメーションを追加するか否かの選択を受け付ける(S12)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S11)、前述の処理を繰り返す。動作アニメーションを追加しない場合は、形状データ復元部51は、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S13)。その後、画像データ生成部52は、前記選択した動作アニメーションについての動作データを動作アニメーション保存部40から読み出し、形状データ復元部51が復元した形状データと動作アニメーション保存部40から読み出した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S14)。
【0031】
その後、表示部60は、三次元物体のアニメーションを外部出力するため、レンダリング部50が生成した画像データをビデオ信号に変換して、表示装置70に送信し、表示装置70が、三次元物体のアニメーションを外部出力する。
【0032】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状と当該形状に割り当てる動作アニメーションが複数存在する場合に、重複した形状データを保存しないで、一の形状データを共有形状データとして保存し、複数の動作データに対して共有化する。そして、レンダリング時に、アニメーションの再生に必要な形状データに復元する。これによって、形状データを格納する記憶部の容量を節約することができる。
【0033】
そして、レンダリング時には、形状を選択し、当該形状に割り当てる動作アニメーションを自由に組み合わせて選択することができるので、動作アニメーションの組合せに係る動作データを別個独立に作成する必要がない。これによって、メモリ資源の効率的な利用が可能となり、ユーザの編集も容易化できる。
【0034】
(実施の形態2)
次に、本発明の実施の形態2における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1における三次元画像生成装置の構成とほぼ共通するが、モデリング部20aとレンダリング部50aとが異なることによって、動作データを、動作アニメーションが割り当てられた部位と動作アニメーションが割り当てられていない部位とに分離して保存するため、動作データの記憶領域を削減することができる点で、実施の形態1と異なる。
【0035】
すなわち、三次元物体の形状に、動作をする部位と動作しない部位がある場合は、動作をする部位の動作のみを動作部位データとして保存する。例えば、「腕を上げる」という動作アニメーションの場合、左右一方又は両方の腕部は、上方へ動作をする部位となるが、頭部や脚部等は動作しない部位となる。この場合、動作しない頭部や脚部については、動作データとして保存しないで、上方へ動作をする左右一方又は両方の腕部についてのみ動作データを保存する。このように、動作データを、動作アニメーションが割り当てられた部位と動作アニメーションが割り当てられていない部位とに分離して、動作アニメーションが割り当てられた部位の動作データを、動作部位データとして保存することによって、動作データの記憶領域を減らすことができる。
【0036】
以下、実施の形態1と異なる点を中心に説明する。なお、実施の形態1と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図5は、本発明の実施の形態2における三次元画像生成装置の構成を示す機能ブロック図である。モデリング部20aは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21、形状処理部22及び動作アニメーション処理部23aから構成される。
【0037】
動作アニメーション処理部23aは、データ作成部21が作成した動作データのみを受け取り、動作データが、形状の全部が動作するデータであるのか、形状の一部が動作するデータであるのかを判断して、形状の一部が動作するデータである場合に、動作する部位についての動作部位データを動作アニメーション保存部40に格納する処理部である。
【0038】
レンダリング部50aは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと動作アニメーション保存部40が保持している動作部位アニメーションデータを用いて描画を行なう処理部であり、形状データ復元部51、画像データ生成部52および動作データ復元部53から構成される。
動作データ復元部53は、動作アニメーション保存部40が保持している動作部位データを読み出し、動作データに復元する処理部であり、復元した動作データを画像データ生成部52に送る。
【0039】
以上のように構成された本発明の実施の形態2における三次元画像生成装置の動作について説明する。
図6は、本発明の実施の形態2における三次元画像生成装置による保存処理の流れを示すフロー図である。まず、実施の形態1における保存処理フローと同様に、データ作成部21は、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体の形状データを作成する(S20)。そして、形状処理部22は、データ作成部21が作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S21)。
【0040】
次に、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S22)。そして、動作アニメーション処理部23aは、データ作成部21が作成した動作データが、当該物体の形状の一部が動作するデータであるのか、当該物体の形状の全部が動作するデータであるのかを判断する(S23)。このとき、形状の一部が動作する場合は、動作アニメーション処理部23aは、動作する部位の動作データのみを、動作部位データとして、動作アニメーション保存部40に格納する(S24)。一方、形状の全部が動作する場合は、動作アニメーション処理部23aは、形状全体の動作データを動作アニメーション保存部40に格納する(S25)。このとき、動作アニメーション処理部23aは、動作部位データ又は動作データに、当該動作部位データ又は当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。
【0041】
さらに、データ作成部21は、動作データを追加作成するか否かの選択を受け付ける(S26)。動作データを追加作成する場合は、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成し(S22)、前述の保存処理を繰り返す。
【0042】
このようにして、共有形状データを共有形状保存部30に格納し、動作部位データ又は動作データを動作アニメーション保存部40に格納することによって、共有形状データと動作部位データ又は動作データとを各々別個に保存し、一の共有形状データを、複数の動作部位データや複数の動作データに対して共有化する。
【0043】
図7は、本発明の実施の形態2における三次元画像生成装置のモデリング部20aにおけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、前記実施の形態1と同一の「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「腕を上げる」を用いた場合を想定して説明する。図7(a)は、三次元物体の形状「人間」を表す図であり、図7(b)は、アニメーション「腕を上げる」を割り当てた図である。ここで、図7(b)において、図7(a)に示す「人間」101の形状データを動作部位データと別個に保存することを表すため、動作部位データとして保存する部位である「人間の腕部」201の形状を破線で表し、動作部位データとして保存しない部位である「人間の頭部」202や「人間の脚部」203の形状を一点鎖線で表す。
【0044】
まず、データ作成部21は、入力部10を介して、図7(a)に示すように、A座標(a,b,c)、B座標(d,e,f)、Y座標(u,v,w)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体の形状データを作成する。そして、形状処理部22は、データ作成部21が作成した形状データを、前記保存処理に従って処理する。次に、データ作成部21は、各頂点座標の値、すなわち、図7(b)に示すように、A1座標(a1,b1,c1)、B1座標(d1,e1,f1)、Y1座標(u1,v1,w1)、Z1座標(x1,y1,z1)を初期値として、キーフレーム1を作成する。続いて、データ作成部21は、入力部10を介して、ユーザから、三次元物体の平行移動、回転角度、拡大・縮小の指示を受けて、図7(b)に示すように、A10(a10,b10,c10)、B10座標(d10,e10,f10)、Y10座標(u10,v10,w10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21は、同様の処理を繰り返し、図7(b)に示すように、An座標(an,bn,cn)、Bn座標(dn,en,fn)、Yn座標(un,vn,wn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21は、各キーフレームを作成し、作成した各キーフレームを用いて、「腕を上げる」という動作アニメーションを表現する。そして、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出して、動作データを作成する。
【0045】
ここで、データ作成部21が作成した動作アニメーションは、「人間の腕部」201のみが動作をするアニメーションであり、「人間の頭部」202や「人間の脚部」203が動作をしないアニメーションである。そこで、動作アニメーション処理部23aは、データ作成部21が作成した動作データを、動作をする部位と動作をしない部位とに分離する。そして、動作アニメーション処理部23aは、動作をする部位についてのみ、すなわち、B座標、Y座標等の頂点座標の値が変化する頂点座標についてのみ、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出し、動作部位データとして、動作アニメーション保存部40に格納する。
【0046】
図8は、本発明の実施の形態2における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50aは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S30)。次に、形状データ復元部51は、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。
【0047】
次に、レンダリング部50aは、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる動作アニメーションの選択を受け付ける(S31)。このとき、レンダリング部50aは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作部位データ又は動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、動作データ復元部53は、動作アニメーション保存部40が保持している動作部位データを、ユーザの選択に従って、動作アニメーション保存部40から読み出す。そして、動作データ復元部53は、前記動作アニメーション保存部40から読み出した動作部位データを、前記選択した動作アニメーションの描画に必要な動作データに復元する(S32)。
【0048】
さらに、レンダリング部50aは、前記選択した形状に対して、動作アニメーションを追加するか否かの選択を受け付ける(S33)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S31)、前述の処理を繰り返す。動作アニメーションの追加をしない場合は、形状データ復元部51は、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S34)。その後、画像データ生成部52は、形状データ復元部51が復元した形状データと動作データ復元部53が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S35)。
【0049】
このように、本実施の形態によれば、一の形状データを共有形状データとして保存し、複数の動作データに対して共有化し、レンダリング時に、アニメーションの再生に必要な形状データに復元する。さらに、動作データの中でも動作をしない部位についての動作データを保存しないで、動作をする部位についての動作データだけを動作部位データとして保存し、レンダリング時に、アニメーションの再生に必要な動作データに復元する。これによって、形状データを格納する記憶部の容量だけでなく、動作データを格納する記憶部の容量をも節約することができる。
【0050】
(実施の形態3)
次に、本発明の実施の形態3における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1及び2における三次元画像生成装置の構成と共通する点が多いが、モデリング部20bとレンダリング部50bが異なることに加えて、形状変形アニメーション保存部31を備えていることにより、形状データを、形状の頂点が変化する部位と形状の頂点が変化しない部位とに分離して保存するため、形状データの記憶領域を削減することができる点で、実施の形態1及び2と異なる。ここで、形状の頂点が変化するとは、物体の形状それ自体が変化することをいい、形状変形アニメーションが割り当てられていることをいう。
【0051】
すなわち、三次元物体のオブジェクト形状データに、形状変形アニメーションが割り当てられた部位と形状変形アニメーションが割り当てられていない部位がある場合は、これらを分離させて、形状変形アニメーションが割り当てられた部位は、形状の変化を形状変形データとして保存し、形状変形アニメーションが割り当てられていない部位は、共有形状データのみを保存することによって、形状変形アニメーションが割り当てられていない部位の形状データを、形状変形アニメーションが割り当てられた部位の形状変形データ及び動作データに対して共有化することができる。このようにして、形状変形アニメーションにおいても、形状データの記憶領域を少なくすることができる。
【0052】
以下、実施の形態1及び2と異なる点を中心に説明する。なお、実施の形態1及び2と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図9は、本発明の実施の形態3における三次元画像生成装置の構成を示す機能ブロック図である。この三次元画像生成装置は、モデリング部20b、レンダリング部50bおよび形状変形アニメーション保存部31等から構成される。
【0053】
モデリング部20bは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成、形状変形アニメーション及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21a、形状処理部22a及び動作アニメーション処理部23から構成される。
【0054】
データ作成部21aは、入力部10からユーザの指示を受け取り、その指示に従って、オブジェクト形状データと、オブジェクトに形状変形アニメーションを割り当て、形状変形データを作成し、さらに、動作アニメーションを割り当て、動作データを作成する処理部である。ここで、オブジェクト形状データとは、三次元物体の形状を構成する各頂点座標値を集合したものであり、形状変形データとは、形状変形アニメーションを構成する各キーフレームにおける各頂点座標値の変化をキーフレームごとに集合したものである。そして、形状データとは、オブジェクト形状データと、形状変形データとを併せたものをいうこととする。形状処理部22aは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データと形状変形データとに分離して受け取り、共有形状データだけを共有形状保存部30に格納する処理部である。さらに、形状処理部22aは、形状変形データを、形状の全部が変形するデータであるのか、形状の一部が変形するデータであるのかを判断し、形状変形データを形状変形アニメーション保存部31に格納する。
【0055】
形状変形アニメーション保存部31は、形状変形データを格納する記憶部であり、形状処理部22aから形状変形データを受け取り、記憶する。
レンダリング部50bは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと、形状変形アニメーション保存部31が保持している形状変形データと、動作アニメーション保存部40が保持している動作データとを用いて描画を行なう処理部であり、形状データ復元部51aと画像データ生成部52とから構成される。形状データ復元部51aは、共有形状保存部30が保持している共有形状データと形状変形アニメーション保存部31が保持している形状変形データとを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。
【0056】
以上のように構成された本発明の実施の形態3における三次元画像生成装置の動作について説明する。
図10は、本発明の実施の形態3における三次元画像生成装置による保存処理の流れを示すフロー図である。まず、データ作成部21aは、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体のオブジェクト形状データを作成し(S40)、当該三次元物体の形状を変形させる形状変形データを作成する(S41)。次に、形状処理部22aは、データ作成部21aが作成した形状変形データが、形状の全体が変形するデータであるのか、形状の一部が変形するデータであるのかを判断する(S42)。このとき、形状の一部が変形する場合は、形状処理部22aは、データ作成部21aが作成したオブジェクト形状データを、変形する部位と変形しない部位とに分離し(S43)、変形しない部位のオブジェクト形状データを、共有形状データと共有しない形状データとに分離して、変形しない部位の共有形状データだけを共有形状保存部30に格納する(S44)。その後、形状処理部22aは、変形する部位の形状変形データを、形状変形アニメーション保存部31に格納する(S45)。一方、形状の全体が変形する場合は、形状処理部22aは、形状変形データを、形状変形アニメーション保存部31に格納する(S45)。このとき、形状処理部22aは、形状変形データに、当該形状変形データが共有している共有形状データの情報属性を与えて、形状変形アニメーション保存部31に格納する。
【0057】
さらに、データ作成部21aは、形状変形データを追加作成するか否かの選択を受け付ける(S46)。形状変形データを追加作成する場合は、データ作成部21aは、当該三次元物体の形状を変形させる形状変形データを作成し(S41)、前述の保存処理を繰り返す。一方、形状変形データを追加作成しない場合は、データ作成部21aは、当該三次元物体の形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S47)。
【0058】
動作アニメーションを割り当てる場合は、データ作成部21aは、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S48)。そして、動作アニメーション処理部23は、データ作成部21aが作成した動作データを、動作アニメーション保存部40に格納する(S49)。このとき、動作アニメーション処理部23は、動作データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。さらに、データ作成部21aは、動作データを追加作成するか否かの選択を受け付ける(S50)。動作データを追加作成する場合は、データ作成部21aは、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S48)、前述の保存処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。また、動作アニメーションを割り当てない場合も、保存処理を終了する。
【0059】
このようにして、形状が変形しない部位の共有形状データを共有形状保存部30に格納し、形状変形データを形状変形アニメーション保存部31に格納し、動作データを動作アニメーション保存部40に格納することによって、形状が変形しない部位の共有形状データと形状変形データと動作データとを別個に保存し、形状が変形しない部位の一の共有形状データを、複数の形状変形データや複数の動作データに対して共有化する。
【0060】
図11は、本発明の実施の形態3における三次元画像生成装置のモデリング部20bにおけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、実施の形態1及び2と同一の「人間」101を用い、当該三次元物体の形状が変形するアニメーションとして、「当該人間の頭部が丸い形状から四角形状に変形する」を用いた場合を想定して説明する。図11(a)は、三次元物体の形状「人間」を表す図であり、図11(b)は、アニメーション「当該人間の頭部が丸い形状から四角形状に変形する」を割り当てた図である。ここで、図11(b)において、図11(a)に示す「人間」101の形状データを形状変形データと別個に保存することを表すため、形状が変形する部位である「人間の頭部」301を実線で表し、形状が変形しない部位である「人間の胴体部」302については破線で表す。
【0061】
まず、データ作成部21aは、入力部10を介して、図11(a)に示すように、ユーザからB座標(d,e,f)、C座標(g,h,i)、X座標(r,s,t)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。続いて、形状処理部22aは、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理フローに従って処理する。
【0062】
次に、データ作成部21aは、各頂点座標の値、すなわち、図11(b)に示すように、B1座標(d1,e1,f1)、C1座標(g1,h1,i1)、X1座標(r1,s1,t1)、Z1座標(x1,y1,z1)等を初期値として、キーフレーム1を作成する。続いて、データ作成部21aは、入力部10を介して、ユーザから、三次元物体の形状を構成する頂点位置の変化の指示を受けて、図11(b)に示すように、B10座標(d10,e10,f10)、C10座標(g10,h10,i10)、X10(r10,s10,t10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21aは、同様の処理を繰り返し、図11(b)に示すように、Bn座標(dn,en,fn)、Cn座標(gn,hn,in)、Xn座標(rn,sn,tn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21aは、各キーフレームを作成し、作成した各キーフレームを用いて、「人間の頭部が丸い形状から四角形状に変形する」という形状変形アニメーションを表現する。そして、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データを作成する。
【0063】
ここで、データ作成部21aが作成した形状変形アニメーションは、「人間の頭部」301の形状が変形するアニメーションであり、「人間の胴体部」302の形状は変形しないアニメーションである。そこで、形状処理部22aは、データ作成部21aが作成した形状変形データを、形状が変形する部位と形状が変形しない部位とに分離する。そして、形状処理部22aは、形状が変形する部位についてのみ、すなわち、C座標(g,h,i)、X座標(r,s,t)座標等の頂点位置が変化する座標についてのみ、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データとして、形状変形アニメーション保存部31に格納する。
【0064】
また、この形状変形アニメーションが割り当てられた三次元物体に、実施の形態1及び2において具体例として挙げたように、「歩く」や「腕を上げる」という動作アニメーションを割り当てることも可能である。すなわち、前述の「人間」の形状に「歩く」という動作アニメーションを割り当てると共に、「当該人間の頭部が丸い形状から四角形状に変形する」という形状変形アニメーションを割り当てることができる。
【0065】
図12は、本発明の実施の形態3における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50bは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S60)。次に、形状データ復元部51aは、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50bは、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる形状変形アニメーションの選択を受け付ける(S61)。このとき、レンダリング部50bは、ユーザが選択することができる形状変形アニメーションを、前記保存処理において形状変形データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、形状変形アニメーションの選択を受け付ける。そして、形状データ復元部51aは、形状変形アニメーション保存部31が保持している形状変形データを、ユーザの選択に従って、形状変形アニメーション保存部31から読み出す。
【0066】
次に、レンダリング部50bは、前記選択した形状に形状変形アニメーションを追加するか否かの選択を受け付ける(S62)。形状変形アニメーションの追加をする場合は、形状変形アニメーションの選択を再び受け付け(S61)、前述の処理を繰り返す。形状変形アニメーションの追加をしない場合は、レンダリング部50bは、前記選択した形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S63)。
【0067】
動作アニメーションを割り当てる場合は、レンダリング部50bは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S64)。このとき、レンダリング部50bは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、レンダリング部50bは、前記選択した形状に対して、動作アニメーションの追加をするか否かの選択を受け付ける(S65)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S64)、前述の処理を繰り返す。
【0068】
他方、動作アニメーションの追加をしない場合は、形状データ復元部51aは、前記共有形状保存部30から読み出した共有形状データと、前記形状変形アニメーション保存部31から読み出した形状変形データとを用いて、前記選択した形状変形アニメーションや動作アニメーションの描画に必要な形状データに復元する(S66)。その後、画像データ生成部52は、前記選択した動作アニメーションについての動作データを動作アニメーション保存部40から読み出し、形状データ復元部51aが復元した形状データと動作アニメーション保存部40から読み出した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S67)。
【0069】
一方、動作アニメーションを割り当てない場合は、形状データ復元部51aは、前記共有形状保存部30から読み出した共有形状データと、前記形状変形アニメーション保存部31から読み出した形状変形データとを用いて、前記選択した形状変形アニメーションの描画に必要な形状データに復元する(S66)。その後、画像データ生成部52は、形状データ復元部51aが復元した形状データを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S67)。
【0070】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状と、当該形状が変形する形状変形アニメーションが存在する場合に、形状が変形しない部位の重複したオブジェクト形状データを保存しないで、一のオブジェクト形状データを共有形状データとして保存し、形状変形アニメーションに対して共有化する。そして、レンダリング時に、アニメーションの再生に必要な形状データに復元する。これによって、形状データを格納する記憶部の容量を節約することができる。
【0071】
(実施の形態4)
さらに、本発明の実施の形態4における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1、2及び3における三次元画像生成装置の構成と共通する点が多いが、モデリング部20cとレンダリング部50cとが異なり、形状変形差分復元部80と動作差分復元部90とを備えている点で前出の実施の形態と異なる。
【0072】
すなわち、本発明の実施の形態4における三次元画像生成装置が、モデリング部20c、レンダリング部50c、形状変形差分復元部80および動作差分復元部90を備えることによって、モデリング部20cが、形状変形データや動作データを初期データと差分データとして保存し、データ記憶部の使用量を節約しつつ、形状変形差分復元部80や動作差分復元部90を用いて、データの復元を行い、レンダリング部50cがアニメーションの描画を行なう。従って、形状データや動作データを格納する記憶部の使用量を削減することができる。
【0073】
以下、前出の実施の形態と異なる点を中心に説明する。なお、前出の実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図13は、本発明の実施の形態4における三次元画像生成装置の構成を示す機能ブロック図である。この三次元画像生成装置は、モデリング部20c、レンダリング部50c、形状変形差分復元部80及び動作差分復元部90等から構成される。
【0074】
モデリング部20cは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成、形状変形アニメーション及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21a、形状処理部22b及び動作アニメーション処理部23bから構成される。
【0075】
形状処理部22bは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データと形状変形データとに分離して受け取り、共有形状データだけを共有形状保存部30に格納する処理部である。さらに、形状処理部22bは、データ作成部21aが作成した形状変形データを、形状の全部が変形するデータであるのか、形状の一部が変形するデータであるのかを判断し、形状変形データの初期値と変化量を計算して、形状変形初期データと形状変形差分データとして形状変形アニメーション保存部31に格納する。ここで、形状変形データの初期値とは、形状変形データを構成するキーフレームデータのうち、最初のキーフレームデータが示す座標値をいう。そして、形状変形データの変化量とは、形状変形データを構成するキーフレームデータのうち、一のキーフレームデータが示す座標値と、当該一のキーフレームに隣接する先のキーフレームデータが示す座標値との座標値間の変化分をいう。
【0076】
動作アニメーション処理部23bは、データ作成部21aが作成した動作データのみを受け取り、動作データの初期値と変化量を計算して、動作初期データと動作差分データとを動作アニメーション保存部40に格納する処理部である。ここで、動作データの初期値とは、動作データを構成するキーフレームデータのうち、最初のキーフレームデータが示す座標値をいう。そして、動作データの変化量とは、動作データを構成するキーフレームデータのうち、一のキーフレームデータが示す座標値と、当該一のキーフレームに隣接する先のキーフレームデータが示す座標値との座標値間の変化分をいう。
【0077】
レンダリング部50cは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと、形状変形差分復元部80が復元した形状変形データと、動作差分復元部90が復元した動作データとを用いて描画を行なう処理部であり、形状データ復元部51bと画像データ生成部52とから構成される。
形状データ復元部51bは、共有形状保存部30が保持している共有形状データと、形状変形差分復元部80が復元した形状変形データとを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。
【0078】
形状変形差分復元部80は、共有形状保存部30が保持している形状変形初期データと形状変形差分データを参照して、形状変形データを復元し、復元した形状変形データを形状データ復元部51bに送る処理部である。
動作差分復元部90は、動作アニメーション保存部40が保持している動作初期データと動作差分データを参照して、動作データを復元し、復元した動作データを画像データ生成部52に送る処理部である。
【0079】
以上のように構成された本発明の実施の形態4における三次元画像生成装置の動作について説明する。
図14は、本発明の実施の形態4における三次元画像生成装置による保存処理の流れを示すフロー図である。
【0080】
まず、データ作成部21aは、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体のオブジェクト形状データを作成する(S70)。次に、データ作成部21aは、当該物体の形状に形状変形アニメーションを割り当てるか否かの選択を受け付ける(S71)。
【0081】
このとき、形状変形アニメーションを割り当てない場合は、形状処理部22bは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S72)。そして、後述する動作データの作成、保存処理を行なう(S80〜S82)。
【0082】
一方、形状変形アニメーションを割り当てる場合は、データ作成部21aは、ユーザからの指示に従って、当該物体の形状を変形させる形状変形データを作成する(S73)。次に、形状処理部22bは、データ作成部21aが作成した形状変形データが、形状の全体が変形するデータであるのか、形状の一部が変形するデータであるのかを判断する(S74)。このとき、形状の一部が変形する場合は、形状処理部22bは、データ作成部21aが作成したオブジェクト形状データを、変形する部位と変形しない部位とに分離し(S75)、変形しない部位のオブジェクト形状データを共有形状データと共有しない形状データとに分離して、変形しない部位の共有形状データを共有形状保存部30に格納する(S76)。その後、形状処理部22bは、変形する部位の形状変形データを、当該変形部位の初期頂点座標値と、各キーフレーム間における形状変形後の頂点座標値の差分を計算し、形状変形初期データと形状変形差分データ化して、形状変形アニメーション保存部31に格納する(S77)。一方、形状の全体が変形する場合は、形状処理部22bは、形状変形データを、初期頂点座標値と、各キーフレーム間における形状変形後の頂点座標値の差分とを計算し、形状変形初期データと形状変形差分データ化して、形状変形アニメーション保存部31に格納する(S77)。このとき、形状処理部22bは、形状変形初期データに、当該形状変形データが共有している共有形状データの情報属性を与えて、形状変形アニメーション保存部31に格納する。
【0083】
さらに、データ作成部21aは、形状変形データを追加作成するか否かの選択を受け付ける(S78)。形状変形データを追加作成する場合は、データ作成部21aは、当該物体の形状を変形させる形状変形データを作成し(S73)、前述の保存処理を繰り返す。一方、形状変形データを追加作成しない場合は、データ作成部21aは、当該物体の形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S79)。
【0084】
動作アニメーションを割り当てる場合は、データ作成部21aは、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S80)。そして、動作アニメーション処理部23は、データ作成部21aが作成した動作データを、当該物体の形状の初期頂点座標値と、各キーフレーム間における平行移動、回転、拡大・縮小後の頂点座標値の差分とを計算し、動作初期データと動作差分データ化して、動作アニメーション保存部40に格納する(S81)。このとき、動作アニメーション処理部23bは、動作初期データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。さらに、データ作成部21aは、動作データを追加作成するか否かの選択を受け付ける(S82)動作データを追加作成する場合は、データ作成部21aは、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S80)、前述の保存処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。また、動作アニメーションを割り当てない場合も、保存処理を終了する。
【0085】
このようにして、形状が変形しない部位の共有形状データを共有形状保存部30に格納し、形状変形データを形状変形アニメーション保存部31に格納し、動作データを動作アニメーション保存部40に格納することによって、形状が変形しない部位の共有形状データと形状変形データと動作データとを別個に保存し、形状が変形しない部位の一の共有形状データを、複数の形状変形データや複数の動作データに対して共有化する。さらに、形状変形データを形状変形初期データと形状変形差分データとして形状変形アニメーション保存部31に格納し、動作データを動作初期データと動作差分データとして動作アニメーション保存部40に格納する。
【0086】
図15は、本発明の実施の形態4における三次元画像生成装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。ここでは、前記実施の形態1、2および3の場合と同じく、三次元物体の形状として、「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「歩く」を用い、形状変形アニメーションを割り当てない場合を想定して説明する。図15(a)は、三次元物体の形状「人間」を表す図であり、図15(b)は、アニメーション「歩く」を割り当てた図である。ここで、図15(b)において、図15(a)に示す「人間」101の形状データを動作データと別個に保存することを表すため、「人間」101の形状を破線で表す。さらに、動作データを動作初期データと動作差分データとして保存することを表すため、キーフレーム間の差分をΔ402、Δ’403で表す。
【0087】
まず、前出の実施の形態と同様に、データ作成部21aは、入力部10を介して、図15(a)に示すように、ユーザからA(a,b,c)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。そして、形状処理部22bが、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理に従って処理する。
【0088】
次に、データ作成部21aは、図15(b)に示すように、各頂点座標の値を初期値としてキーフレーム1を作成する。続いて、データ作成部21aは、図15(b)に示すように、A10座標、Z10座標等の値からキーフレーム10を作成する。さらに、データ作成部21aは、図15(b)に示すように、An座標、Zn座標等の値からキーフレームnを作成する。このようにして、データ作成部21aは、前出の実施の形態と同様に動作データを作成する。
【0089】
続いて、動作アニメーション処理部23bは、キーフレーム1における各頂点座標値401を動作初期データとして、前述の保存処理に従って処理する。さらに、動作アニメーション処理部23bは、キーフレーム1とキーフレーム10において各々対応する各頂点座標値間の差分402を動作差分データとして、前述の保存処理に従って処理する。そして、動作アニメーション処理部23bは、キーフレームnに隣接するキーフレームとキーフレームnにおいて各々対応する各頂点座標値間の差分403を動作差分データとして、前述の保存処理に従って処理する。
【0090】
図16は、図15と同じく、本発明の実施の形態4における三次元画像生成装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。ここでは、前記実施の形態3の場合と同じく、三次元物体の形状として、「人間」101を用い、当該三次元物体の形状が変形するアニメーションとして、「当該人間の頭部が丸い形状から四角形状に変形する」を用い、動作アニメーションを割り当てない場合を想定して説明する。図16(a)は、三次元物体の形状「人間」を表す図であり、図16(b)は、アニメーション「当該人間の頭部が丸い形状から四角形状に変形する」を割り当てた図である。ここで、図16(b)において、図16(a)に示す「人間」101の形状データを形状変形データと別個に保存することを表すため、図11の場合と同様に、形状が変形する部位である「人間の頭部」301を実線で表し、形状が変形しない部位である「人間の胴体部」302については破線で表す。さらに、形状変形データを形状変形初期データと形状変形差分データとして保存することを表すため、キーフレーム間の差分をΔ502、Δ’503で表す。
【0091】
まず、実施の形態3の場合と同様に、データ作成部21aは、入力部10を介して、図16(a)に示すように、ユーザから頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。そして、形状処理部22が、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理フローに従って処理する。
【0092】
次に、データ作成部21aは、頂点位置が変化する座標値、すなわち、図16(b)に示すように、C1座標、X1座標等の値を形状変形部位の初期座標値として、キーフレーム1を作成する。続いて、データ作成部21aは、入力部10を介して、ユーザから、形状データを構成する頂点位置の変化の指示を受けて、図16(b)に示すように、C10座標、X10座標等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21aは、同様の処理を繰り返し、図16(b)に示すように、Cn座標、Xn座標等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。そして、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データを作成する。
【0093】
そして、形状処理部22bは、データ作成部21aが作成した形状変形データのうち、キーフレーム1における各頂点座標値501を形状変形初期データとして、前述の保存処理に従って処理する。続いて、形状処理部22bは、キーフレーム1とキーフレーム10において各々対応する各頂点座標値間の差分502を形状変形差分データとして、前述の保存処理に従って処理する。さらに、形状処理部22bは、キーフレームnに隣接するキーフレームとキーフレームnにおいて各々対応する各頂点座標値間の差分503を形状変形差分データとして、前述の保存処理に従って処理する。
【0094】
図17は、本発明の実施の形態4における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50cは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S90)。次に、形状データ復元部51bは、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50cは、入力部10を介して、ユーザから、当該ユーザが選択した形状に形状変形アニメーションを割り当てるか否かの選択を受け付ける(S91)。ここで、前記選択した形状に形状変形アニメーションを割り当てない場合は、レンダリング部50cは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S95)。
【0095】
一方、前記選択した形状に形状変形アニメーションを割り当てる場合は、レンダリング部50cは、形状変形アニメーションの選択を受け付ける(S92)。このとき、レンダリング部50cは、ユーザが選択することができる形状変形アニメーションを、前記保存処理において形状変形初期データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、形状変形アニメーションの選択を受け付ける。
【0096】
次に、レンダリング部50cは、前記選択した形状に形状変形アニメーションを追加するか否かの選択を受け付ける(S93)。形状変形アニメーションの追加をする場合は、形状変形アニメーションの選択を再び受け付け(S92)、前述の処理を繰り返す。形状変形アニメーションの追加をしない場合は、レンダリング部50cは、前記選択した形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S94)。
【0097】
動作アニメーションを割り当てる場合は、レンダリング部50cは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S95)。このとき、レンダリング部50cは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作初期データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、レンダリング部50cは、前記選択した形状に対して、動作アニメーションの追加をするか否かの選択を受け付ける(S96)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S95)、前述の処理を繰り返す。
【0098】
一方、動作アニメーションの追加をしない場合は、レンダリング部50cは、ユーザの選択に従って、動作データの復元指示を動作差分復元部90に送る。次に、動作差分復元部90は、当該復元指示に従って、動作アニメーション保存部40が保持している動作初期データと動作差分データの中から、前記選択した動作アニメーションの描画に用いる動作データを復元するために必要な動作初期データと動作差分データとを参照して、差分計算し、動作データの復元を行なう(S97)。
【0099】
そして、前段階において形状変形アニメーションを割り当てなかった場合は、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S98)。その後、画像データ生成部52は、形状データ復元部51bが復元した形状データと動作差分復元部90が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0100】
他方、前段階において形状変形アニメーションを割り当てた場合は、レンダリング部50cは、ユーザの選択に従って、形状変形データの復元指示を形状変形差分復元部80に送る。次に、形状変形差分復元部80は、当該復元指示に従って、形状変形アニメーション保存部31が保持している形状変形初期データと形状変形差分データの中から、前記選択した形状変形アニメーションの描画に用いる形状変形データを復元するために必要な形状変形初期データと形状変形差分データとを参照して、差分計算し、形状変形データの復元を行なう(S97)。そして、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データと、形状変形差分復元部80が復元した形状変形データとを用いて、前記選択した形状変形アニメーションや動作アニメーションの描画に必要な形状データを復元する(S98)。
【0101】
その後、画像データ生成部52は、形状データ復元部51bが復元した形状データと、動作差分復元部90が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0102】
一方、動作アニメーションを割り当てず、前段階において形状変形アニメーションを割り当てた場合は、レンダリング部50cは、ユーザの選択に従って、形状変形データの復元指示を形状変形差分復元部80に送る。次に、形状変形差分復元部80は、当該復元指示に従って、形状変形アニメーション保存部31が保持している形状変形初期データと形状変形差分データの中から、前記選択した形状変形アニメーションの描画に用いる形状変形データを復元するために必要な形状変形初期データと形状変形差分データとを参照して、差分計算し、形状変形データの復元を行なう(S97)。そして、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データと、形状変形差分復元部80が復元した形状変形データとを用いて、前記選択した形状変形アニメーションの描画に必要な形状データを復元する(S98)。
【0103】
その後、画像データ生成部52は、形状データ復元部51bが復元した形状データを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0104】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状データを作成し、当該形状が変形するアニメーションを割り当てる場合や、当該形状が動作するアニメーションを割り当てる場合に、初期値と変化量のみをデータとして保存し、レンダリング時に、差分復元部において形状変形データや動作データを復元するため、形状データや動作データを保存する記憶部の容量を効率的に使用することができる。
【0105】
以上、本発明に係る三次元画像生成装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
例えば、上記実施の形態では、あるキーフレームにおける位置、回転角度、拡大・縮小率をキーフレームデータとして動作アニメーション保存部に保存することとしているが、位置、回転角度、拡大・縮小率を反映したキーフレーム行列として保存してもよい。
【0106】
また、上記実施の形態では、入力部がレンダリング部に送る指示は、描画指示のみを挙げているが、入力部において複数のアニメーションを組み合わせるシナリオを記述し、レンダリング部に記述したシナリオを送ることとしてもよい。
【0107】
さらに、上記実施の形態4では、動作データを構成する最初のキーフレームデータの値を初期値とし、これを動作初期データとして保存し、初期値から隣接するキーフレームごとに各座標値間の変化分を動作差分データとして保存しているが、初期値における座標値と、各キーフレームにおける初期値からの座標値の変化分とを動作差分データとして保存してもよい。
【0108】
同様に、上記実施の形態4では、形状変形データを構成する最初のキーフレームデータの値を初期値とし、これを形状変形初期データとして保存し、初期値から隣接するキーフレームごとに各座標値間の変化分を形状変形差分データとして保存しているが、初期値における座標値と、各キーフレームにおける初期値からの座標値の変化分とを形状変形差分データとして保存してもよい。
さらに、上記実施の形態4では、三次元物体の形状全体の初期値と変化量のみをデータとすることとしたが、形状が動作する部位と動作しない部位とに分離して、動作する部位についての初期値と変化量のみをデータとして保存してもよい。
【0109】
【発明の効果】
以上の説明から明らかなように、本発明に係る三次元画像生成装置は、三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置であって、前記三次元画像生成装置は、同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する編集指示取得手段と、前記編集指示取得手段によって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして前記記憶手段に格納するアニメーションデータ生成手段とを備えることを特徴とする。
【0110】
これによって、三次元物体の形状が重複する場合には、一の共有形状データのみが保存され、複数の動作データに対して共有化されるので、形状データの記憶領域を少なくすることができる。また、同一形状に複数のアニメーションを割り当てる場合において、アニメーションの組合せが可能とされるので、メモリ資源の有効利用が図られ、かつ、編集が容易化され、ユーザの労力が軽減される。
【0111】
ここで、前記三次元画像生成装置は、さらに、前記記憶手段に格納された一の形状データと複数の動作データとを読み出し、読み出したデータに基づいて、同一形状の三次元物体についての複数のアニメーションを復元して表示する復元表示手段を備えてもよい。
これによって、三次元物体のアニメーションを表す画像データが復元され、メモリ資源を有効利用した上で、三次元物体のアニメーションの外部出力表示が可能となる。
【0112】
また、本発明は、前記アニメーションデータ生成手段は、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて動きがあった部位オブジェクトだけについて、前記動作データを生成することとしてもよい。
これによって、三次元物体のアニメーションが、オブジェクトの形状の一部が動作するアニメーションであっても、当該動作部位のみが保存されるので、動作データの記憶領域が節減される。
【0113】
さらに、前記編集指示取得手段は、三次元物体の形状の変形を含むアニメーションについての編集指示を取得し、前記アニメーションデータ生成手段は、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて変形があった部位オブジェクトだけについて、当該変形を示す形状データを生成することとしてもよい。
【0114】
これによって、三次元物体の形状そのものが変形するアニメーションにおいても、形状が変形する部位についての形状変形データのみが保存され、形状が変形しない部位についてのオブジェクト形状データは共有化されるので、形状データの記憶領域の効率的な使用が可能となる。
【0115】
また、前記動作データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における移動量を示す差分データの集合であることとしてもよい。
これによって、動作データは、その初期値と変化量のみが動作初期データと動作差分データとして保存され、レンダリング時に、動作データが復元されるので、動作データを格納する記憶領域を少なくすることができる。
【0116】
さらに、前記形状データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における頂点位置の移動量を示す差分データの集合であることとしてもよい。
これによって、形状変形データは、その初期値と変化量のみが形状変形初期データと形状変形差分データとして保存され、レンダリング時に、形状変形データが復元されるので、形状データを格納する記憶領域を少なくすることができる。
【0117】
以上のことから、本発明は、三次元コンピュータグラフィックスの分野における三次元画像生成装置の記憶容量を大幅に軽減し、効率的に使用することを可能にして、かつ、ユーザの編集を容易にするものと考えられ、その実用的価値は極めて高い。
【図面の簡単な説明】
【図1】本発明の実施の形態1における三次元画像生成装置の構成を示す機能ブロック図である。
【図2】同装置による保存処理の流れを示すフロー図である。
【図3】同装置のモデリング部20におけるモデリング処理を模式的に表す図である。
【図4】同装置によるレンダリング処理の流れを示すフロー図である。
【図5】本発明の実施の形態2における三次元画像生成装置の構成を示す機能ブロック図である。
【図6】同装置による保存処理の流れを示すフロー図である。
【図7】同装置のモデリング部20aにおけるモデリング処理を模式的に表す図である。
【図8】同装置によるレンダリング処理の流れを示すフロー図である。
【図9】本発明の実施の形態3における三次元画像生成装置の構成を示す機能ブロック図である。
【図10】同装置による保存処理の流れを示すフロー図である。
【図11】同装置のモデリング部20bにおけるモデリング処理を模式的に表す図である。
【図12】同装置によるレンダリング処理の流れを示すフロー図である。
【図13】本発明の実施の形態4における三次元画像生成装置の構成を示す機能ブロック図である。
【図14】同装置による保存処理の流れを示すフロー図である。
【図15】同装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。
【図16】同装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。
【図17】同装置によるレンダリング処理の流れを示すフロー図である。
【図18】従来における三次元画像生成装置の構成例を示す機能ブロック図である。
【図19】同装置のモデリング部2におけるモデリング処理を模式的に表す図である。
【符号の説明】
1、10 入力部
2、20、20a、20b、20c モデリング部
3 形状・アニメーション保存部
4、50、50a、50b、50c レンダリング部
5、60 表示部
6、70 表示装置
21、21a データ作成部
22、22a、22b 形状処理部
23、23a、23b 動作アニメーション処理部
30 共有形状保存部
31 形状変形アニメーション保存部
40 動作アニメーション保存部
80 形状変形差分復元部
90 動作差分復元部
【発明の属する技術分野】
本発明は、三次元コンピュータグラフィックスの分野において、三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置および三次元画像生成方法に関する。
【0002】
【従来の技術】
従来、三次元コンピュータグラフィックスにおいては、オブジェクトとなる三次元物体の形状は、ポリゴンと呼ばれる多角形の集合等で構成され、ポリゴンの頂点位置の組として表現される。そして、三次元コンピュータグラフィックスにおいては、三次元物体の形状にアニメーションが割り当てられることによって、三次元コンピュータグラフィックスにおけるアニメーションが実現される。なお、ここでは、アニメーションを、動作アニメーションと形状変形アニメーションに分類することとする。ここで、動作アニメーションとは、三次元物体の形状に対する位置、回転角度、拡大・縮小等の組合せの変化を時系列に並べたものとして表されるアニメーションであり、三次元物体の形状が動作をするアニメーションをいうものとする。そして、形状変形アニメーションとは、ポリゴン等の頂点位置の変化を時系列に並べたものとして表されるアニメーションであり、三次元物体の形状そのものに変化を与えるアニメーションをいうものとする。
【0003】
これらの三次元物体のアニメーションを作成する方法の代表的な技法として、キーフレーム法と呼ばれる技法がある。このキーフレーム法とは、いくつかの代表的なフレームごとに、三次元物体の形状や位置を指定して、各フレーム間を補間してアニメーションを作成する技法である。ここで、キーフレームとは、ある時間における形状の平行移動、回転、拡大・縮小が加えられた後の位置や、ある時間におけるポリゴン等の頂点位置の状態をいい、いくつかのキーフレームによりアニメーションが構成される。
【0004】
すなわち、コンピュータを用いて三次元物体の形状とアニメーションを構成するキーフレームをモデリングすることによって、三次元物体の形状データが作成され、コンピュータを用いて三次元物体の形状に割り当てられたアニメーションを構成するキーフレームをモデリングすることによって、三次元物体の位置、回転角度及び拡大・縮小率を計算し、キーフレーム間を自動補間して、アニメーションデータが作成される。従って、三次元物体の形状データとアニメーションデータは、常に対となって保存され、レンダリング処理を経てアニメーションが再生されるようになっている。以下に、図を用いて、より具体的に説明する。
【0005】
図18は、従来における三次元画像生成装置の構成例を示す機能ブロック図である。この三次元画像生成装置は、入力部1、モデリング部2、形状・アニメーション保存部3、レンダリング部4及び表示部5から構成されており、形状・アニメーション保存部3が、形状データとアニメーションデータとを、常に対にして保存する。
【0006】
図19は、当該三次元画像生成装置のモデリング部2におけるモデリング処理を模式的に表す図である。ここで、図19の(a)に示すように、「人間」という三次元物体に「歩く」というアニメーションを割り当てた場合、三次元物体の形状と割り当てられたアニメーションをキーフレームごとに、すなわちキーフレームA・B・Cごとに保存する。また、図19の(b)に示すように、同じ形状の「人間」という三次元物体に「腕を上げる」というアニメーションを割り当てた場合も同様に、三次元物体の形状と割り当てられたアニメーションをキーフレームごと、すなわちキーフレームD・E・Fごとに保存する。さらに、図19の(c)に示すように同じ形状の「人間」という三次元物体に「歩いて立ち止まり、腕を上げる」というアニメーションを割り当てた場合は、アニメーションは、「歩いて立ち止まり、腕を上げる」という一連の流れとして捉えられ、三次元物体の形状と割り当てられたアニメーションをキーフレームごと、すなわちキーフレームA’・B’・C’・D’・E’・F’ごとに保存する。
【0007】
このように、三次元物体の形状とアニメーションとを対にして保存しておくことで、レンダリング部4、表示部5および表示装置6によって、アニメーションごとに画像を復元して再生することができる。
【0008】
【発明が解決しようとする課題】
しかしながら、「人間」というオブジェクトの形状が同一であり、当該形状に対するアニメーションが異なる場合においても、キーフレームごとに形状とアニメーションを対にして保存することは、同一の形状を重複して保存することとなるため、形状データや、その表面の色柄を表すテクスチャという画像データや、反射属性データを格納する記憶領域が大きくなるという問題がある。
【0009】
また、アニメーションの中には、オブジェクトの形状の一部のみが変化するアニメーションも存在するため、オブジェクトの形状の全体について各キーフレームを作成することは、アニメーションデータを格納する記憶領域が大きくなるという問題もある。
さらに、独立したアニメーションを複数組み合わせる場合であっても、一つの独立したアニメーションとして作成する必要があるため、メモリ資源を効率的に用いることができず、アニメーション作成を行なうユーザの労力も大きいという問題もある。
【0010】
そこで、本発明は、かかる問題点を鑑みなされたものであり、三次元物体の同一形状に複数のアニメーションを割り当てる場合に、データを格納する記憶領域が小さくて済む三次元画像生成装置および三次元画像生成方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る三次元画像生成装置は、次のような技術的手段を講じている。
【0012】
すなわち、三次元物体の形状とアニメーションを構成するキーフレームをモデリングした後に、形状データとアニメーションデータを分離して保存し、重複する形状データを保存せずに、一つの形状データをアニメーションデータに対して共有化する。具体的には、「人間」という三次元物体の形状であれば、形状のみを保存し、当該形状に対応する各アニメーション、例えば、「歩く」、「腕を上げる」等に共有化する。他方、アニメーションは、アニメーションのみで保存し、当該形状を共有化することにより、複数のアニメーションを組み合わせること、例えば、「歩く」と「腕を上げる」を組み合わせることを可能とする。さらに、三次元物体のアニメーションが、オブジェクトの形状の一部が動作するアニメーションである場合に、当該動作部位の動作のみを保存する。具体的には、「腕を上げる」については、動作する部位である「人間」の「腕部」の動作のみを保存し、動作しない部位、例えば、「脚部」等の部位を保存しないこととする。
【0013】
なお、本発明は、このような三次元画像生成装置を三次元画像生成方法として実現することができ、また、三次元画像生成装置が備える特徴的な機能をコンピュータに発揮させるプログラムとして実現することもできる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態における三次元画像生成装置について図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における三次元画像生成装置の構成を示す機能ブロック図である。三次元画像生成装置は、三次元物体のアニメーションを生成するソフトウェアを実行するコンピュータ等であり、入力部10、モデリング部20、共有形状保存部30、動作アニメーション保存部40、レンダリング部50および表示部60から構成される。
【0015】
入力部10は、ユーザから三次元画像のオブジェクトとなる物体の形状作成指示、アニメーション指示を受け付けるキーボード、マウス等であり、ユーザからの指示をモデリング部20およびレンダリング部50に送る。
モデリング部20は、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成及びアニメーションの作成を行なう三次元モデラ等であり、データ作成部21、形状処理部22及び動作アニメーション処理部23から構成される。
【0016】
データ作成部21は、入力部10からユーザの指示を受け取り、その指示に従って、オブジェクトの形状データを作成し、オブジェクトに動作アニメーションを割り当て、動作データを作成する処理部である。データ作成部21は、作成した形状データと動作データを、各々分離し、形状データを、形状処理部22に送り、動作データを、動作アニメーション処理部23に送る。形状処理部22は、データ作成部21が作成した形状データのみを受け取り、共有形状データと共有しない形状データとに分離し、共有形状データだけを共有形状保存部30に格納する処理部である。動作アニメーション処理部23は、データ作成部21が作成した動作データのみを受け取り、動作データを動作アニメーション保存部40に格納する処理部である。
【0017】
共有形状保存部30は、共有形状データを格納する記憶部であり、形状処理部22から共有形状データを受け取り、記憶する。動作アニメーション保存部40は、動作データを格納する記憶部であり、動作アニメーション処理部23から動作データを受け取り、記憶する。
【0018】
レンダリング部50は、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと動作アニメーション保存部40が保持している動作データとを用いて描画を行なう処理部であり、形状データ復元部51と画像データ生成部52とから構成される。形状データ復元部51は、共有形状保存部30が保持している共有形状データを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。画像データ生成部52は、形状データ復元部51が復元した形状データと動作アニメーション保存部40が保持している動作データとを用いて、三次元から二次元への投影処理、物体の移動、拡大・縮小、回転等の変換処理を行なって、アニメーションを描画する処理部であり、描画したアニメーションを、画像データに生成して、表示部60に送る。
【0019】
表示部60は、画像データ生成部52が生成した画像データをコンピュータの画面に表示するためのビデオ信号に変換する処理部であり、コンピュータのグラフィックボード等である。表示部60は、ビデオ信号に変換したアニメーションを、表示装置70に送信する。
表示装置70は、再生するアニメーションを外部出力する装置であり、CRTディスプレイ等の表示装置である。
【0020】
以上のように構成された本発明の実施の形態1における三次元画像生成装置の動作について、説明する。
図2は、本発明の実施の形態1における三次元画像生成装置による保存処理の流れを示すフロー図である。
【0021】
まず、データ作成部21は、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体の形状データを作成する(S1)。このデータ作成部21は、三次元物体の形状をデータ化して定義し、物体にテクスチャを加えて、物体の形状データを作成する。そして、形状処理部22は、データ作成部21が作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S2)。
【0022】
次に、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S3)。このとき、データ作成部21は、当該形状に一の動作を与え、その動作を座標の平行移動、回転角度、拡大・縮小率によってデータ化して定義し、一の動作データを作成する。そして、動作アニメーション処理部23は、データ作成部21が作成した動作データを、動作アニメーション保存部40に格納する(S4)。このとき、動作アニメーション処理部23は、動作データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。
【0023】
さらに、データ作成部21は、動作データを追加作成するか否かの選択を受け付ける(S5)。動作データを追加作成する場合は、データ作成部21は、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S3)、動作アニメーション処理部23が、データ作成部21が作成した動作データを、動作アニメーション保存部40に格納し(S4)、この処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。
【0024】
このようにして、共有形状データを共有形状保存部30に格納し、動作データを動作アニメーション保存部40に格納することによって、共有形状データと動作データとを各々別個に保存し、一の共有形状データを、複数の動作データに対して共有化する。
【0025】
なお、三次元物体の形状は、ポリゴンの集合等で構成されることから、形状処理部22は、共有形状データを、例えば、ポリゴンの頂点データとして、共有形状保存部30に格納する。そして、三次元物体のアニメーションは、キーフレーム法等によって作成されることから、動作アニメーション処理部23は、動作データを、例えば、ある時点における位置、回転角度及び拡大・縮小量をキーフレームデータとして、いくつかのキーフレームデータを集めたものを、動作アニメーション保存部40に格納する。
【0026】
図3は、本発明の実施の形態1における三次元画像生成装置のモデリング部20におけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「歩く」を用いた場合を想定して説明する。図3(a)は、三次元物体の形状「人間」を表す図であり、図3(b)は、アニメーション「歩く」を割り当てた図である。ここで、図3(b)において、図3(a)に示す「人間」101の形状データを動作データと別個に保存することを表すため、「人間」101の形状を破線で表す。
【0027】
まず、データ作成部21は、入力部10を介して、図3(a)に示すように、ユーザからA座標(a,b,c)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体の形状データを作成する。続いて、形状処理部22は、データ作成部21が作成した形状データを、前述の保存処理フローに従って処理する。
【0028】
一方、データ作成部21は、これらの頂点座標の値、すなわち、図3(b)に示すように、A1(a1,b1,c1)、Z1座標(x1,y1,z1)を初期値として、キーフレーム1を作成する。次に、データ作成部21は、入力部10を介して、ユーザから、三次元物体の平行移動、回転角度、拡大・縮小の指示を受けて、図3(b)に示すように、A10座標(a10,b10,c10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21は、同様の処理を繰り返し、図3(b)に示すように、An座標(an,bn,cn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21は、各キーフレームを作成して、作成した各キーフレームを用いて「歩く」という動作アニメーションを表現する。そして、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出して、動作データを作成する。続いて、動作アニメーション処理部23は、データ作成部21が作成した動作データを、前述の保存処理フローに従って処理する。
【0029】
図4は、本発明の実施の形態1における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50は、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S10)。次に、形状データ復元部51は、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50は、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる動作アニメーションの選択を受け付ける(S11)。このとき、レンダリング部50は、ユーザが選択することができる動作アニメーションを、前記保存処理において動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。
【0030】
次に、レンダリング部50は、前記選択した形状に対して、動作アニメーションを追加するか否かの選択を受け付ける(S12)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S11)、前述の処理を繰り返す。動作アニメーションを追加しない場合は、形状データ復元部51は、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S13)。その後、画像データ生成部52は、前記選択した動作アニメーションについての動作データを動作アニメーション保存部40から読み出し、形状データ復元部51が復元した形状データと動作アニメーション保存部40から読み出した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S14)。
【0031】
その後、表示部60は、三次元物体のアニメーションを外部出力するため、レンダリング部50が生成した画像データをビデオ信号に変換して、表示装置70に送信し、表示装置70が、三次元物体のアニメーションを外部出力する。
【0032】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状と当該形状に割り当てる動作アニメーションが複数存在する場合に、重複した形状データを保存しないで、一の形状データを共有形状データとして保存し、複数の動作データに対して共有化する。そして、レンダリング時に、アニメーションの再生に必要な形状データに復元する。これによって、形状データを格納する記憶部の容量を節約することができる。
【0033】
そして、レンダリング時には、形状を選択し、当該形状に割り当てる動作アニメーションを自由に組み合わせて選択することができるので、動作アニメーションの組合せに係る動作データを別個独立に作成する必要がない。これによって、メモリ資源の効率的な利用が可能となり、ユーザの編集も容易化できる。
【0034】
(実施の形態2)
次に、本発明の実施の形態2における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1における三次元画像生成装置の構成とほぼ共通するが、モデリング部20aとレンダリング部50aとが異なることによって、動作データを、動作アニメーションが割り当てられた部位と動作アニメーションが割り当てられていない部位とに分離して保存するため、動作データの記憶領域を削減することができる点で、実施の形態1と異なる。
【0035】
すなわち、三次元物体の形状に、動作をする部位と動作しない部位がある場合は、動作をする部位の動作のみを動作部位データとして保存する。例えば、「腕を上げる」という動作アニメーションの場合、左右一方又は両方の腕部は、上方へ動作をする部位となるが、頭部や脚部等は動作しない部位となる。この場合、動作しない頭部や脚部については、動作データとして保存しないで、上方へ動作をする左右一方又は両方の腕部についてのみ動作データを保存する。このように、動作データを、動作アニメーションが割り当てられた部位と動作アニメーションが割り当てられていない部位とに分離して、動作アニメーションが割り当てられた部位の動作データを、動作部位データとして保存することによって、動作データの記憶領域を減らすことができる。
【0036】
以下、実施の形態1と異なる点を中心に説明する。なお、実施の形態1と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図5は、本発明の実施の形態2における三次元画像生成装置の構成を示す機能ブロック図である。モデリング部20aは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21、形状処理部22及び動作アニメーション処理部23aから構成される。
【0037】
動作アニメーション処理部23aは、データ作成部21が作成した動作データのみを受け取り、動作データが、形状の全部が動作するデータであるのか、形状の一部が動作するデータであるのかを判断して、形状の一部が動作するデータである場合に、動作する部位についての動作部位データを動作アニメーション保存部40に格納する処理部である。
【0038】
レンダリング部50aは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと動作アニメーション保存部40が保持している動作部位アニメーションデータを用いて描画を行なう処理部であり、形状データ復元部51、画像データ生成部52および動作データ復元部53から構成される。
動作データ復元部53は、動作アニメーション保存部40が保持している動作部位データを読み出し、動作データに復元する処理部であり、復元した動作データを画像データ生成部52に送る。
【0039】
以上のように構成された本発明の実施の形態2における三次元画像生成装置の動作について説明する。
図6は、本発明の実施の形態2における三次元画像生成装置による保存処理の流れを示すフロー図である。まず、実施の形態1における保存処理フローと同様に、データ作成部21は、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体の形状データを作成する(S20)。そして、形状処理部22は、データ作成部21が作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S21)。
【0040】
次に、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S22)。そして、動作アニメーション処理部23aは、データ作成部21が作成した動作データが、当該物体の形状の一部が動作するデータであるのか、当該物体の形状の全部が動作するデータであるのかを判断する(S23)。このとき、形状の一部が動作する場合は、動作アニメーション処理部23aは、動作する部位の動作データのみを、動作部位データとして、動作アニメーション保存部40に格納する(S24)。一方、形状の全部が動作する場合は、動作アニメーション処理部23aは、形状全体の動作データを動作アニメーション保存部40に格納する(S25)。このとき、動作アニメーション処理部23aは、動作部位データ又は動作データに、当該動作部位データ又は当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。
【0041】
さらに、データ作成部21は、動作データを追加作成するか否かの選択を受け付ける(S26)。動作データを追加作成する場合は、データ作成部21は、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成し(S22)、前述の保存処理を繰り返す。
【0042】
このようにして、共有形状データを共有形状保存部30に格納し、動作部位データ又は動作データを動作アニメーション保存部40に格納することによって、共有形状データと動作部位データ又は動作データとを各々別個に保存し、一の共有形状データを、複数の動作部位データや複数の動作データに対して共有化する。
【0043】
図7は、本発明の実施の形態2における三次元画像生成装置のモデリング部20aにおけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、前記実施の形態1と同一の「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「腕を上げる」を用いた場合を想定して説明する。図7(a)は、三次元物体の形状「人間」を表す図であり、図7(b)は、アニメーション「腕を上げる」を割り当てた図である。ここで、図7(b)において、図7(a)に示す「人間」101の形状データを動作部位データと別個に保存することを表すため、動作部位データとして保存する部位である「人間の腕部」201の形状を破線で表し、動作部位データとして保存しない部位である「人間の頭部」202や「人間の脚部」203の形状を一点鎖線で表す。
【0044】
まず、データ作成部21は、入力部10を介して、図7(a)に示すように、A座標(a,b,c)、B座標(d,e,f)、Y座標(u,v,w)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体の形状データを作成する。そして、形状処理部22は、データ作成部21が作成した形状データを、前記保存処理に従って処理する。次に、データ作成部21は、各頂点座標の値、すなわち、図7(b)に示すように、A1座標(a1,b1,c1)、B1座標(d1,e1,f1)、Y1座標(u1,v1,w1)、Z1座標(x1,y1,z1)を初期値として、キーフレーム1を作成する。続いて、データ作成部21は、入力部10を介して、ユーザから、三次元物体の平行移動、回転角度、拡大・縮小の指示を受けて、図7(b)に示すように、A10(a10,b10,c10)、B10座標(d10,e10,f10)、Y10座標(u10,v10,w10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21は、同様の処理を繰り返し、図7(b)に示すように、An座標(an,bn,cn)、Bn座標(dn,en,fn)、Yn座標(un,vn,wn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21は、各キーフレームを作成し、作成した各キーフレームを用いて、「腕を上げる」という動作アニメーションを表現する。そして、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出して、動作データを作成する。
【0045】
ここで、データ作成部21が作成した動作アニメーションは、「人間の腕部」201のみが動作をするアニメーションであり、「人間の頭部」202や「人間の脚部」203が動作をしないアニメーションである。そこで、動作アニメーション処理部23aは、データ作成部21が作成した動作データを、動作をする部位と動作をしない部位とに分離する。そして、動作アニメーション処理部23aは、動作をする部位についてのみ、すなわち、B座標、Y座標等の頂点座標の値が変化する頂点座標についてのみ、キーフレームにおける頂点座標位置、回転角度や拡大・縮小量をキーフレームデータとして、キーフレームごとに抽出し、動作部位データとして、動作アニメーション保存部40に格納する。
【0046】
図8は、本発明の実施の形態2における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50aは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S30)。次に、形状データ復元部51は、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。
【0047】
次に、レンダリング部50aは、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる動作アニメーションの選択を受け付ける(S31)。このとき、レンダリング部50aは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作部位データ又は動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、動作データ復元部53は、動作アニメーション保存部40が保持している動作部位データを、ユーザの選択に従って、動作アニメーション保存部40から読み出す。そして、動作データ復元部53は、前記動作アニメーション保存部40から読み出した動作部位データを、前記選択した動作アニメーションの描画に必要な動作データに復元する(S32)。
【0048】
さらに、レンダリング部50aは、前記選択した形状に対して、動作アニメーションを追加するか否かの選択を受け付ける(S33)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S31)、前述の処理を繰り返す。動作アニメーションの追加をしない場合は、形状データ復元部51は、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S34)。その後、画像データ生成部52は、形状データ復元部51が復元した形状データと動作データ復元部53が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S35)。
【0049】
このように、本実施の形態によれば、一の形状データを共有形状データとして保存し、複数の動作データに対して共有化し、レンダリング時に、アニメーションの再生に必要な形状データに復元する。さらに、動作データの中でも動作をしない部位についての動作データを保存しないで、動作をする部位についての動作データだけを動作部位データとして保存し、レンダリング時に、アニメーションの再生に必要な動作データに復元する。これによって、形状データを格納する記憶部の容量だけでなく、動作データを格納する記憶部の容量をも節約することができる。
【0050】
(実施の形態3)
次に、本発明の実施の形態3における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1及び2における三次元画像生成装置の構成と共通する点が多いが、モデリング部20bとレンダリング部50bが異なることに加えて、形状変形アニメーション保存部31を備えていることにより、形状データを、形状の頂点が変化する部位と形状の頂点が変化しない部位とに分離して保存するため、形状データの記憶領域を削減することができる点で、実施の形態1及び2と異なる。ここで、形状の頂点が変化するとは、物体の形状それ自体が変化することをいい、形状変形アニメーションが割り当てられていることをいう。
【0051】
すなわち、三次元物体のオブジェクト形状データに、形状変形アニメーションが割り当てられた部位と形状変形アニメーションが割り当てられていない部位がある場合は、これらを分離させて、形状変形アニメーションが割り当てられた部位は、形状の変化を形状変形データとして保存し、形状変形アニメーションが割り当てられていない部位は、共有形状データのみを保存することによって、形状変形アニメーションが割り当てられていない部位の形状データを、形状変形アニメーションが割り当てられた部位の形状変形データ及び動作データに対して共有化することができる。このようにして、形状変形アニメーションにおいても、形状データの記憶領域を少なくすることができる。
【0052】
以下、実施の形態1及び2と異なる点を中心に説明する。なお、実施の形態1及び2と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図9は、本発明の実施の形態3における三次元画像生成装置の構成を示す機能ブロック図である。この三次元画像生成装置は、モデリング部20b、レンダリング部50bおよび形状変形アニメーション保存部31等から構成される。
【0053】
モデリング部20bは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成、形状変形アニメーション及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21a、形状処理部22a及び動作アニメーション処理部23から構成される。
【0054】
データ作成部21aは、入力部10からユーザの指示を受け取り、その指示に従って、オブジェクト形状データと、オブジェクトに形状変形アニメーションを割り当て、形状変形データを作成し、さらに、動作アニメーションを割り当て、動作データを作成する処理部である。ここで、オブジェクト形状データとは、三次元物体の形状を構成する各頂点座標値を集合したものであり、形状変形データとは、形状変形アニメーションを構成する各キーフレームにおける各頂点座標値の変化をキーフレームごとに集合したものである。そして、形状データとは、オブジェクト形状データと、形状変形データとを併せたものをいうこととする。形状処理部22aは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データと形状変形データとに分離して受け取り、共有形状データだけを共有形状保存部30に格納する処理部である。さらに、形状処理部22aは、形状変形データを、形状の全部が変形するデータであるのか、形状の一部が変形するデータであるのかを判断し、形状変形データを形状変形アニメーション保存部31に格納する。
【0055】
形状変形アニメーション保存部31は、形状変形データを格納する記憶部であり、形状処理部22aから形状変形データを受け取り、記憶する。
レンダリング部50bは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと、形状変形アニメーション保存部31が保持している形状変形データと、動作アニメーション保存部40が保持している動作データとを用いて描画を行なう処理部であり、形状データ復元部51aと画像データ生成部52とから構成される。形状データ復元部51aは、共有形状保存部30が保持している共有形状データと形状変形アニメーション保存部31が保持している形状変形データとを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。
【0056】
以上のように構成された本発明の実施の形態3における三次元画像生成装置の動作について説明する。
図10は、本発明の実施の形態3における三次元画像生成装置による保存処理の流れを示すフロー図である。まず、データ作成部21aは、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体のオブジェクト形状データを作成し(S40)、当該三次元物体の形状を変形させる形状変形データを作成する(S41)。次に、形状処理部22aは、データ作成部21aが作成した形状変形データが、形状の全体が変形するデータであるのか、形状の一部が変形するデータであるのかを判断する(S42)。このとき、形状の一部が変形する場合は、形状処理部22aは、データ作成部21aが作成したオブジェクト形状データを、変形する部位と変形しない部位とに分離し(S43)、変形しない部位のオブジェクト形状データを、共有形状データと共有しない形状データとに分離して、変形しない部位の共有形状データだけを共有形状保存部30に格納する(S44)。その後、形状処理部22aは、変形する部位の形状変形データを、形状変形アニメーション保存部31に格納する(S45)。一方、形状の全体が変形する場合は、形状処理部22aは、形状変形データを、形状変形アニメーション保存部31に格納する(S45)。このとき、形状処理部22aは、形状変形データに、当該形状変形データが共有している共有形状データの情報属性を与えて、形状変形アニメーション保存部31に格納する。
【0057】
さらに、データ作成部21aは、形状変形データを追加作成するか否かの選択を受け付ける(S46)。形状変形データを追加作成する場合は、データ作成部21aは、当該三次元物体の形状を変形させる形状変形データを作成し(S41)、前述の保存処理を繰り返す。一方、形状変形データを追加作成しない場合は、データ作成部21aは、当該三次元物体の形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S47)。
【0058】
動作アニメーションを割り当てる場合は、データ作成部21aは、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S48)。そして、動作アニメーション処理部23は、データ作成部21aが作成した動作データを、動作アニメーション保存部40に格納する(S49)。このとき、動作アニメーション処理部23は、動作データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。さらに、データ作成部21aは、動作データを追加作成するか否かの選択を受け付ける(S50)。動作データを追加作成する場合は、データ作成部21aは、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S48)、前述の保存処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。また、動作アニメーションを割り当てない場合も、保存処理を終了する。
【0059】
このようにして、形状が変形しない部位の共有形状データを共有形状保存部30に格納し、形状変形データを形状変形アニメーション保存部31に格納し、動作データを動作アニメーション保存部40に格納することによって、形状が変形しない部位の共有形状データと形状変形データと動作データとを別個に保存し、形状が変形しない部位の一の共有形状データを、複数の形状変形データや複数の動作データに対して共有化する。
【0060】
図11は、本発明の実施の形態3における三次元画像生成装置のモデリング部20bにおけるモデリング処理を模式的に表す図である。ここでは、三次元物体の形状として、実施の形態1及び2と同一の「人間」101を用い、当該三次元物体の形状が変形するアニメーションとして、「当該人間の頭部が丸い形状から四角形状に変形する」を用いた場合を想定して説明する。図11(a)は、三次元物体の形状「人間」を表す図であり、図11(b)は、アニメーション「当該人間の頭部が丸い形状から四角形状に変形する」を割り当てた図である。ここで、図11(b)において、図11(a)に示す「人間」101の形状データを形状変形データと別個に保存することを表すため、形状が変形する部位である「人間の頭部」301を実線で表し、形状が変形しない部位である「人間の胴体部」302については破線で表す。
【0061】
まず、データ作成部21aは、入力部10を介して、図11(a)に示すように、ユーザからB座標(d,e,f)、C座標(g,h,i)、X座標(r,s,t)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。続いて、形状処理部22aは、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理フローに従って処理する。
【0062】
次に、データ作成部21aは、各頂点座標の値、すなわち、図11(b)に示すように、B1座標(d1,e1,f1)、C1座標(g1,h1,i1)、X1座標(r1,s1,t1)、Z1座標(x1,y1,z1)等を初期値として、キーフレーム1を作成する。続いて、データ作成部21aは、入力部10を介して、ユーザから、三次元物体の形状を構成する頂点位置の変化の指示を受けて、図11(b)に示すように、B10座標(d10,e10,f10)、C10座標(g10,h10,i10)、X10(r10,s10,t10)、Z10座標(x10,y10,z10)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21aは、同様の処理を繰り返し、図11(b)に示すように、Bn座標(dn,en,fn)、Cn座標(gn,hn,in)、Xn座標(rn,sn,tn)、Zn座標(xn,yn,zn)等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。このようにして、データ作成部21aは、各キーフレームを作成し、作成した各キーフレームを用いて、「人間の頭部が丸い形状から四角形状に変形する」という形状変形アニメーションを表現する。そして、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データを作成する。
【0063】
ここで、データ作成部21aが作成した形状変形アニメーションは、「人間の頭部」301の形状が変形するアニメーションであり、「人間の胴体部」302の形状は変形しないアニメーションである。そこで、形状処理部22aは、データ作成部21aが作成した形状変形データを、形状が変形する部位と形状が変形しない部位とに分離する。そして、形状処理部22aは、形状が変形する部位についてのみ、すなわち、C座標(g,h,i)、X座標(r,s,t)座標等の頂点位置が変化する座標についてのみ、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データとして、形状変形アニメーション保存部31に格納する。
【0064】
また、この形状変形アニメーションが割り当てられた三次元物体に、実施の形態1及び2において具体例として挙げたように、「歩く」や「腕を上げる」という動作アニメーションを割り当てることも可能である。すなわち、前述の「人間」の形状に「歩く」という動作アニメーションを割り当てると共に、「当該人間の頭部が丸い形状から四角形状に変形する」という形状変形アニメーションを割り当てることができる。
【0065】
図12は、本発明の実施の形態3における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50bは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S60)。次に、形状データ復元部51aは、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50bは、入力部10を介して、ユーザから、当該ユーザが選択した形状に割り当てる形状変形アニメーションの選択を受け付ける(S61)。このとき、レンダリング部50bは、ユーザが選択することができる形状変形アニメーションを、前記保存処理において形状変形データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、形状変形アニメーションの選択を受け付ける。そして、形状データ復元部51aは、形状変形アニメーション保存部31が保持している形状変形データを、ユーザの選択に従って、形状変形アニメーション保存部31から読み出す。
【0066】
次に、レンダリング部50bは、前記選択した形状に形状変形アニメーションを追加するか否かの選択を受け付ける(S62)。形状変形アニメーションの追加をする場合は、形状変形アニメーションの選択を再び受け付け(S61)、前述の処理を繰り返す。形状変形アニメーションの追加をしない場合は、レンダリング部50bは、前記選択した形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S63)。
【0067】
動作アニメーションを割り当てる場合は、レンダリング部50bは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S64)。このとき、レンダリング部50bは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、レンダリング部50bは、前記選択した形状に対して、動作アニメーションの追加をするか否かの選択を受け付ける(S65)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S64)、前述の処理を繰り返す。
【0068】
他方、動作アニメーションの追加をしない場合は、形状データ復元部51aは、前記共有形状保存部30から読み出した共有形状データと、前記形状変形アニメーション保存部31から読み出した形状変形データとを用いて、前記選択した形状変形アニメーションや動作アニメーションの描画に必要な形状データに復元する(S66)。その後、画像データ生成部52は、前記選択した動作アニメーションについての動作データを動作アニメーション保存部40から読み出し、形状データ復元部51aが復元した形状データと動作アニメーション保存部40から読み出した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S67)。
【0069】
一方、動作アニメーションを割り当てない場合は、形状データ復元部51aは、前記共有形状保存部30から読み出した共有形状データと、前記形状変形アニメーション保存部31から読み出した形状変形データとを用いて、前記選択した形状変形アニメーションの描画に必要な形状データに復元する(S66)。その後、画像データ生成部52は、形状データ復元部51aが復元した形状データを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S67)。
【0070】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状と、当該形状が変形する形状変形アニメーションが存在する場合に、形状が変形しない部位の重複したオブジェクト形状データを保存しないで、一のオブジェクト形状データを共有形状データとして保存し、形状変形アニメーションに対して共有化する。そして、レンダリング時に、アニメーションの再生に必要な形状データに復元する。これによって、形状データを格納する記憶部の容量を節約することができる。
【0071】
(実施の形態4)
さらに、本発明の実施の形態4における三次元画像生成装置を、図面を参照しながら説明する。この三次元画像生成装置の構成は、前記実施の形態1、2及び3における三次元画像生成装置の構成と共通する点が多いが、モデリング部20cとレンダリング部50cとが異なり、形状変形差分復元部80と動作差分復元部90とを備えている点で前出の実施の形態と異なる。
【0072】
すなわち、本発明の実施の形態4における三次元画像生成装置が、モデリング部20c、レンダリング部50c、形状変形差分復元部80および動作差分復元部90を備えることによって、モデリング部20cが、形状変形データや動作データを初期データと差分データとして保存し、データ記憶部の使用量を節約しつつ、形状変形差分復元部80や動作差分復元部90を用いて、データの復元を行い、レンダリング部50cがアニメーションの描画を行なう。従って、形状データや動作データを格納する記憶部の使用量を削減することができる。
【0073】
以下、前出の実施の形態と異なる点を中心に説明する。なお、前出の実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する(以下、他の図面についても同様)。
図13は、本発明の実施の形態4における三次元画像生成装置の構成を示す機能ブロック図である。この三次元画像生成装置は、モデリング部20c、レンダリング部50c、形状変形差分復元部80及び動作差分復元部90等から構成される。
【0074】
モデリング部20cは、入力部10を介して、ユーザからの三次元物体の作成指示、アニメーション指示を受け付けて、三次元画像のオブジェクトとなる物体の形状作成、形状変形アニメーション及び動作アニメーションの作成を行なう三次元モデラ等であり、データ作成部21a、形状処理部22b及び動作アニメーション処理部23bから構成される。
【0075】
形状処理部22bは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データと形状変形データとに分離して受け取り、共有形状データだけを共有形状保存部30に格納する処理部である。さらに、形状処理部22bは、データ作成部21aが作成した形状変形データを、形状の全部が変形するデータであるのか、形状の一部が変形するデータであるのかを判断し、形状変形データの初期値と変化量を計算して、形状変形初期データと形状変形差分データとして形状変形アニメーション保存部31に格納する。ここで、形状変形データの初期値とは、形状変形データを構成するキーフレームデータのうち、最初のキーフレームデータが示す座標値をいう。そして、形状変形データの変化量とは、形状変形データを構成するキーフレームデータのうち、一のキーフレームデータが示す座標値と、当該一のキーフレームに隣接する先のキーフレームデータが示す座標値との座標値間の変化分をいう。
【0076】
動作アニメーション処理部23bは、データ作成部21aが作成した動作データのみを受け取り、動作データの初期値と変化量を計算して、動作初期データと動作差分データとを動作アニメーション保存部40に格納する処理部である。ここで、動作データの初期値とは、動作データを構成するキーフレームデータのうち、最初のキーフレームデータが示す座標値をいう。そして、動作データの変化量とは、動作データを構成するキーフレームデータのうち、一のキーフレームデータが示す座標値と、当該一のキーフレームに隣接する先のキーフレームデータが示す座標値との座標値間の変化分をいう。
【0077】
レンダリング部50cは、入力部10を介して、ユーザからの三次元物体の描画指示及びアニメーション描画指示を受け付けて、共有形状保存部30が保持している共有形状データと、形状変形差分復元部80が復元した形状変形データと、動作差分復元部90が復元した動作データとを用いて描画を行なう処理部であり、形状データ復元部51bと画像データ生成部52とから構成される。
形状データ復元部51bは、共有形状保存部30が保持している共有形状データと、形状変形差分復元部80が復元した形状変形データとを読み出し、形状データに復元する処理部であり、復元した形状データを画像データ生成部52に送る。
【0078】
形状変形差分復元部80は、共有形状保存部30が保持している形状変形初期データと形状変形差分データを参照して、形状変形データを復元し、復元した形状変形データを形状データ復元部51bに送る処理部である。
動作差分復元部90は、動作アニメーション保存部40が保持している動作初期データと動作差分データを参照して、動作データを復元し、復元した動作データを画像データ生成部52に送る処理部である。
【0079】
以上のように構成された本発明の実施の形態4における三次元画像生成装置の動作について説明する。
図14は、本発明の実施の形態4における三次元画像生成装置による保存処理の流れを示すフロー図である。
【0080】
まず、データ作成部21aは、ユーザからの指示に従って、三次元画像のオブジェクトとなる三次元物体のオブジェクト形状データを作成する(S70)。次に、データ作成部21aは、当該物体の形状に形状変形アニメーションを割り当てるか否かの選択を受け付ける(S71)。
【0081】
このとき、形状変形アニメーションを割り当てない場合は、形状処理部22bは、データ作成部21aが作成した形状データを、共有形状データと共有しない形状データとに分離して、共有形状データだけを共有形状保存部30に格納する(S72)。そして、後述する動作データの作成、保存処理を行なう(S80〜S82)。
【0082】
一方、形状変形アニメーションを割り当てる場合は、データ作成部21aは、ユーザからの指示に従って、当該物体の形状を変形させる形状変形データを作成する(S73)。次に、形状処理部22bは、データ作成部21aが作成した形状変形データが、形状の全体が変形するデータであるのか、形状の一部が変形するデータであるのかを判断する(S74)。このとき、形状の一部が変形する場合は、形状処理部22bは、データ作成部21aが作成したオブジェクト形状データを、変形する部位と変形しない部位とに分離し(S75)、変形しない部位のオブジェクト形状データを共有形状データと共有しない形状データとに分離して、変形しない部位の共有形状データを共有形状保存部30に格納する(S76)。その後、形状処理部22bは、変形する部位の形状変形データを、当該変形部位の初期頂点座標値と、各キーフレーム間における形状変形後の頂点座標値の差分を計算し、形状変形初期データと形状変形差分データ化して、形状変形アニメーション保存部31に格納する(S77)。一方、形状の全体が変形する場合は、形状処理部22bは、形状変形データを、初期頂点座標値と、各キーフレーム間における形状変形後の頂点座標値の差分とを計算し、形状変形初期データと形状変形差分データ化して、形状変形アニメーション保存部31に格納する(S77)。このとき、形状処理部22bは、形状変形初期データに、当該形状変形データが共有している共有形状データの情報属性を与えて、形状変形アニメーション保存部31に格納する。
【0083】
さらに、データ作成部21aは、形状変形データを追加作成するか否かの選択を受け付ける(S78)。形状変形データを追加作成する場合は、データ作成部21aは、当該物体の形状を変形させる形状変形データを作成し(S73)、前述の保存処理を繰り返す。一方、形状変形データを追加作成しない場合は、データ作成部21aは、当該物体の形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S79)。
【0084】
動作アニメーションを割り当てる場合は、データ作成部21aは、当該物体の形状に一の動作アニメーションを割り当て、一の動作データを作成する(S80)。そして、動作アニメーション処理部23は、データ作成部21aが作成した動作データを、当該物体の形状の初期頂点座標値と、各キーフレーム間における平行移動、回転、拡大・縮小後の頂点座標値の差分とを計算し、動作初期データと動作差分データ化して、動作アニメーション保存部40に格納する(S81)。このとき、動作アニメーション処理部23bは、動作初期データに、当該動作データが共有している共有形状データの情報属性を与えて、動作アニメーション保存部40に格納する。さらに、データ作成部21aは、動作データを追加作成するか否かの選択を受け付ける(S82)動作データを追加作成する場合は、データ作成部21aは、当該物体の形状に他の動作アニメーションを割り当て、他の動作データを作成し(S80)、前述の保存処理を繰り返す。一方、動作データを追加作成しない場合は、保存処理を終了する。また、動作アニメーションを割り当てない場合も、保存処理を終了する。
【0085】
このようにして、形状が変形しない部位の共有形状データを共有形状保存部30に格納し、形状変形データを形状変形アニメーション保存部31に格納し、動作データを動作アニメーション保存部40に格納することによって、形状が変形しない部位の共有形状データと形状変形データと動作データとを別個に保存し、形状が変形しない部位の一の共有形状データを、複数の形状変形データや複数の動作データに対して共有化する。さらに、形状変形データを形状変形初期データと形状変形差分データとして形状変形アニメーション保存部31に格納し、動作データを動作初期データと動作差分データとして動作アニメーション保存部40に格納する。
【0086】
図15は、本発明の実施の形態4における三次元画像生成装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。ここでは、前記実施の形態1、2および3の場合と同じく、三次元物体の形状として、「人間」101を用い、三次元物体の形状に割り当てる動作アニメーションとして、「歩く」を用い、形状変形アニメーションを割り当てない場合を想定して説明する。図15(a)は、三次元物体の形状「人間」を表す図であり、図15(b)は、アニメーション「歩く」を割り当てた図である。ここで、図15(b)において、図15(a)に示す「人間」101の形状データを動作データと別個に保存することを表すため、「人間」101の形状を破線で表す。さらに、動作データを動作初期データと動作差分データとして保存することを表すため、キーフレーム間の差分をΔ402、Δ’403で表す。
【0087】
まず、前出の実施の形態と同様に、データ作成部21aは、入力部10を介して、図15(a)に示すように、ユーザからA(a,b,c)、Z座標(x,y,z)等の頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。そして、形状処理部22bが、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理に従って処理する。
【0088】
次に、データ作成部21aは、図15(b)に示すように、各頂点座標の値を初期値としてキーフレーム1を作成する。続いて、データ作成部21aは、図15(b)に示すように、A10座標、Z10座標等の値からキーフレーム10を作成する。さらに、データ作成部21aは、図15(b)に示すように、An座標、Zn座標等の値からキーフレームnを作成する。このようにして、データ作成部21aは、前出の実施の形態と同様に動作データを作成する。
【0089】
続いて、動作アニメーション処理部23bは、キーフレーム1における各頂点座標値401を動作初期データとして、前述の保存処理に従って処理する。さらに、動作アニメーション処理部23bは、キーフレーム1とキーフレーム10において各々対応する各頂点座標値間の差分402を動作差分データとして、前述の保存処理に従って処理する。そして、動作アニメーション処理部23bは、キーフレームnに隣接するキーフレームとキーフレームnにおいて各々対応する各頂点座標値間の差分403を動作差分データとして、前述の保存処理に従って処理する。
【0090】
図16は、図15と同じく、本発明の実施の形態4における三次元画像生成装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。ここでは、前記実施の形態3の場合と同じく、三次元物体の形状として、「人間」101を用い、当該三次元物体の形状が変形するアニメーションとして、「当該人間の頭部が丸い形状から四角形状に変形する」を用い、動作アニメーションを割り当てない場合を想定して説明する。図16(a)は、三次元物体の形状「人間」を表す図であり、図16(b)は、アニメーション「当該人間の頭部が丸い形状から四角形状に変形する」を割り当てた図である。ここで、図16(b)において、図16(a)に示す「人間」101の形状データを形状変形データと別個に保存することを表すため、図11の場合と同様に、形状が変形する部位である「人間の頭部」301を実線で表し、形状が変形しない部位である「人間の胴体部」302については破線で表す。さらに、形状変形データを形状変形初期データと形状変形差分データとして保存することを表すため、キーフレーム間の差分をΔ502、Δ’503で表す。
【0091】
まず、実施の形態3の場合と同様に、データ作成部21aは、入力部10を介して、図16(a)に示すように、ユーザから頂点座標指示を受け、これらの頂点座標から三次元物体のオブジェクト形状データを作成する。そして、形状処理部22が、データ作成部21aが作成したオブジェクト形状データを、前述の保存処理フローに従って処理する。
【0092】
次に、データ作成部21aは、頂点位置が変化する座標値、すなわち、図16(b)に示すように、C1座標、X1座標等の値を形状変形部位の初期座標値として、キーフレーム1を作成する。続いて、データ作成部21aは、入力部10を介して、ユーザから、形状データを構成する頂点位置の変化の指示を受けて、図16(b)に示すように、C10座標、X10座標等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレーム10を作成する。さらに、データ作成部21aは、同様の処理を繰り返し、図16(b)に示すように、Cn座標、Xn座標等の頂点座標を導き出し、これらの頂点座標の値を用いて、キーフレームnを作成する。そして、キーフレームにおける形状の頂点位置の座標をキーフレームデータとして、キーフレームごとに抽出し、形状変形データを作成する。
【0093】
そして、形状処理部22bは、データ作成部21aが作成した形状変形データのうち、キーフレーム1における各頂点座標値501を形状変形初期データとして、前述の保存処理に従って処理する。続いて、形状処理部22bは、キーフレーム1とキーフレーム10において各々対応する各頂点座標値間の差分502を形状変形差分データとして、前述の保存処理に従って処理する。さらに、形状処理部22bは、キーフレームnに隣接するキーフレームとキーフレームnにおいて各々対応する各頂点座標値間の差分503を形状変形差分データとして、前述の保存処理に従って処理する。
【0094】
図17は、本発明の実施の形態4における三次元画像生成装置によるレンダリング処理の流れを示すフロー図である。
まず、レンダリング部50cは、入力部10を介して、ユーザからオブジェクトの形状の選択を受け付ける(S90)。次に、形状データ復元部51bは、共有形状保存部30が保持している共有形状データを、ユーザの選択に従って、共有形状保存部30から読み出す。次に、レンダリング部50cは、入力部10を介して、ユーザから、当該ユーザが選択した形状に形状変形アニメーションを割り当てるか否かの選択を受け付ける(S91)。ここで、前記選択した形状に形状変形アニメーションを割り当てない場合は、レンダリング部50cは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S95)。
【0095】
一方、前記選択した形状に形状変形アニメーションを割り当てる場合は、レンダリング部50cは、形状変形アニメーションの選択を受け付ける(S92)。このとき、レンダリング部50cは、ユーザが選択することができる形状変形アニメーションを、前記保存処理において形状変形初期データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、形状変形アニメーションの選択を受け付ける。
【0096】
次に、レンダリング部50cは、前記選択した形状に形状変形アニメーションを追加するか否かの選択を受け付ける(S93)。形状変形アニメーションの追加をする場合は、形状変形アニメーションの選択を再び受け付け(S92)、前述の処理を繰り返す。形状変形アニメーションの追加をしない場合は、レンダリング部50cは、前記選択した形状に動作アニメーションを割り当てるか否かの選択を受け付ける(S94)。
【0097】
動作アニメーションを割り当てる場合は、レンダリング部50cは、前記選択した形状に割り当てる動作アニメーションの選択を受け付ける(S95)。このとき、レンダリング部50cは、ユーザが選択することができる動作アニメーションを、前記保存処理において動作初期データに与えられた共有形状データの情報属性に基づき判断し、前記選択した形状に該当する情報属性を有するものに限って、動作アニメーションの選択を受け付ける。その後、レンダリング部50cは、前記選択した形状に対して、動作アニメーションの追加をするか否かの選択を受け付ける(S96)。動作アニメーションの追加をする場合は、動作アニメーションの選択を再び受け付け(S95)、前述の処理を繰り返す。
【0098】
一方、動作アニメーションの追加をしない場合は、レンダリング部50cは、ユーザの選択に従って、動作データの復元指示を動作差分復元部90に送る。次に、動作差分復元部90は、当該復元指示に従って、動作アニメーション保存部40が保持している動作初期データと動作差分データの中から、前記選択した動作アニメーションの描画に用いる動作データを復元するために必要な動作初期データと動作差分データとを参照して、差分計算し、動作データの復元を行なう(S97)。
【0099】
そして、前段階において形状変形アニメーションを割り当てなかった場合は、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データを、前記選択した動作アニメーションの描画に必要な形状データに復元する(S98)。その後、画像データ生成部52は、形状データ復元部51bが復元した形状データと動作差分復元部90が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0100】
他方、前段階において形状変形アニメーションを割り当てた場合は、レンダリング部50cは、ユーザの選択に従って、形状変形データの復元指示を形状変形差分復元部80に送る。次に、形状変形差分復元部80は、当該復元指示に従って、形状変形アニメーション保存部31が保持している形状変形初期データと形状変形差分データの中から、前記選択した形状変形アニメーションの描画に用いる形状変形データを復元するために必要な形状変形初期データと形状変形差分データとを参照して、差分計算し、形状変形データの復元を行なう(S97)。そして、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データと、形状変形差分復元部80が復元した形状変形データとを用いて、前記選択した形状変形アニメーションや動作アニメーションの描画に必要な形状データを復元する(S98)。
【0101】
その後、画像データ生成部52は、形状データ復元部51bが復元した形状データと、動作差分復元部90が復元した動作データとを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0102】
一方、動作アニメーションを割り当てず、前段階において形状変形アニメーションを割り当てた場合は、レンダリング部50cは、ユーザの選択に従って、形状変形データの復元指示を形状変形差分復元部80に送る。次に、形状変形差分復元部80は、当該復元指示に従って、形状変形アニメーション保存部31が保持している形状変形初期データと形状変形差分データの中から、前記選択した形状変形アニメーションの描画に用いる形状変形データを復元するために必要な形状変形初期データと形状変形差分データとを参照して、差分計算し、形状変形データの復元を行なう(S97)。そして、形状データ復元部51bは、前記共有形状保存部30から読み出した共有形状データと、形状変形差分復元部80が復元した形状変形データとを用いて、前記選択した形状変形アニメーションの描画に必要な形状データを復元する(S98)。
【0103】
その後、画像データ生成部52は、形状データ復元部51bが復元した形状データを用いて、アニメーション描画を行い、画像データに生成して、画像データを表示部60に送る(S99)。
【0104】
このように、本実施の形態によれば、オブジェクトとなる三次元物体の形状データを作成し、当該形状が変形するアニメーションを割り当てる場合や、当該形状が動作するアニメーションを割り当てる場合に、初期値と変化量のみをデータとして保存し、レンダリング時に、差分復元部において形状変形データや動作データを復元するため、形状データや動作データを保存する記憶部の容量を効率的に使用することができる。
【0105】
以上、本発明に係る三次元画像生成装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
例えば、上記実施の形態では、あるキーフレームにおける位置、回転角度、拡大・縮小率をキーフレームデータとして動作アニメーション保存部に保存することとしているが、位置、回転角度、拡大・縮小率を反映したキーフレーム行列として保存してもよい。
【0106】
また、上記実施の形態では、入力部がレンダリング部に送る指示は、描画指示のみを挙げているが、入力部において複数のアニメーションを組み合わせるシナリオを記述し、レンダリング部に記述したシナリオを送ることとしてもよい。
【0107】
さらに、上記実施の形態4では、動作データを構成する最初のキーフレームデータの値を初期値とし、これを動作初期データとして保存し、初期値から隣接するキーフレームごとに各座標値間の変化分を動作差分データとして保存しているが、初期値における座標値と、各キーフレームにおける初期値からの座標値の変化分とを動作差分データとして保存してもよい。
【0108】
同様に、上記実施の形態4では、形状変形データを構成する最初のキーフレームデータの値を初期値とし、これを形状変形初期データとして保存し、初期値から隣接するキーフレームごとに各座標値間の変化分を形状変形差分データとして保存しているが、初期値における座標値と、各キーフレームにおける初期値からの座標値の変化分とを形状変形差分データとして保存してもよい。
さらに、上記実施の形態4では、三次元物体の形状全体の初期値と変化量のみをデータとすることとしたが、形状が動作する部位と動作しない部位とに分離して、動作する部位についての初期値と変化量のみをデータとして保存してもよい。
【0109】
【発明の効果】
以上の説明から明らかなように、本発明に係る三次元画像生成装置は、三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置であって、前記三次元画像生成装置は、同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する編集指示取得手段と、前記編集指示取得手段によって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして前記記憶手段に格納するアニメーションデータ生成手段とを備えることを特徴とする。
【0110】
これによって、三次元物体の形状が重複する場合には、一の共有形状データのみが保存され、複数の動作データに対して共有化されるので、形状データの記憶領域を少なくすることができる。また、同一形状に複数のアニメーションを割り当てる場合において、アニメーションの組合せが可能とされるので、メモリ資源の有効利用が図られ、かつ、編集が容易化され、ユーザの労力が軽減される。
【0111】
ここで、前記三次元画像生成装置は、さらに、前記記憶手段に格納された一の形状データと複数の動作データとを読み出し、読み出したデータに基づいて、同一形状の三次元物体についての複数のアニメーションを復元して表示する復元表示手段を備えてもよい。
これによって、三次元物体のアニメーションを表す画像データが復元され、メモリ資源を有効利用した上で、三次元物体のアニメーションの外部出力表示が可能となる。
【0112】
また、本発明は、前記アニメーションデータ生成手段は、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて動きがあった部位オブジェクトだけについて、前記動作データを生成することとしてもよい。
これによって、三次元物体のアニメーションが、オブジェクトの形状の一部が動作するアニメーションであっても、当該動作部位のみが保存されるので、動作データの記憶領域が節減される。
【0113】
さらに、前記編集指示取得手段は、三次元物体の形状の変形を含むアニメーションについての編集指示を取得し、前記アニメーションデータ生成手段は、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて変形があった部位オブジェクトだけについて、当該変形を示す形状データを生成することとしてもよい。
【0114】
これによって、三次元物体の形状そのものが変形するアニメーションにおいても、形状が変形する部位についての形状変形データのみが保存され、形状が変形しない部位についてのオブジェクト形状データは共有化されるので、形状データの記憶領域の効率的な使用が可能となる。
【0115】
また、前記動作データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における移動量を示す差分データの集合であることとしてもよい。
これによって、動作データは、その初期値と変化量のみが動作初期データと動作差分データとして保存され、レンダリング時に、動作データが復元されるので、動作データを格納する記憶領域を少なくすることができる。
【0116】
さらに、前記形状データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における頂点位置の移動量を示す差分データの集合であることとしてもよい。
これによって、形状変形データは、その初期値と変化量のみが形状変形初期データと形状変形差分データとして保存され、レンダリング時に、形状変形データが復元されるので、形状データを格納する記憶領域を少なくすることができる。
【0117】
以上のことから、本発明は、三次元コンピュータグラフィックスの分野における三次元画像生成装置の記憶容量を大幅に軽減し、効率的に使用することを可能にして、かつ、ユーザの編集を容易にするものと考えられ、その実用的価値は極めて高い。
【図面の簡単な説明】
【図1】本発明の実施の形態1における三次元画像生成装置の構成を示す機能ブロック図である。
【図2】同装置による保存処理の流れを示すフロー図である。
【図3】同装置のモデリング部20におけるモデリング処理を模式的に表す図である。
【図4】同装置によるレンダリング処理の流れを示すフロー図である。
【図5】本発明の実施の形態2における三次元画像生成装置の構成を示す機能ブロック図である。
【図6】同装置による保存処理の流れを示すフロー図である。
【図7】同装置のモデリング部20aにおけるモデリング処理を模式的に表す図である。
【図8】同装置によるレンダリング処理の流れを示すフロー図である。
【図9】本発明の実施の形態3における三次元画像生成装置の構成を示す機能ブロック図である。
【図10】同装置による保存処理の流れを示すフロー図である。
【図11】同装置のモデリング部20bにおけるモデリング処理を模式的に表す図である。
【図12】同装置によるレンダリング処理の流れを示すフロー図である。
【図13】本発明の実施の形態4における三次元画像生成装置の構成を示す機能ブロック図である。
【図14】同装置による保存処理の流れを示すフロー図である。
【図15】同装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。
【図16】同装置のモデリング部20cにおけるモデリング処理を模式的に表す図である。
【図17】同装置によるレンダリング処理の流れを示すフロー図である。
【図18】従来における三次元画像生成装置の構成例を示す機能ブロック図である。
【図19】同装置のモデリング部2におけるモデリング処理を模式的に表す図である。
【符号の説明】
1、10 入力部
2、20、20a、20b、20c モデリング部
3 形状・アニメーション保存部
4、50、50a、50b、50c レンダリング部
5、60 表示部
6、70 表示装置
21、21a データ作成部
22、22a、22b 形状処理部
23、23a、23b 動作アニメーション処理部
30 共有形状保存部
31 形状変形アニメーション保存部
40 動作アニメーション保存部
80 形状変形差分復元部
90 動作差分復元部
Claims (17)
- 三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置であって、
同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する編集指示取得手段と、
画像データを格納するための記憶手段と、
前記編集指示取得手段によって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す複数の動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして前記記憶手段に格納するアニメーションデータ生成手段と
を備えることを特徴とする三次元画像生成装置。 - 前記三次元画像生成装置は、さらに、
前記記憶手段に格納された一の形状データと複数の動作データとを読み出し、読み出したデータに基づいて、同一形状の三次元物体についての複数のアニメーションを復元して表示する復元表示手段を備える
ことを特徴とする請求項1記載の三次元画像生成装置。 - 前記アニメーションデータ生成手段は、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて動きがあった部位オブジェクトだけについて、前記動作データを生成する
ことを特徴とする請求項1記載の三次元画像生成装置。 - 前記編集指示取得手段は、さらに、三次元物体の形状の変形を含むアニメーションについての編集指示を取得し、
前記アニメーションデータ生成手段は、さらに、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて変形があった部位オブジェクトだけについて、当該変形を示す形状データを生成する
ことを特徴とする請求項1記載の三次元画像生成装置。 - 前記動作データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における位置を示すキーフレームデータの集合である
ことを特徴とする請求項1〜4のいずれか1項に記載の三次元画像生成装置。 - 前記動作データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における移動量を示す差分データの集合である
ことを特徴とする請求項1〜4のいずれか1項に記載の三次元画像生成装置。 - 前記差分データは、直前の時刻における前記三次元物体の位置からの差分を示している
ことを特徴とする請求項6記載の三次元画像生成装置。 - 前記差分データは、前記三次元物体の初期形状からの差分を示している
ことを特徴とする請求項6記載の三次元画像生成装置。 - 前記形状データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における頂点位置を示すキーフレームデータの集合である
ことを特徴とする請求項4記載の三次元画像生成装置。 - 前記形状データは、前記アニメーションにおける複数の代表的な時刻における三次元物体の三次元空間における頂点位置の移動量を示す差分データの集合である
ことを特徴とする請求項4記載の三次元画像生成装置。 - 前記差分データは、直前の時刻における前記三次元物体の頂点位置からの差分を示している
ことを特徴とする請求項10記載の三次元画像生成装置。 - 前記差分データは、前記三次元物体の初期形状の頂点位置からの差分を示している
ことを特徴とする請求項10記載の三次元画像生成装置。 - 三次元物体のアニメーションを表す画像データを生成する三次元画像生成方法であって、
同一形状の三次元物体に対して、位置、回転角度及び拡大縮小量で表現可能な複数のアニメーションを与える旨の編集指示を取得する編集指示取得ステップと、
前記編集指示取得ステップによって取得された編集指示に対して、前記三次元物体の形状を示す一の形状データと前記複数のアニメーションを示す複数の動作データとを生成し、当該三次元物体の複数のアニメーションを表す画像データとして記憶手段に格納するアニメーションデータ生成ステップと
を含むことを特徴とする三次元画像生成方法。 - 前記三次元画像生成方法は、さらに、
前記記憶手段に格納された一の形状データと複数の動作データとを読み出し、読み出したデータに基づいて、同一形状の三次元物体についての複数のアニメーションを復元して表示する復元表示ステップを含む
ことを特徴とする請求項13記載の三次元画像生成方法。 - 前記アニメーションデータ生成ステップでは、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて動きがあった部位オブジェクトだけについて、前記動作データを生成する
ことを特徴とする請求項13記載の三次元画像生成方法。 - 前記編集指示取得ステップでは、さらに、三次元物体の形状の変形を含むアニメーションについての編集指示を取得し、
前記アニメーションデータ生成ステップは、さらに、前記三次元物体が複数の部位オブジェクトからなる場合には、前記アニメーションにおいて変形があった部位オブジェクトだけについて、当該変形を示す形状データを生成する
ことを特徴とする請求項13記載の三次元画像生成方法。 - 三次元物体のアニメーションを表す画像データを生成する三次元画像生成装置のためのプログラムであって、
請求項13〜16のいずれか1項に記載の三次元画像生成方法におけるステップをコンピュータに実行させる
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002167770A JP2004013629A (ja) | 2002-06-07 | 2002-06-07 | 三次元画像生成装置および三次元画像生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002167770A JP2004013629A (ja) | 2002-06-07 | 2002-06-07 | 三次元画像生成装置および三次元画像生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013629A true JP2004013629A (ja) | 2004-01-15 |
Family
ID=30434920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002167770A Pending JP2004013629A (ja) | 2002-06-07 | 2002-06-07 | 三次元画像生成装置および三次元画像生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013629A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902237B2 (en) | 2009-12-15 | 2014-12-02 | Mitsubishi Electric Corporation | Image generating apparatus and image generating method |
CN109671139A (zh) * | 2017-10-13 | 2019-04-23 | 达索系统公司 | 用于创建概括三维对象的设计过程的动画的方法 |
-
2002
- 2002-06-07 JP JP2002167770A patent/JP2004013629A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902237B2 (en) | 2009-12-15 | 2014-12-02 | Mitsubishi Electric Corporation | Image generating apparatus and image generating method |
CN109671139A (zh) * | 2017-10-13 | 2019-04-23 | 达索系统公司 | 用于创建概括三维对象的设计过程的动画的方法 |
CN109671139B (zh) * | 2017-10-13 | 2024-05-17 | 达索系统公司 | 用于创建概括三维对象的设计过程的动画的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6999084B2 (en) | Method and apparatus for computer graphics animation utilizing element groups with associated motions | |
US7920144B2 (en) | Method and system for visualization of dynamic three-dimensional virtual objects | |
US6828971B2 (en) | Animation data generation apparatus, animation data generation method, animated video generation apparatus, and animated video generation method | |
US6307554B1 (en) | Apparatus and method for generating progressive polygon data, and apparatus and method for generating three-dimensional real-time graphics using the same | |
US6208360B1 (en) | Method and apparatus for graffiti animation | |
Han et al. | Fast example-based surface texture synthesis via discrete optimization | |
US6661420B2 (en) | Three-dimensional skeleton data compression apparatus | |
JPH0816820A (ja) | 3次元アニメーション作成装置 | |
JPH06503663A (ja) | 動画作成装置 | |
CN101421761A (zh) | 视件和场景图接口 | |
US9519988B2 (en) | Subspace clothing simulation using adaptive bases | |
KR20010006696A (ko) | 애니메이션 생성장치 및 방법 | |
EP1031946B1 (en) | Recording medium,Image processing method and unit with integrated shaping model data | |
JPH11339061A (ja) | 階層化ポリゴンデータを用いた3次元ポリゴン表示装置 | |
US8237719B1 (en) | Pose-structured animation interface | |
US20110012914A1 (en) | Image processing device and image processing method | |
US8289331B1 (en) | Asymmetric animation links | |
JP2004013629A (ja) | 三次元画像生成装置および三次元画像生成方法 | |
US8228335B1 (en) | Snapsheet animation visualization | |
JP2003051029A (ja) | アニメーションデータ生成装置、アニメーションデータ生成方法、アニメーション映像生成装置、及びアニメーション映像生成方法 | |
JP4733757B2 (ja) | ポリゴン処理装置,プログラム及び情報記録媒体 | |
US20060164440A1 (en) | Method of directly manipulating geometric shapes | |
CN114257735A (zh) | 图像处理装置、图像处理方法和存储介质 | |
US8077183B1 (en) | Stepmode animation visualization | |
JP2949594B2 (ja) | 動画表示装置 |