CEDEC 2011レポート

NaturalMotionが提案する「知性あるプロシージャルアニメーション」
最新ゲームのアニメーション表現を支える先端ミドルウェア機能とは?


9月6~8日 開催

会場:パシフィコ横浜


 リアルな映像にはリアルな動きが求められる中、アニメーション技術を専門とするミドルウェアの存在感が増してきている。その代表的な例が、米国のミドルウェア企業NaturalMotionが提供するアニメーションオーサリングツール「morpheme」および「euphoria」だ。

 「morpheme」は単にゲームキャラクターに付けるアニメーションの生産性を向上させるだけでなく、その表現力を底上げするツール。また「euphoria」はさらに進んだ「知性あるプロシージャルアニメーション」を実現するアニメーションエンジンだ。

 これらのツールおよびエンジンは「Grand Theft Auto IV」、「Red Dead Redemption」、「Star Wars: The Force Unleashed」、「Empire: Total War」など錚々たるゲームタイトルで活用されており、最新ゲームにおけるアニメーションシステムの技術的水準をある意味で定義する存在となっている。




■ 現代的なゲームアニメーションの制作を加速するビジュアルオーサリング環境

NaturalMotionのサイモン・マック氏
「morpheme」によるモーションブレンディングの様子
移動モーションをブレンドしつつ、上半身の向きをパラメトリックに制御する

 NaturalMotionは、物理処理とアニメーション処理を高度に融合させたアメフトゲーム「Backbreaker」を自ら2010年に発売しつつ、アニメーション専門ミドルウェアを多数の有名企業に提供しているというハイブリッド型のデベロッパーだ。

 「プロシージャルアニメーションの未来と使い方」と題し、「morpheme」、「euphoria」についての紹介を行なったのはNaturalMotionのサイモン・マック氏。マック氏は、NaturalMotionが提供するプロシージャルアニメーション技術を、「データ駆動アニメーションエンジン」と定義し、その上でモーションブレンディング、IKシステム、物理シミュレーション、そして知性的反応といったカテゴリに分けて機能を説明した。

 まずアニメーションオーサリングツールである「morpheme」は、従来的なアニメーション再生の仕組みを大幅に使いやすくし、生産性の向上を狙ったものだ。基本的には、アニメーションパターンの遷移制御、及びモーションブレンディングの技術が根幹となっている。例えば、複数のアニメーションパターン(立ち姿勢、歩く、走る、撃つなど)をパラメーターによる重み付けをしつつブレンドすることで、滑らかで多用な動きをランタイムで生み出すことができる。

 具体的例を挙げよう。移動速度というパラメータがあり、その値に応じて歩く、走るというモーションが割り当てられているとする。速度パラメータが中間の位置にあるときは、自動的に歩く、走るの中間的なモーションがブレンド生成されるという格好だ。これにより、少しのアニメーションパターンを制作するだけで、膨大な動きを生み出すことができる。

 また、体の特定部位だけにアニメーションを適用したり(例えば武器を構える上半身の動き)、パラメータで位置を指定して、顔や体がその方向を向くような動きを加えることもできる。「GTA IV」のような客観視点ゲームで、銃を持って走りながらターゲットを狙うような動きがこれによって簡単に実現できるわけだ。

 これだけなら、従来のゲームでも実現できていた技術だ。しかし、「morpheme」ではこういったアニメーションの遷移、ブレンドの制御が一種のビジュアルプログラミング環境で一貫編集できることが大きなポイントとなっている。ビジュアル開発環境で任意のアニメーションパターンを配置し、その関係性を定義することで様々な応用が可能で、アニメーションデータの再利用や、開発の効率化を強力に支援するものになっている。

 リグ構成の異なるキャラクターに同一のアニメーションデータを適用する機能(リターゲッティング)も備えている。これを用いれば、体型・体格、あるいは骨格が異なるキャラクターに既存のアニメーションを適用でき、アニメーションデータの再利用率を大幅に上げることができる。

 会場では、馬のアニメーションを人間に適用するという無茶なデモも行なわれ、その中でリターゲッティング時の重み付けなどもビジュアル環境で簡単に編集できることが示された。さすがに、絵的にこれはちょっとどうかという動きとなっていたが、応用可能性の広さを感じさせるには十分だ。

 現在のゲーム開発シーンでは、複雑化する一方の開発プロセスや、それにともなって長大化する時間的・金銭的コストが問題となっており、アニメーション制作を大きく効率化する「morpheme」は、まさに格好のソリューション。数々のAAAタイトルで採用された経緯も頷ける内容だ。


