内容梗概
[English | 論文 | 美濃研の研究 | 美濃研究室 ]


時間指定可能なスクリプトによるCG歩行動作生成法


近年、3DCGへの関心が高まっており、一般の人でも3DCGアニメーションを作成出来る環境が整いつつある。CGアニメーションのコンテンツを作成する際には、3Dアニメーションツールを使うが、現在の一般的なツールでは、登場人物や照明、カメラなどの動きを細かく指定する必要があり、現状では取り扱いにかなり知識や熟練を要し、手間がかかるため、だれもが手軽に使えるとは言い難い。

一方、CGアニメーションを記述するためのスクリプト言語を用意し、システムがこのスクリプトを基にCGアニメーションを自動生成するという方法でCGコンテンツの製作環境を提供しているものがある。このようなスクリプト言語を用いたツールを用いる場合、ユーザはCGアニメーションをイベントの系列としてスクリプトに記述するだけで良い。

CGアニメーションにおける登場人物の動きやカメラワークは同時に進行し、かつ相互に影響を及ぼし合うことがある。また、CGアニメーションにはアニメーションカットやアニメーション全体に対し、時間長の制限が設けられることが多い。そのため、複数のイベントの並列実行や同期、アニメーションの長さを表現できるような書式のスクリプトが必要である。

しかし、従来のスクリプトによる3DCGアニメーションでは、イベントに対して時間長の指定ができず、そのためにイベントの同期やタイムスケジューリングが困難であった。

これに対し、本研究では個々のイベントに対して明示的に時間指定ができるようなスクリプトを採用する。スクリプトにおいてイベントに与える時間長を指定することで、イベントの開始時刻を一致させることができ、同期が可能となる。また、アニメーション全体の時間長もスクリプトを記述した段階で知る事ができるため、時間配分のスケジューリングにも対応できる。

ここで問題となるのが、スクリプトに指定された時間に忠実に従うCGアニメーションを自動生成する方法である。

そこで本研究ではイベントの中で使用頻度が高く、全身を使うなど単一のイベントとして最も複雑なものの一つである人物の歩行動作をとりあげ、時間指定可能なスクリプトから歩行動作のアニメーションを生成する手法を提案する。

スクリプトから歩行動作における各時点での人体モデルの関節角度を直接計算しようとすると、そのためのモデルの定式化が時間の制御の必要性から複雑になるという問題がある。そこで我々は一歩ごとの着地点座標と着地時刻及び着地時間長を規定するフットプリント表現を歩行動作の中間表現として利用し、この計算をスクリプトからのフットプリント表現の生成、フットプリント表現からの(全身の)重心軌跡の推定、フットプリント表現と重心軌跡からの関節角度の決定の3つのステップに分け、歩行動作アニメーションを生成する。1つ目の、スクリプトからのフットプリント表現の生成では、局所的な歩行速度をもとにそのときの歩幅や股の開き等を推定する数式モデルを利用して、一歩ごとの時間長と歩幅の配分を決定する方法をとる。2つ目のフットプリント表現からの重心軌跡の推定では、脚の着地の状態によって決まる3つの運動方程式に基づく力学的制約と、膝の曲げに関する制約からの逸脱を最小とするように重心の軌跡を推定する。3つ目のフットプリント表現と重心軌跡からの関節角度の決定では、適当な仮定に基づいて各時点において脚全体の載る平面を定め、重心位置と足の位置からそれぞれ相対的に決まる太股の付根の関節と足首の関節の座標を求め、下半身の関節角度を逆運動学的に決定する。

最後に、本手法により時間指定に従う歩行アニメーションが生成できることを確かめるため実験を行い、複数のスクリプトをシステムに入力し、それぞれに対し指定した時間に忠実に従う歩行アニメーション出力を得た。この実験により、時間指定スクリプトによってアニメーションの時間が制御できることを確認した。


学位論文のページに戻る