Morph Target not Updating with Small Values

I am trying to update the morph target for a skeletal mesh every frame.

  • The morph progress is linked to a simple XP calculation: Current XP / XP Needed.
  • New XP is generated every frame so the mesh should be morphing continuously.

However I noticed that the mesh would not update during run time even though MorphProgress updates correctly.

After some testing I was able to narrow it down to this: I noticed that if my morph increments exceed a value of 0.001 the mesh would update towards its morph target smoothly without any problems. Once the morph increment equals or falls below 0.001, the mesh will not update.

Here is an example where I’m morphing from 1 to 0 in 0.0011 increments.

If I change the value that is being deducted from Morph Progress to 0.001 or less it will stop working.

The actual morph increments I need to work with are bound to be at least five decimals long. Has anyone else run into this problem before or knows how to get this to work?

I just came across this issue too, using set morph target every frame as the user drags a 3D point in VR, works most of the time apart from when very small movements are made and the morph stops updating until it is moved quickly again. This is with 4.14

I’ve made a fix for this in this pull request.