Chaos Physics の概要

Chaos Physics の概要 (Chaos Physics ソルバの使用が初めてのユーザーのためのトラブルシューティングを含む)

Choose your operating system:

Windows

macOS

Linux

Chaos Physics (ケイオス物理) とは、フォートナイトで使用されている軽量物理シミュレーション ソリューションのベータ機能であり、次の主要機能を含みます。

  • RBAN (Rigid Body Animation ノード)

  • Destruction (破壊)

  • Cloth (クロス)

  • Ragdoll (ラグドール)

  • Vehicles (ビークル)

Chaos Physics を使用すると、ユーザーは Unreal Engine で基本の物理シミュレーションの実行中に PhysX を使う場合と大きな差を感じないはずです。以下は Chaos Physics を有効にする方法の概要です (主要機能の紹介および PhysX から Chaos Physics へのプロジェクトを移行するためのトラブルシューティングのヒントなど)。

Chaos Physics を有効化する

UE_4.26Chaos ビルドを使用する場合は、Chaos はデフォルトで有効になっているので、このセクションはスキップしてください。

Chaos Physics を有効にするには、以下の手順を実行します。

  1. 最新の Unreal Engine のソースコードを GitHub からダウンロードします。

  2. .ZIP ファイルをファイルシステムに展開します。

  3. 「Engine/Source」フォルダの UE4Editor.Target.cs をテキスト エディタで開きます。

  4. UE4Editor.Target.cs に次のコードを追加して保存します。

    BuildEnvironment = TargetBuildEnvironment.Unique; bCompileChaos = true; bUseChaos = true;

  5. UE4Editor.Target.cs が次のコード ブロックのようになったことを確認します。

    public UE4EditorTarget( TargetInfo  Target) : base(Target) 
    { 
        Type = TargetType.Editor; 
        BuildEnvironment = TargetBuildEnvironment.Unique; 
        bBuildAllModules = true; 
        ExtraModuleNames.Add("UE4Game");  
    
        bCompileChaos = true; 
        //Note that the following line is not needed for 4.23 or previous versions. 
        bUseChaos = true; 
    } 
  6. エンジンのルート フォルダにある Setup.bat を実行します。

  7. Setup.bat の実行が正常であることを確認してから、 GenerateProjectFiles.bat を実行します。

  8. Visual Studio で UE4.sln を開き、 ソース コードからエンジンをビルドします

  9. 新しいプロジェクトを作成して 、それを開きます。

  10. [Edit (編集)] > [Plugins (プラグイン)] > [Physics] のメニューで、 Chaos Solver Chaos Cloth Chaos Cloth Editor が有効であることを確認します。

  11. Chaos プラグイン ( ChaosVehiclesPlugin ChaosCaching など) のいずれかを有効化した場合は、Unreal Editor を再起動します。

主要機能の紹介

Chaos RBAN

デベロッパーが Chaos Physics の有効化を選択した場合、PhAT エディタで Chaos RBAN を利用している間、ユーザー インターフェースと既存のパラメーターは同じに維持されます。これにより、テクニカル アニメーター、キャラクター アーティスト、ビジュアリゼーション スペシャリストは、それまでと同様の開発ワークフローを使用できます。

Chaos RBAN は以下を含みます。

  • 明示的に設定できる、コンストレイントの位置 (数値とハンドルの両方)。

  • PhysX よりも少ないイテレーション回数における安定性の向上。

  • シミュレート エディタで同じソルバを使用できる。

  • より長いチェーンで向上したジョイントの安定性。

  • デバッグ描画の改善。

Star Walker

デバッグ描画による Starwalker

Chaos Physics では、速度ドライブ、破壊可能なジョイント、コリジョン反発、コリジョン有効設定、適切な楕円コーン コンストレイント、重力設定の有効化、ジョイントの直線および角度の反発、角投影をサポートしています。さらに、Chaos RBAN で、 RBAN ワールド オブジェクト サポート RBAN シミュレーション空間 を備えるようになりました。

RBAN ワールド オブジェクトのサポート

この RBAN ワールド空間オブジェクト システムでは、メインのワールド シミュレーションから RBAN シミュレーションにオブジェクトをコピーする機能をサポートしています。この機能は UE+PhysX に搭載されてはいましたが、完全ではなく、非常に特殊なシナリオでしか使用できず、実際のゲームでは実用的ではありませんでした。RBAN ワールド オブジェクト サポートの Chaos バージョンは、製品のシッピングに向けてより完成度の高いものとなっています。

