CEDEC 2011レポート

物理シムとアニメーションシステムの融合がもたらす世界
ユークスの格闘シリーズで実現した最先端の運動表現に迫る


9月6~8日 開催

会場:パシフィコ横浜


 コンピューターゲームの映像表現において、近年ますます重要度が高まっているアニメーションシステム。絵的なリアルさが増すほどに、動きのリアルさにも高い説得力が求められることがその理由だが、様々なジャンルのゲームが存在する中で、特に顕著な進化を遂げているのが格闘系スポーツゲームにおけるアニメーションシステムだ。

 レスラー達の肉体の躍動、総合格闘士たちの技の絡み合い。「WWE SmackDown!」シリーズ、「UFC Undisputed」シリーズといった、全世界で大人気の格闘ゲームを開発するユークスでは、物理処理を基礎とする先進的なアニメーションシステムを開発し、実戦投入している。本稿ではその内実と、最先端のアニメーションシステムの実現についての知見をご紹介したい。




■ 物理エンジンをベースとする運動力学的なアニメーションシステム

YUKE'S LA、シニアテクニカルディレクターの上野浩樹氏
ワイヤフレームで可視化された選手同士の接触状態
ラグドールとして選手の体を表現する

 「ユークスにおける物理処理とアニメーションの融合における取り組み」と題されたセッションで、最新格闘ゲームで使用されたアニメーションシステムについての紹介を行なったのは、ユークスの米国法人YUKE'S LA Incにてシニアテクニカルディレクターを務める上野浩樹氏だ。

 上野氏が技術面で支えてきた「WWE SmackDown!」、「UFC Undisputed」の各シリーズは、日本よりも海外で売れまくっているという、日本のゲームデベロッパーによる作品としては非常に珍しい存在だ。「WWE」はシリーズ12作で累計5,100万本、「UFC」の初回作のみで400万本というから、スポーツゲームとして世界的なブランド力があると言える。

 そんな格闘ゲームシリーズを実現する上で、上野氏が繰り返し放った言葉は「キャラクター同士が決して重なり合わないようにしたかった」ということ。プロレスや総合格闘技ではキャラクター同士が技の掛け合いなどで頻繁に組み付き、緊密に接触するため、従来のような「決められたパターンを再生するだけのアニメーションシステム」では、どうしても各部位の重なりが生じてしまう。

 しかも2体のキャラクターは画面内で非常にクローズアップされるため、映像的なごまかしはほとんど効かず、抜本的な解決のためには厳密な衝突判定とアニメーションの補正が必要だ。それゆえ、物理処理とアニメーションシステムを完璧に融合する必要があったというわけである。

 そこでユークスが採用したのが、物理エンジン「Havok」。キャラクターをラグドールとして制御するという英断を下した。通常、ラグドールはFPS系タイトルなどで、死亡時に力なく倒れる、爆風で吹き飛ぶといった「受動的な動き」を表現するために使用されることが多いが、ユークスの格闘ゲームではラグドールに能動的なアニメーションをさせているという点がポイントだ。

 具体的には、「Havok Animation」ソリューションに含まれる2種類のラグドール制御システムのうち、「Ragdoll Rigid Body Controller」という仕組みを使っている。キャラクターを構成する各剛体の関節などに対して物理運動量を加えて、既存のキーフレームアニメーションの動きをなぞらせる、という制御を行なうものだ。人間が筋肉に力を入れて目的の姿勢をとる、と同じ事をゲーム内でやっていると考えれば、近いイメージとなる。生体運動力学的なアプローチと言えるだろう。

 この方式では、キーフレームアニメーションのデータから与えられる姿勢は絶対のものではなく、障害物との接触により適切に姿勢を変化できるようになる。総合格闘技における寝技などで、キャラクターのパーツ同士が埋まってしまうようなことが原理的になくなるというわけだ。また、総合格闘技で頻出する「掴み」の動きに、物理オブジェクト同士を結合するコンストレイント処理を適用するなど、様々な側面で物理処理が役に立っている。


「掴み」動作を物理オブジェクトの固定結合処理で実現している。左のファイターの右手に注目。これなくては相手の動きによって手が外れてしまうこともある



