「FINAL FANTASY VII REMAKE」のメイキング記事が公開されています。
https://cgworld.jp/feature/202012-ffvll-01.html
真面目にPBRを貫いた『FFVII REMAKE』
初期には外部協力会社での開発を軸に作業が進められていたが、2017年の量産フェーズへの突入に伴い安定的な量産と効率的なクオリティアップを目指して開発の主体をスクウェア・エニックス社内へ移行。描画部分をカスタマイズしたUE4を用いて迅速に本作のための開発環境を敷設し、フォトリアルでありながら原作のサイバーパンクなファンタジックさに満ちたグラフィックを制作していった。
汎用エンジンをカスタマイズし、効率的に開発体制を確立
新たに開発環境の構築からのスタートとなると、その学習期間も含めどうしても開発の長期化につながってしまう。汎用エンジンを用いることでこれを回避し、量産・クオリティアップのフェーズへと効率良く進むことができたという。
ライティングやポストプロセスなどを含めて描画まわりは全面的に書き直し、標準のUE4とはまったくちがうものになっている。具体的には、マテリアルでは高速性とフィジカルベースの描画に徹する方向性でHLSLで記述。スタンダード、髪、瞳、肌、布などのマスターマテリアルから機能別にインスタンス化し、アーティストはテクスチャアサインのみで対応するというフローになっている。
他方、UE4の描画部分を全面的に書き換えたために、ある種の問題が浮上することにもなった。公式に提供されるグラフィック機能の大半が使えない、という懸念だ。実際、汎用エンジンであるために本作では不要となる機能、描画方針に沿わない箇所はあり、それらは削除、修正されている。
マテリアルの拡張
マスターマテリアルのマテリアル・アウトプットの一例。ベースカラー、メタリック、スペキュラ、ラフネスといった標準のマテリアルノードと同様の入力ピンのほか、この例ではVATのパラメータなどが追加されている。また、既存パラメータでも可能な場合はfloat4型に拡張されている
頂点変形の拡張
フェイシャルなどでは、ボーンによる形状変形に法線が追従しないことによって、ほうれい線や眉間などに適切な陰影が現れないことが問題とな。そこで本作では、「ノーマル・デフォーマ」を用いてこの問題を回避している。
法線を変形に沿わせるために、「タンジェント用」「バイノーマル用」2種のウェイトを用い、外積で法線を再計算する。この2種のウェイトはFBXインポート時にモデル形状とボーンの参照値に応じて生成されるようになっている。
これらをはじめ、基本的にはUEから独立してFBXに必要な情報が含まれていて、FBXインポート時にノーマル情報やマテリアルスロット順などが適切にuasset化されるなどの処理をしている。
ボーン・マトリクス・アレイに、並列してベクトル・パラメータを追加できるように拡張。これは「ボーンエクスプレッシブ」と呼ばれ、例えばこれをノーマルマップのブレンドに用いることで、目尻や鼻根の小ジワを表現することができる。
マッスル的な挙動をするボーンなどで、メッシュ変形時にノーマルを歪ませないためにタンジェント・マトリクスはシェーダ内で逆行列を求めて生成している。
図は真球を縦方向に縮小した例で、縮小後の形状に合わせて、滑らかなノーマルとして描画されている
Houdiniから出力した頂点アニメーションデータを、スキニングモデルに追加適用できる機能を実装。VATは原型モデルからの差分をもち、回転パラメータはクォータニオンでエンコードされている。
アンビエントオクルージョン
アンビエントオクルージョン(AO)はベイクされたものとSSAOを非線形合成している。アーティストのベイクしたAO、プログラマーの作成したSSAOをX=A*B; Y=min(A,B); C=lerp(X,Y,Square(1+X-Y));で合成した。キャラクターと背景との統一のとれた密度感でAOが描画されている。
頭部の例。SSAOの実装は、最近のUEと同じく海外大規模タイトルで用いられていた手法にインスパイアされていますが、BlueNoiseによるジッタリングとテンポラル処理によってフル解像度で動作します。これはクオリティ面でもとても大きな効果が得られた。また、AOの情報はダイレクト・ライトのシャドウイングなどにも利用している。
オクルージョンは、マルチバウンスを考慮してカラーを伴って補正されている。特に肌や髪などで、色彩感を保ったままAOが重ねられている。
キャラクターに近似したソフトシャドウを得ることができるカプセルシャドウも、計算を変更。丸影の印象にならないよう、通常のAOに寄せた計算に変え、さらにAOと合成して使用している。また、ライトプローブから周辺ライトの指向性を参照し、ベイクライトの指向性情報のみを遮蔽する。
ライティング
イトマップ/ライトプローブとも、ライトベイクの結果がArnold Rendererでのレンダリング結果と近くなるようLightmassを修正。ライトベイク時には、スタティックライトだけでなく天球をはじめとしたエミッシブ・サーフェスもライトソースとしている。また、ライトプローブには、よく用いられるSpherical Harmonics(球面調和)は用いておらず、シーンに配置されたボリュームテクスチャに平均カラーとワールド軸上の6方向の輝度を保存。方向の正確性は失うものの、デコードが軽量でライトの指向性が強い箇所でもエラーが出ないという特性がある。
ベイク時にレンダリングされたリフレクションマップは解像度を限定しBC6で圧縮される。その分大量に配置可能で、画像の例では00000〜00043まで44枚のリフレクションマップが同時に展開されており、シーンによっては200枚を超える箇所も存在する。
UE4では、よりリアルな反射に近似させるために配置粒度の高いライトベイクデータによって配置粒度の低いリフレクションマップを補正しているが、この際の計算を変更している。
魔法など周囲の発光体からの照り返しを想定した、特殊なライト「Ambiguous Light」。光源がはっきりとしない曖昧なライティングを実現する。Environment Irradiance のバッファに加算することで、計算の大半を環境光の処理部に委譲して軽量化している。
カットシーンで演出ライトを追加した際、環境光との影響も加味されて光量が飽和し、画的に浮いてしまう場合がある。これに対処するために、Environment Light Modifier という機能を実装。環境光などの影響を、対象ごとに個別に制御できるようになっている。
シェーディング・モデルの実体は、負荷を考慮して5種類に制限している。「DEFAULT_LIT」、「PREINTEGRATED_SKIN」、「EYE」、「HAIR」、「CLOTH」と名称は互換のために引き継いでいるものの、計算はまったく異なっている。
発光部(エミッシブ要素のあるサーフェス)では、表面のラフネスに応じた透過が考慮される。図のシェーダボールでも発光部が平坦にならずに立体感を保っているフォワード・ライティング時には、拡散反射と鏡面反射を分離して計算。ブレンド・ステートにはPremultiplied Alphaを用い、事前乗算項に拡散反射を与えて鏡面反射を加えたものを出力することで、そのまま半透明物体の表現が可能になっている。なお、ブレンド・ステートにはエフェクトも含めてPremultiplied Alphaしか使用しておらず、爆発エフェクトなどは同様の手法で爆煙と発光を同時に描画している。
ほとんどの量子化処理には BlueNoise によるジッタリングとテンポラル処理が加えられている。図はボリューメトリック・フォグの例で、ブロックノイズに細かいドットの密度変調によるハーフトーンをかけているが、この際、特に低周波域を知覚的に低減させるブルーノイズでディザリングしている。
原作の特徴的なデザインをPBRでリアルに再現したキャラクター制作
制作フローは各担当アーティストに委ねられており、テクスチャベイクなどの一部ルール化された工程を除き、DCCツールなどは各人の自由となっている。特にオクルージョンのベイクはSubstance Painter上で行い、数値はENV班と一致させて環境内にアセットを配置したときの一体感を担保している。
使用ツールは、メインツールであるMayaのバージョンは2017に統一、スカルプトはZBrush、テクスチャ作成はSubstance Painter(ごく一部にPhotoshop)、LOD作成にSimplygon7、など。その他の補助ツールとして、UE4に組み込む前にデータにエラーがないか、骨構造、トポロジー、不正アトリビュート値などを検出するチェッカーが用意された。
キャラクターを"再現"するための参考資料
キャラクター制作はまず主人公・クラウドから着手し、本作のキャラクターの在り方を模索するところから始まった。
原作『FFVII』のクラウドのキャラクターデザイン画
『FFVIIAC』のクラウド
本作のクラウド。原作資料からリアル頭身のキャラクターとして"再現"するにあたり、注意深く特徴を抽出。
キャラクターモデル構成
キャラクターごとのモデルとテクスチャの一部。左からクラウドなどのメインキャラクター、NPC、エネミーの警備兵、モブキャラクター。テクスチャは概ね1段ごとに1マテリアルで、それぞれアルベドをはじめとする基本的なテクスチャ構成となっているが、オクルージョンは衣装替えを意識して独立した1枚となっている。赤いマップはタイリングなどに用いるマスク制御マップ。ホログラムで登場するキャラクターはアルベドが不要、などの変動がある。
キャラクターごとの衣装バリエーション。コルネオの館イベントに割かれたリソースの多さが窺える。一部Marvelous Designerも使用されている。
クラウドに使用されているマテリアル(衣装バリエーション含まず)。12あり、目・まつ毛・眉毛・唇・髪など半数が頭部となっている。マスターマテリアルは厳重に管理されており、その数点を除きマテリアルインスタンスとなっている。
2Dペイントによる敵キャラクターのディテール
超大型ボスも含め、敵キャラクターは同じフロー、同じ寸法で制作している。「サイズが大きくなるほど、ディテールをZBrushで細かく入れるとベイクが大変になってしまいます。そこで、スカルプトではなくSubstance Painterでの2Dペイントで細かくディテールを入れています」。
画像はジェノバBeatのハイモデル、テクスチャ表示、ハンドレットガンナーのハイモデル、テクスチャ表示。ベイクのソースとなるハイモデルは1千万~1億ポリゴンと幅があるが、前者のようにスカルプトではほとんどディテールを入れていないケースもあり、テクスチャ(カラーとハイトマップ)でディテール感を付与している。「例えば5cmくらいのビスであれば造形しますが、それより細かいディテールは造形せずテクスチャで描くといった処理でベイク時間を効率化しています」
特徴的な髪型の表現
髪は板ポリに透過用アルファマップやノーマルマップをベイクして表現している。
板ポリゴンとUVを合わせたベイクターゲットとなるメッシュを用意し、ベイクのソースとなるヘアカーブを配置。この際、髪型は立体的に配置することが重要。
ベイクしたアルファマップと法線マップ
髪の板ポリ感を軽減
板ポリゴンで表現している髪の毛を滑らかにするために、ベント法線マップのテクニックを応用。
インゲーム用頭部モデルをボクセル化
その法線をUVに対してベイクする
これをに適用するとこのようになる
ベント法線マップを適用していない描画結果とベント法線マップ適用後の描画結果。法線が締まり、板ポリ感が軽減されている。
フローマップを使用した召喚獣の発光表現
発光部にフローマップを多用しています。水などによく用いられている表現で、色やながれる速度などのパラメータはエディタ上で調整できるよう管理されている。
召喚獣の発光部に用いられているテクスチャ。上段左からながれの向きを決めるマップ、発光部指定用のアルファ、下段左からながれるスピード(R)、ゆらぎ(B)を指定するマップ、発光部のエミッシブHDRテクスチャ
発光部に関する資料「召喚獣 エミッシブフローマップ設定
キャラクター性を損なわずリアルなアクションを目指す
原作のデフォルメされたアクションを、画的にフォトリアリスティックにするだけではなく、そのキャラクター性を損なわずに今の時代に合ったものに仕上げる。それが本作でのアニメーション制作の指針となっている。
アニメーション作業はまず大きくカットシーンとそれ以外に大別され、後者はさらに「バトルモーション」、「フィールドモーション」、「簡易イベント」、「フェイシャル」、「セカンダリアニメーション」に分けられる。メインツールはMayaで、カットシーンでMotionBuilder、フェイシャルキャプチャではDynamixyzが使用された。
リギングにはスクウェア・エニックス謹製モジュラーリギングシステムとして知られる「CRAFT」を採用しているほか、骨物理を実現する「Bonamik」、新開発の「Body Driver」といった同社テクノロジー推進部の技術が多数投入されていることがCEDEC 2020にて詳しく語られている。
Bonamikによる揺れもの設定
髪、スカートなどの揺れものは、スクウェア・エニックス テクノロジー推進部が長年開発している骨物理システムである「Bonamik」(ボナミック)を使用。
チーム方針として、可能な限りベイクせずBonamikによる処理を活かし、どうしてもカバーしきれないケースのみ手付けアニメーションとブレンドしている。中でもエアリスの揺れもの設定が最も物量が多く大変だったという。
Mayaでの設定画面。髪、スカート、ジャケット、リボンなど37系統のBonamik Groupが確認できる。
UE4でのプレビュー。座りモーションなどは地面やキャラクター自身など干渉箇所が多く、全てを計算にまかせることは難しい。手付けによる最良のフォルムとパラメータでブレンドする。
エネミーのリグ
「CRAFT」によるエネミーのリグの例。バトルアクションの中でも攻撃アクションは特にメリハリ、外連味が必要となり、またエネミーでは画像のように人と構造が異なるケースも多いため、大部分が手付けとなる。これらはキャプチャのみでは難しく、他のアニメーションと比べて手付けスキルや瞬発力が問われる分野となっている。
UE4上での調整を可能にしたコントロールリグ
UE4に組み込んだアニメーションをUE4上で調整すべく、独自のコントロールリグを開発。多機能・汎用ではなく、本作で必要な機能にフォーカスして組み上げられている。
ボーン角度の制限とLookAt
右腕・左腕・尻尾がそれぞれ別のエイムターゲットに追従している。これらを用いて、1つのアニメーションアセットで多様な状況に対応できるようになっている。
形状痩せをリアルタイム補正する「KineDriver」
補助骨による形状補正システム「KineDriver」(KDI)は、肘や脇を曲げたときに発生する形状痩せなどをリアルタイムに補正する。Maya上でもUE4上(ランタイム)でも動作し、アニメーション制作時から正しい形状を確認しつつ作業を進めることができる。
KDIはMotionBuilderでも動作するようになっており、多人数登場するカットシーンでも軽量に作業できるよう任意にON/OFFが可能になっている。
感情を乗せるリップシンク
リップシンクはスクウェア・エニックスのタイトル開発で広く使われているという「Happy Sad Face」を本作向けにアップデートして使用。音素ごとに形状を登録しておき、音声から抽出した音素に合わせて自動的にリップシンクを作成。
音素に対応した形状パターンはボーンアニメーションとなっており、ブレンドシェイプは使わずフェイシャルアニメーターが作成している。また、音量や感情に合わせて微調整が行われるしくみも用意した。感情の検出にはAGIのST Emotion SDKを使用。これらはフィールドやバトルでのフェイシャルアニメーションに用いられており、4言語に対応している(カットシーンは手付けで、日英2言語に対応。画像は「Happy Sad Face」による表情例。左が以前の結果、右が本作での結果。より感情が受け取れるような表情となっている。
フェイシャルアニメーション
DynamixyzでキャプチャされたフェイシャルはMaya上で調整される。クラウドのフェイシャル調整作業の様子。感情ごとに表情が登録されており、「AnimMemo」というツールから呼び出す。画像は「Hope(期待)」を呼び出したところで、口角や目元が上がっているほか、右の「Fcont」を見ると各部に細かく値が入っていることがわかる
キャラクターごとの表情変化の印象を共有するための表情集「フェイシャルエクスプレッション」。これによって、表情をつくり込んだ結果が担当者ごとに異なってしまうのを回避している。
VATを活用したアニメーション
大量に描画する必要のある一部のアセットは、アニメーション制作後Houdiniを使ってVATで出力されている。本作では、基本的にVATを用いる際にはHoudiniを経由するパイプラインが敷かれている。
本作終盤で謎の存在「フィーラー」が大量発生し神羅ビルを取り巻くシーンでは、VATの容量削減もかねてパスに沿ってVATが移動するしくみを構築。スピード、大きさ、VATの再生スピードなどが同期して見えないよう設定可能となっている。このしくみを用いて、フィーラーの大群は100fほどのループアニメーション数種類だけで表現することができる。
ウェッジの落下シーンでは、風圧で顔の肉が震える表現にもVATが用いられている。Mayaでの表示。頭部のメッシュがVATの対象となっている。
映像・ゲームのノウハウを結集して構築されたミッドガル
背景を制作する上では「原作の世界観が現実にあったならば」を出発点にイメージを掘り下げていき、そこから実際にモデリングする際の設計へとつなげていった。
ツールはMaya、ZBrush、Substance Painterを中心に、一部にSubstance Designer、布のオブジェクトにMarvelous Designer、破砕オブジェクトなどの表現にはVATを用いている。
3段階に分けて詰められる背景制作工程
背景制作の工程は便宜上大きく「1st Pass」、「2nd Pass」、「3rd Pass」の3段階に分けられる。画像は1st Pass。ラフモデルを作成する。モックとして簡易なモデルで空間設計と動線設計を考える工程。教会では簡単な人型と花壇が配置されている。
2nd Pass。外部パートナーも含め大規模に展開し、本番想定のハイモデルアセットに置き換えていく。また、テクスチャの大部分を作成。2ndの後半からライティング班との連携が始まる。
3rd Pass。レイアウトを細かく詰め、ライティング含め全体のクオリティアップが行われる。ライティングが加わったことにより、教会は厳粛な雰囲気と荒廃した様子、支柱では工業地帯の構造物然とした雰囲気が引き立っている。
UE4とSubstance Painterでの描画の統一
本作の開発では、UE4とSubstance Painterで見た目を統一するカスタマイズが施され、ツール往復時の負担を軽減している。
カスタムされたUE4上での見た目。ACESのトーンマッピングにインスパイアされており、ゲーム内の基準ルックとなっている。なお、この画像の光源はIBLのみ。
デフォルトのSubstance Painter上の見た目。同一IBLを用いているが、トーンが異なってしまっている
Reinhard関数でトーンマッピングした上で、基準ルックに写像するLUTを適用したSubstance Painter上の見た目
フレーバーシートの活用
画づくりの方向性を決めるべき要所では、参考画像のような展開図やExcelシートを使ったりして、軸を可視化して議論するための「フレーバーシート」が作成された。
従来もオブジェクト単品や限定された空間に対してはフレーバーシートが作成されてきたが、ロケーション全体に対してフレーバーシートを活用したのは今回が初の試みであり、協力会社とのコミュニケーションの中で発展し定着していった。
エラーチェッカー
背景制作では、好ましくないデータが実装されないよう、エラーチェッカーが用意された。
カラー(デバッグ表示)によるチェック。陰影を描き込んでしまっていないか確認する。
ワールドノーマル(デバッグ表示)によるチェック。光の当たり方がおかしいオブジェクトを見つけた際にはこの表示で確認する。面の向きに合わせて色が表示され、好ましくない状態のメッシュを発見しやすい。
PBR(デバッグ表示)。正常は青、許容範囲は黄緑、問題がある場合には赤で表示される。画像内の黄緑は「錆び付いた金属」で、当初は赤だったがテクスチャ調整により黄緑に収めた状態。
オクルージョンのチェック。オクルージョンベイク時の距離が統一されていないと、光が届く範囲が正しく計算されずスケール感がちぐはぐになってしまう。オブジェクトごとのベイクは、人力である以上ベイク時の設定ミスなどのリスクがあり、スケール感の統一を確認するためのデバッグ表示が活躍した。
ライトベイクのチェック。動くオブジェクト以外はベイク済み表示(青)になっているのが正しいが、わざとライトベイクを外した画像では、ベイクされているべき鉄塔が未ベイク(赤)となっている。
"実在感"を重視したエフェクト制作
テーマとして考えたのは現実に存在する『煙』『火花』『爆発』などをいかに現実的に考えて構築していくか。
本作のエフェクトは「バトルエフェクト」、「環境系エフェクト」、「シネマティック」、「UI/ミニゲーム」の4系統に区分される。コアとなるツールはMaya、HoudiniとUE4のカスケードなど。Houdiniは爆発、炎の連番のほか、水の表現でVATを出力するのに使われている。また、カスケードは後述するように大きくカスタマイズが施されている。
エフェクトの種類
「バトルエフェクト」の例。
「カットシーンエフェクト」(シネマティック)の例
「環境系エフェクト」の例。
バトルエフェクトは、ユーザーの操作で任意に呼び出される「1つのアセット」としてつくり込んでいく一方、シネマティックでは決められた特定のカメラからの見映えを重視してつくり込まれる。いずれもライティング班との兼ね合いが欠かせず、後述するテストマップ上で意思疎通を図っていた。
大幅にカスタマイズされたカスケードエディタ
内製ツールで培われたエフェクト制作ノウハウを活かすために、カスケードエディタを大幅に拡張している。エミッタを階層表示できるパネルを追加したほか、できない・足りない機能は補完し、手数が多いフローは簡略化、別のエディタにアクセスする機会も極力減らすなどオペレーション改善が細かく行われた。
テクスチャやカリングの設定を、カスケード上からオーバーライドできるようにカスタマイズ。従来はマテリアルパラメータコレクションを介していた操作だ。また、UVのオフセットやスケールなども可能。カラーとまとめられていたルミナンスをパラメータとして独立させている。
複雑なエミッタを階層表示する「VfxCascadeEmitter」パネル。Time Lineフィールドで時間軸方向の全体像も把握しやすくなっており、起承転結を考えながらエフェクトを構築していくことが可能。
Houdiniによる爆発・炎
Houdiniを用いてエフェクト用連番を作成。画像は爆発の例だが、他に炎、煙などの作成にもHoudiniが用いられた。
レンダリングした連番テクスチャ。8x8=64コマのテクスチャシートとして出力されている。左上から時計回りに「エミッシブ(発光)」、「オパシティ(マスク)」「ノーマル」「オクルージョン」。これをカスケード上でスプライトとして利用する。
魔法エフェクトの制作工程
エアリスのリミット技(リミットブレイク)「癒しの風」、同じくクラウドの「凶斬り」の実機画面。
「癒しの風」は光の帯と葉が拡散したあとキャラクター周辺にオーラとパーティクルが発生するという構成。「凶斬り」は三度の斬撃に合わせて凶の字が浮かび上がる。
カスケードエディタでの作業画面。主にMesh Data、GPU Spritesの組み合わせでつくられている他、「癒しの風」ではVATも組み込まれている。
アニメーションエディタ上で、キャラクターのモーションにエフェクトを紐づける。
召喚獣エフェクトの制作工程
召喚獣の必殺技はカットシーンの一種としてバトルに含まれる。画像は召喚獣・イフリートとシヴァの必殺技の実機映像。ロケーションはそれぞれ「螺旋トンネル」、「列車墓場」。
作業用テストマップでの表示。エフェクトはこの基準となるテストマップ上で作業することにより、どこのロケーションで再生しても破綻しないよう調整されている。
完成したエフェクトはシーケンサー上で配置されカットシーンとして再生されるが、ロケーションはプレイに依存するため、座標を固定しないようカスタマイズされている。
VATの活用
Houdiniは爆発や炎、煙の連番の作成に使用したほか、一部の特殊な表現として、流体の作成にも使用した。
「ティファがつくるカクテルと、地下下水道でのアプスの津波はHoudiniで流体シミュレーションしてVATで出力しています。これらはチームとしては実戦に用いるのは初のことでしたが、チャレンジとして取り組んでみました」
画像は地下下水道のボス、アプスが起こす下水津波とそのノードネットワーク。比較的範囲の広い流体SimのVAT化であり、ディテール感を高めるのが難しい。
ティファのつくるカクテルとそのノードネットワーク。こちらはボトルからグラスへ注がれる・グラスから飲むなど小規模な範囲で数パターンが作成された。
プロシージャルに制作されたマテリア
マテリアの"もやもや"はプロシージャルな手法で生成して表現している。4オクターブの3Dパーリンノイズを生成し、VolumeTextureとして出力(この時点では64×4,096の2Dテクスチャ)。
このためのインハウスツールが用意されている。VolumeTextureとして扱えるようUE4を拡張。64×64×64のVolumeTextureとして認識されていることが確認できる
ランタイムでは先ほどのVolumeTextureをシードとしてさらに3オクターブを合成してアニメーションさせている。画像は実機での表示。なお、マテリアはVFX班の監修対象ではあるが、背景に配置されたりキャラクターが手にもったり武器に埋め込まれたりと多様な立ち回りが求められる。そのためエフェクトとはまったく異なるものとして扱われ、管轄としてはキャラクターに含まれるとのこと
クラウドの頭痛エフェクト
クラウドの記憶がフラッシュバックする際に表示される頭痛エフェクトや、バトル中のウェイトモード(コマンド選択時の彩度が落ちる演出)などのポストエフェクトもVFX班が担当している。
「ポストプロセス自体はライティング班と同じものを用いていますが、LUTとは別にパラメータをアニメーションさせるなどして、回想時に瞬発的にノイズが走るなどのエフェクトをつくっています。パラメータはカスケード上からオーバーライドできるようカスタマイズしてもらいました」
国内タイトルでは珍しい独立したライティングチーム
ゲーム部門でライティング専門チームが組織されることは国内タイトルではまだ珍しい。本作のライティングチームは、量産へとフェーズが移行するのと前後して、クオリティアップを目指して編成された。
方向性の試行錯誤
ライティング作業当初の、演出要素を排除しリアル値だけでライティングした状態。
「工業地帯へ取材に出かけ、そこで撮影した光源を調べてゲーム内のライトアセットに適用しました」。データ的にはリアル値を使っているが環境デザインにはあまりマッチせず、ゲーム開始のロケーションとしての印象も弱かった。
原作を見直すなどして印象を汲み取り、演出を加えたライティング。
「ユーザーが一番最初に目にするロケーションなので、インパクトを重視しています。一部のライトの配置は現実にはあまりない配置となっていますが、画面奥からの強い光で逆光感を強調した、ドラマティックなライティングにしています」
フィールドライティングのながれ
本作のライティングは、フィールドロケとカットシーンの2つに大別される。2nd Passを終えてENV班からライティング班へ渡ってきた状態のウォールマーケット「屋台通り」のアセット。ロケーションにもよるが、もっとラフに近い段階からライティングが関与し、雰囲気づくりのために仮ライトを仕込むというケースもある。
段階的にライトを仕込んでいき完成度を高めていく。「どこかを集中して進めるのではなく、ロケーション全体でまず60〜70%に引き上げ、そこから詰めていきます」
完成した実機画面。薄くフォグを適用し雰囲気を高め、明暗でユーザーの視線や進路を誘導している。
地下下水道のボス・アプスと戦闘する部屋のライティング。ENV班からアセットを受け取りライティングを開始。部屋の中央やなど各所にプレイヤーキャラやアプスを複数配置し、全体のバランスを見ながら作業を進める。この時点ではフォグ感が強く、照明がやや黄味がかっている。
調整途中の様子。段階的にフォグ感や黄色い照明を弱める方向で修正が重ねられている
フォグ感を強め、やや青緑のトーンに調整。アプスがぶら下がるキャットウォークにも意識的にライトを配置するため仮のアプスが置かれている。
完成した実機画面。さらにフォグ感を強め、アプスのシルエットが出るよう調整された。
天球の作成
天球は背景アセットをENV班から受け取り、球状にレンダリング、Nukeで合成して作成している。レンダリングにはArnoldを使用。
「事前に要素ごとにグループ設定をしてもらっていたので、それをRenderSetupに登録しレイヤーを分けてレンダリングしています」。画像は七番街スラムの例で、Mayaからレンダリングされるレイヤー数は6、テクスチャサイズは8,192✕2,048となっている。昼と夜があるロケーションでは、コンポジット時にできるだけレイヤーを共有する組み方にしておくことでレンダリングコストを抑制。ミッドガルのプレートの上であれば上空は雲や星だが、プレートの下の街で上空に見えるのは、プレートの下面。
「プレート上は基本的に夜空で多少ディテールが甘くても大丈夫なので天球テクスチャサイズは4Kでしたが、プレート下ではディテール感を出す必要があり8Kテクスチャを多用しました。さらに8Kでもディテール感が足りないという箇所も多々ありました」
カットシーンライティング
カットシーンライティングは、大きく3つのステップで制作していく。画像はカットライトのない状態。
仮ライト
ブラッシュアップライト
ポストプロセスで全体のトーンを整え、処理負荷対策まで行なった最終的なライティング。
処理負荷の高いカットシーンでは、シャドウを抑えるなど負荷と見た目の品質のトレードオフに頭を悩ませることも。「エフェクトやフィールドとで処理負荷の配分があり、それぞれ余裕があれば譲り合って『エフェクトの処理負荷に余裕があるのでもっとライトを追加していいよ』などのやりとりがありました」。
ポストプロセスについては、前述した頭痛エフェクトなどのポストプロセスはVFX班が担当する一方、ライティング班は被写界深度・モーションブラー・輝度値に対するグレアの具合など、カメラに関わるパラメータを管轄した。
ライティングのためのシーケンサー拡張
シーケンサーにはライティング作業のための拡張も施されている。
ライト/ポスプロ作成ツール「Make Light Track」。「Spot Light Track」「Post Effect Track」などカットシーンライティング作業に必要な要素にチェックを入れて、一括で作成することができる。
カットごとに複数のライトを配置してライティングを行なっている様子。左列のリストは階層化されており、「C0090」「C0100」などカット単位でグルーピングされている。キャラクターへのライトは、1人3灯を目安に周辺の状況に合わせて変動。
カットごとに、ポスプロ・フィールドライト・エミッシブアセットの強度などを制御している様子。各カットの区切りはタイムライン上に縦線として表現される。
Shotgunや共有マップによる他班との連携
他班との連携のために、作業ステータスをShotgun上で共有。
レイアウト/アニメーション/フェイシャル/VFX/ライティングの状況が逐次投稿されており、各班の情報がひと目でわかるシンプルな構成となっている。ライティング・パイプラインステップには「ライティング」「MasterShot」の2タスクを登録。各イベントのキーとなるショットをマスターショットとして優先的に制作、承認され次第イベントを通した一連のライティングに取りかかる。
ライティングのチェックバックにはShotgun上のオーバーレイ・プレーヤを用い、文字・矢印などのアノテーションで指示が行われる。まずマスターショットでOKを受けてから作業に入るため、ここで大きくNGとなることはない。
各種テストを行うためのベースロケーションを用意し、前ページでも紹介したようにVFX班と共有。このマップはENV班に依頼して作成してもらった軽量な街アセットを配置したものだ。
「ゲーム中の基本となるライトやカメラ設定を、昼・夜それぞれ適用しています。ここでエフェクトの輝度感などを早い段階で摺り合わせて作業を進めていくことができました。ライティング班設立にあたってはプロジェクト全体で好意的に受け取ってもらえたことが大きかったと思います。他班がライティングのために動いてくれるなど、ライティングに理解を示して暖かく対応してもらえることが多くありました」
処理負荷の最適化
ライティング班開設当初は、映像制作のライティングの要領で潤沢にダイナミックライトを配置、質感は十分ながら実機での負荷が過大となってしまった。
処理負荷対応前のフィールドライト
ステーショナリライトのオーバーラップ表示。赤〜白の高負荷領域が画面の大部分を占めている
この状態でプレイすると、17.53FPSと快適とは言えないフレームレートに
処理負荷対応を終えたフィールドライトとオーバーラップ表示。
「スタティックライトはベイクするため処理負荷が低いのですが、質感が出ません。そのため、遠景や、近景であれば強めにならないようにして配置しています。ダイナミックライトはそれぞれ近接しないようにし、スポットライトのコーン角度、照射距離、シャドウの精度を調整して、処理負荷を低減しています」。
処理負荷対策後のフレームレートは29.84FPSとなり、グリーンの範囲に収まっている
オススメのライティングカット
山口氏お気に入りのライティングカットは、壱番魔晄炉爆破後、八番市街地の地下道を抜けた後の広場でのワンシーン。
オープンワールドのゲームのように、ユーザーの意思で任意に様々なロケーションを行き来できるのとは異なり、本作では一度通り過ぎたら再度訪れることはできないロケーションが多く存在する。そのため、現実に則してスマートに画づくりしたくらいではユーザーの心に残らない。ここぞという場面では誇張を効かせ、インパクトを重視した。
「配置されているエフェクトの炎で得られる光量よりもかなり強いライトを設定しています。ここは魔晄炉爆破の影響をより印象づけたかったので、リアルではなく演出に寄ったライティングにしています」。
ほかにも、順当なライティングでは得られないくらい強めにリムライトを当てるなど、カットごとに演出やキャラクターの魅力が際立つよう工夫し、本作の長大なカットシーンを飽きさせないよう誇張を交えながら丁寧に描いている。
亀川氏が印象に残っているライティングとして挙げたのは蜜蜂の館。特にダンスイベントは作中最大級の長尺カットシーンとなっている。
「原作から大きく拡張された部分の1つです。ダンスが3曲含まれるといった演出を際立たせるために、ミュージカルやライブ映像を多数鑑賞してイメージを膨らませてライティングしました。」。
また、コルネオは亀川氏お気に入りのキャラクターでもあり、"悪者感""いやらしい雰囲気"が滲み出るようライティング。ユーザーからの反応にはコルネオに関するものも多く、手応えを実感しているという。