Loading

FINAL FANTASY XV Character Setup workflow ~Body から Facial、そして Procedural Animation へ~ 第3回

ボーンデジタルは平成 29 年 10 月 12 日、株式会社スクウェア・エニックス 第二ビジネス・ディビジョン(以下、BD2)Lead Character TD の岸 明彦氏、 Lead Character Setup Artist の岩澤 晃氏をゲストスピーカに迎え、『FINAL FANTASY XV のキ ャラクターセットアップワークフロー セミナー ~Body から Facial、そして Procedural Animation へ』を実施した。

上記セミナーレポートの第3回記事をお送りする。第1回記事に関してはこちら、第2回の記事に関してはこちらから読むことができる。

フェイシャルチーム

初めに第2ビジネスディビジョンにおけるフェイシャルチームの構成に関しての説明が行われた。フェイシャルチームは講演を行った岩澤氏を含めて、3名のフェイシャルアーティストで構成されている。また、フェイシャルアーティストの仕事は顔に関係する全てを担当することになる。あの膨大な量を3名でと講演を聞いて非常に驚いたが、作業の無駄を極力省き効率化していくことが本セミナーにて公開された。その技術力だけでなく、一貫した姿勢にも聴講した受講者から感嘆のため息が聞こえてくるほどだった。

フェイシャルチームではプロジェクトの序盤はリグの作成やパイプラインの構築、各種ツールの開発がメインとなる。フェイシャルチームがFINAL FANTASY XVに合流したのは2014年。その後、半年間はツール開発、パイプライン構築などに費やされた。そして、プロジェクトの中盤から終盤はアセットの量産の比重が高くなるがここで感じたことはプロジェクトの序盤の働き方次第で終盤の作業に大きく影響を及ぼすということだ。R&Dは基本的にプロジェクトとは関係なく常に行われており、フェイシャルチームでも前回、前々回の記事でも登場したテクノロジー推進室(以降、テク推)と共同で開発を進めることも多い。

フェイシャルのセットアップの概要

本作におけるフェイシャルセットアップの作業は、大きく分けると①ネームドキャラクター、②アンネームドキャラクター、③モンスター/召喚獣/動物の3つに分かれる。

ネームドキャラクターとは、主人公のノクトをはじめ名前が付けられたキャラクターの事で、本作では全てのネームドキャラクターの顔が共通のトポロジーで制作されている。

全て主人公ノクトのモデル。左はプリレンダムービーのモデル、右は2014年に合流する以前のノクトのリアルタイムのモデル。中央が現在のノクトのモデル。

アンネームドキャラクターとは町人など名前が決められていないキャラクターの事で一見しただけではネームドキャラクターとの差は大きく感じられなかったが、ポリゴン数やボーン数はネームドキャラクターの半分以下に抑えられている。アンネームドキャラクター同士も共通のトポロジーで制作されているが、モンスターや召喚獣、動物に至ってはキャラクターごとにトポロジーも骨数も全く異なった仕様となっている。

岩澤氏が本作に合流した当初の主人公のモデルからリリース時のモデルへのポリゴン数の大幅な増加を伴う変遷が紹介されたが、これは老若男女問わず全てのキャラクターを同一トポロジーで実現するために、必要なだけのポリゴンを追加することになったからだ。テストケースとして主人公のノクトのモデルから老人男性、女性モデルなどを作成してみて問題なく変形出来ることの確認が行われた。また、表情を変化させたときに表れるシワや皮膚のたるみなども表現できるだけのポリゴン数があるかどうかのテストも重ねて行われた。本作ではテッセレーションやOpenSubdivといったランタイムでポリゴン数を分割する処理は使われず全て実際のポリゴンに基づくものであった。そのため、キャラクターアーティストとフェイシャルアーティストで共に検証を重ねた結果、頭部のメッシュで約1万ポリゴンほどの今回のモデルに決まった。

実際テストでノクトから中年と老人そして女性のモデルを作成
ほうれい線や額、そして眉間等しわが欲しい部分にポリゴンを増やしていく。

Basic Jointとスキニング

本作では、ボディと同様に表情のアニメーションもボーンベースのシステムが採用されたため、まず全てのキャラクターに対して基本骨(Basic Joint)の作成が必要であった。ボーンベースを採用した背景には、LODへの転送対応が容易なことや処理負荷が大きく影響したという。頭部の基本骨の数は総数124本で目の周辺に46本、口周辺に78本もの骨が配置されている。

