
ゲーム開発者向け大規模カンファレンスCEDEC2023で実施されたセッション「『ファイナルファンタジーXVI』における召喚獣とキャラクターモデルの制作舞台裏」のレポートをお届けします。このセッションでは、召喚獣とキャラクターの3Dモデル開発に迫る興味深い内容が語られました。

セッションには、スクウェア・エニックスの第三開発事業本部キャラクターモデルアーティストである南條和哉氏(主に人型キャララクターの衣装を担当)と、リードキャラクターモデルアーティストの園部淳氏(主に召喚獣やモンスター、そして動物系のアセットを担当)が登壇しました。
フォトリアルがゴールではない『FF16』
シリーズ最新作となる『ファイナルファンタジーXVI』には「ナンバリングタイトルとしてのビジュアルクオリティ」と「質感はリアルだがFFらしさのある造形」、そして「フォトリアルがゴール目標ではない」の3つの要素が求められました。

コンセプトの段階でシリアスな世界観が想定されるために、キャラクターもより深い演技ができる造型が求められていますが、顔のスキャンなどを使いつつも「完全にフォトリアルだとFFらしさが消えてしまう」ということを意識しています。フォトリアルがゴールでないために、「FFらしさ」やファンタジー的な要素を入れながら調整したそうです。
また、アートデザインを常に意識してフォトグラメトリーは基本使わずに、全てコンセプトアートを重視して制作されています。衣装を作る時に3Dスキャン使用を考えられていたものの、目指す着地点を見据えてスキャンだけで無くスタッフのスキルアップも含めて、Marvelous Designerをメインに作成したとのこと。
加えて「ムービー用モデルは作成しない」ため、すべてをリアルタイムに動かせるようにしておくことが念頭に置かれています。これは「全てをリアルタイムに行う」というプロジェクトの方針があったことから、クローズアップに耐えつつも容量を抑えたものが求められました。

3Dモデル制作の流れとしては、Maya→Marvelous Designer→ZBrush→Maya→Substance 3D Painter→Chara Editorの7工程で制作。スムーズに実装させるためにMayaで人物のブロックモデルや、ZBrushで直接出力しゲームへ実装する場合もあります。


このブロックモデルを用いることで、後の工程を待たせることのない制作作業や効率的なフローが確立されました。
CharaEditorは、キャラクター専用の開発環境でマテリアルやシェーダーの設定、モーションの確認、IBL環境下でのルックデヴ、データの出力などを行うツールです。

召喚獣とモンスター―如何にして容量を削るか
召喚獣を表現するためにパターンモデルとタイリングテクスチャ(同じテクスチャを敷き詰めるもの)を使用しており、タイタンなどの巨大な召喚獣に使用しています。タイタンには鉱物の結晶的なものやスクラップ状のパーツが多かったことから相性が良く、パターンモデルもカットシーンにおいて頭部や脚などよく映る部分に配置。『FF16』のカットシーンはほぼリアルタイムレンダリングであるために、開発中にディテールを足す手法と相性が良かったと語ります。

タイリングテクスチャを使う必要があったのは、ムービー用のクローズアップ専用モデルを別で制作するとコストが上がってしまうためです。そのためゲーム中に動くキャラクターをカットシーンにも使用しますが、「キャラクターのクローズアップに耐えうるのか?」という懸念から、タイリングによって表現の密度を上げる手法をとりました。


このタイリングによって細やかなディテールが表現できるようになり、テクスチャサイズも削減出来たため、容量問題も解決に向かいました。タイリングはリピートテクスチャが目立ってしまいますが、パターンを2つ組み合わせて使うことで“繰り返し感”のないランダム性を演出。多種多様なものを用意し、ひとつのマテリアルに対して8個まで設定出来る仕組みが取られました。

イフリートの角は、細かい質感のタイリングと大型のタイリングを組み合わせ、要所に配置することでクラック(亀裂)によるゴツゴツ感を表現。またディテールが過剰にならないように、タイリングのブレンド率が合計で“1”を超えないようにされています。


続いては属性表現が出来る特殊表現です。「エミッシブスクロールアニメーション」と「特殊スクロールアニメーション」、そして「サブサーフェイススキャッタリング」の3つです。
エミッシブスクロールアニメーションは、最大3つのスクロール設定が出来る事から複雑な表現ができることと、フローマップでの不規則な流れも表現できることからフェニックスの炎などエナジーライン的な表現にも利用されました。

ここでフェニックスでの使用例を披露。身体の前方から後方にかけてエネルギーの流れが表現されており、発光表現をより強くすることもリアルタイムに出来ます。

特殊スクロールアニメーションは、シヴァのマント表面に流れるドライアイスの煙のような表現で使われています。


