ここから本文です

【CEDEC 2016】『FF15』開発の裏側...スクエニの独自技術がリアルな世界を創りだす

インサイド 9月5日(月)8時0分配信

パシフィコ横浜で開催されたゲーム開発者向けカンファレンスCEDEC 2016。最終日となる8月26日に、『Final Fantasy XV』のキャラクターや広大な世界の構築にどのような技術が使われているかが語られたパネルセッション『FINAL FANTASY XV - CHARACTER & ENVIRONMENT WORKFLOW』が行われました。今セッションに登壇したのは、スクウェア・エニックス第二ビジネスディビジョンに所属する佐々木啓光氏、黒坂一隆氏、村松瑞樹氏の3名。

【関連画像】

■キャラクター

まず、リード3Dキャラクターアーティストを務めた黒坂氏による、『FF15』のキャラクター作成に用いられた技術や作業工程の説明からスタート。

キャラクターのデータ概要。

物理ベースのBRDF(光の反射)モデル。クラシカルな物理ベースシェーディングだが、『FF』ナンバリングタイトルとしては採用は初となる。

ランタイム描画には複雑なレベルディフェーズが必要となった。

アイシェーダーの比較。表面的な反射はそのままに角膜が屈折しているという疑似的な屈折表現を行っている。

スキンシェーダーのオン/オフ比較。

ヘアーシェーダーのオン/オフ比較。ヘアースペキュラー(ハイライトによる映り込み)にはノイズマップによってディテールが表現されている。

ヘアーシェーダーはノイズの効果を少なくするとスペキュラーの範囲が狭くなり、ノイズ効果を強くするとスペキュラーの拡散効果が強くなります。今回のヘアーシェーダーでは、各キャラクターは共通のノイズマップが使用されており、同様の効果が出るように調整されています。

ヘアーシェーダーによる疑似バックスキャッターのオン/オフ比較。髪の毛は光の透過度が高いオブジェクトであるため、物理的な特徴を再現するのが難しい。

キャラが背面から光を受ける状態。髪の毛のアウトラインに明るいエッジが立っている。キャラが影の中に完全に入るとそのエッジはなくなる。

今作のキャラクターは0~7までの関数を持っている。

カメラが引いていくとキャラがどんどん切り替わっていくが、ゲーム中ではほとんどわからないようになっている。

チャレンジの項目。黒坂氏は打倒プリレンダを掲げていた。

日々進化するプリレンダーの技術をキャッチアップして組み込んでいくことが重要と語る黒坂氏。『FF15』では、ゲームパートのチームとCG映画『KINGSGLAIVE FINAL FANTASY XV』のチームが共同で開発を行っており、ハイエンドで培った技術やワークフローがチーム内で共有されてグラフィックの品質向上に大きく貢献しています。

簡素なソリッドモデルを使いプリレンダとリアルタイムレンダ両方の結果を比較。

それぞれのモデリングを比較し、情報を一つ一つ整理しながらエンジニアに要望を伝えていきます。最終的には、データサイズが最適化されたリアルタイム用アセットとプリレンダの比較を行うのだそうです。

プリレンダリングとリアルタイムレンダリングによるシドニーの比較。

アーティストとして両方の作業に関わっている黒坂氏は、長所と短所を実感していると語ります。プリレンダに追い付くのは非常に大変だったとのことですが、比較できるようになったということは両方のテクノロジーが近づいているのだとしています。

キャラクターアセットの基本的なワークフロー。

オクル―ジョンマップを生成するAOベイクツールの画面。このツールは短時間で焼き付け直せるため、修正のオペレーションサイクルを短くすることができる。

服のオクル―ジョンマップ。法線マップを考慮してベイクするので、高解像モデルを必要とはしない。

従来のキャラクターアセットは、高解像度モデルの情報やテクスチャベイク、法線マップ、オクル―ジョンマップ、DCCツールやミドルマップで同時に焼いて自動で抽出を行っていましたが、『FF15』では最終的な段階でオクル―ジョンマップを生成できるようにツールの開発が行われています。

シェーダーワークのカテゴリ。

グラフィカルにシェーダーをカスタマイズできるというシェーダーエディター。アーティストがゲーム要件に応じて、カスタマシェーダーを作成することができるため、スピーディに作業することが可能。

シェーダーエディターを使用すると、マテリアルカスタムで人間が凍るような表現などができる。

ヘアワークフローの流れは、アセットデータフローの流れと同じである。

2Dのラフイメージがあって、それを基にリファレンス資料として実際のマネキンにウィッグをつけて撮影が行われている。髪の毛の構造を深く理解し、後の作業がやりやすくなるため。

ヘアリダクションツール画面。ポリゴン生成ボタンを押せば、グループ化単位のビルボードメッシュの生成が可能となる。

グループ化した複数のカーブを平均化して最後にカーブを生成、そのカーブに対してポリゴン生成している。すべてのヘアカーブを平均化するのは大変であるので、単純にカーブを複数選択してポリゴン生成していくほうが安全だと黒坂氏は説明する。

最終的な結果。

髪の毛はキャラクターを表現する重要な要素ですが、大変なコストがかかるとされています。『FF15』では多くの工夫がされていますが、まだまだ改善の余地はあると黒坂氏は語っています

■キャラクターセットアップ

続いて、セットアップアーティストを務めた村松氏が登壇。風を表現に定評がある氏は、「風の村松」という異名を持っています。

今作では、キャラクターモーションセクションなどに属していたセクションがセットアップセクションとして統合独立している。

セットアップセクションで取り扱った案件。担当のはっきりしていない案件をすべて取り扱ったと村松氏は述べる。

クオリティ想定としては、ジッパーや重ね着といった細かいデザインの衣装を表現し、打倒プリレンダを目指す。