RBAN ワールド オブジェクト サポートは次の機能を含みます。

  • スタティック オブジェクトとして周辺のワールド オブジェクトを RBAN シミュレーションに追加。

  • ワールド空間 RBAN シミュレーションのためのワールド オブジェクト システムをサポート。

  • 新しい Chaos Physics 専用機能を追加:

    • キネマティック オブジェクトとして周辺のワールド オブジェクトを RBAN シミュレーションに追加。

    • 周辺にない場合は RBAN シミュレーションからワールド オブジェクトを削除。

    • コンポーネント空間とボーン空間の RBAN シミュレーションに対して、ワールド オブジェクト システムをサポート。

RBAN シミュレーション空間

RBAN でコンポーネント空間とボーン空間のシミュレーションを使用して、非現実的なアクタの動きがシミュレーションのボディに影響を及ぼし、望ましくない挙動が引き起こされることを回避します。ただし、これはまた、RBAN シミュレーションがアクタの動きにまったく反応しないことも防止します。これも、多くの場合、望ましくないためです。

RBAN シミュレーション空間 機能を使用すると、キャラクターのワールド空間での制御可能な移動量 (平行移動および回転) をあらゆる RBAN シミュレーションに渡すことができます。そのため、デベロッパーは、ローカル空間の RBAN シミュレーションをアクタの動きに反応させることができるだけでなく、急激な回転や極端な加速などの非現実的な動きによるアーティファクトが発生しないようにするため、エフェクトを削減したり、制限したりすることができます。

同様の機能が、UE および PhysX で ComponentLinearAccScale やその関連設定を使用して既に搭載されていたものの、直線的な動きの伝達のみを提供していたため、機能の有用性が限られていました。たとえば、アクタをその場で回転させた場合、コンポーネント空間の RBAN シミュレーションは全く反応しません。

この新しいシステムは、コリオリ力、遠心力、オイラー力を含む完全な直線運動および角運動の伝達をサポートしており、ワールド空間のシミュレーションからローカル空間のシミュレーションに移行するためのスライダを効果的に提供します (次セクション [Sim Space Settings] [MasterAlpha] を参照)。

RBAN_Sim_Space.png

RBAN シミュレーション空間設定

Chaos Cloth

Chaos Cloth (ケイオス クロス) は、ゲーム デベロッパー、アーティスト、リアルタイム ユーザーが、モバイル デバイスからハイエンドのシネマティックス マシンまで、クロスをシミュレーションすることができる物理ソリューションです。RBAN と同様に、Chaos Cloth ソルバを導入する将来のリリースで PhysX が廃止された場合も、デベロッパーが現在のワークフローを引き続き利用できます。

Chaos Cloth

Chaos Cloth のデバッグ。

Chaos Cloth は次の機能を含みます。

  • HUD クロスのフィードバックを追加。

  • デバッグ描画 CVars を追加。

  • クロスのパラメータを修正。

  • 従来の 32 スフィア制限を上回る、1 クロスあたりのコリジョン サポートを増加。

  • 寄与品質を改善した追加のラップ デフォーマ。

  • フラット シェードの両面、長距離アタッチメント テザー、パーティクル インデックスなど、クロス作成に使用する画面上の文字とクロス メニュー ビューポート。

クロス LOD のサポート

デベロッパーに対して クロス LOD を完全にサポートします。

Chaos Cloth LOD

Chaos Cloth LOD の更新

Chaos は Apex クロス生成をサポートしません。

Chaos Ragdoll

Chaos Ragdoll (ケイオス ラグドール) を使用すると、キャラクター アーティスト、アニメーター、エンジニアがダイナミックなフィジカル モーションとアニメーションを融合してゲームプレイを強化し、キャラクターにユニークな動きを加えることができるようになります。

Chaos Ragdoll (ケイオス ラグドール) を使用すると、キャラクター アーティスト、アニメーター、エンジニアがダイナミックなフィジカル モーションとアニメーションを融合してゲームプレイを強化し、キャラクターにユニークな動きを加えることができるようになります。

Chaos Ragdoll

インエディタでの Chaos Ragdolls シミュレーション。

