Description

When we use the FSkeletalMeshMerge utility, material slot names are lost on the resulting mesh. We should at least transfer the first slot name found for a given material.

Steps to Reproduce

See UDN for more details.

We don't have a good way to test this without a debugger or doing some Blueprint changes.
So here is an easy way to test this in Bluerint:

  1. In EngineTest, open the SkelMeshMergeActor blueprint and add the following log nodes to the end of the graph. Compile.
    [Image Removed]
  2. Open the SkelMeshMergeMap and launch it in PIE

Result: The "Output Log" window is filled with "VisLogBP: LogText: 'None'" showing that no slot name is present on the merged mesh.
Expected: The "Output Log" window shows:
VisLogBP: LogText: 'M_UE4Man_Body'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'M_UE4Man_Body'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'One'
VisLogBP: LogText: 'Two'
VisLogBP: LogText: 'M_UE4Man_Body'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'One'
VisLogBP: LogText: 'Two'
VisLogBP: LogText: 'M_UE4Man_Body'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'One'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'Two'
VisLogBP: LogText: 'One'
VisLogBP: LogText: 'None'
VisLogBP: LogText: 'Two'
Indicating that the SlotNames were not lost during the merge (slot names at 'None' were already set to 'None' before the merge).

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-90561 in the post.

1
Login to Vote

Fixed
Fix Commit12154490
Main Commit13490434
CreatedMar 12, 2020
ResolvedMar 12, 2020
UpdatedMay 21, 2020