ここで一つの動画か紹介されたのだが、一方がムービーチームによってプリレンダリングされた参考動画で、それを目標にリアルタイムでどこまで再現できるかに挑戦したものだ。骨の動きだけでは表現が難しい個所としてほうれい線や眉間のしわ、ほほのたるみなどには、Pose Space Deformation(以下、PSD)が用いられた。PSDとは、特定のポーズの時に形状の補正を行うBlendShapeを作成する手法の事だが、補正するポイントが多ければ多いほどメモリの負荷も増加してしまうため、頭部全体などではなく、眉間の部分など部位を限定して使用することが必要だった。このPSDはMaya2016から標準搭載されているPose Editorを使うと同様の操作が可能だ。

左はプリレンダーで、右はリアルタイム。リアルタイムは骨のみで動作。

プリレンダーとリアルタイムで表情の差が大きく出ないようにするためにムービーに必要な表情がボーンベースで表現できているかなどに注意して制作されている。最近ではBlendShapeなどのデフォーマーによって変化したメッシュを自動で配置された骨のスキンウェイトにコンバートするソリューションがいくつか発表されている。しかし、本作の開発当時はまだなかったため、骨の配置は全て手作業で進められた。

補正するポイントが多いほどメモリの付加が大きくなるため顔全体ではなく眉間やほほにPSDを使用

シワの表現には、テンションマップなど張力を制御するテクスチャは使わずに部位ごとに異なる頂点カラーのRGB値を割り当て、移動に応じてシワがノーマルマップに影響を与えるような処理がランタイムで行われている。これらを骨の動きと連動させるために前述の『KineDriver』(詳細は連載第2回参照)が使われている。

青いところのスライダーを動かすと左目尻に皺のノーマルマップの影響が反映される。

フェイシャルリグの作成

続いて紹介されたのがフェイシャルコントローラだ。MayaのGUI内にドッキングされたフェイシャルチーム用にインハウスで開発されたツールには、フェイシャルアーティストの作業に必要なツールが全て集められており、骨の配置からウェイト情報の読込み、編集などが共通のGUI上で作業できる。

右側がフェイシャルコントローラーで、左側がピッカー。

変化の具合を細かく制御するためのスライダー群も用意されておりMayaのChannelBoxの様に調整したいパラメータの影響度合いや見た目を確認しながら細かく操作していく。このツールで構築されたフェイシャルリグをコントロールするためのピッカーも紹介された。これは顔をコントロールするジョイント群の配置と同様にボタンが配置されておりボタンを押すだけでジョイントが簡単にピック出来る。

フェイシャルコントローラーではできないような顔の形はピッカーを使用して、直接ジョイントを動かす。メインはフェイシャルコントローラーでサブがピッカーという形で使用された。

フェイシャルリグは、階層構造が目的毎に整理された構成になっている。『Cns』のグループ以下には、ボーンとConstraintで拘束されたノード群を、『Drv』のグループ以下には、フェイシャルの強弱を制御するDrivenカーブに関連するノードが格納され、ここがフェイシャルリグの核となる。

リグ階層

完成されたフェイシャルリグには、各表情の数(横方向のノードの数が表情数)に応じて必要な分だけのDrivenノードがぶら下がるように構築されている。これは、フェイシャルアーティストがキャラクターの表情の変化に合わせて適宜構築をしていくもので、リグを作る前の最初の段階では当然何もない状態から始まる。

設定済みのキャラクターのDノード。驚くほど多くのドリブンノードが階層に存在していることがわかる。

これに対して前述のピッカーでジョイントを選択し、任意の位置に移動させたらアジャストツールであるDriverListの中から移動の素となるDriverを選択し、関連付けを行っていく。このDriverと前述したフェイシャルコントローラのスライダーとが関連付けされており、フェイシャルコントローラで該当するスライダーを変化させたときに連動して必要なボーンがMayaのSet Driven Keyによって動く仕組みとなっている。

ドリブンノードを追加するためのアジャストツール(左側)。ドライバーは右側のフェイシャルコントローラーのスライダーと接続されている。
アジャストツールのドライバーリストからR BROWを選択し、Aノードで右眉の範囲を選択
アジャストツールのドリブンノードの作成ボタンをクリックすると、Dノードに右眉のドリブンノードが追加される
眉の形状のキーを追加していくと、フェイシャルコントローラーのスライダーで動かすことができるようになる。