Chaos Ragdoll は、ジョイント コリジョンとコリジョン マネージャに使用する PhysX のジョイント コンストレイント パリティに加えて、ルート アニメーション、シーケンサ PIE サポート、キネマティック キャラクター操作に使用するスケルタル メッシュ サポート パリティを含みます。

Chaos Vehicles (実験的機能)

今後のリリースで Chaos Vehicle (ケイオス ビークル) は自動車に使用する PhysX ベースのビークル システムを代替し、デベロッパーが既に使用しているシステムと同等の機能を提供します。

プロジェクトで ChaosVehiclesPlugin が有効であることを確認します。このプラグインは [Edit (編集)] > [Plugins (プラグイン)] > [Physics] 配下にあり、プロジェクトで有効化した Chaos Physics に依存するため、PhysX を有効化すると機能しません。

ChaosVehiclesPlugin.png

Chaos Vehicles を構成する個々のアセットは、PhysX Vehicles プラグインが提供する以下のアセットに類似します。

  • スケルタルメッシュ

  • 物理アセット

  • アニメーション ブループリント

  • ビークル ブループリント

  • 1 つ以上の ホイール ブループリント

すでに PhysX Vehicles に慣れている場合、これらのクラス名は Chaos と似ています。また、これらの構成も同様の方法で行います。

PhysX コンポーネント

Chaos コンポーネント

VehicleWheel

ChaosVehicleWheel

VehicleMovement

ChaosWheeledVehicleComponent

VehicleAnimInstance

VehicleAnimationInstance

WheelHandler

WheelController

WheeledVehicle

WheeledVehiclePawn

現在、ビークルがホイールを 4 つ持つ制限はありません。任意の数のホイール ブループリントをビークルに追加できます。 ChaosVehicleWheel ブループリントは単一のホイールを表現できますが、より一般的には車軸上のホイール グループを定義します。

VehicleAnimationInstance ブループリントに WheelController ノードを追加すると、ホイールのステアリングと回転のアニメーションが自動で処理されます。

wheelcontrollerBP.png

物理エディタは以前と同じ操作で使用でき、スケルタルメッシュのボーンに対してコリジョン ジオメトリを生成します。これによってビークルの物理アセットを生成します。

physicseditor_vehicle.png

Vehicle 物理エディタ

Advanced Vehicle ブループリントでセグメントを複数持つアンテナのように、より複雑な付属物をセットアップする場合は、そのアンテナを個別の物理アセットで作成して、ビークルのアニメーション ブループリントの RBAN ノードとしてビークルに追加する必要があります。この方法は、RBAN シミュレーションを付属物ごとに独立して調整でき、アタッチしたオブジェクトがビークルの動きに影響しないため、効率を高めます。

Vehicle ブループリントや WheeledVehiclePawn は、ビークルの設定をすべて調整できる Vehicle Movement コンポーネント を含みます。Vehicle Movement コンポーネントは、ブループリントを介して利用でき、ビークルの制御などの状態について設定と取得を行います。

vehicleBP.png

Chaos Vehicles プラグインを試す場合は、次のガイドに従って始めます。

Chaos Destruction (ケイオス破壊)

APEX は Chaos Destruction と互換性がありません。Chaos Destruction の設定に関する詳細は、 こちら をご覧ください。

トラブルシューティングのヒント

Chaos Vehicles (実験的機能)

さまざまなコンソール コマンドを利用すると、デバッグ レンダリングを有効化してシミュレーションの状態を視覚化したり、シミュレーションで特定の機能や力を無効化したりできます。すべてのコンソール コマンドは p.vehicle で始まります。

Chaos Vehicle のデバッグ コマンド

既存のビークル設定を PhysX アセットから Chaos に変換する場合は、エンジンの便利な機能によってブループリントで使用する基底クラスを変更できます。これは、アニメーション ブループリント クラスを変更する際に、再作成が難しい複雑なサスペンション設定が存在する場合に特に便利です。既存のビークル アニメーション ブループリントで [File (ファイル)] を選択してから、 [Reparent Blueprint] [VehicleAnimationInstance] の順に選択します。現在、PhysX の古い WheelHandler ノードはエラーを発生させるため、ただ削除して新しい WheelController に置換し、同じ接続を再作成します。

Chaos Destruction

デベロッパーは、階層表示や剛体に関するクラスタリング情報などを利用して、Chaos Destruction の問題をデバッグできます。詳細は「 ジオメトリ コレクションのデバッグ描画 」を参照してください。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる