イベント
「鉄拳8」60fpsを厳守したレギュレーションで,リソースを最大限に活かした演出ライトを作るには[UEFest’24TOKYO]
本記事では,「『TEKKEN8』における演出ライトシステムと負荷対策」と題したセッションをレポートする。
※鉄拳8は,2024年1月26日に発売されたタイトル。開発ではバージョンアップを繰り返しながら,最終的にUE5.2を採用している
レギュレーションを定め,演出で使える負荷を明確化
鉄拳8のライトについて,アート視点では「背景やキャラクターをかっこよく魅力的に表現する」,ゲームデザイン視点では「キャラクターの視認性をよくする」という要素が重要となる。エンジニア班は,これらの要素を満たしたうえで60fps(処理時間16.6ms)を厳守するシステムを構築する必要がある。
鉄拳8のGPU負荷レギュレーションは,「シンプルな背景+キャラクター表示」で8ms,「背景表示」で10ms,「背景+キャラクター表示」で12msである。
演出に使えるライトは60fpsの16.6msから,それぞれの負荷を引いたものとなる。例えば,バトル中は「背景+キャラクター表示」で12msが最低限必要となるので,演出で使えるのは4.6msである。
演出で使える負荷に余裕があればあるほど,それぞれのライトで影の表示を有効にしたり,影やフォグの品質を上げたりできる。
アート班が自由にライトをこだわれる環境になればなるほど,よりかっこいい演出を作り出せるので,アート班が作業しやすい環境を構築するのも,負荷対策と合わせて,エンジニア班の重要な仕事となるようだ。
背景ライトとして採用した「SunSky」の弱点と負荷対策
鉄拳8のライトは主に,背景ライトとキャラクターライトに分けられる。まず,背景ライトについて説明された。背景ライトは,マップ全体の明るさなどを担うベースとなるライトである。
アート班からの要望である「現実のライトに近い環境で作りたい」「いろんなモデルを破綻なく表示させたい」を叶えながら,エンジニア班は低負荷のシステムを構築する。
特に,背景ライトの負荷を減らせると,その分演出に使えるリソースが増えるので,ここで負荷対策をしっかりする必要があるそうだ。
背景ライトは,Epic Gamesが提供している「SunSky」をベースに利用した。地理的な位置や日時など現実に近いパラメータで調整でき,アート班の要望を満たしつつ,公式な機能で安心して使えるということで採用したという。
Epic Games公式ドキュメント「Unreal EngineのSun and Skyアクタ」
SunSkyを使用してみると,アセットのサムネイルやプレビューが白飛びしてしまうなど,エディタと相性が悪い部分があったという。
サムネイルやプレビューなどで,エミッシブ(発光の強さに関わるパラメータ)を自動的に調整するノードや設定を追加して,問題なくアセットを使えるように環境を整備したそうだ。
また,処理負荷軽減のために,ライトはベイク(ライトを事前計算して保存しておく仕組み)している。UEでは1つのレベルに対して,複数のライトパターンを用意でき,ゲーム中に切り替えることも可能だ。
鉄拳8では,このライトの切り替えと同時に,サブレベルのオン/オフも切り替えているそうだ。昼夜常に表示したいものと,夜だけ表示したいものなどを,アート班が自由に設定できるようにしているという。
それぞれの時間帯でライトをベイクする処理が必要となり,自動で毎晩1回,急ぎの場合は手動でベイクを回したそうだ。ベイクを繰り返すプロセスが大変になるが,クオリティを担保しつつ,負荷を軽減できたという。
バトル中や登場シーンなどの基本的なライト構成
背景のライトのみの環境で,キャラクターを配置しても,影ではっきりと見えない。ここで,キャラクターライトを当ててみると,影だった部分を明るくしつつ,輪郭もはっきりする。バトルシーンでキャラクターを照らすライトは,3点照明が基本となっている。単一の方向からレベル全体を照らす背景ライト「キーライト」をベースに,影を和らげるための「フィルライト」と,輪郭をはっきりさせるための「バックライト」の2種類をキャラクターライトとして配置している。
なお,バトルシーンではそれぞれのキャラクターにバックライトを配置するので,フィルライト1つ,バックライト2つの計3つがキャラクターライトとして配置される。
フィルライトはバトルシーンを映すカメラの位置に,バックライトはキャラクターの後ろの位置に配置され,カメラやそれぞれのキャラクターを追従する。
負荷軽減のため,キャラクターライト2種は「Cast Shadow」(影を落とす機能)をオフに設定している。
また,カメラの位置によって背景ライトの順光/逆光の影響を受けるため,順光/逆光それぞれのパラメータを用意して,キャラクターの白飛びや影が必要以上に濃くなるのを防いだそうだ。
鉄拳8では,バトルシーンの前後に,キャラクター1体をフォーカスした登場シーンや勝利演出が入る。
登場シーンなども,バトルシーンと基本的にライト構成は同じで,フィルライトやバックライトを意識したものとなっているが,対戦相手のバックライトは不要となる。その分のライトを演出対象のキャラクターに使用しており,表現の幅が広がっているようだ。
また,バトルシーンよりも演出に負荷をかけられる余裕があるため,キャラクターライトのCast Shadowをオンにしている。
処理負荷の関係から影を出せるのは,3つのライトのうち2つに制限しているが,アート班の要望で,細かい影づくりができる機能「Contact Shadow」(コンタクトシャドウ)を利用可能にしたという。
Epic Games公式ドキュメント「コンタクト シャドウ」
これで,アート班は,キーライトと同じ方向にライトを配置して,Contact Shadowでより濃い影を落とすなど,かっこよさ重視で自由に作業ができるそうだ。
演出ライト数は,キャラ数×演出数×ステージ数という膨大な数になるため,Excelでライトの種類や演出の再生位置などを設定している。
Excelの強みとして,複数のパラメータを一括で編集したり,値をコピーして貼り付けたりするのが簡単になる。
Excelで整理したデータは,エディタ用にコンバートして,UEで実際に確認する。UE側で値を調整した場合は,パラメータをコピー&ペーストでExcelを更新する流れだ。
なお,演出ライトをそのまま既存のステージに割り当てると色がどんどん飽和して白くなってしまうため,背景ライトや光の反射具合を弱くしてから,演出ライトを乗せられる仕組みを入れているそうだ。
必殺技「レイジアーツ」のライト構成
鉄拳8の対戦で,一発逆転を狙える大技「レイジアーツ」では,「レイジアーツ予告」「レイジアーツ中」でそれぞれ別のライト構成となっている。レイジアーツの演出でのキャラクターライトは,どちらもバトルシーンのものと基本は同じで,3つのライトを使用している。
レイジアーツ予告の演出では,キャラクターの輪郭を強調するバックライトを赤と青に変更する。この時,背景ライトの影響度も下げることで白いハイライトを抑えつつ,赤と青が効果的に映えるようにしている。
レイジアーツ中は,予告の演出から大量のポイントライトやレンズフレアを追加して,派手な演出を実現している。
また,一部のレイジアーツでは,専用背景に遷移する。専用背景は,オブジェクトが少ないので,演出に多くのリソースを割けるそうだ。
一方,演出にかなりの負荷を割けるメニュー画面では,2つのキャラクターライトと,ベースのライトの3つのみという,かなりシンプルな構成となっている。
影やフォグの品質を上げているのもあるが,アート班が自由にライトを配置できると表現力がかなり上がるという。
このようにライトは,演出の負荷と見え方に大きな影響を与えるため,シーンごとに細かく設定を変更したり,ライトを追加したりして,利用可能な負荷リソースを有効活用している。
負荷チェックや開発環境の整備で行ったこと
各シーンでさまざまなライトの設定が行われていたが,追加した機能の取捨選択をするためにも,定期的に負荷チェックをする必要がある。鉄拳8の開発では,計測したいシーンを指定して毎晩自動的に負荷テストを実施し,翌朝には結果を見られるようにしたそうだ。
この計測方法は,何も操作していない状態での負荷をチェックするためのものであり,ヒッチ(カクつき)のチェックは,別途自動的に対戦を繰り返してデータを集計している。
基本的にはUEの標準的な機能であるStatコマンドで取得しているが,一部機能を改良して,ゲーム画面のスクリーンショットを自動で取得するようにしたそうだ。
ヒッチチェックで引っかかった部分は,エフェクトを削るなどして,逆に全然ヒッチが確認されなかった部分については豪華なライトを割り当てるという流れで,リソースをフルに活用していったという。
また,強力な機能として動的解像度も利用しており,負荷が大きい場合は,とにかく早く解像度を下げている。負荷が高くなると事前に分かっている部分については,あらかじめ解像度を一番低い状態にして,カクつきを回避するそうだ。
描画パラメータ(フォグや影の品質など)については,マップごとに細かく設定しているという。これらのパラメータは,ゲーム全体に影響を与えるため,マップの出入り時に確実に適用され,マップを抜ける際に必ず初期化されるよう,専用のアクタを配置している。
また,バトル中に窓ガラスなどを割った際のブラーや,レイジアーツ中の色の反転エフェクトなども,演出管理用アクタをそれぞれ用意して,バトル進行に合わせて通知されるイベントを受け取り,演出を実行しているという。
鉄拳8のキャラクターは32体でコスチュームも豊富なため,開発ではそれらをすぐにエディタ上で切り替えられるよう,エディタ専用のUIを用意している。
昼と夜などのライト設定もUI上で操作できるように整備され,マウスで簡単に切り替え可能だ。
本セッションでは,ライトを中心に,負荷を抑えるだけでなく,アート班が作業しやすい環境を構築する方法が紹介された。
レギュレーションを制定し,負荷チェックの仕組みを導入することで,60fpsを厳守しながら,限りあるリソースを最大限に活用した演出を実現したようだ。
「鉄拳8」公式サイト
「UNREAL FEST 2024 TOKYO」公式サイト
「Unreal Engine」公式サイト
- 関連タイトル:
鉄拳8
- 関連タイトル:
鉄拳8
- 関連タイトル:
鉄拳8
- 関連タイトル:
Unreal Engine
- この記事のURL:
キーワード
TEKKEN™8 & (C)Bandai Namco Entertainment Inc.
TEKKEN™8 & (C)Bandai Namco Entertainment Inc.
TEKKEN™8 & (C)Bandai Namco Entertainment Inc.