[Groom]Hair looks jagged after assigning binding asset

Hello Guys

I have a strange issue, the groom hair looks OK before I bind it onto the character, please see the screenshot.

But it looks jagged after assigning binding asset, please see the eyebrows, eyelash, and peachfuzz.

1 Like

I have a very similar issue with a dog character. It happens particularly to short hair. it happeneds to me regardless of its binded or not. :frowning: i believe this can start to happen, especially when binded and the character begins to face away from their default orientation.

Yes, it only happens on short hair on my side as well, but as long as removed the bind, it is OK.

i get the same problem the groom looks blocky ? maybe it’s antilias Problem?

Actually found the solution on the forums, worked for me:

Hey guys! I found a better workaround than splitting the body and head meshes. Here are the steps:

Drop your mesh and hair into the scene, attach the hair to the mesh.
In the content browser, right-click on your imported skeletal mesh → create a new physics asset.
In the Phat editor, delete all the physics bodies but the one for the head.
In the skeletal mesh editor under “Physics”, assign the newly created physics asset. (If it doesn’t update, toggle between old and new. The preview icon in the content browser should focus on the head now.)
Create a groom binding asset for your hair and select the skeletal mesh under target mesh.

1 Like

If anybody have this problem with short hair after exporting from Blender you can:

In the Hair Particles Settings panel in Blender go to Render section and reduce the number of B-Spline Steps, by default its 3, it will reduce in half the amount of vertices your hair have every step down, it will make short hairs look like they should also

1 Like

I’ll throw in my 2 cents here too.

If you need that physics asset for other stuff here’s what I did.

I made a duplicate of the skeletal mesh and gave it the second physics asset (the one with just the head), and my actual mesh has the proper physics asset with all the physics bodies.
I have my actual skeletal mesh just there as a normal component in the blueprint editor, and I have that second duplicate version as its child. Then I parented all the groom components to that child mesh and made the mesh invisible by changing all of its materials to a simple unlit masked material with opacity set to 0 and unchecked cast shadows (when I unchecked visible in mesh rendering settings the hair glitched again, that’s why all that hassle with the materials is needed)

So, now, if you want to animate the mesh and do stuff with it, just do it on both meshes, and it should be alright.

It’s not a pretty workaround, but it works, so unless Epic fixes this, it’s the only way for now.

1 Like

I’d like to add you can simply have the physic asset that is only the head and assign the physics asset directly to the groom.
i did assign the head only physics asset to the skeleton when creating the binding asset, but restored the full physics asset to the skeleton afterwards and assigned the head only one to the groom asset in its physics asset parameter.
this way you can keep the full body physics asset, only have the 1 mesh unlike other solutions here, and simply apply the head only to the groom.
this seems the cleanest solution.

what about Xgen in Maya?

I followed all the steps you wrote. Still, when I put the hair in the binding asset, the hair recedes a few centimeters. Do you have another solution? thanks in advance

Anybody here?
Still 2024, this problem still happens
Assigning binding asset causes hair to degenerate, and creating new physical asset does not work

Hey guys if anybody still looking for a solution i found one, atleast its works for me.
If the groom gets bugged out after binding, try overriding the hair length setting in the groom component. Overriding it to 1 fixed the issue for me.

Hey I have been stuggling with this issue for a long time. Where is that hair length setting located?

Its in the groom component that you will add to the skm. Just above where you will assign the binding assets.

@Charles
Any news or new workarounds for this issue?
For virtual production / vfx it is prefferable to use alembic caches for animations. Binding grooms to them still produces thease artefacts, is there some kind of workaround for abc as well and is this something that might get improved in the future?

Update:
If groom simulation is off this issue seems to be gone so it might be just a issue with how strands are simulated.

Id like to add to this, since 5.5.0 alembic grooms when binded to alembic geometry cache animation break their strand rotations after few frames of animation and then never return to the original position:

Fresh binded alembic groom:
(This test groom stays correctly binded for 70 or so frames of animation in sequencer)

After 70 frames it breaks: (scrubbing the timeline back to start doesnt revert the strands back to their correct rotation, they stay like this until a new binding asset is made.)

Sadly hotfixes did not fix this. (checked in 5.5.3)
Would be great if this could be addressed in a future hotfix for 5.5 and not in the future 5.6.