コンピュータエンターテインメント協会が2023年8月23日(水)から25日(金)まで、パシフィコ横浜ノースならびにオンラインにて開催した“CEDEC2023(Computer Entertainment Developers Conference 2023)”。当記事では、2日目に行なわれた講演“FINAL FANTASY XVI事例で知るキャラクターリグの仕事 そのイロハと魅力”の内容を紹介する。

ph01

 講演者はスクウェア・エニックスの第三開発事業本部の川崎広貴氏と、東川聡仁氏。

 いずれも『ファイナルファンタジーXVI』(『FF16』)において“リガー”という業務に携わる人物とのことだが、そもそもリガーとはどんな仕事なのか。当講演はその業務内容と重要性、仕事の魅力についての解説を主としている。

ph02
ph03
ph04
ph05
『ファイナルファンタジーXVI』(PS5)の購入はこちら (Amazon.co.jp)
CEDEC2023関連記事一覧

3Dキャラクターを動かすには必須の仕事人

 そもそも、リガーとはどんな業種なのか。

 ときにはリギングアーティスト、セットアップアーティストとも呼ばれることもある仕事で、おもな作業は3Dモデルのキャラクターをアニメーションで動かせるようにすること(リグ、あるいはリギング)だ。

ph06
3Dモデルは、そのままだとアニメーションで動かすことができない。その準備を整えてアニメーターに渡すのがリガーの仕事だ。

 リガーがモデラーから3Dモデルを受け取ったら、まずは“ジョイント”や“ボーン”と呼ばれる骨を3Dモデルに配置。このボーンがそれぞれどれくらい影響を受けるかという重みを3Dモデルに配置していく(スキニング)。これにより、骨を軸にした形状変化やアニメーションが可能になる。

 そしてアニメーション作成を便利にするためのコントローラを作成。この工程自体を“リグ”と称することもある。

 さらに必要なら、髪や小物といった“揺れもの”の設定も行なう。ゲームによってはモデラーがスキニングまでの作業を担当することがあったりと、技術や時代の変化に伴い対応範囲の変化がつねに求められている。

リガーの仕事の魅力とは

 『FF16』では、多彩な召喚獣を用いたアクションが用意されている。

 人型以外にも、アクションシーンに出てくる小物にいたるまでリガ-は携わっている。

ph07
ph08

 演出上どのような構造が必要かを考え、ギミックを作ってアニメーションに貢献し、そこに想像以上のアニメーションが肉付けされてきたときには大きな達成感を得られる仕事とのこと。

 外からはシステム的な仕事に見えるかもしれないが、想像力がとても大切で、いろいろと考えることがよい結果につながる。

ph09

 リガーは動いているキャラクターのシルエット作りにも貢献している。

 たとえば、3Dキャラクターは服を着ているときに体への干渉を防ぐ調整がされているので、服を脱いだ際に肩回りのシルエットなどが不自然になってしまう。

 そこで『FF16』ではリガーが補助的に骨を入れ、服を着ていないとき用の調整を加えた。こうした丁寧な作業により、アニメーション全体の完成度に貢献できる。

ph10

 コントローラの作成においても、リガーの想像力が大切となる。

 事例として、左右の翼を用意したときに骨のままだと、翼を動かしたときに左右対称ではなく並行に動いてしまうことがある。そこで翼が左右対称に動くようにコントローラをセットアップしておくことで、続くアニメーターが作業しやすくなる。

ph11
画像左側の翼が骨のままのもの。直角に近い角度のまま固まっており、片方を下げるともう片方は上がってしまう。

 ほかの事例としては、鎖でつながった手枷が挙げられた。

 単純にスプラインIK(※)で鎖を作る場合、鎖が重みで垂れ下がるポーズは作れるのだが、目的のポーズにいたるまでの作業の手数が多くなってしまう。

※スプラインIK:連結したボーンをカーブに沿わせるように動かす機能。

ph12
画像左側がスプラインIKで鎖を動かしている模様。鎖がたわむ様子を作り出せはするが、それは自然と重力に従ったものではなくアニメーターが手動で付ける動きになるので、工数が多くなる。

 そこでこのリグの作成者は、鎖の重心が手枷の中心を維持し、手枷同士が近付くと垂れ下がるというセットアップを行なった。

 このセットアップにより、鎖が垂れ下がるアニメーションを作成する工数が格段に減っている。

ph13
画面右側が上記のリグで、自然と鎖のバランスが取れている状態。このリグを作成した人は、この工程に大きなやりがいを感じたという。

 そもそも工数やスケジュールにおいて、リグの工数は必要最低限に絞ればかなり減らすことができる。しかしこれまでの事例のように、アニメーションでの工程を増やしてしまうと、それだけ後工程でのアニメーターの負担は大きくなっていく。

 リガーはワークフロー全体を見て、演出上どのようなことが求められているのか、どうすれば効率がよくなるのか、そしてそれを実現するには必要なモデルの条件を満たしているのか、リグの工程でそれらを確認し、モデラーやアニメーターと相談して、アニメーターがクリエイティブな作業に集中できるように担保することを目指す。これが結果的にプロジェクト全体の安定につながり、より貢献できるようになる。

ph14

 また、『FF16』ではリガーの成果が、開発チームのクリエイティヴィティを刺激した事例もあったという。本作で狼の“トルガル”は主要な登場キャラクターであるため、時間をかけてセッティングが行なわれた。その仔狼時代の姿である“トルガル・パピー”のほうは体験版のキャラクターであり、登場頻度が少ないと聞いていたが、こちらもリガーが愛情をこめて、体や表情をしっかり動くように仕込んでおいたという。

 そのあと、動物好きのアニメーターたちの活躍もあり、トルガル・パピーは開発チームの中でも非常にかわいいと評判が広がり、ユーザー間でも多くの好評を得るキャラクターとなった。チームワークが生み出した結果ではあるが、リガーの仕事がほかのチームメンバーを刺激できたのかもしれない実例でもある。

ph15
ph16

リガーのワークフロー実例に学ぶ、連携構築の大切さ

 続いて講演では、『FF16』におけるリガーのワークフローの実例が紹介された。

 なお、『FF16』開発チームのリガーは基本的には在宅勤務であり、リモートワークでも効率はほとんど下がらなかったという。

ph17

 『FF16』のリグ班には、多くのミッションが課せられた。

 召喚獣や人物など、数多くのキャラクターや付随するパーツ、プロップの制作に加え、カットシーン(ムービーシーン)がインゲームから切り離されることもほぼなくなりつつある昨今、両方での演出に耐えうるリグも要求される。それらを踏まえ、プロジェクト全体のスケジューリングも考慮しなくてはならない。

ph18

リグ周りのワークフロー

 『FF16』においてのワークフローについては、下画像のように図で解説された。

 DCCツール(3DCG制作ツール)はAutodesk Maya(※)を使い、ゲームエンジンや開発用エディタは、同社のテクノロジー推進部製の各種内製ツールを使用したとのこと。

※Autodesk Maya:3DCGのアニメーションソフトウェア。その機能性や自由度からハイエンドソフトウェアとして、ゲームの制作やハリウッドの映像技術など、世界中で幅広く用いられている。

ph19
ph20
今回の講演では掘り下げられなかったが、関連するデータフローの資料も公開された。

 流れ自体はオーソドックスだが、体の動きのコントロールをつける“プライマリ・リグ”と、揺れものや補助骨補正された箇所を微調整するコントローラを設定するセカンダリ・リグ(詳細は後述)の工程は分離している。

ph21

ワークフローでもっとも重要だったポイント

 実例のワークフローにおいては、“骨の共通化”と作り込みのバランス調整が大変だったという。

 各キャラクター専用の骨を作ればアニメーションのクオリティーは上がるが、反面、汎用性はなく開発作業効率は下がる。汎用の骨は、その逆だ。これらを調整するためには、少人数でも効率的に対応可能な体制が必要となった。

ph22
開発が進むと、活躍は多いキャラだが共通骨で作れないか、共通から個別に昇格できないかなど、さまざまな要望が各所から出てきたという。

 その体制とはシンプルに、各班との連携にあたる。

 『FF16』のキャラクターアセットのフローは“プロックモデル・フェーズ”と“本番モデル・フェーズ”に大分されたが、プロックモデルの段階では実際動かしてみないと分からない点も多く、別班への追加作業の依頼も多い。

