お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2021/08/31 19:00

連載

西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Unreal Engine 5(以下,UE5)の存在が発表された2020年5月は,新世代ゲーム機のPlayStation 5(以下,PS5)やXbox Series X/S(以下,XSX)が発売となる半年前だった。


 2000年代以降におけるUnreal Engineの歴史を振り返ると,Unreal Engine 3(以下,UE3)はPlayStation 3(以下,PS3)やXbox 360,Unreal Engine 4(以下,UE4)はPlayStation 4(以下,PS4) / Xbox Oneといった具合に,その時代における次世代ゲーム機の発表に合わせて,新バージョンを発表してきた。
 ただ,理解しておくべきなのは,それらUEの新バージョンは未完成のプレビュー版なものとして登場しており,ゲーム開発者たちは,それを受け入れてきた歴史があることだ。実際,UE3やUE4では,それらを使ってゲーム開発に取り組んだものの,製品版は発売にこぎ着けられなかったという大手ゲームスタジオもあったのだ。

 そんな経緯もあって,新世代機の初年度におけるUEの新版は,「新しいUEの新機能はすげえ!」と盛り上がる一部のゲーマーたちとは対照的に,開発現場では「どのくらい使えるのか?」という点への関心が高かったりする。UE5も,現在はそういった段階にあるからか,2021年5月にアーリーアクセス版の配信が始まり,開発元であるEpic Gamesがリアルタイム技術デモを披露してはいるものの,ほかのデベロッパやパブリッシャが公開しているデモは少ない状況だ。


 2021年7月20日〜24日に行われたゲーム開発者向けカンファレンス「Game Developers Conference 2021」(GDC 2021)では,デモ映像を交えながらUE5を実際に使ってみた感想を語るセッション「"Alpha Point" UE5 Demo: Unlocking Artist Potential」が行われた。
 セッションを担当したのは,UE5を基盤とした新作の開発を検討しているというゲームスタジオThe Coalitionのメンバーだ。Xboxプラットフォーム向けTPSの代表作「Gears Of War」シリーズの版権が,Epic GamesからMicrosoftに委譲されて以降,同シリーズの専業開発チームとしてその名が知られるようになったカナダのゲームスタジオである。

画像は同スタジオが開発を担当した「Gears 5」PC / Xbox One
画像集#050のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ 画像集#048のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 セッションのテーマにもなっている「Alpha Point Technical Demo」(以下,Alpha Point)とは,同スタジオが進めているタイトル名未発表の新作ゲームに向けた技術研究と開発環境構築のために行った習作プロジェクトで,7月27日には,その第1バージョンで開発されたものを紹介するムービーが,Xbox公式YouTubeチャンネルにて公開されている。
 Alpha Pointの開発を通して得られた知見が語られたこのセッションは,今後,UE5ベースのゲーム開発に取り組むとき開発者にとって,指針にもなり得るものと思えたので,本稿にてじっくりと紹介したい。



Alpha Point制作の経緯


 講演を務めたのは,The CoalitionでStudio Technical Art Directorを務めるColin Penty氏。Penty氏によると,Alpha Pointの制作は,UE5を用いたゲーム制作がどのようにThe Coalitionの制作スタイルに変革をもたらすかについて,見通しを立てる目的で行われたという。

セッションタイトルのスライドより。右下が講演を務めた,The CoalitionのColin Penty氏
画像集#001のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 具体的には,UE5のコア部ともいえるジオメトリエンジン「Nanite」と,大局照明システム「Lumen」,それに加えて,超多ポリゴンライブラリ「Megascans」アセットの活用や,XSXにおけるUE5の性能評価などである。
 UE5でのゲーム開発は,超多ポリゴンや超高画質テクスチャを前提とした高密度なシーン制作が大前提にあり,それはゲーム制作に関わるほとんどのスタッフにとって新しい体験となる。そこで彼らは,実タイトル制作前に経験を積むことが必要であると考えた。

0002…Alpha Pointの開発目的
画像集#002のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 少し話がそれるが,セッション中には,デモの解説が行われるときにたびたび,「Alpha Pointは,The Coalitionが関わってきた実在のゲームタイトルとは全く関連しないものである」という断り書きがあった。
 とはいえ,これは私見だが,Gearsシリーズの開発を任されているThe Coalitionが,UE5を活用するという事実,しかも,その性能評価をXSXに対して行うという事実を踏まえれば,Alpha Pointはほぼ間違いなく,Gearsシリーズ最新作に向けた習作と言っていいだろう。
 Alpha Pointの制作にあたっては,The Coalitionが実現したい表現に向けて,UE5の改造(というか拡張)を行ったようで,UE5をただ触ってみたというレベルではない点も,筆者の見方を裏付けていると思う。
 なお,現時点で改造された部分はそれほど多くないとのことで,講演内では「ポストエフェクトである『Convolution Bloom』の実装」「特殊エフェクト実装に伴った追加G-Buffer拡張と,UEにおけるパーティクルエフェクトシステム『Niagara』との連携システムの実装」の2つを,改造を施した部分に挙げていた。

 話を戻すと,Alpha Pointの開発は2020年10月に始まったが,当初はUE4ベースで行っていたという。これは,手慣れたUE4での開発から新しいUE5への移行作業(※主にコンバート工程など)がどの程度になるかを見積もる狙いもあったようだ。
 実際に,UE5を想定して制作した超多ポリゴン素材や超高解像度テクスチャ素材をUE4で扱ってみたところ,速度面で非常に厳しいことが分かったという。

