(57)【特許請求の範囲】
【請求項１】
コンピュータグラフィックスによって表現される物体の歩行アニメーション処理方法であって、
（１）第１のフレームでの前記物体の形状データの中で、最も下にある点の位置を記録する記録ステップと、
（２）前記第１のフレームに連続する第２のフレームでの前記物体の形状データの中で、前記記録された点に対応する点の位置と、
記録された前記点の位置とが、
一致するように、前記第２フレームの前記物体の全体を移動する移動ステップと
を含む、歩行アニメーション処理方法。
【請求項２】
前記移動ステップは、水平方向のみに、前記物体を平行移動すること、を特徴とする請求項１に記載の歩行アニメーション処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータグラフィックスの分野に関するものである。
【０００２】
【従来の技術】
コンピュータグラフィックスの世界でのアニメーション処理を行なう際の一手法として、骨格構造を持ち、形状データはその骨格が動くのにしたがって動作するというような表現方法や、階層化されたローカル座標を持ち、それぞれのローカル座標に形状データが関連付けられており、ローカル座標間の位置関係が変化するのにつれて形状データが動くというような構成をとることがある。
【０００３】
このような構成をとった場合には実際の人間や動物の動作を計測し、その計測結果を骨格とその関節の角度のデータに変換することによって容易に動作のデータをコンピューターグラフィクスで表現に適用できるという利点がある。
【０００４】
しかし、コンピュータグラフィクスで実現したいものの骨格構成／ローカル座標間の距離が計測するための実在の人間や動物の骨格構成と多少異なることも多い。
【０００５】
このような場合は骨格の長さあるいはローカル座標間の距離が異なるために動作に不自然な点が出てくる。
【０００６】
【発明が解決しようとする課題】
前記の動作の不自然な点のうちで特に顕著なのが、歩く動作などをしている場合に、足の動きと床の動きが同期せず、足が床の上を滑べっているように見えてしまうことである。
【０００７】
本発明は上記問題点に鑑み、このような滑べりを排除し、足がしっかりと地面に着いて動作しているように見えるようなアニメーションを簡単に実現することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は上記目的を達するため、コンピュータグラフィクスの三次元空間の世界で動作している物を構成する形状データのうち最も低い位置にある点を判定し、その点の位置を記録しておくという操作を行なう。
【０００９】
次の時間の画像を生成する際に、記録しておいた点の座標が記録しておいた座標と一致するように動作している物全体を移動する。
【００１０】
これにより、簡易的に接地していると見なす点が移動することを防ぎ、足が床に対して滑べっているようなアニメーションになるのを防ぐ。
【００１１】
【発明の実施の形態】
本発明は上記した構成によって歩く動作のアニメーションを行なっている際に足の動きと床の動きを同期させ、足が床の上を滑べっているように見えてしまう問題を発生させない。
【００１２】
以下本発明の一実施例の歩行データ修正方法について図面を参照しながら説明する。
【００１３】
図１は請求項１における実施例の説明図である。
図１において１０１は三次元座標ＸＹＺであり、１０２は骨格構造およびそれにつれて動作する形状データで構成される物体である。１０３は骨格であり、１０４の関節で接続されている。この骨格に１０５で示される形状データが関連づけられており、骨格が動作するにつれて変形、移動するものとする。
【００１４】
このような形態でアニメーションを行なう場合、実際の人間などの動きを測定して関節の回転角度を算出し、それを用いることがある。
【００１５】
そのような場合、骨格の長さが測定した人間などの骨格の長さと一致していれば問題は起こらないが、誤差があった場合や、アニメーションをさせたい形状データと、測定した人間などの形状が異なり、やむなく骨格の長さを変更した場合、足と地面が同期しないで、滑べっているようにみえるという問題が発生することがある。この物体１０２の形状データ１０５のうち、最も低い位置にある点が１０６である。
【００１６】
図１のような座標空間の場合、形状データ１０５を構成する構成要素のうち、最もＹ座標の値が小さい点である。座標空間１０１中でのこの点の位置と、形状データ１０５のどの位置に当たるのかの両方を記録しておく。骨格をつなぐ関節の角度はフレーム毎に変化している可能性があるし、この物体そのものの位置も移動している可能性がある。
【００１７】
したがって、次のフレームでは形状データ１０５上の先ほど記録した位置は座標空間１０１中での前回の位置と一致していない可能性がある。このような場合、物体１０２全体を平行移動してこれを一致させる。
【００１８】
これによって最も低い位置にある、接地していると見なせる位置が変化しないので、足が滑べっているように見えることはなくなる。図２は同実施例における、図１の物体の最も低い位置にある点の回りの拡大図である。
【００１９】
図２において２０１および２１１、２２１は骨格、２０２および２１２、２２２はそれに関連して動作する形状データ、２０３および２１３、２２３は関節である。２０４は最も低い位置にある点であり、２１４はこの点が次のフレームで関節の角度の変化とそれによる形状データの変形によって移動してしまった様子を示す。２１５は前のフレームでの形状データの位置、２１６は前のフレームでの２１４の位置を示す。
【００２０】
２１４が２１６に一致するように平行移動した結果の骨格が２２１、形状データが２２２である。２２５は前のフレームでの形状データの位置である。
【００２１】
図３は請求項２における実施例の説明図である。
図３において３０１は三次元直交座標ＸＹＺであり、３０２は階層化されたローカル座標３０４と、それにつれて動く形状データ３０５からなる物体である。
【００２２】
このような形態でアニメーションを行なう場合には、階層化されていてローカル座標とローカル座標の間の関係に効果をかけ易く、さまざまな変更が施される場合があり、ローカル座標とローカル座標の間の関係がずらされる場合がある。
【００２３】
そのような場合、足と地面が同期しないで、滑べっているようにみえるという問題が発生することがある。３０６は物体３０２に属する全ての形状データ３０４の構成要素のうち、座標空間３０１の座標において位置が最も下にある点である。
【００２４】
図３のような座標空間の場合、形状データ３０５を構成する構成要素のうち、最もＹ座標の値が小さい点である。座標空間３０１中でのこの点の位置と、どのローカル座標３０４の、どの位置に当たるのかの両方を記録しておく。
【００２５】
次のフレームで記録したローカル座標３０４が移動した場合、記録した点の座標空間３０１上の位置は変化する。このような場合、物体３０２全体を平行移動して、記録しておいた座標空間３０１上の位置に一致させる。
【００２６】
これによって最も低い位置にある、接地していると見なせる位置が変化しないので、足が滑べっているように見えることはなくなる。
【００２７】
図４は請求項３における実施例の説明図である。単純な形状データの場合、形状全体を変形させてアニメーションを行なうことがある。このような場合、通常は地面との同期を考えて変形するので地面との同期の問題は起こらないのが普通である。
【００２８】
しかし、形状全体に対してさらに全体を傾かせたり、引き延ばしたりするような効果をかける場合が稀にあり、そのような場合にはやはり足と地面との間の滑べりの問題が発生する。
【００２９】
４０３は物体４０２に属する全ての形状データの構成要素のうち、座標空間４０１の座標において位置が最も下にある点である。図４のような座標空間の場合、最もＹ座標の値が小さい点である。座標空間４０１中でのこの点の位置と、形状データ中のどの構成要素のどの位置であるのかという情報を記録しておく。
【００３０】
次のフレームで記録した形状データ中の構成要素の記録した位置の座標空間４０１での位置が変化した場合、物体４０２全体を平行移動して、記録しておいた座標空間４０１上の位置に一致させる。
【００３１】
これによって最も低い位置にある、接地していると見なせる位置が変化しないので、足が滑べっているように見えることはなくなる。
【００３２】
【発明の効果】
以上のように本発明によれば骨格の長さを変えたり、ローカル座標間の関係をずらせたり、形状データそのものを変形したりした場合においても足と地面との同期を取り、滑べっているような状態を排除することができ、実用的効果は大きい。
【００３３】
なお、記録した位置と一致させるのに平行移動させる作業を水平面に平行な方向の平行移動のみに限定し、上下方向の変動はそのままにしておくという方法をとった場合に、より良い効果が得られる場合も多い。
【図面の簡単な説明】
【図１】本発明の請求項１の実施例における説明図
【図２】同実施例における図１の物体の最も低い位置にある点の回りの拡大図
【図３】本発明の請求項２の実施例における説明図
【図４】本発明の請求項３の実施例における説明図
【符号の説明】
１０１  三次元座標ＸＹＺ
１０２  骨格構造およびそれにつれて動作する形状データで構成される物体
１０３  骨格
１０４  骨格をつなぐ関節
１０５  骨格につれて動く形状データ
１０６  一番低い場所にある位置
２０１  骨格
２０２  骨格につれて動く形状データ
２０３  関節
２０４  一番低い場所にある位置
２１１  骨格
２１２  骨格につれて動く形状データ
２１３  関節
２１４  ２０４が次のフレームで移動してしまった様子
２１５  骨格につれて動く形状データのフレームでの位置
２１６  一番低い場所にある位置の前のフレームでの位置
２２１  骨格
２２２  骨格につれて動く形状データ
２２３  関節
２２４  一番低い場所にある位置
２２５  骨格につれて動く形状データのフレームでの位置
【図１】
0003700235.tif 000002
【図２】
0003700235.tif 000003
【図３】
0003700235.tif 000004
【図４】
0003700235.tif 000005