サブサーフェイススキャッタリングは、シヴァのマントにおける透け表現に使用し、ライティングを複雑にすることで実現。また、召喚獣やモンスターは有機的な質感のものが多く、この技術が多用されたそうです。


ここで“目”のシェーダーを紹介。『FF16』においてはほぼ全て同じシェーダーを使用しており、様々なパラメーターから瞳孔のサイズや猫目などを表現できます。目のUVさえあれば適応可能だったため、キャラクターの重要な目を簡単にカスタマイズできたことから効率良く制作出来たと語ります。

スカルプトは、シンプルにカッコイイものを作ることにこだわることができるのですが、リアリティのある世界観が舞台となることから、デザイン性を抑え内部構造や骨格などを意識する美術解剖学をベースに制作しています。これらは、バトルで欠損した腕を修復するときに活躍したそうです。


ウェザリング(汚れ)表現が重要な『FF16』
ここからはキャラクター表現です。顔表現の方向性についてはシナリオやキャラ設定にマッチしているのかが重要であるため、コンセプトアートを再現しながら自然と見えるように制作されています。肌は色のムラや5種類ぐらいの細かな凹凸を持ったタイリングテクスチャを混ぜ、特徴を出しています。

また、目は現実の人間と同じサイズで作られていることから、フォトリアルのような要素がありつつも『FF』的なキャラ的な表現を併せ持った落ち着いたものになったとのこと。毛や羽の表現は、共通の汎用テクスチャを用いて主人公やモブ、召喚獣を含めて同じものを使っていますが、高解像度なため詳細に表現できます。

髪のモデルはMayaの“curve to ribbon mesh”を用いて作成し、先のテクスチャを当てはめていくことで表現。そのままでは髪にボリューム感が出てこないため、専用の2ndオクルージョンにおいてアンビエントオクルージョンで表現しています。


毛の表現の揺れについては、風はもちろんキャラクターが走ったときの慣性でも揺れるように出来ており、髪がめり込んだりしないよう画面の横方向に揺れます。

『FF16』における汚れの表現はキャラクターとして重要なポイントで、世界観的にあらゆるモノが汚れていないと不自然です。そのため、汎用的に実装できることと、幅広い表現が出来るように目指しました。

汚れの部位指定は1頂点につき4パターンまで指定可能ですが、カット班から「ここを刺されたから、ここから血を出したい!」と出血表現の発注が大量にあったそう。しかし、表現的なディテールが血のタイルに入っていたので、比較的楽に作ることができたと語ります。

濡れ表現については、髪の毛のみに特殊な表現をしており、髪のボリューム感や風の影響を抑えたところにあります。涙では、画像のマスクに沿って流れるようになっており、血にも応用できます。


汎用特殊表現は共通機能として実装しており結果的にメモリ容量の削減や個別対応もなくコスト削減に繋がっています。半顕現はカスタムシェーダーを作成して、ノードベースで細かく調整できますが、好き勝手に作って良いわけで無く代表者が管理しています。


衣装における皮や布はMarvelous Designerを使用して作成しており、アートに描かれた目立つシワなどをなるべく再現。一方で鎧のモデルはMayaで作成して、ZBrushでディテールを追加するという流れで制作しています。また、テクスチャ解像度があまり高く無い関係から細かなディテールを入れないようにしたとのこと。


最終的にはChara Editorで実装していくのですが、ここでもタイリングマテリアルを活用し、布や毛、皮、チェインメインのそれぞれを当てはめています。UV(map2)を利用してデカールマテリアルを利用して縫い目などを表現。複数の縫い目を表現するデカールパターンも選択出来ます。




最後はアンビエントオクルージョン(AO)です。AOはAOでもポストエフェクトでなく、マテリアルに設定されているAOを指したものです。通常表現しきれない細かな陰影表現に加え、さらなる深部の影を表現するMicroShadowと、SpecularOcclusionを使用することで立体感を出しています。


最後はこのセッションのまとめです。スライドの内容を読み上げつつ、テクスチャの解像度に依存しないタイリングを使う事が効果的だったことや、当初の目的であるカットシーン用の3Dモデルを作成せずにリアルタイムで動かせるキャラモデルを構築出来たこと、今までの『FF』より土や水、濡れ表現など踏み込んだウェザリング表現が出来たことが良い経験になったと語りセッションを終えました。

本作はPS5向けのタイトルであり、4Kも見据えたAAAゲームである以上、クローズアップに耐えうるリアルタイムレンダリングの3Dモデルが開発段階で求められます。そんな『FF16』のグラフィックですが、“写真的”よりも“絵画的”な印象を感じるところもあります。セッションで語られた内容を見れば「フォトリアルな表現がゴールではない」という意匠を感じられるかもしれません。