「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】 | Game*Spark - 国内・海外ゲーム情報サイト

ハードコアゲーマーのためのWebメディア

「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】

Unreal Engine 5注目機能Part2セッションはプログラマ向けの内容。新物理エンジンChaosやGame Featuresなどを紹介!

連載・特集 イベントレポート
「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】
  • 「Unreal Engine 5」プログラマ向け注目機能ひとまとめ―物理エンジンChaosやプラグイン脱着機能など【CEDEC2021】

2021年もオンライン開催となったゲーム開発者向けカンファレンスCEDEC2021にて、開催された「Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2」セッションのレポートをお届けします。

このセッションはPart1とPart2に別れており、今回の「Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2」では、プログラマやエンジニア向けの機能を紹介するもの。なお、Part1はアーティストやデザイナー向けの機能を紹介していました。登壇者は、Epic Games JapanのSoftware Engineerである岡田和也氏と、鍬農健二郎氏、鈴木孝司氏、寺内大起氏、UDN Account Managerのベルナル・ウィリアム氏、Trainerの塩谷祐也氏の6名です。

World構築機能

Unreal Engine 5(以下、UE5)では、大規模なワールドを構築するWorld構築機能のアップデートが追加されています。それらを具体化するために早期アクセス版UE5が公開されるタイミングでリリースされたサンプルデモ「古代の谷」が公開され、このデモにはWorldを構築する主要な機能の1つであるWorld Partitionを主に活用しています。

UE4のWorld Compositionは機能的な制限が多いため、UE5ではWorld Partitionがデフォになった。World Partitionを有効化するとグリッドベースでワールドをセル単位に分割したミニマップが作成される。サブレベルがないパーシスタントレベルだけの運用となるが、セルごとにレベルの制御やストリーミングも可能となる
Level Instanceは個別にデザインしたレベルをActorとして配置出来る。レベルを独立化することでレベルデザインや競合する機会を減らすのにも対応可能
HLODはセル単位で管理
One File Per Actorをレベルで有効化すると、必要なアクターだけをチェックアウトし編集出来るようになる。これらはファイルロック問題への改善となる
Large World Coordinateは広大なワールドを直接的に扱える拡張

Unreal Engineの次期物理エンジンChaos

ChaosはUE4.23から導入されている物理エンジンで、UE5からデフォになります(PhysXのサポートは終息)。UE5へ完全に内蔵されたことによって効率的なワークフローや、デバッグ機能を組み込むことが容易になっています。また互換性についても考慮しているようです。

UE5上で動くChaosはデモにて違和感が感じられないほどの完成度になっている
非同期物理シミュレーションはデフォルトで無効なため、プロジェクト設定で有効化できる。非同期物理シミュレーションの利点はゲームフレーム側に余裕が生まれること。
低頻度シミュレーションは頻度を3回から1回に下げると精度と共に負担も下がるため、ゲーム内容とあまり関係が無いものや、CPUリソースに余裕がない場合に使用すると有効
逆に頻度を上げる高頻度シミュレーションも可能
シミュレーションのデルタタイムを同じにすれば同じ計算結果が得られるため再現性が大きくなる
コンソールコマンドでデバック用に表示をON/OFF出来る
Chaos Cloth。バックストップは衣類を内側にめり込ませない為の軽めなコリジョン設定
新設定では旧設定のようにコリジョン球の半径を考慮する必要する必要がなく、直感的に配置出来る
ランタイムを確認できるようになった

次はUnreal Insightsです。これはアプリケーションのパフォーマンスを確認するツールで、ボトルネックとなっている処理を特定・改善することで最適化を進められるものです。Memory InsightsはUE4.26より追加された機能で、アプリケーションにて使われるメモリ使用量を追跡することができ、メモリリークの追跡などができます。

Memory Insightsはライブトレースが可能。使用時には計測コストが追加されるため若干パフォーマンスが低下する場合がある
取得したキャプチャーからメモリを確保した経緯をCallstackで表示出来る
Task Traceは、Timing Insights上にタスクの詳細情報を表示する機能。Task Traceはスレッドの相互関係を表示出来る
Render Graph Traceは、レンダーパイプラインの最適化を実行するためのスケジューリングシステムでグラフ構造を可視化している

Gameplay Update

続いてはUE5早期アクセス版におけるGameplay Updateです。Game FuearesプラグインとModular Gameplayプラグインは、これらのプラグインによってコンポーネントのように様々な要素を分割させることが可能。スライドの通り、メイン実装とアセットはそのままにシステムとミニゲーム、期間限定イベントをそれぞれ成り立たせる可能で、『Fortnite』のパイプラインから着想を得て開発されたとのこと。

一定規模以上のプロジェクトや定期的なアップデートを繰り返すプロジェクトの場合は、様々な実装やアセットから対応するものが増加。敵との戦闘中に不要なロードをしてしまうなどの問題が生じることもあります。

従来の課題ではアセットやシステム間の参照関係が複雑になってしまう場合がある
従来の対策では、ON/OFF管理が大変なことやプログラマに頼らなくはならなかった
ミニゲームの実装は不向き。自由度が高くプロジェクト側の対応が多い

従来の解決方法のいいとこ取りをしたのが先に説明したGame FeaturesプラグインとModular Gameplayプラグイン。プロジェクト本体から独立し、各実装を格納管理できるプラグインです。

Game Featuresプラグインは実行中において、動的にON/OFFが可能となる
Game FeaturesのON/OFF時の処理はData Assetで設定できる
Enhanced Inputを利用することでアセットに入力設定出来る

「古代の谷」サンプルではドローンのシーンでGame Featuresプラグインが活用され、「ホバードローン」と言うプラグインを有効化。不要になったらプラグインをアンロードし、先のプラグインを使えないようにしています。

ワープ後の世界でもGame Featuresプラグインは活用されている。攻撃や前転などのスキル付与や破壊可能オブジェクトの配置をプラグイン分割して配置している。
Game Featuresプラグインの強みはプロジェクト本体から完全に独立していること。
Game FeaturesプラグインならON/OFFしやすいため様々な施策が可能
Game Featuresプラグインの依存関係は設定可能
依存関係はAsset Referencing Policyから一括で行える
「古代の谷」のサンプルがActionの参考となる
Game FeaturesはUE5専用の機能

OnlineSubsystemEOS

OnlineSubsystemEOSはオンラインサービスにアクセスする機能で、UE5だけでなくUE4.27にも実装されます。スライドでは、ゲームアプリケーションはオンラインサブシステム共通のインターフェイスを持ち、プラグインを切り替えることで各プラットフォームサービスへ切り替えられます。

またEpic Online Servicesは、Epic Gamesが提供するオンラインサービスプラットフォームで、マッチメイキングやランキング、ボイスチャット、実績、エピックアカウントによるログインなどを完全無料で提供。様々なプラットフォームに対応し、EOSを利用したゲームの販売に制限がありません。

UE上ではオンラインサブシステムが、オンラインサービスではEOSを提供。しかし、Epicによる公式のオンラインサブシステムが提供されていないため、ネットワーク関連は独自に実装するほかいけませんでした。なおUE4.27にてオンラインサブシステムEOSが追加されます。これにより用意に実装することが可能です。

EOSはOnline Subsystem EOSと EOS Voice Chatのプラグインを有効化する
EOSを利用するために、デベロッパーポータルサイトに必要な情報を入力する
プロジェクト設定から様々な情報を入力する。最後にOnline Subsystem インターフェイスを使って実装するだけ
テストではEOSを用いてログインすることなどが実演された

最後にサポート情報やライセンス情報などを告知しセッションを終えました。以上が「Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2」の講演内容でした。UE5で独自に実装される物理エンジンChaosの特徴や、システムの脱着が容易なGame Featuresプラグイン、オンライン周りの実装方法などが紹介されるものでした。

UE5早期アクセス版は、推奨スペックがそれなりに高いものの、数千万ポリゴンを持つオブジェクトを数百表示させるなどのユーザーによって様々な実験が行われ、どこまでポテンシャルを持っているかが試されてきました。そのため、アーティスト向けの講演「Part1」を読むとより本エンジンが持つ強みをより理解しやすいかもしれないので、こちらもあわせてお読み下さい。

《G.Suzuki》

この記事の感想は?

  • いいね
  • 大好き
  • 驚いた
  • つまらない
  • かなしい

編集部おすすめの記事

連載・特集 アクセスランキング

アクセスランキングをもっと見る

page top