■ 生き生きとした動きを実現するために組み込まれた各種の「技」

狙った動きを実現するために、自分の身体部位とのコリジョンを一部無効にするといったトゥウィークも行なっている
ラグドール制御のパラメータを細かく制御することで説得力のある動きを実現

 とはいえ、「Havok Animation」のラグドール制御でアニメーションを構築しただけでゲームができてしまうほど現実は甘くない。生き生きとしたキャラクターの動作を実現するため、物理処理で発生する様々な不都合を打ち消しつつ、多様な動きを実現するための職人芸的な仕組みにも注目したい。

 物理処理の問題のひとつは、各関節に設定された可動範囲の制限により、期待通りにアニメーションが再生されないという点だ。これについては、アニメーションの再生時に、ターゲットとなる姿勢を取るために「一時的に可動範囲を広げる」という処理を組み込むなどで解決している。永続的に可動範囲を広げないのは、力が入っていない状態で不自然な姿勢にならなようにするためだ。

 また、状況に応じてリアルな反応を得るため、ラグドール制御のパラメータを非常に細かく制御している。例えば、相手の攻撃がヒットした際に、衝撃を受けた部位を中心に「脱力」させて、リアルな「やられモーション」を物理的に実現するといった塩梅だ。これについては、キャラクターの各部位を敢えて極端に「脱力」させたデモが披露された。上半身が完全に脱力した状態ではありえない姿勢で歩きまわるなど、シュールすぎる動きに会場は爆笑。


各部位をわざと「脱力」させた状態でのデモ。上半身全体を脱力させるとこうなる。ラグドール制御アニメーションの効果がよくわかっておもしろい


物理処理ならではの「ひっかかり」を解消するための複数のアプローチ
多くのアニメーションパターンを同時並列的に用い、ブレンドすることで実際の選手の動きが出来上がっている

 また、厳密な衝突判定を行なうことで発生する副作用への対処もある。例えば、相手の頭を掴む動きをする際、手先が相手の体にひっかかって目的の動作とならない場合など。そういった場合、一旦「手を引いてもう1度掴みに行く」という修正モーションを挟むことで、実際の選手のような動きを実現している。

 これに加えて複数のアニメーションをブレンドすることで、最終的な選手の動きが生成されている。その最新版は、上野氏が「フィジックベースド アニメーションブレンディング」と呼ぶ技術だ。ラグドールの制御は各部位に力を加えることで動作を実現しているが、原理上、複数の力を合成することで複数のアニメーションをブレンドできる。これにより、「キックモーション中にパンチを喰らい、ダウンしつつ蹴り足が力なく空を切る」といった動きが自然に実現されているわけだ。

 こういった、物理処理をアニメーションの基盤として使う方法は、当然ながら処理負荷が非常に高い。そのため実際のゲームでは、基準となるアニメーションの再生、IKでのポーズ補正、ラグドールの速度更新、物理シミュレーション、布シミュレーション、そして描画という一連の処理を時間分散化し、3フレームに分けて実施しているという。こういった最適化部分にも職人芸的な技術が用いられていることが見て取れる。

 こうして作られたユークスの最新アニメーションシステムは、複数のキャラクターがぶつかり合うリアルな動きを表現する上でほとんど最終形に近いものに仕上がっているのではないだろうか。

 ユークスのライバルであるEA Sportsブランドでも、物理処理をアニメーションに適用する試みが進んでいる。最新のFPSタイトル「Battlefield 3」でサッカーゲーム「FIFA」シリーズのアニメーションシステムが応用されたように、スポーツゲームで異次元レベルに進化したアニメーションシステムは、今後他のジャンルで使われるケースが増えてくるだろう。そういった意味で、「WWE SmackDown!」、「UFC Undisputed」シリーズをプレイすれば、ゲームにおけるアニメーションの未来が見られる、そんな楽しみ方もあるのではないだろうか。


フィジックベースドアニメーションブレンディングの例。ダウンしながらも、攻撃中の動きの勢いが残っている
IKベースのターゲッティング処理も組み込まれており、ひとつの攻撃モーションで幅広い範囲への正確な攻撃モーションを実現している


(2011年9月6日)

[Reported by 佐藤カフジ]