ph23

 さらに本番モデル・フェーズになるとカットモーション班からのリクエストや、グラフィックチーム以外のバトルコンテンツデザイン班などからも変更要請が入ることもある。

 確認してすり合わせていく時間を確保しつつ、各班の間でフローが5周ほど回るスパイラル構造に耐えうるようにスケジューリングを見込むことが、非常に重要となる。

ph24

 ここでチェック作業実例の一環として、汎用キャラクターたちのチェック用画面の模様も公開された。

ph25
ph26
汎用キャラクターたちの体操モーション。アニメーターが制作してくれたとのこと。
ph27
各班で連携し、さまざまな動きのなかでシルエットに破綻がないか、モデリングに不自然な部分がないかなどを確認、調整していった。

 リガーは開発チーム全体の効率化を見越し、連携を大切にする必要がある。そこで急ぐばかりではなく、余裕を持つこともまた重要。

 自分たちが楽しむこともまた、大切になる職業とのことだ。

ph28

揺れものに見る、多数の工程と効率化

 講演では引き続き、『FF16』でのリグ班による“揺れもの”などのセカンダリアニメーションの制作事例が紹介された。

『FF16』でのシミュレーション設定

 本作では揺れものといえば、吊りシミュレーションをする揺れものと、髪や羽などのバーテックス・シェーダー(※)によって小刻みに揺れるものがある。

 後者は『FF16』ではモデラー班が設定したため、今回の講演で紹介されたのは前者の、物理シミュレーションによる揺れものとその調整についてだ。

※バーテックス・シェーダー:モデリングデータに設定された各頂点(バーテックス)の座標情報をリアルタイムで演算し、変換するエンジン。モデリングデータを変更せずに、そのモデルに波打つ動きや表情の変化などを追加できる。

ph29
実際に『FF16』で物理シミュレーションが導入されている事例がこちら。髪が長いキャラクターの頭髪の動きはバーテックス・シェーダーではなく、物理シミュレーションで動いている。

 『FF16』で使用された物理シミュレーションのソルバー(数値計算を実行するプログラム)は、内製の“Bonamik”というツールだ。

 骨を複数のロケーターで縦横につなぎ、各ロケーターに摩擦やテンション(張り)などのパラメーターを設定することで、布や紐、尻尾など、さまざまなオブジェクトのシミュレーションが可能になる。

ph30
一見すると複雑そうだが、原理はMayaにある“nCloth”などと同じだ。

 檀上では引き続き、実際のゲーム内での揺れものの動きが動画で紹介された。『FF16』ではかなり高くジャンプをしてから急降下するなどといった素早いアクションから、静かにほとんど動かないアクションまで、多種多様なキャラクターの動きが見られる。そのため、キャラクターがどのような動きをしたとしても気持ちいい動きをするように、バランス調整を繰り返したという。

 実例としては、主人公クライヴは激しい動きをしてもマントがめくり上がりすぎないようにしたり、少女時代のジルは激しく動いてもスカートが大きくめくり上がることはなく、かといって硬さも出ないような絶妙な調整になっている。

ph31

 また、Bonamikはカットシーンにおいても、プレイヤーが操作しているシーンとまったく同じ仕組みで動いている。

 カットシーンでは細かく風の設定なども可能なため、参考動画では風に合わせてオブジェクトがたなびく様子も確認できた。

ph32
ph33

 3Dモデルにここまで細かくBonamikによって設定されているのであれば、カットシーンで改めて設定を用意する必要はないようにも見える。

 しかし実際は、コリジョンとの干渉など難度の高いシミュレーションが多く発生し、フレーム単位で細かにめり込みの有無などを確認しなくてはならない。また、召喚獣の揺れものを動かすなど、演出的にかっこよく見せたいシーンでも修正が必要になる。

ph34

 カットシーンで修正を行なう際には、まず“カットエディター”でシミュレーション結果を算出。その結果をMayaに持ち込み、“セカンダリ・リグ”という揺れものを調整するためのリグに流し込む。

 そこからふたたびカットエディターにアニメーションファイルとしてデータが出力され、修正された内容が反映される。