この時に作られる表情の種類は、FACS(Facial Action Coding System)理論に基づいて作られている。このFACS理論で人物の感情表現に必要なだけの組み合わせ(アクションユニット)をフェイシャルキャプチャのアクターが演じた顔の写真を参考にしながら作られていった。

スライダーが増えすぎてしまうとアニメーション作業の効率が下がってしまうため、組み合わせの数は慎重に決める必要があったという。これらの作業は最初の一体を組むためには時間がかかるが二体目以降は、仕組みを流用出来る機能があるため効率よく作業できる。別のキャラクターで設定したDriven情報を保存し、別のキャラクターのセットアップ時に読み込むことで共通のコントロールであれば微調整だけを行うだけで済むため早ければ一体のキャラクターセットアップに一日かからないというから驚きだ。

最初の1体目は時間がかかるが2体目からはそのリグを元に調整していく
アンネームドキャラクターもトポロジーをそろえているので主人公たちと同じようなワークフローを採用。最初に骨を削減し、ウェイトを調整したキャラクターを1体作成。あとはネームドキャラクターの2体目同様、半自動的にリグを組むことが可能。
動物/モンスター/召喚獣は、それぞれ骨の数が異なる。リグの設定フローはアンネームドと同じ
アンブラは耳や舌にも骨が設定されて、それに応じたスライダーも追加されている。後は、1体目のキャラクターと同じようにドリブンカーブの設定する。
キャラクターの総数は約160体ほど。内訳はネームドキャラクター24体、アンネームドキャラクター約120体、動物/モンスター/召喚獣が16体。アンネームドキャラクターは100体ほどがNPCとなる。全て設定するのではなく、子供、青年、老人の男女等大きく分けて6パターンの設定を行い、後はそれを流用し量産が行われた

表情パターンの作成

本作では、各キャラクターの細かな性格が設定されており、これはノクトの設定。このリストを元にこのキャラクターっぽい表情を想像しながら作られていく。

本作では、キャラクターごとに細かな性格や特徴などの設定が決められた演出シートが用意されていた。これらのシートを参考にそのキャラクターがしそうな表情を想像しながらパターンを作成していったものをアートディレクターに確認してもらい、ほうれい線の強さなどの微調整を行っていったという。イメージに合う表情の参考にするために、岩澤氏は映画のDVDをよく見ていたという。フェイシャルチーム内ではこれらの資料は共有していたそうだが、チームメンバー以外には何の映画を参考にして作られた表情か知らせないことで出来るだけ先入観なくニュートラルに表情を見てもらう狙いがあった。

こうして作成された表情のパターン集は、『AnimMemo』という名のインハウスツールでライブラリに登録が出来る。登録は非常に簡単で、まずフェイシャルコントロールで任意に付けたフェイシャルアニメーションから登録したい瞬間のキーフレームを選択して登録する。このツールを活用することで担当フェイシャルアーティスト毎にキャラクターの表情に差が出ないように注意して制作された。ポーズだけでなくアニメーションの登録も可能で、本作でたびたび必要になった物を食べるときの口の咀嚼のアニメーションなどは一度作ったアニメーションを流用することで工数を削減した。

作成した表情はAnimMemoに登録。アイウエオなどの音素の形状も登録されている。
登録方法は簡単。アニメーションカーブからアニメーションキーを選択し、名前を付けて登録。
表情が登録されたら、スライダーで制御できる。
アニメーションも登録可能。セミナーでは、キャンプでの食事におけるアニメーションが紹介された。本作では同シーンが多かったため、あらかじめ作成されたものを加工して手早く作成された。
AnimMemoのポーズやアニメーションは他のキャラクターに転送可能。こちらの例では、ノクトの表情をプロンプトに読み込んでいる。大きく破綻はしないが、キャラクター性を出すために微調整することもある。このワークフローにすることで作業コストを抑えることができる。
AnimMemoにはブレンド機能も搭載。左図の中央にあるスプレッドシートは、その下にある画面を9分割している。各マスに表情を登録。マウスの中ボタンを押したまま画面上を動かすと配置している表情に変化する
AnimMemoは動物やモンスターの動きでも使用可能。

作業効率化ツール

本作では、フェイシャルアニメーション作業を効率よく進めるために、ここまでに紹介したインハウス以外にも非常に多くのアーティスト補助ツールが開発された。その中の一つが『T2L』と呼ばれるものでこれはText to Lipsyncの略となる。GUIの中のテキストフィールドに任意に入力した文字列の母音から音素を読み取りキャラクターが任意の均一な間隔でそのセリフを話すキーフレームが作成される。『T2L』は英文テキストにも対応しており、英語の場合の日本語と異なる音素にも適した表情になる。

