【UE4】FleXで裂ける布の設定方法

FleXがサポートしている物理挙動の一つにクロス(布)シミュレーションがありますが、今回は一定の力が加わる事で裂ける布の設定方法になります。
裂ける布の挙動に関して
Twitterの方にFlexの裂ける布の挙動テスト動画をアップしてあります。引っ張られる力によって布が引き裂かれる様子が見て取れると思います。
自分はヨコシマな利用方法しか思い浮かびませんでしたが、使い所によっては大変面白い効果を生むのではないでしょうか!
UE4でFleXのTearing Cloth(裂ける布)テスト。
— ビントロリン (@binto_red) October 31, 2019
これ使って女の子のお洋服を徐々に破いていく脱衣ゲームを誰かきっと作ってくれているはず・・・・!#UE4 #UE4Study #FleX #NVIDIA pic.twitter.com/Mrej44oSr4
布のモデルを準備する
今回もBlenderで布モデルを作成しました。平面板ポリをそれなりに多く細分化した後で、布のテクスチャをマテリアルにセットした状態です。

FBX形式でエクスポートします。設定の変更箇所はUE4に持って行った時に大きくなるので0.4倍、前方を「-Yが前方」、上を「Zが上」の箇所のみです。

布モデルをUE4にインポートする
UE4のコンテンツプラウザで適当なフォルダの中に先程BlenderでエクスポートしたFBXの布モデルをインポートします。
インポートの設定は、Mesh項目の「Auto Generate Collision」にチェックが入っているかを確認したらインポートボタンを押します。

Flex Cloth Assetスタティックメッシュを作成する
インポートした布モデルのスタティックメッシュを右クリックして、「Create Flex Static Mesh」を選択してFlex対応スタティックメッシュを作成します。
作成されたFlex対応スタティックメッシュをダブルクリックしてアセット編集画面を開いたら、「Flex」項目の「Flex Asset」に「Flex Cloth Asset」を指定します。
また、「Container Template」に「flexMixedContainer」を指定します。
この時点で、布の平面モデル上に大量の赤丸が表示されると思うので、この時点でクロスシミュレーションを行うようになります。

裂ける布になる設定箇所
「Flex」項目の中に、「Tearing Enabled」というチェックボックスがあるので、これをONにする事で裂ける布になります。
「Tearing Max Strain」の値を大きくすると、布が裂けにくくなります。
検証する際に、そのままレベルを実行すると物理挙動で布が地面に落下してしまうので「Attach to Rigids」をONにして布を適当な中空に配置したキューブにでも重ねるように配置すると、布がキューブに固定されてぶら下がります。

これだけの設定で、布が裂けるという複雑な挙動が行えるのは中々凄い事ではないでしょうか!

ディスカッション
コメント一覧
UE4で服をつまんで脱がすということはできますか?