ph35
Mayaの内部にもリグを修正する機能があり、必要に応じてBonamikの同機能と使い分けられる柔軟な体制になっている。

 さらにカットシーンでの揺れもの調整については、召喚獣の演出など、さらに具体的な事例が紹介された。

ph36
いちばん多用された、Mayaでのアニメーションをコントローラで修正する手法。揺れものを調整する専用のコントローラ(セカンダリ・リグ)がある。
ph37
シミュレーションで修正する手法。セカンダリ・リグでシーンデータにBonamikを読み込み、ゲーム内と同じ動作をさせる。あとは各パラメーターを調整し、トライ&エラーを繰り返す。
ph38
ph39
骨のモーションよりも効率よく修正できる場合も多い、デフォーム等での修正手法。骨の動きをカーブに変換し、そこにさまざまな動きを設定する各種デフォーマーをアサインして多彩な表現を生み出せる。

 実際のカットシーンでの調整例も、召喚獣の動画で解説された。

 宙に浮く召喚獣“ラムウ”のスカートのような服の裾部分がふわりとした揺れを表現しているが、カットシーンに合わせて風を吹かせたり、Bonamikのパラメーターで表現したりすると、作業に時間がかかりすぎる。

ph40

 そこでこのシーンでは、波打つ動きを表現できる“WaveDeformer”を使用。簡単なデフォーマーを入れるだけで、効率よく効果的に表現できた。

ph41

 総じて、前準備としてBonamiで設定を詰めるのは破綻の少ない値を詰めていくことになり、時間をかけることが非常に大事となる。

 併せて修正が必要になった場合に備え、さまざまな手段で対応できる準備をしておくことが効率的な作業の手助けとなったとのことだ。

フェイシャルリグの量産化と、調整の効率化

 講演の最終段では、フェイシャルアニメーションの事例のほか、多くの登場人物に対してフェイシャルの量産や調整などが可能になる設計についても解説された。

ph42
ph43
『FF16』では、キャラクターの表情もこのように豊かなアニメーションで大きく変化する。

量産のための最適化

 フェイシャルリグを用意するうえで考えるべき点としては、前提として物量の問題があった。

 共通のものがあることを考慮しても約200種類のキャラクター用フェイシャルが必要という見積もりが当初は出てきたため、品質と物量を両立するフローが必要ということになった。

ph44
結果としては後述のフロー化によって、骨の数は100と少しとして、複数のモデルをブレンドして新しい形を作り出す“”ブレンドシェイプ”は使用しないこととなった。

 まず、モデル班が3Dモデルのトポロジー(3Dモデル表面のポリゴンの並びかた)とUV(テクスチャを貼り付ける位置や方向の設定座標)を共通化してくれたため、大きいキャラクターから小さいキャラクターまで、骨がオブジェクトを動かせる範囲を決める“ウェイト”についてはそのままコピーすることができ、形状が変更になってもウェイト再設定のコストは発生しなかった。

ph45
ph46
キャラクターの大きさや形状が異なっても、ウェイト設定は共通となる。

 トポロジーとUVの共通化により、既存のモデルと新たに骨を配置したいモデルの差分から、ある程度骨を自動配置するツールも用意できた。

 精度は甘めなので調整は必要だが、新しいモデルに対して一から骨を配置し始める必要はなくなった。

ph47

プロシージャル風なリグの仕組み

 本作で用いたフェイシャルリグのコントローラファイルは、モデルファイルを参照して用意される。

 このコントローラにはまずキャラクターサイズを反映する階層があり、最初に倍率を反映。そのうえで保存された骨の初期位置を元に、親階層へ骨の初期位置を反映する。

ph48
フェイシャルリグの各コントローラが、別のモデルに流用すると新しいモデルの骨に合わせた位置へと自動配置される。

 この仕組みにより、フェイシャルリグのコントローラも別モデルへとプロシージャル(※)風に流用することが可能となった。

※プロシージャル:設定された数式や処理、一定のアルゴリズムなどに従い、3Dアニメーションなど特定のアセットを自動生成させる技術。特定の作業を、最低限の入力で自動進行できる。

