ニュース

次世代アクション「For Honor」のアニメーション技術が次世代すぎる!

自然で多彩、反応も機敏な動きを生み出す“Motion Matching”とは何か?

3月14日~18日開催



会場:San Francisco Moscone Convention Center

「For Honor」

 Ubisoftが2016年内の発売を予定している「For Honor」は、MOBAライクな集団戦をベースに、ハイテンションなソードファイトアクションを組み合わせたマルチプレイゲームの意欲作。非常に緻密に描かれた戦場と、主人公である騎士・侍・バイキングたちが見せる重厚感たっぷりでかっこ良すぎるアクション。全体から次世代感をバリバリに漂わせている作品だ。

 特に目を引くのが、キャラクターアニメーションの自然さと応答性の高さだ。どの瞬間を切り取っても自然そのものの動きはゲームっぽさを感じさせず、それでいながら、プレーヤーの操作にこれ以上なく機敏に反応してくれる。

 GDC 2016では、Ubisoftによる講演「Motion Matching and Road To Next-Gen Animation」というセッションで本作の高度なアニメーションを実現したユニークなアルゴリズムとワークフローが解説された。説明を少し聞くだけで、ゲームのアニメーション技術は想像外の領域に踏み込んだな……と驚かずにはいられない内容だった。本稿でご紹介しよう。

【For Honor Gameplay - Multiplayer Walkthrough】

キャラ動作の自然な遷移を“力づく”で作り出す最新技術

Ubisoft、Simon Clavet氏
本作におけるアニメーションシステムの目標

 講演を行なったSimon Clavet氏は、Ubisoftで10年にわたってアニメーションプログラマーを務めてきた人物だ。

 「For Honor」では、リアルに描かれた戦士たちによる激しいソードファイトが発生するほか、広大な戦場を戦略的に動きまわるため、移動に費やされる時間も多い。そういった本作においてアニメーションシステムのゴールとして掲げられたのが「正確なゲームプレイ」、「説得力のあるアニメーション」という、実際に制作してみると相反することの多い2つの柱だ。

 まず結果から見てみると、本作では移動モーションだけを見てみても、あらゆる状況、あらゆる瞬間で、ゲームっぽさのない自然な動きが実現している。方向転換や加速・減速する動きのつながりも、複数のアニメーションを組み合わせているとは思えないほど自然だ。それでいてプレーヤーの操作にはクイックに反応し、ストレスのない正確なゲーム性を提供してくれるのである。

本作における移動アニメーション。姿勢変更や方向転換、勢いの変化などに完璧に対応し、ツナギ目の全く感じられない自然な動きが再生される。

従来のアニメーションシステムの問題点

自然な動きを実現するにはアニメーションクリップ間のツナギをユーザーの操作に合わせて柔軟に変化させる必要があるが、具体的にどうすればよいのか?
従来的なアニメーション遷移システムでは組み合わせの爆発が起きるため、大雑把にしか対応できない

 このように、説得力のある動きと、アクションゲームならではの応答性の双方を、「For Honor」で実現されているレベルまで高めるには、従来的な方法ではほとんど不可能だ。

 人の手でアニメーションクリップの遷移を設定していく限り、歩く・走る・止まる・方向転換をするといった各アクションのツナギ部分を、どうしても少数のパターンに絞らざるを得ない。キャラクターの現時点の状況と、プレーヤーの入力による変化を正確に再現しようとすれば、遷移の入り口と出口の数が莫大になり、人の手で網羅することが無理になる。

 このため従来のゲームでは、アニメーションのつなぎ目の部分でプログラム的に方向や勢いを補正し、動きを近似させるという手法が採られていた。このやり方の場合、どうしても足がきちんと地面についていなく、滑っているような動きが描写されてしまう。キャラクターアニメーションに見られるゲームっぽさの原因だ。

 「For Honor」ではこの問題を、非常に大胆な方法(それも次世代機でなければとても実現不可能な)で解決した。それが本公演で明かされた“Motion Matching”という手法だ。

走る→止まるだけのモーション制御でも、プレーヤーの入力に忠実に反応しつつ、本当に自然な動きを実現するためには多くの課題がある

膨大なモーションキャプチャデータをフレーム単位で総検索!

