【UE4】ProceduralMeshのStaticMesh変換

Procedural Mesh という機能があります。
Static Mesh のアセットが存在していなくても頂点や面などメッシュ生成に必要な情報があれば、動的にメッシュを生成できるというものです。

Procedural Mesh には StaticMesh との相互変換機能が用意されています。
今回はその方法の紹介です。


Static Mesh から Procedural Mesh への変換

"CopyProceduralMeshFromStaticMeshComponent"ノードを使います。

木のメッシュを持っているアクターからコピーしてくるように組みました。

f:id:shuntaendo:20200909125702p:plain:w400

f:id:shuntaendo:20200909125733p:plain:w600

こんな感じになります。とても簡単。
メッシュのコピーだけでなく、参照元のマテリアルも同じように適用されます。

f:id:shuntaendo:20200909130431g:plain:w400


Procedural Mesh から Static Mesh への変換

こちらはノードではなく Procedural Mesh Component の Details から実行できるようになっています。
[Create StaticMesh] ボタンがあるので押すとブラウザが開き、現在の Procedural Mesh を Static Mesh として保存できます。

f:id:shuntaendo:20200909131024p:plain:w300

ブループリントノードとしては用意されていないのでBP側から実行するには自作する必要があります。
自作の際には [Create StaticMesh] の処理が書かれている以下の場所が参考になります。

.../ProceduralMeshComponentEditor/Private/ProceduralMeshComponentDetails.cpp
FProceduralMeshComponentDetails::ClickedOnConvertToStaticMesh()

以上です。参考になれば幸いです。


UE Version : 4.25.3-13942748