UE5 が搭載する Chaos シーン クエリと剛体エンジン

Michael Lentine, Director, Physics Engineering

目標

Unreal Engine 5.0 の内部物理エンジンは、デフォルトの物理エンジンとして Chaos を使用します。これにより、Epic とゲーム業界全体の物理テクノロジーを進化させ、ネットワーク物理、ラージ ワールド座標、車両、破壊など、強力なシステムを構築できるようになります。さらに、剛体物理を利用した既存のユースケースすべてを、Unreal Engine 4 と同等のパフォーマンスで完全にサポートすることを目指しています。

UE5 のリリースに至るまでに膨大なテストを実施しており、その際は最優先事項として高いパフォーマンスの実現に取り組んできました。これまで多くのメンバーと協力して、一部の条件下では大幅な改善を達成しましたが、 ラージ ワールド座標のサポート など、倍精度浮動小数点を必要とする機能については、負荷を補うために取り組むべき課題がまだ残っています。このドキュメントでは UE 5.0 の物理について現状を説明し、さらに 5.1 に向けて取り組んでいる作業にも触れます。ここでは ラージ ワールド座標 (LWC)をサポートする前のリリース前バージョンの Unreal Engine 5.0 でUE4 でデフォルトの物理エンジンである PhysX 3 を使っている構成(水色構成)と、Chaos を使用しているリリース版の Unreal Engine 5.0の構成(青構成)を比較しました。

以下に例として 3 種類のテスト結果を示します。最初のタンブラー テストでは、回転する凸型オブジェクトに、動的にシミュレートした凸型オブジェクトを 512 個配置しました。2 番目のラグドール テストでは、凸型平面の上に 64 個のラグドールを落下させました。3 番目のランドスケープ テストでは、ワールドに静的オブジェクトを 10 万個配置した複雑なテレインを使用し、512 個の動的な凸型オブジェクトを高さフィールド テレインに落下させました。それぞれのテストでは、ソルバのパフォーマンスだけでなく、ワールドに対して実行した各タイプのシーン クエリについてもパフォーマンスを測定しました。

ただし、このドキュメントでは、剛体とシーン クエリのみを扱います。UE 5.0 の物理は、クロス ダイナミクス、ヘア ダイナミクス、流体ダイナミクスも搭載しており、こうしたシステムの詳細については UE 5.0 のドキュメント をご覧ください。

シーン クエリ

シーン クエリは、スイープ、オーバーラップ、レイキャストに対応しています。

スイープ

タンブラー テスト (平均時間:水色構成 - 11.64 ミリ秒、青構成 - 4.42 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 シーン クエリ タンブラー テスト

ラグドール テスト (平均時間:水色構成 - 0.05 ミリ秒、青色構成 - 0.07 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 オーバーラップ ラグドール テスト

ランドスケープ テスト (平均時間:水色構成 - 0.55 ミリ秒、青色構成 - 0.13 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 スイープ ランドスケープ テスト

オーバーラップ

タンブラー テスト (平均時間:水色構成 - 2.09 ミリ秒、青色構成 - 2.58 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 オーバーラップ タンブラー テスト

ラグドール テスト (平均時間:水色構成 - 0.03 ミリ秒、青色構成 - 0.04 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 オーバーラップ ラグドール テスト

ランドスケープ テスト (平均時間:水色構成 - 1.76 ミリ秒、青色構成 - 2.76 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 オーバーラップ ランドスケープ テスト

レイキャスト

タンブラー テスト (平均時間:水色構成 - 0.21 ミリ秒、青色構成 - 0.18 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 レイキャスト タンブラー テスト

ラグドール テスト (平均時間:水色構成 - 0.04 ミリ秒、青色構成 - 0.06 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 レイキャスト ラグドール テスト

ランドスケープ テスト (平均時間:水色構成 - 0.34 ミリ秒、青色構成 - 0.67 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 レイキャスト ランドスケープ テスト

剛体シミュレーション

パフォーマンス

タンブラー テスト (平均時間:水色構成 - 3.17 ミリ秒、青色構成 - 4.76 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 剛体 タンブラー テスト

ラグドール テスト (平均時間:水色構成 - 5.30 ミリ秒、青色構成 - 8.18 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 剛体 ラグドール テスト

ランドスケープ テスト (平均時間:水色構成 - 10.82 ミリ秒、青色構成 - 5.34 ミリ秒)
Chaos シーン クエリ Unreal Engine 5 剛体 ランドスケープ テスト

安定性

さまざまな機能に必要な計算の一部をさらに補うために、パフォーマンスに関して行うべき作業がさらに存在しますが、こうした作業は、こうした機能の改善だけでなく、安定性の向上にも多くのメリットをもたらします。

UE5 リリース:
Chaos シーン クエリ Unreal Engine 5 ケイオス

UE4 リリース:
Chaos シーン クエリ Unreal Engine 5 PhysX
 

今後の課題

チームが改善に取り組んでいる主な分野は、レイキャスト、巨大なランドスケープとオーバーラップする負荷の高いシーン、非常に動的なシーンでの凸型剛体シミュレーションです。レイキャストとオーバーラップについては、アクセラレーション構造の品質と倍精度浮動小数点に関連して、多くの計算負荷が発生しています。たとえば、アクセラレーション構造検索を行わない直接トレースを使用したランドスケープ テストの結果を比較すると、水色構成は 0.22 ミリ秒、青色構成は 0.15 ミリ秒でした。

Chaos シーン クエリ Unreal Engine 5 今後の課題

この結果は構造の品質に応じて大きく変化する可能性がありますが、現在チームはアクセラレーション構造の使用を、マップの外観に関係なく高速化することに注力しています。非常に動的な凸型シーンについては、アクセラレーション構造の検索と、キャッシュ コヒーレント形式のデータ収集で、特に大きな計算負荷が発生しています。また、データ転送に関しては、データの転送速度を最適化することに重点を置いています。なお、これら 2 つの取り組みより優先度が下がるため、アルゴリズムのマルチスレッド バージョンを最適化するためには十分な時間をかけていません。マルチスレッド プラットフォームでも 2 つのソルバを同様にスケーリングできますが、並列化の改善には 5.1 で重点を置く予定です。

    今すぐ Unreal Engine を入手しましょう!

    Unreal Engine は、世界で最もオープンで高度な制作ツールです。
    あらゆる機能とソース コード アクセスを完備している Unreal Engine を使用すれば、すぐに制作を開始できます。