左図では「こんにちは はじめまして」とテキストを入力。T2Lボタンを押すとカレントフレームから自動で音素のキーが生成される。内部で音声学に基づいた調整が行われるが、音素の置かれるタイミングは任意のステップの値で均一となる。
英語にも対応。英語と日本語は音素が異なるため英語用のリップも用意されている。

次に紹介されたのが『Saccade Tool』だ。Saccadeとは眼球の衝動的な反応運動をさす言葉で、このツールは、体の動きや首の角度などから導き出された自然な視線の動きを自動で作ってくれるだけでなく、動きの中で自然なタイミングで瞬きをいれることもできる。

左図はボディーのアニメーションをインポートした直後。視線の方向がずれている。右図はSaccade Tool実行後。自動で視線が修正される。

最後に紹介されたのは、『AnimPanel』というツールだ。フェイシャルアーティストがカットシーンを制作するために共有データの中から作業に必要なデータを収集してくるためのパイプラインツールのような役割を果たしている。作業したいカットシーン名とキャラクター名のボタンをクリックし、ボディのアニメーションやそのカットシーンでのセリフのテキストやボイスファイルなどフェイシャルアニメーション作業に必要な様々な情報を各フィールドの中のリストから選択して読み込んだり、作業したデータをエクスポートしたりといった入出力が簡単に行えるという。これさえあればどんなに膨大なキャラクターやカットシーンがあっても少ない人数で迅速に作業が行えるのが非常によく伝わるものだった。

ボディーアニメーションの欄から必要なアニメーションをセレクトしてインポート。次にカメラのデータをインポートする。
他のキャラクターの顔の位置がわかるガイドオブジェクトを生成。キャラクターのヘッドの位置にガイドオブジェクトがベイクされている。更にボイスデータをインポートする。実際には、makeシーンボタンでボディーアニメーションとccfとボイスを一発でインポートが可能。

Facial Capture

本作では、カットシーンのフェイシャルアニメーションでのみ、イメージベースのフェイシャルキャプチャシステムである『Dynamixyz』というサービスが利用された。カットシーンのフェイシャルでは担当者による演技のばらつきを抑えるためにボディのアニメーションとフェイシャルアニメーションにプロのアクターを起用し同時にキャプチャした。しかしイベントシーンなどその他のケースでは部内のアニメーターが自らアクターを務めるか手付けで制作していったそうだ。このフェイシャルキャプチャにおいて、部内のメンバーだけでは撮影をするだけで他の作業の進捗が停滞してしまうため、東映ツークン研究所にも協力を仰ぎ制作が進められた。その際に様々なヘッドマウントカメラを試用したが、東映ツークン研究所によって製作されたオリジナルのヘッドマウントカメラがアクターからの評判が最も高かった。このヘッドマウントカメラはワイヤレスの為、同時に収録できるアクターの数も6名までになりかなり効率を上げることができた。

カットシーンではプロのアクターを呼んでMC撮影が行われた。
生のキャプチャーデータと作りこみ後のデータ比較。リターゲットされたデータはFIXしたカメラや声優のボイスに合わせて表情の作りこみ作業が行われる。

Procedual Animation For Facial

本作では、ボディだけでなくフェイシャルにおいてもランタイムで自動生成されるプロシージャルアニメーションが使われている。

例えば『視線IK』では、IKをオンにすると視線がターゲットをロックするように動く。また視線だけでなくボディの『LookAtIK』も連動することで、話し相手の方を体全身で向くようになっており、これを入れる前に比べてキャラクターの感情が非常に強く感じられるようになる。視線の動く幅やSuccadeの範囲はチューニングを行うことが出来る。

IKをONにすると視線はターゲットの方向を見るようになる。さらに胸から上、視線の微妙なブレのサッカードやまばたき、瞼が連動するようになる。IKOFFのときと比べるとキャラクターに人間らしさが生まれている。
左上:水平方向と垂直方向のリミットをいれて視線の速度を設定。右上:サッカードの設定。視線のブレの幅とランダムの設定。 左下:アニメーショングラフで瞼を制御、ブレンドも可能。右下:瞬きもアニムグラフでブレンドを制御可能。瞬き自体の調整はチューニングセットで行われる。

『自動リップシンク』では、音声データとセリフテキストファイルの入力情報を解析し自動でリップシンクの動きの情報を出力することが可能。サウンドチームから渡されたこれらの情報を元にその日の深夜に計算処理が自動で行われ、翌朝までには作業で使える状態になっている。英語のリップシンクにも対応しており実機で確認を行いながら必要以上に口が動いてしまう場合にはキーフレームを間引くなどの調整が行われる。

必要な音素の形状。全部で18パターン。似た形は一つにまとめ、日本語、英語に対応。
実機上で音声を流すと自動で口が動く。口が動きすぎないよう音声学などから違和感がでないようにして再生される。

次に紹介されたのが『エモーション』というツールだ。これは簡易イベントシーン時に、プランナーセクションによって用意されたセリフとボイスデータを含んだ台本システムを使用し、汎用モーションと汎用フェイシャルアニメーションを組み合わせて自動生成によってその場の情景を作り出す機能。

あらかじめキャラクターの性格に沿うように指定された感情でどのような表情にさせるかを心理学に基づいた表情パターンで登録しておくことによって状況に合わせたキャラクターの演技が自動生成される。この『エモーション』は、特定のカメラでキャラクターの振る舞いを捕捉されないような場面でのみ使われるため、注意してキャラクターを見ない限りはゲームのプレイヤーには気付かれないのだろう。このようなイベントシーンがゲーム中の至る所に存在するため、アーティストがいちいち手作業しなくても作れるように組まれている。

台本システムと呼ばれ、話し手と聞き手、台詞、それと感情を決めることができる。ノクトは15パターン用意されており、一番多い。心理学などで使用される7パターン(怒り、嫌悪、恐怖、喜び、悲しみ、驚き、ニュートラルな表情)をベースにし、要望に合わせて追加する。
セミナーで紹介されたイベントの1つで、台本システムを使用して作成されている。台詞、表情は全て自動、基本的にカメラは拘束されず、アップショットも少なく目立つことはないが、記憶には残る。本作にはこのようなイベントがゲーム中いたるところにちりばめられている。
ボディーアニメーションに直接トリガーを打って表情を変えることも可能。左はフェイシャルのアニムグラフ。黄色い四角で囲まれた部分がエモーションとなる。

フェイシャルにおける今後の課題

岩澤氏は、今後フェイシャルについては、頭蓋骨や筋肉の上を皮膚が滑っているような表現についてさらにクオリティを追求していきたいと語る。またフォトスキャンベースのフェイシャルリギングの強化も進めていき、これについてはテク推によってCEDEC2017で発表された「リアルな表情を生み出すテクスチャ表現と、豊かなアニメーションを生み出すFACSを使用したリギング」の研究内容などとも連携を取りながら進めていきたいという展望がある。また、首の表現ではボディセットアップと共通の見解で、今までどちらが担当するのかグレーゾーンだった部分をもう少し踏み込んでいくことも検討されている。またSIGGRAPH2017で発表され話題となったDeep Learningを用いたフェイシャルアニメーションの自動生成などについても大いに注目している。

まとめ

本セミナーでは、社内で開発された様々なインハウスツールをはじめ、非常に多くの技術を惜しげもなく紹介してもらい、参加者はみな非常に満足した様子であった。特に懇親会の会場に設置されたデモ機では、実際にこれらのツールを触れる環境が用意されており、常に人だかりが途切れないほどの注目を集めていた。懇親会の最後に岸氏が「現在のリグやフェイシャルなどを取り巻く環境は、業界全体で人材難に苦労をしているが業界内の横のつながりを強めて一緒に乗り越えていきたい」と話し、本セミナーは終了した。

セミナーでも触れられていたが、株式会社スクウェア・エニックス 第二ビジネス・ディビジョンでは現在下記の人材を募集中だ。今回のセミナーで語られたような日本で突出した素晴らしい技術に囲まれた環境の中で更に自分の腕を磨くことは、得難い経験になることは間違いない。求人情報は下記のリンクから閲覧できるので、まずは一度確認してみると良いかもしれない。

求人情報

キャラクターモデラー / アニメーター / テクニカルアーティスト / フェイシャルモーションデザイナー/3DCGモデラー(バックグラウンド)

Created By
ボーンデジタル イベント事務局
Appreciate

Credits:

©2017 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA ©2017 Born Digital,Inc All rights reserved.

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.