開発最初期に制作された素材群の一例
画像集#003のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 2020年11月に,The Coalitionは,Epic Gamesから開発初期版のUE5を受け取り,移行作業を始めた。Penty氏はこのとき,「UE4ではとてつもなく重かった素材群が,UE5ではサクサク取り扱えることに感激を覚えた」と述べる。
 2021年2月に,Alpha Pointはひとまずの完成を迎えて,2021年5月には一般公開されたUE5アーリーアクセス版へのコンバートを行う。YouTubeで見られる映像そのものは,コンバート後のバージョンによる動作を,XSX実機でキャプチャしたものとのことである。

 完成したAlpha Pointのシーンは,ゲームにおいては聞いたこともないような数(約1億)のポリゴンで構成されており,表示解像度は4K(3840×2160ピクセル),フレームレートは30fpsとなったそうだ。なお,実際のレンダリング解像度は,描画負荷に応じて1080p(1920×1080ピクセル,フルHD)から,1440p(2540×1440ピクセル)までを動的に切り換えて描画する「動的解像度レンダリング」を採用しており,画面に表示する4K解像度の映像は,後に解説するUE5の「Temporal Super Resolution」(TSR)による超解像処理を活用して生成している。

デモとして制作されたものとはいえ,ついに1シーンあたりの総ポリゴン数が1億を超えた
画像集#004のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ


UE5活用において3Dモデル制作/取り扱いで留意すべき点


 Penty氏はこのセッションにて,Alpha Pointの開発チームなりに導き出した知見を淡々と紹介していた。

 UE5では,膨大なポリゴン数で超ハイディテールの3Dモデルを用いた制作が当たり前になりそうなわけだが,その工程についてPenty氏は,「事前のモデリング計画が重要」で,「既存アセットの再利用も重要」であり,さらに「最初に明確なコンセプト設計が必要」と経験談を述べている。というのも,超多ポリゴンの3Dモデルを行き当たりばったりで制作していると,シーンにそれらのオブジェクトを配置したときに描画が遅くなりすぎたり,あるいはUE5のツール上でも動作が遅くなったりしてしまうことが最大の理由だ。
 UE5では,描画対象シーンに対して,Naniteが提供するリアルタイムLOD(Level of Detail)を行えるのだが,もちろん限度はある。いくらでも超多ポリゴンオブジェクトを配置していいわけではないのだ。

※視点からの距離や画面解像度に応じて,描画対象のシーンに登場する3Dオブジェクトを,最適なポリゴン数に増減する処理,または機能のこと。

 これらを踏まえたうえでPenty氏は,「最初にラフなモデルを制作したうえで,シーンに配置して実験を行い,そのあとでディテールを作り込んでいく流れがいいのではないか」と述べている。今回のプロジェクトでは,3Dモデリングは一般的なデジタルコンテンツ制作(以下,DCC)ツールで行い,1オブジェクトあたりおよそ30万〜50万ポリゴンになったとのこと。これは,The Coalitionが制作した「Gears 5」のおよそ15倍の値だという。

超多ポリゴンの3Dオブジェクトの取り扱いが前提となるUE5における制作
画像集#005のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Penty氏によると,100万ポリゴン超の3Dモデリングを行うと,多くのDCCツールは動作が重くなり,そうした超多ポリゴンモデル向けのUV設計(テクスチャとポリゴンの対応を設計すること)は,制作工程においてとても辛い作業となったという。結局,現実的なUE5ベースの開発プロジェクトでは,1オブジェクトあたり30万〜50万ポリゴンが中央値(または上限値)になると見ているようだ。
 なお,UE5ベースの制作では,基本的な情景制作用の3Dモデルに,Epic Games傘下となったQuixelが開発したフォトグラメトリー技術(対象となる物を複数視点から撮影した写真を用いて,3Dモデルを生成する技術)ベースの3Dオブジェクトライブラリ「Megascans」が利用できる。UE5では,商用タイトルでもこのライブラリを無料で利用が可能だ。

UE5環境下で無償利用出来るMegasacnsライブラリの効果的な活用は,UE5におけるゲーム制作において重要なポイントとなることだろう
画像集#006のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ


UE5活用においてテクスチャ関連で留意すべき点


 Alpha Pointでは,4Kテクスチャが中心に用いられたという。8Kテクスチャも試してはみたものの,Alpha Pointでは見た目で分かるような違いが現れなかったことが,理由として挙げられていた。Alpha Pointは,実際のレンダリング解像度が4K未満だったので,当然といえば当然の結果ではある。

超多ポリゴンの3Dモデルに見合うテクスチャ生成も,UE5ベースのゲーム制作では重要なテーマとなる。UV設計も同様だ
画像集#007のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 テクスチャに関しては,視差遮蔽マッピング(Parallax Occlusion Mapping)用のテクスチャも多く作り込んだと,Penty氏は述べた。
 これは,同じ3Dモデルを複数配置することでシーンを制作した場合に生じる継ぎ目や使い回し感(3Dモデルの流用が目に付く)を低減するのに役立つとのこと。Penty氏は,テクスチャの工夫について「UE5のNanite活用におけるキーポイントになる」と考えているようだ。

