I have a skeletal mesh with a GroomComponent attached to it. Groom component is configured to use hair strands with enabled simulation.
For some reason some animations are working fine with the simulation, but the others have artifacts. It looks like the simulated vertices are snapped to the cluster bounds and I end up having a bunch of boxes instead of the proper hair.
So far I failed to understand how animation differ and what might cause such behaviour.
I’ve tried to enable/disable local simulation and setting different bones in it, but it didn’t help.
Can you give me an advice to what to look for and how can I debug this issue further?
With best regards
Hi Artur, and thank you for your question.
Are you able to provide some videos so we can see that you describe please?
Best
Geoff Stacey
Developer Relations
Epic Games
Broken simulation looks as follows
[Image Removed]On this image “Strands Guides Influences” view is used for clarity.
Also It seems that animations that are working fine has a movable “root” bone in them (root follows the character), and animations that cause such artifacts have a static root that is translated to some amount from the origin.
Hi Artur, a video is a lot easier to get context from, especially since you mention snapping etc. Could you add that to the ticket please and I’ll loop in the developer side.
Thanks!
Geoff
I’ve attached both videos of how groom simulation behaves properly on some animations, and how it gives these distinct artifacts on the other ones.
It looks like the determining factor is the distance from the animated bone to the actor’s position. I’m not sure, but it looks that farther positions result in bigger “boxes” in simulation. Maybe there is a projection going on that doesn’t have enough precision, and it ends up snapping multiple vertices to the same position, resulting in such “boxes”.
[mention removed] Are there any updates for this issue?
Hi Artur, The issue is likely coming from guides/strands interpolation due to large position offset from the root. It is why if you have in your animation a root that is close to your character it will likely works better. I am not 100% sure the origin is the same but we fixed a similar issue in 5.6. On which version are you? Would you be able to test your project in 5.6 or 5.7? if not could you try disabling RBF interpolation in the groom asset interpolation settings to see if it fixes your issue? Thanks, Michael
Hello Michael,
We are experiencing this issue on 5.4.4
Unfortunately we are unable to try out 5.6/7 due to the issues with porting our project. We would definitely try it, but it would take a considerable amount of time. Could you please share which commit’s in 5.6 solves the issue that you’ve mentioned? So that in the meantime we could try to backport it and see if it helps.
Also I’ve disabled RBF interpolation and it didn’t help.
Hi Artur, the CL Michael mentioned is 42833798.
Best
Geoff
Thanks
We checked on 5.6 and the issue was solved.
Great to hear Artur!
I’ll get this closed off now then.
All the best
Geoff