2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UnrealEngineのMergeStaticMeshActors利用でComplex Collisionが消える

Posted at

StaicMeshEditorSubsystemのMergeStaticMeshActorsでマージしたStaticMeshAcotrのStaticMeshのComplex Collisionが存在していなかったので調査対応してみた内容を記録しておきます。

環境

UE5.3

MergeStaticMeshActorsを使うとComplex Collisionが消える

Dataprepを使って3Dデータを取り込む際に、StaicMeshEditorSubsystemのMergeStaticMeshActorsを使ってアクタをマージしています。
しかし、マージされたアクタのStaticMeshにおいてComplex Collisionが存在しないようになっています。
(Editor上でStaticMeshを確認してShowでComplex Collisionを確認しても何もなく衝突も発生しない)

原因

MergeStaticMeshActorsOptionsのMeshMergingSettingsのLOD Selection TypeでCalculate Content LOD levelを選択していたのが原因みたいです。
Use all LOD levelsにするとComplex Collisionが存在していました。

ただ、Calculate Content LOD levelを選択していないとMeshMergingSettingsのMerge Materialsのオプションがチェックしてあってもマテリアルが統合されません。

MeshMergingSettingsのMerge Physics Dataが関係あるかと思ったんですがSimpleCollisionにしか関係しなさそうです(チェックするとSimpleCollisionが生成される)。

ここら辺詳しい仕様が書かれたドキュメントや情報をみつけられておらずコードも読みこめていないので何でそうなるといったような部分は全然把握できていません。

image.png

対応

対処療法ですが、MergeStaticMeshActorsでLOD Selection Typeオプションを変えて表示用のモデル(LOD Selection Type:Calculate Content LOD level、Merge Materials:true)とコリジョン用のモデル(LOD Selection Type:Use all LOD levels)2つを用意してコリジョン用のモデルをHidden in Gameに設定することで非表示にして対応しました。
マージされたStaticMeshをfbxでエクスポートして新たなアセットとしてインポートするとComplexCollisionはあったので手動ならそういう対応もできるみたいです。

もっといい方法があったら知りたいです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?