ph49
ph50
骨と同様にコントローラも、ジル(人間)からシヴァ(召喚獣)へとサイズ差があっても流用できている。
ph51
サイズ倍率が変わったコントローラを流用しているため、人以外のすべてのキャラクターに同じキーを流し込むことも可能。

ポーズ登録と、ポーズ間のブレンド

 『FF16』のフェイシャルリグコントローラには、骨ベースのもの以外にFACS(※)ベースのものが用意されている。

 こちらのコントローラで設定したポーズ(顔の各部位の表情パターン)の名前をドライバーとして、骨単位のコントローラの位置情報が登録される。

※FACS:Facial Action Coding Systemの略。顔面筋肉を解剖学的に分析した、44個の表情動作の最小単位“アクションユニット”を組み合わせて表情を表現するシステム。

ph52
コントローラ自体にドリブンキー(複数の情報をひとつにまとめて制御する機能)が入ると後々面倒になるため、ここに表示されているロケーターは骨単位コントローラの親階層になっている。
ph53
ロケーターのキーをグラフエディタで見た際に、ドライバー名でフィルタリングできるように改造。骨のカーブの設定時に、ポーズへの動きの変化を調整しやすくなった。

 登録はこのように行なうとして、あるポーズが別のポーズに干渉したり、複数のポーズの動きを合成して表情を出すときなどには、顔の一部では各ポーズの設定数値が加算されることになるため、表情に破綻を起こす場合もある。

ph54

 ここで加算がオーバーするのを避けるために上限を設けると、上限に達した瞬間に特定のポーズによる動きがぴたりと停止するため、動きが固い印象が出てしまう。

 平均値を使う手法もあるが、この場合は目標の値に近づくまえに止まるポーズが出てくるため、動きが不足する。

ph55
ph56

 問題を解決するには、目標値に止まることなく近づき、大きく超えない手法として、画像編集における“レイヤー”の考えかたがヒントになった。ひとつひとつのポーズの強さを透明度で考えれば、たとえば0~1の透明度があるなかで4つのポーズの透明度を0.5とすれば、重ね合わせると透明度1.0に近いが、1.0ほど白くはないという状態になる。

 レイヤードテクスチャノードを使うことでレイヤーの概念をリグに組み込み、さらに加算とレイヤーの値をブレンドする設定機能を追加することで、目標値に近づくほどに各ポーズの動きが弱くなっていくようになり、ぴたりと止まるという事態を解決できた。

ph57
ph58

 これらの技術により、ポーズ間のブレンドによる表情の移行は非常に滑らかになったという。

 顎や口角の動きを加えても、ポーズ間が滑らかに繋がっていることが動画で紹介された。

ph59
ph60

シワ表現の仕組み

 『FF16』においては、シワは形状の変形ではなくテクスチャのブレンドで表現している。

 リグ側では顔の各部位の長さにより、どれくらい表情が変化したのかが判定できるローポリゴンを仕込んでいる。

ph61
ph62

 シワの濃さの調整はモデル側での見た目からの調整、リグ側でのシワの幅が不自然にならないようなウェイト調整、アニメーター側での最終的なゲーム内で確認できる繊細な感情表現を付け足す調整と、各所での調整を経て完成に至っている。

技術者とマネージャーの両側面を持つ職業

 講演の最後にはまとめとして、本作を通じ、リガーにとってはモデラー、アニメーターが安定して力を発揮できる状況を作ることが大事なのだと、改めて感じられたと述べられた。

 まとめの言葉としては、「連携を大事にしながら、想像力を働かせて楽しく働きましょう!」とのこと。

ph63

 リガーという職業はエンジニア的な側面も強く持ちながら、その技術をいかにチーム全体の効率化やクリエイティヴィティに変換できるかという、発想や想像力の面も重要になるということが知れた講演だった。

 なお、より専門的な内製ツールの解説については過去のCEDECなどのカンファレンスで紹介されているとのことなので、興味を持った人はより深く調べてみてほしい。

PS5『ファイナルファンタジーXVI』の購入はこちら(Amazon.co.jp)
CEDEC2023関連記事一覧