【UE4】自分で作成した3DモデルにFleXを適用する方法

前回Flexの導入方法を紹介しましたので、今回の内容は自分で作成したモデルにFleXのソフトボディを適用する手順になります。

スポンサーリンク

自作した3DモデルにUE4でFlexを適用した様子

Twitterの方にFlexのソフトボディを適用した3Dモデルを大量にスポーンさせるテストの動画をアップしてあります。

FleXを適用する3Dモデルの作成

UE4のFleXでソフトボディを適用するにあたり、Blenderを使ってスライムを作成しました。

作成したモデルをFBXでエクスポートします。エクスポート時の設定は「拡大縮小」値を1.00だとUE4上で大きかったので「0.4」、「前方」を「-Yが前方」、「上」を「Zが上」に変更しています。

作成した3DモデルをUE4でインポート

UE4エディタを開いたら、適当なフォルダを開いた状態で「インポート」を押します。

インポート設定は特に変える箇所は無いですが、「Auto Generate Collision」にはチェックが入っている方が良いようです。インポートボタンを押します。

インポートしたモデルにFleXを適用する

UE4にモデルがインポートできたら、スタティックメッシュを右クリックして「Create Flex Static Mesh」を選択します。

選択すると、「メッシュ名_Flex」の名前のスタティックメッシュが新たに生成されます。

_Flexのスタティックメッシュをダブルクリックしてアセット編集画面を開いたら、詳細にある「Flex」項目内の「Flex Asset」で今回はソフトボディを適用しようと思うので「Flex Soft Asset」を選択します。

次に、「Flex Container」に「FlexMixedContainer」を設定します。

この時点で、プレビュー上のメッシュに大量のイクラっぽい丸が表示されると思いますので、これでソフトボディが適用されている事がわかります。

Flexスタティックメッシュでマテリアルを使えるよう設定する

スタティックメッシュにソフトボディのFlex Soft Assetを適用する事ができたので、レベルをプレイして確認してみると、ソフトボディは効いているもののマテリアルが全く適用されていない事がわかります。

しかし、スタティックメッシュのマテリアルスロットにはちゃんとマテリアルが設定されており、3Dビュー上でもしっかりマテリアルが適用されており、レベル実行中のみマテリアルが外れるような状態になると思います。

この原因は、マテリアルをダブルクリックしてアセット編集画面を開き「Usage」設定項目を確認すると「Used with Flex Meshes」というチェックボックスがあります。

Flexを適用したメッシュのマテリアルは、「Used with Flex Meshes」をオンにしないとマテリアルが反映しないようです(汗

上記までの設定で、自分で作成した3DモデルにUE4でFlexのソフトボディを適用できたと思います。確認してみましょう。

スポンサーリンク