SkeletalMesh再インポート時のメッシュソケット倍増の不具合

FBXのレガシーインポートを使用している状態(Interchange.FeatureFlags.Import.FBX=False)で、SkeletalMesh の再インポートでメッシュソケットが倍増するバグがあります。

具体的には SkeletalMeshImportUtils.cpp の722行目の箇所でメッシュソケットが倍増します。

Interchange を使った場合は問題はこの発生しません。

[Attachment Removed]

Steps to Reproduce

  1. Interchange.FeatureFlags.Import.FBX=False でレガシーFBXインポートを使用する様に設定。
  2. FBXからSkeletalMeshを作成。
  3. MeshSocketを作成する。
  4. アセットを再インポート。
  5. MeshSocketが2倍に増えます。

[Attachment Removed]

お世話になっております。

本件事前に問題の詳細を調査頂きありがとうございます。

再現手順にて問題を確認し、以下Issueとして報告させていただきました。

UE-367501 Skeletal mesh reimport via legacy import creates duplicate Mesh sockets

参考までに、現状の回避策として追加処理の前に MeshOnlySocketList をリセットすることで改善することを確認しております。

// Assign sockets from old version of this SkeletalMesh.
// Only copy ones for bones that exist in the new mesh.
SkeletalMesh->GetMeshOnlySocketList().Reset(); // 追加
for (int32 i = 0; i < MeshData->ExistingSockets.Num(); i++)	

ご不便をおかけしますが、よろしくお願いいたします。

[Attachment Removed]