最近のゲームでは必須となってきたプロシージャルなアニメーション技術を一般化、再利用性と編集効率の向上を目指したソリューションとなっている
リターゲッティング制御。リグ構成の異なるキャラクターに適用するとメチャメチャになってしまうアニメーションを、リアルタイムに適応させている
馬のアニメーションを人間にリターゲッティングしたデモはちょっとショッキング。手の長さが足りず中に浮いていたので、腰の曲げ角の適用度をツール上で調整して、余計シュールなことになっていた
不整地歩行用のIKソルバーをアニメーションネットワークグラフに追加しただけで、足が地面に埋まらないように制御されている



■ 物理シミュレーションと「知性的プロシージャルアニメーション」

キャラクターに物理属性を設定する

 NaturalMotionが提供するアニメーション技術は、単なる効率化の先に真骨頂がある。ひとつは、物理シミュレーションを活用したアニメーション生成、そしてより生物的な反応を自動生成できる「知性的プロシージャルアニメーション」の技術だ。

 前者は「morpheme」オーサリングツールの中に統合された機能となっている。ビジュアルツールの中で、キャラクターの体を構成する各パーツに物理的パラメータを設定すると、ラグドール的な制御が行なわれるようになる。この状態で物理オブジェクトに衝突すると、反動で体が押されたり、よじれたりする表現が自然に可能となる仕組みだ。スポーツ系のゲームで効果的に使用できる機能であろう。


物理ベースのアニメーションブレンディングの例。「SoftKeyFrame」を設定しておくと、接触時に体の各部位が反動を考慮した動きになる


押されたキャラクターが能動的に姿勢を維持しようとする。決め打ちのアニメーションパターンは直立状態のものしかない
別例「接触しそうなオブジェクトから身を守れ」という命令に従って手を使っている
プロシージャルに生成されるアニメーションなので、モデルが変わっても同じ制御が問題なく行われる

 そして後者の「知性的プロシージャルアニメーション」は、さらに複雑な自動制御をキャラクターに与える。こちらのオーサリングは別ツールの「euphoria」で行なうようになっており、そこでキャラクターに対しある種の「命令」を与えることで、複雑なアニメーションを実現する仕組みだ。

 最初の例として示されたのは、「直立姿勢を維持せよ」という命令を割り当てられたキャラクター。このキャラクターに対して物理運動量を与えて押す操作をすると、その反動でよろけそうになる。ラグドールなので、そのままであれば為す術もなく地面に倒れこむところ、うまく足の位置を変えつつ「トットット」と、バランスを維持するのだ。また、より強い力で押し倒されると、「倒れた状態」に遷移した後、四肢を駆使して起き上がる。

 このときのバランスを取る動き、起き上がる動きは、「直立姿勢を維持せよ」という命令に基づいて、「euphoria」のランタイムエンジンが生成したものだ。単純な物理ベースのプロシージャルアニメーションとは異なり、生体運動力学的なアプローチに基づいて、より能動的で、複雑な動きを実現しているところがポイントだ。決められたアニメーションパターンによって動きを作り出す方法では不可能だった表現を実現するだけのポテンシャルがある。

 応用例として「体が空中にあるときは、掴めそうな場所を掴む動きをせよ」という命令のデモが示された。キャラクターが地形のへりからジャンプして中空に躍り出ると、その先にある別の足場めがけて手を伸ばす。掴むことに成功すれば、へりにぶら下がって、落下しまいと奮闘する様子が見て取れた。勢いや角度のつき方によっては、人間臭く掴むことに失敗することもあった。その動きは驚くほどリアルだ。

 こういったプロシージャルアニメーションの技術を応用すれば、これまで見られなかったような、説得力のある動きをゲームの中で目にすることができるだろう。「Red Dead Redemption」のようなビッグタイトルでも活用されているとのことなので、プレーヤーの皆さんは1度、キャラクターの動きに着目してプレイされてみてはいかがだろうか。

 ちなみにNaturalMotion社のアニメーションエンジンは「Unreal Engine 3.0」や「Gamebryo Lightspeed」のような有名ゲームエンジンへのインテグレーション実績も豊富であるという。「Unity」にはまだ対応していないとのことだったが、需要に備えて積極的にインテグレーションを進めていきたいと、マック氏は語っていた。


「落ちないようにへりを掴め」という制御を与えられたキャラクター。ぶら下がって落ちないようにがんばる動きが能動的に生成されている。勢いがつきすぎていたり、どうやっても掴めない状況では、手を滑らせて落ちてしまうあたりがよくできている


(2011年9月7日)

[Reported by 佐藤カフジ]