※平面のポリゴンに立体的で微細な凹凸を作り出す手法。斜めから見ても,凹凸を比較的正しく表現できるのが特徴である。

視差遮蔽マッピングは,UE5のシーン制作における微細な凹凸表現手法として重要になる
画像集#008のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha Pointの開発チームは,UE5におけるテクスチャ関連の取り扱いに関わる部分に対して,独自のエンジン拡張を行ったという。1つは,テクスチャベースの材質レイヤーを4つまでのマルチレイヤーに対応させる拡張で,もう1つは,膨大なテクスチャリソースをカテゴリやタグなどのメタデータで管理することで,検索や流用をしやすくするテクスチャ管理ツールの拡張だ。

テクスチャ関連のコンテンツパイプラインを独自に拡張
画像集#010のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ 画像集#009のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 テクスチャの作成や生成では,Adobe Systemsの「Substance」や「Photoshop」,Quixelの「Quixel Mixer」を使用したそうで,Megascansのライブラリから流用した3Dモデルであっても,テクスチャの多くはそのままではなく,それらのツールで調整しているという。
 Gears 5の場合,微細な凹凸表現のうち,95%が法線マップだけで構成していたが,Alpha Pointでは,追加の拡散反射強度(Diffuse Detail)や,ラフネス強度(Roughness Detail。事実上の鏡面反射強度と思われる)を1枚のテクスチャにまとめたうえで,BC7で圧縮して利用したそうだ。

※DirectX 11以降で利用できる高品位のテクスチャ圧縮形式

 恐らく,法線ベクトルは正規化されているので,XとYの2要素で表現して,拡散反射強度とラフネス強度は,それぞれ1要素のグレースケール値で表現することで,1枚の4要素テクスチャに詰め込んだのではなかろうか。The Coalitionでは,法線マップ+拡散反射強度+ラフネス強度のテクスチャを,「ディテールマップ」と呼んでいるとのことだ。

ディテールマップはマスキングにも対応しているので,複数のディテールマップをマスキングに配慮しながら合成,活用できるようにしている。たとえば木の柄にところどころ,金属の飾りを組み合わせた複合テクスチャ表現は,この仕組みで実現できるそうだ
画像集#011のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 制作したテクスチャをシーンに適用するときは,バーチャルテクスチャのシステムを活用したという。
 バーチャルテクスチャとは,テクスチャ全体をメモリに読み込まず,あらかじめブロック単位で分割したテクスチャをストレージに保存しておくことで,任意の時点で描画に必要なブロックやテクスチャをストリーミングで読み出しつつ利用する仕組みのことである。この仕組みは,DirectX 11.2から「Tiled Resources」の形で提供されていたが,XSXでは,ほぼCPUが介入することなくSSDからデータの読み出しができる「Velocity Architecture」があるため,これと組み合わせることで,バーチャルテクスチャの仕組みを高効率に実装できるという。
 ただ,一連のバーチャルテクスチャの仕組みを利用すると,「GPU側のテクスチャユニットに対する負荷は,通常のテクスチャよりも高くなる」とPenty氏は説明していた。

広大なシーンのテクスチャを,必要な分だけ読み込んで利用出来るバーチャルテクスチャシステム
画像集#012のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha Pointでは,バーチャルテクスチャの仕組みを利用するにあたって,以下に示す仕様で実装している。

Alpha Pointにおけるテクスチャ素材群のメモリー使用量
画像集#013のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 意外にメモリ使用量が小さいのは,Alpha Pointがごく限られたシーンでしか構成されていないためで,Penty氏も「実際のゲームタイトルでは,もっと大きくなるはずだ」と補足していた。

 個人的に興味深いのは,「Non-Streaming Mips:430.14MB」の記述だ。これは,メモリ上で管理しておく遠方表現用の低解像度テクスチャを示している。要するに,近景の高品位な情景のテクスチャは,随時ストリーミングしながら適用するが,常時見えている遠方の情景は,随時読み出ししながら利用するわけにもいかないため,あらかじめオンメモリで管理しておく必要があるということだ。
 つまり,先進的なバーチャルテクスチャのシステムにおいても,シーンで利用するすべてのテクスチャを,バーチャルテクスチャで運用することはできないということである。


UE5の先進ジオメトリシステム「Nanite」についてのアレコレ


 UE5におけるNaniteは,半透明オブジェクトやマスク付きマテリアル,Pixel Depth Offset,インスタンスごとの頂点カラー,ワールド座標オフセットには対応しない。そのほかにも,スプライン曲線・曲面にも非対応である。これらが大きな制限となっているようで,Epic Gamesが公開した一連のUE5デモと,今回,The Coalitionが公開したAlpha Pointのシーン構成がなんとなく似通っていることには,それらが影響していそうだ。

 こうした制限があると,水面や草木のようなオブジェクトの配置と,相性が悪くなる。これまで公開された一連のUE5デモが,砂漠を舞台として,岩石の転がる石造りの遺跡っぽいシーンになりがちなのは,こういう事情があるわけだ。
 そうはいっても,実際のゲームでは,砂地や岩ばかりのシーンだけで構成できるものではない。そこでAlpha Pointでは,水面や植物などが登場するシーンは,Naniteの制限を受けないよう制作したという。

