Morph target blend briefly resets after call to SetMaterial

I’ve discovered a bug in morph targets resetting briefly when setting materials on the same mesh.

Steps to reproduce:

  1. Import a Skeletal Mesh with at least one morph target.

  2. Create a basic Character blueprint with this mesh.

  3. Set the morph target to 1.0 value with a Set Morph Target node in the character blueprint on Event Begin Play.

  4. Setup a timer using Set Timer Delegate which calls an event every 2 seconds.

  5. Hook the event to a call to a FlipFlop.

  6. Hook a call to Set Material to the A output of the FlipFlop.

  7. Hook a call to Set Material to the B output of FlipFlop.

  8. Choose a different material for each Set Material call.

Expected result: Only the material changes. The morph target stays the same.

Actual Result: Mesh visibly returns to its original shape briefly (almost instantaneously) before returning to the morphed state.

Hi,

I am having exactly same issues right now. Any info on this, is this bug? Is fix coming in 4.7 (Hopefuly :-))?

Hi coreyx,

I’ve created a sample in 4.7.2 so if it was a bug before, it has been corrected. You can flip flop between materials and morph targets with the following set up (Be sure your materials have the “Use with Blendspace” check box filled.)

This issue appears to have regressed in 4.17 and is still reproducible in 4.18.

I have created a new bug report with more details on exactly how to reproduce it:

Gist: The easiest way to reproduce this issue is to use PIE’s “Frame Skip” button with the above setup so you can catch the exact frame where the morphs have been reset.