Unreal Engine の物理
Chaos Physics は、Unreal Engine で利用可能な軽量の物理シミュレーション ソリューションで、次世代ゲームのニーズに対応できるよう新たに構築されました。 このシステムには、以下の主要な機能が含まれます。
破壊
ネットワーク対応物理
Chaos Visual Debugger
Rigid Body Dynamics (剛体力学)
剛体アニメーション ノードと物理アニメーション
クロス物理と機械学習クロス シミュレーション
Ragdoll Physics (ラグドール物理)
ビークル (乗り物)
物理フィールド
Fluid Simulation (流体シミュレーション)
ヘア物理
フレッシュ シミュレーション
以下は、これらの各機能の概要です。
破壊
Chaos Destruction (ケイオス破壊) システムは Unreal Engine のツールのコレクションであり、これを使ってシネマティック品質レベルの破壊をリアルタイムで実現できます。 優れたビジュアルに加えて、このシステムはパフォーマンスに対して最適化されており、アーティストやデザイナーは、コンテンツ作成をより細かく制御できます。
Chaos Destruction システムは、ブループリントにネスティングされたものを含む 1 つ以上のスタティックメッシュからビルドされたアセットの一種である、ジオメトリ コレクションを利用します。 このジオメトリ コレクションは、リアルタイムの破壊を実現するために破砕することができます。
システムは、直感的なノンリニアのワークフローを使用することでこれまでにない破砕プロセスの制御を実現しました。 ユーザーは、複数のレベルの破砕や、ジオメトリ コレクションの一部に選択的破砕を作成し、表現性を高めることができます。 ユーザーは、破砕をトリガーするクラスタあたりのダメージしきい値を定義することもできます。
接続グラフを使用すると、ダメージを受けたときに構造体がどのように崩壊するかをさらに操作し、実世界の構造体の整合性をシミュレートできます。 Chaos Destruction はワールドのサポートを備えているため、ジオメトリ コレクションの特定の部分をキネマティックに設定でき、アンカー フィールドを使用する必要性が減ります。
Chaos Destruction には、イベントとトランスフォームを追跡できるキャッシュ システムもあります。 このシステムでは、フレーム単位でトランスフォームとイベントをキャプチャし、破壊データを削減することで、効率的なストレージおよび再生機能を実現しています。 このシステムにより、パフォーマンスへの影響を最小限に抑えながら、実行時に複雑な破壊をスムーズに再生できます。 シミュレーションの特定の部分はインタラクション時に「ライブ」になる可能性があるため、キャッシュに格納されたシミュレーションがインタラクティブである点に留意することが重要です。
Chaos Destruction は、Unreal Engine の Niagara パーティクルシステムと緊密に統合されています。 Niagara では、Chaos Destruction の ブレイク イベントとコリジョン イベントを読み取り、パーティクルをスポーンしたり、実行時に既存のパーティクルシステムを変更したりできます。
さらに、Chaos Destruction は物理フィールドと統合されています。このシステムを使用すると、指定された空間の領域で実行時に Chaos Physics シミュレーションに対して影響を与えることができます。 物理フィールドは、剛体に力を加えたり、ジオメトリ コレクション クラスターを破壊したり、破砕された剛体を固定または無効にしたりするなど、さまざまな方法で物理シミュレーションに影響を与えることができます。
Chaos Destruction の詳細については、ドキュメントを参照してください。
Chaos Destruction
Unreal Engine の破壊システムの学習リソースの見つけ方を説明します。
ネットワーク対応物理
ゲームにおけるネットワーキングまたはレプリケーションとは、インターネット接続を介して複数のマシン間でゲームプレイ情報を通信する機能のことです。 Unreal Engine は、開発者がマルチプレイヤー ゲームの制作を効率化できるように、堅牢なネットワーキング フレームワークを備えています。
ネットワーク対応物理はネットワーキング フレームワークの一部であり、物理駆動シミュレーションをマルチプレイヤー環境で機能させることができます。 Unreal Engine の物理レプリケーションとは、物理をシミュレートする複製された動きを持つアクタを指します。 これらのシミュレーションは、ゲームプレイ中にローカル クライアント (プレイヤーのマシン) 内で実行されます。
Unreal Engine には 3 つのレプリケーション モードがあります。
デフォルト レプリケーション モードは、Unreal Engine のレガシーの物理レプリケーション モードです。 このモードは、移動をレプリケーションし、そのルート コンポーネントが物理をシミュレートするように設定されているアクタでアクティブです。
予測補間レプリケーション モードは、サーバー権限のあるアクタ用に設計されています。 これは、デフォルト モードと同様に、クライアント上の各オブジェクトの速度を、その時点でのサーバー上のオブジェクトの速度に一致するように変更することで機能します。 ただし、このモードは予測的に行われる (サーバーとクライアントに対して同じように適用されることが期待される) 限り、クライアントでの相互作用やローカルな物理的変化をより適切に処理できるように設計されています。
再シミュレーション レプリケーション モードは、サーバー権限のあるポーンとアクタ用に設計されています。 このモードは、物理のクライアント予測によってマルチプレイヤーの物理ポーンを可能にし、より高い精度でインタラクションを処理するために設計されています。 クライアントはサーバーからステート情報を受け取ると、対応する物理フレームの履歴にキャッシュされている物理ステートと比較します。 ステート情報の差が大きい場合、物理再シミュレーションがトリガーされます。
ネットワーク対応物理の詳細については、ドキュメントを参照してください。
ネットワーク対応物理
Unreal Engine のネットワーク対応物理のドキュメントです。
Chaos Visual Debugger
Chaos Visual Debugger (CVD) は、Chaos Physics シミュレーション用のビジュアル デバッグ ツールです。 これは、Chaos 物理シーンのグラフィック ビューを提供し、データを視覚化しシミュレーション結果を分析するためのさまざまなツールを備えています。
CVD は、ゲームプレイ時に物理シミュレーションの状態を記録するエディタ ツールおよびランタイム システムとして Unreal Engine に含まれています。 ツール内でこれらのシミュレーションをリプレイしたり、指定されたフレームまたはシミュレーションのサブステップのデータを調査したりすることができます。
Chaos Visual Debugger の詳細については、ドキュメントを参照してください。
Chaos Visual Debugger
Unreal Engine の Chaos Visual Debugger のドキュメント。
Rigid Body Dynamics (剛体力学)
Chaos Physics には剛体力学に関する多くの機能が用意されています。 これには、コリジョン反応、物理コンストレイント、および減退と摩擦が含まれています。 さらに、非同期物理シミュレーションとネットワーク対応物理も備えています。
剛体ダイナミクスの詳細については、ドキュメントを参照してください。
コリジョン
コリジョン、コリジョン反応、コリジョン プリセットのすべてについて説明します。
レイキャストによるトレース
物理のトレースのランディング ページ
物理コンストレイント
物理オブジェクトを互いに、そしてワールドに、制約する。
Physics コンポーネント
Physical Animation、Thruster、Force のコンポーネントなど、物理と合わせて使用するコンポーネントについて説明します。
剛体アニメーション ノードと物理アニメーション
Chaos Physics は、実行時にキャラクターの剛体シミュレーションと物理アニメーションを提供します。 このシステムは物理アセット エディタを使用して、キャラクターのアニメーションに沿ってシミュレートできる、キャラクターのスケルタルメッシュにアタッチされた剛体を設定します。 これにより、静的アニメーションと比較して、シミュレートされたボディの動きがよりリアルになります。
剛体アニメーション ノードと物理アニメーションの詳細については、ドキュメントを参照してください。
物理アセット エディタ
スケルタル メッシュの物理シミュレーションとコリジョンに使用する物理ボディおよびコンストレイントを設定するためのエディタ
クロス物理と機械学習クロス シミュレーション
Chaos Cloth は、ゲームやリアルタイムのエクスペリエンスで、正確かつパフォーマンスに優れるクロス シミュレーションを実現します。 このシステムには、広範なユーザー コントロールの他に、風などの物理的反応も用意されており、特定のアート面のビジョンを実現できます。 さらに、Chaos Cloth には、親のアニメートされたスケルタルメッシュに合わせてクロス メッシュを変形させる強力な Animation Drive システムが備わっています。
Chaos Cloth パラメータはブループリントに公開され、実行時のクロス シミュレーションに対する制御能力がかつてないほど高まります。 ユーザーは、特定のユースケースのゲームプレイ条件に基づいてシミュレーション パラメータを変更できます。 たとえば、水中ではキャラクターの衣服の反応を変えることができます。
Chaos Cloth は、デバッグを容易にしてイテレーションの時間を短縮するビジュアライゼーション ツールやデバッグ コンソール コマンドなど、強力なデバッグ ツール スイートを備えています。 ユーザーは、アクティブなクロス シミュレーション、キネマティックおよび動的パーティクル、さらにはシミュレーション時間を視覚化できます。
Chaos Cloth では機械学習クロス シミュレーションも利用できます。 このシステムでは、リアルタイムで使用可能なトレーニング済みのデータセットを使用することで、従来の物理ベース モデルよりも高い忠実度のシミュレーションを実現し、以前はオフライン シミュレーションのみで達成可能であった品質の結果を生成することができます。
Chaos Cloth Panel ノード エディタは、Unreal Engine 5.3 で導入された新しいワークフローです。 このワークフローは、イテレーション時間を改善し、エンジン内で Chaos Cloth を作成するための、より柔軟で非破壊的な方法を提供することに重点を置いています。 このシステムでは、実行時にアセットを生成してシミュレーションするために必要な情報をすべて保持する、クロス アセットを使用します。 クロス アセットをビルドする場合、外部パネルベースのデジタル コンテンツ作成 (DCC) パッケージからスタティックメッシュをインポートしたり、スキン ウェイトやマスクを転送させたりすることができます。 アセットを作成したら、Chaos Cloth コンポーネントを使用してスケルタルメッシュやスタティックメッシュで使用することもできます。
クロス物理の詳細については、ドキュメントを参照してください。
クロス シミュレーション
Unreal Engine でのクロス シミュレーションを学ぶための出発点です。
Ragdoll Physics (ラグドール物理)
Chaos Physics は、スケルタルメッシュに接続された剛体をリアルタイムでアニメート (シミュレート) するシステムを指す、ラグドール物理を備えています。 通常、この型のシステムは落下するヒューマノイドキャラクターをアニメートするために使用されます。 以下の例では、プレイヤー キャラクターのラグドール物理設定を備えている MetaHuman サンプル プロジェクトを示しています。
詳細については、MetaHuman サンプル ドキュメントを読むか、MetaHuman サンプルをダウンロードして、ラグドールのセットアップに関するドキュメントをご覧ください。
Chaosビークル
Chaos Vehicle (ケイオス ビークル) は Unreal Engine のビークル (乗り物) 物理シミュレーション用軽量システムです。
このシステムには、車両ごとに任意の数のホイールをシミュレートできる、高い柔軟性があります。 前方および後方のギアも好きな数だけ設定できる、高いカスタマイズ性もあります。
Chaos Vehicle では、複雑なビークルのシミュレーションのための構成ができます。 シャーシの特定の位置でダウンフォースやアップリフトを与える空中翼サーフェスを好きなだけ設定することができます。 自動車のスポイラーや飛行機の翼やラダーまでもシミュレーションできます。 各制御サーフェスは、ロール、ピッチ、ヨーで操作できます。
シミュレーションの実行中に、ホイールの摩擦とエンジンのシミュレーションを完全にオフにすることもできます。 さらに、ユーザーは、特定の場所に適用される任意の数の推力を設定して、車両を押し、操縦できます。
このシステムは Unreal Engine 5 の非同期物理モードをサポートしており、シミュレーションの決定性を向上させ、シミュレーションを実行するたびに結果を予測可能にします。
エンジン内での車両の表現には、スケルタルメッシュと 1 つ以上のホイール ブループリントを使用します。 また、物理アセットは物理エディタ内で適切なコリジョン ジオメトリを生成するために使用され、アニメーション ブループリントはホイールのステアリングと回転のアニメーションを自動生成するために使用されます。
最後に、スケルタルメッシュ、アニメーション ブループリント、車両のコントロールを含む車輪付き乗り物ポーン ブループリントを作成します。
Chaos Vehicles の詳細については、ドキュメントを参照してください。
Vehicles
Unreal Engine での Vehicle のドキュメント
物理フィールド
物理フィールド システムは、指定された空間領域上の Chaos Physics シミュレーションを実行時に直接制御するためのツールを提供します。 これらのフィールドは、剛体に力を加えたり、ジオメトリ コレクション クラスタを破壊したり、破砕された剛体を固定したり無効にしたりするなど、さまざまな方法で物理シミュレーションに影響を与えるように設定できます。
さらに、Physics Field System では、Niagara やマテリアルなどの他のエンジン システムとの通信も可能です。 これらのシステムは、特定の場所にある物理フィールドを評価できる組み込み機能を使用することで、物理フィールドをサンプリングできます。
フィールドは、フィールド システム コンポーネント ブループリントを作成し、フィールドへのクエリを許可するシステムを指定することで設定します。 フィールドをワールド フィールドとして設定し、マテリアルと Niagara システムでフィールドのサンプリングを許可します。 また、Chaos Field として設定し、ジオメトリ コレクションやその他の物理オブジェクトと連動させることもできます。
物理フィールドの詳細については、ドキュメントを参照してください。
Physics Fields
Physics Fields は、ユーザーが空間の指定された領域上の Chaos Physics シミュレーションにランタイム時に直接作用することのできるシステムです。
Fluid Simulation (流体シミュレーション)
Unreal Engine 5 には、リアルタイムで 2D と 3D の流体のエフェクトをシミュレーションするツール セットがあります。 これらのシステムは、物理ベースのシミュレーション方法を使用して、火、煙、雲、川、水しぶき、海辺で砕ける波などのリアルなエフェクトを生成します。
このツールセットは、シミュレーション ステージ、再利用可能なモジュール、堅牢なデータ インターフェースを活用し、アーティストが使いやすい、実験のためのオープン プラットフォームとして設計されています。
アーティストの場合、少数のパラメータを変更するだけでリアルタイムに希望する結果を得ることができる一方で、上級ユーザーや R&D エンジニアは、シミュレーターを直接分解して新しいアルゴリズムを試すことができます。
流体シミュレーションの詳細については、ドキュメントを参照してください。
流体シミュレーション
Unreal Engine 5 にはリアルタイムで流体のエフェクトをシミュレーションするツール セットが含まれています。
ヘア物理
Unreal Engine のヘア レンダリングおよびシミュレーション システムでは、ストランド (髪の束) ベースのワークフローを使用して、それぞれのヘア ストランドを物理的に正確な動きで個別にレンダリングします。 これにより、DCC パッケージで作成されたグルームに対して、数十万 (もしくはそれ以上) ものフォトリアルな髪をリアルタイムでシミュレートし、レンダリングすることができます。
ヘア物理の詳細については、ドキュメントを参照してください。
Hair Physics
Unreal Engine の Hair Physics シミュレーション
Chaos Flesh
Chaos Flesh システムは、Unreal Engine に変形可能 (ソフト) なボディを使った高品質のリアルタイムシミュレーションを提供します。 剛体シミュレーションとは異なり、ソフト ボディの形状はそのプロパティに応じてシミュレーション中に変化します。
このシステムでは、多様なパラメータを使うスタティックメッシュとスケルタルメッシュのシミュレーションをサポートしているため、最終結果を今まで以上に制御することが可能になります。 このシステムは、スケルタル アニメーション中にキャラクターの筋肉の変形をシミュレーションすることを主な目的として設計されています。
Chaos Flesh システムでは、高解像度シネマティック品質のジオメトリのオフライン シミュレーションからキャッシュされた結果とともに、低解像度のジオメトリをランタイム時にシミュレートすることで、高パフォーマンスを実現します。
Chaos Flesh の詳細については、ドキュメントを参照してください。
Chaos Flesh
Unreal Engine の Chaos Flesh システムに関する説明を集めたページ。
データフロー グラフ システム
データフロー グラフ システムは、Unreal Engine エディタ内のノードベースのプロシージャルなアセット生成環境です。
データフローは、Unreal Engine で特定のアセット タイプを作成する際に イテレーション回数を改善するために作成されました。 同じデータフロー グラフを複数のアセットで使用することができ、グラフ自体はソース アセットによって与えられる入力によって異なる結果を生み出すことができます。
データフローは、Chaos Cloth、Chaos Flesh、ジオメトリ コレクション破砕などのさまざまな物理アセットタイプに適合できる汎用システムです。 システムは、デベロッパーが C++ を使用して拡張できるよう設計されています。 デベロッパーは、特定のニーズに対応するためシステムをさらに調整することができます。
データフローの詳細については、以下のドキュメントを参照してください。
データフローグラフ
Unreal Engine のデータフローグラフの概要です。
その他のドキュメント:
物理マテリアル
物理的にシミュレートされたプリミティブに直接またはマテリアルを通じて適用され、シミュレーションによって使用される物理プロパティの設定と制御に使用されるアセットです。
物理サブステップ機能
物理サブステップ機能といつ使用するかについて説明します。
Walkable Slope
Walkable Slope Override の説明と用途。