ものすごく簡単なアルゴリズム
1種類の動きを撮るため、似たような動きを5分間も続ける
30分の1秒に1度、次のアニメーション片が検索される
速度と姿勢について、いくつかの代表点を抽出してマッチングが行なわれる

 Clavet氏がみずから「馬鹿げているほどに力づくなアニメーションシステム」というこの手法、原理はびっくりするほど簡単だ。毎フレーム、全てのモーションキャプチャーデータを探索し、最適なフレームを見つけて、そこにアニメーションを遷移させるのである。

 例えば「疲れた状態で歩く」というモーションがある。ゲームで使われるのは、アクターがその動きを微妙に変化させながら5分間も繰り返したモーションデータだ。同じような動きでも手足の位置、腰の高さ、頭の方向などが微妙に違う、一連のモーションデータができあがる。

 これを複数のクリップに分割せず、ひとつなぎのままゲームで用いるというのがポイントだ。その5分間のアニメーションデータの中を、フレーム単位で探索し、求める動きに最も適した範囲に遷移し続けるのである。人の手でアニメーションの遷移図を作る必要は無し!

 候補となるアニメーションフレームは、次のような基準で選ばれるようになっている。

1.プレーヤーの入力から予測される移動曲線との適合度
2.キャラクターの現在の姿勢と勢い(足、頭、手の位置)への適合度
※高速化のため、各フレームには上記データを事前計算したパラメータが入力されている

 例えば「走りながら90度ターンする」という動きだけでも、モーションキャプチャデータの中には何パターンも存在する。その候補の中から、現在の姿勢に最も近いフレームが選ばれる。それがフレーム単位で繰り返されるので、ユーザーの入力にはこれ以上なく機敏に反応してくれるし、アニメーションのツナギ目も全くわからないわけだ。

いろいろなシチュエーションのモーションキャプチャーデータをひたすら撮り続ける。データは分割されずにそのままゲームに突っ込まれる
プレーヤーの入力を基準に向かうべき方向を予測し、それに近い移動方向・将来位置・将来姿勢を持つアニメーションを選択する

キャラクターアニメーション技術の革命児になる?

軌道予測でアニメーションマッチングの精度を向上させている
傾斜面での応用にも対応
本手法のメリットは、機敏に操作可能なハイクオリティのアニメーションを実現でき、さらに、手作業も減ること。いいことづくめ?

 この手法は従来のアニメーションシステムとは全く異なり、どのアニメーション片からどのアニメーション片へ遷移するのかは、このモーションマッチングによる結果論でしか語ることができない。キャプチャデータを作った人ですら、どのフレームからどのフレームに遷移するかは事前に予測できないほどだ。

 このあたりなんとなく、最近話題のディープラーニングに似ていて面白い。膨大なモーションデータを元に、新たな一連の動きが創発されるシステム。新たなもモーションを「学習」させれば、それに応じてアニメーションの精度が向上していく。

 だからこその弱点もある。「しゃがんだ状態で右スタンスで左に旋回しながら後ろに歩く」といった複雑な組み合わせも実現できるこのシステムだが、遷移図を手作業で作るものではないため、ゲームプレイ的に必要な動きを全て網羅できたかの確認が難しい。特定の操作の組み合わせなど、思わぬパターンで盲点(キャプチャデータの不足)が出てくることがある。その場合、あまりマッチしないフレームに遷移してしまい、動きの再現度がドカンと下がってしまうのである。

 そこで「For Honor」開発チームでは、ゲーム内の動きが不自然になるシチュエーションを毎度チェックし、毎週ごとに“穴埋め”のためのモーションキャプチャーセッションを実施。少しづつ盲点をなくしていきながら、ゲームの完成度を高め続けている。

 当然ながらこの手法を実行するための負荷は高い。大量のモーションデータを用いるためデータ容量が非常に巨大になり、最適フレーム探索のためのCPUパワーも必要と、完全に次世代機向きの技術だ。しかしこれは本当に革命的なゲーム用アニメーションシステムであることは間違いない。

 アクションのスムーズさとリアルさが命のゲーム「For Honor」。これほどの技術を投入してどのようなゲームが出来上がるだろうか。アクションゲーマーとして非常に楽しみだ。

(佐藤カフジ)