Epic Games Japan主催のUnreal Engine大型勉強会「UNREAL FEST EXTREME 2022 SUMMER」が、2022年5月23日(月)から5月28日(土)までの日程で開催されました。4日目に行われた『「真・女神転生Ⅴ」における開発事例紹介』と題した講演では、効率的にゲーム開発をするにあたり、どのようにUnreal Engineの開発環境を整備・設計を行ったか、『真・女神転生Ⅴ』における株式会社アトラスでの開発事例が紹介されました。
TEXT / 田端 秀輝
EDIT / 神山 大輝
『真・女神転生V(以下、本作)』は、株式会社アトラスを代表するRPG、『真・女神転生』シリーズのNintendo Switch向け最新作です。敵キャラクターである悪魔と会話することで「仲魔」として行動を共にすることができるのが特徴のひとつであり、本作では200を超える悪魔が3Dモデルにて表現されています。
今回の講演では、アンリアルエンジン(以下、UE)での開発を検討している、あるいはプロジェクト開発が中盤より前である開発者を対象に、UEでの開発事例が紹介されました。処理負荷軽減のためにやるべきことから、組織での開発ならではの作業分担に至るまで多岐に渡る内容となっています。
なお、今回の事例紹介はUE4.23.1時点での内容になります。
開発環境について
最初に、UEで開発を行う際のスタッフの学習コスト、エンジンの保守コストについての説明がされました。
学習期間について、デザインオペレーターであれば数週間〜1ヶ月、コアスタッフであれば数ヶ月は必要となるとのこと。エンジンをプロジェクトにあわせて改造・最適化する場合は、アップデートを自分たちで行う必要があり、改造範囲が増大すればコストも増大していきます。無改造の場合も、エンジンのアップデートで仕様が変わることで、自分のプロジェクトに影響がでたり、SDKの対応具合が変わったりすることもあります。
次に、コストに関する注意を踏まえたうえで、UE4の開発環境をどう構築していったかが紹介されました。本作の開発環境は、メンバーの「時間の拘束」を最小限に留めることを目標として構築されました。具体的には、以下の項目をより効率よく使用できるようにしたとのことです。
本作のUE4開発環境は、アーティスト向けの配布用エンジン「InstalledBuildEngine」と、エンジニア向けの改造用エンジン「SourceBuildEngine」の2つがあります。
ビルド環境を必要としないアーティストは、Visual StudioなどのPCのツール環境に依存しないコンパイル済のエンジンを使用しています。取り回しが容易であるという利点がある一方で、エンジン側の修正が必要になった際、コード修正できないことが課題として挙げられました。
エンジニア向けエンジンは、エンジン自体の独自改造や拡張が可能です。しかし、修正を行う度にビルドが必要となるため、膨大なソースコードの管理とビルドコストがかかってしまうことが課題と説明されました。
開発時期によってもエンジンの使い方が異なり、研究期間ではEpic Games Launcher版で機能確認・検証を行い、開発初期では無改造のInstalledBuildを運用しています。無改造ゆえに、Unreal Developer Network(UDN)で質問がしやすく、エンジン設計のルールもここから徐々に作り始めています。
開発中期では、エンジンアップデートを行ったところトーンマッパの仕様変更で一部の色味が変わったなど既存の作業に影響が出ることがあったため、この時期から「デフォルト設定を変更する」「一部の処理の仕様を前のバージョンに戻す」などの小規模なエンジン改造を解禁するようになりました。
開発の後期では、エンジンへの直接修正も解禁しましたが、UE4のバージョンアップ時のアップデートコストを考え、はじめは影響範囲の小さなものから改造し、バージョンを固定させてからプロジェクトで使用しない機能のオミットやコードへの直接修正をしていったそうです。バージョンを固定する直前のSDKの更新はリスクがあるため、事前にSDKのバージョンも確認しておくことが肝心とのことです。
さらに開発を効率化させるために、ビルドやパッケージングにおいて以下のツールを使用しています。
エディターについて
エディタールール
『真・女神転生V』の開発現場でのエディタールールがいくつか紹介されました。
エディター拡張
プロジェクトを効率的に進めることを目的に、エンジンに影響のないエディター拡張は開発の初期から行われています。また、エディター拡張はデザイナーからの要望によるものが多かったとのこと。
さらに、アニメーションビューワー上で指定カメラオフセットに切り替える機能を追加することで、アーティストがゲームをプレイしなくてもLOD調整やミップ確認ができるように、エンジン改造によるエディター拡張も行っています。
レベル構成について
本作では、パーシスタントレベルに含まれるサブレベルは、マップのロード設計のために全て非常駐扱いにしています。
ゲーム中の要素はレベル単位で行うように設計されており、イベント開始でイベントのサブレベルをロード、バトル開始でバトルのサブレベルをロード、施設に入ると施設のサブレベルをロードする、というようになっています。
講演では、パーシスタントレベルを空にするということが強調されました。これは、専用処理をパーシスタントレベルで行ってしまうと、サブレベルを他のパーシスタントレベルに接続させた際に動かなくなってしまい、レベルの流動性に問題が生じるからとのことです。
デザイン設計について
全体的なデザイン設計
開発初期に行うべきこととして、キャラクター、背景、エフェクト、ポストプロセス、ライトなどのデザイン要素を1レベルにまとめ、製品としてどこまで持っていくかのビジュアルショーケースを作成することが挙げられました。
この作業によって、デザインのレギュレーションやGPUのバジェットなどが素早く決定できるとのこと。講演内では、ポストプロセスとライトといった全体に影響するものだけでも早めに決めた方がいいと強く勧めていました。
マテリアル設計について、本作では、『マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD』を参考に、マテリアル大量増加を回避するためにマスターマテリアルと子・孫インスタンスでの管理を行っています。マスターマテリアルは「背景」「キャラ」「エフェクト」の3種類に分類されます。
モデルのデザイン設計
3DCGモデルについては、最初に本作で使用するモデルの頂点数・ボーン数の目安が紹介されました。『真・女神転生』シリーズは悪魔の活躍が見どころであるため、悪魔のモデルのボーン数はパフォーマンスの最大限まで許容されています。人間キャラクターは3万ポリゴン(300ボーン)、ボス悪魔は3万~4万ポリゴン(300~400ボーン)と、Switchタイトルであることを考えると非常にリッチな作りとなっています。
続いて、背景モデルが紹介されました。荒廃した東京を舞台にした超広域マップは、Unreal Engine上でおよそ「4km×4km」のサイズとなっており、他のゲームと比べると非常に大きいとのこと。マップの地形はランドスケープにて作成されており、木や岩などの自然物は、ゲーム的な演出がない限りフォリッジで配置されています。
ダンジョンについては、通路や曲がり角など構成要素がパーツに分解されアクター化されていて、ツールによって配置ができるようになっています。
アニメーションのデザイン設計
本作には200種類を超える悪魔が登場しますが、特殊な形状を持ったものが多く、悪魔のモデルに対して単純なアニメーションリターゲットをかけてもうまくいかなかったとのこと。そのため、形状の特徴からベースとなる悪魔のテンプレートを作成し、そこから各悪魔モデルにセットアップを行いました。
首が8つある「龍王ヤマタノオロチ」や、豹の頭が胸部にある「堕天使フラロウス」など、悪魔の形状は多種多様です。そのため、悪魔テンプレートからリターゲットしても、実際の悪魔の形状にあわせて足、腰、目、踵、上体などのボーンを再設定し、細かいチューニングをする必要があります。
ポストエフェクト、ライティングのデザイン設計
ポストプロセスについては、Epic Games Japanが制作したスライドをベストプラクティスとして参考にしたそうです。
LightMassについては、『UE4 Lightmass Deep Dive ポストモーテム』を参考にしています。講演で紹介された本作におけるライトの決め方は以下の通りです。
UIのデザイン設計
UIテクスチャは基本的にオンメモリで実装しており、シーン遷移後でのみ使うショップなどの施設は都度呼び出しを行っています。
また、ウィジェットブループリント(WBP)でUI制御管理を行い、SpriteStudioでテクスチャとアニメーションの管理を行うことで、プログラマーとデザイナーの作業分割をしています。
システム分析
ブループリントについて
本作の開発現場では、規約の多さによる動きづらさとスクリプトの良さを消してしまう可能性を考慮して、細かなブループリント規約は作りませんでした。
C++で書くべきかブループリントで作るべきかの問いについては、CPUプロファイルの結果改善の余地があるものはC++化を検討する流れにしたということでした。特に大量のループ処理をするものについてはC++化したほうがよい傾向にあったようです。
アセットのリファレンスに関する注意として、ハードリファレンスとソフトリファレンスの違い、リファレンスのメンテナンスの解説がありました。
また、プロジェクト内のアセットを使ってマップデザイン、ゲームデザイン、進行ブループリントが作成できる、レベルデザイナーの育成の重要性もあげられました。
おまけ
講演の最後に、『真・女神転生V』の開発中に得られたUE上級者向けのTIPSが紹介されました。
『真・女神転生V』の開発における経験からつくられた数多くのTIPSを紹介した小山田氏は「多くの方の情報提供を頂いた結果、今日の開発に繋がっています。UEでの開発において情報収集はとても大事です」と、今回の講演を締めました。なお、講演では本記事で記載しきれなかったTIPSがいくつか紹介されています。さらに詳細な内容についてはぜひ公式アーカイブをご確認ください。
真・女神転生V 公式サイトUnreal Engine JP 公式YouTubeチャンネル「ゲームと社会をごちゃまぜにして楽しんじゃえ」がモットーの、フリーのコンテンツ開発者。節電ゲーム「#denkimeter」やVRコンテンツ、体験型エンタメの開発をしています。モニター画面の中だけで完結しないゲーム体験が好きで、ここ十数年注目しているのはアイドルマスターです。
関連記事
注目記事ランキング
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
連載・特集ピックアップ
西川善司が語る“ゲームの仕組み”の記事をまとめました。
Blenderを初めて使う人に向けたチュートリアル記事。モデル制作からUE5へのインポートまで幅広く解説。
アークライトの野澤 邦仁(のざわ くにひと)氏が、ボードゲームの企画から制作・出展方法まで解説。
ゲーム制作の定番ツールやイベント情報をまとめました。
東京ゲームショウ2024で展示された作品のプレイレポートやインタビューをまとめました。
CEDEC2024で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブル2024で行われた講演のアーカイブ動画・スライドをまとめました。
CEDEC2023で行われた講演レポートをまとめました。
東京ゲームショウ2023で展示された作品のプレイレポートやインタビューをまとめました。
UNREAL FEST 2023で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブルで行われた講演のアーカイブ動画・スライドをまとめました。
UNREAL FEST 2022で行われた講演レポートやインタビューをまとめました。
CEDEC2022で行われた講演レポートをまとめました。
今日の用語
ローパスフィルター(Low-Pass Filter)
- 電気信号のうち、指定した周波数(カットオフ周波数)以下の信号を通し、それより上を大きく低減させるフィルター。
- ゲーム開発において、基本的にはサウンド用語として用いられる。例として、特定のセリフをローパスフィルターによってくぐもった音に加工することで、隣の部屋や遮蔽物の後ろで話しているかのような表現を行うことができる。