オススメ機能
Twitter
お気に入り
記事履歴
ランキング
4Gamer.net
TOP
PC
PCゲーム
レビュー
プレイレポート
インタビュー
体験版
ムービー
最近発売されたタイトル
最近のオススメ
ゲームカタログ
読者レビュー
Xbox
PS4
PSV
Switch
3DS
スマホ
女性向け
VR
ハードウェア
AC
アナログ
パッケージ
ストリートファイターV公式サイトへ
読者の評価
52
投稿数:2
レビューを投稿する
準備中
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

    定期的に記事を追いたいタイトル/キーワードを最大20件登録できます

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月~金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
西川善司の「試験に出るゲームグラフィックス」(9)「ストリートファイターV」における高密度なノンフォトリアル表現,そのレシピを探る・前編
特集記事一覧
注目のレビュー
注目のムービー
  • 3/30 サイトオープン
  • 3/23 プレイレポート掲載
  • 4/6 最新情報更新
  • 3/3 「アルスト」情報更新
  • 4/6 キャンペーン情報更新
  • 4/2 注目連載更新
  • 4/11 最新情報更新
  • 4/6 最新情報更新
  • 3/30 最新ムービー公開
  • 4/7 合戦攻略 掲載
  • 3/5 クーポン更新
  • 3/13 パッチ4.25 公開

メディアパートナー

印刷2018/04/12 00:00

連載

西川善司の「試験に出るゲームグラフィックス」(9)「ストリートファイターV」における高密度なノンフォトリアル表現,そのレシピを探る・前編

 格闘ゲーム自体は,起源を語ると8bit機時代まで遡ってしまうが,アーケードゲームの世界に「見知らぬ人同士との対戦」という新しい遊びを提供し,「格闘ゲーム」というジャンルを確立したのは何かと問われれば,それはストリートファイターシリーズということになる。

ストリートファイターV


第2世代の「3Dグラフィックスを採用した2D格闘ゲーム」


