オンライン上で9月2日~4日にわたって開催の「CEDEC2020」。ここでは、9月2日に行われたセッション「FINAL FANTASY VII REMAKEにおけるキャラクターアニメーション技術」の内容をお届けする。
スクウェア・エニックスの原 龍氏、岩澤 晃氏が登壇した本セッションでは、「ファイナルファンタジーVII リメイク」(以下、「FFVIIリメイク」) で使用されたキャラクターアニメーション技術について取り上げた。
「FFVIIリメイク」内の、大量のフィールドイベント/バトルアクションの中で、どのようにクオリティラインと自動生成のバランスを取ったのか。ボディアニメーションはもちろんのこと、フェイシャルアニメーションについても解説されたので、少々技術的な内容にはなるものの、「FFVIIリメイク」を遊んだプレイヤーにはぜひ読んでもらいたい。
「FFVIIリメイク」のアニメーションの全体像
まずは「FFVIIリメイク」のアニメーションシステムの全体像が紹介された。これらのアニメーションには特に目新しい技術は使用しておらず、基本的にはこれまでに発表されてきた技術の組み合わせとのことだ。
「FFVIIリメイク」ではモーション遷移タイミングはゲームプレイ側で比較的自由に扱えるようにしつつ、アクション同士のつながりが破綻しないよう、補間ロジックで速度の連続性(慣性)を再現した。
「慣性補間」は、従来のクロスフェードによるアニメーションとは異なり、直前のポーズのデータを見てアニメーションを生成するというもの。CPU負荷は抑えられるが、逆にメモリの使用量は増える。この慣性補間については、Unreal Engine4.24から標準機能になった。
![]() |
![]() |
![]() |
![]() |
クラウドのコンボの入力タイミングが通常、早い、遅めのいずれでも綺麗につながっている比較動画。 ユーザーによって入力速度が違っていても、画面の中のキャラクターのアニメーションは違和感なく保たれている。 |
|
![]() |
![]() |
![]() |
![]() |
躍度最小モデルを使用し、自然なブレンドを実現可能に。また、慣性補間のアルゴリズムも公開。 |
遷移先モーションの候補が複数ある場合は、ポーズ比較による自動選出が行われている(Pose Matching)。遷移先モーションはキャラクターごとに追加指定が可能。またポーズ比較は全てのボーンで比較するのではなく、例えば二足歩行の場合ならば下半身の基本骨、といった具合にセットアップ時に対象のボーンを指定している。
慣性補間は補間前後のポーズ差分が少なければ、ブレンド時間を長くしても違和感にならないため、デフォルトのブレンド時間を長めに設定してあるという。
また、移動入力補正はコントローラやAIからの入力に対して、ボーン単位で回転補正を設定。プレビュー環境でキャラクターを動かしながら、リアルタイム編集が可能となっている。
次は、様々なアニメーションのポストプロセスについて紹介。ずらりと並ぶこれらの技術が合わさることで、「FFVIIリメイク」では複雑なアニメーションを実行している。
「Look At」は、主に顔の向き。ボーン毎に重みや角速度の設定が可能。また、注視する場所を設定する「Aim」や、手の動きを管理する「Hand IK」、足のモーションを管理する「Foot IK」、傾斜角にあわせてボーンの補正を行う「Balance」など、これらが合わさることで、より自然な動きを表現している。
特に「Foot IK」では地面の凹凸を検出して位置変更を行ったり、腰の高さも変更が出来る。バトル中のガード歩き時は通常のモーションを使いつつ、重心を落とすために腰位置を10cm下げて再生しているそうだ。
「BodyDriver」はテクノロジー推進部が開発している物理アニメーションシステムで、一部のキャラクターの死亡演出に使用されており、ヒット位置を手で押さえたり、歩きながら倒れるなどの演出を、ランタイムで生成して再生する。
「物理拘束補正」では身体のねじれの補正を行い、ダメージリアクションなどにも併用しており、負荷が少ないことから簡易的な背景物にも使用しているという。
「KineDriver」と「Bonamik」もテクノロジー推進部が開発しているシステムで、KineDriverはオンにすることでねじれた骨の歪みなどが補正され、Bonamikはキャラクターの揺れるもの全般に使用されている。
ゲームエンジン上でコントロールリグが必要か、という点については、ランタイムで補正および調整作業ができるというのが重要だという。
専用のプレビュー環境を用意しても、ゲームを動かしながらパラメータ調整をしたいことはあり、環境の変化で結果が変わるものについてはゲームエンジン内のコントロールリグで対応したほうが調整が早いとのことだ。
フェイシャルアニメーションはセリフから表情を生成
一方で、フェイシャルアニメーションについては、新たに取り組んだことが多いという。特にキャラクターの眼の周りは非常に設定項目が多く、視線の動き以外に上下左右の眼球運動、まばたき、視線をそらすといったアニメーションにもこだわりがあり、リアルな人間の動きや心理が再現されるようになっている。
![]() |
![]() |
「Saccade(サッカード)」は、眼球運動のこと。そこに「Look At(見る)」、 更に「Micro Saccade(より細かな眼球運動)」、「Gaze diversion(視線そらし)」、 「Blink(まばたき)」と重ねられて、クラウドの表情に徐々に人間らしさが宿ってゆく。 |
また、「FFVIIリメイク」ではボイスの音量などからアニメーションが自動生成されている。こちらの技術についての詳細は、後述する。
さらに、「FFVIIリメイク」は日本語、英語、フランス語、ドイツ語で発売されているが、音声データとテキストデータを参照し、各言語にあわせて同じ場面ながら異なるリップシンクを自動で行っている。
ただし、ボイス内にあると想定する音素についてはテキストの内容に依存するので、テキストが間違っていたり、セリフの冒頭にアドリブボイスが入っている場合は極端に精度が落ちるという課題もあるそうだ。
また、リップがきちんと動いていないことについてはエラーチェッカーでのチェックが可能だが、動いているのにセリフと合っていないという場合は目視で確認するしかないため、コストが高くなってしまうという。
Saccadeでは、眼球は短い時間で移動と停止を繰り返す。また、一度に移動する角度に制限があったり、視線を向けた状態で対象物がゆっくりと移動する場合にのみリニアに動いたり、更にはMicro Saccadeで視線が動かない時でも眼球が止まることのない、本来の人間らしい眼球の動きを再現している。
まばたきや視線そらしはあえてランダムに発生させており、まばたきはしっかりまぶたを閉じるのではなく軽く目を閉じるくらいのモーションと完全に閉じたまばたきとがあり、完全に閉じた時のまばたきが発生した場合は、眼球の移動角度制限を無視することが出来る。
「HappySadFace(自動リップシンク)」は、ボイスから音素を抽出して、自動でリップシンクを行っている、注目の機能。
さらに、ボイスが大きいと眉を上げるアニメーション、ボイスの音量に応じて上体を前後させたり頭やあごをひねるアニメーション、ボイスから感情を推定して感情パラメータの変化にあわせて各種表情ポーズをブレンドしたり、というさまざまな技術が集約されている。
こういった細かいアニメーションの設定が全て合わさることで、「FFVIIリメイク」ではより人間らしさを持ったキャラクターたちが常に拝めるのだ。
なお表情パターンはラッセルの感情円環モデルを参考にして、全8種の表情を全キャラクターにセットアップ。感情パラメータの変化にあわせて円環モデルの中でサンプリングする位置が変わり、硬さをなくすためにブレンドカーブを使用してサンプリングする位置を調整している。
ボイスから感情値を読み取るのに使用している「ST Emotion SDK」は、「喜び」「怒り」「悲しみ」「平常」「興奮」という5つの感情起伏を10段階で検出するモジュールで、ゲーム分野での技術協力は「FFVIIリメイク」が初となるが、これまでに数々のサービスで採用されてきた実績があり、信頼性は非常に高いという。
ただ、バレットは全体的に声が大きいので怒りの判定をされてしまったり、子供の声は高いため喜びの判定をされてしまったりすることもあったそうだ。
本セッションは、以上で終了となった。冒頭でも語られた通り、「FFVIIリメイク」のアニメーションは既にあった技術と、新たなフェイシャルアニメーションとの組み合わせで、作成されている。それによってリアルさを追求しつつ、人間では行わない動作のアニメーションを違和感なく各キャラクターに行わせることが出来ている。
これらの自動生成により、カットシーンなどに一層時間を割くことが可能になり、ハイクオリティな作品をユーザーに届けることが叶ったのではないだろうか。
このセッションの内容を見て「FFVIIリメイク」に興味を持った人はもちろんのこと、これまでに遊んだプレイヤーも、ぜひ改めて「FFVIIリメイク」の中でこれらのアニメーション技術に注目して、遊んでみてほしい。
(C) 1997, 2020 SQUARE ENIX CO., LTD. All Rights Reserved.
CHARACTER DESIGN: TETSUYA NOMURA/ROBERTO FERRARI
LOGO ILLUSTRATION: (C) 1997 YOSHITAKA AMANO
コメントを投稿する
この記事に関する意見や疑問などコメントを投稿してください。コメントポリシー