関連ブログ
- [UE5]チャージショットで弾のバリエーションを増やそう! 2024.10.09UE
- [UE5]PaperZDでプレイヤーキャラを実装してみる(3/3) 2024.10.02UE
- [UE5]PaperZDでプレイヤーキャラを実装してみる(2/3) 2024.09.25UE
CATEGORY
2024.03.20UE5
執筆バージョン: Unreal Engine 5.3
|
ChaosFleshでソフトボディをシミュレーションする方法を紹介します。
ChaosFleshを使用すると次の動画のような柔らかい物体を作ることができます。
少し説明が長くなりますので、記事を分割して解説していきます。
今回の記事では球状の四面体を作成してソフトボディのシミュレーションを行います。
ソフトボディを作成するために必要な次の2つのアセットを作成します。
それぞれを作成していきます。
コンテンツブラウザの右クリックメニューからPhysics→Flesh Assetを選択します。
Flesh Assetを選択
同じくコンテンツブラウザの右クリックメニューからPhysics→Dataflow Graphを選択します。
Dataflow Graphを選択
作成したFlesh Assetをダブルクリックで開いて、Dataflow Assetに先ほど作成したDataflow Graphを割り当てます。
Dataflow Graphを設定する場所
Dataflow Graphを割り当て
割り当てた後に一度Flesh Assetを閉じてからもう一度開き直すとGraphの画面が追加されます。
Flesh Assetを開き直した様子
デフォルトの状態だとViewportとDetailsのウィンドウが表示されていなかったため、Windowからウィンドウを表示します。
Dataflow ViewportとNode Detailsを表示した様子
ここからソフトボディの振る舞いを定義していきます。
この画面にノードを追加すると、Flesh Assetに設定されているDataflow Graphにも自動でノードが追加されます。
まずはソフトボディの形状を決めます。これらの形状はすべて四面体メッシュです。
形状はあらかじめ用意されているもの(リングの形状)の他にStaticMesh、SkeletalMeshから作成することができます。
球状の四面体を作成するためにStaticMeshノードを追加します。
StaticMeshノードを追加した様子
Node DetailsからStaticMeshアセットを選択します。(Node Detailsがない場合は、左上のメニューのWindowから表示することができます)
今回はSphereを選択しました。
GenerateTetrahedralCollectionを追加します。
このノードで四面体を作成することができます。
右上のトグルスイッチを有効化するとViewportにプレビューされます。
GenerateTetrahedralCollectionのトグルスイッチを有効化
GenerateTetrahedralCollectionを選択した状態でNode DetailsからNumCellsを5に設定します。
NumCellsは四面体の分割数で数が多いほど詳細な形状を表現できますが、その分重くなります。
NumCellsを5に設定
SetFleshDefaultPropertiesを追加します。
このノードでソフトボディがどの用に振る舞うか設定します。
Set Flesh Default Propertiesノード
ひとまずデフォルトの値のままにしておきます。
FleshAssetTerminalを追加します。
ここに繋いだCollectionが最終的にシミュレーションされます。
FleshAssetTerminalを追加した様子
次は作成したFleshAssetを実際にシミュレーションさせます。
必要なものは次の2つです。
FleshActorはFleshAssetをレベル上にドラッグすると自動で作成されます。
FleshAssetをレベル上にドラッグして配置した様子
DeformableSolverActorは左上のメニューから検索すると出てきます。
DeformableSolverActorを配置
このFleshActorがどのSolverでシミュレーションされるか設定します。
Fleshを選択して詳細パネルから先ほど配置したSolverを選択します。
プレイするとSphereが動きます。
Play ModeをSimulateで実行した様子
柔らかすぎたのでVertexStiffnessを10倍に設定してみます。
少し硬くなりました。
今回はここまでになります。
次回はメッシュとコリジョン判定について解説していきます。お楽しみに!
https://dev.epicgames.com/community/learning/tutorials/BEby/unreal-engine-chaos-flesh