Alpha Pointでは,植物やツタ,そして水面などは,意図的にNaniteの制御から外されている
画像集#014のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 また,Naniteでは,部品とした3Dオブジェクトを敷き詰めてシーンを構成するようなタイリングのシステムに対応していない。つまり,ある石畳の3Dモデルをシーンに複数並べて配置(インスタンスとして生成)することで,石畳の道を形成するようなことはできないのだ。

部品となる3Dモデルを並べてシーンを構成することに,Naniteは対応していない
画像集#015のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 しかし,実際のゲーム制作においては,シーン全体を単一の3Dモデルで管理するのは現実的ではない。Penty氏も「もし,20×20mのシーンをUE5の想定する品質でフルモデリングすれば2000万を超えるポリゴンになり,これはメモリの圧迫につながる」と指摘している。
 そのため,開発チームも「なんらかのタイリングシステムが必要である」という考えに至った。そうして開発されたのが,Nanite外で3Dモデルのタイリング配置を可能とする仕組みだ。これは,UEにおける「BluePrint」の仕組みを活用して制作したもので,実質的に,Nanite制御下の3Dモデルを構成する各ポリゴンを盛ったり削ったりできるタイル状のハイトマップシステムに相当するという。イメージ的には,タイルで管理するディスプレースメント・マッピングのシステムといったところか。
 なお,Penty氏の解説によると,Epic Gamesも,タイリング・ハイトマップの仕組みに近いものを将来のバージョンのUE5に実装する方針を決めたようである。

Alpha Point開発チームは独自のタイリングシステムを構築した
画像集#016のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha Point開発チームの見方では,Naniteの描画性能は,画面内における3Dオブジェクトの数に依存しており,視点位置の変更にはあまり影響を受けない安定した性能となっていたようだ。また,Nanite制御下の3Dオブジェクトに適用されたテクスチャ材質の複雑性や種類,数が,性能に影響を及ぼすという分析も行っている。
 実際の性能は,XSXの実解像度1080pにおけるレンダリングで約2ms。これは,Alpha Pointのシーンが回廊だけのシンプルなものだったからで,Penty氏もそう説明していた。なお,Alpha Pointでは,Nanite制御下にない従来の3Dオブジェクト,具体的には植物や砂埃,水面などの描画には,約2msとは別に約1.2msの時間が掛かっているとのこと。

画像集#017のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
Naniteの性能
画像集#018のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
左がポリゴン単位,右が描画コール単位で色分けしたデバッグビュー


Lumenとバーチャルシャドウマップが切り拓く高品位なライティング表現


 Lumenは,UE5が提供する新世代の照明エンジンである。
 とくに事前計算がほぼ不要なリアルタイム間接照明技術は,ゲームグラフィックスに大きな表現力の進化をもたらすと期待されている。広大な場面において,近景から遠景まで高品位な影生成を行うバーチャルシャドウマップ(関連リンク)技術も,レイトレーシングを行わずにレイトレーシングっぽい影が生成できる新技術として注目されているもののひとつだ。

 当然ながらAlpha Pointでも,Lumenは活用されており,その表現力の品質には「驚かされた」とPenty氏も述べている。また,開発者がライトマップなどの事前計算や,間接照明の作り込みから解放されるため,制作作業の費用対効果という観点から見ても,素晴らしいものと評価しているという。
 ただ,Penty氏は,「とはいえ完璧なものではない」とも付け加えており,「ややざらついた材質への映り込み表現が,少々ノイジーに見えてしまう」ことや,「間接照明強度のパラメータが正しく反映されないことがあり,画面の位置に依存した不自然な描画結果となる場合がある」といった課題点を挙げていた。

 また,Lumenは,GPU負荷の低減目的で,間接照明の計算を1フレーム描画時間内で終わらせず,複数フレームにまたいだ時間方向への分散演算を行うが,カットシーンなどで見られる一瞬にしてシーンが切り替わるような場面で描画がもたついたり,品質的に不充分な描画結果となることもあるようだ。なお,Penty氏によると,Epic Gamesはこれらについてもすでに改善に取り組んでいるとのことである。

新世代照明技術のLumen
画像集#019のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha PointにおけるLumenの実効性能は,以下のスライドにあるとおりだ。計測は,XSXにてレンダリング解像度を1080pとして行った。なお,品質設定値は「1.0」が基準で,これを下げていくと品質が落ちる代わりに,フレームレートは向上する。

Lumenの性能
画像集#024のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 「TC Custom」とは,Alpha Pointの開発チームが独自に探り求めた設定値で,その設定パラメータもスライド内にある。また,「Engine High」という設定は,Epic Gamesが60fps描画を想定した場合のオススメ設定セットだとのこと。

 こうして計測値を見ると,レンダリング実解像度がフルHDのわりには,意外と処理が重そうな印象を受ける。Penty氏によると,「品質設定値を1.0未満とした場合は,時間方向にフリッカーが出ることがあった」とのことで,品質と描画性能のバランスを取りながらLumenを活用するためには,開発者がそれなりの経験を積む必要がありそうだ。

画像集#020のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
品質設定値0.25
画像集#021のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
品質設定値0.50
画像集#022のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
品質設定値1.00
画像集#023のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
カスタム品質設定

 Lumenは,拡散反射と鏡面反射の大局照明に対応していることから,映り込み(≒鏡像,Reflection)の生成にも利用できる。
 Penty氏によると,大局照明の描画品質は,「局所的で微細な映り込みもそれなりに正確に再現できており,Alpha Point開発チームも満足するものだった」とのこと。チームのアーティストたちも,事前に環境マップを作り込んだり,Bent Normal(曲げ法線)を設定したりする手間が不要となるので,制作時間の短縮につながる点を高く評価していたという。

 なお,Bent Normalとは,本来ならほとんど明るくならないはずの凹んだ部分が不適切に明るくライティングされてしまう現象を,軽減するために行う法線ベクトルの人為的な調整テクニックのことである。3Dゲームをプレイしているとき,キャラクターの鼻の穴が明るくライティングされているのを見たことがあると思うが,あれは,穴の内壁に用いる法線ベクトルが,内壁に直交するように設定されているために起こる現象だ。
 幾何学的には間違っていない設定なのだが,既存のGPUでは,現在描画しているポリゴンやピクセルが他の何かによって遮蔽されているか否かが検知できないため,穴の内壁が遮蔽されていることを反映できず,明るくライティングされてしまうのである。
 自己遮蔽部分がある複雑な形状の法線ベクトルには,凹部や穴の開口部に向けて曲げるテクニックがよく利用され,それをBent Normalと呼ぶ。Lumenは,面倒な事前加工なしに自己遮蔽部分にもかなり正しい陰影を出せるため,ゲーム開発者にとっては嬉しいポイントとなるようである。

 Lumenが,高精度な照明演算を(ハードウェアレイトレーシングに対応したGPUであれば)レイトレーシングを用いて行えるのは当然であるが,レイトレーシング非対応のGPUであっても,従来のプログラマブルシェーダ技術を使って行えるように作られているという。
 具体的には,3Dモデルを構成する各ポリゴンの頂点から,最も近場にある隣接ポリゴンまでの距離を,各頂点の符号付きパラメータ(Signed Distance Field:SDF。符号付き距離場)として記録しておく。そしてライティング時に,SDF値をもとにプログラマブルシェーダ技術を用いたソフトウェアベースのレイトレーシング(実質的にはレイマーチング)で照明演算を行っている。

 Alpha Point開発チームによると,Lumenにおける鏡像処理の負荷は,鏡像が適用される画面内の面積に依存する特性があり,広範囲に鏡像が出る場合には適さないと分析している。そのためAlpha Pointでは,従来の画面座標系による疑似鏡像生成テクニックである「Screen Space Reflection」(SSR)を併用したとのこと。
 なお,SSRとは,PS4やXbox One世代で頻繁に用いられた,画面内に描かれているものをコピー&ペーストするように鏡像に転用するフェイクテクニックである。

 また,Lumenにおける鏡像生成は,鏡像を適用する面を構成する材質のラフネス(面の粗さ)にも依存している。たとえば,ラフネス「0.0」の完全な鏡面反射が最もGPU負荷は低く,「0.5」以上ではかなり負荷が高くなる特性があるという。こうした要素も,シーン制作において慎重に設計する必要がある部分となるだろう。

Lumenが生成する鏡像に関する分析と考察
画像集#025のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 バーチャルシャドウマップ(以下,VSM)もUE5の特徴的な機能の1つで,Alpha Pointの制作でも利用された。
 VSMとは,Naniteシステムに適合した3Dオブジェクトに利用できる影生成システムのこと。ストリーミングしながら描かれるNanite制御下の3Dオブジェクトに対して,非常に高解像度な単一のシャドウマップテクスチャを用いて,視点からの距離に応じた最適な解像度の影生成が行える。もちろん,Nanite制御外にある一般的な3Dオブジェクトの影生成も,このVSMに統合可能だ。

 VSMにおけるシャドウマップテクスチャに対して,シーンの遮蔽構造をレンダリングするときは,レイトレーシングを利用するオプションも用意されているが,標準ではプログラマブルシェーダを用いた影生成が行えるようになっている。Penty氏によると,地面に生えた小さな草に対しても,十分な品質の影が得られ,3Dオブジェクト同士が重なってできる「コンタクトシャドウ」の品質も申し分なしと,半影表現については「レイトレーシングのオプションを用いずとも,同等レベルの影が出せており,非常に満足した」という。

画像集#026のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
バーチャルシャドウマップ:オフ
画像集#027のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
バーチャルシャドウマップ:オン

 ただ,VSMの描画性能については,やや課題を感じたようだ。Alpha Pointの場合,1080p解像度の描画において,最初は約6.3msもかかっていたという。
 開発チームが調査した結果,VSMの描画性能は,シーン内にある影の投射元となるオブジェクトの数と,投射元の大きさに依存することが分かった。前者は,シャドウマップテクスチャに対して遮蔽構造を出力するときのジオメトリ負荷が,後者は,同一状況でのピクセル負荷が原因となっていると推測したそうだ。
 そこで,水の飛沫や砂埃などの流体系オブジェクトや,あまりにも小さいサイズの3Dオブジェクトに対しては,影生成の対象から外す最適化を行う。こうすることで,前述と同じシーンで約3msにまで処理時間を短縮したそうだ。

バーチャルシャドウマップの描画性能
画像集#028のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ


その他の表現要素〜ボリュームフォグとNiagaraシステム,畳み込みブルーム,超解像技術TSR


 Alpha Pointのシーン中に散見される空気の遠近感に役立っている霧や砂埃などの表現は,ボリュームフォグのテクニックを用いている。実装の詳細は説明されなかったが,Gears 5で実装した技術の流れにあるものとのことである。詳細は以下の動画が参考になるかと思うが,ここでも簡単に解説しておこう。


 まず,フォグの密度情報を3Dテクスチャ(実質的な3次元配列のデータテーブル)で表現しておく。これが事実上のボリュームフォグデータ(体積を持ったフォグ分布グリッドデータ)に相当し,風などを吹かせて霧や砂埃を散らしたり動かしたりするときは,このデータを変更することになる。
 描画にあたっては,視点位置からどのように見えるか分かるように,ボリュームフォグを可視化しなければならない。これは,視点位置から遠方の適当な位置まで,視線に対して直交するように配置した複数の板ポリゴンに(上記動画の2:57あたりを参照),ボリュームフォグにおける密度値の積分値を出力することで行う(レイマーチング処理に相当)。Gears 5では,出力先の板ポリゴンを構成する三角ポリゴン群の頂点カラーに対して処理を行い,最終的に,ピクセルシェーダでピクセル化する手順を取っていた。
 なお,出力先の板ポリゴンは,視点から遠近に応じて分割(テッセレーション)して,視点から近ければ近いほど多数の三角ポリゴンで構成する。こうすることで,視点からの距離に適した解像度のフォグ描画が得られる理屈だ。

Alpha Pointでは,Gears 5で実装したボリュームフォグをUE5上に移植する形で実装した
画像集#029のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha Pointでは,このボリュームフォグをシーン中の任意の場所に配置できるようになっているとのこと。さらに,フォグは,シーン内のオブジェクトとの衝突やセルフシャドウの出力もできるように,Gears 5で使ったものを改良したものとなっている。

ボリュームフォグはUE5の機能ではなく,Alpha Pointのためにあえて実装したという
画像集#030のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 Alpha Pointでは,無数の昆虫が壁を這いまわる表現が盛り込まれている。
 UE5アナウンス後に公開された技術デモ映像「Lumen in the Land of Nanite」(関連記事)にも,暗い遺跡の中でうごめく無数の昆虫が,明かりに照らされたことで散り散りに逃げて行く表現があった。これは,UE4で実用化されたGPUパーティクルエフェクトシステム「Niagara」を用いたもの。Penty氏曰く,「あのNiagaraを使った昆虫の演出は,我々もやってみたかった」そうで,このAlpha Pointで試したという。


 つまり,あの昆虫群は,CPU制御のロジックで動いている3Dオブジェクトではなく,GPU内部で生成,制御,消失するGPUパーティクルシステムによって描かれたものなのだ。GPUパーティクルシステムは,その名の通りGPU内部で完結しているシステムで,CPUからほぼ独立して動作できるという特徴がある。そのため,描画の物量からくる印象とは裏腹に,意外と処理負荷は軽い。実際,Alpha Pointの昆虫群は,XSXで約0.1ms程度の描画時間に収まったようだ。

Niagaraは,UE4においても利用出来るGPUパーティクルシステムだ
画像集#031のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 冒頭でも少し触れたが,Alpha Pointの開発チームは,Niagaraとの連携用にUE5を独自に拡張した。具体的には,追加のG-Bufferを設定したうえで,シーン内の自発光マテリアルから光の粒子が飛び散る演出を実現している。

 その仕組みだが,まず,ベースのレンダリングパスが,自発光領域を拡張されたG-Bufferへ出力する。続いてNiagaraシステムが,拡張G-Bufferを探査して,自発光する部分があれば,そこからGPUパーティクルを生成するといった流れだ。Penty氏によると,UE5におけるNiagaraの使用感は,「UE4と同じで非常に使いやすかった」とのことだ。

UE5を独自改造して実装した拡張G-Bufferは,Niagaraシステムとの連携用
画像集#032のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 そのほかにもAlpha Point開発チームは,「Convolution Bloom」というポストエフェクトを独自実装している。
 これは,高輝度領域から光が溢れ出て見えるような,いわゆる「ブルーム効果」(光芒効果)における実現手法の一種だ。ブルーム効果は,とくにギラギラとしたものについてはグレア(Glare)とも呼ばれたりする。

 Convolutionとは「畳み込み演算」のことで,離散数学では,2つの数列を総積和算させる積分手法だが,画像に対して行うと面白い効果が得られることが知られている。たとえば,入力画像における高輝度領域のすべてに「★」型で積分を行うと,画像の高輝度部分から★形状の光芒を生成できる。この★をカメラのレンズにおける光学特性のパラメータに置き換えて同様の処理を行うと,入力画像を,まるでそのレンズで撮影したような画像へと変化させられるのだ。
 やや概念的な説明になったが,このConvolution Bloomを用いると,ピンボケ効果やフレア表現などが,実際のカメラで撮影したようなものになるとイメージしてほしい。

 さて,Alpha Pointでは,レンダリング解像度を縦横半分に縮小した4分の1サイズの解像度で,Convolution Bloomの処理を行う。開発初期における処理時間は約7msだったが,最終的には0.9msまで縮めたそうだ。Penty氏によると,この実験自体は大変満足できるものとなったが,「最終的なUE5でのゲーム開発に,これを導入するかは未定」とのことだった。

Convolution BloomはUE4.16で実装されたが,UE5には搭載されていなかったため,Alpha Pointの開発チームは,実験的にあえて独自実装に挑戦した
画像集#033のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 XSXの性能をもってしても,かなり凝った超美麗グラフィックス表現を行おうとした場合,リアル4Kレンダリングは重荷であることが徐々に判明しつつあるUE5だが,その課題に対する答えとなりそうな技術が,「Temporal Super Resolution」(以下,TSR)である。
 NVIDIAの「DLSS」や,AMDの「FidelityFX Super Resolution」(以下,FSR)のような超解像技術だ。UE5におけるTSRは,Temporalという単語があることからも分かるように,時間方向,端的に言えば過去フレームの情報を活用した超解像技術になる。

UE5におけるゲーム開発で,実際には最重要の要素となりそうなのがTSRだ
画像集#034のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 過去フレームの情報を活用する超解像技術といえばDLSSが該当するが,UE5のTSRは,DLSSのように推論アクセラレータ(Tensor Core)を必要としない。推論アクセラレータを使わない超解像技術といえばFSRがまさにそれだが,現状のFSRは,描画するフレームだけで完結したアルゴリズムを採用しているので,TSRはDLSS的な仕組みをFSRのようにソフトウェアで実現した技術というイメージだろうか。
 Penty氏によれば,TSRの品質には満足しているそうで,「Alpha Pointでは細い草の表現に大きな違いを感じた」と述べていた。とはいえ,これだけで処理性能の課題を解決できるとまではいかないようで,現状ではGPU負荷がそれなりに高い。Alpha Pointの場合,XSXで実行すると,1080pの映像を4K化すると約2.23ms,1440p映像を4K化すると約2.7msの処理時間がかかっているとのこと。

画像集#037のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
ネイティブ4K画像
画像集#035のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
1080pをTSRによって4K化した画像
画像集#036のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
UE4に実装されていた旧世代超解像技術で1440pを4K化した画像

 

新バージョンのAlpha Pointで披露される? 〜UE5におけるキャラクター表現〜


 公開されているAlpha Pointの映像は,遺跡のような回廊のシーンだけだ。しかし,現在はUE5によるキャラクター表現を研究中とのことで,セッションでは,その実験映像が公開された。
 なお,ここで披露した精巧でリアルな人体キャラクターは「実際のゲームに登場させる予定があるわけではない」(Penty氏)そうだが,筆者が見た印象では,いかにもGearsシリーズの世界観に合いそうだ。


 デモで披露されたキャラクターの総ポリゴン数は約16万で,これはGears 5の3倍のジオメトリ量になる。顔面のポリゴン数は約3.1万で,これもGears 5の4倍だ。毛髪にいたっては約350万ポリゴンとなっており,なんとGears 5の250倍にもなるという。

キャラクターモデルのポリゴンスペック
画像集#038のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 毛髪のジオメトリ量がここまで多いのは,頭髪や眉毛,睫毛,髭,そして産毛のすべてを,1本1本モデリングしているからだ。たとえば,睫毛だけで3500ポリゴンを使っているが,Penty氏によると「3500ポリゴンといえば,Xbox 360時代のキャラクター一体の総ポリゴン数に相当する」そうで,「ゲームのキャラクターに産毛を生やしてレンダリングしたのは,初体験だった」と,笑いを交じえながら振り返っていた。
 なお,こうした毛髪の作り込みは,Autodeskの「Maya」に含まれる「XGen Grooming」を用いて制作したとのこと。

 このキャラクター本体の造形は,ほぼすべてMayaで制作したそうだ。UE5の登場と同時期に発表となったキャラクター制作ツール「MetaHuman Creator」(以下,MetaHuman)も用いたが,眼球と歯だけをこれで制作したとのことだった。
 顔面の動きはMetaHumanの仕組みを利用し,ボーンの仕込みやリギング設定についても,MetaHumanのものを流用した。肌材質のシェーディングもMetaHumanの流用で,テクスチャ群はSubstanceやMegascansで制作している。テクスチャ解像度は4Kであるが,これはAlpha Point本編と同様に,8Kにしても違いが分からなかったためという。

 Penty氏も「将来は分からないが」と述べつつ,キャラクターの顔についてはオリジナリティを出したいという思いが強いため,MetaHumanによる生成ではなく,DCCツールで制作するつもりだそうだ。The Coalitionでは,MetaHumanを使えるところは使うが,すべては任せないという方針なのかもしれない。

3Dモデルの制作はDCCツールを用いて行われた。MetaHumanは限定的な利用に留まっている
画像集#039のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 キャラクターの実験映像における描画性能も説明があった。
 背景やアニメーションのないキャラクターの単体だけの映像ではあるが,XSXで実行したところ,レンダリング解像度が1080pの場合,フレームレートは30fpsになった。ただ,このフレームレートを実現するまでにも,産毛を視点からの距離に応じて破棄したり,髪の毛の環境光遮蔽(Ambient Occlusion)を省略するといった最適化を盛り込む必要はあったようである。