モンスターの肉揺れや複雑な皮膚表現も行っている。

環境の多様な変化を表現するためのクオリティ調整も行っている。

ジョイント数の内訳。

1頂点あたりの最大バインド数。

骨物理の放物演算もCPU負荷が高いので、当初からCPU付加処理5%を目標にしている。

スタティック(静的)なアニメーションを組み付けるツールCRAFT。モジュールベースでリグを設定するためのMAYAプラグインとなる。

スキニングはMAYAの機能でも調整できるが、スキニング補助ツールも用意されている。

自社開発の座標系ツールKine Driver。

MAYAと同じく、ゲームエンジン上で使用でき、破綻しない回転補正が行われる。

クロスシミュレーションツールBONAMIK。姿勢制御して衣服や布を正しい形状に保ったまま表情をつけられる。

特徴のあるヘアスタイルを実現するために重力と風の影響を分け、堅そうだがよく動くという矛盾した動きを実現。

濡れたときにヘアースタイルが崩れるといった状況のパラメーターの変化も実装されている。

エンジニアでなくてもパラメータを変更できるので、作業の手数が増えてゲーム全体の揺れの表現が豊かになった。

BONAMIKが最も多く使用されたのは、キャラクターが座ったり寝たりするというアクション。このようなさりげないカットシーンだけで、シネマティック以外に総尺2時間くらいあるのだそうだ。

フィールドの草木やモンスターの体毛など、ヴァ―テクス(頂点揺れ)シェーダーでリアルなアニメーションや揺れが足されている。

かき分けられた草は、キャラクターが離れると元の位置に戻る。

これらの技術は、最先端のものというよりは与えられたバジェット内で実現可能な表現を行っているのだそうです。新旧の技術を組み合わせた、職人的な技が可能にした要素もあると松村氏は語ります。

■環境パート



最後は、リードエンバイロメントアーティストの佐々木氏が、『FF15』のEnvironment(環境)について解説しました。『FF15』は、オープンワールドゲームとして、広大な世界に時間や天候の変化といった表情の変化が実装されています。広大なフィールドにはAIによる生物や野生モンスターの生態が、各地域には土地の文化を反映した都市が存在。世界中にダンジョンも点在しています。夜や雨といった当たり前のことを一つ一つ丁寧に描くことで世界の体験をリアルに感じ、ファンタジックな要素さえも現実的なものとしてユーザーに楽しんでもらえるよう丁寧に設計してされています。

『FF15』のテーマである仲間との旅にはオープンワールドは必須ですが、その世界を作るには、世界が作れる環境が必要であると語る佐々木氏。世界と肩を並べるものが目標でしたが、これだけの規模のゲームを作りながら開発環境を作るのはとても困難なものだったのだそうです。

Environment関連案件。エンジニアやプランナーと、一つ一つ相談し、検証して実装しながら解決していった。

Linear Workflowの流れ。既存モデル(PS3ベースのプロトタイプ)の実機出力テストからスタート。

正解がある身近なオフィスや新宿の街などを、一からデータを作り検証を行った。

撮影できない場所を作成し、アレンジを加えながらノウハウを貯めていった。

ゲーム内容を基に地形を設定していく作業。左の画像は高尾でロケを行った。また、新規合流者のみで資料の整理も行った。

アセットの作成。キャラクターと同じく、実写取り込みを活用。

植物のLook検証。この段階では、データ容量を気にせず現実と同じになるようにリアルなものを作っていくことを心掛けた。

現実をひたすら観察して、本物、写真、プリレンダといった段階的な違い、実現可能なことや要素判定しながら理解をし、ノウハウを貯めていきました。この時点では、対応ハードのパフォーマンスなどはわかっていませんでしたが、リアルに作っていればスペックに応じて落とし込んでいくと信じ、作業は進められていったのだとか。一見無駄に見えるかもしれないこの作業ですが、量産期には品質のばらつきが無くなるので結果的にコスト削減につながっていたと佐々木氏は説明します。疑問があるものは面倒でも初期段階で検証してみることがとても重要なのだそうです。

小規模のレベル作成。PS3世代のものであるため、今見ると気になるところは多い。

今世代への対応検証。

モンスターの検証。

データサイズの検証。

カーブとドライブの検証。同時に植物を自動で配置するツールの検証も行われた。

ハイトマップへのカーブ適用。

24時間のサイクルの初期実装。HDRI(ハイダイナミックレンジイメージ)の撮影は、世界各地で過酷なロケが敢行された。

その他の検証。さまざまなアーティストによる怪しい検証が日夜行われている。

大陸設計。

ゲームデザインとレベルデザインのリンクについて。ユーザー体験を損なうことなく、コストとクオリティコントロールが可能な設計となっている。

大陸チームは地形がリアルタイムで編集可能なワークスペースで作られている。道路のカーブや植物の自動配置ツール等の専用ツールを使って作業。

レベルデザイナーだけでなく、アーティストにとってもゲーム実装のメインツールとなっているレベルエディター。

プレハブデータ。ライトといった簡単なシーケンスも組めるので、ギミックやSEも含めてプレハブ化することに。

アセットブラウザはリアルタイムでチームに共有できるようになっている。

階層を管理するパッケージでメモリのコントロール等を行っている。

ハイトマップ出力のフロー

ライティングと環境設定。

24時間の時間変化や、空の変化、雲の変化が世界の多彩な表情を感じさせる。

データの最適化に関して。

まとめ。

時間内に語り切れないことが多くあったという今回の『FF15』のパネルセッション。、終了後には、会場の外で登壇者と来場者による追加のディスカッションが行われ、来場者の熱が冷めることはありませんでした。

最終更新:9月5日(月)8時0分

インサイド