コンピュータエンターテインメント協会が2023年8月23日(水)から25日(金)まで、パシフィコ横浜ノースならびにオンラインにて開催した“CEDEC2023(Computer Entertainment Developers Conference 2023)”。当記事では、その3日目に行なわれた講演“FINAL FANTASY XVIにおける召喚獣とキャラクターモデルの制作舞台裏”の内容を紹介する。
講演者はスクウェア・エニックス第三開発事業本部の園部淳氏と、南條和哉氏。『ファイナルファンタジーXVI』(『FF16』)においては、園部氏は召喚獣やモンスターのリード、動物系のアセットを担当し、南條氏は人型キャラクターの衣装周りをおもに担当したとのこと。
本講演では、『FF16』の激しく動き回るアクションゲームであるゲームパートと、美麗で感情豊かなキャラクターたちが描き出す美麗なムービーシーンの両方で使用されている、キャラクターモデルの制作についてさまざまな手法や工程が解説された。
容量や挙動の制御が大事となるアクションパートと、ズームアップしても美麗さが損なわれない必要があるムービーパートでは、当然別のモデルを作っていると思われた。ところが実際は、どちらでも使用に耐えるモデルを制作できたという。その制作手法や、舞台裏についても公開された。
『FF16』のキャラクターに求められたものとは
『FF16』ではコンセプトの段階で、かなりシリアスな世界観が想定された。キャラクターにはより深い演技ができる造形が求められるが、完全なフォトリアルに寄せると『FF』らしさが失われてしまう。そこで本作では顔のスキャンなどを行ないつつも、『FF』らしさやファンタジー寄りの要素を取り入れ、モデルを制作していった。
『FF』ナンバリングタイトルでもあるため、つねにコンセプトアートは意識していった。その一環として、衣装を作るには3Dスキャンの使用も考えられたものの、目指す着地点を見据えて“Marvelous Designer”(※)をメインに使用して作成した。これにはスタッフのスキルアップを狙う意図もあったとのことだ。
※Marvelous Designer:3DCGアニメーションツールからキャラクターデータをアバターとして入力できる、衣服作成用ソフト。実際の服飾の知識が必要となるが、高度な3D服飾モデルを作成できる。
そして、カットシーンを含めてキャラクターモデルはすべてリアルタイムエンジン上で動くものとして作成されている。プロジェクト全体で、全編通してリアルタイムで作っていくという目標があったためだ。そのためには、過度なズームアップに耐えつつ、容量も軽いモデルが必要となった。
モデルの実装までのワークフロー
実装までのおおまかなワークフローは、上画像のとおり。スムーズな進行のために、“ブロックモデル”を最初に作成してゲーム環境に先行実装した。モンスターなどの一部モデルについては、“ZBrush”(※)から直接実装に持っていく場合もあった。
※ZBrush:粘土での造形に近い感覚でデジタルモデルを作成する、“スカルプト”に用いるソフトウェア。何百万ものポリゴンを扱えるほか、シワや毛など、通常の3Dモデルでの質感表現が難しい部分も容易に作成できる。
ブロックモデルを先行実装することで、あとに控える別チームを待たせず、工程をさきに進めてもらうことができるようになった。明確な動きのあるビジョンを早めに確認することができ、アート工程の必要がない効率のいいフローが確立できた。
なおモンスターのブロックモデルの場合、ZBrushで3Dコンセプトアートのように制作し、モデルの形状を維持したままポリゴン数を減らせるプラグイン“Decimation Master”を使用。さらにオートマチックでUV(テクスチャを貼り付ける位置や方向の設定座標)を展開し、ラフテクスチャーを作成するという手法がとられた。
開発環境の“CharaEditor”について
開発環境で使用されたツール“CharaEditor”についても、ソフトの画面とともに軽く紹介された。
召喚獣に見る、ディテールアップと質感表現の手法
召喚獣は巨大なものが多く、ディテールをいかに出すかが制作のポイント。
モデル自体はおもに“パターンモデル”と“タイリングテクスチャ”のふたつの手法で情報量のアップを図った。
パターンモデル使用の実例
こちらはおもに“タイタン”など、巨大なキャラクターに使用。とくにタイタンのモデルには鉱物の結晶のような組織や、スクラップ状のパーツが多かったため、この手法との相性がよかった。
実際の作業としては、配置用のパーツを6つほど作り、モデルの要所に配置していくという内容になる。
タイタンの場合、カットの冒頭で手のアップが入るところがあり、シーンのレイアウトができたあとにそれに合わせて手への配置を行なった。
開発が進む最中でもディテールを足せるこの手法は、『FF16』のプロジェクト進行とも相性がよかったと言える。
タイリングテクスチャについて
全編リアルタイムで制作するという目標にあたり、ムービーを使わずカットシーンを制作することになるため、ムービー用のキャラクターモデルを別途切り分けて作成するコストが高くなった。
そうなるとゲーム中のキャラクターがそのままカットシーンで使用されるようになるが、まずアップでの描写に耐えうるかという問題が生じる。
その解決法として、タイリングでモデルの密度を上げつつ、細かなディテールの実現や容量軽減も達成した。
一般的なリピートテクスチャ(一定のパターンが連続で描かれたテクスチャ)と基本は同じだが、タイリングではふたつのパターンを組み合わせてランダム感を出す。これらのタイリングは、ひとつのマテリアルに対して8個まで設定可能とした。
このタイリングの技術は、鉱物のような特徴を持つ召喚獣のみならず、ほぼすべてのキャラクターに必須の機能となった。
より幻想的な演出を可能とした各種表現
召喚獣を制作するにあたり、炎などの属性を表現することは必須となる。
それを可能とした特殊表現が実例の動画とともに紹介された。
エミッシブスクロールアニメーション
最大3種類のパターンの組み合わせで、スクロールアニメーションを複雑に表現できる手法。一定の流れだけでなく、不規則な流れも設定できる。
特殊スクロールアニメーション
メタル、ラフ、ノーマルなどの情報を持ったスクロールアニメーションで、立体感や質感があるものをスクロールさせることができる。
エミッシブスクロールアニメーションとも併用可能で、美しいエミッシブスクロールとダイナミックな特殊スクロールを同時に反映できる。
サブサーフェススキャッタリング
開発当初から“半透明”表現については、ソートや処理負荷の問題、クオリティー担保の問題などが懸念されていた。
そこで代用に検討されたのが、3Dモデル内で光が半透明な物体の表面を透過し、内部で散乱した後に表面から出て行くという、“サブサーフェススキャッタリング”技術による透け感の表現だ。
『FF16』全般で使用した目のシェーダー
本作のキャラクターの目には、ほぼすべて共通のシェーダーが使用されている。さまざまなパラメーターが設定されているため、猫目にしたり充血させたりと、さまざまな変更が可能だ。
目のモデルのUV(テクスチャを貼り付ける位置や方向の設定座標)があればどのキャラクターにも適用可能で、キャラクターの重要な要素となる目が簡単に入れ込めるため、制作の効率化につながったとのこと。
こだわりと規格外の手法
召喚獣のスカルプト(粘土や彫刻のような感覚で作成したモデル)には、アート的に正統派なデザインが多かったため、根本的な部分やシルエットについてはとにかくシンプルにかっこいいものを作るこだわりがあったという。
『FF16』のようなシリアスでリアルな世界観のなかにデザイン性が高すぎるモデルを使うと、作り物感が出てしまうのだ。
汎用性も非常に高い、人型キャラクターを彩る表現
続いて人型キャラクターの表現技法について、さまざまな部位に分けて解説された。
顔の表現
キャラクターの顔の方向性は、シナリオやキャラクター設定にマッチしているかどうかが重要。それらを押さえたコンセプトアートを再現しながら、なるべくリアルに、より自然になるように制作された。
フォトリアルっぽさもありつつ『FF』らしさもある、落ち着いたバランスになっている。
毛の表現
『FF16』の毛や羽は、汎用テクスチャーを用意して主人公やモブ、召喚獣も含め全キャラクターで共用している。これらはAutodesk Maya(※)のXGen(毛髪作成用のインスタンス化ツール)で作成しており、上画像のテクスチャーだけでほぼすべての毛や羽をまかなっている。
これら以外には、刈り上げ部分の短い毛や頭髪の地肌などを表現するために、タイリングテクスチャを用意している。各テクスチャーは解像度が高めにできたため、詳細な表現が可能となっている。
また、中くらいの長さまでの髪は、頂点シェーダー(※)で揺らしている。
そのままではめりこみが激しくなるので、面の横方向にスライドするように揺れるように制御している。
※頂点シェーダー:モデリングデータに設定された各頂点(バーテックス)の座標情報をリアルタイムで演算し、変換するエンジン。モデリングデータを変更せずに、そのモデルに波打つ動きや表情の変化などを追加できる。
汚れの表現
『FF16』の世界観では、汚れによる表現は非常に重要。
この世界ではほとんどのものが汚れを帯びていないと不自然に見えてしまうので、汎用的な実装が可能、なおかつ気軽に幅広い表現ができることを目指したという。
濡れと涙の表現
特殊な処理として、毛の部分だけ通常だと“濡れ感”が出なかったので、濡れるほどにボリューム感が抑えられたり、風の影響が弱まったりといった処理を導入。より髪が濡れた感じを出す水滴の追加を、シェーダー側が自動で行なうようにした。
濡れと近い涙の表現については、涙がつたう形のマスクを用意し、これに沿って涙の雫が流れるように設定。同じ処理で血にも対応しており、鼻から流すこともできる。つまり、どういうことかというと……。
汎用特殊表現
どのキャラクターで必要になるか判断しかねる汎用的な表現は、共通機能として組み込んでいる。
これらにより「このキャラにこの表現が必要」と言われた際の導入コストが軽減され、メモリ容量の削減にもつながった。
半顕現の表現
リミットブレイクを使用すると発動する“半顕現”状態の表現については、カスタムシェーダーを作成したことで、ノードベースでデザイナーが好きに調整できるようになった。
通常状態から半顕現状態には、スライドするように動的に遷移できるようになっている。
徐々にパーツが出現したり消滅したりしていく表現はマテリアルでコントロールしており、作中で召喚獣の手足が消滅する演出にも応用されている。
人物をより際立てる衣装と関連表現
人型キャラクターが着る衣装周り、ならびにより人物を引き立てる表現手法についても、ワークフローなどを含めて解説された。
基本的なワークフロー
当記事の最初のほうでも触れた通り、『FF16』の衣装の作成は、布や革素材のものはMarvelous Designerを用い、本当の服飾と同じような手法で作られた。
後工程のリトポ(ポリゴンの情報量を抑えること)のことも考え、ZBrushにモデルを持ち込む段階ではリメッシュ(形状による変化に合わせた再形成)を施す。
また、最終的なテクスチャ解像度はそこまで高くないため、衣装には細かいディテールなどはあまり入れない方針だったとのこと。ほかのタイリングや表現が入るため、衣服についてはあっさりめの表現となっている。
タイリングとデカール
CharaEditorでの実装時には、召喚獣とおなじくタイリングマテリアルで質感を出す。
衣装については専用のマテリアルをいくつか用意している。
衣装の縫い目はデカール機能で追加している。
複雑な紋章などは、追加部分にのみ反映される専用デカールを用意したことで効率的に使えたとのこと。
檀上ではさらにタイリングとデカールのON/OFF状態の比較画像が表示されたが、その差は歴然。
キャラクターのディテールアップに、衣装の表現も大いに貢献していることが見て取れた。
シェーダーとAO(アンビエントオクルージョンマップ)
布のタイプによって、シェーダータイプも変更。特殊な光沢がある布地のほか、装飾のパールの光沢なども表現できる。
シェーダーによる衣装の表現のように、AO(アンビエントオクルージョン)マップ(※)のテクスチャーもまたキャラクターの見た目、強いてはシーンの絵作りに大きな影響を与えている。
※アンビエントオクルージョンマップ:テクスチャーに環境光を遮蔽する設定を割り当て、より陰影を深めるレンダリング方法。ここでのAOは、仕上げに使うポストエフェクトのものではなく、マテリアルに割り当てられているもののこと。
派生機能の“MicroShadow”と“SpecularOcclusion”を使用すると、さらに印象が変化。立体感が増す。
総括:課題の解決と踏み込んだ挑戦の集大成
講演の最後の総括では、『FF16』開発での“限られた容量のなかでよりクオリティーを上げる”という命題に対し、テクスチャーの解像度に依存しないタイリングはとくに効果的だったと述べられた。
そういった工夫をしていくなかで、当初の目的であった“ムービー用モデルを作成せずに、リアルタイムで動かせるキャラクターモデルを構築する”という課題も達成できた。さらに血汚れや土汚れといった、いままでの『FF』よりも踏み込んだ表現にチャレンジできたのも、キャラクター班にとっては大変いい経験になったとのことだ。
PS5『ファイナルファンタジーXVI』の購入はこちら(Amazon.co.jp)