(57)【特許請求の範囲】
【請求項１】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記結合するステップで、前記割り当てられた重みの平均値に関連された計算に従って前記複数の動きユニットを結合することを含む方法。
【請求項２】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記結合するステップで、所定の優先権方式に従って前記複数の動きユニットに重みを割り当てる方法。
【請求項３】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記複数の動きユニットの各々の最初と最後で多関節体の動きを減少させる方法。
【請求項４】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
隣接するフレーム間の不連続性を減少するために重み付けられた平均値を使用して２つ以上のフレームを結合するフレーム間を平滑化する方法。
【請求項５】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記複数の動きユニットの一つが、ユーザがいかなる他の動きユニットも選択していないときだけ多関節体の動きを制御するアイドル動きユニットである方法。
【請求項６】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記選択された動きユニットの各々が同時に実行している動きユニットの待ち行列に加えられる方法。
【請求項７】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
フレームの重みを前記一連のフレームにおける各フレームに割り当てることをさらに含み、
前記複数の動きユニットを結合するために使用される計算が、各動きユニットに割り当てられた重み及び前記フレーム重みに基づいている方法。
【請求項８】
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備えた方法。
【請求項９】
予め前記複数の動きユニットを生成し、かつ前記複数の動きユニットをライブラリに記憶しておくことを特徴とする請求項８記載の方法。
【請求項１０】
前記多関節体が人間を表し、かつ前記複数の動きユニットの一つが前記多関節体の疲労度を示していることを特徴とする請求項８記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィクスの分野、特に多関節体（ＡＦ（ａｒｔｉｃｕｌａｔｅｄ  ｆｉｔｕｒｅ））のアニメーションに関する。
【０００２】
【従来の技術】
新しい世代のパーソナルコンピュータとビデオゲームマシンが現在市場に売り出されている。これらは多関節体（ＡＦ）アニメーションのような３次元グラフィックスを作成することができる。しかしながら、コンピュータＡＦアニメーションに対する伝統的な研究及びアプローチは、アニメータ（Ａｎｉｍａｔｏｒ）に焦点を当てていた。すなわち、それらは、プロのアニメータが、製作するビデオ又は映画フィルムのためのいくつかのＡＦアニメーションを製作するのに役立つことに焦点が当てられる。
【０００３】
【発明が解決しようとする課題】
ところで現在ではこの新しい世代のＰＣ及びゲームマシンの場合、ユーザがＡＦアニメーションを命令することができる。しかしながら、上記のアニメータ向けのアルゴリズムでは必要以上に計算が必要であり高価である。映画フィルムを製作するプロのアニメータはオフラインで作業をすることができる。つまりアニメーションはリアルタイムで生成される必要がなく、かつ対話式である必要もない。アニメータは、必要な時間だけかけてアニメーションの各フレームを開発し、それから記憶媒体に記憶することができる。その後、全ての記憶されたフレームはビデオ速度で速く再生される。しかしながら、ゲーム又は教育ソフトウェアのような対話式アプリケーションは、リアルタイムで又は近リアルタイムで３次元ユーザ向けＡＦアニメーションを生成しなければならない。
【０００４】
本発明にかかる方法及びシステムは、安価で、対話式で、しかもリアルタイムでコンピュータＡＦアニメーションを生成できることを目的とするものである。
【０００５】
【課題を解決するための手段】
第１の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記結合するステップで、前記割り当てられた重みの平均値に関連された計算に従って前記複数の動きユニットを結合することを含む方法である。
第２の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記結合するステップで、所定の優先権方式に従って前記複数の動きユニットに重みを割り当てる方法である。
第３の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記複数の動きユニットの各々の最初と最後で多関節体の動きを減少させる方法である。
第４の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
隣接するフレーム間の不連続性を減少するために重み付けられた平均値を使用して２つ以上のフレームを結合するフレーム間を平滑化する方法である。
第５の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記複数の動きユニットの一つが、ユーザがいかなる他の動きユニットも選択していないときだけ多関節体の動きを制御するアイドル動きユニットである方法である。
第６の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
前記選択された動きユニットの各々が同時に実行している動きユニットの待ち行列に加えられる方法である。
第７の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備え、
フレームの重みを前記一連のフレームにおける各フレームに割り当てることをさらに含み、
前記複数の動きユニットを結合するために使用される計算が、各動きユニットに割り当てられた重み及び前記フレーム重みに基づいている方法である。
第８の本発明は、
コンピュータアニメーションにおける一連のフレームの中の多関節体の動きを生成するように複数の動きユニットを操作する方法であって、前記多関節体が複数の関節を含み、かつ各動きユニットが特定の動きのための関節回転角を規定し、
前記複数の動きユニットの各々に重みを割り当てることにより、前記多関節体における前記複数の関節の各々に、各動きユニットに割り当てられた個別の重みを対応させるステップと、
複数の動きユニットを選択するステップと、
その選択された複数の動きユニット同士を、対応するフレームの多関節体の対応する関節回転角同士を前記重み付しながら融合することにより、組み合わせ、その結果前記選択された複数の動きユニットを結合するステップとを備えた方法である。
次に、本発明の基本的な動作について説明する。本発明の形態では、多関節体の各関節は順次親子関係があり、ツリー構造で表わされる。また各関節はローカル座標を有しており、親関節のローカル座標系を基準にしたときの子関節のローカル座標系のＸ，Ｙ，Ｚ軸の回転角が関節角となる。またＭＵとは、ある動作に於ける多関節体の動作データをいう。動作データはたとえば、歩く動作なら、その一周期分の各関節の関節角を含む。各関節の関節角がすべてきまると多関節体の形状が決定される（正確には関節間の長さも決まる必要があるが、それは予め決まっている）。また、この関節角と関節間の長さが決まると、関節の位置が決まることになる。なお、動作の変移とは、歩く動作から殴る動作へ変化することを意味する。
【０００６】
本発明は、動きユニットを操作することにポイントを持つ。これらの動きユニット（ＭＵ）は、アニメーションシーケンスにおける各フレームについて、多関節体の方向（関節回転角）を規定している。ゲーム又はアプリケーション創作者は、ＭＵを形成するために、色々な方法（たとえばロトスコピー（ｒｏｔｏｓｃｏｐｙ）、キーフレーム、動力学及び運動学を含む方法）を使用する。したがって、本発明のアルゴリズムは、ゲームユーザが命令するように、記憶されたＭＵを操作し実行させる。このアルゴリズムは、（毎秒３０回１フレーム画像を生成することがしばしば必要である）ローエンドマシンに負担を掛けすぎ無いように、簡単で、かつ高速である。それでいて、ＭＵを操作及び混合することによって形成される動きはかなり円滑で自然に見える。とりわけ、ユーザはそれが制御可能である。
【０００７】
本発明は、予め記憶されたＭＵを速く操作することができる簡単なユーザ方式アルゴリズムを提供することを目的とする。
【０００８】
本発明では、アニメーションシーケンスにおける各フレームについて、多関節体（ＡＦ）の関節回転を規定する、予め記憶された動きユニット（ＭＵ）が、重み付け合計計算によって一緒に混合される。その重みは、そのＭＵの“本質”を示す所定のＭＵの関節回転に優先権を与える。換言すると、より高い重みを与えられたＭＵの関節は、この特定のＭＵにおいてより重要な関節回転とみなされる。ＭＵを創作するアニメータはこれらの関節の重みを決定する。その目的は、ＭＵの動きの重要な関節回転を決定し、かつこれらの関節に他の関節よりも高い関節重みを与えるためである。例えば、人間のＡＦのためのパンチ動きでは、肩及び肱の関節は、パンチ動きの本質を強調するためにより高い関節重みを与えられるべきである。同様に、キック動作用ＭＵは、尻、膝及び足首の関節を手首又は首のような重要でない関節回転よりも非常に高い関節重みを割り当てられるべきである。
【０００９】
ＭＵは、一緒にして混合されることができるＭＵの数にいかなる制限もなく、非同期で、つまり動作の途中でも、混合することができる。位相（ｐｈｒａｓｉｎｇ）調整（ある動作から他の動作へのつなぎにおける調整）はＭＵの中の各フレームに重みを割り当て、ＭＵの始め及び終わりでの変移を容易にするのに役立つ。これは、ＭＵの始め及び終わりでより低い重みのフレームを与えること及びより高い重みを中間フレームに割り当てることによって達成される。
【００１０】
ＡＦのけん怠又は疲労は、疲労係数に比例する重みを有する“疲労”ＭＵを同時に実行しているＭＵの現在の待ち行列に加えることによって実現することができる。
【００１１】
以上のように、本発明は、コンピュータＡＦアニメーション用として、予め記憶された動きユニット（Ｍｏｔｉｏｎ  Ｕｎｉｔｓ）を操作し、混合するための方法及びシステムである。ゲーム又は教育分野のようなアプリケーション分野の流れにおいて、ユーザは、予め生成され、かつ記憶された動きユニットを選択することによって、ＡＦの動きを命令する。そして、本発明の方法及びシステムによって、これらの動きユニットは、ユーザが選択した現在実行中の全ての動きユニットと重み付け平均によって結合される。
【００１２】
【発明の実施の形態】
【００１３】
以下、本発明にかかる実施例について図面を参照しながら説明する。その前に図面の概略を説明する。
【００１４】
図１は、本発明が適用される全体的アプリケーション環境を示す。図２は、図１における“プレーヤー”ブロックをさらに図示する。プレーヤー、又は動きコントローラ１は、プレーヤーを模擬する人間又はいくつかのタイプの人工知能（ＡＩ）プログラムから構成され得る。さらに、この２つの組合せが可能である。この場合、プレーヤーが多関節体（ＡＦ）の動きを制御するためのＡＩプログラムによって支援される。図３は、図１における“インタフェース”ブロック２をさらに図示する。いろいろなインタフェースは、ユーザが入力し、かつコンピュータ３からの非視覚感覚のフィードバックを多分受け取ることが可能である。図３（ａ）で示された例は、手主導装置である。これは、キーボード、ボタンパッド、ジョイスティック、データグラブ又は他のこのような手入力装置でありえる。図３（ｂ）は、足、膝及び／又は腰の位置及び動きが、システムに入力を供給する脚主導入力システムを示している。図３（ｃ）は、可能な足、手及び頭の組合せの対話式制御システムの例を示している。図４及び図５は、図１の“視界”ブロックをさらに図示する。図４（ａ）は、コンピュータ生成シーンがプレーヤーの前方に映写される実施の形態例を示す。この例は、テレビジョン、モニタ及び映写システムを含んでいる。図４（ｂ）は、プレーヤーが見るであろうスクリーン形状の例４を示す。図５（ａ）は、頭部取付けシステムの可能な構成を示す。コンピュータ生成シーンは、眼の近くに映写されるか、又は眼の上へ一様に描写される。多くの例は、平坦なスクリーン及び他の頭部取付け視覚システムを含んでいる。図５（ｂ）は、生成及び表示されることができるシーンの２つの視野４を示している。プレーヤーの各眼に対して１つの視野である。図６は、本発明の一つの実施の形態例を示している。図６（ａ）では、一人のプレーヤーは、視界４の中にある一つのＡＦの動きを制御する。動き制御方法は本発明によるものである。図６（ｂ）はＡＩプログラムによって支援されているプレーヤーを示している。例えば、人間は高レベル目標及び動き要求を入力し、そしてＡＩプログラムは、これらの高レベル目標を、そのとき本発明により同時に併合及び混合されるローレベル動きユニット（ＭＵ）選択に変換する。図７は、視界４の中にある複数の多関節体を含む本発明の他の実施の形態例を示す。図７（ａ）において、一人のプレーヤーは複数のＡＦの動きを制御する。一つの例は、スポーツチームをいくつかの目標を達成するように指揮するプレーヤーである。図７（ｂ）は、複数のＡＦを制御する際のプレーヤー及びＡＩプログラムの組合せを示す。本発明の一つの実施の形態例では、ＡＩプログラムは、プレーヤーが複数のＡＦの動きを命令及び制御するのを助ける。他の実施の形態例では、プレーヤーは全てのＡＦの部分グループの動きを命令するが、ＡＩプログラム（又は複数のＡＩプログラム）は他のＡＦの動きを命令する。図８は、本発明の実施の形態例のより多くの組合せを示す。図８（ａ）は、複数のＡＦを制御する複数のプレーヤーを示す。各プレーヤーは異なるＡＦ（又はＡＦ群）を命令するか又は複数のプレーヤーはＡＦ（又はＡＦ群）の動きを制御するためにチームのように一致して作業するかのいずれかである。図８（ｂ）は、ＡＩプログラムであって、プレーヤーでない全ての入力の例を示す。これの例は、軍事シナリオ、緊急シナリオ、空港シミュレーションでの人間の通行の流れ又はＡＦ群におけるこのような他の研究のような人間群のシミュレーションであってもよい。その場合、ＡＦの行動が対応する制御ＡＩプログラムによって決定される。図８（ｃ）は、複数のＡＦを制御するための一人のプレーヤー（複数のプレーヤー）及び一つのＡＩプログラム（複数のＡＩプログラム）の組合せを使用する本発明の実施の形態例を示す。
【００１５】
図９〜図１１は、図１における“コンピュータ”ブロック３をさらに図示する。インタフェース２を通ってのプレーヤー１の入力から、動きがＡＦ３１のために生成される。次に、図１０のジオメトリックエンジン３２は、ＡＦの３次元形状、配置及び面を形成する。次に、図１１に示された画像発生器３３は、ジオメトリックエンジン３２からのこれらの前記３次元作図を図１の視界の中で表示するため２次元画像に変換する。図１２は、本発明のための多関節体におけるいろいろな関節の実施の形態例を示す。多関節体は関節での回転によって作図される３次元形状である。図１２（ａ）は、関節である共通軸上で軸回転する２つの静的セグメントを示す。図１２（ｂ）は、ボールソケット形関節を示す。この関節では、セグメントは関節の周りのいかなる３次元回転においても配置され得る。図１２（ｃ）は、コンピュータ世界の中では存在し得るＡＦ形状を示している。その場合、セグメントが離れており、かつ物理的又は図形的に接触しないが、それでもセグメントが関節で回転できる。図１２（ｄ）は、セグメントがはっきりと、かつ別々に規定されていない例を示している。その代わりに、セグメントは一つに併合され、そして面は曲がり、関節で回転する。図１２（ｄ）の例は、人間の肱の関節、上腕及び下腕である。図１３は、本発明のアルゴリズムによって操作されるＡＦ用の関節の骨格の２つの例を示している。図１３（ａ）及び図１３（ｂ）に図示された人間は、図で目で見ることができない３次元面を有する。図１３は、関節（丸い黒点）及び２つの関節を接続する線によって表されるような関節間の関係を示すのみである。線は、人間の骨格、又はロボットのフレームあるいはセグメントリンクに類似しているものとみなすことができる。図１４は、いかなる人間のような形状とも異なっている２つの可能なＡＦ骨格形状を示している。本発明で記載されているＡＦにおいては、肢、すなわちセグメントを接続する関節での３次元回転によって図示されることができる複合３次元形状は、本発明で記載されたアルゴリズムによって操作されることができるＡＦである。図１５は、ＡＦの外面の一例を示す。図１５におけるＡＦの関節及び骨格は図１３に示された関節と同様である。図１５におけるＡＦは本発明の動きアルゴリズムに従って動く。図１６ー図１８は、図１に示される本発明の詳細をさらに示している。“プレーヤー”１及び“インタフェース”２は図１のそれと同一である。“プレーヤー”１は、図１６における“インタフェース”２を通して対話する。“コンピュータ”３は、ユーザが選択したＭＵを受け取り混合する。これらの選択されたＭＵは“ＭＵミックスアルゴリズム”で混合される。次に、生成されたフレームが表示され、かつプレーヤーによって見ることができる“  ディスプレイ（Ｆｉｅｌｄ  ｏｆ  Ｖｉｓｉｏｎ）”上に表示される。図１７は、図１６の“ＭＵミックスアルゴリズム”の内容を示している。“ＭＵライブラリ”から、ＭＵはプレーヤーによって選択され、同時に実行している“ＭＵの待ち行列”に加えられる。待ち行列に加えられたＭＵは重み付け平均値計算によって“ミックス”で混合される。次に、得られた動きは平滑化される。図１の“コンピュータ”ブロックは、この図の残り、図１８に細区分される。全体的なアプリケーションシナリオは、一人のプレーヤーと一つのＡＦの例に対して示される。プレーヤーは、複数のＭＵを含んでいるデータベース（ライブラリ）からＭＵを選択する。プレーヤーによって非同期に選択されたＭＵは、同時に実行しているＭＵの待ち行列に入力される。本発明のアルゴリズムによって、これらのＭＵはＡＦの各関節回転を図示するように混合及び併合される。これは、アニメーションにおいてフレーム毎に繰り返される。混合された動きは、本発明に記載されたフレーム間の平滑化技術によってさらに平滑化される。得られた動きの内容は、図９のジオメトリックエンジンに入力され、その後、視界の中に描写される。図１９は、図１６ー図１８のＭＵライブラリの中のＭＵが発生される可能な方法を示している。これらは本発明によって記載されたアプリケーションよりも以前の実現されている。しかし、ＭＵが図１９の方法（又は他の方法）によって生成され、かつ図１６〜図１８のＭＵライブラリに記憶された後には、本発明のアルゴリズムは、プレーヤーによって命令されるようなＡＦの動きを生じるようにこれらの記憶ＭＵを操作する。図２０〜２２は、ＡＦのための混合ＭＵの動きを生じるように、本発明の方法により混合される３つのＭＵを示している。この例では、図１６〜図１８のＭＵライブラリに予め記憶された肱の曲げＭＵは、（ＭＵライブラリある）頭の振りＭＵ及び膝の曲げＭＵとともに、同時に実行するために、プレーヤーによって選択される。これらの動きは、図２０の最下部に示された混合ＭＵを生じるように、本発明の重み付け平均値計算によって混合される。図２３は、ＭＵのファイル細目を示している。ＭＵは、ＡＦのアニメーションを記述するために次々と一連のフレームのデータから成る。前記フレームの各々は各関節に対する長い回転角ベクトルから成る。本発明の一つの実施の形態例では、各関節のために記憶された回転データは、３つの角度値（θｚ、θｘ、θｙ）から成る。このデータは、図２３で示されるようなある種のマトリックスを形成する。その場合、一連のフレーム（Ｆ）があり、かつ各フレームは一連の関節データ（Ｊ）から成る。図２４は、図１８に示されたように同時に実行するＭＵの待ち行列の実施の形態例を示している。図２４に示された例では、現在は、実行している動きユニットの待ち行列に加えた２つのＭＵがある。本発明のこの実施の形態例で記憶された待ち行列に加えた実際のデータは、少なくとも２つの項目、すなわちＭＵライブラリにおける実際のＭＵデータに対するポイント及び現在のフレーム番号（Ｆ）を含むデータ構造から成る。このフレーム番号は、次に実行されるべきＭＵにおける現在のフレームについて常に保持している。本発明の重み付け関節角計算は、どの実際のＭＵのフレームが、実行しているＭＵの待ち行列上の他のＭＵの他のフレームと混合される必要があるのかを決定するために、このフレーム番号（Ｆ）を参照する。図２５は、本発明の中にあるランプ（ｒａｍｐ）重みのいろいろな実施の形態例を示している。基本的に、好ましい実施の形態例では、ＭＵの最初のフレームはより低い重みを有し、ＭＵの中間フレームは比較的高い重みを有し、そして最終フレームは低い重みを有している。これらのフレーム重みパターンの効果は、得られる混合された動きがより滑らかであるように、ＭＵの最初と最後で変移の滑らかさを高めることである。同様に、これらの前記フレーム重みはＭＵの重要なフレームを操作及び強調するために使用されることができる。図２６は前記フレーム重みの他の実施の形態例を示す（他の実施の形態例のいくつかは図２５に示されている）。図２６では、Ｎｍは、このフレーム重みパターンが印加されたＭＵにおけるフレームの数である。Ｎｒは、低い重みからより高い重みまで直線的に増分するフレームの数である。逆はこの前記ＭＵにおける最終Ｎｒフレームの数に対して真である。図２７は、ＭＵを混合する本発明の例を示している。プレーヤーは、図２７において、３つのＭＵ、すなわち最初にキックＭＵ、次に、パンチＭＵ、そしてその後に頭振りＭＵを非同期で選択した（同時に全部を同期して選択せず、図のようにずらして選択した）。これらの前記ＭＵの各々は図２６で示されるようにフレーム重みパターンを有している。例えば、前記ＭＵの最初のフレームのキックは時間ｔａで実行されるが、最後のフレームは時間ｔｂで実行される。プレーヤーが非同期に選択した前記３つのＭＵに加えて、連続して実行しているアイドル（ｉｄｌｅ）ＭＵ（ジョッグＭＵ）は常に実行している。このアイドルＭＵは、それら全てのフレームに対して比較的に低いフレーム速度を有し、それは、どの他のプレーヤーもＭＵを選択せず実行していない場合に、ＡＦ用の定状的な動きとして、本発明の本実施の形態例において使える。例えば、時間ｔ０で、プレーヤーは、さらに実行するためのいかなるＭＵも選択しなかったので（ＭＵのキックは時間ｔａでその後開始する）、前記アイドルＭＵは時間ｔ０で実行している唯一のＭＵである。図２８は、本発明の一つの実施の形態例で可能である疲労のシミュレーションを示している。図２７の上記の前記アイドルＭＵと似ている背景ＭＵが実行しているＭＵの待ち行列に加えられる。疲れた（疲労）と呼ばれる値が０から１まで上昇すると、このルーピング疲労ＭＵの重みは０から１まで増加し、益々ＡＦを疲労ＭＵ動きに従って動かす。
【００１６】
本発明の好ましい実施の形態例は、１以上の動画の多関節体を含む、またはプレーヤーに目に見ることができ、かつプレーヤーによって制御された多関節体を含む、対話式コンピュータグラフィックゲームにある。プレーヤーは、多関節体が動くことを非同期で選択する。したがって、本発明によって指定されたアルゴリズムにより、プレーヤーによって選択された同時に実行しているＭＵが混合される。この混合計算の結果は、アニメーションにおける次のフレームのための各関節の回転である。多関節体は、（計算された回転角で指定されるように）その位置に位置決めされ、回転角がプレーヤーに目に見えるようにされる。好ましい実施の形態例では、多関節体は、プレーヤーに目に見えるビデオモニタ上に人間を表示することによって目に見えるようにされる。本発明の他の実施の形態例は、１人の多関節体のシミュレーションであり得る。目的は、多関節体のためのＭＵを選択するいくつかの行動又は人工知能（ＡＩ）アルゴリズムによって決定されるような動いている多関節体のアニメーションを製作すること又は多関節体のいくつかの行動を模擬することにある。本発明の他の実施の形態例は、バーチャルリアリティ（ＶＲ）アプリケーションにおける多関節体の動きの制御である。人間もソフトウェアモジュール（図２におけるＡＩプログラムエージェント）もいづれも、多関節体が行動し始めるように次のＭＵを開始する。本発明は、ユーザが予め記憶された動きユニット（ＭＵ）の混合を直接制御することを可能にする。ＭＵの例は、おじぎ、手を振る、頭を振る、歩く、パンチ又はキックであり得る。
【００１７】
ゲームアプリケーションを開始する前に、ＭＵは生成され記憶されねばならない。図１９におけるボックスは、人間の動きを実際的に見えるようにするように開発されたいくつかの異なる技術を示す。これらの方法は多くの研究者によって開発及び使用された。いくつかは実際商用されている。動き生成方法は、ロトスコピー｛Ｋｕｎｉｉ  Ｔ．Ｌ．，Ｓｕｎ  Ｌ．，著「ダイナミック分析方式人間アニメーション（Ｄｙｎａｍｉｃ  Ａｎａｌｙｓｉｓ−Ｂａｓｅｄ  Ｈｕｍａｎ  Ａｎｉｍａｔｉｏｎ）」、  Ｐｒｏｃ．Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ′９０  （ＣＧＩ  ′９０），シンガポール、１９９０年，第３〜１５ページ；  Ｕｎｕｍａ  Ｍ．，Ｔａｋｅｕｃｈｉ  Ｒ．著「感情を有する人間の動きの生成（Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｈｕｍａｎ  Ｍｏｔｉｏｎ  ｗｉｔｈ  Ｅｍｏｔｉｏｎ）」、  Ｐｒｏｃ．  Ｃｏｍｐｕｔｅｒ  Ａｎｉｍａｔｉｏｎ  ′９１，ジュネーブ、スイス、Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，１９９１年，第７７〜８８ページに記載｝と、キーフレーム｛Ｓｔｅｋｅｔｅｅ  Ｓ．Ｎ．，Ｂａｄｌｅｒ  Ｎ．Ｉ．著「運動調整及びフレージング制御を組み込むパラメトリックキーフレーム補間（Ｐａｒａｍｅｔｒｉｃ  Ｋｅｙｆｒａｍｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｉｎｃｏｒｐｏｒａｔｉｎｇ  Ｋｉｎｅｔｉｃ  Ａｄｊｕｓｔｍｅｎｔ  ａｎｄ  Ｐｈｒａｓｉｎｇ  Ｃｏｎｔｒｏｌ）」、  Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  １９８５年，  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ、  第１９巻，第３号，第２２５〜２６２ページ；  Ｂｕｒｔｎｙｋ  Ｎ．，Ｗｅｉｎ  Ｍ．著「キーフレームアニメーションにおける動き力学を強化する対話式骨組み技術（Ｉｎｔｅｒａｃｔｉｖｅ  Ｓｋｅｌｔｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｅｎｈａｎｃｉｎｇ  Ｍｏｔｉｏｎ  Ｄｙｎａｍｉｃｓ  ｉｎ  Ｋｅｙ  Ｆｒａｍｅ  Ａｎｉｍａｔｉｏｎ）」、Ｇｒａｐｈｉｃｓ  ａｎｄ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，  Ａｓｓｏｃｉａｔｉｏｎ  ｆｏｒ  Ｃｏｍｐｕｔｉｎｇ  Ｍａｃｈｉｎｅｒｙ，１９７６年、第５６４〜５６９アニメーション（Ｌ‐Ｓｙｓｔｅｍ‐Ｂａｓｅｄ  Ｂｅｈａｖｉｏｒａｌ  Ａｎｉｍａｔｉｏｎ）」、Ｐｒｏｃ．  Ｐａｃｉｆｉｃ  Ｇｒａｐｈｉｃｓ  ′９３、ソール、韓国、Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，Ｗｏｒｌｄ  Ｓｃｉｅｎｔｉｆｉｃ，第１巻、第１３３〜１４６ページに記載｝と、運動学｛Ｋｏｒｅｉｎ  Ｊ．Ｕ．，Ｂａｄｌｅｒ  Ｎ．Ｉ．著「関節構造の目標向き動きを生成する技術（Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｇｅｎｅｒａｔｉｎｇ  ｔｈｅ  Ｇｏａｌ‐Ｄｉｒｅｃｔｅｄ  Ｍｏｔｉｏｎ  ｏｆ  Ａｒｔｉｃｕｌａｔｅｄ  Ｓｔｒｕｃｔｕｒｅｓ）」、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ＆  Ａｐｐｐｌｉｃａｔｉｏｎ，１９８２年、１１月、第７１〜８１ページに記載｝と、ＡＩ手順｛Ｂａｄｌｅｒ  Ｎ．Ｉ，，  Ｗｅｂｂｅｒ  Ｂ．Ｌ．，  Ｋａｌｉｔａ  Ｊ．，  Ｅｓａｋｏｖ  Ｊ．著「命令からのアニメーション」、人の姿を移動させること：  多関節体の力学、制御、及びアニメーション編（Ｍｅｃｈａｎｉｃｓ，  Ｃｏｎｔｒｏｌ，  ａｎｄ  Ａｎｉｍａｔｉｏｎ  ｏｆ  Ａｒｔｉｃｕｌａｔｅ��  Ｆｉｇｕｒｅｓ）、Ｂａｄｌｅｒ，Ｂａｒｓｋｙ，Ｚｅｌｔｚｅｒ，Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  出版社、１９９１年、第５１〜９３ページ；  Ｍｏｒａｗｅｔｚ  Ｃ．  Ｌ．，  Ｃａｌｖｅｒｔ  Ｔ．Ｗ．著「多重運動の目標向き人間アニメーション（Ｇｏａｌ‐Ｄｉｒｅｃｔｅｄ  Ｈｕｍａｎ  Ａｎｉｍａｔｉｏｎ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｍｏｖｅｍｅｎｔ）」、Ｐｒｏｃ．  Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｆａｃｅ  ′９０、カナダ、１９９０年、第６０〜６７ページに記載｝と、対話式混合モード方法｛Ｂｏｕｌｉｃ  Ｒ．，Ｔｈａｌｍａｎｎ  Ｄ．著「多関節体の動き編集のための結合された直接及び逆運動制御（Ｃｏｍｂｉｎｅｄ  Ｄｉｒｅｃｔ  ａｎｄ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃ  Ｃｏｎｔｒｏｌ  ｆｏｒ  Ａｒｔｉｃｕｌａｔｅｄ  Ｆｉｇｕｒｅ  Ｍｏｔｉｏｎ  Ｅｄｉｔｉｎｇ）」、  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｆｏｒｕｍ、第１１巻、第４号、１９９２年、第１８９〜２０２ページ；  Ｃａｌｖｅｒｔ  Ｔ．著「複数の人間の姿のための現実的アニメーションシーケンス構成」人の姿を移動させること：  多関節体の力学、制御、及びアニメーション編（Ｍｅｃｈａｎｉｃｓ，  Ｃｏｎｔｒｏｌ，  ａｎｄ  Ａｎｉｍａｔｉｏｎ  ｏｆ  Ａｒｔｉｃｕｌａｔｅｄ  Ｆｉｇｕｅｒｓ）、Ｂａｄｌｅｒ，Ｂａｒｓｋｙ，Ｚｅｌｔｚｅｒ，Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  出版社、１９９１年、第３５〜５０ページ；  Ａｒｍｓｔｒｏｎｇ  Ｗ．Ｗ．，Ｇｒｅｅｎ  Ｍ．，Ｌａｋｅ  Ｒ．著「人間の姿モデルのほぼリアルタイム制御（Ｎｅａｒ‐Ｒｅａｌ‐Ｔｉｍｅ  Ｃｏｎｔｒｏｌ  ｏｆ  Ｈｕｍａｎ  Ｆｉｇｕｒｅ）」、  Ｐｒｏｃ．  Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｆａｃｅ  ′８６、  Ｖｉｓｉｏｎ  Ｉｎｔｅｒｆａｃｅ  ′８６、カナダ、１９８６年、第１４７〜１５１ページ；  Ｃａｌｖｅｒｔ  Ｔ．，Ｂｒｕｄｅｒｌｉｎ  Ａ．，  Ｄｉｌｌ  Ｊ．，  Ｓｃｈｉｐｈｏｒｓｔ  Ｔ．，  Ｗｅｌｍａｎ  Ｃ．著「複数の人間の姿のデスクトップアニメーション（Ｄｅｓｋｔｏｐ  Ａｎｉｍａｔｉｏｎ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｈｕｍａｎ  Ｆｉｇｕｒｅｓ）」、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  ＆  Ａｐｐｌｉｃａｔｉｏｎｓ，１９９３年、５月、第１８〜２６ページ；  Ｂｏｕｌｉｃ  Ｒ．，Ｈｕａｎｇ  Ｚ．，Ｍａｇｎｅｎａｔ  Ｔｈａｌｍａｎｎ  Ｎ．，Ｔｈａｌｍａｎｎ  Ｄ．著「トラックシステムを有する多関節体の動き操作のための統一フレームワーク（Ａ  Ｕｎｉｆｉｅｄ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  ｔｈｅ  Ｍｏｔｉｏｎ  Ｍａｎｉｐｕｌａｔｉｏｎ  ｏｆ  Ａｒｔｉｃｕｌａｔｅｄ  Ｆｉｇｕｒｅｓ  ｗｉｔｈ  ｔｈｅ  ＴＲＡＣＫ  Ｓｙｓｔｅｍ）」、  Ｐｒｏｃ．  ＣＡＤ／Ｇｒａｐｈｉｃｓ  ′９３北京、  Ｎｅｗ  Ａｄｖａｎｃｅ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ＆  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ，  ＥＤ．Ｔａｎｇ  Ｚ．，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｃａｄｅｍｉｃ出版社、第１巻、１９９３年、第４５〜５０ページに記載｝とを含んでいる。
【００１８】
さらに、コンピュータ人間アニメーション研究で開発されたいかなる他の方法も、下記の条件が満たされるとき、ＭＵを生成するための適正な方法である。形成されたＭＵによって指定された動きは、図２３で示されたデータ構造の形式のものが望ましい、又は図２３で示されたデータ構造の形式に変換されることが望ましい。すなわち、動きはフレーム毎に指定される。各フレームは、多関節体の回転できる関節の各々の回転を表す一連の角度によって指定される。図１９で示される技術では、角度関節の指定は３つの角度回転から成る。しかしながら、いかなる関節指定の方式も、多関節体の特定の関節がフレームからフレームまで首尾一貫したように角度又は一連の角度によって指定される限りは、本発明の方法論によってカバーされる。角度の値は、本発明の下記の式（１）によって操作されることができるタイプのものでなければならない。
【００１９】
上記の技術の一つによって所望の動きを生成した後、アプリケーション開発者はフレーム毎にその動きを記憶するする必要がある。記憶されるためのキーデータは各関節の回転情報である。
【００２０】
関節の配置を指定するためには多数の方法がある。本発明で指定された動き混合アルゴリズムは、データが、関節の回転角から成るならば、最もよく機能する。その場合、このデータ角度は自分自身に対する（すなわち、曲げること、軸回転、ねじること）又はその親関節の局部座標系に対するものである。図２３は、ＭＵが、各フレームが一連の関節回転データから成るフレームの行から成ることを示している。
【００２１】
図１で示されるように、本発明は、“コンピュータ”と“インタフェース”を通して対話している“プレーヤー”の周辺技術に関する。可視画像のフレームは、コンピュータからプレーヤーにフィードバックされる。本発明は図１のコンピュータボックスで実行されているアルゴリズムである。
【００２２】
図２に示されるように、好ましい実施の形態例では、図１のプレーヤーは人間であるが、しかし本発明で指定されたプレーヤーも、図１のインタフェース及びコンピュータへのプレーヤーの入力を模擬しているソフトウェア又は他の電気的／機械的装置で有り得る。例えば、実行する多関節体用の次のＭＵを選択するプレーヤーの代わりに、ソフトウェアモジュールは、実行する多関節体用の次のＭＵをその内部プログラムによって選択することができる。このように、本発明で記載された“プレーヤー”はソフトウェアプログラムであり得る。“プレーヤー”であるこのソフトウェアモジュールは、図２、図６（ｂ）、図７（ｂ）、図８（ｂ）及び図８（ｃ）における“ＡＩプログラムエージェント”と称される。
【００２３】
図３で示されるように、（図１の）インタフェースは、手で操作される装置である。これは、キーボード、ジョイスティック、データグラブ、ボタンパッド及び片手又は両手の動きによって制御されることができる任意の他の装置のような一般に使用されている対話の実例の全てをも含む。さらに、本発明の（図１の）インタフェースは、脚及び／又は足のような、体の他の領域における体の一部の動きにより、あるいは顔、眼、頭、耳、鼻、首又は肩の動きによって、操作される装置であり得る。もし（図１及び図２）のプレーヤーがソフトウェアモジュールであるならば、インタフェースはソフトウェアモジュールのコマンドを検出できる装置である。コマンドは、（図１の）インタフェースを通して（図１の）コンピュータにそのコマンドを入力するＡＩプログラムエージェントに対する、ソフトウェア手順呼出し、方法呼出し、コンピュータメッセージ、電子メール、光信号、あるいは他の電気的及び／又は機械的媒体でありうる。重要なことは、この装置のインタフェースが（図１の）プレーヤーからの入力を受け取ることと、その入力を多関節体が実行するためのＡＩ選択に変換することである。
【００２４】
図４で示されるように、（図１の）プレーヤー、特にプレーヤーに表示される（図１の）視界は本発明の好ましい実施の形態例におけるビデオモニタである。さらに、本発明の他の実施の形態例である他の画像システムは、図５で示されるようにバーチャルリアリティアプリケーションで使用されるシステムのような頭部装着形画像システムを含む。
【００２５】
全体的システムの好ましい実施の形態例の実例は図１８で示され得る。この図では、ユーザは実行するいろいろなＭＵを非同期的に選択する。これらのＭＵは同時に実行しているＭＵの待ち行列に加えられる。各アニメーションフレーム、すなわち各ＭＵからの関節データの１フレームは、図１８で示される“ミキサー”で混合される。ここで、関節フレームの重み付け平均値はそのフレームのための関節回転値を決定するために計算される。ＭＵにおける各関節データ要素はその優先権を示す重みを含む。特定のＡＦの動き（すなわち、ジャンプ、着席）は主要な関節の動きによって達成される。もちろん、多くの他の主要でない関節も動くかもしれないが、しかしこの関節は動きに絶対必要ではない。例えば、ジャンプにおいて、脚の関節角は絶対必要であり、腕は幾分重要であるが、しかし首又は手首の関節角はジャンプの本質に少しも重要ではない。
【００２６】
本発明の好ましい実施の形態例は、一人のプレーヤーと図６（ａ）で示されるような１人の多関節体とを対にする。プレーヤーは、実行する多関節体のＭＵを選択し、そして多関節体は、プレーヤーにより選択されたＭＵに基づいて、本発明のアルゴリズムによって決定された動きをする（ｕｓｅ）。さらに、プレーヤーは、図６（ｂ）で示されるように、コンピュータモジュール、すなわちＡＩプログラムエージェントと協力して操作する。例えば、人間は複数のＭＵの時間調整された組合せである高レベルの動きを選択する。ＡＩプログラムエージェントは、プレーヤーによって所望される表現された動きを実行するために適切な時間に特定なＭＵの選択を与える。他のシナリオは、プレーヤーがＭＵを選択することであり、同様にＡＩプログラムエージェントがＭＵを選択することである。したがって、これらの２組のＭＵは、動きを生じるための本発明のアルゴリズムによって混合される。
【００２７】
本発明のもっと多くの実施の形態例が図７に示される。図７（ａ）では、一人のプレーヤーが多関節体群を制御する。この群及び調整の１つの例は、スポーツチームのようなチームで実現される。プレーヤーは、ゲームの各多関節体をいかに動かすかを指示するＭＵを選択する。図７（ｂ）では、プレーヤーは、複数の活動の動きを調整するためにＡＩプログラムエージェントと協力して操作する。例えば、プレーヤーは高レベルの動きを指定することができたが、ＡＩプログラムエージェントは、プレーヤーによって指定されるような前述の高レベルの動きのために、実行するＭＵの低いレベル選択及びタイミングを指定する。他のシナリオは、１人または１群の多関節体を制御するプレーヤーを有するが、ＡＩプログラムエージェントは他の多関節体を制御する。２組の多関節体は、協力又は競争状態で動いていることがあり得る。
図８は本発明のもっと多くの実施の形態例の組合せを示している。図８（ａ）は、複数組の多関節体を制御する複数のプレーヤーの例を示す。プレーヤーと多関節体との関係は１対１又は１対多数の関係のいずれかである。すなわち、プレーヤーによって選択されたＭＵは単に一つの多関節体を制御できるか、又は多関節体群を制御できるかである。図８（ｂ）は他の実施の形態例を示す。これは、いかなるプレーヤーも必要とせず、コンピュータプレーヤーのみ、すなわちＡＩプログラムエージェントが必要とされるシナリオを示す。この例は多関節体群のシミュレーションである。ＡＩプログラムエージェントは、戦争ゲーム、群衆行動、又は人間工学研究のような状況を模擬するような方法で、多関節体を動かす、多数のＭＵを選択するようにプログラム化されることができる。この実施の形態例は、模擬された多関節体の行動について研究及び学習するための研究目的のために使用されることができる。他のシュミレーションの例は、新しいビルディング、店舗、公園又は工場の設計計画で移動する人々を模擬するアニメーションである。その動きがＡＩプログラムエージェントによって選択されたＭＵによって決定される多関節体は、新しいビルディングの設計計画のコンピュータグラフィックシュミレーションで移動する。したがって、このアニメーションのビデオは、潜在的なバイヤー、銀行家、顧客、政治家又は他の興味ある人々に見せることができる。このような多関節体の行動のシュミレーションは本発明のアルゴリズムの実施の形態例である。同様に、図８（ｃ）は、ＭＵを選択し、それによって複数の多関節体の動きを制御する複数のプレーヤー及び複数のＡＩプログラムエージェントの組合せを有する本発明の実施の形態例を示す。いかなる組合せにおいても複数のプレーヤーは協力して実行するか又は競争して実行するかである。
【００２８】
図９は好ましい実施の形態例における（図１の）コンピュータを示す。本発明のアルゴリズムは、“多関節体のための動きの生成”と呼ばれるボックスの中にある。したがって、コンピュータが各多関節体の計算結果として生じる動きを各フレームのために（図１の）視界に変換するために、（図１０の）ジオメトリックエンジン及び（図１１の）画像発生器が存在する。図９のジオメトリックンジンは図１０に拡大される。ジオメトリックエンジンは、たとえば、Ｆｏｌｅｙ  Ｊ．Ｄ  及び  Ｖａｎ  Ｄａｍ  Ａ．著「対話式コンピュータグラフィックスの基礎（Ｆｕｎｄｅｒｍｅｔａｌｓ  ｏｆ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）」、  Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ出版社、１９８４年、第２６２〜２６５ページ等に知られている。ここで、多関節体（ＡＦ）の本体はモデル座標系で構成され、次に世界座標系に変換される。ジオメトリックエンジンへの入力は、ＡＦにおけるその隣り合っている関節に対する各関節のための全ての３次元角度値から成る。これらの３次元角度値は、本発明によって指定され、かつ“多関節体のための動きの生成”と呼ばれるブロックとして図９に表されるアルゴリズムの出力である。これらの角度値から、各関節の３次元位置が計算される。この計算に必要な要素は２つの関節間の各セグメント長である。この長さ及び連結性情報（すなわち、どの関節がどの他の関節と接続されているか）は、図１０で“スケルトン”と呼ばれるコンピュータディスクとして図示される情報のブロックに含まれている。
【００２９】
図１０における第１の機能の出力データストリームは、アニメーションにおける１フレームのための各関節の全ての３次元位置である。これらの３次元の位置は図１０における第２の機能への入力である。この第２の機能は隣接する関節位置に基づいて組織面を決定する。これは、たとえば、Ｄｏｗ  Ｄ．，  Ｓｅｍｗａｌ  Ｓ．，  Ｍａｅｈａｒａ  Ｆ．著「可撓物体向き方法論を使用する複合人間形状のモデル化」、  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＮＩＣＯＧＲＡＰＨ  ′９２  、東京、１９９２年１１月、第３５〜４３ページに知られている。組織面を決定するために必要とされる付加モデルデータは、“組織”と呼ばれるコンピュータディスクとして図１０に示されるデータブロックから得られる。囲まれる関節の３次元位置を与えられると、その身体領域面は、簡単なジオメトリック的形状、多角形メッシュ、自由形状面又は体積ボックセル（ｖｏｘｅｌ）を含むいろいろな方法で計算及び表現されることができる。表面組織のこれらの表現の各々は、本発明のアルゴリズムによって発生された出力データを使用するための適切な方法である。
【００３０】
最後に、この計算された表面表現データは、図１０の第２の機能から第３の機能に送られる。この第３の機能では、ＡＦの各身体領域面の表現は、コンピュータシーンの“世界座標系”に正確に位置決めされ、かつ配置される。簡単な言い方では、この変換は、コンピュータディスプレイ上に現在は表示されている場面における正確な位置及び配置にＡＦを動かす。３次元コンピュータグラフィックスシステムで使用されているこの座標系の変換の他の説明は、たとえばＦｏｌｅｙ及びＶａｎ  Ｄａｍで公知である。
【００３１】
ジオメトリックエンジンの出力データストリームは、図１０の前記第３の機能の出力である。これは、コンピュータスクリーン上に描写される基本グラフィックプリミティブを表す３次元点のディスプレイリストと見なされ得る。このようなプリミティブは、頂点、ラインセグメント、多角形面及び体積ボックセル（ｖｏｘｅｌ）密度値を含んでいる。
【００３２】
図９の画像発生器は図１１に拡大される。画像発生器は、たとえば、Ｆｏｌｅｙ及びＶａｎ  Ｄａｍ、第２６７〜２７４ページで公知である。この画像発生器への入力データは、頂点、ライン及び面のような３次元世界座標出力プリミティブである。画像発生器は、これらの３次元座標を２次元射影面に変換する。最後に、２次元射影面座標は２次元フレームバッファの中をピクセル値で満たすためにラスタ化される。フレームバッファデータはプレーヤーによって見るためのディスプレイに直接に送られ得る。
【００３３】
本発明のいろいろな実施の形態例における多関節体はいろいろな関節形状及びいろいろな身体面体系を有することが出来る。図１２は、多関節体における関節をモデル化又は表現するための４つの異なる方法を示している。これらの関節の各々（図１２において）は本発明の許容実施の形態例である。重要なことは、多関節体の領域が関節の中心の周りの回転によってモデル化されることができる動きを有することである。図１３及び図１４で示されるように、多関節体における関節の数又は関節の形状はいろいろな実施の形態例に特有なもので有り得る。本発明は、その関節の結果して生じる角度を決定するために、同時に実行しているＭＵの対応する関節の角度回転を操作するために本明細書で記載されているような数学上の重み付けられた平均計算を使用する。したがってＭＵ及び多関節体が同一の数の関節及び角度値を有する限り、多関節体における関節の数又は多関節体を形成するための関節の形状は本発明の異なる実施の形態例の間で変えることができる。
【００３４】
各動きの本質を符号化するために、関節は重みを与えられる。この重みは、特定の動きの目的のために関節の相対優先権を決定する。２つ以上のＭＵは一緒にして混合されるとき、結合関節の重み付け平均値は、結果として生じる関節角度を決定する。
【００３５】
【数１】
θＪ＝（Σｎｉ＝０  ｗｉＪ  θｉＦＪ）／（Σｎｉ＝０  ｗｉＪ）                  （１）
ここで、
θＪ＝Ｊ関節の回転の計算結果として生じる角度
ｉ  ＝実行しているＭＵの待ち行列からのどれかのＭＵ
Ｊ  ＝ＡＦにおけるどれかの関節
ｎ  ＝現在、待ち行列に加えられるＭＵの数
θｉＦＪ＝ｉＭＵのＦフレーム及びＪ関節の回転値
ｗｉＪ  ＝関節重み：ｉＭＵのＪ関節のための重み
式における上記Ｊは図２３で示されるＪ関節と同一である。ＭＵの各フレームＦはＡＦの各関節のための回転データを有する。同様に、式における上記Ｆもまた図２３で示されるＦフレームである。図２４におけるＭＵ 指数は、どのＦフレームが上記の式で混合するための、ＭＵの次のフレームであるかについて常に知っている。
【００３６】
もし全てのｗｉＪ  ＝１であるならば、最終の回転値は、単に混合されるための各フレームからの各関節のための回転値の平均である。重みは関節回転に優先権を与える。このように、２つ以上の動きが併合されるとき、より高い重みを有する関節回転はより高い優先権を有し、結果として生じる動きにさらに強く影響を与える。
【００３７】
３つの簡単な動きを結合する例を考察する。一方のＭＵはキック（膝の曲げ）であり、一方がパンチ（肱の曲げ）であり、他方は頭の揺れ（頭の振り）である。図２０は、最初の３つの動き及び合成結果を示す。
【００３８】
キック動きでは、脚の関節動きは“キック”動きに絶対必要であるので、脚の関節動きは１．０のより高い重みが与えられ、残りは０．１のような低い重みが与えられる。同様に、パンチの場合、腕の関節は１．０の重みが与えられ、残りは０．１の重みが与えられる。頭の振りの場合、頭の重みは１．０であり、残りは０．１の重みが与えられる。これらの動きが同時に実行されるとき、重み付けられた平均値は、３つの入力ＭＵからの結果として生じる関節角度を決定するために計算される。
【００３９】
脚の関節を考察する。動きシーケンスにおけるあるフレームに関して、脚の関節の重みは、
キックＭＵ：ｗ＝１．０、
パンチＭＵ：ｗ＝０．１、
頭の振りＭＵ：ｗ＝０．１である。
【００４０】
【数２】
θＬｅｇ＝（ｗＫｉｃｋ  θＫｉｃｋ＋ｗＰｕｎｃｈ＋ｗＨｄＳｈｋ  θＨｄＳｈｋ）／            （２）
（ｗＫｉｃｋ＋ｗＰｕｎｃｈ＋ｗＨｄＳｈｋ）
＝（（１）θＫｉｃｋ＋（０．１）θＰｕｎｃｈ＋（０．１）θＨｄＳｈｋ）／１．２
１．０のキックの重みは他のＭＵの０．１の重みよりもずっと大きい。したがって、混合されるための３つのＭＵのうち、キックＭＵは脚の関節を支配する。
【００４１】
図１６〜図１８で示されるように、上記の動きミックスアルゴリズムは併合されるための関節角度の重み付け平均値を計算する。しかしながら、ユーザは新しい動きを非同期に選択するので、不自然な動きを生じるフレーム間の不連続性があり得る。一つの主な動きから次の動きへの変移中のこの不連続性の問題は、バドラーフレージングと呼ばれた（Ｓｔｅｋｅｔｅｅ  Ｓ．Ｎ．，Ｂａｄｌｅｒ  Ｎ．Ｉ．著「運動調整及びフレージング制御に組み込むパラメトリックキーフレーム補間（Ｐａｒａｍｅｔｒｉｃ  Ｋｅｙｆｒａｍｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｉｎｃｏｒｐｏｒａｔｉｎｇ  Ｋｉｎｅｔｉｃ  Ａｄｊｕｓｔｍｅｎｔ  ａｎｄ  Ｐｈｒａｓｉｎｇ  Ｃｏｎｔｒｏｌ）」、Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  １９８５年，  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ、  第１９巻，第３号，第２２５〜２６２ページ参照）。
【００４２】
このフレージング問題を解決するために、本発明は時間の変数である重み係数を使用する。重みは、ＭＵの最初でゼロから徐々に増加し、最後に終了で減少する。これは２つのＭＵ間の粗っぽい変移を最少にする。図２５は、ＭＵフレームの重みが時のたつにつれていかに変化することが出来るかに対する色々な可能性を示している。粗い変移を最少にするために、ＭＵの最初に近く及びＭＵの最後に近いフレームは小さくされる。フレージング重みの好ましい実施の形態例は図２６で示されることができる。
【００４３】
ＭＵは、図２６においてフレーム０からＮｍまで規定される。最初の少数の動きのフレームでは、フレームは低い優先権を有する。しかし徐々に、フレーム毎に、重みが増加される。同様に、ＭＵの最後で、最後の少数のフレームの重みは減少する。したがって、ＭＵの最初と最後で、フレームは低い優先権を有するので、フレームは結果として生じる合成動きに多くの影響を与えない。しかしながら、中間のフレームはその最高の優先権にあるので、それはその合成に著しく影響を及ぼす。
【００４４】
最初の式（１）はこのフレーム重みを含まない。それで、より完備な式は、すなわち、
【００４５】
【数３】
θＪ＝（Σｎｉ＝０  ｗｉＦｗｉＪ  θｉＦＪ）／（Σｎｉ＝０  ｗｉＦｗｉＪ）            （３）
である。
【００４６】
ここで、
ｗｉＦ    ｉフレームのための重み（重みはフレームにおける全ての関節に適用する）である。
【００４７】
基本的に、フレームの重みは、関節の重みが掛けられ、その結果として生じる関節の重みの積を生じる。図２０で示された例では、各結果として生じる“混合ＭＵ”時間ステップ（ｔ０、ｔ１、ｔ２．．．．）は他と関係なく計算される。ｔｉに対するこの計算への入力は、ｔｉ“肱の曲げＭＵ”、ｔｉ“頭の振りＭＵ”、及びｔｉ“膝の曲げＭＵ”関節角度値である。各関節角度は他の関節と関係なく計算される。これは、式（３）から直接生じる。この式（３）は、それが図２０の例に直接に対応するように図２１で拡大される。単一のステップｔｉに対する単一の関節角度を決定する計算に関しては、３つのＭＵの各々からの積は合計される。
【００４８】
図２２におけるフローチャートは、図２０、図１６〜１８及び式（３）をさらに説明するためのものである。図２２における最大のループは時間ステップ毎に一回実行する。すなわち、動きにおけるＡＦのアニメーションの中の各フレームに対して一度である。次のより小さいループはＡＦにおける各関節に対して一度実行する。これは式（３）の計算を実行する。
【００４９】
図２２もまた、“動きユニットのライブラリ”の存在及び機能性と“同時に実行しているＭＵ”の待ち行列を示している。図１６〜１８で示されるように、プレーヤーは開始するための新しいＭＵを選択するとき、そのＭＵは、動きユニットのライブラリから同時に実行しているＭＵの待ち行列の中へ挿入される。この新しい動きが完了されるとき（多分多数の時間ステップ、ｔｉ、その後）、それは“同時に実行しているＭＵ”の待ち行列から取り去られる。したがって、この待ち行列は動的である。待ち行列に加えられるＭＵは各時間ステップを変更し得る。より多くのＭＵが付加され、終了したＭＵが待ち行列から取り去られる。図２２の最も小さい最も内部のループは、“同時に実行しているＭＵ”の待ち行列に加えられる各ＭＵに対して一度実行する。
【００５０】
多くの異なるＭＵからの重みがいかに相互作用するかの他の例を考察する前に、アイドルの動きを理解することが重要である。
【００５１】
実行しているＭＵの優先権リストの最下部には常にアイドルＭＵがある。各アプリケーションに関しては、アイドルは異なる動きのタイプである。例えば、スポーツゲームは、アイドルのＭＵがいつもの所での揺れの動きであるようさせ得る。しかし、料理又は木細工を説明するアニメーションは、アイドルのＭＵが、テーブルの上面板の上約１０ｃｍに保持された両手で直立した姿勢位置を図示させる。
【００５２】
アイドルのＭＵは非常に低い優先権の重みを有しているので、もし他のＭＵが実行しているならば、そのＭＵが支配する。しかしながら、いかなる他のＭＵも現在は実行していないとき、アイドルＭＵが支配する。ＭＵの最後での変移の間、最後の少数のフレームのためのＭＵの重み優先権はアイドルＭＵの優先権よりも小さくなるので、変移が最後のＭＵとアイドルＭＵとの間で生じる。
【００５３】
本発明の前記フレージング制御及び前記アイドルＭＵをより十分説明するために、好ましい実施の形態例の例を検討される。図２７における例を考察する。これは、ユーザが実行するように選択したＭＵの待ち行列を示す。下記のリストは、どのＭＵが何時混合され、かつどのＭＵが支配するかを説明する。
【００５４】
ｔ０        いかなるＭＵもユーザによって選択されない。アイドルのＭＵが、支配する。
【００５５】
ｔ１        キックＭＵが支配する。
【００５６】
ｔ２        キックＭＵ及びパンチＭＵの両方が低い重みを有する。これらのＭＵとアイドルのＭＵの混合。
【００５７】
ｔ３        パンチＭＵ及び頭の振りＭＵが平等に支配する。
【００５８】
ここで、動きは非同期に開始し停止する。
【００５９】
同時に異なるＭＵは実行され、そして，正味の結果は、混合されている各ＭＵにおける関節の重み付けられた平均値計算に基づいている。
【００６０】
本発明の一つの実施の形態例はＡＦで感情状態をシミュレートする。一つの値が、それがＡＦの動きの結果として生じる結末にどのくらい影響を与えるかにおいてこの感情状態の強度を決定する。例えば、疲れている、へとへとになった、又は怠けている感情状態が模擬される。他の背景（アイドル）ＭＵは実行しているＭＵの待ち行列に加えられる。図２４のＭＵ 指数は、フレーム番号はＭＵにおける最後のフレームが実行された後、ＭＵにおける最初のフレームに戻るようにセットされるため、このＭＵは常に待ち行列にある。これは前記アイドルＭＵによって使用されるのと同じである。すなわち、それは待ち行列でループし、決して終わらない。
【００６１】
実際の人間は段々疲れてくるにつれ、あまり精力的でなく、より無気力に動く傾向がある。すなわち、実際の人間は疲れてくるにつれ、動きは最小にされ、それによってエネルギーを温存する。
【００６２】
本発明の一つの実施の形態例における疲労のシミュレーションを実施するために、疲労した身体姿勢を表す基本的に重み付けられたＭＵは混合されているＭＵの待ち行列に加えられる。もしＡＦが健康で、かつ疲れていないならば、疲労ＭＵの重みは０であるので、それは結果として生じる動きにいかなる影響も与えない。しかしＡＦは益々疲れてくるにつれ、この疲労ＭＵの重みは０．０から１．０に増加する。
【００６３】
例えば、図２８上段において、通常の（疲労＝０．０）ＭＵが示される。中段において、行為者は大変疲れているので（疲労＝０．５）、動きはあまり精力的でない。下段において（疲労＝１）、動きが非常に無気力である。
【００６４】
上記の前記フレージング制御に加えて、フレーム平滑化技術のための付加フレームは任意である。図１８で示されるように、アニメーションにおける各フレームに関しては、動きミキサーは、フレームを生じるように重み付けられた平均値計算で１以上のフレームを結合する。たとえこれが関節の重みの重み平均値であり、かつフレージング制御の重みがＭＵの最初と最後で不連続性を最少にするように使用されたとしても、なおいくらかのフレーム間の不連続性がある。アニメーションフレームのスプライン平滑化はこれを平滑化するために使用されることが出来る。
【００６５】
各アプリケーションは、動きの平滑化のための異なる要件及び処理能力に関して制約を有している。多くのより簡単なアプリケーションは、このフレームスプライン計算をスキップし、かつ重み付けられた合計計算によって計算されるようにキャラクターを直接動画にする。その他はさらに複雑なスプライン平滑化を行う。
【００６６】
平滑化の要求と低計算力との妥協は、一定のスプライン計算を使用することによって達成されることができる。これは、幾分複雑なスプライン計算を、丁度他の重み付けられた平均値計算であるように減少する。本発明の好ましい実施の形態例は、３つのフレームの関節回転値を使用する非周期的なＢスプラインに基づくフレーム間平滑化フィルタを使用する。Ｂスプライン展開は、他の著作（Ｍｏｒｔｅｎｓｏｎ  Ｍ．Ｅ．著「ジオメトリック的モデル化」、  Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎｓ，  １９８５年、第１２５〜１４７ページに記載されている）に見出されることができる。３点を使用する非周期的なＢスプラインのための式は、
【００６７】
【数４】
ｐｉ（ｕ）＝１／２［（１−ｕ）２ｐｉ−１＋（−２ｕ２＋２ｕ＋１）ｐｉ＋ｕ２ｐｉ＋１］                    （４）
である。
【００６８】
これは、０から１．０までのｕの範囲のための３点間の平滑な曲線を計算する。ＭＵが現在混合され、かつ同時に実行しているとき、目的は連続性を確保することにある。いろいろな種類のスプライン計算はこれを行うことが出来る。好ましい実施の形態例は、アニメーションにおける各フレームのためのｕ＝０．７５で一点を決定する前述のＢスプラインを使用する。
【００６９】
このようにスプラインを使用する他の利点は、各計算フレームがキーフレームとして見なされることができることである。したがって、入念に開発されたキーフレームのアルゴリズムは、所望されるいかなる中間フレームも計算するために使用され得る。これは、現在使用されている記憶されたＭＵのフレーム速度にかかわらず、アプリケーションが出力フレーム速度の制御を有することを可能にする。中間フレームはアニメーションを増速又は減速するために計算されることができる。
【００７０】
それにもかかわらず、本発明に提示された全ての動きアルゴリズムの主要な目的は、ＰＣ又はゲームのようなローエンドプラットホームにおけるユーザ方式のＡＦアニメーションを可能にするための高速方法を提供することにある。したがって、多くの場合、（フレーム間の連続性を確保するための）スプラインについてのこの節での議論は、あまりにも時間をかけて行われる多数のプラットホームのための計算である。もしそうであるならば、このステップはスキップされ得る。重み付けられた平均値の出力はアニメーションのそのフレームにおけるＡＦの配置になる。連続性は確保されないが、しかし各ＭＵの最初と最後での優先権ランプのフレージング制御技術は、ＭＵの変移中身体における各関節の回転の急な変化を最少にするのに役立つ。
【００７１】
本発明におけるアルゴリズムは、最近に使用可能にされる手ごろなＰＣ及びゲームプラットホームによって引き起こされる要求を十分に満たす。これらのプラットホームは、現在、ＡＦアニメーションを含む人を興奮させるアニメーションに役に立つのに十分強力である。しかしながら、これらのプラットホームは、現在のところ、開発されたＡＦアニメーション技術の資源を直接使用するのに十分強力でない。
【００７２】
本発明が寄与するものは、ゲーム又は教育ソフトウェアのエンドユーザが多関節体を移動させるいくつかのアプリケーションを実行している間に記憶された動きユニット（ＭＵ）を対話式に、かつ直感的に選択及び混合することを可能にするユーザ方式のアルゴリズムのセットである。オフラインの他の入念に開発された技術はＭＵを形成するために使用されることができる。これらのＭＵは、前述の高速アルゴリズムを使用するローエンドプラットホームにおいて混合及び実行される。
【００７３】
【発明の効果】
以上述べたところから明らかなように本発明は、安価で、対話式で、しかもリアルタイムでコンピュータＡＦアニメーションを生成できる。
【図面の簡単な説明】
【図１】図１は、本発明が適用される全体的アプリケーション環境を示す。
【図２】図２は、図１における“プレーヤー”ブロックをさらに図示する。
【図３】図３は、図１における“インタフェース”ブロックをさらに図示するものであって、図３（ａ）は手主導装置、図３（ｂ）は足、膝及び／又は腰の位置及び動きがシステムに入力を供給する脚主導入力システム、図３（ｃ）は可能な足、手及び頭の組合せの対話式制御システムの例を示している。
【図４】図４は、図１の“視界”ブロックをさらに図示し、図４（ａ）は、コンピュータ生成シーンがプレーヤーの前方に映写される実施の形態例を示し、図４（ｂ）はプレーヤーが見るであろうスクリーン形状の例を示す。
【図５】図５は、図１の“視界”ブロックをさらに図示し、図５（ａ）は、頭部取付けシステムの可能な構成を示し、図５（ｂ）は、生成及び表示されることができるシーンの２つの視野を示している。
【図６】図６は、本発明の一つの実施の形態例を示し、図６（ａ）は一人のプレーヤーが視界の中にある一つのＡＦの動きを制御する状態、図６（ｂ）はＡＩプログラムによって支援されているプレーヤーを示している。
【図７】図７は、視界の中にある複数の多関節体を含む本発明の他の実施の形態例を示し、図７（ａ）は一人のプレーヤーが複数のＡＦの動きを制御する状態、図７（ｂ）は複数のＡＦを制御する際のプレーヤー及びＡＩプログラムの組合せを示す。
【図８】図８は、本発明の実施の形態例のより多くの組合せを示し、図８（ａ）は、複数のＡＦを制御する複数のプレーヤーを示し、図８（ｂ）は、ＡＩプログラムであって、プレーヤーでない全ての入力の例を示し、図８（ｃ）は、複数のＡＦを制御するための一人のプレーヤー（複数のプレーヤー）及び一つのＡＩプログラム（複数のＡＩプログラム）の組合せを使用する本発明の実施の形態例を示す。
【図９】図９は、図１における“コンピュータ”ブロックをさらに図示する。
【図１０】図１０は、図９におけるジオメトリックエンジンの内容をさらに図示する。
【図１１】図１１は、図９における画像発生器の内容をさらに図示する。
【図１２】図１２は、本発明のための多関節体におけるいろいろな関節の実施の形態例を示し、図１２（ａ）は、関節である共通軸上で軸回転する２つの静的セグメントを示し、図１２（ｂ）は、ボールソケット形関節を示し、図１２（ｃ）は、コンピュータ生成世界の中にあることがあるＡＦ形状を示し、図１２（ｄ）は、セグメントがはっきりと、かつ別々に規定されていない例を示し、図１２（ｄ）の例は、人間の肱の関節、上腕及び下腕を示す。
【図１３】図１３は、本発明のアルゴリズムによって操作されるＡＦのための関節の骨格の２つの例を示し、図１３（ａ）及び図１３（ｂ）に図示された人間は、図で目で見ることができない３次元面を有する。
【図１４】図１４は、いかなる人間のような形状とも異なっている２つの可能なＡＦ骨格形状を示している。
【図１５】図１５は、ＡＦの外部面の一つの例を示す。
【図１６】図１６は、図１に示されるような本発明の詳細をさらに示し、“インタフェース”等を示すブロック図である。
【図１７】図１７は、図１に示されるような本発明の詳細をさらに示し、図１６の“ＭＵミックスアルゴリズム”の内容を示すフローチャートである。
【図１８】図１８は、図１に示されるような本発明の詳細をさらに示し、図１７の内容を細区分したものである。
【図１９】図１９は、図１６〜図１８のＭＵライブラリの中のＭＵが発生される可能な方法を示している。
【図２０】図２０は、ＡＦのための結果として生じる混合ＭＵの動きを生じるように本発明の方法により混合される３つのＭＵを示している。
【図２１】図２１は、図２０のケースの重みを説明した図である。
【図２２】図２２は、図２１のケースの実行フローチャートである。
【図２３】図２３は、ＭＵのファイル細目を示している。
【図２４】図２４は、図１８に示されたように同時に実行するＭＵの待ち行列の実施の形態例を示している。
【図２５】図２５は、本発明の中にあるランプ重みのいろいろな実施の形態例を示している。
【図２６】図２６は前記フレーム重みの他の実施の形態例を示す。
【図２７】図２７は、ＭＵを混合する本発明の例を示している。
【図２８】図２８は、本発明の一つの実施の形態例で可能である疲労のシミュレーションを示している。
【符号の説明】
１  プレーヤ
２  インタフェース
３  コンピュータ
４  視界
３１  多関節体のための動きを生成
３２  ジオメトリック  エンジン
３３  画像発生器
【図１】
0003579148.tif 000002
【図２】
0003579148.tif 000003
【図３】
0003579148.tif 000004
【図４】
0003579148.tif 000005
【図５】
0003579148.tif 000006
【図６】
0003579148.tif 000007
【図７】
0003579148.tif 000008
【図８】
0003579148.tif 000009
【図９】
0003579148.tif 000010
【図１０】
0003579148.tif 000011
【図１１】
0003579148.tif 000012
【図１２】
0003579148.tif 000013
【図１３】
0003579148.tif 000014
【図１４】
0003579148.tif 000015
【図１５】
0003579148.tif 000016
【図１６】
0003579148.tif 000017
【図１７】
0003579148.tif 000018
【図１８】
0003579148.tif 000019
【図１９】
0003579148.tif 000020
【図２０】
0003579148.tif 000021
【図２１】
0003579148.tif 000022
【図２２】
0003579148.tif 000023
【図２３】
0003579148.tif 000024
【図２４】
0003579148.tif 000025
【図２５】
0003579148.tif 000026
【図２６】
0003579148.tif 000027
【図２７】
0003579148.tif 000028
【図２８】
0003579148.tif 000029