ストリートファイターV
ストリートファイターII
ストリートファイターV
ストリートファイターIV(のシリーズ集大成版と位置づけられる「ウルトラストリートファイターIV」
 社会現象にまでなった「ゲームセンターにおける対戦ブーム」の火付け役は,初代「ストリートファイター」ではなく,1991年にアーケードで登場した「ストリートファイターII」(以下,ストII)のほうだった。以降,1990年代のゲーセンは,各社から出た多様な格闘ゲームで溢れかえることになる。

 その後,格闘ゲームバブルは弾けたが,2008年には,「ストリートファイターIV」(以下,ストIV)がアーケードに登場。ほどなくしてPlayStation 3版とXbox 360版もリリースされ,合計300万本を超える大ヒット作となった。
 ストIVは,日本において「3Dグラフィックスを採用した2D格闘ゲーム」の代名詞的作品となり,広く業界に影響を与えたとされる。実際,本連載で以前取り上げた「GUILTY GEAR Xrd -SIGN-」の開発メンバーも,「ストIVを参考にした」と言っていたほどである。

ストリートファイターV
 そしてこの流れを受けて2016年に登場したのが,今回取り上げる最新作「ストリートファイターV」(PC / PlayStation 4,以下 ストV)だ。
 「3Dグラフィックスを採用した2D格闘ゲーム」の第2世代モデルでは,さまざまな独自技術が盛り込まれているはず。今回は,「ストリートファイターV アーケードエディション」(PC / PlayStation 4,以下 ストVAE)が登場したこのタイミングで,カプコンの綾野智章氏亀井敏征氏に話を聞くことができたので,前後編に分け,独自技術周りを掘り下げていきたい。

綾野智章氏(左)と亀井敏征氏(右)


ストVはなぜUE4を選択したのか


ストVとUE4(※Unreal Engine公式Webサイトより)
ストリートファイターV
 そもそもの話をしておくと,作品としてのストVが発表されたのは2014年12月のことだった。発売は2016年2月だが,開発プロジェクトのスタートは欧米でPlayStation 4(以下,PS4)が発売となった2013年まで遡るそうだ。
 2018年現在,Epic Gamesの「Unreal Engine 4」(以下,UE4)を格闘ゲームで採用することは「半ば当たり前」という状況だ。ただ,2014年のストV発表当時は,かなりの驚きをもって迎えられたことを憶えている。

 「UE4を採用してよかったこと」はどんなところにあるのだろう。ストVでアート監修の立場から開発に携わった,第2開発部 第一開発室 アートディレクターの亀井敏征(かめいとしゆき)氏からは,次のような回答が得られている。


亀井敏征氏(カプコン ストリートファイターV アートディレクター)
ストリートファイターIVの開発には美術と技術の両側面から開発に携わった。ストリートファイターVでは,主にアート監修の立場で開発に従事している。国内外のゲーム開発系カンファレンスでの登壇も多数
亀井敏征氏:
 とにかくアーティスト主体で制作や提案ができることですね。「作りたいビジュアルを自分達の手ですぐに作れる」ことが大きかったです。
 たとえば制作担当が「ネカリの髪を揺らしたい」と考えたときに,従来の制作スタイルではプログラマーに「こういうふうに揺らしたい」と説明したり,仕様書を作ったりする必要があったわけです。それがUE4だと「こういう感じで」というプロトタイプを,アーティストが自分ですぐに作れるんです。

 もちろん,最終的にそのプロトタイプをそのまま製品版で採用することになるケースはまれですが,エンジニアは,アーティストの作ったプロトタイプをベースに最適化したり改良したりして開発できるんですね。グラフィックス面の開発速度が圧倒的に上がったのは,明らかなメリットでした。


 また,開発コミュニティが充実していて,それこそUE4は以前から独立系開発者向けに安価で出ていたりして,結果,幅広い知見に容易にアクセスできることも大きかったと,亀井氏は振り返っている。


亀井敏征氏:
 たとえばテクスチャ模様を水流のように流すエフェクト表現の「Flow Map」を使おうとしてやり方が分からないときに「UE4 Flow Map」と検索するだけですぐに調べられるんです。
 「習得コストが安価」というのはUE4のメリットですね。


 逆に「使いにくかった」部分はあるのだろうか,聞いてみると,次のような回答が得られた。


亀井敏征氏:
 スケールのアニメーションはやりにくかったです。特定の部位を巨大化させるとしますよね。そのとき,ボーンの末端などはある程度うまくいくんです。しかし,それ以外の部位を巨大化しようとすると,うまくいきません。
 結局,こうした表現は,形状の変更――実質的には,3Dモデルの置き換え―で対処しています。


ザンギエフのダブルラリアットを例に考えてみる(下に続く)
ストリートファイターV
 補足説明をしておこう。
 実のところこれはストII時代からの伝統なのだが,ストリートファイターシリーズでは,繰り出した攻撃部位――「格ゲー用語」で,攻撃を行う身体の部位――をプレイヤーに伝えやすくする目的と,アクション的な演出も兼ねて,拳など特定の部位をあえて若干巨大化させるデフォルメ表現を導入している。

(続き)そのまま表示させると攻撃部位となる腕や拳の太さは左のようになるが,実際にダブルラリアットが発動するときには,右の状態にまで攻撃部位が大きくなっている。これは格闘ゲームならではのアニメ的表現だ
ストリートファイターV ストリートファイターV

 こうしたデフォルメ表現は,リアル志向のUnreal Engine系は不得意だったようで,冒頭でその名を挙げたGUILTY GEAR Xrd -SIGN-では,「Unreal Engine 3」を採用しつつ,エンジンを改造して,デフォルメ表現を実装していた。

 カプコンの開発チームも,UE4の改造は検討したそうだ。ただし,追加でかかる開発コストや,改造によって生じうるエンジンの安定性への影響を考慮して,そこは踏みとどまり,シンプルに「モーフターゲットを用意して『部位を巨大化した3Dモデル』に変形させる」という代案を採用したとのことである。
 「この代案」を採用した表現としてはダルシムのクリティカルアーツ(※超必殺技)でお腹を膨らませる表現や,F.A.N.GのVトリガーIIにおける腕まくりをする表現などが該当するという。

これはダルシムのクリティカルアーツ「ヨガサンバースト」
ストリートファイターV ストリートファイターV
空気を吸い込んで頬を膨らませている表現は,「頬を膨らませている顔モデル」を用意して,平常時の顔モデルからモーフィングさせる処理で実現している
ストリートファイターV ストリートファイターV
ストリートファイターV ストリートファイターV
お腹を膨らませる表現も同様で,「お腹を膨らませた3Dモデル」へのモーフィングを仕掛ける
ストリートファイターV ストリートファイターV
ストリートファイターV ストリートファイターV


亀井敏征氏:
 あとは「物理シミュレーション」ですね。UE4では(物理シミュレーションエンジンとして)NVIDIAの「PhysX」を採用しているのですが,これの制御がなかなか難しく,現在進行形で取り扱いには苦労していて,UE4に対して改善を望むポイントになっています。
 一部の物理挙動は,ストIVと比べても満足できていない部分がありますね。


 ストVでは一部キャラクターの付帯物の挙動をUE4側のPhysXで演算している。しかし,その挙動が安定しない事象がよく発生していたようだ。
 ストIVだと,開発元であるディンプス独自のゲームエンジンに統合された物理シミュレーション機能で実現していたため,そうした問題は出ていなかった。

ストリートファイターV:バルログの後ろ髪

Clik to Play
Clik to Play
ストVのリリース直後はゲーム開始前にキャラクターが対峙するシーンでもバルログの後ろ髪はブルブルしていたほどだった。ただ,どこかのタイミングで改善が入ったようで,現在,ザンギエフの髭や胸毛,女性キャラクターの衣服などといった部分も含め,このムービーで示すようなブルブルに遭遇する頻度は減っている

 ちなみに,ストVで採用しているUE4のバージョンは4.7.6とのこと。
 2018年2月時点の最新版はバージョン4.18.2だが,ストVは,古いバージョンで固定してある。これは,不用意にバージョンアップを行うと動作の安定性が損なわれる可能性を排除できないためだそうだ。
 こういう対応はほかのゲームタイトルでもよくある判断であり,ストV特有のものではない。


ストV開発プロジェクトの経緯と開発体制


綾野智章氏(カプコン プロモーションプロデューサー)
ストリートファイターIVでアシスタントプロデューサーを担当して以降,「ストリートファイター×鉄拳」など,ストリートファイター関連シリーズ全般でプロデュース業を歴任。ストリートファイターVではプロモーションプロデューサーという立場で,スポークスパーソン的な役割を果たしている
 ストリートファイターシリーズ開発の過程でカプコンはこれまでも,最終的な製品版に到達するまでの間にさまざまな要素をプロトタイプとして実装して検討し,取捨選択してきた。この過程の話がとても面白いのだが,ストVのプロモーションプロデューサーである綾野智章(あやのともあき)氏は,その点について次のように述べている。


綾野智章氏:
 若干の例外はありますが,ストリートファイターシリーズは基本的に,ナンバリングが1つ上がるごとに,新しいハードへ提供されています。そしてそのたびに,ゲーム体験だけでなく,ビジュアル面においても「次世代感を具現化させる」という目標を掲げるんです。
 長い開発期間を経て,最終的に製品版として仕上がるわけですけれども,そういった目標の実現に向けて,当然今回も,さまざまな要素をプロトタイプとして実装し,検討しています。


ストリートファイターV
 最初に開発チームは,UE4の使い方習得を兼ねて,フォトリアル(=写実的なリアルさ)を追求したプロトタイプの制作に取りかかったという。
 もちろん,この「リアル版ストVプロトタイプ」が最終的な製品で採用されることはあり得ないと,開発チームの全員が理解はしていたが,「急がば回れ」的な感覚でフォトリアル版ストVのプロトタイプ制作に取り組んだのだそうだ。

試作された「フォトリアル版ストV」のプロトタイプ画面。確かに「ストリートファイター」シリーズには見えず,鬼武者っぽい雰囲気もあるが,キャラクターの存在感や,世界観の情報量には説得力がある
ストリートファイターV ストリートファイターV
コスチュームデザインのカラーバリエーションも検討されたようだ
ストリートファイターV


亀井敏征氏:
 ストリートファイターの世界観は,アーティスティック寄りな,いわばNPR(Non Photo Realistic,非リアル。広義では「絵画的な」の意もある)になっていますが,NPR表現を行うには,「フォトリアルへの理解」が必須なんです。

ゲームオーバー時,負けた方のヤラレ顔が表示されたストリートファイターIIシリーズ。このダメージ表現をストVではゲーム中に導入しようと試みたそうだが……
ストリートファイターV
 ビジュアル面で開発最初期に掲げたコンセプトは「戦いを魅力的に,そしてドラマチックにする」というものでした。
 それに向けて最初に思いついたのは,ストIIの「テレッテー♪」のBGMとともに表示されるゲームオーバー画面の「負けたほうがケガをしてボコボコになっている」表現をリアルタイム3Dグラフィックスで実現するというものでしたね。


 開発最初期のプロトタイプでは,それこそ流血や流れる汗,筋肉のリアルな動きなどを表現して,リアルタイムにケガをしていくシステムを実装したのだそうだ。
 これは技術的にはうまくまとまったそうなのだが,最終的な製品化にあたっては,このケガ表現要素はまるごとカットすることになった。


亀井敏征氏:
 もちろん,デフォルメは最大限に入れていたんですが,それでも,どうやっても残酷に見えてしまうんです(笑)。漫画的な「たんこぶ表現」では済んでいないというか,どうしても痛そうに見えてしまって,レーティング的な落としどころも見極めにくいということで,泣く泣くカットした経緯があります。


綾野智章氏:
 ストリートファイターシリーズって,暴力的な表現があっても,最終的には「笑える」表現にしたいんですね。だからこそ「痛くない」と感じられるわけで。

 たとえばアレックスのCA(クリティカルアーツ,超必殺技)フィニッシュでは相手が床や地面に頭から突き刺さって終わりますが,あれ,現実だったら死んでます(笑)。でもバカバカしいくらい非現実的なので痛く感じられないし笑えちゃうんですよ。でも,いま亀井のお話ししたリアルタイム怪我表現だとそうはならなかったということです。

ストリートファイターV:アレックスのCAフィニッシュ

Clik to Play
Clik to Play
頭を地面にめり込ませたまま気絶している様子。漫画的な表現が笑いを誘う
ストリートファイターV ストリートファイターV

亀井敏征氏:
 その中から,最終的な製品版に残った表現としては「ドラマチック表現要素」があります。バトルフィールドの両端付近で相手をKOしたときのフィニッシュ演出ですね。ロンドンのステージでトイレの壁に刺さったり,敗者が座席に押し込まれてそのまま2階建てバスが発進してしまったり……というアレです。
 あれはストIVの開発初期において,実装予定の表現要素として挙がっていたものの,開発期間やコスト的な理由で実現ができなかったものでした。それが今作ではついに念願叶って実現したという経緯があります。

ストリートファイターV
ロンドンステージでは,負けた側が近衛兵の帽子を被らされる
ストリートファイターV
こちらもロンドンステージ。トイレの壁を突き破ったフィニッシュだ
香港ステージの,バスの座席に叩き込まれるフィニッシュ。そのままバスが発車するという流れにはコメディ色が漂う。バスの広告ラッピングにも注目したい
ストリートファイターV ストリートファイターV
やはり香港ステージより,中華料理店の厨房に叩き込まれてラーメンが落ちてくるフィニッシュ
ストリートファイターV ストリートファイターV


 ストV制作にあたっては,子会社のCAPCOM U.S.A.とゲームメカニクスデザインにおいて意見を出し合いつつ,メインの制作は日本側主導で進めたそうだ。


ストVのグラフィックススペック


 続いて,グラフィックススペックを見ていくことにしよう。
 PS4版のレンダリング最大解像度はフルHDの1920×1080ピクセルとなっており,これは最新版であるストVAEでも変わらない。PlayStation 4 Pro(以下,PS4 Pro)で動作させた場合も4Kレンダリングにはならず,フルHDとなる。
 言い換えると,ストVの開発にあたってバージョンを4.7.6に固定したUE4はPS4 Proが登場する前のものなので,PS4 Pro固有機能への対応が難しかったということである。

 一方でPC版は柔軟な作りになっており,GPU性能の許す限り,フルHDを超えた解像度を選択できるようになっている。

PC版で4K(左)とフルHD(右)を比較したもの。バルログの腰紐に入る模様や,背景である軍人の胸元にあるワッペン内にあるマーク,「ROUND 1」と出る文字の曲線部分に注目すると,4K表示のほうが美しい
ストリートファイターV ストリートファイターV

 フレームレートは60fps。これはPS4版もPC版も同じだ。詳しくは後編で触れるが,ストVの2D格闘ゲームメカニクスが60fps基準で設計されているので,ストV世代においてここが倍速化されることはない。

闘い合う2体のキャラクターと背景。これがストVにおける基本的なグラフィックス要素となる
ストリートファイターV
 1キャラクターあたりのポリゴン数は約8万ポリゴン。ストVでは,キャラクターの顔面に使っているポリゴン数だけで,ストIVのキャラクター全身のポリゴン数にほぼ等しいという。それだけ,キャラクター3Dモデルのポリゴン解像度が上がっているということだ。

右上の画面をワイヤーフレーム表示させたところ。キャラクターと背景のいずれもポリゴン数は前作ストIVに対して増大している
ストリートファイターV ストリートファイターV

 視点からの距離に応じて3Dモデルの精細度を切り換えるLoD(Level of Detail)システムは非採用。格闘ゲームという性質上,メインキャラクターが遠方に行く表現がないためである。亀井氏も,次のように述べていた。


亀井敏征氏:
 顔面が大写しになるようなイベントシーンでもゲーム中でも,常に最上位品質の3Dモデルを選択して描画しています。

ストリートファイターV ストリートファイターV
キャミィ。ここまで大写しになってもポリゴン密度が高いのがよく分かる。ストVではゲームプレイ中もこのレベルのモデルをそのまま動かしているわけだ
ストリートファイターV ストリートファイターV
ザンギエフ。ワイヤーフレームを見ると,顔面と指先のポリゴン密度がすごい


 背景のポリゴン数は40万から50万ポリゴンくらい。シーン全体ではトータル70万から90万ポリゴンくらいとなっている。

 バトルステージによってGPUに対する負荷に多少の開きがあるため,やや負荷の高いステージでは,格闘ゲームの命ともいうべき「60fps死守」のために,プレイヤーが気付かない範囲でグラフィックス要素の削減などを行っているそうだ。
 たとえば,背景側に観衆が多いシーンではプレイヤーキャラクターの足が巻き上げる土煙が少なめだったり,遠方の影生成が省略してあったり,腕を振り上げて応援している観衆一人一人のアニメーション更新間隔を30fps相当に下げてあったりしているとのこと。これはなかなか興味深いポイントである。


亀井敏征氏:
 意外に思えるかもしれませんが,アニメーション処理や,(PhysXによる)物理シミュレーション処理はかなりCPU負荷が高めになっています。ですので処理の最適化は,キャラクターごとに綿密な計画を立てて行っていますね。


 テクスチャ周りだと,1キャラクターあたり,まずベースカラー(Albedo,拡散反射項。UE4はこれをベースカラーと呼ぶ)と法線マップ(Normal Map),マテリアルパラメータ(Material Parameter)テクスチャの3要素が4096×4096テクセルで設計されている。マテリアルマスク(Material Mask)テクスチャは2048×2048テクセル,肌表現用の表面下散乱(Sub-surface Scattering)テクスチャが512×512テクセルで,合計すると1キャラクターあたり20~30MB程度の容量になる。

 なお,マテリアルパラメータテクスチャは,UE4の物理ベースレンダリングで利用される,スペキュラ(specular,鏡面反射強度)およびラフネス(roughness,面の粗さ),メタル(metal,金属材質のハイライトが光学現象によって特定の色にシフトする度合い),アンビエントオクルージョン(ambient occlusion,環境光による自己遮蔽率)をワンパック化したものになっているとのことだ。

ストリートファイターV
バーディで見ていこう。こちらはカラーテクスチャだ
ストリートファイターV
カラーマスクテクスチャ。RGBがそれぞれ1色めと2色め,3色めのマスクに相当する。テクスチャのα部はネカリの自発光要素といった特別なマテリアル表現で使う
ストリートファイターV
1ポリゴン未満の微細な凹凸表現を行うために用意された法線マップテクスチャ
ストリートファイターV
物理ベースシェーダ用テクスチャ。RGBαの要素はそれぞれ,スペキュラ,ラフネス,メタル,アンビエントオクルージョンに対応する
ストリートファイターV
表面下散乱に用いるテクスチャ。浸透した光が出射してくるときにどんな色や強度なのかを示したものになる。主に肌の皮膚などの表現に用いられるが,幅広い半透明材質の表現にも応用できるようになっている
ストリートファイターV
各テクスチャをUE4で利用するにあたってのインポート設定

 すべて材質表現はUE4上で制作されており,そのマテリアル総数はキャラクターのみで約3000個。ただし,基本(ベース)となるマテリアル「マスターマテリアル」は約10種類程度で,このマスターマテリアルからコスチュームごとに派生のマテリアルを作成する仕様だ。
 1コスチュームあたりのそうした派生マテリアルは10~20個で,コスチュームごとに使用マテリアル数は異なる。

 ボーン数は身体が200から300本程度で,顔面は150本程度。顔面のボーン数は格闘ゲームとしてはもちろん,一般的なゲームグラフィックスとして見てもかなり多めだが,これは,顔が大きく歪むくらいの豊かな顔面アニメーションを実現するためだ。

リュウのボーンを可視化した開発画面
ストリートファイターV ストリートファイターV ストリートファイターV
ストリートファイターV ストリートファイターV
ストVのキャラクターは足の指の先にもボーンが仕込んであり,曲がるようになっている
ストリートファイターV ストリートファイターV ストリートファイターV
顔面に仕込まれたボーンを可視化した開発画面。ここまで多く仕込んであるのは,感情豊かな表情を作り出すためだ。右のスクリーンショットを見ると,衣服にボーンが仕込まれているのも分かる
ストリートファイターV ストリートファイターV


ストVにおけるライティングと影生成


 シーンあたりの光源数は3つ。この3つは,いずれも,UE4の「Stationary Light」(ステーショナリーライト)――位置は固定ながら色や輝度は可変でリアルタイムライティングを行える,UE4特有の“半”動的ライト――に相当するものとなる。
 3つあるStationary Lightライトのうち,1つは影生成を行うものだ。ゲーム中,キャラクターが波動拳などの発光体を発射することがあるが,これらは可動ライトとして取り扱われ,周囲の他者をもその光で照らす。ただし,この光が影を生成することはない。

上下段とも波動拳のエフェクトあり(左)となし(右)。波動拳をはじめとする発光体は,エフェクトとして存在するだけでなく,内部に光源が仕込まれているため,周囲を照らしている
ストリートファイターV ストリートファイターV
ストリートファイターV ストリートファイターV

 影生成には,デプスシャドウ(Depth Shadow)技法を採用している。
 デプスシャドウ技法では,「光源位置から見たシーンのオブジェクトまでの距離情報を,デプスバッファ(Depth Buffer)やテクスチャなどへレンダリングしたシャドウマップ」を生成することから,シャドウマップ(Shadow Maps)技法とも呼ばれる。

 さて,実際にピクセルを描画するときは,着目しているピクセル位置から光源までの距離と,前出のシャドウマップから読み出した「当該ピクセル位置に対応する深度値」を比較して,「影か否か」の判定を行う。このあたりの仕組みを図解したのが下の図だ。

デプスシャドウ技法の概念図
(出典:『ゲーム制作者になるための3Dグラフィックス技術 増補改訂版』(西川善司著,インプレス刊)
ストリートファイターV

 ストVでは,ゲームシーンが基本固定で,大きく光源が動く状況が少ない。そのため背景側の影は,事前生成したシャドウマップを用いて描画している。つまり,ランタイムにおけるシャドウマップ生成のGPU負荷はやや低めということになる。

 もっとも,事前生成のシャドウマップが含むのは「光源位置から見たシーンのオブジェクトまでの距離情報」のみ。背景側のテクスチャに影そのものを焼き付けているわけではなく,影自体はリアルタイムで生成するので,「背景の影が闘い合うキャラクターに投射される」表現にも対応できる。
 ちなみに,シャドウマップを事前生成することによる負荷低減テクニックは,PS4用タイトル「人喰いの大鷲トリコ」の開発チームも採用していた(関連記事)。

 シャドウマップの解像度は1024×1024テクセルで,キャラクターごとに作成してライティングしている。遠景と近景で複数枚のシャドウマップを生成するようなカスケード拡張などはとくに行っていないとのことだ。
 デプスシャドウ技法のため,よく観察するとセルフシャドウ表現もちゃんと行われているのが分かる。

左は影要素を完全に無効化した状態。右は逆に影要素をすべて有効化した状態(=製品版)だ。肩口に投射される頭の影や脇腹に落ちる腕の影はデプスシャドウ技法によるもので,つまりはいわゆるセルフシャドウとなる
ストリートファイターV ストリートファイターV
左はアンビエントオクルージョン(Ambient Occlusion,自己遮蔽)による陰影要素のみの画面ショット。右はデプスシャドウ技法による影のみの画面ショットだ。最終的な画面ショットではアンビエントオクルージョンによる陰影とデプスシャドウ技法による影の両方を適用している
ストリートファイターV ストリートファイターV

上段はデプスシャドウ技法による影のみを適用した画面ショット,中段はアンビエントオクルージョンによる陰影要素のみの画面ショットで,下段は両方の陰影要素を適用した製品版の画面ショットとなる
ストリートファイターV
ストリートファイターV
ストリートファイターV
 そのほか追加の陰影表現としては,画面座標系のSSAO(Screen Space Ambient Occlusion,スクリーンスペースアンビエントオクルージョン)の付加が挙げられるだろう。
 これは,シーンを描画したあとに残る深度バッファ(=Zバッファ)を探査して,「凹んでいる」と判断できる場所に淡い陰色を付けていくような疑似陰影生成テクニックだ。2016年2月の発売時点では,チラチラとして粗い表現だったのだが,2017年のアップデートにより,負荷を低減させつつ品質を引き上げることに成功したそうだ。


亀井敏征氏:
 これは,弊社のグラフィックスプログラマーが「品質を上げつつ,負荷も低減させられるよ」と言って,実際に実装してくれたものです。
 ストVは,一連のアップデートによりいろいろと改善が進んでいますが,社内にあるほかの開発チームのノウハウを,積極的に投入していたりします。たとえば,ストVは最近になって読み出し速度が改善したと気付いた方もいると思いますが,あれは別のタイトルに関わっているエンジニアの技術を反映したものになっています。



間接照明にはミドルウェア「Enlighten」を採用


 ストVのグラフィックスにおいて,重要な役割を果たしているライティング要素としては,間接照明(Global Illumunation,グローバルイルミネーション,大局照明や大域照明ともいう)がある。

ストリートファイターV
キャラクターに対するライティング適用前
ストリートファイターV
直接光によるライティングのみを適用したもの
ストリートファイターV
Lightmassによる間接照明のみを適用したもの
ストリートファイターV
Enlightenによる間接照明のみを適用したもの
ストリートファイターV
すべてのライティング要素を適用したもの
ストリートファイターV
デプスシャドウ技法による影も追加した,最終製品版

 間接照明には,UE4標準搭載の「Lightmass」と,シリコンスタジオ製ミドルウェア「Enlighten」を組み合わせているが,これは少々ユニークなアプローチだと言えるだろう。UE4をよく知る人ほど「Lighmassだけでよくない?」と思うかもしれない。

 Lightmassは,Valveが2004年の「Half-Life 2」で採用したことがよく知られる,事前計算ベースの間接照明テクニック「Irradiance Volume」(イレイディアンスボリューム,リンクをクリックするとpdfファイルのダウンロードが始まります)に近いものだ。

 もう少し具体的に紹介しておくと,まず,背景オブジェクトや静的な光源をシーン内に設置したうえで,シーンをボリューム(=直方体)で分割し,そのボリュームの頂点単位に,当該シーンに対する光の相互反射を事前計算して,「全方位に照射される間接光の放射輝度(=Irradiance)」をデータ化する。そして,ランタイムではシーン内を動き回るキャラクターなどに対し,そのキャラクターを取り囲む放射輝度ボリュームのうち,最も近いところからの間接光――実際には8頂点からの放射輝度情報――でライティングを行う。
 最近の実装例だと,放射輝度を球面調和関数で表現することによってデータ量を削減するケースが多いようだ。

 そもそもストVのグラフィックスはフォトリアルを指向していないため,鮮明な鏡像(=リフレクション)は不要だ。拡散反射主体の間接光表現であれば確かにLightmassで必要十分な気がする。ではなぜEnlightenを採用したのだろうか?


亀井敏征氏:
 我々も最初はLightmassだけで十分かなと思っていたんです。ただ,やはりLightmassはフォトリアル系用途のためか,効果が淡いんですね。
 もちろんこれにバイアスを掛けて強調して適用すれば濃くはできますけれども,それをやろうとすると,ステージの構成要素を変更するたびに再計算が必要で,けっこう時間が掛かる。
 さらに,非リアル系の,「まともに計算しただけだと出ない間接光」までを出したいということになると,Lightmassだけでは都合が悪くなってきまして,それでEnlightenを使うことにしたんです。


 Enlightenは,間接照明実現の考え方がLightmassとは少し違っていて,当該シーンにおける光の伝搬ネットワークを計算する。「もし,この部屋に光を置いたとしたら,光はこの部屋の中をどう広がっていくか」の構造を計算するイメージだ。
 そしてこの計算は,「間接光はどうせ大ざっぱなもの」という仮定の下,部屋に置いてある小道具大道具の3Dモデルを,それこそ積み木で作ったレベルの簡略化モデルにしたうえで行うことになる。

ストリートファイターV
間接光をすべて無効化した,直接光によるライティングのみの画面ショット
ストリートファイターV
こちらはLightmassによる間接光を付加した画面ショット
左はEnlightenによる間接光を付加した,最終製品版の画面ショットで,右はステージに配置されるEnlightenのライトプローブを可視化した画面ショットとなる。空中に浮遊している球体単位でリアルタイムの間接光の放射輝度情報を算出するわけだ。Enlightenでは基本,背景物は破壊したり動かしたりできない――その場合は特別な対応が必要――だが,光源やキャラクターが動いても正しい間接光を得られるというメリットがある
ストリートファイターV ストリートファイターV

 ランタイムでは,この部屋の任意の場所に光源を置くと,事前計算した光のネットワークに従う光伝搬を計算することで間接光の効果をリアルタイムで得ることができる。
 GamesIndustry.biz Japan Edition 2017年11月8日の記事で,EnlightenのエンジニアであるWilliam Joseph氏は「EnlightenはPRTではない」と述べている。しかし,原理の説明を読む限り,広義のPRT(Precomputed Radiance Transfer,プリコンピューテドレイディアンストランスファー,事前計算放射輝度伝搬)そのものだ。

 ちなみに,PRTは光源とキャラクターの両方が動く局面でも,比較的正確な間接光表現が得られるテクニックとして現在は注目されている。最新の採用例だと,「FINAL FANTASY XV」(PC / PlayStation 4 / Xbox One)の間接光照明がそうだ。
 ストVでは,Lightmassによる間接照明に加え,Enlightenによる間接光もライティング要素に加えている。おそらく,エネルギー保存の法則的な観点から見て,物理的には正しくないはずだが,ストVで目指しているグラフィックスはノンフォトリアル(Non-Photo Real,NPR)だから,これでいいのである。


亀井敏征氏:
 実のところ,「Enlightenによる間接光にだけ影響を与える専用の光源」も設定できるようにしてあります。たとえば,「あるシーンにはそんな色の光源も照り返しもないけれども,どうしても紫の照り返しが欲しい」という場合には,物理的にはあり得ない間接光を演出することができるわけです。
 この効果の分かりやすい事例としてはロシアや中国のステージが挙げられますね。

左が最終製品版の画面ショット。右はEnlightenの間接照明要素だけでライティングした画面ショットである。右で床が青いのは,アーティスティックな演出で意図的に上から下に向かって青色の間接光を当てているため。左で相対するキャラクター2名の影が青いのはその影響だ。また,彫像や鐘が下から上に向かってやや明るく輝いているのは,石畳からの照り返しの影響となる
ストリートファイターV ストリートファイターV


 ……といったところで,前編はここまで。
 後編では,ストリートファイターシリーズ特有のグラフィックス表現と,「3Dグラフィックスを用いつつもゲームメカニクスが2D」を実現するレシピ,そしてキャラクターの表情やアニメーションといった話題をお届けするつもりだ。

カプコンのストVAE製品情報ページ

line
4Gamer.net最新情報
最新記事一覧へ新着記事10件

スタバ春の新作!桜フラペチーノ

mamatenna | 外部リンク

石原さとみの始球式に球場騒然!

話題の動画 | 外部リンク

トピックス
ゲームするならG-Tune
スペシャルコンテンツ
注目記事ランキング
集計:04月11日~04月12日