『FF7リメイク』各キャラの眼や口の動きを自動生成した技術とは?

ボイスの音量、感情の解析から自動生成する方法

例えばエアリスのリップをクラウドのボイスで再生しても壊れない。

 次は口の動きについて解説。スクエニのテクノロジー推進部が開発している自動リップシンクシステムのHappySadFaceは、音声とテキストから専用フォーマットに出力し、MayaとUE4でリップアニメーションを再生するというものだ(今回は英語、日本語、フランス語、ドイツ語の4言語に対応)。

 タイムラインデータがシンプルなテキストデータとなっており、全体的に滑らかにするために、一括フィルタリングのようなことも可能。ボイスから音素を抽出して、形状データのインデックスをタイムライン化している。形状データは各キャラクターごとに持たせているため、どのキャラクターで再生しても、壊れることがない。

動いているがボイスと合っていないというのは、目視で確認する必要があるため確認コストが高い。

 音素に対する形状の対応表は、言語ごとに作成している。感情によって表情が変化するのに合わせ、形状データのプリセットも差し替えるようにした(本作では通常時と怒りと笑いの3つの形状を用意し、感情によって使い分けている)。

 ただ、ボイス内にあると想定する音素のリストがテキストの内容に依存しているため、テキストが間違っていたり、アドリブボイスが頭に入っていたりすると、制度が落ちてしまう問題がある(今後はテキストに依存しないフローや、解析精度を上げていく取り組みを行っていきたい)。

今までリアルタイムイベントのキャラクターの感情は手動で行っていた。

 合わせてボイスの音量からアニメーションを生成する方法も解説。眉のアニメーションは、眉を上げた状態のポーズモーションを用意してブレンド率に応じて加算、上体を前後させたり頭や首を捻ったりするアニメーションは、IKコントロールリグでプリセットとして定義して加算している(後者の再生は、再生時にランダムで決定)。

 ボイスから表情のアニメーション生成をする場合には、リアルタイム動作が可能な感情解析モジュールのST Emotionを利用した。ボイスから喜び・怒り・悲しみ・平常・興奮といった5つの感情を10段階で検出でき、感情パラメーターの変化に合わせて各種の表情ポーズをブレンドする。

感情パラメーターの変化に合わせて、円環モデルの中でサンプリングする位置が変わる。怒りの時は他の感情よりも速く変化するなど、感情によって微妙に調整。

 その感情パラメーターは1ボイス単位ではなく、タイムラインデータになるため、1つのボイスの中でも表情を変化させることができる。精度はキャラクターによって多少異なっているものの、キャラクター単位でカスタムすれば、より精度が上がるのではないか。今回は解析するための音声ファイルの数もそこまでなかったので、特にカスタムせずにそのまま解析をかけた。感情パラメーターはUE4で簡単に調整を可能にして、自動生成後に気になる箇所は手動で調整している。

■真狩祐志
東京国際アニメフェア2010シンポジウム「個人発アニメーションの15年史/相互越境による新たな視点」(企画)、「激変!アニメーション環境 平成30年史+1」(著書)など。

CEDEC2020
『FINAL FANTASY VII REMAKE』におけるキャラクターアニメーション技術
『FINAL FANTASY VII REMAKE』

関連記事