イベント
[CEDEC 2011]リアルな動きを無限に作り出す,機械学習&データ駆動によるプロシージャルアニメーションの試み
さらにこの講演の演題には「プロシージャルアニメーション」以外に「データ駆動」というキーワードが含まれていることに注目したい(それ以外にも「機械学習」の意で「学ぶ」という単語が使われているらしいのだが,それはちょっとこじつけっぽい)。
近年では,ゲームに登場するキャラクターモデリングは高精細化しており,動きにもいっそうのリアルさが求められるようになっている。かなり前からリアルなキャラクターにモーションキャプチャや物理演算でのラグドールの動きを重ねるというのが一般的になっているのだが,モーションキャプチャの動きは,決められた動きを取り込んだだけなので自由度がない。こういった問題を解決するには,あらゆるモーションをキャプチャしておく必要があるのだが,それは,およそ現実的ではないという。
では,どうするか? 従来は「職人技」でなんとかされていた分野だが,もっと科学的なアプローチはできないのだろうか? じゃあ,アニメーションを自動生成してやろうじゃないかというのがプロシージャルアニメーションのアプローチであり,今回紹介された手法は,その中でも,多くの動きを入力しておき,それをもとに,そこにないような動きにでも対応してアニメーションを生成できるようなシステムを作ろうというものである。
講演の冒頭では,今回の手法を用いたにボクサーのデモが紹介された。これは,空間上の任意の点に対してパンチを出すというアニメーションを自動生成するものとなっている。どんな点を指定しても,不自然さを感じさせずに,そこをパンチするアニメーションが生成されていた。
これは,あらかじめいくつかの点を叩くようなアニメーションをモーションキャプチャしておき,それらから合成された動きとなっているという。
向井氏によると,人間の動きというのは,まだまだ解明されていない部分が多く,数式やパラメータだけで自然な動きを作り出すのが難しいとのこと。そこで,実際の人間の動きを多数入力しておいて,特徴的な動き成分を取り出して合成してやろうというのが,今回の講演の趣旨となっている。
次に向井氏は,プロシージャル技術へのアプローチを手続き型とデータ駆動型に分類した(英語にするとややこしそうだが)。どちらも目指すところは同じで,ともにデータも手続きも使用するのだが出発点が違うものだという。
手続き型プロシージャルの例でいうと,パーリンノイズをもとに,いろんなテクスチャを自動生成するようなものが相当する。それに対し,写真をもとに連続したテクスチャを自動生成するWan's Tileのようなアルゴリズムはデータ駆動型だ。シンセサイザでいうと,サイン波を変調していくFM音源は手続き型であり,サンプリング音源や初音ミクなどはデータ駆動型ということになる。
さて,大量のデータをどうするのかというあたりで,重要なのが機械学習という概念だ。これは,いろんな動きのデータを入れてみて,その中で特徴的な部分から,制御用に適当なパラメータを自動的に抜き出してもらおうというものである。
代表的な手法に,主成分分析(PCA)というものがある。データから相関性の高そうな部分を抽出してくれる手法だと思っておけばよいだろう。アニメーションデータに,PCAを適用すると,72DoF(自由度)を持ったキャラクターモデルが走るアニメーションパターンを,8個のパラメータで近似することができたという。人が走るときには,右手が前に出るときには,左手が後ろに行き,右足も後ろに下がる。動きの相関が高い部分が多いと,それだけ特徴をまとめやすくなる。8パラメータに削られた動きと,元の動きを見ると,確かに同じではないのだが,データ量や計算量などを考えると素晴らしい圧縮ができているといえるだろう。これで,膨大なデータが圧縮され,より少ないパラメータで動きを再現することができるようになったということが重要である。
その際に,具体的にすでにあるアニメーションパターンから,どのような手法で新しいアニメーションパターンを合成するかについては,パラメトリック回帰,リニア補間やスプライン補間などいくつかの手法がある。今回紹介されたデモで使われていたのは,確率論による方法だそうだ。スクウェア・エニックス独自の方式のようである。
実際に,PCAによって圧縮されたモーションデータやパラメトリック合成されたデータなどを使ったアニメーションを動作させると,どれくらいの負荷になるのかというのが,下の図のように示された。ムラはあるがオリジナルより軽いというのもメリットになりそうだ。
人手で作るには大変すぎ,モーションキャプチャだとカバーしきれない,そういった多彩な動きを実現させることは,今後のゲームでは当たり前のように要求されてくる。
今回のCEDECで講演がいくつもされていたのを見ても分かるように,プロシージャルアニメーションへの期待には大きなものがあるといえる。
業界的に見ると,すでにAutodeskの「HumanIK」やNaturalMotionの「Morpheme」ようなプロシージャルアニメーションのミドルウェアが存在しており,それなりに重宝されているのは事実だろう。しかし「Uncharted」などを作っているNaughty Dogは自前でやっているということだったし,この分野での第一線の研究者がCrytekやBungieに入社しているという事実を見ても,この分野は競争が激しく,まだまだ研究が必要なのだろうと感じさせられる。
- この記事のURL:
キーワード