CESA Developers Conference 2010(CEDEC 2010)レポート

「Final Fantasy XIVのアニメーションワークフロー」講演レポート
ツールを使った自動化処理で、モーション作成のコストと時間を削減した手法とは?


8月31日~9月2日開催

会場:パシフィコ横浜



 「CEDEC2010」最終日には「FinalFantasy XIVのアニメーションワークフロー ~単純作業からの解放! よりクリエイティブな世界へ!~」というセッションをが行なわれた。講師はスクウェア・エニックスのリードテクニカルアーティストの鈴木健夫氏、リードアニメーターの市田真也氏の2人が講師を務めた。

 社内にはほかにもツールを作成する部署がある中、モーションセクション内に専用のツール班が設けられた理由や、「FF XIV」のギャザラーやクラフターのモーション作成に使われた実際のワークフロー、自動処理バッチツールを使った作業の効率化についての報告が行なわれた。




■ 「FF XIV」のキャラクターを動かすためのボーン構造

講師はスクウェア・エニックスのリードテクニカルアーティストの鈴木健夫氏
リードアニメーターの市田真也氏
「FF XIV」では全部で9タイプの種族用に18職分のモーションが作成された

 「ファイナルファンタジー XIV(FF XIV)」はスクウェア・エニックスの最新MMORPG。モーション作成に使用されているツールはSoftimageXSI 5.11と内製PS3用開発ツールのクリスタルツールズ。クリスタルツールズは「FF XIV」用に多くの拡張がなされている。モーションの作成は、初日に行なわれたキャラクターモデルの作成に関するセッションでの説明と同様、今後何年も戦っていける現時点でのトップクオリティと、ユーザーの要望に応えらえる豊富なバリエーションという言う目標のもとに作成された。

 「FF XIV」には、「FF XI」のキャラクターデザインを引き継いだ5つの種族がいる。モーションは種族の男女別に2種類ずつ作られたが、「ヒューラン」だけは、「ミッドランダー」の男女と「ハイランダー」の男性という3種類に分けられている。

 キャラクターに使われている骨は全部で134本。顔に21本、指は片手で20本、スカートなどの揺れ骨は22本となっている。「FF XIV」ではイベントシーンやバトルシーンなどをすべて同一モデルのキャラクターで行なうため、細かい動きにも対応できる作りになっている。

 キャラクターの動きに合わせて装備品の揺れなどを表現するセカンダリ・アニメーションはオフラインのゲームでは物理演算を使うのが一般的になっているが、「FF XIV」ではリアルタイム演算ではない方法で対処された。クリスタルツールズに基本実装されているリアルタイムIK(インバースキネマティクス)やクロスシミュレーションは処理負荷の関係で採用されなかった。骨物理は使われたが、最終的には、ユーザーが使用する環境によって物理演算をオフにしても対応できるようにあらかじめアニメーションが用意されることになった。

 1モーションは約142フレームと長尺で、2,400モーションほどが製作されたが、これをすべて手付けで作成しているとスケジュールが間に合わないと社内のプリプロダクションによって判明したため、テクニカルアートを行なうツール班をセクション内に置いて、自動化ツールのバッチ処理で作業の効率化を図ることになった。
【スライド】
モーション作成のための、基本的な骨の構造。骨は1体について134本使われている




■ ツールによるバッチ処理で面倒な部分を自動処理化

 「FF XIV」のアニメーションワークフローは次のような流れで進められている。まず必要なアニメーションのリストを作成してモーションキャプチャーを収録。そのデータをもとにベースとなるモーションを作成して、手作業でクオリティを上げていく。動きに付随するデータを設定した後チェックを受けて、OKが出たもので鎧や武器の干渉チェックを行なう。これは最大幅の装備や、肩装備などがめり込まないよう調整する工程だ。その後、出力したデータを実機で確認し、1つのモーションが完成する。

 この工程では1日1モーションが限界だが、それでは間に合わないため、ワークフローの中の特に事務的な部分を中心にツールによる自動化が図られた。自動化されたのは、モーションキャプチャーの動きをもモデルデータに落とし込む作業や、装備のめり込みチェック、ループ処理や揺れもののシミュレーションやデータ出力など。これにより、1日5つのモーションと5倍の生産性を実現した。

 作業を担当するスタッフは、すでに仮FIX状態のデータを触ることができるようになった。これは「スイカの美味しい部分をひとくち食べて、すぐに次のスイカでもまた美味しい部分をひとくち食べる」ような作業だと市田氏。

 自動化は、モーションデータのファイル名に細かいデータを盛り込むことで分類した。ファイル名はヘッダと動きの内容に分かれており、ヘッダの部分の4文字はそれぞれ動きのカテゴリー、動きの部位、動きの状態、動きのタイプを表している。これらすべてのデータはモーションリストで管理されている。データの進捗、担当者だけでなく細かい設定なども書きこまれていて、スクリプトはここからデータを読んで処理を実行する。


【スライド】
ワークフロー内の事務的な作業を中心にツールでの自動化を行なった結果、生産量5倍を実現した
自動処理のスクリプト用に、ファイル名のヘッダ部分でファイル情報を細かく分類している