画像集#040のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
キャラクターレンダリングテストの性能
画像集#041のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ
UE4でのキャラクター表現(Gears 4より)と,UE5でのキャラクター表現(今回のデモより)の比較

 見た目のシンプルさとは裏腹に,かなり描画負荷が高いデモであり,このキャラクターをそのままAlpha Pointに持ってくることは不可能のようだ。Penty氏も,「このレベルのキャラクターを実際のゲームに登場させるのは無理だろう」と,自虐気味に笑っていたほどだ。
 とはいえ,現在でも品質調整などの最適化を行いながら,Alpha Pointの中で動かす実験を始めているとのことで,近い将来,人物が加わったAlpha Pointの新バージョンが登場するかもしれない。

現在,このキャラクターを実際にAlpha Pointのシーン内に登場させて動かすテストを行っているという。公開が楽しみだ。
画像集#042のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ


Alpha Pointの開発を振り返る


 最後に,Penty氏は,Alpha Pointにおける細かいスペック情報も公開した。
 3Dモデルの総数は,固有のモデルが44個で,メモリ使用量は61MBとなる。Naniteのストリーミング用バッファサイズは512MBで,Nanite制御下に置かれた3Dモデルの総データ量は約1GBとなる。意外とコンパクトにまとまっているのは,Alpha Pointが回廊だけのシーンで構成されているためだ。

Alpha Pointのメモリ使用量
画像集#043のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 XSX実機での実効性能は,ターゲットフレームレートは60fpsだったが,平均フレームレートは46fpsとなった。この性能は,1080pまたは1440pの実解像度でレンダリングした結果を,TSR処理を施したうえで4K出力した場合となる。
 CPUやGPUなどの演算リソースを最も消費するUE5のサブシステムとして,Penty氏はLumen,VSM,TSR,Naniteを挙げていた。

XSXにおけるAlpha Pointの実効性能
画像集#044のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 興味深いことに,Penty氏は,Xbox Series S(以下,XSS)におけるAlpha Pointの性能についても触れている。
 具体的なフレームレートなどの情報は公開されなかったが,XSSで,TSR後の解像度を1080pや1440pとして動作させたところ,フレームレートはかなりきついものになったようだ。
 そこで,一律にあらゆる構成要素の品質を下げて実験したところ,時間方向の明滅が目立ったという。話を聞く限り,XSX前提で開発したタイトルを高品位な映像のままXSSで動作させるには,落とせる品質は落とすが,維持すべきところは品質を維持するといった入念な最適化が必要になるのだろう。

 XSSは,何の性能が足りないのか。Penty氏によると,「シンプルにGPUだ」とのことで,CPUに関しては何の不満もないとのこと。XSSにとって,VSMの動作は高負荷すぎるそうで,その原因を「Hierarchical Z-Buffer(HZB)に起因している」(Penty氏)と分析している。
 Z-Buffer(深度バッファ)は,3Dオブジェクトの重なりが正しい前後関係に見えるよう,描画をピクセル単位で描くか描かないの判定を行うためのものだ。HZBは,深度バッファの簡易版を階層構造で持つことにより,ピクセルよりも大きい単位(たとえばポリゴン,あるいは3Dオブジェクトそのもの)の描く,描かない判定を早く行うために用いられる。Penty氏は,HZBの扱いかたを変えると,VSMの処理負荷が減った経験を挙げて,最適化の余地があると分析していた。

XSSにおけるAlpha Pointの実効性能
画像集#045のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

 最後にPenty氏は,Alpha Point開発プロジェクトの現段階での総括を述べた。
 まず,現在公開されているUE5のアーリーアクセス版は,完成版ではないにもかかわらず,想像以上に動作が安定していることを高く評価していた。今後のUE5は,「ゲームにおけるあらゆる表現を,間違いなく一段高いステージへと押し上げる存在となることを確信して,興奮している」とも述べている。
 一方で,「困難が待ち受けている」とも付け加えている。それは,UE5でNaniteやLumenなどの新システムが導入されたことで,これまでのワークフロー(制作工程の流れ)が大きく変わるため,開発プロジェクトに参加するすべてのメンバーが,それに慣れる必要があるという点だ。UE4を用いた制作スタイルのままでは,UE5のフル活用は難しいということである。

 Penty氏は,ゲーム開発は新技術の活用と同等かそれ以上に,「コンテンツの制作やアセット制作が重要」であり,UE5が実現しうる表現力に見合う高品位なコンテンツやアセットを制作することは,「より深いレベルで,アーティストの潜在能力を解放することが求められる可能性はある」と指摘した。
 UE5により,表現の費用(=労力)対効果は劇的に向上して,ゲームの表現レベルはさらに底上げされるかもしれない。だが,それによってゲームファンから寄せられる期待や,求められる品質もまた大きくなるわけで,ゲーム制作者にとって,生みの苦しみが減退することはなさそうだ。

画像集#046のサムネイル/西川善司の3DGE:Gearsシリーズの制作スタジオが語るUnreal Engine 5――1億ポリゴン時代に突入するゲーム開発のゆくえ

「Unreal Engine」公式サイト

  • 関連タイトル:

    Unreal Engine

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月20日〜11月21日