UE 5.4 - Groom - Groom lags / is delayed

Hi all,

I am having trouble with Grooms in 5.4.

Whether it is the Hair Groom, Eyebrows or just Fuzz, it all lags or is delayed by 1 to 2 frames.
It is very noticable when you start Simulation in the editor and rotate / move the Metahuman.
The groom basically stays behind / rotates a few milliseconds after the mesh.

This leads to obvious problems. Eyebrows basically swim accross the face when the mesh rotates.

I am not sure what’s the root cause. I have the same setup in 5.3 and these problems do not occur.

If anyone can help, I would be very grateful.

Just as a showcase, here is an example video:

Maybe someone can identify what they changed with UE 5.4, because that problem was not present in 5.3

I have the same issue in 5.4 I’ve got it for every groom. It is really pronounced with the hair. When my character is in motion in game I’ve got the hair trailing behind about half a meter. I’ve tried moving over to cards, turning off simulation, damping all things physics to zero or off, turning off collision. Nothing seems to do the trick or reduce the effect.

I put this elsewhere, but in case you come back, hopefully this allows you to keep going until a fix is found. For my own sanity I dropped in one of the hair cards manually and parented it (poorly) to the head. Then in the event graph set the visibility of the real groom to invisible upon character motion and the card to visible. Then when standing still I swap the visibility. This is a terrible band-aid until I come up with an actual solution, but at least I don’t have to look at the groom getting ripped off while I build the rest of my game.

The solution that works best for me is the following:

Open the groom asset, go to the LOD tab and set the Binding Type to rigid.

That way, you do not have to go back to hair cards or anything.

The only thing that will not work is the hair moving when the skin moves, e.g. when you do some expressions that involve the forehead that would influence the hair a bit.

Other than that, is looks like the best solution for now.

1 Like

Update to this:

While this works for some hair (Head), it does not really work for other hair like Eyebrows or eyelashes.

The reason for that is that Rigid disables the Groom from moving with the skin.
So for eyelashes to move with the eyelid (eyelid opens / closes), the binding type has to be Skin.
However, that leads to the groom to lag.

Sadly, Epic Games has closed my bug ticket on this :frowning:

Would you be able to share a repro project to investigate that issue?

Also, would you mind r.HairStrands.SwapType to 3 (defaut should be 2).

Thank you!

/Charles.

3 Likes

Hey @Charles,

the problem actually is fixed by switching r.HairStrands.SwapType to 3.

In case you still need a repro project, I will create a little sample :slight_smile:

Thanks so much!

Edit:
No longer able to reproduce this since 5.4.3. Will try again, as it has been some time since I tried to deal with this :slight_smile:

I might still have an older project lying around where this is happening. Let me know if you are interested.

1 Like

Great to hear! If you have such a repro project at hand, that would be great, otherwise no worries.

Thank you!

/Charles.

I had this same issue and the hair strands 3 line solved it for me as well.

My characters hair was actually fine when running around, but when I attached it to a static mesh that I was putting force on, the hair would then delay a bit and go off of the head in the opposite direction of the force. Essentially while “driving” a boat, the hair would go into my head or float behind my head.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.