■ テクニカルアート部門を身近に置くことで、作業の効率化を実現

 クラフターの作業モーションなど、全種族で同じ動きをするものは「ヒューラン」のアニメーションをツールで自動補正して、他の種族に移しこんで作られた。乗せ換えの基準は各種族ごとの骨の長さと、腰の高さから再計算をして合わせている。アニメーションレイヤーはキャラクターの部位ごとにいくつか設定されており、元のデータにブレンドする形で作成されている。そのため「ヒューラン」の女性と「エレゼン」の女性はアイドリングのポーズが大きく違うが、そういった場合もスムーズに移行させることができる。

 装備品の干渉補正は、すべてバッチ処理で行なえるようになった。また、尻尾を登録してあるキャラクター全員に汎用的に使用できる尻尾ツールも作られた。これらの自動ツールを一気に使用することで、モーションキャプチャーのデータから、一気にクオリティアップ作業まで持っていくことが可能になった。

 この自動処理ツールの導入で、生産量の大幅な増加が実現できた。そのため「FF XI」の合成では、手をかざすという1つのアクションだけだった部分が、1種類の合成で5つのアクションを行なえるようになった。また、ヒューマンエラーはほぼ0にまで下げることができた。

 また最初にバイナリデータまでアップされるので、並行作業が可能になった。他の部署がモーションを確認しながら作業を進めることができるので、終盤に修正が集中するのを避けられた。

 ただ、面倒な部分を自動化したため、アニメーションスタッフの作業が調整など細かい部分に集中するため、本質的なアニメーションのスキルが伸びにくいという短所も見えた。そのため「FF XIV」ではプロジェクトに参加した後1カ月~3カ月の研修でスキルアップが図られた。研修では「クロッキー」と呼ばれる短時間のアニメーション作製など、全体の構成を作る訓練が繰り返し行なわれた。

 これらのツールはすべて、モーションセクション内のツール班で作られた。スクエニには社内全体の技術開発を行なう技術開発部があり、そこのTAチームが汎用ツールやプラグインを作成している・また「FF XIV」内のプログラムセクションは、拡張したコンバーターやアニメーションレイヤーを合成する機能、オーサリングツールなどを作成した。この2つではカバーしきれない部分をモーションセクション内のツール班が担当した。

 ツール班では、アニメーターの使い勝手に特化した専用ツールを作成した。例えばXSI上にカットシーンを構築するツールや、IDのデータベース化などを行なった。現在は仕様が複雑化してきて、アニメーターだけで考えた仕様だと非現実的すぎることも多い。そこでアニメーター、プランナー、プログラマーのすべての立場に立って、表現的に達成可能か、メモリ処理の問題はないのか、オーサリングコストは高すぎないかなどを検証して、要求仕様を作成していく。バグの原因究明などの問題解決、データ管理の補助的な役割も行なう。「ようは身近にすぐ解決できる人を置くことが重要」と鈴木氏。

 例えば、アニメーションにあわせてトリガーを叩きたいアニメーション付随データの作成は、ツール班が仕様を作成してプログラマー班が作成した。例として紹介されたフェイシャルのアニメーションでは、50とポーズフェイシャルパターンをエクセルに設定して、そこから選んで体に張り付けていくためのツールで大幅なコストとメモリの削減が可能になった。

 汎用のバッチ処理では、キャラモデルの中に必ず入れなければならない骨がちゃんと入っているか、決められたフレーム数で終わっているかをアニメーターが簡単にチェックできるような環境になっている。また、エラーをある程度自動で修正したり、必須ノードを自動で追加したり、不要になったノードの一括削除などにも使われた。ほかには斧の動きをもとに反転処理で槍を動きを作る、などの処理にも使われているツールでの自動化によって、作業時間の軽減、クオリティの均一化が図られた。仕様変更に柔軟に対応できるのも好評だった。

 MMORPGという特性上、「FF XIV」では数年単位の開発作業で機能を追加しやすいようにデータの中身を見て分岐していくようなデータドリブンの開発環境を実現している。これは便利だが、データ依存度が高くなりバグを生み出す温床にもなりかねない。そのためミスを減らすことができたのは意味が大きい。

 今回「FF XIV」の開発で、テクニカルアートがある程度効果を発揮できたのは、「アニメーションディレクターと同じくらいの権限を与えられていたからではないかと思う」と鈴木氏。スタッフ全員が設定したルールを守って、データベース化に協力することも必須だと言える。

 効率化に困っているセクションはモーションだけではないので、「テクニカルアートは今後大きな貢献ができるセクションではないかと思います」とも鈴木氏は言う。またツールを作成するだけではなく、ほかの部署にどんなツールを使っているのかを知ってもらうかも課題として揚げられた。

 実際にデータを作ってから、実機に反映させるまでに時間がかかるので、今後イテレーションスピードを上げる努力が必要なこと。さらに、モーション作成のために扱うデータ量は日々増え続けているので、「テクにカールアート以外のスタッフもテクニカルスキルをあげて、簡単なマット処理や問題解決を自らできるようになれば、全体の底上げが図れるだろう」(鈴木氏)と課題はまだ多い。最後に「テクニカルアート分野はまだまだ手薄なので、興味がある人がいればもっと育てていきたいと思っています」と語った。


【スライド】
モーションキャプターのデータから、種族ごとの動きへ自動的に変換され、さらにループ処理や装備品のめり込み、尻尾の揺れまでが一気に自動処理で作られる
使用しているツールは、社内の技術開発部、「FF XIV」のプログラマーセクション、そしてモーションセクション内のツール班が作成している
ツールを使った自動化の例。フェイシャルアニメーションのエクセルデータを使った一元管理や、反転処理でのモーション作成などが紹介された
めり込み処理や、モーションのつなぎ処理用のツールはスタッフに好評だった
セクション内にツール班を置くことは、バグの軽減にもつながった。しかしそれらの達成にはセクション内全体の協力が欠かせない

(2010年 9月 4日)

[Reported by 石井聡 ]