中世風ゲーム環境

中世風ゲーム環境のコンテンツを UE5 向けに更新

皆さん、こんにちは。中世風ゲーム環境のアップグレードについてお知らせできることをうれしく思います。この環境は元々、2021年2月に Unreal Engine 4.26 向けにリリースされたものでした。

Unreal Engine 5 のあらゆる最新機能を利用するためにこの環境を更新し、オーディオを完全にアップグレードしました。この新しい中世風ゲーム環境は、Unreal Engine マーケットプレイスからすぐにダウンロードできます。
 

ではここで、元々の中世風ゲーム環境がどのようなものだったかをご紹介しましょう

中世風ゲーム環境は、Epic の Quixel チームが作成した次世代の品質のプレイアブル エクスペリエンスです。Quixel については、Megascans の開発元としてご存じかもしれません。元々は、2021年2月に Unreal Engine 4.26 でリリースしたものでした。5.3 のリリースにより、この環境を刷新し、エンジンの最新機能を活用できるようにすることに決定しました。

更新内容や、その更新方法の詳細について、以下でご紹介します。
 

UE5 へのアップグレード

UE4 からプロジェクトを変換すると、引き続き UE4 のデフォルトが使用されることになりますが、一部の重要な設定は 4.26 と 5.3 で変更されています。すでに UE5 でプロジェクトをアップグレードするためのガイド を視聴済みの場合、アップグレード プロセスの基本はすでに把握できています。

この環境のために、プロジェクトのあらゆる設定を切り替えました。DX12、SM6、シャドウ メソッド、ダイナミック グローバル イルミネーション メソッド、反射メソッドの設定に加え、[Allow Static Lighting (静的ライトを許可)] を無効にしました。これにより、当初のものと比較してパフォーマンスが向上しました。
(左) Unreal Engine 5 | (右) Unreal Engine 4

Nanite を最大限活用する

Epic は、仮想化ジオメトリで最新のコンテンツを活用すると、見た目が多少向上すると考えています。このプロジェクトで Nanite にできるコンテンツはすべてが Nanite に変換されました。また、一部のオブジェクトについては、Megascans ライブラリの Nanite の解像度と対応するコンテンツに置き換えられました。

これで完璧になったと思いきや改善点はまだあります。問題が発生していた木 (具体的には、遠距離に表示されている場合に葉がすべてなくなって見える) では、[Preserve Area (エリアを保持)] が Nanite の設定でオンになっていました。Nanite のスプライン メッシュのサポートは実験的機能の段階であるため、一部のスプライン メッシュはインスタンス化されたスタティックメッシュで部分的に置き換える必要があったのです。

プロジェクトのワールド位置オフセット (WPO) の設定も変更されました。これは、WPO が遠くにある場合に発生する VSM キャッシュの無効化を低減するために行われました。
 

Lumen でライティングを明るくする

ダイナミック グローバル イルミネーション メソッドと反射メソッドは、Lumen に切り替えられました。これにより、UE 5.3 のパフォーマンス標準への向上が実現し、シーンのフォトリアリズムが大幅に向上しています。フォリッジは Nanite に変換されているため、これを Lumen にも役立てることができます。つまり、シーン内のライティングは、ワールドをさらに正確に反映したものになります。また、ローカル露出によって、インテリアのライティングも向上しています。
(左) Unreal Engine 5 | (右) Unreal Engine 4

仮想シャドウ マップの調整

シャドウの解像度を改善するため、このプロジェクトではカスケード シャドウ マップから仮想シャドウ マップに移行しました。これによって、いくつかの点でパフォーマンスがアップグレードしています。まず、コンタクト シャドウの問題が修正されています。たとえば、多数の小さいフォリッジのメッシュにおいて、不要なシャドウのキャッシュの無効化が発生していましたが、コンタクト シャドウのみが利用されるようになりました。他の方法ではシャドウが投影されないメッシュに対してディレクショナル ライトがコンタクト シャドウのみをキャストするように設定するなど、いくつかの設定を調整することで、この問題は修正されました。

また、シャドウのキャッシュ ページを無効にする可能性があるものをすべて確認し、その [Mobility (可動性)] が [Movable (可動)] に設定されています。つまり、WPO やスケルタルメッシュなどでは、プロジェクト全体で新しい設定が使用されています。
 

World Partition

元のプロジェクトはストリーミング機能をまったく備えていなかったため、UE のビルトイン ツールを使用してレベルが World Partition に変換され、World Partition HLOD を設定して遠距離での描画コストを低減しやすくしています。World Partition に切り替わったことで、エンジンでのコンテンツのストリーミングの入出力が向上し、遠距離のジオメトリでパフォーマンスを向上させるために階層的な HLOD を活用できます。


Niagara への変換

Niagara への変換によって、完全な透明性を実現しました。UE5 ではカスケードがサポートされなくなったため、この変換を行う必要がありました。そのプロセスでは、VFX アーティストが元のカスケード アセットの一部を Niagara システムに凝縮し、さらにパフォーマンスを向上させることができました。
 
(左) Unreal Engine 5 | (右) Unreal Engine 4

テンポラル スーパー解像度

コンソールでは、このプロジェクトは TSR および動的解像度に対応するようになりました。他の次世代グラフィック機能は解像度に依存するため、TSR を活用することで、4k の出力解像度を維持しながらより低いピクセル数でより高い品質でのレンダリングができます。つまり、誰にとってもより速く、より優れていて、より効率的なものになっています。
 

完全に刷新され、アップグレードされたオーディオ

最初のバージョンのオーディオは、Epic にとっても完全に満足できるものではなく、これは大幅に改善できるものと認識していました。そのために、レガシー システムの多くが Metasound (UE5 で初めてシッピングされたプロシージャル オーディオ システム) を活用するように切り替えました。その際、以下のことを行いました。

まず、排他的にサブミックス バスと AudioModulation を使用しているすべてのサウンドクラスをプロジェクトから削除し、ミキシング プロセスに対してステージング、ルーティング、全般的なアプローチを行う上で新たなスタートを切れるようにしました。

次に、アセット タイプ全体で一貫性を確保するため、すべてのファイルの名前を変更してクリーンアップを行い、参照されていないオーディオ アセットを削除しました。これはユーザーにとって見えない部分ではありますが、プロジェクトのサイズが肥大化するのを大幅に低減する取り組みであり、未使用のアセットによってプロジェクトのコンテンツ フォルダが乱雑になることがなくなりました。

動的な時間帯に関連付けられたサウンドスケープも活用しています。こうした時間を認識するトリガーは、Soundscape マネージャ ブループリントに統合されており、このブループリントは、森林やトウモロコシ畑のための夜間の新しいバージョンの Soundscape Palettes を備えています。このようなサウンドに対する適応型のアプローチによって、以前のバージョンよりもシーン全体がダイナミックかつ没入感のあるものになります。

    皆さんはどのように利用されますか?

    中世風ゲーム環境 2.0 が Unreal Engine マーケットプレイスで利用可能になりました。ぜひチェックして、感想をフォーラムで教えてください。