(57)【要約】      （修正有）【課題】より単純で平易な操作で、複数のリンクを有する構造体の姿勢を決定することができるアニメーション生成プログラムを提供する。【解決手段】本発明のアニメーション生成プログラムは、複数のリンクを有する構造体における一つのリンクの移動に伴って、構造体ができるだけ自然な姿勢を維持するように、構造体の他のリンクの空間位置を自動的に決定する。本発明のアニメーション生成プログラムは、例えば、人型ロボット（ヒューマノイド）の制御のため演算手法であって、ヤコビアンと呼ばれる行列とそのシンギュラリティ・ロバスト・インバース（Singularity-Robust Inverse (SR-Inverse)）と呼ばれる逆行列に基づいたインバースキネマティック演算を利用する。これにより、より単純で平易な操作で、複数のリンクを有する構造体のアニメーションを作成することができるようになる。【選択図】図３
2005182842.tif 000002
【特許請求の範囲】
【請求項１】
三次元空間に形成される複数のリンクを有する構造体を画面に表示し、当該構造体のアニメーションを生成するためのアニメーション生成プログラムにおいて、
所定の操作によって、画面上で前記構造体の第一のリンクを選択して移動させた場合、前記構造体が自然な姿勢を維持するように、前記構造体の他のリンクの空間位置を自動的に決定することを特徴とするアニメーション生成プログラム。
【請求項２】
請求項１において、
前記構造体の他のリンクの空間位置を、ヤコビアンとそのシンギュラリティ・ロバスト・インバース(SR-Inverse)に基づいたインバースキネマティック演算を利用して決定することを特徴とするアニメーション生成プログラム。
【請求項３】
三次元空間に形成される複数のリンクを有する構造体を画面に表示し、当該構造体のアニメーションを生成するためのアニメーション生成プログラムにおいて、
各リンクは、回転中心となる関節部分を少なくとも含み、
各リンクの関節部分の空間位置の可動又は固定を設定し、所定の操作によって、画面上で前記構造体の第一のリンクを選択して移動させると、前記構造体が自然な姿勢を維持するように、関節部分が固定に設定された第二のリンクの関節部分が移動するように表示することを特徴とするアニメーション生成プログラム。
【請求項４】
請求項３において、
前記第二のリンクの関節部分の設定は、移動後、固定に維持されることを特徴とするアニメーション生成プログラム。
【請求項５】
三次元空間に形成される複数のリンクを有する構造体を画面に表示し、当該構造体のアニメーションを生成するためのアニメーション生成プログラムにおいて、
各リンクは、回転中心となる関節部分を少なくとも含み、
各リンクの関節部分の回転範囲を設定し、
所定の操作によって、画面上で前記構造体の第一のリンクを選択して移動させると、前記構造体が自然な姿勢を維持するように、第二のリンクの関節部分がその回転範囲を超えて回転するように表示することを特徴とするアニメーション生成プログラム。
【請求項６】
請求項５において、
各リンクの表示位置にその回転範囲を表示することを特徴とするアニメーション生成プログラム。
【請求項７】
請求項６において、
各リンクの回転位置がそれぞれの回転範囲の限度又はその限度内外の近傍にある場合、回転範囲の表示色を変更することを特徴とするアニメーション生成プログラム。
【請求項８】
請求項５乃至７のいずれかにおいて、
各リンクの回転範囲を変更可能であることを特徴とするアニメーション生成プログラム。
【請求項９】
請求項３乃至８のいずれかにおいて、
前記第二のリンクの空間位置を、ヤコビアンとそのシンギュラリティ・ロバスト・インバース(SR-Inverse)に基づいたインバースキネマティック演算を利用して決定することを特徴とするアニメーション生成プログラム。
【請求項１０】
三次元空間に形成される複数のリンクを有する構造体を画面に表示し、当該構造体のアニメーションを生成するためのアニメーション生成プログラムにおいて、
各リンクは、回転中心となる関節部分を少なくとも含み、
各リンクの関節部分の空間位置の可動又は固定を設定し、
所定の操作により、関節部分が固定された第一のリンクを選択することで、当該第一のリンクを移動させることができることを特徴とするアニメーション生成プログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
画面上に表示される所定の指示手段を移動させて、前記第一のリンクと画面上で合わせることで、前記第一のリンクが選択されることを特徴とするアニメーション生成プログラム。
【請求項１２】
請求項１１において、
前記第一のリンクが選択されると、前記第一のリンクの表示色を変更することを特徴とするアニメーション生成プログラム。
【請求項１３】
三次元空間に形成される所定の構造体を画面に表示し、当該構造体のアニメーションを生成するためのアニメーション生成プログラムにおいて、
アニメーションを構成する複数のフレーム画像間の時間関係を示すタイムシートの時間軸を縦方向に表示することを表示するアニメーション生成プログラム。
【請求項１４】
三次元空間に形成される複数のリンクを有する構造体を表示する第一の表示部と、
当該構造体の各リンクの空間位置、各リンクの関節部分の可動又は固定のいずれかを設定する設定手段と、
当該構造体のアニメーションを構成する複数のフレーム画像間の時間関係を示すタイムシートの時間軸を縦方向に表示する第二の表示部と、
操作者の操作によって前記第一の表示部の画像上を移動し、前記設定手段および前記タイムシートに対して操作者の設定操作を表示する指示手段と、を有し、
所定の操作によって、前記第一の表示部の画像上で前記構造体の第一のリンクを選択して移動させた場合、前記構造体が自然な姿勢を維持するように、前記構造体の他のリンクの空間位置を自動的に決定することを特徴とする画像処理装置。
【請求項１５】
請求項１又は２において、
所定時間にわたる前記構造体のアニメーションを構成する複数フレームのうちの一つを画面に表示する場合、前記構造体の位置及び姿勢を操作可能な現在時刻フレームとして、第１のフレームが選択されると、
前記画面に、前記第１のフレームに対応する構造体を、その位置及び姿勢を操作可能に表示するとともに、前記第１のフレーム以外の少なくとも一つの第２のフレームに対応する構造体を、前記第１のフレームに対応する構造体と識別可能に表示し、
前記画面上に表示される所定の指示手段により、前記第２のフレームに対応する構造体の表示領域が選択されると、
前記第２のフレームを前記現在時刻フレームに変更し、前記第２のフレームに対応する構造体を、その位置及び姿勢を操作可能に表示することを特徴とするアニメーション生成プログラム。
【請求項１６】
請求項１５において、
前記第２のフレームに対応する構造体をゴースト表示することを特徴とするアニメーション生成プログラム。
【請求項１７】
請求項１５又は１６において、
所定の操作に従って、画面上で前記第１のフレームの構造体の第１のリンクを選択して移動させた場合、
当該第１のリンクと、それに対応するリンクであって、ゴースト表示されている前記第２のフレームの構造体の第２のリンクとの画面における距離が所定距離以内に近づくと、前記第１のリンクを第２のリンクの位置に移動させ、前記第１のフレームの構造体の他のリンクの位置を、前記構造体が自然な姿勢を維持するように決定することを特徴とするアニメーション生成プログラム。
【請求項１８】
請求項１又は２において、
所定時間にわたる前記構造体のアニメーションを構成する複数のフレームに関して、前記構造体のすべてのリンクを操作可能な複数のフレームからなる第１のフレーム群と、前記構造体の一部のリンクを操作可能な複数のフレームからなる一つの第２のフレーム群とを設定し、
前記第１のフレーム群と前記第２のフレーム群とを合成することで、前記一部のリンクについては、前記第２のフレーム群の動作を行い、他のリンクについては、第１のフレーム群の動作を行う構造体のアニメーションを生成することを特徴とするアニメーション生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元コンピュータグラフィックスを利用したアニメーション生成プログラムに関し、特に、三次元空間に形成される複数のリンクを有する構造体を画面に表示し、その構造体のアニメーション（動画）を生成するためのアニメーション生成プログラムに関する。
【背景技術】
【０００２】
一般に、二次元のセルアニメーションの制作現場では、キャラクタの動作作成を、「原画」と「動画」に分けている。「原画」は、動作全体を決定付けるポーズを描き出した絵で、「動画」は、「原画」と「原画」との間を補間した絵である。
【０００３】
一方、映像表現の別の方法として、三次元のコンピュータグラフィックスが多く使用されてくるようになった。三次元コンピュータグラフィックスの映像においては、「キーフレーム」と呼ばれるデータの作成後、キーフレーム間のデータをスプライン補間等により自動的に生成している。この「キーフレーム」を、セルアニメーションにおける「原画」と考えると、両者は、非常に類似した作業方法をとっていると言える。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、三次元コンピュータグラフィックスの映像表現は、二次元セルアニメーションの表現力にはまだ至っていないのが現状である。その理由は、以下に挙げる制作作業に要因があるといえる。
【０００５】
例えば、人型モデルの動作を生成する場合、三次元コンピュータグラフィックスでは、三次元による人型モデルの形状作成は進化しているが、人型モデルの手足や頭などの各部位に動きを与える手法が、現状では、大きく分けて、モーションキャプチャや３軸の回転データを演算処理する手法しか用いられていない。モーションキャプチャでは、実際の人間の動きしか与えられないので、アニメーション作成者による自由な動作表現を制限する場合がある。また、人型モデルは、多数のリンクを有する構造体であって、複雑且つ多量の自由度を有する。リンクは、回転中心となる関節部分とそこから延びる長さ部分を有する構造体の単位である。なお、リンクは、関節部分だけで構成されてもよい。
【０００６】
図１９は、複数のリンクで構成される簡単な人型モデルの例を示す。図１９において、各リンク１０の関節部分１１が丸部で示され、そこから延びる長さ部分１２が線分で示されている。このような人型モデルの動作を、従来の演算処理手法（例えば、単純なインバースキネマティック法）によって制御することは困難であった。例えば、従来のインバースキネマティック法を利用したアニメーション生成プログラムでは、一つのリンクを動作させたとき、人型モデルができるだけ自然な姿勢を維持するように、他のリンクの位置を自動的に決定することができない。さらに詳しくは、従来のアニメーション生成プログラムでは、全てのリンクについてそれぞれ、その関節部分が可動であるか、固定であるかをあらかじめ設定しておく。そして、ある一つのリンクを選択し、そのリンクの位置を移動（又は回転）させるとき、他の可動リンクの位置は、その関節部分の回転範囲を超えると移動するが、固定された関節部分の位置は移動しないので、人型モデルの姿勢が不自然になったり、他のリンクが固定されているため、選択されたリンクを所望の位置に移動できないという不便さがあった。この場合、アニメーション作成者は、いちいち関節部分の固定の解除操作を行って、人型モデルの姿勢を作成するのに、各リンクをそれぞれ移動させることで所望の姿勢を作成する必要があった。このように、従来のアニメーション生成プログラムは、その操作が複雑且つ非効率的であり、アニメーション作成者にとって、使いづらいものであった。
【０００７】
そこで、本発明の目的は、より単純で平易な操作で、複数のリンクを有する構造体の姿勢を決定することができるアニメーション生成プログラムを提供することにある。
【０００８】
また、本発明の目的は、あるリンクの移動に伴って、複数のリンクを有する構造体ができるだけ自然な姿勢を維持するようなアニメーション生成プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明では、あるリンクの移動に伴って、複数のリンクを有する構造体ができるだけ自然な姿勢を維持するように、構造体の他のリンクの位置を決定するアニメーション生成プログラムを提供する。
【００１０】
例えば、本発明のアニメーション生成プログラムは、人型ロボット（ヒューマノイド）の制御のため演算手法であって、ヤコビアンと呼ばれる行列とそのシンギュラリティ・ロバスト・インバース（Singularity-Robust Inverse (SR-Inverse)）と呼ばれる逆行列に基づいたインバースキネマティック演算を利用する。この演算手法をアニメーション生成プログラムに利用することで、複数のリンクを有する構造体のアニメーションの作成において、画面に表示された構造体の一つのリンクを動かしたときに、構造体全体の姿勢が不自然にならないように、構造体の他のリンク位置を自動的に決定することができ、より単純で平易な操作で、複数のリンクを有する構造体のアニメーションを作成することができるようになる。
【発明の効果】
【００１１】
以上、本発明によれば、複数のリンクを有する構造体ができるだけ自然な姿勢を維持するように、構造体の各リンク位置を自動的に決定することができるアニメーション生成プログラムが提供される。これにより、画面に表示された構造体の一つのリンクを動かしたときに、構造体全体の姿勢が不自然にならないように、構造体の他のリンク位置を決定することができ、より単純で平易な操作で、複数のリンクを有する構造体の姿勢を決定することができるようになる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について説明する。しかしながら、本発明の技術的範囲が、本実施の形態に限定されるものではない。
【００１３】
図１は、複数のリンクを有する構造体を表示する画面の例である。図１の画面は、例えば、本発明の実施の形態におけるアニメーション生成プログラムを実行するコンピュータ装置の画面である。画面には、所定の三次元空間に形成される複数のリンクを有する人型構造体が表示されている。リンク１０は、図示されるように、関節部分（丸部分）１１とそこから延びる長さ部分（線分）１２から構成される。なお、線分は、図示省略されるが、所定幅を有する。また、リンク１０は、関節部分１１のみから構成されてもよい。関節部分は、人間や動物の関節に対応する回転中心である。さらに、関節部分の回転範囲（角度）は、ユーザによりあらかじめ設定且つ変更可能である。なお、図１の構造体は人型モデルであるが、構造体は、複数のリンクを有する物体（動物、パワーシャベルなど）であれば、人型に限られない。
【００１４】
ユーザは、マウスなどの操作して、表示されている構造体のリンクに、カーソル（指示手段）２０を合わせることで、任意のリンクを選択することができる。本実施の形態では、特に、マウスを操作してカーソルを所望のリンクに合わせてから、左クリック操作や、右クリック操作によりメニューを表示させ、その中の「選択」を指定する操作などの所定のリンク選択操作をすることなく、カーソルを合わせるだけで、リンクを選択することができる。従って、ユーザは、より簡単にリンクを選択することができる。そして、本実施の形態では、任意のリンクにカーソルを合わせると、そのリンクの色が変化する。これにより、ユーザは、選択されたリンクを認識することができる。
【００１５】
図２は、選択されたリンクの色の変化を説明する図である。図２（ａ）から図２（ｂ）に示すようにカーソルを移動させ、カーソルを任意のリンクに合わせると、そのリンクの色が変化する。
【００１６】
ユーザは、選択したリンクの関節部分の空間位置の可動又は固定を設定することができる。例えば、図２（ｃ）に示すように、カーソルを任意のリンクに合わせ、そのリンクが選択された後、右クリックすることで表示されるメニューに含まれる「固定」を選択することで、選択したリンクの関節部分の固定が設定される。なお、初期設定は可動であり、設定を固定から可動に変更したい場合は、「固定解除」を選択すればよい。好ましくは、関節部分の設定が固定であるか可動であるかを識別するために、設定に応じて関節部分の表示色が異なるようにすることが好ましい。
【００１７】
ユーザは、選択したリンクをマウスでドラッグすることで、画面上でリンクを移動、回転させ、構造体の姿勢を操作する。このとき、可動に設定されているリンクの関節部分は、ドラッグされているリンクの移動に伴って移動可能であって、固定に設定されているリンクの関節部分は、ドラッグされているリンクの移動、回転に伴って、構造体の姿勢が不自然にならない範囲で移動しない。
【００１８】
また、選択したリンクの移動に伴って、他のリンクは、構造体全体が自然な姿勢を維持する範囲で、回転範囲を超えて回転しない。
【００１９】
このように、本実施の形態におけるアニメーション生成プログラムは、ドラッグされているリンクの移動、回転に伴って、構造体の姿勢ができるだけ自然になるように他のリンクの位置を決定する。
【００２０】
そのために、本発明の実施の形態におけるアニメーション生成プログラムは、一例として、ヤコビアンと呼ばれる行列とそのシンギュラリティ・ロバスト・インバース（Singularity-Robust Inverse (SR-Inverse)）と呼ばれる逆行列に基づいたインバースキネマティック演算（以下、「ヤコビアンとそのSR-Inverseに基づいたインバースキネマティック演算」という）を利用する。ヤコビアンとそのSR-Inverseに基づいたインバースキネマティック演算は、人型ロボット（ヒューマノイド）を制御するために開発された演算手法であり、この演算手法をアニメーション生成プログラムに利用することで、画面に表示された構造体の一つのリンクを動かしたときに、構造体全体の姿勢が不自然にならないように、構造体の他のリンク位置を決定することができる。
【００２１】
ヤコビアンとそのSR-Inverseに基づいたインバースキネマティック演算において、ユーザがあるリンクを選択し、その選択されたリンクを移動させて構造体の姿勢を変更しようとする場合に構造体の姿勢決定の際に考慮される条件は、以下の３つである。
【００２２】
（１）選択されたリンク以外の他のリンクが固定に設定されている場合、当該他のリンクの位置を固定したまま、構造体の姿勢を変更する。なお、固定するリンクの数、配置は任意である。
【００２３】
（２）各リンクは、あらかじめ設定された回転範囲（角度）を超えて回転しない。  
【００２４】
（３）各リンクの角度がそれぞれ目標値（理想値）になるべく近くなるように姿勢を決定する。
【００２５】
上記の条件は、互いに干渉しあう場合があり、演算法によっては解が得られなかったり、発散したりすることがあるが、本実施の形態における上記演算法を利用して、構造体の姿勢を理想状態に向かって制御することにより、上記条件に対しても常に安定的な解を得ることができるようになる。本実施の形態において利用する上記演算法では、各条件のオン・オフや重要度の設定をリンク毎に行うことができ、矛盾する条件が課せられても重要度に応じて自動的に実現度合いを調整し、構造体ができるだけ自然な姿勢になるような安定解が求められる。これにより、固定された関節部分が移動したり、リンクが回転範囲を超えて回転する場合があり得る。
【００２６】
このような演算手法をアニメーション生成手法に利用することにより、任意の一つのリンクを動かすというユーザの一回の操作により、そのリンクが指定された位置に配置されるように、構造体全体の自然な姿勢を決定することができるので、各リンクをいちいち動かしながら、構造体全体の姿勢を決める従来の操作に比べて、極めて簡単に且つ直感的に構造体の姿勢を操作することができるようになる。
【００２７】
ヤコビアンとSR-Inverseに基づいたインバースキネマティック演算の詳しい手法については、例えば、以下の論文、・Nakamura, Y. and Hanafusa, H. : Inverse Kinematics Solutions withSingularity Robustness for Robot Manipulator Control, Journal ofDynamic Systems, Measurement, and Control,vol.108, pp.163-171(1986)・長阪、稲葉、井上：動力学的動作変換フィルタ群を用いた人間型ロボットの全身行動設計、第１７回日本ロボット学会学術講演会予稿集、vol.3, pp.1207-1208 (1999)、・DasGupta, A. and Nakamura, Y. : Making Feasible Walking Motion ofHumanoid Robots from Human Motion Captured Data, Proceedings ofInternational Conference on Robotics and Automation, pp. 1044-1049(1999)、・Popovic, Z : Editing Dynamic properties of Captured Human Motion,Proceedings of IEEE international Conference on Robotics andAutomation,pp. 670-675 (2000)、・中村、山根、永島：構造変化を伴うリンク系の動力学計算法とヒューマンフィギュアの運動計算、日本ロボット学会誌、vol.16, no.8, pp.124-131(1998) 、・中村、山根、永島：拘束条件が不連続に変化するリンク系の動力学−環境と接触しながら運動するヒューマンフィギュアへの応用−、日本ロボット学会誌、vol.18, no.3, pp.435-443 (2000)、などに詳述されている。
【００２８】
図３は、本実施の形態における構造体の姿勢変化の例を説明する図である。図３の例では、人型構造体を構成する複数のリンクのうち、各先端部分（頭、手足）を構成するリンクＡ、Ｂ、Ｃ、Ｄ、Ｅが固定されているものとする。また、図３では、腰の部分に対応するリンクＦも固定されているものとする。本発明の実施の形態では、リンクが固定に設定されていても、その固定されているリンクを選択することで、リンクをドラッグして動かすことができる。
【００２９】
これにより、従来のように、ドラッグしたい（動かしたい）リンクが固定に設定されている場合、一旦、そのリンクを可動に設定変更する操作を行うことなく、固定されたリンクをドラッグすることができるようになり、より簡単に操作することができる。なお、固定に設定されたリンクは、ドラッグ後も、設定は固定のままであり、別のリンクがドラッグされる場合は、固定されたリンクとして扱われる。もちろん、固定されていないリンク（可動に設定されたリンク）も、リンクを選択することで、自由にドラッグすることができる。
【００３０】
図３（ａ）において、例えば、人型構造体の腰の部分のリンクＦが選択され、その関節部分を、図３（ｂ）に示すように画面（ウインドウ枠の図示省略）の左方向にドラッグすると、本発明の実施の形態におけるアニメーション生成プログラムのアルゴリズムにより、構造体全体の姿勢をできるだけ自然に維持するように、各リンクの位置が決定される。例えば、画面上では、手足のリンクＢ、Ｃ、Ｄ、Ｅの関節部分の位置は変わらず、移動しないが、頭のリンクＡの位置は、固定に設定されているにもかかわらず移動する。
【００３１】
また、図３（ｃ）に示すように、画面の右方向にドラッグする場合も、図３（ｂ）の場合と同様に、手足のリンクＢ、Ｃ、Ｄ、Ｅの関節部分の位置は変わらず、移動しないが、頭のリンクＡの位置は、固定に設定されているにもかかわらず移動する。
【００３２】
このように、本実施の形態におけるアニメーション生成プログラムは、選択されたリンクの移動に伴って、それ以外のリンクが固定されている場合であっても、その位置を移動させて表示する場合がある。
【００３３】
図４は、本実施の形態における構造体の姿勢変化の別の例を説明する図である。図４の例では、腰のリンクＦをドラッグすることで、図４（ａ）、（ｂ）、（ｃ）の順に、固定されている他のリンクＡ、Ｂ、Ｃ、Ｄ、Ｅを含む全てのリンクの位置が移動していく。
【００３４】
また、本実施の形態では、カーソルを任意のリンクに合わせ、そのリンクが選択された後、右クリックすることで表示されるメニューに含まれる「回転範囲表示」（図２（ｃ）参照）を選択することで、選択したリンクの回転範囲を表示させることができる。
【００３５】
図５は、リンクの回転範囲が表示された画面の例を示す図である。図５（ａ）は、一つのリンクの回転範囲が表示された例である。この回転範囲は、ユーザの操作により、その範囲を変更することができる。例えば、リンクを選択した後に、右クリックメニューから「回転範囲変更」（図２（ｃ）参照）を選択し、回転範囲を示す扇形（又は円錐）部分をドラッグすることで、図５（ｂ）に示すように、回転範囲を狭めたり、図５（ｃ）に示すように、回転範囲を広げたりすることができる。
【００３６】
また、図５（ｄ）に示すように、本実施の形態におけるアニメーション生成プログラムでは、リンクは、あらかじめ設定された回転範囲を超えてもよい。すなわち、本実施の形態におけるアニメーション生成プログラムは、選択されたリンクがドラッグされたとき、構造体全体ができるだけ自然な姿勢を維持するように、他のリンクの位置が決定されるため、あらかじめ設定された回転範囲を超えて回転するように表示する場合がある。
【００３７】
また、リンクが回転範囲を超える場合など、リンクをドラッグして回転させ、リンクがその回転範囲の限度、又はその限度内外の近傍に位置すると、回転範囲の色が変わるようにしてもよい。
【００３８】
さらに、図５（ｅ）に示すように、回転範囲を表示するリンクは、一つに限られず、任意の複数のリンクの回転範囲を同時に表示させてもよい。
【００３９】
画面には、上述のような構造体を表示するウインドウに加えて、アニメーションのタイムシートウインドウが表示される。
【００４０】
図６は、本発明の実施の形態におけるタイムシートを説明する図である。図６（ａ）は、図１に示すような構造体を表示するウインドウ画面の隣接して表示されるタイムシートのウインドウ画面の概略図であって、図６（ｂ）は、その拡大図である。本実施の形態では、タイムシートは、時間軸が縦方向になるように表示される。従って、フレームバーにおける時間に対応する各フレームの位置や、タイムバーにおけるアニメーション全体の経過時間なども縦方向に表示される。さらに好ましくは、キーフレームの位置や、現在画面に表示されているフレームの位置などを表示してもよい。
【００４１】
そして、構造体のアニメーションは、以下の操作により生成される。まず、現在画面のフレームにおいて、例えば、図３（ａ）の構造体の姿勢を作成し、それを第一のキーフレームに設定する。その後、所定フレーム数後のフレームを現在画面として選択し、その画面において、図３（ｂ）の構造体の姿勢を作成し、それを第二のキーフレームに設定する。さらに、所定フレーム数後のフレームを現在画面として選択し、その画面において、再度図３（ａ）の構造体の姿勢を作成し、第三のキーフレームに設定する。そして、さらに、所定フレーム数後のフレームを現在画面として選択し、その画面において、図３（ｃ）の構造体の姿勢を作成し、第四のキーフレームに設定する。このように、キーフレームを作成後、所定の補間処理操作を行うことで、各キーフレーム間のフレーム画像が生成される。このようにして、構造体が左右に腰を移動させるなめらかな動作のアニメーションを作成することができる。
【００４２】
このタイムシートは、従来のアニメーション生成プログラムでは、その時間軸が横方向になるように表示されていた。しかしながら、本発明の実施の形態では、タイムシートを縦型に配置する。これにより、従来の映画などにおいてフィルムが縦方向に送られていたのと同じようにカットが流れていくことをイメージすることができ、従来の二次元のセルアニメーションの製作者にもわかりやすいインターフェースを提供することができる。
【００４３】
本発明のアニメーション生成プログラムは、上記実施の形態で説明したヤコビアンとそのSR-Inverseに基づいたインバースキネマティック演算を利用したアニメーション生成プログラムに限られず、構造体ができるだけ自然な姿勢を維持するように、構造体のリンク位置を自動的に決定することができる演算手法（アルゴリズム）を有するプログラムであればよい。
【００４４】
（追加の実施の形態）さらに、本発明の追加の実施の形態について説明する。本実施の形態のアニメーション生成プログラムは、現在時刻のキーフレームに対応する構造体を表示しているウインドウ画面に、別時刻のフレームに対応する構造体をゴースト表示させる機能を有する。別時刻の構造体は、ゴースト表示により、現在時刻の構造体より、色彩的に薄く及び／又は高い透明度で表示される。
【００４５】
図７及び図８は、構造体のゴースト表示を説明する図である。図７の画面例には、構造体を表示する操作ウインドウ１と、タイムシートを表示するタイムシートウインドウ２とが示される。操作ウインドウ１には、タイムシートウインドウ２のタイムシートにおける現在時刻のキーフレームＫ１に対応する構造体Ｍ１が表示されている。ここで、ユーザは、タイムシートウインドウ２のメニューにおける表示をクリックし、それにより表示されるプルダウンメニューのうちの、例えば“前のキーのゴーストを表示”を選択すると、図８の画面例に示されるように、キーフレームＫ１より一つ前のキーフレームＫ２に対応する構造体Ｍ２がゴースト表示される。
【００４６】
ゴースト表示される構造体は一つに限られず、複数表示されてもよい。また、ゴースト表示される構造体は、現在時刻より一つ前のキーフレームの構造体に限られず、さらに前のキーフレーム、又は、現在時刻より先の次のキーフレーム、さらに先のキーフレームの構造体が選択されてもよい。さらに、プルダウンメニューに表示されているように、キーフレームに限らず、キーフレーム間のフレーム（プルダウンメニューには、“こま”と表示）の構造体がゴースト表示されてもよい。
【００４７】
また、別時刻の構造体は、ゴースト表示に限られず、操作ウインドウ１内において、現在時刻の構造体と識別可能に表示されればよい。例えば、別色で表示されてもよい。
【００４８】
図９は、複数の構造体がゴースト表示された画面の例である。図９のタイムシートウインドウ２におけるキーフレームＫ５が現在時刻のキーフレームであって、キーフレームＫ５に対応する構造体Ｍ５に加えて、その前後二つずつのキーフレームＫ３、Ｋ４、Ｋ６、Ｋ７に対応する構造体Ｍ３、Ｍ４、Ｍ６、Ｍ７がゴースト表示されている。なお、複数の構造体をゴースト表示する場合は、図９に図示されないが、ゴースト表示するフレームを複数選択できるメニューが設けられる。
【００４９】
このように、現在時刻のキーフレームの構造体を表示するウインドウに、別のキーフレームの構造体をゴースト表示することで、ユーザは、別時刻のキーフレームの構造体の姿勢や位置を確認しながら、現在時刻のキーフレームの構造体を作成することができるので、効率的な作業が可能になる。
【００５０】
好ましくは、操作ウインドウ１にゴースト表示されている構造体にカーソルを合わせ、マウスをクリックすることにより、ゴースト表示されている構造体を選択すると、現在時刻のキーフレームが、選択された構造体に対応するキーフレームに移るようにしてもよい。例えば、図８において、構造体Ｍ２を選択すると、タイムシートウインドウ２において、現在時刻のキーフレームがキーフレームＫ１からキーフレームＫ２に変更する。従って、操作ウインドウ１において、構造体Ｍ２は、ゴースト表示から通常表示となる。なお、この場合、キーフレームＫ２よりさらに一つ前のキーフレームの構造体がゴースト表示される。
【００５１】
また、本実施の形態のアニメーション生成プログラムは、現在時刻のキーフレームの構造体のリンクを、ゴースト表示されている構造体の対応するリンクに吸着できる機能を有していてもよい。この吸着機能は、ユーザが、異なるキーフレーム間で、構造体のリンクの位置を一致させたい場合に便利な機能である。
【００５２】
図１０、図１１及び図１２は、構造体のリンクの吸着機能を説明する図である。図１０に示されるように、例えば、ユーザが現在時刻の構造体Ｍ１のあるリンクＬ１（点線で囲まれたリンク）を選択して、ドラッグし、図１１に示されるように、その選択されたリンクＬ１が、ゴースト表示されている構造体Ｍ２の対応するリンクＬ２（点線で囲まれたリンク）に近づいていき、画面上において、リンクＬ１とリンクＬ２との距離が所定距離以内になると、図１２に示されるように、リンクＬ１は、自動的に、その選択されたリンクを、ゴースト表示されている対応リンクＬ２の位置に移動させる。これにより、リンクＬ１とリンクＬ２は重なって表示される。すなわち、ウインドウ画面において、リンクＬ１の所定箇所の（３次元）座標とリンク２の対応する箇所の座標とが比較され、二つ座標間の距離が所定距離以内になると、リンクＬ１の座標がリンクＬ２の座標になるように、リンク１を移動させる。このとき、構造体Ｍ１の他のリンクの位置及び姿勢は、ヤコビアンとSR-Inverseに基づいたインバースキネマティック演算に基づいて、構造体Ｍ１が自然な姿勢を維持するように決定される。
【００５３】
本実施の形態のアニメーション生成プログラムでは、二次元画面に三次元の構造体が表示されるので、本吸着機能がない場合に、ユーザの目視でリンクＬ１とリンクＬ２とを重ね合わせようとしても、画面では、見かけ上、二つのリンクが重なっているように見えても、画面の奥行き方向で一致していない場合がある。この場合、視点を変えて、構造体を表示した場合に、二つのリンクが重なっておらず、再度、リンク１とリンク２とが重なるように、リンク１をドラッグする作業が必要となり、非効率的である。このように、３次元の構造体を作成する本実施の形態のアニメーション生成プログラムにおいては、上記吸着機能は、特に有効であり、ユーザによるアニメーション作成の作業効率向上に大きく貢献する。
【００５４】
さらに、本実施の形態のアニメーション生成プログラムは、タイムシートに対して、所定の選択操作を行うことで、少なくとも一つのフレーム（キーフレームを含む）を選択することができる。このとき、タイムシートには、選択されたフレームの領域（選択領域）が表示される。
【００５５】
図１３は、タイムシートウインドウに選択領域が表示された画面の例を示す図である。図１３において、縦方向のフレームバーに沿って、選択されたフレームの横に選択領域Ｓが表示される。図１３では、フレーム番号１〜１３が選択されている。選択領域Ｓの横に表示される再生ボタン（▲（逆方向再生）又は▼（順方向再生））をクリックすることで、選択領域Ｓのフレームを再生することができる。また、再生ボタン▲と▼の間に表示される■ボタンは、再生停止ボタンである。
【００５６】
さらに、本実施の形態のアニメーション生成プログラムでは、選択領域Ｓのフレームを、他の時間のフレームにコピーすることができる。まず、（１）図１３には図示されないが、カーソルを選択領域Ｓに合わせ、右クリックすることで、メニューが表示され、そのメニューに含まれる「コピー」を選択することで、選択領域Ｓのフレームすべてコピーされる。そして、（２）所定のフレームを選択し（図１０では、フレーム番号１６が選択されている）、（３）右クリックすることで表示されるメニューに含まれる「貼り付け」を選択することで、選択されたフレームを開始位置として、コピーされたフレームが貼り付けられる。すなわち、図１３において、番号１６〜２８のフレームに、番号１〜１２のフレームが「貼り付け」られる。これにより、繰り返し動作のアニメーションを容易に作成することができるようになる。
【００５７】
また、本実施の形態のアニメーション生成プログラムでは、構造体を構成する複数のリンクすべての動作を作成するためのフレーム群とは別に、一部（少なくとも一つ）のリンクの動作を作成するためのグループ（フレーム群）を作成することができる。すなわち、構造体全体についてのフレームバーの他に、一部のリンクのためのグループについてのフレームバーを別に設定することできる。これにより、その一部のリンクだけの動作を、構造体全体の動作から切り離して作成することができる。また、一部のリンクだけの動作を、構造体全体の動作に合成することも可能である。本機能により、構造体の一部のみを切り出して、その一部分だけの動作を作成することができるようになる。
【００５８】
図１４乃至図１８は、構造体の一部であるグループのアニメーション作成について説明する図である。図１４のタイムシートウインドウ２には、構造体全体のフレームバーが表示されており、選択されたフレームに対応する構造体が、操作ウインドウ１に表示されている。図１４の画面では、ユーザは、所定のキーフレームを選択して、構造体全体の動作を作成することができる。なお、図１４では、「グループ」は、まだ作成されていない。
【００５９】
図１５において、グループを作成するために、ユーザは、まず、グループを構成するリンクを選択する。図１５では、構造体の上半身を構成する複数のリンク（点線内のリンク）が選択される（選択されたリンク色は、選択されていないリンクと異なる色に変化する）。例えば、キーボードにおける「shift」キーを押しながら、リンクを選択することで、複数のリンクを選択可能である。リンクの選択が終了して、タイムシートウインドウの「作成」ボタンを選択（クリック）することで、グループ名「グループ１」のグループが作成される。
【００６０】
図１６は、グループ作成後の画面の例であって、タイムシートウインドウ２には、構造体「全体」と「グループ１」との切換ボタンが表示され、「グループ１」が選択されると、操作ウインドウ１には、グループ１に対応する一部のリンク（上半身を構成するリンク）が、通常表示され、それ以外のリンクは、グループ１のリンクではないので、別の表示方法（例えば、図示されるような透明表示）で表示される。
【００６１】
ユーザは、グループ１を表示する画面において、構造体全体に対して作成された動作とは別に、グループ１だけの動作を作成することができる。図１７に示されるように、グループ１についてのキーフレームの位置は、構造体全体におけるキーフレームの位置と異なっていてもかまわず、構造体全体の動作と無関係にグループ１の動作を作成することができる。
【００６２】
さらに、グループ１について作成されたフレームと構造体全体のフレームとを合成することが可能である。図１８は、合成画面の例である。図１８のタイムシートウインドウでは、構造体全体についてキーフレームとグループ１についてのキーフレームの両方がキーフレームとして登録され、構造体全体の動作は、両者を合成した動作となる。すなわち、上記の例では、構造体の上半身は、グループ１で作成されたフレームに対応した動作となり、構造体の下半身は、構造体全体についてフレームの動作のままとなる。フレーム合成は、例えば、図１７のタイムシートウインドウ２の「グループ１」に対応する「削除」ボタンを選択（クリック）することで、自動的に行われてもよい。すなわち、グループ１を削除することで、グループ１について作成されたフレームが、構造体全体のフレームと合成される。
【００６３】
また、本実施の形態のアニメーションプログラムでは、操作ウインドウの所定位置に記録ボタン（図７の操作ウインドウ１内の●（実際は赤丸）印）が表示され、ユーザは、これを選択（クリック）することで、ユーザによる作業操作、すなわち構造体のリンクの選択操作及びドラッグ操作、視点切換操作などすべての操作、及びそれに対応する画像が、コンピュータ装置の記憶装置（例えばハードディスク装置）に記録されるようにしてもよい。これにより、ユーザの作業履歴をそのまま保存することができる。なお、記録ボタン●の隣に表示される■ボタンは、記録停止ボタンである。
【００６４】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【図面の簡単な説明】
【００６５】
【図１】複数のリンクを有する構造体を表示する画面の例である。
【図２】選択されたリンクの色の変化を説明する図である。
【図３】本実施の形態における構造体の姿勢変化の例を説明する図である。
【図４】本実施の形態における構造体の姿勢変化の別の例を説明する図である。
【図５】リンクの回転範囲が表示された画面の例を示す図である。
【図６】本発明の実施の形態におけるタイムシートを説明する図である。
【図７】構造体のゴースト表示を説明する図である。
【図８】構造体のゴースト表示を説明する図である。
【図９】複数の構造体がゴースト表示された画面の例である。
【図１０】構造体のリンクの吸着機能を説明する図である。
【図１１】構造体のリンクの吸着機能を説明する図である。
【図１２】構造体のリンクの吸着機能を説明する図である。
【図１３】タイムシートウインドウに選択領域が表示された画面の例を示す図である。
【図１４】構造体の一部であるグループのアニメーション作成について説明する図である。
【図１５】構造体の一部であるグループのアニメーション作成について説明する図である。
【図１６】構造体の一部であるグループのアニメーション作成について説明する図である。
【図１７】構造体の一部であるグループのアニメーション作成について説明する図である。
【図１８】構造体の一部であるグループのアニメーション作成について説明する図である。
【図１９】複数のリンクで構成される人型モデルの例を示す。
【符号の説明】
【００６６】
１０ リンク
１１ 関節部分
１２ 長さ部分
２０ カーソル
【図１】
2005182842.tif 000003
【図２】
2005182842.tif 000004
【図３】
2005182842.tif 000005
【図４】
2005182842.tif 000006
【図５】
2005182842.tif 000007
【図６】
2005182842.tif 000008
【図７】
2005182842.tif 000009
【図８】
2005182842.tif 000010
【図９】
2005182842.tif 000011
【図１０】
2005182842.tif 000012
【図１１】
2005182842.tif 000013
【図１２】
2005182842.tif 000014
【図１３】
2005182842.tif 000015
【図１４】
2005182842.tif 000016
【図１５】
2005182842.tif 000017
【図１６】
2005182842.tif 000018
【図１７】
2005182842.tif 000019
【図１８】
2005182842.tif 000020
【図１９】
2005182842.tif 000021